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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package configservice
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opBatchGetAggregateResourceConfig = "BatchGetAggregateResourceConfig"
    17  
    18  // BatchGetAggregateResourceConfigRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchGetAggregateResourceConfig operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchGetAggregateResourceConfig for more information on using the BatchGetAggregateResourceConfig
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchGetAggregateResourceConfigRequest method.
    34  //    req, resp := client.BatchGetAggregateResourceConfigRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfig
    42  func (c *ConfigService) BatchGetAggregateResourceConfigRequest(input *BatchGetAggregateResourceConfigInput) (req *request.Request, output *BatchGetAggregateResourceConfigOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchGetAggregateResourceConfig,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchGetAggregateResourceConfigInput{}
    51  	}
    52  
    53  	output = &BatchGetAggregateResourceConfigOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchGetAggregateResourceConfig API operation for AWS Config.
    59  //
    60  // Returns the current configuration items for resources that are present in
    61  // your Config aggregator. The operation also returns a list of resources that
    62  // are not processed in the current request. If there are no unprocessed resources,
    63  // the operation returns an empty unprocessedResourceIdentifiers list.
    64  //
    65  //    * The API does not return results for deleted resources.
    66  //
    67  //    * The API does not return tags and relationships.
    68  //
    69  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    70  // with awserr.Error's Code and Message methods to get detailed information about
    71  // the error.
    72  //
    73  // See the AWS API reference guide for AWS Config's
    74  // API operation BatchGetAggregateResourceConfig for usage and error information.
    75  //
    76  // Returned Error Types:
    77  //   * ValidationException
    78  //   The requested action is not valid.
    79  //
    80  //   For PutStoredQuery, you will see this exception if there are missing required
    81  //   fields or if the input value fails the validation, or if you are trying to
    82  //   create more than 300 queries.
    83  //
    84  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
    85  //   exception if there are missing required fields or if the input value fails
    86  //   the validation.
    87  //
    88  //   * NoSuchConfigurationAggregatorException
    89  //   You have specified a configuration aggregator that does not exist.
    90  //
    91  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfig
    92  func (c *ConfigService) BatchGetAggregateResourceConfig(input *BatchGetAggregateResourceConfigInput) (*BatchGetAggregateResourceConfigOutput, error) {
    93  	req, out := c.BatchGetAggregateResourceConfigRequest(input)
    94  	return out, req.Send()
    95  }
    96  
    97  // BatchGetAggregateResourceConfigWithContext is the same as BatchGetAggregateResourceConfig with the addition of
    98  // the ability to pass a context and additional request options.
    99  //
   100  // See BatchGetAggregateResourceConfig for details on how to use this API operation.
   101  //
   102  // The context must be non-nil and will be used for request cancellation. If
   103  // the context is nil a panic will occur. In the future the SDK may create
   104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   105  // for more information on using Contexts.
   106  func (c *ConfigService) BatchGetAggregateResourceConfigWithContext(ctx aws.Context, input *BatchGetAggregateResourceConfigInput, opts ...request.Option) (*BatchGetAggregateResourceConfigOutput, error) {
   107  	req, out := c.BatchGetAggregateResourceConfigRequest(input)
   108  	req.SetContext(ctx)
   109  	req.ApplyOptions(opts...)
   110  	return out, req.Send()
   111  }
   112  
   113  const opBatchGetResourceConfig = "BatchGetResourceConfig"
   114  
   115  // BatchGetResourceConfigRequest generates a "aws/request.Request" representing the
   116  // client's request for the BatchGetResourceConfig operation. The "output" return
   117  // value will be populated with the request's response once the request completes
   118  // successfully.
   119  //
   120  // Use "Send" method on the returned Request to send the API call to the service.
   121  // the "output" return value is not valid until after Send returns without error.
   122  //
   123  // See BatchGetResourceConfig for more information on using the BatchGetResourceConfig
   124  // API call, and error handling.
   125  //
   126  // This method is useful when you want to inject custom logic or configuration
   127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   128  //
   129  //
   130  //    // Example sending a request using the BatchGetResourceConfigRequest method.
   131  //    req, resp := client.BatchGetResourceConfigRequest(params)
   132  //
   133  //    err := req.Send()
   134  //    if err == nil { // resp is now filled
   135  //        fmt.Println(resp)
   136  //    }
   137  //
   138  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
   139  func (c *ConfigService) BatchGetResourceConfigRequest(input *BatchGetResourceConfigInput) (req *request.Request, output *BatchGetResourceConfigOutput) {
   140  	op := &request.Operation{
   141  		Name:       opBatchGetResourceConfig,
   142  		HTTPMethod: "POST",
   143  		HTTPPath:   "/",
   144  	}
   145  
   146  	if input == nil {
   147  		input = &BatchGetResourceConfigInput{}
   148  	}
   149  
   150  	output = &BatchGetResourceConfigOutput{}
   151  	req = c.newRequest(op, input, output)
   152  	return
   153  }
   154  
   155  // BatchGetResourceConfig API operation for AWS Config.
   156  //
   157  // Returns the BaseConfigurationItem for one or more requested resources. The
   158  // operation also returns a list of resources that are not processed in the
   159  // current request. If there are no unprocessed resources, the operation returns
   160  // an empty unprocessedResourceKeys list.
   161  //
   162  //    * The API does not return results for deleted resources.
   163  //
   164  //    * The API does not return any tags for the requested resources. This information
   165  //    is filtered out of the supplementaryConfiguration section of the API response.
   166  //
   167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   168  // with awserr.Error's Code and Message methods to get detailed information about
   169  // the error.
   170  //
   171  // See the AWS API reference guide for AWS Config's
   172  // API operation BatchGetResourceConfig for usage and error information.
   173  //
   174  // Returned Error Types:
   175  //   * ValidationException
   176  //   The requested action is not valid.
   177  //
   178  //   For PutStoredQuery, you will see this exception if there are missing required
   179  //   fields or if the input value fails the validation, or if you are trying to
   180  //   create more than 300 queries.
   181  //
   182  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
   183  //   exception if there are missing required fields or if the input value fails
   184  //   the validation.
   185  //
   186  //   * NoAvailableConfigurationRecorderException
   187  //   There are no configuration recorders available to provide the role needed
   188  //   to describe your resources. Create a configuration recorder.
   189  //
   190  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
   191  func (c *ConfigService) BatchGetResourceConfig(input *BatchGetResourceConfigInput) (*BatchGetResourceConfigOutput, error) {
   192  	req, out := c.BatchGetResourceConfigRequest(input)
   193  	return out, req.Send()
   194  }
   195  
   196  // BatchGetResourceConfigWithContext is the same as BatchGetResourceConfig with the addition of
   197  // the ability to pass a context and additional request options.
   198  //
   199  // See BatchGetResourceConfig for details on how to use this API operation.
   200  //
   201  // The context must be non-nil and will be used for request cancellation. If
   202  // the context is nil a panic will occur. In the future the SDK may create
   203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   204  // for more information on using Contexts.
   205  func (c *ConfigService) BatchGetResourceConfigWithContext(ctx aws.Context, input *BatchGetResourceConfigInput, opts ...request.Option) (*BatchGetResourceConfigOutput, error) {
   206  	req, out := c.BatchGetResourceConfigRequest(input)
   207  	req.SetContext(ctx)
   208  	req.ApplyOptions(opts...)
   209  	return out, req.Send()
   210  }
   211  
   212  const opDeleteAggregationAuthorization = "DeleteAggregationAuthorization"
   213  
   214  // DeleteAggregationAuthorizationRequest generates a "aws/request.Request" representing the
   215  // client's request for the DeleteAggregationAuthorization operation. The "output" return
   216  // value will be populated with the request's response once the request completes
   217  // successfully.
   218  //
   219  // Use "Send" method on the returned Request to send the API call to the service.
   220  // the "output" return value is not valid until after Send returns without error.
   221  //
   222  // See DeleteAggregationAuthorization for more information on using the DeleteAggregationAuthorization
   223  // API call, and error handling.
   224  //
   225  // This method is useful when you want to inject custom logic or configuration
   226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   227  //
   228  //
   229  //    // Example sending a request using the DeleteAggregationAuthorizationRequest method.
   230  //    req, resp := client.DeleteAggregationAuthorizationRequest(params)
   231  //
   232  //    err := req.Send()
   233  //    if err == nil { // resp is now filled
   234  //        fmt.Println(resp)
   235  //    }
   236  //
   237  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
   238  func (c *ConfigService) DeleteAggregationAuthorizationRequest(input *DeleteAggregationAuthorizationInput) (req *request.Request, output *DeleteAggregationAuthorizationOutput) {
   239  	op := &request.Operation{
   240  		Name:       opDeleteAggregationAuthorization,
   241  		HTTPMethod: "POST",
   242  		HTTPPath:   "/",
   243  	}
   244  
   245  	if input == nil {
   246  		input = &DeleteAggregationAuthorizationInput{}
   247  	}
   248  
   249  	output = &DeleteAggregationAuthorizationOutput{}
   250  	req = c.newRequest(op, input, output)
   251  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   252  	return
   253  }
   254  
   255  // DeleteAggregationAuthorization API operation for AWS Config.
   256  //
   257  // Deletes the authorization granted to the specified configuration aggregator
   258  // account in a specified region.
   259  //
   260  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   261  // with awserr.Error's Code and Message methods to get detailed information about
   262  // the error.
   263  //
   264  // See the AWS API reference guide for AWS Config's
   265  // API operation DeleteAggregationAuthorization for usage and error information.
   266  //
   267  // Returned Error Types:
   268  //   * InvalidParameterValueException
   269  //   One or more of the specified parameters are invalid. Verify that your parameters
   270  //   are valid and try again.
   271  //
   272  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
   273  func (c *ConfigService) DeleteAggregationAuthorization(input *DeleteAggregationAuthorizationInput) (*DeleteAggregationAuthorizationOutput, error) {
   274  	req, out := c.DeleteAggregationAuthorizationRequest(input)
   275  	return out, req.Send()
   276  }
   277  
   278  // DeleteAggregationAuthorizationWithContext is the same as DeleteAggregationAuthorization with the addition of
   279  // the ability to pass a context and additional request options.
   280  //
   281  // See DeleteAggregationAuthorization for details on how to use this API operation.
   282  //
   283  // The context must be non-nil and will be used for request cancellation. If
   284  // the context is nil a panic will occur. In the future the SDK may create
   285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   286  // for more information on using Contexts.
   287  func (c *ConfigService) DeleteAggregationAuthorizationWithContext(ctx aws.Context, input *DeleteAggregationAuthorizationInput, opts ...request.Option) (*DeleteAggregationAuthorizationOutput, error) {
   288  	req, out := c.DeleteAggregationAuthorizationRequest(input)
   289  	req.SetContext(ctx)
   290  	req.ApplyOptions(opts...)
   291  	return out, req.Send()
   292  }
   293  
   294  const opDeleteConfigRule = "DeleteConfigRule"
   295  
   296  // DeleteConfigRuleRequest generates a "aws/request.Request" representing the
   297  // client's request for the DeleteConfigRule operation. The "output" return
   298  // value will be populated with the request's response once the request completes
   299  // successfully.
   300  //
   301  // Use "Send" method on the returned Request to send the API call to the service.
   302  // the "output" return value is not valid until after Send returns without error.
   303  //
   304  // See DeleteConfigRule for more information on using the DeleteConfigRule
   305  // API call, and error handling.
   306  //
   307  // This method is useful when you want to inject custom logic or configuration
   308  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   309  //
   310  //
   311  //    // Example sending a request using the DeleteConfigRuleRequest method.
   312  //    req, resp := client.DeleteConfigRuleRequest(params)
   313  //
   314  //    err := req.Send()
   315  //    if err == nil { // resp is now filled
   316  //        fmt.Println(resp)
   317  //    }
   318  //
   319  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
   320  func (c *ConfigService) DeleteConfigRuleRequest(input *DeleteConfigRuleInput) (req *request.Request, output *DeleteConfigRuleOutput) {
   321  	op := &request.Operation{
   322  		Name:       opDeleteConfigRule,
   323  		HTTPMethod: "POST",
   324  		HTTPPath:   "/",
   325  	}
   326  
   327  	if input == nil {
   328  		input = &DeleteConfigRuleInput{}
   329  	}
   330  
   331  	output = &DeleteConfigRuleOutput{}
   332  	req = c.newRequest(op, input, output)
   333  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   334  	return
   335  }
   336  
   337  // DeleteConfigRule API operation for AWS Config.
   338  //
   339  // Deletes the specified Config rule and all of its evaluation results.
   340  //
   341  // Config sets the state of a rule to DELETING until the deletion is complete.
   342  // You cannot update a rule while it is in this state. If you make a PutConfigRule
   343  // or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
   344  //
   345  // You can check the state of a rule by using the DescribeConfigRules request.
   346  //
   347  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   348  // with awserr.Error's Code and Message methods to get detailed information about
   349  // the error.
   350  //
   351  // See the AWS API reference guide for AWS Config's
   352  // API operation DeleteConfigRule for usage and error information.
   353  //
   354  // Returned Error Types:
   355  //   * NoSuchConfigRuleException
   356  //   One or more Config rules in the request are invalid. Verify that the rule
   357  //   names are correct and try again.
   358  //
   359  //   * ResourceInUseException
   360  //   You see this exception in the following cases:
   361  //
   362  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
   363  //      again later.
   364  //
   365  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
   366  //      Try your request again later.
   367  //
   368  //      * For DeleteConfigRule, a remediation action is associated with the rule
   369  //      and Config cannot delete this rule. Delete the remediation action associated
   370  //      with the rule before deleting the rule and try your request again later.
   371  //
   372  //      * For PutConfigOrganizationRule, organization config rule deletion is
   373  //      in progress. Try your request again later.
   374  //
   375  //      * For DeleteOrganizationConfigRule, organization config rule creation
   376  //      is in progress. Try your request again later.
   377  //
   378  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
   379  //      pack creation, update, and deletion is in progress. Try your request again
   380  //      later.
   381  //
   382  //      * For DeleteConformancePack, a conformance pack creation, update, and
   383  //      deletion is in progress. Try your request again later.
   384  //
   385  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
   386  func (c *ConfigService) DeleteConfigRule(input *DeleteConfigRuleInput) (*DeleteConfigRuleOutput, error) {
   387  	req, out := c.DeleteConfigRuleRequest(input)
   388  	return out, req.Send()
   389  }
   390  
   391  // DeleteConfigRuleWithContext is the same as DeleteConfigRule with the addition of
   392  // the ability to pass a context and additional request options.
   393  //
   394  // See DeleteConfigRule for details on how to use this API operation.
   395  //
   396  // The context must be non-nil and will be used for request cancellation. If
   397  // the context is nil a panic will occur. In the future the SDK may create
   398  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   399  // for more information on using Contexts.
   400  func (c *ConfigService) DeleteConfigRuleWithContext(ctx aws.Context, input *DeleteConfigRuleInput, opts ...request.Option) (*DeleteConfigRuleOutput, error) {
   401  	req, out := c.DeleteConfigRuleRequest(input)
   402  	req.SetContext(ctx)
   403  	req.ApplyOptions(opts...)
   404  	return out, req.Send()
   405  }
   406  
   407  const opDeleteConfigurationAggregator = "DeleteConfigurationAggregator"
   408  
   409  // DeleteConfigurationAggregatorRequest generates a "aws/request.Request" representing the
   410  // client's request for the DeleteConfigurationAggregator operation. The "output" return
   411  // value will be populated with the request's response once the request completes
   412  // successfully.
   413  //
   414  // Use "Send" method on the returned Request to send the API call to the service.
   415  // the "output" return value is not valid until after Send returns without error.
   416  //
   417  // See DeleteConfigurationAggregator for more information on using the DeleteConfigurationAggregator
   418  // API call, and error handling.
   419  //
   420  // This method is useful when you want to inject custom logic or configuration
   421  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   422  //
   423  //
   424  //    // Example sending a request using the DeleteConfigurationAggregatorRequest method.
   425  //    req, resp := client.DeleteConfigurationAggregatorRequest(params)
   426  //
   427  //    err := req.Send()
   428  //    if err == nil { // resp is now filled
   429  //        fmt.Println(resp)
   430  //    }
   431  //
   432  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
   433  func (c *ConfigService) DeleteConfigurationAggregatorRequest(input *DeleteConfigurationAggregatorInput) (req *request.Request, output *DeleteConfigurationAggregatorOutput) {
   434  	op := &request.Operation{
   435  		Name:       opDeleteConfigurationAggregator,
   436  		HTTPMethod: "POST",
   437  		HTTPPath:   "/",
   438  	}
   439  
   440  	if input == nil {
   441  		input = &DeleteConfigurationAggregatorInput{}
   442  	}
   443  
   444  	output = &DeleteConfigurationAggregatorOutput{}
   445  	req = c.newRequest(op, input, output)
   446  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   447  	return
   448  }
   449  
   450  // DeleteConfigurationAggregator API operation for AWS Config.
   451  //
   452  // Deletes the specified configuration aggregator and the aggregated data associated
   453  // with the aggregator.
   454  //
   455  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   456  // with awserr.Error's Code and Message methods to get detailed information about
   457  // the error.
   458  //
   459  // See the AWS API reference guide for AWS Config's
   460  // API operation DeleteConfigurationAggregator for usage and error information.
   461  //
   462  // Returned Error Types:
   463  //   * NoSuchConfigurationAggregatorException
   464  //   You have specified a configuration aggregator that does not exist.
   465  //
   466  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
   467  func (c *ConfigService) DeleteConfigurationAggregator(input *DeleteConfigurationAggregatorInput) (*DeleteConfigurationAggregatorOutput, error) {
   468  	req, out := c.DeleteConfigurationAggregatorRequest(input)
   469  	return out, req.Send()
   470  }
   471  
   472  // DeleteConfigurationAggregatorWithContext is the same as DeleteConfigurationAggregator with the addition of
   473  // the ability to pass a context and additional request options.
   474  //
   475  // See DeleteConfigurationAggregator for details on how to use this API operation.
   476  //
   477  // The context must be non-nil and will be used for request cancellation. If
   478  // the context is nil a panic will occur. In the future the SDK may create
   479  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   480  // for more information on using Contexts.
   481  func (c *ConfigService) DeleteConfigurationAggregatorWithContext(ctx aws.Context, input *DeleteConfigurationAggregatorInput, opts ...request.Option) (*DeleteConfigurationAggregatorOutput, error) {
   482  	req, out := c.DeleteConfigurationAggregatorRequest(input)
   483  	req.SetContext(ctx)
   484  	req.ApplyOptions(opts...)
   485  	return out, req.Send()
   486  }
   487  
   488  const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
   489  
   490  // DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
   491  // client's request for the DeleteConfigurationRecorder operation. The "output" return
   492  // value will be populated with the request's response once the request completes
   493  // successfully.
   494  //
   495  // Use "Send" method on the returned Request to send the API call to the service.
   496  // the "output" return value is not valid until after Send returns without error.
   497  //
   498  // See DeleteConfigurationRecorder for more information on using the DeleteConfigurationRecorder
   499  // API call, and error handling.
   500  //
   501  // This method is useful when you want to inject custom logic or configuration
   502  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   503  //
   504  //
   505  //    // Example sending a request using the DeleteConfigurationRecorderRequest method.
   506  //    req, resp := client.DeleteConfigurationRecorderRequest(params)
   507  //
   508  //    err := req.Send()
   509  //    if err == nil { // resp is now filled
   510  //        fmt.Println(resp)
   511  //    }
   512  //
   513  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
   514  func (c *ConfigService) DeleteConfigurationRecorderRequest(input *DeleteConfigurationRecorderInput) (req *request.Request, output *DeleteConfigurationRecorderOutput) {
   515  	op := &request.Operation{
   516  		Name:       opDeleteConfigurationRecorder,
   517  		HTTPMethod: "POST",
   518  		HTTPPath:   "/",
   519  	}
   520  
   521  	if input == nil {
   522  		input = &DeleteConfigurationRecorderInput{}
   523  	}
   524  
   525  	output = &DeleteConfigurationRecorderOutput{}
   526  	req = c.newRequest(op, input, output)
   527  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   528  	return
   529  }
   530  
   531  // DeleteConfigurationRecorder API operation for AWS Config.
   532  //
   533  // Deletes the configuration recorder.
   534  //
   535  // After the configuration recorder is deleted, Config will not record resource
   536  // configuration changes until you create a new configuration recorder.
   537  //
   538  // This action does not delete the configuration information that was previously
   539  // recorded. You will be able to access the previously recorded information
   540  // by using the GetResourceConfigHistory action, but you will not be able to
   541  // access this information in the Config console until you create a new configuration
   542  // recorder.
   543  //
   544  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   545  // with awserr.Error's Code and Message methods to get detailed information about
   546  // the error.
   547  //
   548  // See the AWS API reference guide for AWS Config's
   549  // API operation DeleteConfigurationRecorder for usage and error information.
   550  //
   551  // Returned Error Types:
   552  //   * NoSuchConfigurationRecorderException
   553  //   You have specified a configuration recorder that does not exist.
   554  //
   555  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
   556  func (c *ConfigService) DeleteConfigurationRecorder(input *DeleteConfigurationRecorderInput) (*DeleteConfigurationRecorderOutput, error) {
   557  	req, out := c.DeleteConfigurationRecorderRequest(input)
   558  	return out, req.Send()
   559  }
   560  
   561  // DeleteConfigurationRecorderWithContext is the same as DeleteConfigurationRecorder with the addition of
   562  // the ability to pass a context and additional request options.
   563  //
   564  // See DeleteConfigurationRecorder for details on how to use this API operation.
   565  //
   566  // The context must be non-nil and will be used for request cancellation. If
   567  // the context is nil a panic will occur. In the future the SDK may create
   568  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   569  // for more information on using Contexts.
   570  func (c *ConfigService) DeleteConfigurationRecorderWithContext(ctx aws.Context, input *DeleteConfigurationRecorderInput, opts ...request.Option) (*DeleteConfigurationRecorderOutput, error) {
   571  	req, out := c.DeleteConfigurationRecorderRequest(input)
   572  	req.SetContext(ctx)
   573  	req.ApplyOptions(opts...)
   574  	return out, req.Send()
   575  }
   576  
   577  const opDeleteConformancePack = "DeleteConformancePack"
   578  
   579  // DeleteConformancePackRequest generates a "aws/request.Request" representing the
   580  // client's request for the DeleteConformancePack operation. The "output" return
   581  // value will be populated with the request's response once the request completes
   582  // successfully.
   583  //
   584  // Use "Send" method on the returned Request to send the API call to the service.
   585  // the "output" return value is not valid until after Send returns without error.
   586  //
   587  // See DeleteConformancePack for more information on using the DeleteConformancePack
   588  // API call, and error handling.
   589  //
   590  // This method is useful when you want to inject custom logic or configuration
   591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   592  //
   593  //
   594  //    // Example sending a request using the DeleteConformancePackRequest method.
   595  //    req, resp := client.DeleteConformancePackRequest(params)
   596  //
   597  //    err := req.Send()
   598  //    if err == nil { // resp is now filled
   599  //        fmt.Println(resp)
   600  //    }
   601  //
   602  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
   603  func (c *ConfigService) DeleteConformancePackRequest(input *DeleteConformancePackInput) (req *request.Request, output *DeleteConformancePackOutput) {
   604  	op := &request.Operation{
   605  		Name:       opDeleteConformancePack,
   606  		HTTPMethod: "POST",
   607  		HTTPPath:   "/",
   608  	}
   609  
   610  	if input == nil {
   611  		input = &DeleteConformancePackInput{}
   612  	}
   613  
   614  	output = &DeleteConformancePackOutput{}
   615  	req = c.newRequest(op, input, output)
   616  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   617  	return
   618  }
   619  
   620  // DeleteConformancePack API operation for AWS Config.
   621  //
   622  // Deletes the specified conformance pack and all the Config rules, remediation
   623  // actions, and all evaluation results within that conformance pack.
   624  //
   625  // Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion
   626  // is complete. You cannot update a conformance pack while it is in this state.
   627  //
   628  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   629  // with awserr.Error's Code and Message methods to get detailed information about
   630  // the error.
   631  //
   632  // See the AWS API reference guide for AWS Config's
   633  // API operation DeleteConformancePack for usage and error information.
   634  //
   635  // Returned Error Types:
   636  //   * NoSuchConformancePackException
   637  //   You specified one or more conformance packs that do not exist.
   638  //
   639  //   * ResourceInUseException
   640  //   You see this exception in the following cases:
   641  //
   642  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
   643  //      again later.
   644  //
   645  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
   646  //      Try your request again later.
   647  //
   648  //      * For DeleteConfigRule, a remediation action is associated with the rule
   649  //      and Config cannot delete this rule. Delete the remediation action associated
   650  //      with the rule before deleting the rule and try your request again later.
   651  //
   652  //      * For PutConfigOrganizationRule, organization config rule deletion is
   653  //      in progress. Try your request again later.
   654  //
   655  //      * For DeleteOrganizationConfigRule, organization config rule creation
   656  //      is in progress. Try your request again later.
   657  //
   658  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
   659  //      pack creation, update, and deletion is in progress. Try your request again
   660  //      later.
   661  //
   662  //      * For DeleteConformancePack, a conformance pack creation, update, and
   663  //      deletion is in progress. Try your request again later.
   664  //
   665  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
   666  func (c *ConfigService) DeleteConformancePack(input *DeleteConformancePackInput) (*DeleteConformancePackOutput, error) {
   667  	req, out := c.DeleteConformancePackRequest(input)
   668  	return out, req.Send()
   669  }
   670  
   671  // DeleteConformancePackWithContext is the same as DeleteConformancePack with the addition of
   672  // the ability to pass a context and additional request options.
   673  //
   674  // See DeleteConformancePack for details on how to use this API operation.
   675  //
   676  // The context must be non-nil and will be used for request cancellation. If
   677  // the context is nil a panic will occur. In the future the SDK may create
   678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   679  // for more information on using Contexts.
   680  func (c *ConfigService) DeleteConformancePackWithContext(ctx aws.Context, input *DeleteConformancePackInput, opts ...request.Option) (*DeleteConformancePackOutput, error) {
   681  	req, out := c.DeleteConformancePackRequest(input)
   682  	req.SetContext(ctx)
   683  	req.ApplyOptions(opts...)
   684  	return out, req.Send()
   685  }
   686  
   687  const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
   688  
   689  // DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
   690  // client's request for the DeleteDeliveryChannel operation. The "output" return
   691  // value will be populated with the request's response once the request completes
   692  // successfully.
   693  //
   694  // Use "Send" method on the returned Request to send the API call to the service.
   695  // the "output" return value is not valid until after Send returns without error.
   696  //
   697  // See DeleteDeliveryChannel for more information on using the DeleteDeliveryChannel
   698  // API call, and error handling.
   699  //
   700  // This method is useful when you want to inject custom logic or configuration
   701  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   702  //
   703  //
   704  //    // Example sending a request using the DeleteDeliveryChannelRequest method.
   705  //    req, resp := client.DeleteDeliveryChannelRequest(params)
   706  //
   707  //    err := req.Send()
   708  //    if err == nil { // resp is now filled
   709  //        fmt.Println(resp)
   710  //    }
   711  //
   712  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
   713  func (c *ConfigService) DeleteDeliveryChannelRequest(input *DeleteDeliveryChannelInput) (req *request.Request, output *DeleteDeliveryChannelOutput) {
   714  	op := &request.Operation{
   715  		Name:       opDeleteDeliveryChannel,
   716  		HTTPMethod: "POST",
   717  		HTTPPath:   "/",
   718  	}
   719  
   720  	if input == nil {
   721  		input = &DeleteDeliveryChannelInput{}
   722  	}
   723  
   724  	output = &DeleteDeliveryChannelOutput{}
   725  	req = c.newRequest(op, input, output)
   726  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   727  	return
   728  }
   729  
   730  // DeleteDeliveryChannel API operation for AWS Config.
   731  //
   732  // Deletes the delivery channel.
   733  //
   734  // Before you can delete the delivery channel, you must stop the configuration
   735  // recorder by using the StopConfigurationRecorder action.
   736  //
   737  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   738  // with awserr.Error's Code and Message methods to get detailed information about
   739  // the error.
   740  //
   741  // See the AWS API reference guide for AWS Config's
   742  // API operation DeleteDeliveryChannel for usage and error information.
   743  //
   744  // Returned Error Types:
   745  //   * NoSuchDeliveryChannelException
   746  //   You have specified a delivery channel that does not exist.
   747  //
   748  //   * LastDeliveryChannelDeleteFailedException
   749  //   You cannot delete the delivery channel you specified because the configuration
   750  //   recorder is running.
   751  //
   752  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
   753  func (c *ConfigService) DeleteDeliveryChannel(input *DeleteDeliveryChannelInput) (*DeleteDeliveryChannelOutput, error) {
   754  	req, out := c.DeleteDeliveryChannelRequest(input)
   755  	return out, req.Send()
   756  }
   757  
   758  // DeleteDeliveryChannelWithContext is the same as DeleteDeliveryChannel with the addition of
   759  // the ability to pass a context and additional request options.
   760  //
   761  // See DeleteDeliveryChannel for details on how to use this API operation.
   762  //
   763  // The context must be non-nil and will be used for request cancellation. If
   764  // the context is nil a panic will occur. In the future the SDK may create
   765  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   766  // for more information on using Contexts.
   767  func (c *ConfigService) DeleteDeliveryChannelWithContext(ctx aws.Context, input *DeleteDeliveryChannelInput, opts ...request.Option) (*DeleteDeliveryChannelOutput, error) {
   768  	req, out := c.DeleteDeliveryChannelRequest(input)
   769  	req.SetContext(ctx)
   770  	req.ApplyOptions(opts...)
   771  	return out, req.Send()
   772  }
   773  
   774  const opDeleteEvaluationResults = "DeleteEvaluationResults"
   775  
   776  // DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
   777  // client's request for the DeleteEvaluationResults operation. The "output" return
   778  // value will be populated with the request's response once the request completes
   779  // successfully.
   780  //
   781  // Use "Send" method on the returned Request to send the API call to the service.
   782  // the "output" return value is not valid until after Send returns without error.
   783  //
   784  // See DeleteEvaluationResults for more information on using the DeleteEvaluationResults
   785  // API call, and error handling.
   786  //
   787  // This method is useful when you want to inject custom logic or configuration
   788  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   789  //
   790  //
   791  //    // Example sending a request using the DeleteEvaluationResultsRequest method.
   792  //    req, resp := client.DeleteEvaluationResultsRequest(params)
   793  //
   794  //    err := req.Send()
   795  //    if err == nil { // resp is now filled
   796  //        fmt.Println(resp)
   797  //    }
   798  //
   799  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
   800  func (c *ConfigService) DeleteEvaluationResultsRequest(input *DeleteEvaluationResultsInput) (req *request.Request, output *DeleteEvaluationResultsOutput) {
   801  	op := &request.Operation{
   802  		Name:       opDeleteEvaluationResults,
   803  		HTTPMethod: "POST",
   804  		HTTPPath:   "/",
   805  	}
   806  
   807  	if input == nil {
   808  		input = &DeleteEvaluationResultsInput{}
   809  	}
   810  
   811  	output = &DeleteEvaluationResultsOutput{}
   812  	req = c.newRequest(op, input, output)
   813  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   814  	return
   815  }
   816  
   817  // DeleteEvaluationResults API operation for AWS Config.
   818  //
   819  // Deletes the evaluation results for the specified Config rule. You can specify
   820  // one Config rule per request. After you delete the evaluation results, you
   821  // can call the StartConfigRulesEvaluation API to start evaluating your Amazon
   822  // Web Services resources against the rule.
   823  //
   824  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   825  // with awserr.Error's Code and Message methods to get detailed information about
   826  // the error.
   827  //
   828  // See the AWS API reference guide for AWS Config's
   829  // API operation DeleteEvaluationResults for usage and error information.
   830  //
   831  // Returned Error Types:
   832  //   * NoSuchConfigRuleException
   833  //   One or more Config rules in the request are invalid. Verify that the rule
   834  //   names are correct and try again.
   835  //
   836  //   * ResourceInUseException
   837  //   You see this exception in the following cases:
   838  //
   839  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
   840  //      again later.
   841  //
   842  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
   843  //      Try your request again later.
   844  //
   845  //      * For DeleteConfigRule, a remediation action is associated with the rule
   846  //      and Config cannot delete this rule. Delete the remediation action associated
   847  //      with the rule before deleting the rule and try your request again later.
   848  //
   849  //      * For PutConfigOrganizationRule, organization config rule deletion is
   850  //      in progress. Try your request again later.
   851  //
   852  //      * For DeleteOrganizationConfigRule, organization config rule creation
   853  //      is in progress. Try your request again later.
   854  //
   855  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
   856  //      pack creation, update, and deletion is in progress. Try your request again
   857  //      later.
   858  //
   859  //      * For DeleteConformancePack, a conformance pack creation, update, and
   860  //      deletion is in progress. Try your request again later.
   861  //
   862  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
   863  func (c *ConfigService) DeleteEvaluationResults(input *DeleteEvaluationResultsInput) (*DeleteEvaluationResultsOutput, error) {
   864  	req, out := c.DeleteEvaluationResultsRequest(input)
   865  	return out, req.Send()
   866  }
   867  
   868  // DeleteEvaluationResultsWithContext is the same as DeleteEvaluationResults with the addition of
   869  // the ability to pass a context and additional request options.
   870  //
   871  // See DeleteEvaluationResults for details on how to use this API operation.
   872  //
   873  // The context must be non-nil and will be used for request cancellation. If
   874  // the context is nil a panic will occur. In the future the SDK may create
   875  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   876  // for more information on using Contexts.
   877  func (c *ConfigService) DeleteEvaluationResultsWithContext(ctx aws.Context, input *DeleteEvaluationResultsInput, opts ...request.Option) (*DeleteEvaluationResultsOutput, error) {
   878  	req, out := c.DeleteEvaluationResultsRequest(input)
   879  	req.SetContext(ctx)
   880  	req.ApplyOptions(opts...)
   881  	return out, req.Send()
   882  }
   883  
   884  const opDeleteOrganizationConfigRule = "DeleteOrganizationConfigRule"
   885  
   886  // DeleteOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
   887  // client's request for the DeleteOrganizationConfigRule operation. The "output" return
   888  // value will be populated with the request's response once the request completes
   889  // successfully.
   890  //
   891  // Use "Send" method on the returned Request to send the API call to the service.
   892  // the "output" return value is not valid until after Send returns without error.
   893  //
   894  // See DeleteOrganizationConfigRule for more information on using the DeleteOrganizationConfigRule
   895  // API call, and error handling.
   896  //
   897  // This method is useful when you want to inject custom logic or configuration
   898  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   899  //
   900  //
   901  //    // Example sending a request using the DeleteOrganizationConfigRuleRequest method.
   902  //    req, resp := client.DeleteOrganizationConfigRuleRequest(params)
   903  //
   904  //    err := req.Send()
   905  //    if err == nil { // resp is now filled
   906  //        fmt.Println(resp)
   907  //    }
   908  //
   909  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
   910  func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganizationConfigRuleInput) (req *request.Request, output *DeleteOrganizationConfigRuleOutput) {
   911  	op := &request.Operation{
   912  		Name:       opDeleteOrganizationConfigRule,
   913  		HTTPMethod: "POST",
   914  		HTTPPath:   "/",
   915  	}
   916  
   917  	if input == nil {
   918  		input = &DeleteOrganizationConfigRuleInput{}
   919  	}
   920  
   921  	output = &DeleteOrganizationConfigRuleOutput{}
   922  	req = c.newRequest(op, input, output)
   923  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   924  	return
   925  }
   926  
   927  // DeleteOrganizationConfigRule API operation for AWS Config.
   928  //
   929  // Deletes the specified organization config rule and all of its evaluation
   930  // results from all member accounts in that organization.
   931  //
   932  // Only a master account and a delegated administrator account can delete an
   933  // organization config rule. When calling this API with a delegated administrator,
   934  // you must ensure Organizations ListDelegatedAdministrator permissions are
   935  // added.
   936  //
   937  // Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion
   938  // is complete. You cannot update a rule while it is in this state.
   939  //
   940  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   941  // with awserr.Error's Code and Message methods to get detailed information about
   942  // the error.
   943  //
   944  // See the AWS API reference guide for AWS Config's
   945  // API operation DeleteOrganizationConfigRule for usage and error information.
   946  //
   947  // Returned Error Types:
   948  //   * NoSuchOrganizationConfigRuleException
   949  //   You specified one or more organization config rules that do not exist.
   950  //
   951  //   * ResourceInUseException
   952  //   You see this exception in the following cases:
   953  //
   954  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
   955  //      again later.
   956  //
   957  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
   958  //      Try your request again later.
   959  //
   960  //      * For DeleteConfigRule, a remediation action is associated with the rule
   961  //      and Config cannot delete this rule. Delete the remediation action associated
   962  //      with the rule before deleting the rule and try your request again later.
   963  //
   964  //      * For PutConfigOrganizationRule, organization config rule deletion is
   965  //      in progress. Try your request again later.
   966  //
   967  //      * For DeleteOrganizationConfigRule, organization config rule creation
   968  //      is in progress. Try your request again later.
   969  //
   970  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
   971  //      pack creation, update, and deletion is in progress. Try your request again
   972  //      later.
   973  //
   974  //      * For DeleteConformancePack, a conformance pack creation, update, and
   975  //      deletion is in progress. Try your request again later.
   976  //
   977  //   * OrganizationAccessDeniedException
   978  //   For PutConfigurationAggregator API, you can see this exception for the following
   979  //   reasons:
   980  //
   981  //      * No permission to call EnableAWSServiceAccess API
   982  //
   983  //      * The configuration aggregator cannot be updated because your Amazon Web
   984  //      Services Organization management account or the delegated administrator
   985  //      role changed. Delete this aggregator and create a new one with the current
   986  //      Amazon Web Services Organization.
   987  //
   988  //      * The configuration aggregator is associated with a previous Amazon Web
   989  //      Services Organization and Config cannot aggregate data with current Amazon
   990  //      Web Services Organization. Delete this aggregator and create a new one
   991  //      with the current Amazon Web Services Organization.
   992  //
   993  //      * You are not a registered delegated administrator for Config with permissions
   994  //      to call ListDelegatedAdministrators API. Ensure that the management account
   995  //      registers delagated administrator for Config service principle name before
   996  //      the delegated administrator creates an aggregator.
   997  //
   998  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
   999  //   throws an exception if APIs are called from member accounts. All APIs must
  1000  //   be called from organization master account.
  1001  //
  1002  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
  1003  func (c *ConfigService) DeleteOrganizationConfigRule(input *DeleteOrganizationConfigRuleInput) (*DeleteOrganizationConfigRuleOutput, error) {
  1004  	req, out := c.DeleteOrganizationConfigRuleRequest(input)
  1005  	return out, req.Send()
  1006  }
  1007  
  1008  // DeleteOrganizationConfigRuleWithContext is the same as DeleteOrganizationConfigRule with the addition of
  1009  // the ability to pass a context and additional request options.
  1010  //
  1011  // See DeleteOrganizationConfigRule for details on how to use this API operation.
  1012  //
  1013  // The context must be non-nil and will be used for request cancellation. If
  1014  // the context is nil a panic will occur. In the future the SDK may create
  1015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1016  // for more information on using Contexts.
  1017  func (c *ConfigService) DeleteOrganizationConfigRuleWithContext(ctx aws.Context, input *DeleteOrganizationConfigRuleInput, opts ...request.Option) (*DeleteOrganizationConfigRuleOutput, error) {
  1018  	req, out := c.DeleteOrganizationConfigRuleRequest(input)
  1019  	req.SetContext(ctx)
  1020  	req.ApplyOptions(opts...)
  1021  	return out, req.Send()
  1022  }
  1023  
  1024  const opDeleteOrganizationConformancePack = "DeleteOrganizationConformancePack"
  1025  
  1026  // DeleteOrganizationConformancePackRequest generates a "aws/request.Request" representing the
  1027  // client's request for the DeleteOrganizationConformancePack operation. The "output" return
  1028  // value will be populated with the request's response once the request completes
  1029  // successfully.
  1030  //
  1031  // Use "Send" method on the returned Request to send the API call to the service.
  1032  // the "output" return value is not valid until after Send returns without error.
  1033  //
  1034  // See DeleteOrganizationConformancePack for more information on using the DeleteOrganizationConformancePack
  1035  // API call, and error handling.
  1036  //
  1037  // This method is useful when you want to inject custom logic or configuration
  1038  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1039  //
  1040  //
  1041  //    // Example sending a request using the DeleteOrganizationConformancePackRequest method.
  1042  //    req, resp := client.DeleteOrganizationConformancePackRequest(params)
  1043  //
  1044  //    err := req.Send()
  1045  //    if err == nil { // resp is now filled
  1046  //        fmt.Println(resp)
  1047  //    }
  1048  //
  1049  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
  1050  func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOrganizationConformancePackInput) (req *request.Request, output *DeleteOrganizationConformancePackOutput) {
  1051  	op := &request.Operation{
  1052  		Name:       opDeleteOrganizationConformancePack,
  1053  		HTTPMethod: "POST",
  1054  		HTTPPath:   "/",
  1055  	}
  1056  
  1057  	if input == nil {
  1058  		input = &DeleteOrganizationConformancePackInput{}
  1059  	}
  1060  
  1061  	output = &DeleteOrganizationConformancePackOutput{}
  1062  	req = c.newRequest(op, input, output)
  1063  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1064  	return
  1065  }
  1066  
  1067  // DeleteOrganizationConformancePack API operation for AWS Config.
  1068  //
  1069  // Deletes the specified organization conformance pack and all of the config
  1070  // rules and remediation actions from all member accounts in that organization.
  1071  //
  1072  // Only a master account or a delegated administrator account can delete an
  1073  // organization conformance pack. When calling this API with a delegated administrator,
  1074  // you must ensure Organizations ListDelegatedAdministrator permissions are
  1075  // added.
  1076  //
  1077  // Config sets the state of a conformance pack to DELETE_IN_PROGRESS until the
  1078  // deletion is complete. You cannot update a conformance pack while it is in
  1079  // this state.
  1080  //
  1081  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1082  // with awserr.Error's Code and Message methods to get detailed information about
  1083  // the error.
  1084  //
  1085  // See the AWS API reference guide for AWS Config's
  1086  // API operation DeleteOrganizationConformancePack for usage and error information.
  1087  //
  1088  // Returned Error Types:
  1089  //   * NoSuchOrganizationConformancePackException
  1090  //   Config organization conformance pack that you passed in the filter does not
  1091  //   exist.
  1092  //
  1093  //   For DeleteOrganizationConformancePack, you tried to delete an organization
  1094  //   conformance pack that does not exist.
  1095  //
  1096  //   * ResourceInUseException
  1097  //   You see this exception in the following cases:
  1098  //
  1099  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
  1100  //      again later.
  1101  //
  1102  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
  1103  //      Try your request again later.
  1104  //
  1105  //      * For DeleteConfigRule, a remediation action is associated with the rule
  1106  //      and Config cannot delete this rule. Delete the remediation action associated
  1107  //      with the rule before deleting the rule and try your request again later.
  1108  //
  1109  //      * For PutConfigOrganizationRule, organization config rule deletion is
  1110  //      in progress. Try your request again later.
  1111  //
  1112  //      * For DeleteOrganizationConfigRule, organization config rule creation
  1113  //      is in progress. Try your request again later.
  1114  //
  1115  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  1116  //      pack creation, update, and deletion is in progress. Try your request again
  1117  //      later.
  1118  //
  1119  //      * For DeleteConformancePack, a conformance pack creation, update, and
  1120  //      deletion is in progress. Try your request again later.
  1121  //
  1122  //   * OrganizationAccessDeniedException
  1123  //   For PutConfigurationAggregator API, you can see this exception for the following
  1124  //   reasons:
  1125  //
  1126  //      * No permission to call EnableAWSServiceAccess API
  1127  //
  1128  //      * The configuration aggregator cannot be updated because your Amazon Web
  1129  //      Services Organization management account or the delegated administrator
  1130  //      role changed. Delete this aggregator and create a new one with the current
  1131  //      Amazon Web Services Organization.
  1132  //
  1133  //      * The configuration aggregator is associated with a previous Amazon Web
  1134  //      Services Organization and Config cannot aggregate data with current Amazon
  1135  //      Web Services Organization. Delete this aggregator and create a new one
  1136  //      with the current Amazon Web Services Organization.
  1137  //
  1138  //      * You are not a registered delegated administrator for Config with permissions
  1139  //      to call ListDelegatedAdministrators API. Ensure that the management account
  1140  //      registers delagated administrator for Config service principle name before
  1141  //      the delegated administrator creates an aggregator.
  1142  //
  1143  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  1144  //   throws an exception if APIs are called from member accounts. All APIs must
  1145  //   be called from organization master account.
  1146  //
  1147  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
  1148  func (c *ConfigService) DeleteOrganizationConformancePack(input *DeleteOrganizationConformancePackInput) (*DeleteOrganizationConformancePackOutput, error) {
  1149  	req, out := c.DeleteOrganizationConformancePackRequest(input)
  1150  	return out, req.Send()
  1151  }
  1152  
  1153  // DeleteOrganizationConformancePackWithContext is the same as DeleteOrganizationConformancePack with the addition of
  1154  // the ability to pass a context and additional request options.
  1155  //
  1156  // See DeleteOrganizationConformancePack for details on how to use this API operation.
  1157  //
  1158  // The context must be non-nil and will be used for request cancellation. If
  1159  // the context is nil a panic will occur. In the future the SDK may create
  1160  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1161  // for more information on using Contexts.
  1162  func (c *ConfigService) DeleteOrganizationConformancePackWithContext(ctx aws.Context, input *DeleteOrganizationConformancePackInput, opts ...request.Option) (*DeleteOrganizationConformancePackOutput, error) {
  1163  	req, out := c.DeleteOrganizationConformancePackRequest(input)
  1164  	req.SetContext(ctx)
  1165  	req.ApplyOptions(opts...)
  1166  	return out, req.Send()
  1167  }
  1168  
  1169  const opDeletePendingAggregationRequest = "DeletePendingAggregationRequest"
  1170  
  1171  // DeletePendingAggregationRequestRequest generates a "aws/request.Request" representing the
  1172  // client's request for the DeletePendingAggregationRequest operation. The "output" return
  1173  // value will be populated with the request's response once the request completes
  1174  // successfully.
  1175  //
  1176  // Use "Send" method on the returned Request to send the API call to the service.
  1177  // the "output" return value is not valid until after Send returns without error.
  1178  //
  1179  // See DeletePendingAggregationRequest for more information on using the DeletePendingAggregationRequest
  1180  // API call, and error handling.
  1181  //
  1182  // This method is useful when you want to inject custom logic or configuration
  1183  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1184  //
  1185  //
  1186  //    // Example sending a request using the DeletePendingAggregationRequestRequest method.
  1187  //    req, resp := client.DeletePendingAggregationRequestRequest(params)
  1188  //
  1189  //    err := req.Send()
  1190  //    if err == nil { // resp is now filled
  1191  //        fmt.Println(resp)
  1192  //    }
  1193  //
  1194  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
  1195  func (c *ConfigService) DeletePendingAggregationRequestRequest(input *DeletePendingAggregationRequestInput) (req *request.Request, output *DeletePendingAggregationRequestOutput) {
  1196  	op := &request.Operation{
  1197  		Name:       opDeletePendingAggregationRequest,
  1198  		HTTPMethod: "POST",
  1199  		HTTPPath:   "/",
  1200  	}
  1201  
  1202  	if input == nil {
  1203  		input = &DeletePendingAggregationRequestInput{}
  1204  	}
  1205  
  1206  	output = &DeletePendingAggregationRequestOutput{}
  1207  	req = c.newRequest(op, input, output)
  1208  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1209  	return
  1210  }
  1211  
  1212  // DeletePendingAggregationRequest API operation for AWS Config.
  1213  //
  1214  // Deletes pending authorization requests for a specified aggregator account
  1215  // in a specified region.
  1216  //
  1217  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1218  // with awserr.Error's Code and Message methods to get detailed information about
  1219  // the error.
  1220  //
  1221  // See the AWS API reference guide for AWS Config's
  1222  // API operation DeletePendingAggregationRequest for usage and error information.
  1223  //
  1224  // Returned Error Types:
  1225  //   * InvalidParameterValueException
  1226  //   One or more of the specified parameters are invalid. Verify that your parameters
  1227  //   are valid and try again.
  1228  //
  1229  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
  1230  func (c *ConfigService) DeletePendingAggregationRequest(input *DeletePendingAggregationRequestInput) (*DeletePendingAggregationRequestOutput, error) {
  1231  	req, out := c.DeletePendingAggregationRequestRequest(input)
  1232  	return out, req.Send()
  1233  }
  1234  
  1235  // DeletePendingAggregationRequestWithContext is the same as DeletePendingAggregationRequest with the addition of
  1236  // the ability to pass a context and additional request options.
  1237  //
  1238  // See DeletePendingAggregationRequest for details on how to use this API operation.
  1239  //
  1240  // The context must be non-nil and will be used for request cancellation. If
  1241  // the context is nil a panic will occur. In the future the SDK may create
  1242  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1243  // for more information on using Contexts.
  1244  func (c *ConfigService) DeletePendingAggregationRequestWithContext(ctx aws.Context, input *DeletePendingAggregationRequestInput, opts ...request.Option) (*DeletePendingAggregationRequestOutput, error) {
  1245  	req, out := c.DeletePendingAggregationRequestRequest(input)
  1246  	req.SetContext(ctx)
  1247  	req.ApplyOptions(opts...)
  1248  	return out, req.Send()
  1249  }
  1250  
  1251  const opDeleteRemediationConfiguration = "DeleteRemediationConfiguration"
  1252  
  1253  // DeleteRemediationConfigurationRequest generates a "aws/request.Request" representing the
  1254  // client's request for the DeleteRemediationConfiguration operation. The "output" return
  1255  // value will be populated with the request's response once the request completes
  1256  // successfully.
  1257  //
  1258  // Use "Send" method on the returned Request to send the API call to the service.
  1259  // the "output" return value is not valid until after Send returns without error.
  1260  //
  1261  // See DeleteRemediationConfiguration for more information on using the DeleteRemediationConfiguration
  1262  // API call, and error handling.
  1263  //
  1264  // This method is useful when you want to inject custom logic or configuration
  1265  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1266  //
  1267  //
  1268  //    // Example sending a request using the DeleteRemediationConfigurationRequest method.
  1269  //    req, resp := client.DeleteRemediationConfigurationRequest(params)
  1270  //
  1271  //    err := req.Send()
  1272  //    if err == nil { // resp is now filled
  1273  //        fmt.Println(resp)
  1274  //    }
  1275  //
  1276  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
  1277  func (c *ConfigService) DeleteRemediationConfigurationRequest(input *DeleteRemediationConfigurationInput) (req *request.Request, output *DeleteRemediationConfigurationOutput) {
  1278  	op := &request.Operation{
  1279  		Name:       opDeleteRemediationConfiguration,
  1280  		HTTPMethod: "POST",
  1281  		HTTPPath:   "/",
  1282  	}
  1283  
  1284  	if input == nil {
  1285  		input = &DeleteRemediationConfigurationInput{}
  1286  	}
  1287  
  1288  	output = &DeleteRemediationConfigurationOutput{}
  1289  	req = c.newRequest(op, input, output)
  1290  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1291  	return
  1292  }
  1293  
  1294  // DeleteRemediationConfiguration API operation for AWS Config.
  1295  //
  1296  // Deletes the remediation configuration.
  1297  //
  1298  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1299  // with awserr.Error's Code and Message methods to get detailed information about
  1300  // the error.
  1301  //
  1302  // See the AWS API reference guide for AWS Config's
  1303  // API operation DeleteRemediationConfiguration for usage and error information.
  1304  //
  1305  // Returned Error Types:
  1306  //   * NoSuchRemediationConfigurationException
  1307  //   You specified an Config rule without a remediation configuration.
  1308  //
  1309  //   * RemediationInProgressException
  1310  //   Remediation action is in progress. You can either cancel execution in Amazon
  1311  //   Web Services Systems Manager or wait and try again later.
  1312  //
  1313  //   * InsufficientPermissionsException
  1314  //   Indicates one of the following errors:
  1315  //
  1316  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  1317  //      to Config lacks permissions to perform the config:Put* action.
  1318  //
  1319  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  1320  //      function ARN, and check the function's permissions.
  1321  //
  1322  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  1323  //      because you do not have permissions to call IAM GetRole action or create
  1324  //      a service linked role.
  1325  //
  1326  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  1327  //      pack cannot be created because you do not have permissions: To call IAM
  1328  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  1329  //
  1330  //   * InvalidParameterValueException
  1331  //   One or more of the specified parameters are invalid. Verify that your parameters
  1332  //   are valid and try again.
  1333  //
  1334  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
  1335  func (c *ConfigService) DeleteRemediationConfiguration(input *DeleteRemediationConfigurationInput) (*DeleteRemediationConfigurationOutput, error) {
  1336  	req, out := c.DeleteRemediationConfigurationRequest(input)
  1337  	return out, req.Send()
  1338  }
  1339  
  1340  // DeleteRemediationConfigurationWithContext is the same as DeleteRemediationConfiguration with the addition of
  1341  // the ability to pass a context and additional request options.
  1342  //
  1343  // See DeleteRemediationConfiguration for details on how to use this API operation.
  1344  //
  1345  // The context must be non-nil and will be used for request cancellation. If
  1346  // the context is nil a panic will occur. In the future the SDK may create
  1347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1348  // for more information on using Contexts.
  1349  func (c *ConfigService) DeleteRemediationConfigurationWithContext(ctx aws.Context, input *DeleteRemediationConfigurationInput, opts ...request.Option) (*DeleteRemediationConfigurationOutput, error) {
  1350  	req, out := c.DeleteRemediationConfigurationRequest(input)
  1351  	req.SetContext(ctx)
  1352  	req.ApplyOptions(opts...)
  1353  	return out, req.Send()
  1354  }
  1355  
  1356  const opDeleteRemediationExceptions = "DeleteRemediationExceptions"
  1357  
  1358  // DeleteRemediationExceptionsRequest generates a "aws/request.Request" representing the
  1359  // client's request for the DeleteRemediationExceptions operation. The "output" return
  1360  // value will be populated with the request's response once the request completes
  1361  // successfully.
  1362  //
  1363  // Use "Send" method on the returned Request to send the API call to the service.
  1364  // the "output" return value is not valid until after Send returns without error.
  1365  //
  1366  // See DeleteRemediationExceptions for more information on using the DeleteRemediationExceptions
  1367  // API call, and error handling.
  1368  //
  1369  // This method is useful when you want to inject custom logic or configuration
  1370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1371  //
  1372  //
  1373  //    // Example sending a request using the DeleteRemediationExceptionsRequest method.
  1374  //    req, resp := client.DeleteRemediationExceptionsRequest(params)
  1375  //
  1376  //    err := req.Send()
  1377  //    if err == nil { // resp is now filled
  1378  //        fmt.Println(resp)
  1379  //    }
  1380  //
  1381  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
  1382  func (c *ConfigService) DeleteRemediationExceptionsRequest(input *DeleteRemediationExceptionsInput) (req *request.Request, output *DeleteRemediationExceptionsOutput) {
  1383  	op := &request.Operation{
  1384  		Name:       opDeleteRemediationExceptions,
  1385  		HTTPMethod: "POST",
  1386  		HTTPPath:   "/",
  1387  	}
  1388  
  1389  	if input == nil {
  1390  		input = &DeleteRemediationExceptionsInput{}
  1391  	}
  1392  
  1393  	output = &DeleteRemediationExceptionsOutput{}
  1394  	req = c.newRequest(op, input, output)
  1395  	return
  1396  }
  1397  
  1398  // DeleteRemediationExceptions API operation for AWS Config.
  1399  //
  1400  // Deletes one or more remediation exceptions mentioned in the resource keys.
  1401  //
  1402  // Config generates a remediation exception when a problem occurs executing
  1403  // a remediation action to a specific resource. Remediation exceptions blocks
  1404  // auto-remediation until the exception is cleared.
  1405  //
  1406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1407  // with awserr.Error's Code and Message methods to get detailed information about
  1408  // the error.
  1409  //
  1410  // See the AWS API reference guide for AWS Config's
  1411  // API operation DeleteRemediationExceptions for usage and error information.
  1412  //
  1413  // Returned Error Types:
  1414  //   * NoSuchRemediationExceptionException
  1415  //   You tried to delete a remediation exception that does not exist.
  1416  //
  1417  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
  1418  func (c *ConfigService) DeleteRemediationExceptions(input *DeleteRemediationExceptionsInput) (*DeleteRemediationExceptionsOutput, error) {
  1419  	req, out := c.DeleteRemediationExceptionsRequest(input)
  1420  	return out, req.Send()
  1421  }
  1422  
  1423  // DeleteRemediationExceptionsWithContext is the same as DeleteRemediationExceptions with the addition of
  1424  // the ability to pass a context and additional request options.
  1425  //
  1426  // See DeleteRemediationExceptions for details on how to use this API operation.
  1427  //
  1428  // The context must be non-nil and will be used for request cancellation. If
  1429  // the context is nil a panic will occur. In the future the SDK may create
  1430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1431  // for more information on using Contexts.
  1432  func (c *ConfigService) DeleteRemediationExceptionsWithContext(ctx aws.Context, input *DeleteRemediationExceptionsInput, opts ...request.Option) (*DeleteRemediationExceptionsOutput, error) {
  1433  	req, out := c.DeleteRemediationExceptionsRequest(input)
  1434  	req.SetContext(ctx)
  1435  	req.ApplyOptions(opts...)
  1436  	return out, req.Send()
  1437  }
  1438  
  1439  const opDeleteResourceConfig = "DeleteResourceConfig"
  1440  
  1441  // DeleteResourceConfigRequest generates a "aws/request.Request" representing the
  1442  // client's request for the DeleteResourceConfig operation. The "output" return
  1443  // value will be populated with the request's response once the request completes
  1444  // successfully.
  1445  //
  1446  // Use "Send" method on the returned Request to send the API call to the service.
  1447  // the "output" return value is not valid until after Send returns without error.
  1448  //
  1449  // See DeleteResourceConfig for more information on using the DeleteResourceConfig
  1450  // API call, and error handling.
  1451  //
  1452  // This method is useful when you want to inject custom logic or configuration
  1453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1454  //
  1455  //
  1456  //    // Example sending a request using the DeleteResourceConfigRequest method.
  1457  //    req, resp := client.DeleteResourceConfigRequest(params)
  1458  //
  1459  //    err := req.Send()
  1460  //    if err == nil { // resp is now filled
  1461  //        fmt.Println(resp)
  1462  //    }
  1463  //
  1464  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
  1465  func (c *ConfigService) DeleteResourceConfigRequest(input *DeleteResourceConfigInput) (req *request.Request, output *DeleteResourceConfigOutput) {
  1466  	op := &request.Operation{
  1467  		Name:       opDeleteResourceConfig,
  1468  		HTTPMethod: "POST",
  1469  		HTTPPath:   "/",
  1470  	}
  1471  
  1472  	if input == nil {
  1473  		input = &DeleteResourceConfigInput{}
  1474  	}
  1475  
  1476  	output = &DeleteResourceConfigOutput{}
  1477  	req = c.newRequest(op, input, output)
  1478  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1479  	return
  1480  }
  1481  
  1482  // DeleteResourceConfig API operation for AWS Config.
  1483  //
  1484  // Records the configuration state for a custom resource that has been deleted.
  1485  // This API records a new ConfigurationItem with a ResourceDeleted status. You
  1486  // can retrieve the ConfigurationItems recorded for this resource in your Config
  1487  // History.
  1488  //
  1489  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1490  // with awserr.Error's Code and Message methods to get detailed information about
  1491  // the error.
  1492  //
  1493  // See the AWS API reference guide for AWS Config's
  1494  // API operation DeleteResourceConfig for usage and error information.
  1495  //
  1496  // Returned Error Types:
  1497  //   * ValidationException
  1498  //   The requested action is not valid.
  1499  //
  1500  //   For PutStoredQuery, you will see this exception if there are missing required
  1501  //   fields or if the input value fails the validation, or if you are trying to
  1502  //   create more than 300 queries.
  1503  //
  1504  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  1505  //   exception if there are missing required fields or if the input value fails
  1506  //   the validation.
  1507  //
  1508  //   * NoRunningConfigurationRecorderException
  1509  //   There is no configuration recorder running.
  1510  //
  1511  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
  1512  func (c *ConfigService) DeleteResourceConfig(input *DeleteResourceConfigInput) (*DeleteResourceConfigOutput, error) {
  1513  	req, out := c.DeleteResourceConfigRequest(input)
  1514  	return out, req.Send()
  1515  }
  1516  
  1517  // DeleteResourceConfigWithContext is the same as DeleteResourceConfig with the addition of
  1518  // the ability to pass a context and additional request options.
  1519  //
  1520  // See DeleteResourceConfig for details on how to use this API operation.
  1521  //
  1522  // The context must be non-nil and will be used for request cancellation. If
  1523  // the context is nil a panic will occur. In the future the SDK may create
  1524  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1525  // for more information on using Contexts.
  1526  func (c *ConfigService) DeleteResourceConfigWithContext(ctx aws.Context, input *DeleteResourceConfigInput, opts ...request.Option) (*DeleteResourceConfigOutput, error) {
  1527  	req, out := c.DeleteResourceConfigRequest(input)
  1528  	req.SetContext(ctx)
  1529  	req.ApplyOptions(opts...)
  1530  	return out, req.Send()
  1531  }
  1532  
  1533  const opDeleteRetentionConfiguration = "DeleteRetentionConfiguration"
  1534  
  1535  // DeleteRetentionConfigurationRequest generates a "aws/request.Request" representing the
  1536  // client's request for the DeleteRetentionConfiguration operation. The "output" return
  1537  // value will be populated with the request's response once the request completes
  1538  // successfully.
  1539  //
  1540  // Use "Send" method on the returned Request to send the API call to the service.
  1541  // the "output" return value is not valid until after Send returns without error.
  1542  //
  1543  // See DeleteRetentionConfiguration for more information on using the DeleteRetentionConfiguration
  1544  // API call, and error handling.
  1545  //
  1546  // This method is useful when you want to inject custom logic or configuration
  1547  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1548  //
  1549  //
  1550  //    // Example sending a request using the DeleteRetentionConfigurationRequest method.
  1551  //    req, resp := client.DeleteRetentionConfigurationRequest(params)
  1552  //
  1553  //    err := req.Send()
  1554  //    if err == nil { // resp is now filled
  1555  //        fmt.Println(resp)
  1556  //    }
  1557  //
  1558  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
  1559  func (c *ConfigService) DeleteRetentionConfigurationRequest(input *DeleteRetentionConfigurationInput) (req *request.Request, output *DeleteRetentionConfigurationOutput) {
  1560  	op := &request.Operation{
  1561  		Name:       opDeleteRetentionConfiguration,
  1562  		HTTPMethod: "POST",
  1563  		HTTPPath:   "/",
  1564  	}
  1565  
  1566  	if input == nil {
  1567  		input = &DeleteRetentionConfigurationInput{}
  1568  	}
  1569  
  1570  	output = &DeleteRetentionConfigurationOutput{}
  1571  	req = c.newRequest(op, input, output)
  1572  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1573  	return
  1574  }
  1575  
  1576  // DeleteRetentionConfiguration API operation for AWS Config.
  1577  //
  1578  // Deletes the retention configuration.
  1579  //
  1580  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1581  // with awserr.Error's Code and Message methods to get detailed information about
  1582  // the error.
  1583  //
  1584  // See the AWS API reference guide for AWS Config's
  1585  // API operation DeleteRetentionConfiguration for usage and error information.
  1586  //
  1587  // Returned Error Types:
  1588  //   * InvalidParameterValueException
  1589  //   One or more of the specified parameters are invalid. Verify that your parameters
  1590  //   are valid and try again.
  1591  //
  1592  //   * NoSuchRetentionConfigurationException
  1593  //   You have specified a retention configuration that does not exist.
  1594  //
  1595  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
  1596  func (c *ConfigService) DeleteRetentionConfiguration(input *DeleteRetentionConfigurationInput) (*DeleteRetentionConfigurationOutput, error) {
  1597  	req, out := c.DeleteRetentionConfigurationRequest(input)
  1598  	return out, req.Send()
  1599  }
  1600  
  1601  // DeleteRetentionConfigurationWithContext is the same as DeleteRetentionConfiguration with the addition of
  1602  // the ability to pass a context and additional request options.
  1603  //
  1604  // See DeleteRetentionConfiguration for details on how to use this API operation.
  1605  //
  1606  // The context must be non-nil and will be used for request cancellation. If
  1607  // the context is nil a panic will occur. In the future the SDK may create
  1608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1609  // for more information on using Contexts.
  1610  func (c *ConfigService) DeleteRetentionConfigurationWithContext(ctx aws.Context, input *DeleteRetentionConfigurationInput, opts ...request.Option) (*DeleteRetentionConfigurationOutput, error) {
  1611  	req, out := c.DeleteRetentionConfigurationRequest(input)
  1612  	req.SetContext(ctx)
  1613  	req.ApplyOptions(opts...)
  1614  	return out, req.Send()
  1615  }
  1616  
  1617  const opDeleteStoredQuery = "DeleteStoredQuery"
  1618  
  1619  // DeleteStoredQueryRequest generates a "aws/request.Request" representing the
  1620  // client's request for the DeleteStoredQuery operation. The "output" return
  1621  // value will be populated with the request's response once the request completes
  1622  // successfully.
  1623  //
  1624  // Use "Send" method on the returned Request to send the API call to the service.
  1625  // the "output" return value is not valid until after Send returns without error.
  1626  //
  1627  // See DeleteStoredQuery for more information on using the DeleteStoredQuery
  1628  // API call, and error handling.
  1629  //
  1630  // This method is useful when you want to inject custom logic or configuration
  1631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1632  //
  1633  //
  1634  //    // Example sending a request using the DeleteStoredQueryRequest method.
  1635  //    req, resp := client.DeleteStoredQueryRequest(params)
  1636  //
  1637  //    err := req.Send()
  1638  //    if err == nil { // resp is now filled
  1639  //        fmt.Println(resp)
  1640  //    }
  1641  //
  1642  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
  1643  func (c *ConfigService) DeleteStoredQueryRequest(input *DeleteStoredQueryInput) (req *request.Request, output *DeleteStoredQueryOutput) {
  1644  	op := &request.Operation{
  1645  		Name:       opDeleteStoredQuery,
  1646  		HTTPMethod: "POST",
  1647  		HTTPPath:   "/",
  1648  	}
  1649  
  1650  	if input == nil {
  1651  		input = &DeleteStoredQueryInput{}
  1652  	}
  1653  
  1654  	output = &DeleteStoredQueryOutput{}
  1655  	req = c.newRequest(op, input, output)
  1656  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1657  	return
  1658  }
  1659  
  1660  // DeleteStoredQuery API operation for AWS Config.
  1661  //
  1662  // Deletes the stored query for a single Amazon Web Services account and a single
  1663  // Amazon Web Services Region.
  1664  //
  1665  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1666  // with awserr.Error's Code and Message methods to get detailed information about
  1667  // the error.
  1668  //
  1669  // See the AWS API reference guide for AWS Config's
  1670  // API operation DeleteStoredQuery for usage and error information.
  1671  //
  1672  // Returned Error Types:
  1673  //   * ValidationException
  1674  //   The requested action is not valid.
  1675  //
  1676  //   For PutStoredQuery, you will see this exception if there are missing required
  1677  //   fields or if the input value fails the validation, or if you are trying to
  1678  //   create more than 300 queries.
  1679  //
  1680  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  1681  //   exception if there are missing required fields or if the input value fails
  1682  //   the validation.
  1683  //
  1684  //   * ResourceNotFoundException
  1685  //   You have specified a resource that does not exist.
  1686  //
  1687  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
  1688  func (c *ConfigService) DeleteStoredQuery(input *DeleteStoredQueryInput) (*DeleteStoredQueryOutput, error) {
  1689  	req, out := c.DeleteStoredQueryRequest(input)
  1690  	return out, req.Send()
  1691  }
  1692  
  1693  // DeleteStoredQueryWithContext is the same as DeleteStoredQuery with the addition of
  1694  // the ability to pass a context and additional request options.
  1695  //
  1696  // See DeleteStoredQuery for details on how to use this API operation.
  1697  //
  1698  // The context must be non-nil and will be used for request cancellation. If
  1699  // the context is nil a panic will occur. In the future the SDK may create
  1700  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1701  // for more information on using Contexts.
  1702  func (c *ConfigService) DeleteStoredQueryWithContext(ctx aws.Context, input *DeleteStoredQueryInput, opts ...request.Option) (*DeleteStoredQueryOutput, error) {
  1703  	req, out := c.DeleteStoredQueryRequest(input)
  1704  	req.SetContext(ctx)
  1705  	req.ApplyOptions(opts...)
  1706  	return out, req.Send()
  1707  }
  1708  
  1709  const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
  1710  
  1711  // DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
  1712  // client's request for the DeliverConfigSnapshot operation. The "output" return
  1713  // value will be populated with the request's response once the request completes
  1714  // successfully.
  1715  //
  1716  // Use "Send" method on the returned Request to send the API call to the service.
  1717  // the "output" return value is not valid until after Send returns without error.
  1718  //
  1719  // See DeliverConfigSnapshot for more information on using the DeliverConfigSnapshot
  1720  // API call, and error handling.
  1721  //
  1722  // This method is useful when you want to inject custom logic or configuration
  1723  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1724  //
  1725  //
  1726  //    // Example sending a request using the DeliverConfigSnapshotRequest method.
  1727  //    req, resp := client.DeliverConfigSnapshotRequest(params)
  1728  //
  1729  //    err := req.Send()
  1730  //    if err == nil { // resp is now filled
  1731  //        fmt.Println(resp)
  1732  //    }
  1733  //
  1734  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
  1735  func (c *ConfigService) DeliverConfigSnapshotRequest(input *DeliverConfigSnapshotInput) (req *request.Request, output *DeliverConfigSnapshotOutput) {
  1736  	op := &request.Operation{
  1737  		Name:       opDeliverConfigSnapshot,
  1738  		HTTPMethod: "POST",
  1739  		HTTPPath:   "/",
  1740  	}
  1741  
  1742  	if input == nil {
  1743  		input = &DeliverConfigSnapshotInput{}
  1744  	}
  1745  
  1746  	output = &DeliverConfigSnapshotOutput{}
  1747  	req = c.newRequest(op, input, output)
  1748  	return
  1749  }
  1750  
  1751  // DeliverConfigSnapshot API operation for AWS Config.
  1752  //
  1753  // Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
  1754  // the specified delivery channel. After the delivery has started, Config sends
  1755  // the following notifications using an Amazon SNS topic that you have specified.
  1756  //
  1757  //    * Notification of the start of the delivery.
  1758  //
  1759  //    * Notification of the completion of the delivery, if the delivery was
  1760  //    successfully completed.
  1761  //
  1762  //    * Notification of delivery failure, if the delivery failed.
  1763  //
  1764  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1765  // with awserr.Error's Code and Message methods to get detailed information about
  1766  // the error.
  1767  //
  1768  // See the AWS API reference guide for AWS Config's
  1769  // API operation DeliverConfigSnapshot for usage and error information.
  1770  //
  1771  // Returned Error Types:
  1772  //   * NoSuchDeliveryChannelException
  1773  //   You have specified a delivery channel that does not exist.
  1774  //
  1775  //   * NoAvailableConfigurationRecorderException
  1776  //   There are no configuration recorders available to provide the role needed
  1777  //   to describe your resources. Create a configuration recorder.
  1778  //
  1779  //   * NoRunningConfigurationRecorderException
  1780  //   There is no configuration recorder running.
  1781  //
  1782  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
  1783  func (c *ConfigService) DeliverConfigSnapshot(input *DeliverConfigSnapshotInput) (*DeliverConfigSnapshotOutput, error) {
  1784  	req, out := c.DeliverConfigSnapshotRequest(input)
  1785  	return out, req.Send()
  1786  }
  1787  
  1788  // DeliverConfigSnapshotWithContext is the same as DeliverConfigSnapshot with the addition of
  1789  // the ability to pass a context and additional request options.
  1790  //
  1791  // See DeliverConfigSnapshot for details on how to use this API operation.
  1792  //
  1793  // The context must be non-nil and will be used for request cancellation. If
  1794  // the context is nil a panic will occur. In the future the SDK may create
  1795  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1796  // for more information on using Contexts.
  1797  func (c *ConfigService) DeliverConfigSnapshotWithContext(ctx aws.Context, input *DeliverConfigSnapshotInput, opts ...request.Option) (*DeliverConfigSnapshotOutput, error) {
  1798  	req, out := c.DeliverConfigSnapshotRequest(input)
  1799  	req.SetContext(ctx)
  1800  	req.ApplyOptions(opts...)
  1801  	return out, req.Send()
  1802  }
  1803  
  1804  const opDescribeAggregateComplianceByConfigRules = "DescribeAggregateComplianceByConfigRules"
  1805  
  1806  // DescribeAggregateComplianceByConfigRulesRequest generates a "aws/request.Request" representing the
  1807  // client's request for the DescribeAggregateComplianceByConfigRules operation. The "output" return
  1808  // value will be populated with the request's response once the request completes
  1809  // successfully.
  1810  //
  1811  // Use "Send" method on the returned Request to send the API call to the service.
  1812  // the "output" return value is not valid until after Send returns without error.
  1813  //
  1814  // See DescribeAggregateComplianceByConfigRules for more information on using the DescribeAggregateComplianceByConfigRules
  1815  // API call, and error handling.
  1816  //
  1817  // This method is useful when you want to inject custom logic or configuration
  1818  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1819  //
  1820  //
  1821  //    // Example sending a request using the DescribeAggregateComplianceByConfigRulesRequest method.
  1822  //    req, resp := client.DescribeAggregateComplianceByConfigRulesRequest(params)
  1823  //
  1824  //    err := req.Send()
  1825  //    if err == nil { // resp is now filled
  1826  //        fmt.Println(resp)
  1827  //    }
  1828  //
  1829  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
  1830  func (c *ConfigService) DescribeAggregateComplianceByConfigRulesRequest(input *DescribeAggregateComplianceByConfigRulesInput) (req *request.Request, output *DescribeAggregateComplianceByConfigRulesOutput) {
  1831  	op := &request.Operation{
  1832  		Name:       opDescribeAggregateComplianceByConfigRules,
  1833  		HTTPMethod: "POST",
  1834  		HTTPPath:   "/",
  1835  		Paginator: &request.Paginator{
  1836  			InputTokens:     []string{"NextToken"},
  1837  			OutputTokens:    []string{"NextToken"},
  1838  			LimitToken:      "Limit",
  1839  			TruncationToken: "",
  1840  		},
  1841  	}
  1842  
  1843  	if input == nil {
  1844  		input = &DescribeAggregateComplianceByConfigRulesInput{}
  1845  	}
  1846  
  1847  	output = &DescribeAggregateComplianceByConfigRulesOutput{}
  1848  	req = c.newRequest(op, input, output)
  1849  	return
  1850  }
  1851  
  1852  // DescribeAggregateComplianceByConfigRules API operation for AWS Config.
  1853  //
  1854  // Returns a list of compliant and noncompliant rules with the number of resources
  1855  // for compliant and noncompliant rules. Does not display rules that do not
  1856  // have compliance results.
  1857  //
  1858  // The results can return an empty result page, but if you have a nextToken,
  1859  // the results are displayed on the next page.
  1860  //
  1861  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1862  // with awserr.Error's Code and Message methods to get detailed information about
  1863  // the error.
  1864  //
  1865  // See the AWS API reference guide for AWS Config's
  1866  // API operation DescribeAggregateComplianceByConfigRules for usage and error information.
  1867  //
  1868  // Returned Error Types:
  1869  //   * ValidationException
  1870  //   The requested action is not valid.
  1871  //
  1872  //   For PutStoredQuery, you will see this exception if there are missing required
  1873  //   fields or if the input value fails the validation, or if you are trying to
  1874  //   create more than 300 queries.
  1875  //
  1876  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  1877  //   exception if there are missing required fields or if the input value fails
  1878  //   the validation.
  1879  //
  1880  //   * InvalidLimitException
  1881  //   The specified limit is outside the allowable range.
  1882  //
  1883  //   * InvalidNextTokenException
  1884  //   The specified next token is invalid. Specify the nextToken string that was
  1885  //   returned in the previous response to get the next page of results.
  1886  //
  1887  //   * NoSuchConfigurationAggregatorException
  1888  //   You have specified a configuration aggregator that does not exist.
  1889  //
  1890  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
  1891  func (c *ConfigService) DescribeAggregateComplianceByConfigRules(input *DescribeAggregateComplianceByConfigRulesInput) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
  1892  	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
  1893  	return out, req.Send()
  1894  }
  1895  
  1896  // DescribeAggregateComplianceByConfigRulesWithContext is the same as DescribeAggregateComplianceByConfigRules with the addition of
  1897  // the ability to pass a context and additional request options.
  1898  //
  1899  // See DescribeAggregateComplianceByConfigRules for details on how to use this API operation.
  1900  //
  1901  // The context must be non-nil and will be used for request cancellation. If
  1902  // the context is nil a panic will occur. In the future the SDK may create
  1903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1904  // for more information on using Contexts.
  1905  func (c *ConfigService) DescribeAggregateComplianceByConfigRulesWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConfigRulesInput, opts ...request.Option) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
  1906  	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
  1907  	req.SetContext(ctx)
  1908  	req.ApplyOptions(opts...)
  1909  	return out, req.Send()
  1910  }
  1911  
  1912  // DescribeAggregateComplianceByConfigRulesPages iterates over the pages of a DescribeAggregateComplianceByConfigRules operation,
  1913  // calling the "fn" function with the response data for each page. To stop
  1914  // iterating, return false from the fn function.
  1915  //
  1916  // See DescribeAggregateComplianceByConfigRules method for more information on how to use this operation.
  1917  //
  1918  // Note: This operation can generate multiple requests to a service.
  1919  //
  1920  //    // Example iterating over at most 3 pages of a DescribeAggregateComplianceByConfigRules operation.
  1921  //    pageNum := 0
  1922  //    err := client.DescribeAggregateComplianceByConfigRulesPages(params,
  1923  //        func(page *configservice.DescribeAggregateComplianceByConfigRulesOutput, lastPage bool) bool {
  1924  //            pageNum++
  1925  //            fmt.Println(page)
  1926  //            return pageNum <= 3
  1927  //        })
  1928  //
  1929  func (c *ConfigService) DescribeAggregateComplianceByConfigRulesPages(input *DescribeAggregateComplianceByConfigRulesInput, fn func(*DescribeAggregateComplianceByConfigRulesOutput, bool) bool) error {
  1930  	return c.DescribeAggregateComplianceByConfigRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  1931  }
  1932  
  1933  // DescribeAggregateComplianceByConfigRulesPagesWithContext same as DescribeAggregateComplianceByConfigRulesPages except
  1934  // it takes a Context and allows setting request options on the pages.
  1935  //
  1936  // The context must be non-nil and will be used for request cancellation. If
  1937  // the context is nil a panic will occur. In the future the SDK may create
  1938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1939  // for more information on using Contexts.
  1940  func (c *ConfigService) DescribeAggregateComplianceByConfigRulesPagesWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConfigRulesInput, fn func(*DescribeAggregateComplianceByConfigRulesOutput, bool) bool, opts ...request.Option) error {
  1941  	p := request.Pagination{
  1942  		NewRequest: func() (*request.Request, error) {
  1943  			var inCpy *DescribeAggregateComplianceByConfigRulesInput
  1944  			if input != nil {
  1945  				tmp := *input
  1946  				inCpy = &tmp
  1947  			}
  1948  			req, _ := c.DescribeAggregateComplianceByConfigRulesRequest(inCpy)
  1949  			req.SetContext(ctx)
  1950  			req.ApplyOptions(opts...)
  1951  			return req, nil
  1952  		},
  1953  	}
  1954  
  1955  	for p.Next() {
  1956  		if !fn(p.Page().(*DescribeAggregateComplianceByConfigRulesOutput), !p.HasNextPage()) {
  1957  			break
  1958  		}
  1959  	}
  1960  
  1961  	return p.Err()
  1962  }
  1963  
  1964  const opDescribeAggregateComplianceByConformancePacks = "DescribeAggregateComplianceByConformancePacks"
  1965  
  1966  // DescribeAggregateComplianceByConformancePacksRequest generates a "aws/request.Request" representing the
  1967  // client's request for the DescribeAggregateComplianceByConformancePacks operation. The "output" return
  1968  // value will be populated with the request's response once the request completes
  1969  // successfully.
  1970  //
  1971  // Use "Send" method on the returned Request to send the API call to the service.
  1972  // the "output" return value is not valid until after Send returns without error.
  1973  //
  1974  // See DescribeAggregateComplianceByConformancePacks for more information on using the DescribeAggregateComplianceByConformancePacks
  1975  // API call, and error handling.
  1976  //
  1977  // This method is useful when you want to inject custom logic or configuration
  1978  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1979  //
  1980  //
  1981  //    // Example sending a request using the DescribeAggregateComplianceByConformancePacksRequest method.
  1982  //    req, resp := client.DescribeAggregateComplianceByConformancePacksRequest(params)
  1983  //
  1984  //    err := req.Send()
  1985  //    if err == nil { // resp is now filled
  1986  //        fmt.Println(resp)
  1987  //    }
  1988  //
  1989  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConformancePacks
  1990  func (c *ConfigService) DescribeAggregateComplianceByConformancePacksRequest(input *DescribeAggregateComplianceByConformancePacksInput) (req *request.Request, output *DescribeAggregateComplianceByConformancePacksOutput) {
  1991  	op := &request.Operation{
  1992  		Name:       opDescribeAggregateComplianceByConformancePacks,
  1993  		HTTPMethod: "POST",
  1994  		HTTPPath:   "/",
  1995  		Paginator: &request.Paginator{
  1996  			InputTokens:     []string{"NextToken"},
  1997  			OutputTokens:    []string{"NextToken"},
  1998  			LimitToken:      "Limit",
  1999  			TruncationToken: "",
  2000  		},
  2001  	}
  2002  
  2003  	if input == nil {
  2004  		input = &DescribeAggregateComplianceByConformancePacksInput{}
  2005  	}
  2006  
  2007  	output = &DescribeAggregateComplianceByConformancePacksOutput{}
  2008  	req = c.newRequest(op, input, output)
  2009  	return
  2010  }
  2011  
  2012  // DescribeAggregateComplianceByConformancePacks API operation for AWS Config.
  2013  //
  2014  // Returns a list of the conformance packs and their associated compliance status
  2015  // with the count of compliant and noncompliant Config rules within each conformance
  2016  // pack. Also returns the total rule count which includes compliant rules, noncompliant
  2017  // rules, and rules that cannot be evaluated due to insufficient data.
  2018  //
  2019  // The results can return an empty result page, but if you have a nextToken,
  2020  // the results are displayed on the next page.
  2021  //
  2022  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2023  // with awserr.Error's Code and Message methods to get detailed information about
  2024  // the error.
  2025  //
  2026  // See the AWS API reference guide for AWS Config's
  2027  // API operation DescribeAggregateComplianceByConformancePacks for usage and error information.
  2028  //
  2029  // Returned Error Types:
  2030  //   * ValidationException
  2031  //   The requested action is not valid.
  2032  //
  2033  //   For PutStoredQuery, you will see this exception if there are missing required
  2034  //   fields or if the input value fails the validation, or if you are trying to
  2035  //   create more than 300 queries.
  2036  //
  2037  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  2038  //   exception if there are missing required fields or if the input value fails
  2039  //   the validation.
  2040  //
  2041  //   * InvalidLimitException
  2042  //   The specified limit is outside the allowable range.
  2043  //
  2044  //   * InvalidNextTokenException
  2045  //   The specified next token is invalid. Specify the nextToken string that was
  2046  //   returned in the previous response to get the next page of results.
  2047  //
  2048  //   * NoSuchConfigurationAggregatorException
  2049  //   You have specified a configuration aggregator that does not exist.
  2050  //
  2051  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConformancePacks
  2052  func (c *ConfigService) DescribeAggregateComplianceByConformancePacks(input *DescribeAggregateComplianceByConformancePacksInput) (*DescribeAggregateComplianceByConformancePacksOutput, error) {
  2053  	req, out := c.DescribeAggregateComplianceByConformancePacksRequest(input)
  2054  	return out, req.Send()
  2055  }
  2056  
  2057  // DescribeAggregateComplianceByConformancePacksWithContext is the same as DescribeAggregateComplianceByConformancePacks with the addition of
  2058  // the ability to pass a context and additional request options.
  2059  //
  2060  // See DescribeAggregateComplianceByConformancePacks for details on how to use this API operation.
  2061  //
  2062  // The context must be non-nil and will be used for request cancellation. If
  2063  // the context is nil a panic will occur. In the future the SDK may create
  2064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2065  // for more information on using Contexts.
  2066  func (c *ConfigService) DescribeAggregateComplianceByConformancePacksWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConformancePacksInput, opts ...request.Option) (*DescribeAggregateComplianceByConformancePacksOutput, error) {
  2067  	req, out := c.DescribeAggregateComplianceByConformancePacksRequest(input)
  2068  	req.SetContext(ctx)
  2069  	req.ApplyOptions(opts...)
  2070  	return out, req.Send()
  2071  }
  2072  
  2073  // DescribeAggregateComplianceByConformancePacksPages iterates over the pages of a DescribeAggregateComplianceByConformancePacks operation,
  2074  // calling the "fn" function with the response data for each page. To stop
  2075  // iterating, return false from the fn function.
  2076  //
  2077  // See DescribeAggregateComplianceByConformancePacks method for more information on how to use this operation.
  2078  //
  2079  // Note: This operation can generate multiple requests to a service.
  2080  //
  2081  //    // Example iterating over at most 3 pages of a DescribeAggregateComplianceByConformancePacks operation.
  2082  //    pageNum := 0
  2083  //    err := client.DescribeAggregateComplianceByConformancePacksPages(params,
  2084  //        func(page *configservice.DescribeAggregateComplianceByConformancePacksOutput, lastPage bool) bool {
  2085  //            pageNum++
  2086  //            fmt.Println(page)
  2087  //            return pageNum <= 3
  2088  //        })
  2089  //
  2090  func (c *ConfigService) DescribeAggregateComplianceByConformancePacksPages(input *DescribeAggregateComplianceByConformancePacksInput, fn func(*DescribeAggregateComplianceByConformancePacksOutput, bool) bool) error {
  2091  	return c.DescribeAggregateComplianceByConformancePacksPagesWithContext(aws.BackgroundContext(), input, fn)
  2092  }
  2093  
  2094  // DescribeAggregateComplianceByConformancePacksPagesWithContext same as DescribeAggregateComplianceByConformancePacksPages except
  2095  // it takes a Context and allows setting request options on the pages.
  2096  //
  2097  // The context must be non-nil and will be used for request cancellation. If
  2098  // the context is nil a panic will occur. In the future the SDK may create
  2099  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2100  // for more information on using Contexts.
  2101  func (c *ConfigService) DescribeAggregateComplianceByConformancePacksPagesWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConformancePacksInput, fn func(*DescribeAggregateComplianceByConformancePacksOutput, bool) bool, opts ...request.Option) error {
  2102  	p := request.Pagination{
  2103  		NewRequest: func() (*request.Request, error) {
  2104  			var inCpy *DescribeAggregateComplianceByConformancePacksInput
  2105  			if input != nil {
  2106  				tmp := *input
  2107  				inCpy = &tmp
  2108  			}
  2109  			req, _ := c.DescribeAggregateComplianceByConformancePacksRequest(inCpy)
  2110  			req.SetContext(ctx)
  2111  			req.ApplyOptions(opts...)
  2112  			return req, nil
  2113  		},
  2114  	}
  2115  
  2116  	for p.Next() {
  2117  		if !fn(p.Page().(*DescribeAggregateComplianceByConformancePacksOutput), !p.HasNextPage()) {
  2118  			break
  2119  		}
  2120  	}
  2121  
  2122  	return p.Err()
  2123  }
  2124  
  2125  const opDescribeAggregationAuthorizations = "DescribeAggregationAuthorizations"
  2126  
  2127  // DescribeAggregationAuthorizationsRequest generates a "aws/request.Request" representing the
  2128  // client's request for the DescribeAggregationAuthorizations operation. The "output" return
  2129  // value will be populated with the request's response once the request completes
  2130  // successfully.
  2131  //
  2132  // Use "Send" method on the returned Request to send the API call to the service.
  2133  // the "output" return value is not valid until after Send returns without error.
  2134  //
  2135  // See DescribeAggregationAuthorizations for more information on using the DescribeAggregationAuthorizations
  2136  // API call, and error handling.
  2137  //
  2138  // This method is useful when you want to inject custom logic or configuration
  2139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2140  //
  2141  //
  2142  //    // Example sending a request using the DescribeAggregationAuthorizationsRequest method.
  2143  //    req, resp := client.DescribeAggregationAuthorizationsRequest(params)
  2144  //
  2145  //    err := req.Send()
  2146  //    if err == nil { // resp is now filled
  2147  //        fmt.Println(resp)
  2148  //    }
  2149  //
  2150  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
  2151  func (c *ConfigService) DescribeAggregationAuthorizationsRequest(input *DescribeAggregationAuthorizationsInput) (req *request.Request, output *DescribeAggregationAuthorizationsOutput) {
  2152  	op := &request.Operation{
  2153  		Name:       opDescribeAggregationAuthorizations,
  2154  		HTTPMethod: "POST",
  2155  		HTTPPath:   "/",
  2156  		Paginator: &request.Paginator{
  2157  			InputTokens:     []string{"NextToken"},
  2158  			OutputTokens:    []string{"NextToken"},
  2159  			LimitToken:      "Limit",
  2160  			TruncationToken: "",
  2161  		},
  2162  	}
  2163  
  2164  	if input == nil {
  2165  		input = &DescribeAggregationAuthorizationsInput{}
  2166  	}
  2167  
  2168  	output = &DescribeAggregationAuthorizationsOutput{}
  2169  	req = c.newRequest(op, input, output)
  2170  	return
  2171  }
  2172  
  2173  // DescribeAggregationAuthorizations API operation for AWS Config.
  2174  //
  2175  // Returns a list of authorizations granted to various aggregator accounts and
  2176  // regions.
  2177  //
  2178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2179  // with awserr.Error's Code and Message methods to get detailed information about
  2180  // the error.
  2181  //
  2182  // See the AWS API reference guide for AWS Config's
  2183  // API operation DescribeAggregationAuthorizations for usage and error information.
  2184  //
  2185  // Returned Error Types:
  2186  //   * InvalidParameterValueException
  2187  //   One or more of the specified parameters are invalid. Verify that your parameters
  2188  //   are valid and try again.
  2189  //
  2190  //   * InvalidNextTokenException
  2191  //   The specified next token is invalid. Specify the nextToken string that was
  2192  //   returned in the previous response to get the next page of results.
  2193  //
  2194  //   * InvalidLimitException
  2195  //   The specified limit is outside the allowable range.
  2196  //
  2197  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
  2198  func (c *ConfigService) DescribeAggregationAuthorizations(input *DescribeAggregationAuthorizationsInput) (*DescribeAggregationAuthorizationsOutput, error) {
  2199  	req, out := c.DescribeAggregationAuthorizationsRequest(input)
  2200  	return out, req.Send()
  2201  }
  2202  
  2203  // DescribeAggregationAuthorizationsWithContext is the same as DescribeAggregationAuthorizations with the addition of
  2204  // the ability to pass a context and additional request options.
  2205  //
  2206  // See DescribeAggregationAuthorizations for details on how to use this API operation.
  2207  //
  2208  // The context must be non-nil and will be used for request cancellation. If
  2209  // the context is nil a panic will occur. In the future the SDK may create
  2210  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2211  // for more information on using Contexts.
  2212  func (c *ConfigService) DescribeAggregationAuthorizationsWithContext(ctx aws.Context, input *DescribeAggregationAuthorizationsInput, opts ...request.Option) (*DescribeAggregationAuthorizationsOutput, error) {
  2213  	req, out := c.DescribeAggregationAuthorizationsRequest(input)
  2214  	req.SetContext(ctx)
  2215  	req.ApplyOptions(opts...)
  2216  	return out, req.Send()
  2217  }
  2218  
  2219  // DescribeAggregationAuthorizationsPages iterates over the pages of a DescribeAggregationAuthorizations operation,
  2220  // calling the "fn" function with the response data for each page. To stop
  2221  // iterating, return false from the fn function.
  2222  //
  2223  // See DescribeAggregationAuthorizations method for more information on how to use this operation.
  2224  //
  2225  // Note: This operation can generate multiple requests to a service.
  2226  //
  2227  //    // Example iterating over at most 3 pages of a DescribeAggregationAuthorizations operation.
  2228  //    pageNum := 0
  2229  //    err := client.DescribeAggregationAuthorizationsPages(params,
  2230  //        func(page *configservice.DescribeAggregationAuthorizationsOutput, lastPage bool) bool {
  2231  //            pageNum++
  2232  //            fmt.Println(page)
  2233  //            return pageNum <= 3
  2234  //        })
  2235  //
  2236  func (c *ConfigService) DescribeAggregationAuthorizationsPages(input *DescribeAggregationAuthorizationsInput, fn func(*DescribeAggregationAuthorizationsOutput, bool) bool) error {
  2237  	return c.DescribeAggregationAuthorizationsPagesWithContext(aws.BackgroundContext(), input, fn)
  2238  }
  2239  
  2240  // DescribeAggregationAuthorizationsPagesWithContext same as DescribeAggregationAuthorizationsPages except
  2241  // it takes a Context and allows setting request options on the pages.
  2242  //
  2243  // The context must be non-nil and will be used for request cancellation. If
  2244  // the context is nil a panic will occur. In the future the SDK may create
  2245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2246  // for more information on using Contexts.
  2247  func (c *ConfigService) DescribeAggregationAuthorizationsPagesWithContext(ctx aws.Context, input *DescribeAggregationAuthorizationsInput, fn func(*DescribeAggregationAuthorizationsOutput, bool) bool, opts ...request.Option) error {
  2248  	p := request.Pagination{
  2249  		NewRequest: func() (*request.Request, error) {
  2250  			var inCpy *DescribeAggregationAuthorizationsInput
  2251  			if input != nil {
  2252  				tmp := *input
  2253  				inCpy = &tmp
  2254  			}
  2255  			req, _ := c.DescribeAggregationAuthorizationsRequest(inCpy)
  2256  			req.SetContext(ctx)
  2257  			req.ApplyOptions(opts...)
  2258  			return req, nil
  2259  		},
  2260  	}
  2261  
  2262  	for p.Next() {
  2263  		if !fn(p.Page().(*DescribeAggregationAuthorizationsOutput), !p.HasNextPage()) {
  2264  			break
  2265  		}
  2266  	}
  2267  
  2268  	return p.Err()
  2269  }
  2270  
  2271  const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
  2272  
  2273  // DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
  2274  // client's request for the DescribeComplianceByConfigRule operation. The "output" return
  2275  // value will be populated with the request's response once the request completes
  2276  // successfully.
  2277  //
  2278  // Use "Send" method on the returned Request to send the API call to the service.
  2279  // the "output" return value is not valid until after Send returns without error.
  2280  //
  2281  // See DescribeComplianceByConfigRule for more information on using the DescribeComplianceByConfigRule
  2282  // API call, and error handling.
  2283  //
  2284  // This method is useful when you want to inject custom logic or configuration
  2285  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2286  //
  2287  //
  2288  //    // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
  2289  //    req, resp := client.DescribeComplianceByConfigRuleRequest(params)
  2290  //
  2291  //    err := req.Send()
  2292  //    if err == nil { // resp is now filled
  2293  //        fmt.Println(resp)
  2294  //    }
  2295  //
  2296  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
  2297  func (c *ConfigService) DescribeComplianceByConfigRuleRequest(input *DescribeComplianceByConfigRuleInput) (req *request.Request, output *DescribeComplianceByConfigRuleOutput) {
  2298  	op := &request.Operation{
  2299  		Name:       opDescribeComplianceByConfigRule,
  2300  		HTTPMethod: "POST",
  2301  		HTTPPath:   "/",
  2302  		Paginator: &request.Paginator{
  2303  			InputTokens:     []string{"NextToken"},
  2304  			OutputTokens:    []string{"NextToken"},
  2305  			LimitToken:      "",
  2306  			TruncationToken: "",
  2307  		},
  2308  	}
  2309  
  2310  	if input == nil {
  2311  		input = &DescribeComplianceByConfigRuleInput{}
  2312  	}
  2313  
  2314  	output = &DescribeComplianceByConfigRuleOutput{}
  2315  	req = c.newRequest(op, input, output)
  2316  	return
  2317  }
  2318  
  2319  // DescribeComplianceByConfigRule API operation for AWS Config.
  2320  //
  2321  // Indicates whether the specified Config rules are compliant. If a rule is
  2322  // noncompliant, this action returns the number of Amazon Web Services resources
  2323  // that do not comply with the rule.
  2324  //
  2325  // A rule is compliant if all of the evaluated resources comply with it. It
  2326  // is noncompliant if any of these resources do not comply.
  2327  //
  2328  // If Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA.
  2329  // This result might indicate one of the following conditions:
  2330  //
  2331  //    * Config has never invoked an evaluation for the rule. To check whether
  2332  //    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
  2333  //    and LastFailedInvocationTime.
  2334  //
  2335  //    * The rule's Lambda function is failing to send evaluation results to
  2336  //    Config. Verify that the role you assigned to your configuration recorder
  2337  //    includes the config:PutEvaluations permission. If the rule is a custom
  2338  //    rule, verify that the Lambda execution role includes the config:PutEvaluations
  2339  //    permission.
  2340  //
  2341  //    * The rule's Lambda function has returned NOT_APPLICABLE for all evaluation
  2342  //    results. This can occur if the resources were deleted or removed from
  2343  //    the rule's scope.
  2344  //
  2345  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2346  // with awserr.Error's Code and Message methods to get detailed information about
  2347  // the error.
  2348  //
  2349  // See the AWS API reference guide for AWS Config's
  2350  // API operation DescribeComplianceByConfigRule for usage and error information.
  2351  //
  2352  // Returned Error Types:
  2353  //   * InvalidParameterValueException
  2354  //   One or more of the specified parameters are invalid. Verify that your parameters
  2355  //   are valid and try again.
  2356  //
  2357  //   * NoSuchConfigRuleException
  2358  //   One or more Config rules in the request are invalid. Verify that the rule
  2359  //   names are correct and try again.
  2360  //
  2361  //   * InvalidNextTokenException
  2362  //   The specified next token is invalid. Specify the nextToken string that was
  2363  //   returned in the previous response to get the next page of results.
  2364  //
  2365  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
  2366  func (c *ConfigService) DescribeComplianceByConfigRule(input *DescribeComplianceByConfigRuleInput) (*DescribeComplianceByConfigRuleOutput, error) {
  2367  	req, out := c.DescribeComplianceByConfigRuleRequest(input)
  2368  	return out, req.Send()
  2369  }
  2370  
  2371  // DescribeComplianceByConfigRuleWithContext is the same as DescribeComplianceByConfigRule with the addition of
  2372  // the ability to pass a context and additional request options.
  2373  //
  2374  // See DescribeComplianceByConfigRule for details on how to use this API operation.
  2375  //
  2376  // The context must be non-nil and will be used for request cancellation. If
  2377  // the context is nil a panic will occur. In the future the SDK may create
  2378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2379  // for more information on using Contexts.
  2380  func (c *ConfigService) DescribeComplianceByConfigRuleWithContext(ctx aws.Context, input *DescribeComplianceByConfigRuleInput, opts ...request.Option) (*DescribeComplianceByConfigRuleOutput, error) {
  2381  	req, out := c.DescribeComplianceByConfigRuleRequest(input)
  2382  	req.SetContext(ctx)
  2383  	req.ApplyOptions(opts...)
  2384  	return out, req.Send()
  2385  }
  2386  
  2387  // DescribeComplianceByConfigRulePages iterates over the pages of a DescribeComplianceByConfigRule operation,
  2388  // calling the "fn" function with the response data for each page. To stop
  2389  // iterating, return false from the fn function.
  2390  //
  2391  // See DescribeComplianceByConfigRule method for more information on how to use this operation.
  2392  //
  2393  // Note: This operation can generate multiple requests to a service.
  2394  //
  2395  //    // Example iterating over at most 3 pages of a DescribeComplianceByConfigRule operation.
  2396  //    pageNum := 0
  2397  //    err := client.DescribeComplianceByConfigRulePages(params,
  2398  //        func(page *configservice.DescribeComplianceByConfigRuleOutput, lastPage bool) bool {
  2399  //            pageNum++
  2400  //            fmt.Println(page)
  2401  //            return pageNum <= 3
  2402  //        })
  2403  //
  2404  func (c *ConfigService) DescribeComplianceByConfigRulePages(input *DescribeComplianceByConfigRuleInput, fn func(*DescribeComplianceByConfigRuleOutput, bool) bool) error {
  2405  	return c.DescribeComplianceByConfigRulePagesWithContext(aws.BackgroundContext(), input, fn)
  2406  }
  2407  
  2408  // DescribeComplianceByConfigRulePagesWithContext same as DescribeComplianceByConfigRulePages except
  2409  // it takes a Context and allows setting request options on the pages.
  2410  //
  2411  // The context must be non-nil and will be used for request cancellation. If
  2412  // the context is nil a panic will occur. In the future the SDK may create
  2413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2414  // for more information on using Contexts.
  2415  func (c *ConfigService) DescribeComplianceByConfigRulePagesWithContext(ctx aws.Context, input *DescribeComplianceByConfigRuleInput, fn func(*DescribeComplianceByConfigRuleOutput, bool) bool, opts ...request.Option) error {
  2416  	p := request.Pagination{
  2417  		NewRequest: func() (*request.Request, error) {
  2418  			var inCpy *DescribeComplianceByConfigRuleInput
  2419  			if input != nil {
  2420  				tmp := *input
  2421  				inCpy = &tmp
  2422  			}
  2423  			req, _ := c.DescribeComplianceByConfigRuleRequest(inCpy)
  2424  			req.SetContext(ctx)
  2425  			req.ApplyOptions(opts...)
  2426  			return req, nil
  2427  		},
  2428  	}
  2429  
  2430  	for p.Next() {
  2431  		if !fn(p.Page().(*DescribeComplianceByConfigRuleOutput), !p.HasNextPage()) {
  2432  			break
  2433  		}
  2434  	}
  2435  
  2436  	return p.Err()
  2437  }
  2438  
  2439  const opDescribeComplianceByResource = "DescribeComplianceByResource"
  2440  
  2441  // DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
  2442  // client's request for the DescribeComplianceByResource operation. The "output" return
  2443  // value will be populated with the request's response once the request completes
  2444  // successfully.
  2445  //
  2446  // Use "Send" method on the returned Request to send the API call to the service.
  2447  // the "output" return value is not valid until after Send returns without error.
  2448  //
  2449  // See DescribeComplianceByResource for more information on using the DescribeComplianceByResource
  2450  // API call, and error handling.
  2451  //
  2452  // This method is useful when you want to inject custom logic or configuration
  2453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2454  //
  2455  //
  2456  //    // Example sending a request using the DescribeComplianceByResourceRequest method.
  2457  //    req, resp := client.DescribeComplianceByResourceRequest(params)
  2458  //
  2459  //    err := req.Send()
  2460  //    if err == nil { // resp is now filled
  2461  //        fmt.Println(resp)
  2462  //    }
  2463  //
  2464  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
  2465  func (c *ConfigService) DescribeComplianceByResourceRequest(input *DescribeComplianceByResourceInput) (req *request.Request, output *DescribeComplianceByResourceOutput) {
  2466  	op := &request.Operation{
  2467  		Name:       opDescribeComplianceByResource,
  2468  		HTTPMethod: "POST",
  2469  		HTTPPath:   "/",
  2470  		Paginator: &request.Paginator{
  2471  			InputTokens:     []string{"NextToken"},
  2472  			OutputTokens:    []string{"NextToken"},
  2473  			LimitToken:      "Limit",
  2474  			TruncationToken: "",
  2475  		},
  2476  	}
  2477  
  2478  	if input == nil {
  2479  		input = &DescribeComplianceByResourceInput{}
  2480  	}
  2481  
  2482  	output = &DescribeComplianceByResourceOutput{}
  2483  	req = c.newRequest(op, input, output)
  2484  	return
  2485  }
  2486  
  2487  // DescribeComplianceByResource API operation for AWS Config.
  2488  //
  2489  // Indicates whether the specified Amazon Web Services resources are compliant.
  2490  // If a resource is noncompliant, this action returns the number of Config rules
  2491  // that the resource does not comply with.
  2492  //
  2493  // A resource is compliant if it complies with all the Config rules that evaluate
  2494  // it. It is noncompliant if it does not comply with one or more of these rules.
  2495  //
  2496  // If Config has no current evaluation results for the resource, it returns
  2497  // INSUFFICIENT_DATA. This result might indicate one of the following conditions
  2498  // about the rules that evaluate the resource:
  2499  //
  2500  //    * Config has never invoked an evaluation for the rule. To check whether
  2501  //    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
  2502  //    and LastFailedInvocationTime.
  2503  //
  2504  //    * The rule's Lambda function is failing to send evaluation results to
  2505  //    Config. Verify that the role that you assigned to your configuration recorder
  2506  //    includes the config:PutEvaluations permission. If the rule is a custom
  2507  //    rule, verify that the Lambda execution role includes the config:PutEvaluations
  2508  //    permission.
  2509  //
  2510  //    * The rule's Lambda function has returned NOT_APPLICABLE for all evaluation
  2511  //    results. This can occur if the resources were deleted or removed from
  2512  //    the rule's scope.
  2513  //
  2514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2515  // with awserr.Error's Code and Message methods to get detailed information about
  2516  // the error.
  2517  //
  2518  // See the AWS API reference guide for AWS Config's
  2519  // API operation DescribeComplianceByResource for usage and error information.
  2520  //
  2521  // Returned Error Types:
  2522  //   * InvalidParameterValueException
  2523  //   One or more of the specified parameters are invalid. Verify that your parameters
  2524  //   are valid and try again.
  2525  //
  2526  //   * InvalidNextTokenException
  2527  //   The specified next token is invalid. Specify the nextToken string that was
  2528  //   returned in the previous response to get the next page of results.
  2529  //
  2530  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
  2531  func (c *ConfigService) DescribeComplianceByResource(input *DescribeComplianceByResourceInput) (*DescribeComplianceByResourceOutput, error) {
  2532  	req, out := c.DescribeComplianceByResourceRequest(input)
  2533  	return out, req.Send()
  2534  }
  2535  
  2536  // DescribeComplianceByResourceWithContext is the same as DescribeComplianceByResource with the addition of
  2537  // the ability to pass a context and additional request options.
  2538  //
  2539  // See DescribeComplianceByResource for details on how to use this API operation.
  2540  //
  2541  // The context must be non-nil and will be used for request cancellation. If
  2542  // the context is nil a panic will occur. In the future the SDK may create
  2543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2544  // for more information on using Contexts.
  2545  func (c *ConfigService) DescribeComplianceByResourceWithContext(ctx aws.Context, input *DescribeComplianceByResourceInput, opts ...request.Option) (*DescribeComplianceByResourceOutput, error) {
  2546  	req, out := c.DescribeComplianceByResourceRequest(input)
  2547  	req.SetContext(ctx)
  2548  	req.ApplyOptions(opts...)
  2549  	return out, req.Send()
  2550  }
  2551  
  2552  // DescribeComplianceByResourcePages iterates over the pages of a DescribeComplianceByResource operation,
  2553  // calling the "fn" function with the response data for each page. To stop
  2554  // iterating, return false from the fn function.
  2555  //
  2556  // See DescribeComplianceByResource method for more information on how to use this operation.
  2557  //
  2558  // Note: This operation can generate multiple requests to a service.
  2559  //
  2560  //    // Example iterating over at most 3 pages of a DescribeComplianceByResource operation.
  2561  //    pageNum := 0
  2562  //    err := client.DescribeComplianceByResourcePages(params,
  2563  //        func(page *configservice.DescribeComplianceByResourceOutput, lastPage bool) bool {
  2564  //            pageNum++
  2565  //            fmt.Println(page)
  2566  //            return pageNum <= 3
  2567  //        })
  2568  //
  2569  func (c *ConfigService) DescribeComplianceByResourcePages(input *DescribeComplianceByResourceInput, fn func(*DescribeComplianceByResourceOutput, bool) bool) error {
  2570  	return c.DescribeComplianceByResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2571  }
  2572  
  2573  // DescribeComplianceByResourcePagesWithContext same as DescribeComplianceByResourcePages except
  2574  // it takes a Context and allows setting request options on the pages.
  2575  //
  2576  // The context must be non-nil and will be used for request cancellation. If
  2577  // the context is nil a panic will occur. In the future the SDK may create
  2578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2579  // for more information on using Contexts.
  2580  func (c *ConfigService) DescribeComplianceByResourcePagesWithContext(ctx aws.Context, input *DescribeComplianceByResourceInput, fn func(*DescribeComplianceByResourceOutput, bool) bool, opts ...request.Option) error {
  2581  	p := request.Pagination{
  2582  		NewRequest: func() (*request.Request, error) {
  2583  			var inCpy *DescribeComplianceByResourceInput
  2584  			if input != nil {
  2585  				tmp := *input
  2586  				inCpy = &tmp
  2587  			}
  2588  			req, _ := c.DescribeComplianceByResourceRequest(inCpy)
  2589  			req.SetContext(ctx)
  2590  			req.ApplyOptions(opts...)
  2591  			return req, nil
  2592  		},
  2593  	}
  2594  
  2595  	for p.Next() {
  2596  		if !fn(p.Page().(*DescribeComplianceByResourceOutput), !p.HasNextPage()) {
  2597  			break
  2598  		}
  2599  	}
  2600  
  2601  	return p.Err()
  2602  }
  2603  
  2604  const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
  2605  
  2606  // DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
  2607  // client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
  2608  // value will be populated with the request's response once the request completes
  2609  // successfully.
  2610  //
  2611  // Use "Send" method on the returned Request to send the API call to the service.
  2612  // the "output" return value is not valid until after Send returns without error.
  2613  //
  2614  // See DescribeConfigRuleEvaluationStatus for more information on using the DescribeConfigRuleEvaluationStatus
  2615  // API call, and error handling.
  2616  //
  2617  // This method is useful when you want to inject custom logic or configuration
  2618  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2619  //
  2620  //
  2621  //    // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
  2622  //    req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
  2623  //
  2624  //    err := req.Send()
  2625  //    if err == nil { // resp is now filled
  2626  //        fmt.Println(resp)
  2627  //    }
  2628  //
  2629  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
  2630  func (c *ConfigService) DescribeConfigRuleEvaluationStatusRequest(input *DescribeConfigRuleEvaluationStatusInput) (req *request.Request, output *DescribeConfigRuleEvaluationStatusOutput) {
  2631  	op := &request.Operation{
  2632  		Name:       opDescribeConfigRuleEvaluationStatus,
  2633  		HTTPMethod: "POST",
  2634  		HTTPPath:   "/",
  2635  		Paginator: &request.Paginator{
  2636  			InputTokens:     []string{"NextToken"},
  2637  			OutputTokens:    []string{"NextToken"},
  2638  			LimitToken:      "Limit",
  2639  			TruncationToken: "",
  2640  		},
  2641  	}
  2642  
  2643  	if input == nil {
  2644  		input = &DescribeConfigRuleEvaluationStatusInput{}
  2645  	}
  2646  
  2647  	output = &DescribeConfigRuleEvaluationStatusOutput{}
  2648  	req = c.newRequest(op, input, output)
  2649  	return
  2650  }
  2651  
  2652  // DescribeConfigRuleEvaluationStatus API operation for AWS Config.
  2653  //
  2654  // Returns status information for each of your Config managed rules. The status
  2655  // includes information such as the last time Config invoked the rule, the last
  2656  // time Config failed to invoke the rule, and the related error for the last
  2657  // failure.
  2658  //
  2659  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2660  // with awserr.Error's Code and Message methods to get detailed information about
  2661  // the error.
  2662  //
  2663  // See the AWS API reference guide for AWS Config's
  2664  // API operation DescribeConfigRuleEvaluationStatus for usage and error information.
  2665  //
  2666  // Returned Error Types:
  2667  //   * NoSuchConfigRuleException
  2668  //   One or more Config rules in the request are invalid. Verify that the rule
  2669  //   names are correct and try again.
  2670  //
  2671  //   * InvalidParameterValueException
  2672  //   One or more of the specified parameters are invalid. Verify that your parameters
  2673  //   are valid and try again.
  2674  //
  2675  //   * InvalidNextTokenException
  2676  //   The specified next token is invalid. Specify the nextToken string that was
  2677  //   returned in the previous response to get the next page of results.
  2678  //
  2679  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
  2680  func (c *ConfigService) DescribeConfigRuleEvaluationStatus(input *DescribeConfigRuleEvaluationStatusInput) (*DescribeConfigRuleEvaluationStatusOutput, error) {
  2681  	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
  2682  	return out, req.Send()
  2683  }
  2684  
  2685  // DescribeConfigRuleEvaluationStatusWithContext is the same as DescribeConfigRuleEvaluationStatus with the addition of
  2686  // the ability to pass a context and additional request options.
  2687  //
  2688  // See DescribeConfigRuleEvaluationStatus for details on how to use this API operation.
  2689  //
  2690  // The context must be non-nil and will be used for request cancellation. If
  2691  // the context is nil a panic will occur. In the future the SDK may create
  2692  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2693  // for more information on using Contexts.
  2694  func (c *ConfigService) DescribeConfigRuleEvaluationStatusWithContext(ctx aws.Context, input *DescribeConfigRuleEvaluationStatusInput, opts ...request.Option) (*DescribeConfigRuleEvaluationStatusOutput, error) {
  2695  	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
  2696  	req.SetContext(ctx)
  2697  	req.ApplyOptions(opts...)
  2698  	return out, req.Send()
  2699  }
  2700  
  2701  // DescribeConfigRuleEvaluationStatusPages iterates over the pages of a DescribeConfigRuleEvaluationStatus operation,
  2702  // calling the "fn" function with the response data for each page. To stop
  2703  // iterating, return false from the fn function.
  2704  //
  2705  // See DescribeConfigRuleEvaluationStatus method for more information on how to use this operation.
  2706  //
  2707  // Note: This operation can generate multiple requests to a service.
  2708  //
  2709  //    // Example iterating over at most 3 pages of a DescribeConfigRuleEvaluationStatus operation.
  2710  //    pageNum := 0
  2711  //    err := client.DescribeConfigRuleEvaluationStatusPages(params,
  2712  //        func(page *configservice.DescribeConfigRuleEvaluationStatusOutput, lastPage bool) bool {
  2713  //            pageNum++
  2714  //            fmt.Println(page)
  2715  //            return pageNum <= 3
  2716  //        })
  2717  //
  2718  func (c *ConfigService) DescribeConfigRuleEvaluationStatusPages(input *DescribeConfigRuleEvaluationStatusInput, fn func(*DescribeConfigRuleEvaluationStatusOutput, bool) bool) error {
  2719  	return c.DescribeConfigRuleEvaluationStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  2720  }
  2721  
  2722  // DescribeConfigRuleEvaluationStatusPagesWithContext same as DescribeConfigRuleEvaluationStatusPages except
  2723  // it takes a Context and allows setting request options on the pages.
  2724  //
  2725  // The context must be non-nil and will be used for request cancellation. If
  2726  // the context is nil a panic will occur. In the future the SDK may create
  2727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2728  // for more information on using Contexts.
  2729  func (c *ConfigService) DescribeConfigRuleEvaluationStatusPagesWithContext(ctx aws.Context, input *DescribeConfigRuleEvaluationStatusInput, fn func(*DescribeConfigRuleEvaluationStatusOutput, bool) bool, opts ...request.Option) error {
  2730  	p := request.Pagination{
  2731  		NewRequest: func() (*request.Request, error) {
  2732  			var inCpy *DescribeConfigRuleEvaluationStatusInput
  2733  			if input != nil {
  2734  				tmp := *input
  2735  				inCpy = &tmp
  2736  			}
  2737  			req, _ := c.DescribeConfigRuleEvaluationStatusRequest(inCpy)
  2738  			req.SetContext(ctx)
  2739  			req.ApplyOptions(opts...)
  2740  			return req, nil
  2741  		},
  2742  	}
  2743  
  2744  	for p.Next() {
  2745  		if !fn(p.Page().(*DescribeConfigRuleEvaluationStatusOutput), !p.HasNextPage()) {
  2746  			break
  2747  		}
  2748  	}
  2749  
  2750  	return p.Err()
  2751  }
  2752  
  2753  const opDescribeConfigRules = "DescribeConfigRules"
  2754  
  2755  // DescribeConfigRulesRequest generates a "aws/request.Request" representing the
  2756  // client's request for the DescribeConfigRules operation. The "output" return
  2757  // value will be populated with the request's response once the request completes
  2758  // successfully.
  2759  //
  2760  // Use "Send" method on the returned Request to send the API call to the service.
  2761  // the "output" return value is not valid until after Send returns without error.
  2762  //
  2763  // See DescribeConfigRules for more information on using the DescribeConfigRules
  2764  // API call, and error handling.
  2765  //
  2766  // This method is useful when you want to inject custom logic or configuration
  2767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2768  //
  2769  //
  2770  //    // Example sending a request using the DescribeConfigRulesRequest method.
  2771  //    req, resp := client.DescribeConfigRulesRequest(params)
  2772  //
  2773  //    err := req.Send()
  2774  //    if err == nil { // resp is now filled
  2775  //        fmt.Println(resp)
  2776  //    }
  2777  //
  2778  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
  2779  func (c *ConfigService) DescribeConfigRulesRequest(input *DescribeConfigRulesInput) (req *request.Request, output *DescribeConfigRulesOutput) {
  2780  	op := &request.Operation{
  2781  		Name:       opDescribeConfigRules,
  2782  		HTTPMethod: "POST",
  2783  		HTTPPath:   "/",
  2784  		Paginator: &request.Paginator{
  2785  			InputTokens:     []string{"NextToken"},
  2786  			OutputTokens:    []string{"NextToken"},
  2787  			LimitToken:      "",
  2788  			TruncationToken: "",
  2789  		},
  2790  	}
  2791  
  2792  	if input == nil {
  2793  		input = &DescribeConfigRulesInput{}
  2794  	}
  2795  
  2796  	output = &DescribeConfigRulesOutput{}
  2797  	req = c.newRequest(op, input, output)
  2798  	return
  2799  }
  2800  
  2801  // DescribeConfigRules API operation for AWS Config.
  2802  //
  2803  // Returns details about your Config rules.
  2804  //
  2805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2806  // with awserr.Error's Code and Message methods to get detailed information about
  2807  // the error.
  2808  //
  2809  // See the AWS API reference guide for AWS Config's
  2810  // API operation DescribeConfigRules for usage and error information.
  2811  //
  2812  // Returned Error Types:
  2813  //   * NoSuchConfigRuleException
  2814  //   One or more Config rules in the request are invalid. Verify that the rule
  2815  //   names are correct and try again.
  2816  //
  2817  //   * InvalidNextTokenException
  2818  //   The specified next token is invalid. Specify the nextToken string that was
  2819  //   returned in the previous response to get the next page of results.
  2820  //
  2821  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
  2822  func (c *ConfigService) DescribeConfigRules(input *DescribeConfigRulesInput) (*DescribeConfigRulesOutput, error) {
  2823  	req, out := c.DescribeConfigRulesRequest(input)
  2824  	return out, req.Send()
  2825  }
  2826  
  2827  // DescribeConfigRulesWithContext is the same as DescribeConfigRules with the addition of
  2828  // the ability to pass a context and additional request options.
  2829  //
  2830  // See DescribeConfigRules for details on how to use this API operation.
  2831  //
  2832  // The context must be non-nil and will be used for request cancellation. If
  2833  // the context is nil a panic will occur. In the future the SDK may create
  2834  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2835  // for more information on using Contexts.
  2836  func (c *ConfigService) DescribeConfigRulesWithContext(ctx aws.Context, input *DescribeConfigRulesInput, opts ...request.Option) (*DescribeConfigRulesOutput, error) {
  2837  	req, out := c.DescribeConfigRulesRequest(input)
  2838  	req.SetContext(ctx)
  2839  	req.ApplyOptions(opts...)
  2840  	return out, req.Send()
  2841  }
  2842  
  2843  // DescribeConfigRulesPages iterates over the pages of a DescribeConfigRules operation,
  2844  // calling the "fn" function with the response data for each page. To stop
  2845  // iterating, return false from the fn function.
  2846  //
  2847  // See DescribeConfigRules method for more information on how to use this operation.
  2848  //
  2849  // Note: This operation can generate multiple requests to a service.
  2850  //
  2851  //    // Example iterating over at most 3 pages of a DescribeConfigRules operation.
  2852  //    pageNum := 0
  2853  //    err := client.DescribeConfigRulesPages(params,
  2854  //        func(page *configservice.DescribeConfigRulesOutput, lastPage bool) bool {
  2855  //            pageNum++
  2856  //            fmt.Println(page)
  2857  //            return pageNum <= 3
  2858  //        })
  2859  //
  2860  func (c *ConfigService) DescribeConfigRulesPages(input *DescribeConfigRulesInput, fn func(*DescribeConfigRulesOutput, bool) bool) error {
  2861  	return c.DescribeConfigRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  2862  }
  2863  
  2864  // DescribeConfigRulesPagesWithContext same as DescribeConfigRulesPages except
  2865  // it takes a Context and allows setting request options on the pages.
  2866  //
  2867  // The context must be non-nil and will be used for request cancellation. If
  2868  // the context is nil a panic will occur. In the future the SDK may create
  2869  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2870  // for more information on using Contexts.
  2871  func (c *ConfigService) DescribeConfigRulesPagesWithContext(ctx aws.Context, input *DescribeConfigRulesInput, fn func(*DescribeConfigRulesOutput, bool) bool, opts ...request.Option) error {
  2872  	p := request.Pagination{
  2873  		NewRequest: func() (*request.Request, error) {
  2874  			var inCpy *DescribeConfigRulesInput
  2875  			if input != nil {
  2876  				tmp := *input
  2877  				inCpy = &tmp
  2878  			}
  2879  			req, _ := c.DescribeConfigRulesRequest(inCpy)
  2880  			req.SetContext(ctx)
  2881  			req.ApplyOptions(opts...)
  2882  			return req, nil
  2883  		},
  2884  	}
  2885  
  2886  	for p.Next() {
  2887  		if !fn(p.Page().(*DescribeConfigRulesOutput), !p.HasNextPage()) {
  2888  			break
  2889  		}
  2890  	}
  2891  
  2892  	return p.Err()
  2893  }
  2894  
  2895  const opDescribeConfigurationAggregatorSourcesStatus = "DescribeConfigurationAggregatorSourcesStatus"
  2896  
  2897  // DescribeConfigurationAggregatorSourcesStatusRequest generates a "aws/request.Request" representing the
  2898  // client's request for the DescribeConfigurationAggregatorSourcesStatus operation. The "output" return
  2899  // value will be populated with the request's response once the request completes
  2900  // successfully.
  2901  //
  2902  // Use "Send" method on the returned Request to send the API call to the service.
  2903  // the "output" return value is not valid until after Send returns without error.
  2904  //
  2905  // See DescribeConfigurationAggregatorSourcesStatus for more information on using the DescribeConfigurationAggregatorSourcesStatus
  2906  // API call, and error handling.
  2907  //
  2908  // This method is useful when you want to inject custom logic or configuration
  2909  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2910  //
  2911  //
  2912  //    // Example sending a request using the DescribeConfigurationAggregatorSourcesStatusRequest method.
  2913  //    req, resp := client.DescribeConfigurationAggregatorSourcesStatusRequest(params)
  2914  //
  2915  //    err := req.Send()
  2916  //    if err == nil { // resp is now filled
  2917  //        fmt.Println(resp)
  2918  //    }
  2919  //
  2920  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
  2921  func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusRequest(input *DescribeConfigurationAggregatorSourcesStatusInput) (req *request.Request, output *DescribeConfigurationAggregatorSourcesStatusOutput) {
  2922  	op := &request.Operation{
  2923  		Name:       opDescribeConfigurationAggregatorSourcesStatus,
  2924  		HTTPMethod: "POST",
  2925  		HTTPPath:   "/",
  2926  		Paginator: &request.Paginator{
  2927  			InputTokens:     []string{"NextToken"},
  2928  			OutputTokens:    []string{"NextToken"},
  2929  			LimitToken:      "Limit",
  2930  			TruncationToken: "",
  2931  		},
  2932  	}
  2933  
  2934  	if input == nil {
  2935  		input = &DescribeConfigurationAggregatorSourcesStatusInput{}
  2936  	}
  2937  
  2938  	output = &DescribeConfigurationAggregatorSourcesStatusOutput{}
  2939  	req = c.newRequest(op, input, output)
  2940  	return
  2941  }
  2942  
  2943  // DescribeConfigurationAggregatorSourcesStatus API operation for AWS Config.
  2944  //
  2945  // Returns status information for sources within an aggregator. The status includes
  2946  // information about the last time Config verified authorization between the
  2947  // source account and an aggregator account. In case of a failure, the status
  2948  // contains the related error code or message.
  2949  //
  2950  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2951  // with awserr.Error's Code and Message methods to get detailed information about
  2952  // the error.
  2953  //
  2954  // See the AWS API reference guide for AWS Config's
  2955  // API operation DescribeConfigurationAggregatorSourcesStatus for usage and error information.
  2956  //
  2957  // Returned Error Types:
  2958  //   * InvalidParameterValueException
  2959  //   One or more of the specified parameters are invalid. Verify that your parameters
  2960  //   are valid and try again.
  2961  //
  2962  //   * NoSuchConfigurationAggregatorException
  2963  //   You have specified a configuration aggregator that does not exist.
  2964  //
  2965  //   * InvalidNextTokenException
  2966  //   The specified next token is invalid. Specify the nextToken string that was
  2967  //   returned in the previous response to get the next page of results.
  2968  //
  2969  //   * InvalidLimitException
  2970  //   The specified limit is outside the allowable range.
  2971  //
  2972  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
  2973  func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatus(input *DescribeConfigurationAggregatorSourcesStatusInput) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
  2974  	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
  2975  	return out, req.Send()
  2976  }
  2977  
  2978  // DescribeConfigurationAggregatorSourcesStatusWithContext is the same as DescribeConfigurationAggregatorSourcesStatus with the addition of
  2979  // the ability to pass a context and additional request options.
  2980  //
  2981  // See DescribeConfigurationAggregatorSourcesStatus for details on how to use this API operation.
  2982  //
  2983  // The context must be non-nil and will be used for request cancellation. If
  2984  // the context is nil a panic will occur. In the future the SDK may create
  2985  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2986  // for more information on using Contexts.
  2987  func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorSourcesStatusInput, opts ...request.Option) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
  2988  	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
  2989  	req.SetContext(ctx)
  2990  	req.ApplyOptions(opts...)
  2991  	return out, req.Send()
  2992  }
  2993  
  2994  // DescribeConfigurationAggregatorSourcesStatusPages iterates over the pages of a DescribeConfigurationAggregatorSourcesStatus operation,
  2995  // calling the "fn" function with the response data for each page. To stop
  2996  // iterating, return false from the fn function.
  2997  //
  2998  // See DescribeConfigurationAggregatorSourcesStatus method for more information on how to use this operation.
  2999  //
  3000  // Note: This operation can generate multiple requests to a service.
  3001  //
  3002  //    // Example iterating over at most 3 pages of a DescribeConfigurationAggregatorSourcesStatus operation.
  3003  //    pageNum := 0
  3004  //    err := client.DescribeConfigurationAggregatorSourcesStatusPages(params,
  3005  //        func(page *configservice.DescribeConfigurationAggregatorSourcesStatusOutput, lastPage bool) bool {
  3006  //            pageNum++
  3007  //            fmt.Println(page)
  3008  //            return pageNum <= 3
  3009  //        })
  3010  //
  3011  func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusPages(input *DescribeConfigurationAggregatorSourcesStatusInput, fn func(*DescribeConfigurationAggregatorSourcesStatusOutput, bool) bool) error {
  3012  	return c.DescribeConfigurationAggregatorSourcesStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  3013  }
  3014  
  3015  // DescribeConfigurationAggregatorSourcesStatusPagesWithContext same as DescribeConfigurationAggregatorSourcesStatusPages except
  3016  // it takes a Context and allows setting request options on the pages.
  3017  //
  3018  // The context must be non-nil and will be used for request cancellation. If
  3019  // the context is nil a panic will occur. In the future the SDK may create
  3020  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3021  // for more information on using Contexts.
  3022  func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusPagesWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorSourcesStatusInput, fn func(*DescribeConfigurationAggregatorSourcesStatusOutput, bool) bool, opts ...request.Option) error {
  3023  	p := request.Pagination{
  3024  		NewRequest: func() (*request.Request, error) {
  3025  			var inCpy *DescribeConfigurationAggregatorSourcesStatusInput
  3026  			if input != nil {
  3027  				tmp := *input
  3028  				inCpy = &tmp
  3029  			}
  3030  			req, _ := c.DescribeConfigurationAggregatorSourcesStatusRequest(inCpy)
  3031  			req.SetContext(ctx)
  3032  			req.ApplyOptions(opts...)
  3033  			return req, nil
  3034  		},
  3035  	}
  3036  
  3037  	for p.Next() {
  3038  		if !fn(p.Page().(*DescribeConfigurationAggregatorSourcesStatusOutput), !p.HasNextPage()) {
  3039  			break
  3040  		}
  3041  	}
  3042  
  3043  	return p.Err()
  3044  }
  3045  
  3046  const opDescribeConfigurationAggregators = "DescribeConfigurationAggregators"
  3047  
  3048  // DescribeConfigurationAggregatorsRequest generates a "aws/request.Request" representing the
  3049  // client's request for the DescribeConfigurationAggregators operation. The "output" return
  3050  // value will be populated with the request's response once the request completes
  3051  // successfully.
  3052  //
  3053  // Use "Send" method on the returned Request to send the API call to the service.
  3054  // the "output" return value is not valid until after Send returns without error.
  3055  //
  3056  // See DescribeConfigurationAggregators for more information on using the DescribeConfigurationAggregators
  3057  // API call, and error handling.
  3058  //
  3059  // This method is useful when you want to inject custom logic or configuration
  3060  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3061  //
  3062  //
  3063  //    // Example sending a request using the DescribeConfigurationAggregatorsRequest method.
  3064  //    req, resp := client.DescribeConfigurationAggregatorsRequest(params)
  3065  //
  3066  //    err := req.Send()
  3067  //    if err == nil { // resp is now filled
  3068  //        fmt.Println(resp)
  3069  //    }
  3070  //
  3071  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
  3072  func (c *ConfigService) DescribeConfigurationAggregatorsRequest(input *DescribeConfigurationAggregatorsInput) (req *request.Request, output *DescribeConfigurationAggregatorsOutput) {
  3073  	op := &request.Operation{
  3074  		Name:       opDescribeConfigurationAggregators,
  3075  		HTTPMethod: "POST",
  3076  		HTTPPath:   "/",
  3077  		Paginator: &request.Paginator{
  3078  			InputTokens:     []string{"NextToken"},
  3079  			OutputTokens:    []string{"NextToken"},
  3080  			LimitToken:      "Limit",
  3081  			TruncationToken: "",
  3082  		},
  3083  	}
  3084  
  3085  	if input == nil {
  3086  		input = &DescribeConfigurationAggregatorsInput{}
  3087  	}
  3088  
  3089  	output = &DescribeConfigurationAggregatorsOutput{}
  3090  	req = c.newRequest(op, input, output)
  3091  	return
  3092  }
  3093  
  3094  // DescribeConfigurationAggregators API operation for AWS Config.
  3095  //
  3096  // Returns the details of one or more configuration aggregators. If the configuration
  3097  // aggregator is not specified, this action returns the details for all the
  3098  // configuration aggregators associated with the account.
  3099  //
  3100  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3101  // with awserr.Error's Code and Message methods to get detailed information about
  3102  // the error.
  3103  //
  3104  // See the AWS API reference guide for AWS Config's
  3105  // API operation DescribeConfigurationAggregators for usage and error information.
  3106  //
  3107  // Returned Error Types:
  3108  //   * InvalidParameterValueException
  3109  //   One or more of the specified parameters are invalid. Verify that your parameters
  3110  //   are valid and try again.
  3111  //
  3112  //   * NoSuchConfigurationAggregatorException
  3113  //   You have specified a configuration aggregator that does not exist.
  3114  //
  3115  //   * InvalidNextTokenException
  3116  //   The specified next token is invalid. Specify the nextToken string that was
  3117  //   returned in the previous response to get the next page of results.
  3118  //
  3119  //   * InvalidLimitException
  3120  //   The specified limit is outside the allowable range.
  3121  //
  3122  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
  3123  func (c *ConfigService) DescribeConfigurationAggregators(input *DescribeConfigurationAggregatorsInput) (*DescribeConfigurationAggregatorsOutput, error) {
  3124  	req, out := c.DescribeConfigurationAggregatorsRequest(input)
  3125  	return out, req.Send()
  3126  }
  3127  
  3128  // DescribeConfigurationAggregatorsWithContext is the same as DescribeConfigurationAggregators with the addition of
  3129  // the ability to pass a context and additional request options.
  3130  //
  3131  // See DescribeConfigurationAggregators for details on how to use this API operation.
  3132  //
  3133  // The context must be non-nil and will be used for request cancellation. If
  3134  // the context is nil a panic will occur. In the future the SDK may create
  3135  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3136  // for more information on using Contexts.
  3137  func (c *ConfigService) DescribeConfigurationAggregatorsWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorsInput, opts ...request.Option) (*DescribeConfigurationAggregatorsOutput, error) {
  3138  	req, out := c.DescribeConfigurationAggregatorsRequest(input)
  3139  	req.SetContext(ctx)
  3140  	req.ApplyOptions(opts...)
  3141  	return out, req.Send()
  3142  }
  3143  
  3144  // DescribeConfigurationAggregatorsPages iterates over the pages of a DescribeConfigurationAggregators operation,
  3145  // calling the "fn" function with the response data for each page. To stop
  3146  // iterating, return false from the fn function.
  3147  //
  3148  // See DescribeConfigurationAggregators method for more information on how to use this operation.
  3149  //
  3150  // Note: This operation can generate multiple requests to a service.
  3151  //
  3152  //    // Example iterating over at most 3 pages of a DescribeConfigurationAggregators operation.
  3153  //    pageNum := 0
  3154  //    err := client.DescribeConfigurationAggregatorsPages(params,
  3155  //        func(page *configservice.DescribeConfigurationAggregatorsOutput, lastPage bool) bool {
  3156  //            pageNum++
  3157  //            fmt.Println(page)
  3158  //            return pageNum <= 3
  3159  //        })
  3160  //
  3161  func (c *ConfigService) DescribeConfigurationAggregatorsPages(input *DescribeConfigurationAggregatorsInput, fn func(*DescribeConfigurationAggregatorsOutput, bool) bool) error {
  3162  	return c.DescribeConfigurationAggregatorsPagesWithContext(aws.BackgroundContext(), input, fn)
  3163  }
  3164  
  3165  // DescribeConfigurationAggregatorsPagesWithContext same as DescribeConfigurationAggregatorsPages except
  3166  // it takes a Context and allows setting request options on the pages.
  3167  //
  3168  // The context must be non-nil and will be used for request cancellation. If
  3169  // the context is nil a panic will occur. In the future the SDK may create
  3170  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3171  // for more information on using Contexts.
  3172  func (c *ConfigService) DescribeConfigurationAggregatorsPagesWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorsInput, fn func(*DescribeConfigurationAggregatorsOutput, bool) bool, opts ...request.Option) error {
  3173  	p := request.Pagination{
  3174  		NewRequest: func() (*request.Request, error) {
  3175  			var inCpy *DescribeConfigurationAggregatorsInput
  3176  			if input != nil {
  3177  				tmp := *input
  3178  				inCpy = &tmp
  3179  			}
  3180  			req, _ := c.DescribeConfigurationAggregatorsRequest(inCpy)
  3181  			req.SetContext(ctx)
  3182  			req.ApplyOptions(opts...)
  3183  			return req, nil
  3184  		},
  3185  	}
  3186  
  3187  	for p.Next() {
  3188  		if !fn(p.Page().(*DescribeConfigurationAggregatorsOutput), !p.HasNextPage()) {
  3189  			break
  3190  		}
  3191  	}
  3192  
  3193  	return p.Err()
  3194  }
  3195  
  3196  const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
  3197  
  3198  // DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
  3199  // client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
  3200  // value will be populated with the request's response once the request completes
  3201  // successfully.
  3202  //
  3203  // Use "Send" method on the returned Request to send the API call to the service.
  3204  // the "output" return value is not valid until after Send returns without error.
  3205  //
  3206  // See DescribeConfigurationRecorderStatus for more information on using the DescribeConfigurationRecorderStatus
  3207  // API call, and error handling.
  3208  //
  3209  // This method is useful when you want to inject custom logic or configuration
  3210  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3211  //
  3212  //
  3213  //    // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
  3214  //    req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
  3215  //
  3216  //    err := req.Send()
  3217  //    if err == nil { // resp is now filled
  3218  //        fmt.Println(resp)
  3219  //    }
  3220  //
  3221  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
  3222  func (c *ConfigService) DescribeConfigurationRecorderStatusRequest(input *DescribeConfigurationRecorderStatusInput) (req *request.Request, output *DescribeConfigurationRecorderStatusOutput) {
  3223  	op := &request.Operation{
  3224  		Name:       opDescribeConfigurationRecorderStatus,
  3225  		HTTPMethod: "POST",
  3226  		HTTPPath:   "/",
  3227  	}
  3228  
  3229  	if input == nil {
  3230  		input = &DescribeConfigurationRecorderStatusInput{}
  3231  	}
  3232  
  3233  	output = &DescribeConfigurationRecorderStatusOutput{}
  3234  	req = c.newRequest(op, input, output)
  3235  	return
  3236  }
  3237  
  3238  // DescribeConfigurationRecorderStatus API operation for AWS Config.
  3239  //
  3240  // Returns the current status of the specified configuration recorder. If a
  3241  // configuration recorder is not specified, this action returns the status of
  3242  // all configuration recorders associated with the account.
  3243  //
  3244  // Currently, you can specify only one configuration recorder per region in
  3245  // your account.
  3246  //
  3247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3248  // with awserr.Error's Code and Message methods to get detailed information about
  3249  // the error.
  3250  //
  3251  // See the AWS API reference guide for AWS Config's
  3252  // API operation DescribeConfigurationRecorderStatus for usage and error information.
  3253  //
  3254  // Returned Error Types:
  3255  //   * NoSuchConfigurationRecorderException
  3256  //   You have specified a configuration recorder that does not exist.
  3257  //
  3258  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
  3259  func (c *ConfigService) DescribeConfigurationRecorderStatus(input *DescribeConfigurationRecorderStatusInput) (*DescribeConfigurationRecorderStatusOutput, error) {
  3260  	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
  3261  	return out, req.Send()
  3262  }
  3263  
  3264  // DescribeConfigurationRecorderStatusWithContext is the same as DescribeConfigurationRecorderStatus with the addition of
  3265  // the ability to pass a context and additional request options.
  3266  //
  3267  // See DescribeConfigurationRecorderStatus for details on how to use this API operation.
  3268  //
  3269  // The context must be non-nil and will be used for request cancellation. If
  3270  // the context is nil a panic will occur. In the future the SDK may create
  3271  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3272  // for more information on using Contexts.
  3273  func (c *ConfigService) DescribeConfigurationRecorderStatusWithContext(ctx aws.Context, input *DescribeConfigurationRecorderStatusInput, opts ...request.Option) (*DescribeConfigurationRecorderStatusOutput, error) {
  3274  	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
  3275  	req.SetContext(ctx)
  3276  	req.ApplyOptions(opts...)
  3277  	return out, req.Send()
  3278  }
  3279  
  3280  const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
  3281  
  3282  // DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
  3283  // client's request for the DescribeConfigurationRecorders operation. The "output" return
  3284  // value will be populated with the request's response once the request completes
  3285  // successfully.
  3286  //
  3287  // Use "Send" method on the returned Request to send the API call to the service.
  3288  // the "output" return value is not valid until after Send returns without error.
  3289  //
  3290  // See DescribeConfigurationRecorders for more information on using the DescribeConfigurationRecorders
  3291  // API call, and error handling.
  3292  //
  3293  // This method is useful when you want to inject custom logic or configuration
  3294  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3295  //
  3296  //
  3297  //    // Example sending a request using the DescribeConfigurationRecordersRequest method.
  3298  //    req, resp := client.DescribeConfigurationRecordersRequest(params)
  3299  //
  3300  //    err := req.Send()
  3301  //    if err == nil { // resp is now filled
  3302  //        fmt.Println(resp)
  3303  //    }
  3304  //
  3305  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
  3306  func (c *ConfigService) DescribeConfigurationRecordersRequest(input *DescribeConfigurationRecordersInput) (req *request.Request, output *DescribeConfigurationRecordersOutput) {
  3307  	op := &request.Operation{
  3308  		Name:       opDescribeConfigurationRecorders,
  3309  		HTTPMethod: "POST",
  3310  		HTTPPath:   "/",
  3311  	}
  3312  
  3313  	if input == nil {
  3314  		input = &DescribeConfigurationRecordersInput{}
  3315  	}
  3316  
  3317  	output = &DescribeConfigurationRecordersOutput{}
  3318  	req = c.newRequest(op, input, output)
  3319  	return
  3320  }
  3321  
  3322  // DescribeConfigurationRecorders API operation for AWS Config.
  3323  //
  3324  // Returns the details for the specified configuration recorders. If the configuration
  3325  // recorder is not specified, this action returns the details for all configuration
  3326  // recorders associated with the account.
  3327  //
  3328  // Currently, you can specify only one configuration recorder per region in
  3329  // your account.
  3330  //
  3331  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3332  // with awserr.Error's Code and Message methods to get detailed information about
  3333  // the error.
  3334  //
  3335  // See the AWS API reference guide for AWS Config's
  3336  // API operation DescribeConfigurationRecorders for usage and error information.
  3337  //
  3338  // Returned Error Types:
  3339  //   * NoSuchConfigurationRecorderException
  3340  //   You have specified a configuration recorder that does not exist.
  3341  //
  3342  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
  3343  func (c *ConfigService) DescribeConfigurationRecorders(input *DescribeConfigurationRecordersInput) (*DescribeConfigurationRecordersOutput, error) {
  3344  	req, out := c.DescribeConfigurationRecordersRequest(input)
  3345  	return out, req.Send()
  3346  }
  3347  
  3348  // DescribeConfigurationRecordersWithContext is the same as DescribeConfigurationRecorders with the addition of
  3349  // the ability to pass a context and additional request options.
  3350  //
  3351  // See DescribeConfigurationRecorders for details on how to use this API operation.
  3352  //
  3353  // The context must be non-nil and will be used for request cancellation. If
  3354  // the context is nil a panic will occur. In the future the SDK may create
  3355  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3356  // for more information on using Contexts.
  3357  func (c *ConfigService) DescribeConfigurationRecordersWithContext(ctx aws.Context, input *DescribeConfigurationRecordersInput, opts ...request.Option) (*DescribeConfigurationRecordersOutput, error) {
  3358  	req, out := c.DescribeConfigurationRecordersRequest(input)
  3359  	req.SetContext(ctx)
  3360  	req.ApplyOptions(opts...)
  3361  	return out, req.Send()
  3362  }
  3363  
  3364  const opDescribeConformancePackCompliance = "DescribeConformancePackCompliance"
  3365  
  3366  // DescribeConformancePackComplianceRequest generates a "aws/request.Request" representing the
  3367  // client's request for the DescribeConformancePackCompliance operation. The "output" return
  3368  // value will be populated with the request's response once the request completes
  3369  // successfully.
  3370  //
  3371  // Use "Send" method on the returned Request to send the API call to the service.
  3372  // the "output" return value is not valid until after Send returns without error.
  3373  //
  3374  // See DescribeConformancePackCompliance for more information on using the DescribeConformancePackCompliance
  3375  // API call, and error handling.
  3376  //
  3377  // This method is useful when you want to inject custom logic or configuration
  3378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3379  //
  3380  //
  3381  //    // Example sending a request using the DescribeConformancePackComplianceRequest method.
  3382  //    req, resp := client.DescribeConformancePackComplianceRequest(params)
  3383  //
  3384  //    err := req.Send()
  3385  //    if err == nil { // resp is now filled
  3386  //        fmt.Println(resp)
  3387  //    }
  3388  //
  3389  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
  3390  func (c *ConfigService) DescribeConformancePackComplianceRequest(input *DescribeConformancePackComplianceInput) (req *request.Request, output *DescribeConformancePackComplianceOutput) {
  3391  	op := &request.Operation{
  3392  		Name:       opDescribeConformancePackCompliance,
  3393  		HTTPMethod: "POST",
  3394  		HTTPPath:   "/",
  3395  		Paginator: &request.Paginator{
  3396  			InputTokens:     []string{"NextToken"},
  3397  			OutputTokens:    []string{"NextToken"},
  3398  			LimitToken:      "Limit",
  3399  			TruncationToken: "",
  3400  		},
  3401  	}
  3402  
  3403  	if input == nil {
  3404  		input = &DescribeConformancePackComplianceInput{}
  3405  	}
  3406  
  3407  	output = &DescribeConformancePackComplianceOutput{}
  3408  	req = c.newRequest(op, input, output)
  3409  	return
  3410  }
  3411  
  3412  // DescribeConformancePackCompliance API operation for AWS Config.
  3413  //
  3414  // Returns compliance details for each rule in that conformance pack.
  3415  //
  3416  // You must provide exact rule names.
  3417  //
  3418  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3419  // with awserr.Error's Code and Message methods to get detailed information about
  3420  // the error.
  3421  //
  3422  // See the AWS API reference guide for AWS Config's
  3423  // API operation DescribeConformancePackCompliance for usage and error information.
  3424  //
  3425  // Returned Error Types:
  3426  //   * InvalidLimitException
  3427  //   The specified limit is outside the allowable range.
  3428  //
  3429  //   * InvalidNextTokenException
  3430  //   The specified next token is invalid. Specify the nextToken string that was
  3431  //   returned in the previous response to get the next page of results.
  3432  //
  3433  //   * InvalidParameterValueException
  3434  //   One or more of the specified parameters are invalid. Verify that your parameters
  3435  //   are valid and try again.
  3436  //
  3437  //   * NoSuchConfigRuleInConformancePackException
  3438  //   Config rule that you passed in the filter does not exist.
  3439  //
  3440  //   * NoSuchConformancePackException
  3441  //   You specified one or more conformance packs that do not exist.
  3442  //
  3443  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
  3444  func (c *ConfigService) DescribeConformancePackCompliance(input *DescribeConformancePackComplianceInput) (*DescribeConformancePackComplianceOutput, error) {
  3445  	req, out := c.DescribeConformancePackComplianceRequest(input)
  3446  	return out, req.Send()
  3447  }
  3448  
  3449  // DescribeConformancePackComplianceWithContext is the same as DescribeConformancePackCompliance with the addition of
  3450  // the ability to pass a context and additional request options.
  3451  //
  3452  // See DescribeConformancePackCompliance for details on how to use this API operation.
  3453  //
  3454  // The context must be non-nil and will be used for request cancellation. If
  3455  // the context is nil a panic will occur. In the future the SDK may create
  3456  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3457  // for more information on using Contexts.
  3458  func (c *ConfigService) DescribeConformancePackComplianceWithContext(ctx aws.Context, input *DescribeConformancePackComplianceInput, opts ...request.Option) (*DescribeConformancePackComplianceOutput, error) {
  3459  	req, out := c.DescribeConformancePackComplianceRequest(input)
  3460  	req.SetContext(ctx)
  3461  	req.ApplyOptions(opts...)
  3462  	return out, req.Send()
  3463  }
  3464  
  3465  // DescribeConformancePackCompliancePages iterates over the pages of a DescribeConformancePackCompliance operation,
  3466  // calling the "fn" function with the response data for each page. To stop
  3467  // iterating, return false from the fn function.
  3468  //
  3469  // See DescribeConformancePackCompliance method for more information on how to use this operation.
  3470  //
  3471  // Note: This operation can generate multiple requests to a service.
  3472  //
  3473  //    // Example iterating over at most 3 pages of a DescribeConformancePackCompliance operation.
  3474  //    pageNum := 0
  3475  //    err := client.DescribeConformancePackCompliancePages(params,
  3476  //        func(page *configservice.DescribeConformancePackComplianceOutput, lastPage bool) bool {
  3477  //            pageNum++
  3478  //            fmt.Println(page)
  3479  //            return pageNum <= 3
  3480  //        })
  3481  //
  3482  func (c *ConfigService) DescribeConformancePackCompliancePages(input *DescribeConformancePackComplianceInput, fn func(*DescribeConformancePackComplianceOutput, bool) bool) error {
  3483  	return c.DescribeConformancePackCompliancePagesWithContext(aws.BackgroundContext(), input, fn)
  3484  }
  3485  
  3486  // DescribeConformancePackCompliancePagesWithContext same as DescribeConformancePackCompliancePages except
  3487  // it takes a Context and allows setting request options on the pages.
  3488  //
  3489  // The context must be non-nil and will be used for request cancellation. If
  3490  // the context is nil a panic will occur. In the future the SDK may create
  3491  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3492  // for more information on using Contexts.
  3493  func (c *ConfigService) DescribeConformancePackCompliancePagesWithContext(ctx aws.Context, input *DescribeConformancePackComplianceInput, fn func(*DescribeConformancePackComplianceOutput, bool) bool, opts ...request.Option) error {
  3494  	p := request.Pagination{
  3495  		NewRequest: func() (*request.Request, error) {
  3496  			var inCpy *DescribeConformancePackComplianceInput
  3497  			if input != nil {
  3498  				tmp := *input
  3499  				inCpy = &tmp
  3500  			}
  3501  			req, _ := c.DescribeConformancePackComplianceRequest(inCpy)
  3502  			req.SetContext(ctx)
  3503  			req.ApplyOptions(opts...)
  3504  			return req, nil
  3505  		},
  3506  	}
  3507  
  3508  	for p.Next() {
  3509  		if !fn(p.Page().(*DescribeConformancePackComplianceOutput), !p.HasNextPage()) {
  3510  			break
  3511  		}
  3512  	}
  3513  
  3514  	return p.Err()
  3515  }
  3516  
  3517  const opDescribeConformancePackStatus = "DescribeConformancePackStatus"
  3518  
  3519  // DescribeConformancePackStatusRequest generates a "aws/request.Request" representing the
  3520  // client's request for the DescribeConformancePackStatus operation. The "output" return
  3521  // value will be populated with the request's response once the request completes
  3522  // successfully.
  3523  //
  3524  // Use "Send" method on the returned Request to send the API call to the service.
  3525  // the "output" return value is not valid until after Send returns without error.
  3526  //
  3527  // See DescribeConformancePackStatus for more information on using the DescribeConformancePackStatus
  3528  // API call, and error handling.
  3529  //
  3530  // This method is useful when you want to inject custom logic or configuration
  3531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3532  //
  3533  //
  3534  //    // Example sending a request using the DescribeConformancePackStatusRequest method.
  3535  //    req, resp := client.DescribeConformancePackStatusRequest(params)
  3536  //
  3537  //    err := req.Send()
  3538  //    if err == nil { // resp is now filled
  3539  //        fmt.Println(resp)
  3540  //    }
  3541  //
  3542  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
  3543  func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConformancePackStatusInput) (req *request.Request, output *DescribeConformancePackStatusOutput) {
  3544  	op := &request.Operation{
  3545  		Name:       opDescribeConformancePackStatus,
  3546  		HTTPMethod: "POST",
  3547  		HTTPPath:   "/",
  3548  		Paginator: &request.Paginator{
  3549  			InputTokens:     []string{"NextToken"},
  3550  			OutputTokens:    []string{"NextToken"},
  3551  			LimitToken:      "Limit",
  3552  			TruncationToken: "",
  3553  		},
  3554  	}
  3555  
  3556  	if input == nil {
  3557  		input = &DescribeConformancePackStatusInput{}
  3558  	}
  3559  
  3560  	output = &DescribeConformancePackStatusOutput{}
  3561  	req = c.newRequest(op, input, output)
  3562  	return
  3563  }
  3564  
  3565  // DescribeConformancePackStatus API operation for AWS Config.
  3566  //
  3567  // Provides one or more conformance packs deployment status.
  3568  //
  3569  // If there are no conformance packs then you will see an empty result.
  3570  //
  3571  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3572  // with awserr.Error's Code and Message methods to get detailed information about
  3573  // the error.
  3574  //
  3575  // See the AWS API reference guide for AWS Config's
  3576  // API operation DescribeConformancePackStatus for usage and error information.
  3577  //
  3578  // Returned Error Types:
  3579  //   * InvalidLimitException
  3580  //   The specified limit is outside the allowable range.
  3581  //
  3582  //   * InvalidNextTokenException
  3583  //   The specified next token is invalid. Specify the nextToken string that was
  3584  //   returned in the previous response to get the next page of results.
  3585  //
  3586  //   * InvalidParameterValueException
  3587  //   One or more of the specified parameters are invalid. Verify that your parameters
  3588  //   are valid and try again.
  3589  //
  3590  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
  3591  func (c *ConfigService) DescribeConformancePackStatus(input *DescribeConformancePackStatusInput) (*DescribeConformancePackStatusOutput, error) {
  3592  	req, out := c.DescribeConformancePackStatusRequest(input)
  3593  	return out, req.Send()
  3594  }
  3595  
  3596  // DescribeConformancePackStatusWithContext is the same as DescribeConformancePackStatus with the addition of
  3597  // the ability to pass a context and additional request options.
  3598  //
  3599  // See DescribeConformancePackStatus for details on how to use this API operation.
  3600  //
  3601  // The context must be non-nil and will be used for request cancellation. If
  3602  // the context is nil a panic will occur. In the future the SDK may create
  3603  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3604  // for more information on using Contexts.
  3605  func (c *ConfigService) DescribeConformancePackStatusWithContext(ctx aws.Context, input *DescribeConformancePackStatusInput, opts ...request.Option) (*DescribeConformancePackStatusOutput, error) {
  3606  	req, out := c.DescribeConformancePackStatusRequest(input)
  3607  	req.SetContext(ctx)
  3608  	req.ApplyOptions(opts...)
  3609  	return out, req.Send()
  3610  }
  3611  
  3612  // DescribeConformancePackStatusPages iterates over the pages of a DescribeConformancePackStatus operation,
  3613  // calling the "fn" function with the response data for each page. To stop
  3614  // iterating, return false from the fn function.
  3615  //
  3616  // See DescribeConformancePackStatus method for more information on how to use this operation.
  3617  //
  3618  // Note: This operation can generate multiple requests to a service.
  3619  //
  3620  //    // Example iterating over at most 3 pages of a DescribeConformancePackStatus operation.
  3621  //    pageNum := 0
  3622  //    err := client.DescribeConformancePackStatusPages(params,
  3623  //        func(page *configservice.DescribeConformancePackStatusOutput, lastPage bool) bool {
  3624  //            pageNum++
  3625  //            fmt.Println(page)
  3626  //            return pageNum <= 3
  3627  //        })
  3628  //
  3629  func (c *ConfigService) DescribeConformancePackStatusPages(input *DescribeConformancePackStatusInput, fn func(*DescribeConformancePackStatusOutput, bool) bool) error {
  3630  	return c.DescribeConformancePackStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  3631  }
  3632  
  3633  // DescribeConformancePackStatusPagesWithContext same as DescribeConformancePackStatusPages except
  3634  // it takes a Context and allows setting request options on the pages.
  3635  //
  3636  // The context must be non-nil and will be used for request cancellation. If
  3637  // the context is nil a panic will occur. In the future the SDK may create
  3638  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3639  // for more information on using Contexts.
  3640  func (c *ConfigService) DescribeConformancePackStatusPagesWithContext(ctx aws.Context, input *DescribeConformancePackStatusInput, fn func(*DescribeConformancePackStatusOutput, bool) bool, opts ...request.Option) error {
  3641  	p := request.Pagination{
  3642  		NewRequest: func() (*request.Request, error) {
  3643  			var inCpy *DescribeConformancePackStatusInput
  3644  			if input != nil {
  3645  				tmp := *input
  3646  				inCpy = &tmp
  3647  			}
  3648  			req, _ := c.DescribeConformancePackStatusRequest(inCpy)
  3649  			req.SetContext(ctx)
  3650  			req.ApplyOptions(opts...)
  3651  			return req, nil
  3652  		},
  3653  	}
  3654  
  3655  	for p.Next() {
  3656  		if !fn(p.Page().(*DescribeConformancePackStatusOutput), !p.HasNextPage()) {
  3657  			break
  3658  		}
  3659  	}
  3660  
  3661  	return p.Err()
  3662  }
  3663  
  3664  const opDescribeConformancePacks = "DescribeConformancePacks"
  3665  
  3666  // DescribeConformancePacksRequest generates a "aws/request.Request" representing the
  3667  // client's request for the DescribeConformancePacks operation. The "output" return
  3668  // value will be populated with the request's response once the request completes
  3669  // successfully.
  3670  //
  3671  // Use "Send" method on the returned Request to send the API call to the service.
  3672  // the "output" return value is not valid until after Send returns without error.
  3673  //
  3674  // See DescribeConformancePacks for more information on using the DescribeConformancePacks
  3675  // API call, and error handling.
  3676  //
  3677  // This method is useful when you want to inject custom logic or configuration
  3678  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3679  //
  3680  //
  3681  //    // Example sending a request using the DescribeConformancePacksRequest method.
  3682  //    req, resp := client.DescribeConformancePacksRequest(params)
  3683  //
  3684  //    err := req.Send()
  3685  //    if err == nil { // resp is now filled
  3686  //        fmt.Println(resp)
  3687  //    }
  3688  //
  3689  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
  3690  func (c *ConfigService) DescribeConformancePacksRequest(input *DescribeConformancePacksInput) (req *request.Request, output *DescribeConformancePacksOutput) {
  3691  	op := &request.Operation{
  3692  		Name:       opDescribeConformancePacks,
  3693  		HTTPMethod: "POST",
  3694  		HTTPPath:   "/",
  3695  		Paginator: &request.Paginator{
  3696  			InputTokens:     []string{"NextToken"},
  3697  			OutputTokens:    []string{"NextToken"},
  3698  			LimitToken:      "Limit",
  3699  			TruncationToken: "",
  3700  		},
  3701  	}
  3702  
  3703  	if input == nil {
  3704  		input = &DescribeConformancePacksInput{}
  3705  	}
  3706  
  3707  	output = &DescribeConformancePacksOutput{}
  3708  	req = c.newRequest(op, input, output)
  3709  	return
  3710  }
  3711  
  3712  // DescribeConformancePacks API operation for AWS Config.
  3713  //
  3714  // Returns a list of one or more conformance packs.
  3715  //
  3716  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3717  // with awserr.Error's Code and Message methods to get detailed information about
  3718  // the error.
  3719  //
  3720  // See the AWS API reference guide for AWS Config's
  3721  // API operation DescribeConformancePacks for usage and error information.
  3722  //
  3723  // Returned Error Types:
  3724  //   * NoSuchConformancePackException
  3725  //   You specified one or more conformance packs that do not exist.
  3726  //
  3727  //   * InvalidLimitException
  3728  //   The specified limit is outside the allowable range.
  3729  //
  3730  //   * InvalidNextTokenException
  3731  //   The specified next token is invalid. Specify the nextToken string that was
  3732  //   returned in the previous response to get the next page of results.
  3733  //
  3734  //   * InvalidParameterValueException
  3735  //   One or more of the specified parameters are invalid. Verify that your parameters
  3736  //   are valid and try again.
  3737  //
  3738  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
  3739  func (c *ConfigService) DescribeConformancePacks(input *DescribeConformancePacksInput) (*DescribeConformancePacksOutput, error) {
  3740  	req, out := c.DescribeConformancePacksRequest(input)
  3741  	return out, req.Send()
  3742  }
  3743  
  3744  // DescribeConformancePacksWithContext is the same as DescribeConformancePacks with the addition of
  3745  // the ability to pass a context and additional request options.
  3746  //
  3747  // See DescribeConformancePacks for details on how to use this API operation.
  3748  //
  3749  // The context must be non-nil and will be used for request cancellation. If
  3750  // the context is nil a panic will occur. In the future the SDK may create
  3751  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3752  // for more information on using Contexts.
  3753  func (c *ConfigService) DescribeConformancePacksWithContext(ctx aws.Context, input *DescribeConformancePacksInput, opts ...request.Option) (*DescribeConformancePacksOutput, error) {
  3754  	req, out := c.DescribeConformancePacksRequest(input)
  3755  	req.SetContext(ctx)
  3756  	req.ApplyOptions(opts...)
  3757  	return out, req.Send()
  3758  }
  3759  
  3760  // DescribeConformancePacksPages iterates over the pages of a DescribeConformancePacks operation,
  3761  // calling the "fn" function with the response data for each page. To stop
  3762  // iterating, return false from the fn function.
  3763  //
  3764  // See DescribeConformancePacks method for more information on how to use this operation.
  3765  //
  3766  // Note: This operation can generate multiple requests to a service.
  3767  //
  3768  //    // Example iterating over at most 3 pages of a DescribeConformancePacks operation.
  3769  //    pageNum := 0
  3770  //    err := client.DescribeConformancePacksPages(params,
  3771  //        func(page *configservice.DescribeConformancePacksOutput, lastPage bool) bool {
  3772  //            pageNum++
  3773  //            fmt.Println(page)
  3774  //            return pageNum <= 3
  3775  //        })
  3776  //
  3777  func (c *ConfigService) DescribeConformancePacksPages(input *DescribeConformancePacksInput, fn func(*DescribeConformancePacksOutput, bool) bool) error {
  3778  	return c.DescribeConformancePacksPagesWithContext(aws.BackgroundContext(), input, fn)
  3779  }
  3780  
  3781  // DescribeConformancePacksPagesWithContext same as DescribeConformancePacksPages except
  3782  // it takes a Context and allows setting request options on the pages.
  3783  //
  3784  // The context must be non-nil and will be used for request cancellation. If
  3785  // the context is nil a panic will occur. In the future the SDK may create
  3786  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3787  // for more information on using Contexts.
  3788  func (c *ConfigService) DescribeConformancePacksPagesWithContext(ctx aws.Context, input *DescribeConformancePacksInput, fn func(*DescribeConformancePacksOutput, bool) bool, opts ...request.Option) error {
  3789  	p := request.Pagination{
  3790  		NewRequest: func() (*request.Request, error) {
  3791  			var inCpy *DescribeConformancePacksInput
  3792  			if input != nil {
  3793  				tmp := *input
  3794  				inCpy = &tmp
  3795  			}
  3796  			req, _ := c.DescribeConformancePacksRequest(inCpy)
  3797  			req.SetContext(ctx)
  3798  			req.ApplyOptions(opts...)
  3799  			return req, nil
  3800  		},
  3801  	}
  3802  
  3803  	for p.Next() {
  3804  		if !fn(p.Page().(*DescribeConformancePacksOutput), !p.HasNextPage()) {
  3805  			break
  3806  		}
  3807  	}
  3808  
  3809  	return p.Err()
  3810  }
  3811  
  3812  const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
  3813  
  3814  // DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
  3815  // client's request for the DescribeDeliveryChannelStatus operation. The "output" return
  3816  // value will be populated with the request's response once the request completes
  3817  // successfully.
  3818  //
  3819  // Use "Send" method on the returned Request to send the API call to the service.
  3820  // the "output" return value is not valid until after Send returns without error.
  3821  //
  3822  // See DescribeDeliveryChannelStatus for more information on using the DescribeDeliveryChannelStatus
  3823  // API call, and error handling.
  3824  //
  3825  // This method is useful when you want to inject custom logic or configuration
  3826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3827  //
  3828  //
  3829  //    // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
  3830  //    req, resp := client.DescribeDeliveryChannelStatusRequest(params)
  3831  //
  3832  //    err := req.Send()
  3833  //    if err == nil { // resp is now filled
  3834  //        fmt.Println(resp)
  3835  //    }
  3836  //
  3837  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
  3838  func (c *ConfigService) DescribeDeliveryChannelStatusRequest(input *DescribeDeliveryChannelStatusInput) (req *request.Request, output *DescribeDeliveryChannelStatusOutput) {
  3839  	op := &request.Operation{
  3840  		Name:       opDescribeDeliveryChannelStatus,
  3841  		HTTPMethod: "POST",
  3842  		HTTPPath:   "/",
  3843  	}
  3844  
  3845  	if input == nil {
  3846  		input = &DescribeDeliveryChannelStatusInput{}
  3847  	}
  3848  
  3849  	output = &DescribeDeliveryChannelStatusOutput{}
  3850  	req = c.newRequest(op, input, output)
  3851  	return
  3852  }
  3853  
  3854  // DescribeDeliveryChannelStatus API operation for AWS Config.
  3855  //
  3856  // Returns the current status of the specified delivery channel. If a delivery
  3857  // channel is not specified, this action returns the current status of all delivery
  3858  // channels associated with the account.
  3859  //
  3860  // Currently, you can specify only one delivery channel per region in your account.
  3861  //
  3862  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3863  // with awserr.Error's Code and Message methods to get detailed information about
  3864  // the error.
  3865  //
  3866  // See the AWS API reference guide for AWS Config's
  3867  // API operation DescribeDeliveryChannelStatus for usage and error information.
  3868  //
  3869  // Returned Error Types:
  3870  //   * NoSuchDeliveryChannelException
  3871  //   You have specified a delivery channel that does not exist.
  3872  //
  3873  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
  3874  func (c *ConfigService) DescribeDeliveryChannelStatus(input *DescribeDeliveryChannelStatusInput) (*DescribeDeliveryChannelStatusOutput, error) {
  3875  	req, out := c.DescribeDeliveryChannelStatusRequest(input)
  3876  	return out, req.Send()
  3877  }
  3878  
  3879  // DescribeDeliveryChannelStatusWithContext is the same as DescribeDeliveryChannelStatus with the addition of
  3880  // the ability to pass a context and additional request options.
  3881  //
  3882  // See DescribeDeliveryChannelStatus for details on how to use this API operation.
  3883  //
  3884  // The context must be non-nil and will be used for request cancellation. If
  3885  // the context is nil a panic will occur. In the future the SDK may create
  3886  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3887  // for more information on using Contexts.
  3888  func (c *ConfigService) DescribeDeliveryChannelStatusWithContext(ctx aws.Context, input *DescribeDeliveryChannelStatusInput, opts ...request.Option) (*DescribeDeliveryChannelStatusOutput, error) {
  3889  	req, out := c.DescribeDeliveryChannelStatusRequest(input)
  3890  	req.SetContext(ctx)
  3891  	req.ApplyOptions(opts...)
  3892  	return out, req.Send()
  3893  }
  3894  
  3895  const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
  3896  
  3897  // DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
  3898  // client's request for the DescribeDeliveryChannels operation. The "output" return
  3899  // value will be populated with the request's response once the request completes
  3900  // successfully.
  3901  //
  3902  // Use "Send" method on the returned Request to send the API call to the service.
  3903  // the "output" return value is not valid until after Send returns without error.
  3904  //
  3905  // See DescribeDeliveryChannels for more information on using the DescribeDeliveryChannels
  3906  // API call, and error handling.
  3907  //
  3908  // This method is useful when you want to inject custom logic or configuration
  3909  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3910  //
  3911  //
  3912  //    // Example sending a request using the DescribeDeliveryChannelsRequest method.
  3913  //    req, resp := client.DescribeDeliveryChannelsRequest(params)
  3914  //
  3915  //    err := req.Send()
  3916  //    if err == nil { // resp is now filled
  3917  //        fmt.Println(resp)
  3918  //    }
  3919  //
  3920  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
  3921  func (c *ConfigService) DescribeDeliveryChannelsRequest(input *DescribeDeliveryChannelsInput) (req *request.Request, output *DescribeDeliveryChannelsOutput) {
  3922  	op := &request.Operation{
  3923  		Name:       opDescribeDeliveryChannels,
  3924  		HTTPMethod: "POST",
  3925  		HTTPPath:   "/",
  3926  	}
  3927  
  3928  	if input == nil {
  3929  		input = &DescribeDeliveryChannelsInput{}
  3930  	}
  3931  
  3932  	output = &DescribeDeliveryChannelsOutput{}
  3933  	req = c.newRequest(op, input, output)
  3934  	return
  3935  }
  3936  
  3937  // DescribeDeliveryChannels API operation for AWS Config.
  3938  //
  3939  // Returns details about the specified delivery channel. If a delivery channel
  3940  // is not specified, this action returns the details of all delivery channels
  3941  // associated with the account.
  3942  //
  3943  // Currently, you can specify only one delivery channel per region in your account.
  3944  //
  3945  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3946  // with awserr.Error's Code and Message methods to get detailed information about
  3947  // the error.
  3948  //
  3949  // See the AWS API reference guide for AWS Config's
  3950  // API operation DescribeDeliveryChannels for usage and error information.
  3951  //
  3952  // Returned Error Types:
  3953  //   * NoSuchDeliveryChannelException
  3954  //   You have specified a delivery channel that does not exist.
  3955  //
  3956  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
  3957  func (c *ConfigService) DescribeDeliveryChannels(input *DescribeDeliveryChannelsInput) (*DescribeDeliveryChannelsOutput, error) {
  3958  	req, out := c.DescribeDeliveryChannelsRequest(input)
  3959  	return out, req.Send()
  3960  }
  3961  
  3962  // DescribeDeliveryChannelsWithContext is the same as DescribeDeliveryChannels with the addition of
  3963  // the ability to pass a context and additional request options.
  3964  //
  3965  // See DescribeDeliveryChannels for details on how to use this API operation.
  3966  //
  3967  // The context must be non-nil and will be used for request cancellation. If
  3968  // the context is nil a panic will occur. In the future the SDK may create
  3969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3970  // for more information on using Contexts.
  3971  func (c *ConfigService) DescribeDeliveryChannelsWithContext(ctx aws.Context, input *DescribeDeliveryChannelsInput, opts ...request.Option) (*DescribeDeliveryChannelsOutput, error) {
  3972  	req, out := c.DescribeDeliveryChannelsRequest(input)
  3973  	req.SetContext(ctx)
  3974  	req.ApplyOptions(opts...)
  3975  	return out, req.Send()
  3976  }
  3977  
  3978  const opDescribeOrganizationConfigRuleStatuses = "DescribeOrganizationConfigRuleStatuses"
  3979  
  3980  // DescribeOrganizationConfigRuleStatusesRequest generates a "aws/request.Request" representing the
  3981  // client's request for the DescribeOrganizationConfigRuleStatuses operation. The "output" return
  3982  // value will be populated with the request's response once the request completes
  3983  // successfully.
  3984  //
  3985  // Use "Send" method on the returned Request to send the API call to the service.
  3986  // the "output" return value is not valid until after Send returns without error.
  3987  //
  3988  // See DescribeOrganizationConfigRuleStatuses for more information on using the DescribeOrganizationConfigRuleStatuses
  3989  // API call, and error handling.
  3990  //
  3991  // This method is useful when you want to inject custom logic or configuration
  3992  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3993  //
  3994  //
  3995  //    // Example sending a request using the DescribeOrganizationConfigRuleStatusesRequest method.
  3996  //    req, resp := client.DescribeOrganizationConfigRuleStatusesRequest(params)
  3997  //
  3998  //    err := req.Send()
  3999  //    if err == nil { // resp is now filled
  4000  //        fmt.Println(resp)
  4001  //    }
  4002  //
  4003  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
  4004  func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *DescribeOrganizationConfigRuleStatusesInput) (req *request.Request, output *DescribeOrganizationConfigRuleStatusesOutput) {
  4005  	op := &request.Operation{
  4006  		Name:       opDescribeOrganizationConfigRuleStatuses,
  4007  		HTTPMethod: "POST",
  4008  		HTTPPath:   "/",
  4009  		Paginator: &request.Paginator{
  4010  			InputTokens:     []string{"NextToken"},
  4011  			OutputTokens:    []string{"NextToken"},
  4012  			LimitToken:      "Limit",
  4013  			TruncationToken: "",
  4014  		},
  4015  	}
  4016  
  4017  	if input == nil {
  4018  		input = &DescribeOrganizationConfigRuleStatusesInput{}
  4019  	}
  4020  
  4021  	output = &DescribeOrganizationConfigRuleStatusesOutput{}
  4022  	req = c.newRequest(op, input, output)
  4023  	return
  4024  }
  4025  
  4026  // DescribeOrganizationConfigRuleStatuses API operation for AWS Config.
  4027  //
  4028  // Provides organization config rule deployment status for an organization.
  4029  //
  4030  // The status is not considered successful until organization config rule is
  4031  // successfully deployed in all the member accounts with an exception of excluded
  4032  // accounts.
  4033  //
  4034  // When you specify the limit and the next token, you receive a paginated response.
  4035  // Limit and next token are not applicable if you specify organization config
  4036  // rule names. It is only applicable, when you request all the organization
  4037  // config rules.
  4038  //
  4039  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4040  // with awserr.Error's Code and Message methods to get detailed information about
  4041  // the error.
  4042  //
  4043  // See the AWS API reference guide for AWS Config's
  4044  // API operation DescribeOrganizationConfigRuleStatuses for usage and error information.
  4045  //
  4046  // Returned Error Types:
  4047  //   * NoSuchOrganizationConfigRuleException
  4048  //   You specified one or more organization config rules that do not exist.
  4049  //
  4050  //   * InvalidLimitException
  4051  //   The specified limit is outside the allowable range.
  4052  //
  4053  //   * InvalidNextTokenException
  4054  //   The specified next token is invalid. Specify the nextToken string that was
  4055  //   returned in the previous response to get the next page of results.
  4056  //
  4057  //   * OrganizationAccessDeniedException
  4058  //   For PutConfigurationAggregator API, you can see this exception for the following
  4059  //   reasons:
  4060  //
  4061  //      * No permission to call EnableAWSServiceAccess API
  4062  //
  4063  //      * The configuration aggregator cannot be updated because your Amazon Web
  4064  //      Services Organization management account or the delegated administrator
  4065  //      role changed. Delete this aggregator and create a new one with the current
  4066  //      Amazon Web Services Organization.
  4067  //
  4068  //      * The configuration aggregator is associated with a previous Amazon Web
  4069  //      Services Organization and Config cannot aggregate data with current Amazon
  4070  //      Web Services Organization. Delete this aggregator and create a new one
  4071  //      with the current Amazon Web Services Organization.
  4072  //
  4073  //      * You are not a registered delegated administrator for Config with permissions
  4074  //      to call ListDelegatedAdministrators API. Ensure that the management account
  4075  //      registers delagated administrator for Config service principle name before
  4076  //      the delegated administrator creates an aggregator.
  4077  //
  4078  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  4079  //   throws an exception if APIs are called from member accounts. All APIs must
  4080  //   be called from organization master account.
  4081  //
  4082  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
  4083  func (c *ConfigService) DescribeOrganizationConfigRuleStatuses(input *DescribeOrganizationConfigRuleStatusesInput) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
  4084  	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
  4085  	return out, req.Send()
  4086  }
  4087  
  4088  // DescribeOrganizationConfigRuleStatusesWithContext is the same as DescribeOrganizationConfigRuleStatuses with the addition of
  4089  // the ability to pass a context and additional request options.
  4090  //
  4091  // See DescribeOrganizationConfigRuleStatuses for details on how to use this API operation.
  4092  //
  4093  // The context must be non-nil and will be used for request cancellation. If
  4094  // the context is nil a panic will occur. In the future the SDK may create
  4095  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4096  // for more information on using Contexts.
  4097  func (c *ConfigService) DescribeOrganizationConfigRuleStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRuleStatusesInput, opts ...request.Option) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
  4098  	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
  4099  	req.SetContext(ctx)
  4100  	req.ApplyOptions(opts...)
  4101  	return out, req.Send()
  4102  }
  4103  
  4104  // DescribeOrganizationConfigRuleStatusesPages iterates over the pages of a DescribeOrganizationConfigRuleStatuses operation,
  4105  // calling the "fn" function with the response data for each page. To stop
  4106  // iterating, return false from the fn function.
  4107  //
  4108  // See DescribeOrganizationConfigRuleStatuses method for more information on how to use this operation.
  4109  //
  4110  // Note: This operation can generate multiple requests to a service.
  4111  //
  4112  //    // Example iterating over at most 3 pages of a DescribeOrganizationConfigRuleStatuses operation.
  4113  //    pageNum := 0
  4114  //    err := client.DescribeOrganizationConfigRuleStatusesPages(params,
  4115  //        func(page *configservice.DescribeOrganizationConfigRuleStatusesOutput, lastPage bool) bool {
  4116  //            pageNum++
  4117  //            fmt.Println(page)
  4118  //            return pageNum <= 3
  4119  //        })
  4120  //
  4121  func (c *ConfigService) DescribeOrganizationConfigRuleStatusesPages(input *DescribeOrganizationConfigRuleStatusesInput, fn func(*DescribeOrganizationConfigRuleStatusesOutput, bool) bool) error {
  4122  	return c.DescribeOrganizationConfigRuleStatusesPagesWithContext(aws.BackgroundContext(), input, fn)
  4123  }
  4124  
  4125  // DescribeOrganizationConfigRuleStatusesPagesWithContext same as DescribeOrganizationConfigRuleStatusesPages except
  4126  // it takes a Context and allows setting request options on the pages.
  4127  //
  4128  // The context must be non-nil and will be used for request cancellation. If
  4129  // the context is nil a panic will occur. In the future the SDK may create
  4130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4131  // for more information on using Contexts.
  4132  func (c *ConfigService) DescribeOrganizationConfigRuleStatusesPagesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRuleStatusesInput, fn func(*DescribeOrganizationConfigRuleStatusesOutput, bool) bool, opts ...request.Option) error {
  4133  	p := request.Pagination{
  4134  		NewRequest: func() (*request.Request, error) {
  4135  			var inCpy *DescribeOrganizationConfigRuleStatusesInput
  4136  			if input != nil {
  4137  				tmp := *input
  4138  				inCpy = &tmp
  4139  			}
  4140  			req, _ := c.DescribeOrganizationConfigRuleStatusesRequest(inCpy)
  4141  			req.SetContext(ctx)
  4142  			req.ApplyOptions(opts...)
  4143  			return req, nil
  4144  		},
  4145  	}
  4146  
  4147  	for p.Next() {
  4148  		if !fn(p.Page().(*DescribeOrganizationConfigRuleStatusesOutput), !p.HasNextPage()) {
  4149  			break
  4150  		}
  4151  	}
  4152  
  4153  	return p.Err()
  4154  }
  4155  
  4156  const opDescribeOrganizationConfigRules = "DescribeOrganizationConfigRules"
  4157  
  4158  // DescribeOrganizationConfigRulesRequest generates a "aws/request.Request" representing the
  4159  // client's request for the DescribeOrganizationConfigRules operation. The "output" return
  4160  // value will be populated with the request's response once the request completes
  4161  // successfully.
  4162  //
  4163  // Use "Send" method on the returned Request to send the API call to the service.
  4164  // the "output" return value is not valid until after Send returns without error.
  4165  //
  4166  // See DescribeOrganizationConfigRules for more information on using the DescribeOrganizationConfigRules
  4167  // API call, and error handling.
  4168  //
  4169  // This method is useful when you want to inject custom logic or configuration
  4170  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4171  //
  4172  //
  4173  //    // Example sending a request using the DescribeOrganizationConfigRulesRequest method.
  4174  //    req, resp := client.DescribeOrganizationConfigRulesRequest(params)
  4175  //
  4176  //    err := req.Send()
  4177  //    if err == nil { // resp is now filled
  4178  //        fmt.Println(resp)
  4179  //    }
  4180  //
  4181  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
  4182  func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOrganizationConfigRulesInput) (req *request.Request, output *DescribeOrganizationConfigRulesOutput) {
  4183  	op := &request.Operation{
  4184  		Name:       opDescribeOrganizationConfigRules,
  4185  		HTTPMethod: "POST",
  4186  		HTTPPath:   "/",
  4187  		Paginator: &request.Paginator{
  4188  			InputTokens:     []string{"NextToken"},
  4189  			OutputTokens:    []string{"NextToken"},
  4190  			LimitToken:      "Limit",
  4191  			TruncationToken: "",
  4192  		},
  4193  	}
  4194  
  4195  	if input == nil {
  4196  		input = &DescribeOrganizationConfigRulesInput{}
  4197  	}
  4198  
  4199  	output = &DescribeOrganizationConfigRulesOutput{}
  4200  	req = c.newRequest(op, input, output)
  4201  	return
  4202  }
  4203  
  4204  // DescribeOrganizationConfigRules API operation for AWS Config.
  4205  //
  4206  // Returns a list of organization config rules.
  4207  //
  4208  // When you specify the limit and the next token, you receive a paginated response.
  4209  // Limit and next token are not applicable if you specify organization config
  4210  // rule names. It is only applicable, when you request all the organization
  4211  // config rules.
  4212  //
  4213  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4214  // with awserr.Error's Code and Message methods to get detailed information about
  4215  // the error.
  4216  //
  4217  // See the AWS API reference guide for AWS Config's
  4218  // API operation DescribeOrganizationConfigRules for usage and error information.
  4219  //
  4220  // Returned Error Types:
  4221  //   * NoSuchOrganizationConfigRuleException
  4222  //   You specified one or more organization config rules that do not exist.
  4223  //
  4224  //   * InvalidNextTokenException
  4225  //   The specified next token is invalid. Specify the nextToken string that was
  4226  //   returned in the previous response to get the next page of results.
  4227  //
  4228  //   * InvalidLimitException
  4229  //   The specified limit is outside the allowable range.
  4230  //
  4231  //   * OrganizationAccessDeniedException
  4232  //   For PutConfigurationAggregator API, you can see this exception for the following
  4233  //   reasons:
  4234  //
  4235  //      * No permission to call EnableAWSServiceAccess API
  4236  //
  4237  //      * The configuration aggregator cannot be updated because your Amazon Web
  4238  //      Services Organization management account or the delegated administrator
  4239  //      role changed. Delete this aggregator and create a new one with the current
  4240  //      Amazon Web Services Organization.
  4241  //
  4242  //      * The configuration aggregator is associated with a previous Amazon Web
  4243  //      Services Organization and Config cannot aggregate data with current Amazon
  4244  //      Web Services Organization. Delete this aggregator and create a new one
  4245  //      with the current Amazon Web Services Organization.
  4246  //
  4247  //      * You are not a registered delegated administrator for Config with permissions
  4248  //      to call ListDelegatedAdministrators API. Ensure that the management account
  4249  //      registers delagated administrator for Config service principle name before
  4250  //      the delegated administrator creates an aggregator.
  4251  //
  4252  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  4253  //   throws an exception if APIs are called from member accounts. All APIs must
  4254  //   be called from organization master account.
  4255  //
  4256  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
  4257  func (c *ConfigService) DescribeOrganizationConfigRules(input *DescribeOrganizationConfigRulesInput) (*DescribeOrganizationConfigRulesOutput, error) {
  4258  	req, out := c.DescribeOrganizationConfigRulesRequest(input)
  4259  	return out, req.Send()
  4260  }
  4261  
  4262  // DescribeOrganizationConfigRulesWithContext is the same as DescribeOrganizationConfigRules with the addition of
  4263  // the ability to pass a context and additional request options.
  4264  //
  4265  // See DescribeOrganizationConfigRules for details on how to use this API operation.
  4266  //
  4267  // The context must be non-nil and will be used for request cancellation. If
  4268  // the context is nil a panic will occur. In the future the SDK may create
  4269  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4270  // for more information on using Contexts.
  4271  func (c *ConfigService) DescribeOrganizationConfigRulesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRulesInput, opts ...request.Option) (*DescribeOrganizationConfigRulesOutput, error) {
  4272  	req, out := c.DescribeOrganizationConfigRulesRequest(input)
  4273  	req.SetContext(ctx)
  4274  	req.ApplyOptions(opts...)
  4275  	return out, req.Send()
  4276  }
  4277  
  4278  // DescribeOrganizationConfigRulesPages iterates over the pages of a DescribeOrganizationConfigRules operation,
  4279  // calling the "fn" function with the response data for each page. To stop
  4280  // iterating, return false from the fn function.
  4281  //
  4282  // See DescribeOrganizationConfigRules method for more information on how to use this operation.
  4283  //
  4284  // Note: This operation can generate multiple requests to a service.
  4285  //
  4286  //    // Example iterating over at most 3 pages of a DescribeOrganizationConfigRules operation.
  4287  //    pageNum := 0
  4288  //    err := client.DescribeOrganizationConfigRulesPages(params,
  4289  //        func(page *configservice.DescribeOrganizationConfigRulesOutput, lastPage bool) bool {
  4290  //            pageNum++
  4291  //            fmt.Println(page)
  4292  //            return pageNum <= 3
  4293  //        })
  4294  //
  4295  func (c *ConfigService) DescribeOrganizationConfigRulesPages(input *DescribeOrganizationConfigRulesInput, fn func(*DescribeOrganizationConfigRulesOutput, bool) bool) error {
  4296  	return c.DescribeOrganizationConfigRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  4297  }
  4298  
  4299  // DescribeOrganizationConfigRulesPagesWithContext same as DescribeOrganizationConfigRulesPages except
  4300  // it takes a Context and allows setting request options on the pages.
  4301  //
  4302  // The context must be non-nil and will be used for request cancellation. If
  4303  // the context is nil a panic will occur. In the future the SDK may create
  4304  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4305  // for more information on using Contexts.
  4306  func (c *ConfigService) DescribeOrganizationConfigRulesPagesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRulesInput, fn func(*DescribeOrganizationConfigRulesOutput, bool) bool, opts ...request.Option) error {
  4307  	p := request.Pagination{
  4308  		NewRequest: func() (*request.Request, error) {
  4309  			var inCpy *DescribeOrganizationConfigRulesInput
  4310  			if input != nil {
  4311  				tmp := *input
  4312  				inCpy = &tmp
  4313  			}
  4314  			req, _ := c.DescribeOrganizationConfigRulesRequest(inCpy)
  4315  			req.SetContext(ctx)
  4316  			req.ApplyOptions(opts...)
  4317  			return req, nil
  4318  		},
  4319  	}
  4320  
  4321  	for p.Next() {
  4322  		if !fn(p.Page().(*DescribeOrganizationConfigRulesOutput), !p.HasNextPage()) {
  4323  			break
  4324  		}
  4325  	}
  4326  
  4327  	return p.Err()
  4328  }
  4329  
  4330  const opDescribeOrganizationConformancePackStatuses = "DescribeOrganizationConformancePackStatuses"
  4331  
  4332  // DescribeOrganizationConformancePackStatusesRequest generates a "aws/request.Request" representing the
  4333  // client's request for the DescribeOrganizationConformancePackStatuses operation. The "output" return
  4334  // value will be populated with the request's response once the request completes
  4335  // successfully.
  4336  //
  4337  // Use "Send" method on the returned Request to send the API call to the service.
  4338  // the "output" return value is not valid until after Send returns without error.
  4339  //
  4340  // See DescribeOrganizationConformancePackStatuses for more information on using the DescribeOrganizationConformancePackStatuses
  4341  // API call, and error handling.
  4342  //
  4343  // This method is useful when you want to inject custom logic or configuration
  4344  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4345  //
  4346  //
  4347  //    // Example sending a request using the DescribeOrganizationConformancePackStatusesRequest method.
  4348  //    req, resp := client.DescribeOrganizationConformancePackStatusesRequest(params)
  4349  //
  4350  //    err := req.Send()
  4351  //    if err == nil { // resp is now filled
  4352  //        fmt.Println(resp)
  4353  //    }
  4354  //
  4355  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePackStatuses
  4356  func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input *DescribeOrganizationConformancePackStatusesInput) (req *request.Request, output *DescribeOrganizationConformancePackStatusesOutput) {
  4357  	op := &request.Operation{
  4358  		Name:       opDescribeOrganizationConformancePackStatuses,
  4359  		HTTPMethod: "POST",
  4360  		HTTPPath:   "/",
  4361  		Paginator: &request.Paginator{
  4362  			InputTokens:     []string{"NextToken"},
  4363  			OutputTokens:    []string{"NextToken"},
  4364  			LimitToken:      "Limit",
  4365  			TruncationToken: "",
  4366  		},
  4367  	}
  4368  
  4369  	if input == nil {
  4370  		input = &DescribeOrganizationConformancePackStatusesInput{}
  4371  	}
  4372  
  4373  	output = &DescribeOrganizationConformancePackStatusesOutput{}
  4374  	req = c.newRequest(op, input, output)
  4375  	return
  4376  }
  4377  
  4378  // DescribeOrganizationConformancePackStatuses API operation for AWS Config.
  4379  //
  4380  // Provides organization conformance pack deployment status for an organization.
  4381  //
  4382  // The status is not considered successful until organization conformance pack
  4383  // is successfully deployed in all the member accounts with an exception of
  4384  // excluded accounts.
  4385  //
  4386  // When you specify the limit and the next token, you receive a paginated response.
  4387  // Limit and next token are not applicable if you specify organization conformance
  4388  // pack names. They are only applicable, when you request all the organization
  4389  // conformance packs.
  4390  //
  4391  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4392  // with awserr.Error's Code and Message methods to get detailed information about
  4393  // the error.
  4394  //
  4395  // See the AWS API reference guide for AWS Config's
  4396  // API operation DescribeOrganizationConformancePackStatuses for usage and error information.
  4397  //
  4398  // Returned Error Types:
  4399  //   * NoSuchOrganizationConformancePackException
  4400  //   Config organization conformance pack that you passed in the filter does not
  4401  //   exist.
  4402  //
  4403  //   For DeleteOrganizationConformancePack, you tried to delete an organization
  4404  //   conformance pack that does not exist.
  4405  //
  4406  //   * InvalidLimitException
  4407  //   The specified limit is outside the allowable range.
  4408  //
  4409  //   * InvalidNextTokenException
  4410  //   The specified next token is invalid. Specify the nextToken string that was
  4411  //   returned in the previous response to get the next page of results.
  4412  //
  4413  //   * OrganizationAccessDeniedException
  4414  //   For PutConfigurationAggregator API, you can see this exception for the following
  4415  //   reasons:
  4416  //
  4417  //      * No permission to call EnableAWSServiceAccess API
  4418  //
  4419  //      * The configuration aggregator cannot be updated because your Amazon Web
  4420  //      Services Organization management account or the delegated administrator
  4421  //      role changed. Delete this aggregator and create a new one with the current
  4422  //      Amazon Web Services Organization.
  4423  //
  4424  //      * The configuration aggregator is associated with a previous Amazon Web
  4425  //      Services Organization and Config cannot aggregate data with current Amazon
  4426  //      Web Services Organization. Delete this aggregator and create a new one
  4427  //      with the current Amazon Web Services Organization.
  4428  //
  4429  //      * You are not a registered delegated administrator for Config with permissions
  4430  //      to call ListDelegatedAdministrators API. Ensure that the management account
  4431  //      registers delagated administrator for Config service principle name before
  4432  //      the delegated administrator creates an aggregator.
  4433  //
  4434  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  4435  //   throws an exception if APIs are called from member accounts. All APIs must
  4436  //   be called from organization master account.
  4437  //
  4438  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePackStatuses
  4439  func (c *ConfigService) DescribeOrganizationConformancePackStatuses(input *DescribeOrganizationConformancePackStatusesInput) (*DescribeOrganizationConformancePackStatusesOutput, error) {
  4440  	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
  4441  	return out, req.Send()
  4442  }
  4443  
  4444  // DescribeOrganizationConformancePackStatusesWithContext is the same as DescribeOrganizationConformancePackStatuses with the addition of
  4445  // the ability to pass a context and additional request options.
  4446  //
  4447  // See DescribeOrganizationConformancePackStatuses for details on how to use this API operation.
  4448  //
  4449  // The context must be non-nil and will be used for request cancellation. If
  4450  // the context is nil a panic will occur. In the future the SDK may create
  4451  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4452  // for more information on using Contexts.
  4453  func (c *ConfigService) DescribeOrganizationConformancePackStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConformancePackStatusesInput, opts ...request.Option) (*DescribeOrganizationConformancePackStatusesOutput, error) {
  4454  	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
  4455  	req.SetContext(ctx)
  4456  	req.ApplyOptions(opts...)
  4457  	return out, req.Send()
  4458  }
  4459  
  4460  // DescribeOrganizationConformancePackStatusesPages iterates over the pages of a DescribeOrganizationConformancePackStatuses operation,
  4461  // calling the "fn" function with the response data for each page. To stop
  4462  // iterating, return false from the fn function.
  4463  //
  4464  // See DescribeOrganizationConformancePackStatuses method for more information on how to use this operation.
  4465  //
  4466  // Note: This operation can generate multiple requests to a service.
  4467  //
  4468  //    // Example iterating over at most 3 pages of a DescribeOrganizationConformancePackStatuses operation.
  4469  //    pageNum := 0
  4470  //    err := client.DescribeOrganizationConformancePackStatusesPages(params,
  4471  //        func(page *configservice.DescribeOrganizationConformancePackStatusesOutput, lastPage bool) bool {
  4472  //            pageNum++
  4473  //            fmt.Println(page)
  4474  //            return pageNum <= 3
  4475  //        })
  4476  //
  4477  func (c *ConfigService) DescribeOrganizationConformancePackStatusesPages(input *DescribeOrganizationConformancePackStatusesInput, fn func(*DescribeOrganizationConformancePackStatusesOutput, bool) bool) error {
  4478  	return c.DescribeOrganizationConformancePackStatusesPagesWithContext(aws.BackgroundContext(), input, fn)
  4479  }
  4480  
  4481  // DescribeOrganizationConformancePackStatusesPagesWithContext same as DescribeOrganizationConformancePackStatusesPages except
  4482  // it takes a Context and allows setting request options on the pages.
  4483  //
  4484  // The context must be non-nil and will be used for request cancellation. If
  4485  // the context is nil a panic will occur. In the future the SDK may create
  4486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4487  // for more information on using Contexts.
  4488  func (c *ConfigService) DescribeOrganizationConformancePackStatusesPagesWithContext(ctx aws.Context, input *DescribeOrganizationConformancePackStatusesInput, fn func(*DescribeOrganizationConformancePackStatusesOutput, bool) bool, opts ...request.Option) error {
  4489  	p := request.Pagination{
  4490  		NewRequest: func() (*request.Request, error) {
  4491  			var inCpy *DescribeOrganizationConformancePackStatusesInput
  4492  			if input != nil {
  4493  				tmp := *input
  4494  				inCpy = &tmp
  4495  			}
  4496  			req, _ := c.DescribeOrganizationConformancePackStatusesRequest(inCpy)
  4497  			req.SetContext(ctx)
  4498  			req.ApplyOptions(opts...)
  4499  			return req, nil
  4500  		},
  4501  	}
  4502  
  4503  	for p.Next() {
  4504  		if !fn(p.Page().(*DescribeOrganizationConformancePackStatusesOutput), !p.HasNextPage()) {
  4505  			break
  4506  		}
  4507  	}
  4508  
  4509  	return p.Err()
  4510  }
  4511  
  4512  const opDescribeOrganizationConformancePacks = "DescribeOrganizationConformancePacks"
  4513  
  4514  // DescribeOrganizationConformancePacksRequest generates a "aws/request.Request" representing the
  4515  // client's request for the DescribeOrganizationConformancePacks operation. The "output" return
  4516  // value will be populated with the request's response once the request completes
  4517  // successfully.
  4518  //
  4519  // Use "Send" method on the returned Request to send the API call to the service.
  4520  // the "output" return value is not valid until after Send returns without error.
  4521  //
  4522  // See DescribeOrganizationConformancePacks for more information on using the DescribeOrganizationConformancePacks
  4523  // API call, and error handling.
  4524  //
  4525  // This method is useful when you want to inject custom logic or configuration
  4526  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4527  //
  4528  //
  4529  //    // Example sending a request using the DescribeOrganizationConformancePacksRequest method.
  4530  //    req, resp := client.DescribeOrganizationConformancePacksRequest(params)
  4531  //
  4532  //    err := req.Send()
  4533  //    if err == nil { // resp is now filled
  4534  //        fmt.Println(resp)
  4535  //    }
  4536  //
  4537  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
  4538  func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *DescribeOrganizationConformancePacksInput) (req *request.Request, output *DescribeOrganizationConformancePacksOutput) {
  4539  	op := &request.Operation{
  4540  		Name:       opDescribeOrganizationConformancePacks,
  4541  		HTTPMethod: "POST",
  4542  		HTTPPath:   "/",
  4543  		Paginator: &request.Paginator{
  4544  			InputTokens:     []string{"NextToken"},
  4545  			OutputTokens:    []string{"NextToken"},
  4546  			LimitToken:      "Limit",
  4547  			TruncationToken: "",
  4548  		},
  4549  	}
  4550  
  4551  	if input == nil {
  4552  		input = &DescribeOrganizationConformancePacksInput{}
  4553  	}
  4554  
  4555  	output = &DescribeOrganizationConformancePacksOutput{}
  4556  	req = c.newRequest(op, input, output)
  4557  	return
  4558  }
  4559  
  4560  // DescribeOrganizationConformancePacks API operation for AWS Config.
  4561  //
  4562  // Returns a list of organization conformance packs.
  4563  //
  4564  // When you specify the limit and the next token, you receive a paginated response.
  4565  //
  4566  // Limit and next token are not applicable if you specify organization conformance
  4567  // packs names. They are only applicable, when you request all the organization
  4568  // conformance packs.
  4569  //
  4570  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4571  // with awserr.Error's Code and Message methods to get detailed information about
  4572  // the error.
  4573  //
  4574  // See the AWS API reference guide for AWS Config's
  4575  // API operation DescribeOrganizationConformancePacks for usage and error information.
  4576  //
  4577  // Returned Error Types:
  4578  //   * NoSuchOrganizationConformancePackException
  4579  //   Config organization conformance pack that you passed in the filter does not
  4580  //   exist.
  4581  //
  4582  //   For DeleteOrganizationConformancePack, you tried to delete an organization
  4583  //   conformance pack that does not exist.
  4584  //
  4585  //   * InvalidNextTokenException
  4586  //   The specified next token is invalid. Specify the nextToken string that was
  4587  //   returned in the previous response to get the next page of results.
  4588  //
  4589  //   * InvalidLimitException
  4590  //   The specified limit is outside the allowable range.
  4591  //
  4592  //   * OrganizationAccessDeniedException
  4593  //   For PutConfigurationAggregator API, you can see this exception for the following
  4594  //   reasons:
  4595  //
  4596  //      * No permission to call EnableAWSServiceAccess API
  4597  //
  4598  //      * The configuration aggregator cannot be updated because your Amazon Web
  4599  //      Services Organization management account or the delegated administrator
  4600  //      role changed. Delete this aggregator and create a new one with the current
  4601  //      Amazon Web Services Organization.
  4602  //
  4603  //      * The configuration aggregator is associated with a previous Amazon Web
  4604  //      Services Organization and Config cannot aggregate data with current Amazon
  4605  //      Web Services Organization. Delete this aggregator and create a new one
  4606  //      with the current Amazon Web Services Organization.
  4607  //
  4608  //      * You are not a registered delegated administrator for Config with permissions
  4609  //      to call ListDelegatedAdministrators API. Ensure that the management account
  4610  //      registers delagated administrator for Config service principle name before
  4611  //      the delegated administrator creates an aggregator.
  4612  //
  4613  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  4614  //   throws an exception if APIs are called from member accounts. All APIs must
  4615  //   be called from organization master account.
  4616  //
  4617  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
  4618  func (c *ConfigService) DescribeOrganizationConformancePacks(input *DescribeOrganizationConformancePacksInput) (*DescribeOrganizationConformancePacksOutput, error) {
  4619  	req, out := c.DescribeOrganizationConformancePacksRequest(input)
  4620  	return out, req.Send()
  4621  }
  4622  
  4623  // DescribeOrganizationConformancePacksWithContext is the same as DescribeOrganizationConformancePacks with the addition of
  4624  // the ability to pass a context and additional request options.
  4625  //
  4626  // See DescribeOrganizationConformancePacks for details on how to use this API operation.
  4627  //
  4628  // The context must be non-nil and will be used for request cancellation. If
  4629  // the context is nil a panic will occur. In the future the SDK may create
  4630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4631  // for more information on using Contexts.
  4632  func (c *ConfigService) DescribeOrganizationConformancePacksWithContext(ctx aws.Context, input *DescribeOrganizationConformancePacksInput, opts ...request.Option) (*DescribeOrganizationConformancePacksOutput, error) {
  4633  	req, out := c.DescribeOrganizationConformancePacksRequest(input)
  4634  	req.SetContext(ctx)
  4635  	req.ApplyOptions(opts...)
  4636  	return out, req.Send()
  4637  }
  4638  
  4639  // DescribeOrganizationConformancePacksPages iterates over the pages of a DescribeOrganizationConformancePacks operation,
  4640  // calling the "fn" function with the response data for each page. To stop
  4641  // iterating, return false from the fn function.
  4642  //
  4643  // See DescribeOrganizationConformancePacks method for more information on how to use this operation.
  4644  //
  4645  // Note: This operation can generate multiple requests to a service.
  4646  //
  4647  //    // Example iterating over at most 3 pages of a DescribeOrganizationConformancePacks operation.
  4648  //    pageNum := 0
  4649  //    err := client.DescribeOrganizationConformancePacksPages(params,
  4650  //        func(page *configservice.DescribeOrganizationConformancePacksOutput, lastPage bool) bool {
  4651  //            pageNum++
  4652  //            fmt.Println(page)
  4653  //            return pageNum <= 3
  4654  //        })
  4655  //
  4656  func (c *ConfigService) DescribeOrganizationConformancePacksPages(input *DescribeOrganizationConformancePacksInput, fn func(*DescribeOrganizationConformancePacksOutput, bool) bool) error {
  4657  	return c.DescribeOrganizationConformancePacksPagesWithContext(aws.BackgroundContext(), input, fn)
  4658  }
  4659  
  4660  // DescribeOrganizationConformancePacksPagesWithContext same as DescribeOrganizationConformancePacksPages except
  4661  // it takes a Context and allows setting request options on the pages.
  4662  //
  4663  // The context must be non-nil and will be used for request cancellation. If
  4664  // the context is nil a panic will occur. In the future the SDK may create
  4665  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4666  // for more information on using Contexts.
  4667  func (c *ConfigService) DescribeOrganizationConformancePacksPagesWithContext(ctx aws.Context, input *DescribeOrganizationConformancePacksInput, fn func(*DescribeOrganizationConformancePacksOutput, bool) bool, opts ...request.Option) error {
  4668  	p := request.Pagination{
  4669  		NewRequest: func() (*request.Request, error) {
  4670  			var inCpy *DescribeOrganizationConformancePacksInput
  4671  			if input != nil {
  4672  				tmp := *input
  4673  				inCpy = &tmp
  4674  			}
  4675  			req, _ := c.DescribeOrganizationConformancePacksRequest(inCpy)
  4676  			req.SetContext(ctx)
  4677  			req.ApplyOptions(opts...)
  4678  			return req, nil
  4679  		},
  4680  	}
  4681  
  4682  	for p.Next() {
  4683  		if !fn(p.Page().(*DescribeOrganizationConformancePacksOutput), !p.HasNextPage()) {
  4684  			break
  4685  		}
  4686  	}
  4687  
  4688  	return p.Err()
  4689  }
  4690  
  4691  const opDescribePendingAggregationRequests = "DescribePendingAggregationRequests"
  4692  
  4693  // DescribePendingAggregationRequestsRequest generates a "aws/request.Request" representing the
  4694  // client's request for the DescribePendingAggregationRequests operation. The "output" return
  4695  // value will be populated with the request's response once the request completes
  4696  // successfully.
  4697  //
  4698  // Use "Send" method on the returned Request to send the API call to the service.
  4699  // the "output" return value is not valid until after Send returns without error.
  4700  //
  4701  // See DescribePendingAggregationRequests for more information on using the DescribePendingAggregationRequests
  4702  // API call, and error handling.
  4703  //
  4704  // This method is useful when you want to inject custom logic or configuration
  4705  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4706  //
  4707  //
  4708  //    // Example sending a request using the DescribePendingAggregationRequestsRequest method.
  4709  //    req, resp := client.DescribePendingAggregationRequestsRequest(params)
  4710  //
  4711  //    err := req.Send()
  4712  //    if err == nil { // resp is now filled
  4713  //        fmt.Println(resp)
  4714  //    }
  4715  //
  4716  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
  4717  func (c *ConfigService) DescribePendingAggregationRequestsRequest(input *DescribePendingAggregationRequestsInput) (req *request.Request, output *DescribePendingAggregationRequestsOutput) {
  4718  	op := &request.Operation{
  4719  		Name:       opDescribePendingAggregationRequests,
  4720  		HTTPMethod: "POST",
  4721  		HTTPPath:   "/",
  4722  		Paginator: &request.Paginator{
  4723  			InputTokens:     []string{"NextToken"},
  4724  			OutputTokens:    []string{"NextToken"},
  4725  			LimitToken:      "Limit",
  4726  			TruncationToken: "",
  4727  		},
  4728  	}
  4729  
  4730  	if input == nil {
  4731  		input = &DescribePendingAggregationRequestsInput{}
  4732  	}
  4733  
  4734  	output = &DescribePendingAggregationRequestsOutput{}
  4735  	req = c.newRequest(op, input, output)
  4736  	return
  4737  }
  4738  
  4739  // DescribePendingAggregationRequests API operation for AWS Config.
  4740  //
  4741  // Returns a list of all pending aggregation requests.
  4742  //
  4743  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4744  // with awserr.Error's Code and Message methods to get detailed information about
  4745  // the error.
  4746  //
  4747  // See the AWS API reference guide for AWS Config's
  4748  // API operation DescribePendingAggregationRequests for usage and error information.
  4749  //
  4750  // Returned Error Types:
  4751  //   * InvalidParameterValueException
  4752  //   One or more of the specified parameters are invalid. Verify that your parameters
  4753  //   are valid and try again.
  4754  //
  4755  //   * InvalidNextTokenException
  4756  //   The specified next token is invalid. Specify the nextToken string that was
  4757  //   returned in the previous response to get the next page of results.
  4758  //
  4759  //   * InvalidLimitException
  4760  //   The specified limit is outside the allowable range.
  4761  //
  4762  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
  4763  func (c *ConfigService) DescribePendingAggregationRequests(input *DescribePendingAggregationRequestsInput) (*DescribePendingAggregationRequestsOutput, error) {
  4764  	req, out := c.DescribePendingAggregationRequestsRequest(input)
  4765  	return out, req.Send()
  4766  }
  4767  
  4768  // DescribePendingAggregationRequestsWithContext is the same as DescribePendingAggregationRequests with the addition of
  4769  // the ability to pass a context and additional request options.
  4770  //
  4771  // See DescribePendingAggregationRequests for details on how to use this API operation.
  4772  //
  4773  // The context must be non-nil and will be used for request cancellation. If
  4774  // the context is nil a panic will occur. In the future the SDK may create
  4775  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4776  // for more information on using Contexts.
  4777  func (c *ConfigService) DescribePendingAggregationRequestsWithContext(ctx aws.Context, input *DescribePendingAggregationRequestsInput, opts ...request.Option) (*DescribePendingAggregationRequestsOutput, error) {
  4778  	req, out := c.DescribePendingAggregationRequestsRequest(input)
  4779  	req.SetContext(ctx)
  4780  	req.ApplyOptions(opts...)
  4781  	return out, req.Send()
  4782  }
  4783  
  4784  // DescribePendingAggregationRequestsPages iterates over the pages of a DescribePendingAggregationRequests operation,
  4785  // calling the "fn" function with the response data for each page. To stop
  4786  // iterating, return false from the fn function.
  4787  //
  4788  // See DescribePendingAggregationRequests method for more information on how to use this operation.
  4789  //
  4790  // Note: This operation can generate multiple requests to a service.
  4791  //
  4792  //    // Example iterating over at most 3 pages of a DescribePendingAggregationRequests operation.
  4793  //    pageNum := 0
  4794  //    err := client.DescribePendingAggregationRequestsPages(params,
  4795  //        func(page *configservice.DescribePendingAggregationRequestsOutput, lastPage bool) bool {
  4796  //            pageNum++
  4797  //            fmt.Println(page)
  4798  //            return pageNum <= 3
  4799  //        })
  4800  //
  4801  func (c *ConfigService) DescribePendingAggregationRequestsPages(input *DescribePendingAggregationRequestsInput, fn func(*DescribePendingAggregationRequestsOutput, bool) bool) error {
  4802  	return c.DescribePendingAggregationRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  4803  }
  4804  
  4805  // DescribePendingAggregationRequestsPagesWithContext same as DescribePendingAggregationRequestsPages except
  4806  // it takes a Context and allows setting request options on the pages.
  4807  //
  4808  // The context must be non-nil and will be used for request cancellation. If
  4809  // the context is nil a panic will occur. In the future the SDK may create
  4810  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4811  // for more information on using Contexts.
  4812  func (c *ConfigService) DescribePendingAggregationRequestsPagesWithContext(ctx aws.Context, input *DescribePendingAggregationRequestsInput, fn func(*DescribePendingAggregationRequestsOutput, bool) bool, opts ...request.Option) error {
  4813  	p := request.Pagination{
  4814  		NewRequest: func() (*request.Request, error) {
  4815  			var inCpy *DescribePendingAggregationRequestsInput
  4816  			if input != nil {
  4817  				tmp := *input
  4818  				inCpy = &tmp
  4819  			}
  4820  			req, _ := c.DescribePendingAggregationRequestsRequest(inCpy)
  4821  			req.SetContext(ctx)
  4822  			req.ApplyOptions(opts...)
  4823  			return req, nil
  4824  		},
  4825  	}
  4826  
  4827  	for p.Next() {
  4828  		if !fn(p.Page().(*DescribePendingAggregationRequestsOutput), !p.HasNextPage()) {
  4829  			break
  4830  		}
  4831  	}
  4832  
  4833  	return p.Err()
  4834  }
  4835  
  4836  const opDescribeRemediationConfigurations = "DescribeRemediationConfigurations"
  4837  
  4838  // DescribeRemediationConfigurationsRequest generates a "aws/request.Request" representing the
  4839  // client's request for the DescribeRemediationConfigurations operation. The "output" return
  4840  // value will be populated with the request's response once the request completes
  4841  // successfully.
  4842  //
  4843  // Use "Send" method on the returned Request to send the API call to the service.
  4844  // the "output" return value is not valid until after Send returns without error.
  4845  //
  4846  // See DescribeRemediationConfigurations for more information on using the DescribeRemediationConfigurations
  4847  // API call, and error handling.
  4848  //
  4849  // This method is useful when you want to inject custom logic or configuration
  4850  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4851  //
  4852  //
  4853  //    // Example sending a request using the DescribeRemediationConfigurationsRequest method.
  4854  //    req, resp := client.DescribeRemediationConfigurationsRequest(params)
  4855  //
  4856  //    err := req.Send()
  4857  //    if err == nil { // resp is now filled
  4858  //        fmt.Println(resp)
  4859  //    }
  4860  //
  4861  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
  4862  func (c *ConfigService) DescribeRemediationConfigurationsRequest(input *DescribeRemediationConfigurationsInput) (req *request.Request, output *DescribeRemediationConfigurationsOutput) {
  4863  	op := &request.Operation{
  4864  		Name:       opDescribeRemediationConfigurations,
  4865  		HTTPMethod: "POST",
  4866  		HTTPPath:   "/",
  4867  	}
  4868  
  4869  	if input == nil {
  4870  		input = &DescribeRemediationConfigurationsInput{}
  4871  	}
  4872  
  4873  	output = &DescribeRemediationConfigurationsOutput{}
  4874  	req = c.newRequest(op, input, output)
  4875  	return
  4876  }
  4877  
  4878  // DescribeRemediationConfigurations API operation for AWS Config.
  4879  //
  4880  // Returns the details of one or more remediation configurations.
  4881  //
  4882  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4883  // with awserr.Error's Code and Message methods to get detailed information about
  4884  // the error.
  4885  //
  4886  // See the AWS API reference guide for AWS Config's
  4887  // API operation DescribeRemediationConfigurations for usage and error information.
  4888  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
  4889  func (c *ConfigService) DescribeRemediationConfigurations(input *DescribeRemediationConfigurationsInput) (*DescribeRemediationConfigurationsOutput, error) {
  4890  	req, out := c.DescribeRemediationConfigurationsRequest(input)
  4891  	return out, req.Send()
  4892  }
  4893  
  4894  // DescribeRemediationConfigurationsWithContext is the same as DescribeRemediationConfigurations with the addition of
  4895  // the ability to pass a context and additional request options.
  4896  //
  4897  // See DescribeRemediationConfigurations for details on how to use this API operation.
  4898  //
  4899  // The context must be non-nil and will be used for request cancellation. If
  4900  // the context is nil a panic will occur. In the future the SDK may create
  4901  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4902  // for more information on using Contexts.
  4903  func (c *ConfigService) DescribeRemediationConfigurationsWithContext(ctx aws.Context, input *DescribeRemediationConfigurationsInput, opts ...request.Option) (*DescribeRemediationConfigurationsOutput, error) {
  4904  	req, out := c.DescribeRemediationConfigurationsRequest(input)
  4905  	req.SetContext(ctx)
  4906  	req.ApplyOptions(opts...)
  4907  	return out, req.Send()
  4908  }
  4909  
  4910  const opDescribeRemediationExceptions = "DescribeRemediationExceptions"
  4911  
  4912  // DescribeRemediationExceptionsRequest generates a "aws/request.Request" representing the
  4913  // client's request for the DescribeRemediationExceptions operation. The "output" return
  4914  // value will be populated with the request's response once the request completes
  4915  // successfully.
  4916  //
  4917  // Use "Send" method on the returned Request to send the API call to the service.
  4918  // the "output" return value is not valid until after Send returns without error.
  4919  //
  4920  // See DescribeRemediationExceptions for more information on using the DescribeRemediationExceptions
  4921  // API call, and error handling.
  4922  //
  4923  // This method is useful when you want to inject custom logic or configuration
  4924  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4925  //
  4926  //
  4927  //    // Example sending a request using the DescribeRemediationExceptionsRequest method.
  4928  //    req, resp := client.DescribeRemediationExceptionsRequest(params)
  4929  //
  4930  //    err := req.Send()
  4931  //    if err == nil { // resp is now filled
  4932  //        fmt.Println(resp)
  4933  //    }
  4934  //
  4935  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
  4936  func (c *ConfigService) DescribeRemediationExceptionsRequest(input *DescribeRemediationExceptionsInput) (req *request.Request, output *DescribeRemediationExceptionsOutput) {
  4937  	op := &request.Operation{
  4938  		Name:       opDescribeRemediationExceptions,
  4939  		HTTPMethod: "POST",
  4940  		HTTPPath:   "/",
  4941  		Paginator: &request.Paginator{
  4942  			InputTokens:     []string{"NextToken"},
  4943  			OutputTokens:    []string{"NextToken"},
  4944  			LimitToken:      "Limit",
  4945  			TruncationToken: "",
  4946  		},
  4947  	}
  4948  
  4949  	if input == nil {
  4950  		input = &DescribeRemediationExceptionsInput{}
  4951  	}
  4952  
  4953  	output = &DescribeRemediationExceptionsOutput{}
  4954  	req = c.newRequest(op, input, output)
  4955  	return
  4956  }
  4957  
  4958  // DescribeRemediationExceptions API operation for AWS Config.
  4959  //
  4960  // Returns the details of one or more remediation exceptions. A detailed view
  4961  // of a remediation exception for a set of resources that includes an explanation
  4962  // of an exception and the time when the exception will be deleted. When you
  4963  // specify the limit and the next token, you receive a paginated response.
  4964  //
  4965  // Config generates a remediation exception when a problem occurs executing
  4966  // a remediation action to a specific resource. Remediation exceptions blocks
  4967  // auto-remediation until the exception is cleared.
  4968  //
  4969  // When you specify the limit and the next token, you receive a paginated response.
  4970  //
  4971  // Limit and next token are not applicable if you request resources in batch.
  4972  // It is only applicable, when you request all resources.
  4973  //
  4974  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4975  // with awserr.Error's Code and Message methods to get detailed information about
  4976  // the error.
  4977  //
  4978  // See the AWS API reference guide for AWS Config's
  4979  // API operation DescribeRemediationExceptions for usage and error information.
  4980  //
  4981  // Returned Error Types:
  4982  //   * InvalidNextTokenException
  4983  //   The specified next token is invalid. Specify the nextToken string that was
  4984  //   returned in the previous response to get the next page of results.
  4985  //
  4986  //   * InvalidParameterValueException
  4987  //   One or more of the specified parameters are invalid. Verify that your parameters
  4988  //   are valid and try again.
  4989  //
  4990  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
  4991  func (c *ConfigService) DescribeRemediationExceptions(input *DescribeRemediationExceptionsInput) (*DescribeRemediationExceptionsOutput, error) {
  4992  	req, out := c.DescribeRemediationExceptionsRequest(input)
  4993  	return out, req.Send()
  4994  }
  4995  
  4996  // DescribeRemediationExceptionsWithContext is the same as DescribeRemediationExceptions with the addition of
  4997  // the ability to pass a context and additional request options.
  4998  //
  4999  // See DescribeRemediationExceptions for details on how to use this API operation.
  5000  //
  5001  // The context must be non-nil and will be used for request cancellation. If
  5002  // the context is nil a panic will occur. In the future the SDK may create
  5003  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5004  // for more information on using Contexts.
  5005  func (c *ConfigService) DescribeRemediationExceptionsWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, opts ...request.Option) (*DescribeRemediationExceptionsOutput, error) {
  5006  	req, out := c.DescribeRemediationExceptionsRequest(input)
  5007  	req.SetContext(ctx)
  5008  	req.ApplyOptions(opts...)
  5009  	return out, req.Send()
  5010  }
  5011  
  5012  // DescribeRemediationExceptionsPages iterates over the pages of a DescribeRemediationExceptions operation,
  5013  // calling the "fn" function with the response data for each page. To stop
  5014  // iterating, return false from the fn function.
  5015  //
  5016  // See DescribeRemediationExceptions method for more information on how to use this operation.
  5017  //
  5018  // Note: This operation can generate multiple requests to a service.
  5019  //
  5020  //    // Example iterating over at most 3 pages of a DescribeRemediationExceptions operation.
  5021  //    pageNum := 0
  5022  //    err := client.DescribeRemediationExceptionsPages(params,
  5023  //        func(page *configservice.DescribeRemediationExceptionsOutput, lastPage bool) bool {
  5024  //            pageNum++
  5025  //            fmt.Println(page)
  5026  //            return pageNum <= 3
  5027  //        })
  5028  //
  5029  func (c *ConfigService) DescribeRemediationExceptionsPages(input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool) error {
  5030  	return c.DescribeRemediationExceptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  5031  }
  5032  
  5033  // DescribeRemediationExceptionsPagesWithContext same as DescribeRemediationExceptionsPages except
  5034  // it takes a Context and allows setting request options on the pages.
  5035  //
  5036  // The context must be non-nil and will be used for request cancellation. If
  5037  // the context is nil a panic will occur. In the future the SDK may create
  5038  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5039  // for more information on using Contexts.
  5040  func (c *ConfigService) DescribeRemediationExceptionsPagesWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool, opts ...request.Option) error {
  5041  	p := request.Pagination{
  5042  		NewRequest: func() (*request.Request, error) {
  5043  			var inCpy *DescribeRemediationExceptionsInput
  5044  			if input != nil {
  5045  				tmp := *input
  5046  				inCpy = &tmp
  5047  			}
  5048  			req, _ := c.DescribeRemediationExceptionsRequest(inCpy)
  5049  			req.SetContext(ctx)
  5050  			req.ApplyOptions(opts...)
  5051  			return req, nil
  5052  		},
  5053  	}
  5054  
  5055  	for p.Next() {
  5056  		if !fn(p.Page().(*DescribeRemediationExceptionsOutput), !p.HasNextPage()) {
  5057  			break
  5058  		}
  5059  	}
  5060  
  5061  	return p.Err()
  5062  }
  5063  
  5064  const opDescribeRemediationExecutionStatus = "DescribeRemediationExecutionStatus"
  5065  
  5066  // DescribeRemediationExecutionStatusRequest generates a "aws/request.Request" representing the
  5067  // client's request for the DescribeRemediationExecutionStatus operation. The "output" return
  5068  // value will be populated with the request's response once the request completes
  5069  // successfully.
  5070  //
  5071  // Use "Send" method on the returned Request to send the API call to the service.
  5072  // the "output" return value is not valid until after Send returns without error.
  5073  //
  5074  // See DescribeRemediationExecutionStatus for more information on using the DescribeRemediationExecutionStatus
  5075  // API call, and error handling.
  5076  //
  5077  // This method is useful when you want to inject custom logic or configuration
  5078  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5079  //
  5080  //
  5081  //    // Example sending a request using the DescribeRemediationExecutionStatusRequest method.
  5082  //    req, resp := client.DescribeRemediationExecutionStatusRequest(params)
  5083  //
  5084  //    err := req.Send()
  5085  //    if err == nil { // resp is now filled
  5086  //        fmt.Println(resp)
  5087  //    }
  5088  //
  5089  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
  5090  func (c *ConfigService) DescribeRemediationExecutionStatusRequest(input *DescribeRemediationExecutionStatusInput) (req *request.Request, output *DescribeRemediationExecutionStatusOutput) {
  5091  	op := &request.Operation{
  5092  		Name:       opDescribeRemediationExecutionStatus,
  5093  		HTTPMethod: "POST",
  5094  		HTTPPath:   "/",
  5095  		Paginator: &request.Paginator{
  5096  			InputTokens:     []string{"NextToken"},
  5097  			OutputTokens:    []string{"NextToken"},
  5098  			LimitToken:      "Limit",
  5099  			TruncationToken: "",
  5100  		},
  5101  	}
  5102  
  5103  	if input == nil {
  5104  		input = &DescribeRemediationExecutionStatusInput{}
  5105  	}
  5106  
  5107  	output = &DescribeRemediationExecutionStatusOutput{}
  5108  	req = c.newRequest(op, input, output)
  5109  	return
  5110  }
  5111  
  5112  // DescribeRemediationExecutionStatus API operation for AWS Config.
  5113  //
  5114  // Provides a detailed view of a Remediation Execution for a set of resources
  5115  // including state, timestamps for when steps for the remediation execution
  5116  // occur, and any error messages for steps that have failed. When you specify
  5117  // the limit and the next token, you receive a paginated response.
  5118  //
  5119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5120  // with awserr.Error's Code and Message methods to get detailed information about
  5121  // the error.
  5122  //
  5123  // See the AWS API reference guide for AWS Config's
  5124  // API operation DescribeRemediationExecutionStatus for usage and error information.
  5125  //
  5126  // Returned Error Types:
  5127  //   * NoSuchRemediationConfigurationException
  5128  //   You specified an Config rule without a remediation configuration.
  5129  //
  5130  //   * InvalidNextTokenException
  5131  //   The specified next token is invalid. Specify the nextToken string that was
  5132  //   returned in the previous response to get the next page of results.
  5133  //
  5134  //   * InvalidParameterValueException
  5135  //   One or more of the specified parameters are invalid. Verify that your parameters
  5136  //   are valid and try again.
  5137  //
  5138  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
  5139  func (c *ConfigService) DescribeRemediationExecutionStatus(input *DescribeRemediationExecutionStatusInput) (*DescribeRemediationExecutionStatusOutput, error) {
  5140  	req, out := c.DescribeRemediationExecutionStatusRequest(input)
  5141  	return out, req.Send()
  5142  }
  5143  
  5144  // DescribeRemediationExecutionStatusWithContext is the same as DescribeRemediationExecutionStatus with the addition of
  5145  // the ability to pass a context and additional request options.
  5146  //
  5147  // See DescribeRemediationExecutionStatus for details on how to use this API operation.
  5148  //
  5149  // The context must be non-nil and will be used for request cancellation. If
  5150  // the context is nil a panic will occur. In the future the SDK may create
  5151  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5152  // for more information on using Contexts.
  5153  func (c *ConfigService) DescribeRemediationExecutionStatusWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, opts ...request.Option) (*DescribeRemediationExecutionStatusOutput, error) {
  5154  	req, out := c.DescribeRemediationExecutionStatusRequest(input)
  5155  	req.SetContext(ctx)
  5156  	req.ApplyOptions(opts...)
  5157  	return out, req.Send()
  5158  }
  5159  
  5160  // DescribeRemediationExecutionStatusPages iterates over the pages of a DescribeRemediationExecutionStatus operation,
  5161  // calling the "fn" function with the response data for each page. To stop
  5162  // iterating, return false from the fn function.
  5163  //
  5164  // See DescribeRemediationExecutionStatus method for more information on how to use this operation.
  5165  //
  5166  // Note: This operation can generate multiple requests to a service.
  5167  //
  5168  //    // Example iterating over at most 3 pages of a DescribeRemediationExecutionStatus operation.
  5169  //    pageNum := 0
  5170  //    err := client.DescribeRemediationExecutionStatusPages(params,
  5171  //        func(page *configservice.DescribeRemediationExecutionStatusOutput, lastPage bool) bool {
  5172  //            pageNum++
  5173  //            fmt.Println(page)
  5174  //            return pageNum <= 3
  5175  //        })
  5176  //
  5177  func (c *ConfigService) DescribeRemediationExecutionStatusPages(input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool) error {
  5178  	return c.DescribeRemediationExecutionStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  5179  }
  5180  
  5181  // DescribeRemediationExecutionStatusPagesWithContext same as DescribeRemediationExecutionStatusPages except
  5182  // it takes a Context and allows setting request options on the pages.
  5183  //
  5184  // The context must be non-nil and will be used for request cancellation. If
  5185  // the context is nil a panic will occur. In the future the SDK may create
  5186  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5187  // for more information on using Contexts.
  5188  func (c *ConfigService) DescribeRemediationExecutionStatusPagesWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool, opts ...request.Option) error {
  5189  	p := request.Pagination{
  5190  		NewRequest: func() (*request.Request, error) {
  5191  			var inCpy *DescribeRemediationExecutionStatusInput
  5192  			if input != nil {
  5193  				tmp := *input
  5194  				inCpy = &tmp
  5195  			}
  5196  			req, _ := c.DescribeRemediationExecutionStatusRequest(inCpy)
  5197  			req.SetContext(ctx)
  5198  			req.ApplyOptions(opts...)
  5199  			return req, nil
  5200  		},
  5201  	}
  5202  
  5203  	for p.Next() {
  5204  		if !fn(p.Page().(*DescribeRemediationExecutionStatusOutput), !p.HasNextPage()) {
  5205  			break
  5206  		}
  5207  	}
  5208  
  5209  	return p.Err()
  5210  }
  5211  
  5212  const opDescribeRetentionConfigurations = "DescribeRetentionConfigurations"
  5213  
  5214  // DescribeRetentionConfigurationsRequest generates a "aws/request.Request" representing the
  5215  // client's request for the DescribeRetentionConfigurations operation. The "output" return
  5216  // value will be populated with the request's response once the request completes
  5217  // successfully.
  5218  //
  5219  // Use "Send" method on the returned Request to send the API call to the service.
  5220  // the "output" return value is not valid until after Send returns without error.
  5221  //
  5222  // See DescribeRetentionConfigurations for more information on using the DescribeRetentionConfigurations
  5223  // API call, and error handling.
  5224  //
  5225  // This method is useful when you want to inject custom logic or configuration
  5226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5227  //
  5228  //
  5229  //    // Example sending a request using the DescribeRetentionConfigurationsRequest method.
  5230  //    req, resp := client.DescribeRetentionConfigurationsRequest(params)
  5231  //
  5232  //    err := req.Send()
  5233  //    if err == nil { // resp is now filled
  5234  //        fmt.Println(resp)
  5235  //    }
  5236  //
  5237  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
  5238  func (c *ConfigService) DescribeRetentionConfigurationsRequest(input *DescribeRetentionConfigurationsInput) (req *request.Request, output *DescribeRetentionConfigurationsOutput) {
  5239  	op := &request.Operation{
  5240  		Name:       opDescribeRetentionConfigurations,
  5241  		HTTPMethod: "POST",
  5242  		HTTPPath:   "/",
  5243  		Paginator: &request.Paginator{
  5244  			InputTokens:     []string{"NextToken"},
  5245  			OutputTokens:    []string{"NextToken"},
  5246  			LimitToken:      "",
  5247  			TruncationToken: "",
  5248  		},
  5249  	}
  5250  
  5251  	if input == nil {
  5252  		input = &DescribeRetentionConfigurationsInput{}
  5253  	}
  5254  
  5255  	output = &DescribeRetentionConfigurationsOutput{}
  5256  	req = c.newRequest(op, input, output)
  5257  	return
  5258  }
  5259  
  5260  // DescribeRetentionConfigurations API operation for AWS Config.
  5261  //
  5262  // Returns the details of one or more retention configurations. If the retention
  5263  // configuration name is not specified, this action returns the details for
  5264  // all the retention configurations for that account.
  5265  //
  5266  // Currently, Config supports only one retention configuration per region in
  5267  // your account.
  5268  //
  5269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5270  // with awserr.Error's Code and Message methods to get detailed information about
  5271  // the error.
  5272  //
  5273  // See the AWS API reference guide for AWS Config's
  5274  // API operation DescribeRetentionConfigurations for usage and error information.
  5275  //
  5276  // Returned Error Types:
  5277  //   * InvalidParameterValueException
  5278  //   One or more of the specified parameters are invalid. Verify that your parameters
  5279  //   are valid and try again.
  5280  //
  5281  //   * NoSuchRetentionConfigurationException
  5282  //   You have specified a retention configuration that does not exist.
  5283  //
  5284  //   * InvalidNextTokenException
  5285  //   The specified next token is invalid. Specify the nextToken string that was
  5286  //   returned in the previous response to get the next page of results.
  5287  //
  5288  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
  5289  func (c *ConfigService) DescribeRetentionConfigurations(input *DescribeRetentionConfigurationsInput) (*DescribeRetentionConfigurationsOutput, error) {
  5290  	req, out := c.DescribeRetentionConfigurationsRequest(input)
  5291  	return out, req.Send()
  5292  }
  5293  
  5294  // DescribeRetentionConfigurationsWithContext is the same as DescribeRetentionConfigurations with the addition of
  5295  // the ability to pass a context and additional request options.
  5296  //
  5297  // See DescribeRetentionConfigurations for details on how to use this API operation.
  5298  //
  5299  // The context must be non-nil and will be used for request cancellation. If
  5300  // the context is nil a panic will occur. In the future the SDK may create
  5301  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5302  // for more information on using Contexts.
  5303  func (c *ConfigService) DescribeRetentionConfigurationsWithContext(ctx aws.Context, input *DescribeRetentionConfigurationsInput, opts ...request.Option) (*DescribeRetentionConfigurationsOutput, error) {
  5304  	req, out := c.DescribeRetentionConfigurationsRequest(input)
  5305  	req.SetContext(ctx)
  5306  	req.ApplyOptions(opts...)
  5307  	return out, req.Send()
  5308  }
  5309  
  5310  // DescribeRetentionConfigurationsPages iterates over the pages of a DescribeRetentionConfigurations operation,
  5311  // calling the "fn" function with the response data for each page. To stop
  5312  // iterating, return false from the fn function.
  5313  //
  5314  // See DescribeRetentionConfigurations method for more information on how to use this operation.
  5315  //
  5316  // Note: This operation can generate multiple requests to a service.
  5317  //
  5318  //    // Example iterating over at most 3 pages of a DescribeRetentionConfigurations operation.
  5319  //    pageNum := 0
  5320  //    err := client.DescribeRetentionConfigurationsPages(params,
  5321  //        func(page *configservice.DescribeRetentionConfigurationsOutput, lastPage bool) bool {
  5322  //            pageNum++
  5323  //            fmt.Println(page)
  5324  //            return pageNum <= 3
  5325  //        })
  5326  //
  5327  func (c *ConfigService) DescribeRetentionConfigurationsPages(input *DescribeRetentionConfigurationsInput, fn func(*DescribeRetentionConfigurationsOutput, bool) bool) error {
  5328  	return c.DescribeRetentionConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  5329  }
  5330  
  5331  // DescribeRetentionConfigurationsPagesWithContext same as DescribeRetentionConfigurationsPages except
  5332  // it takes a Context and allows setting request options on the pages.
  5333  //
  5334  // The context must be non-nil and will be used for request cancellation. If
  5335  // the context is nil a panic will occur. In the future the SDK may create
  5336  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5337  // for more information on using Contexts.
  5338  func (c *ConfigService) DescribeRetentionConfigurationsPagesWithContext(ctx aws.Context, input *DescribeRetentionConfigurationsInput, fn func(*DescribeRetentionConfigurationsOutput, bool) bool, opts ...request.Option) error {
  5339  	p := request.Pagination{
  5340  		NewRequest: func() (*request.Request, error) {
  5341  			var inCpy *DescribeRetentionConfigurationsInput
  5342  			if input != nil {
  5343  				tmp := *input
  5344  				inCpy = &tmp
  5345  			}
  5346  			req, _ := c.DescribeRetentionConfigurationsRequest(inCpy)
  5347  			req.SetContext(ctx)
  5348  			req.ApplyOptions(opts...)
  5349  			return req, nil
  5350  		},
  5351  	}
  5352  
  5353  	for p.Next() {
  5354  		if !fn(p.Page().(*DescribeRetentionConfigurationsOutput), !p.HasNextPage()) {
  5355  			break
  5356  		}
  5357  	}
  5358  
  5359  	return p.Err()
  5360  }
  5361  
  5362  const opGetAggregateComplianceDetailsByConfigRule = "GetAggregateComplianceDetailsByConfigRule"
  5363  
  5364  // GetAggregateComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
  5365  // client's request for the GetAggregateComplianceDetailsByConfigRule operation. The "output" return
  5366  // value will be populated with the request's response once the request completes
  5367  // successfully.
  5368  //
  5369  // Use "Send" method on the returned Request to send the API call to the service.
  5370  // the "output" return value is not valid until after Send returns without error.
  5371  //
  5372  // See GetAggregateComplianceDetailsByConfigRule for more information on using the GetAggregateComplianceDetailsByConfigRule
  5373  // API call, and error handling.
  5374  //
  5375  // This method is useful when you want to inject custom logic or configuration
  5376  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5377  //
  5378  //
  5379  //    // Example sending a request using the GetAggregateComplianceDetailsByConfigRuleRequest method.
  5380  //    req, resp := client.GetAggregateComplianceDetailsByConfigRuleRequest(params)
  5381  //
  5382  //    err := req.Send()
  5383  //    if err == nil { // resp is now filled
  5384  //        fmt.Println(resp)
  5385  //    }
  5386  //
  5387  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
  5388  func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleRequest(input *GetAggregateComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetAggregateComplianceDetailsByConfigRuleOutput) {
  5389  	op := &request.Operation{
  5390  		Name:       opGetAggregateComplianceDetailsByConfigRule,
  5391  		HTTPMethod: "POST",
  5392  		HTTPPath:   "/",
  5393  		Paginator: &request.Paginator{
  5394  			InputTokens:     []string{"NextToken"},
  5395  			OutputTokens:    []string{"NextToken"},
  5396  			LimitToken:      "Limit",
  5397  			TruncationToken: "",
  5398  		},
  5399  	}
  5400  
  5401  	if input == nil {
  5402  		input = &GetAggregateComplianceDetailsByConfigRuleInput{}
  5403  	}
  5404  
  5405  	output = &GetAggregateComplianceDetailsByConfigRuleOutput{}
  5406  	req = c.newRequest(op, input, output)
  5407  	return
  5408  }
  5409  
  5410  // GetAggregateComplianceDetailsByConfigRule API operation for AWS Config.
  5411  //
  5412  // Returns the evaluation results for the specified Config rule for a specific
  5413  // resource in a rule. The results indicate which Amazon Web Services resources
  5414  // were evaluated by the rule, when each resource was last evaluated, and whether
  5415  // each resource complies with the rule.
  5416  //
  5417  // The results can return an empty result page. But if you have a nextToken,
  5418  // the results are displayed on the next page.
  5419  //
  5420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5421  // with awserr.Error's Code and Message methods to get detailed information about
  5422  // the error.
  5423  //
  5424  // See the AWS API reference guide for AWS Config's
  5425  // API operation GetAggregateComplianceDetailsByConfigRule for usage and error information.
  5426  //
  5427  // Returned Error Types:
  5428  //   * ValidationException
  5429  //   The requested action is not valid.
  5430  //
  5431  //   For PutStoredQuery, you will see this exception if there are missing required
  5432  //   fields or if the input value fails the validation, or if you are trying to
  5433  //   create more than 300 queries.
  5434  //
  5435  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  5436  //   exception if there are missing required fields or if the input value fails
  5437  //   the validation.
  5438  //
  5439  //   * InvalidLimitException
  5440  //   The specified limit is outside the allowable range.
  5441  //
  5442  //   * InvalidNextTokenException
  5443  //   The specified next token is invalid. Specify the nextToken string that was
  5444  //   returned in the previous response to get the next page of results.
  5445  //
  5446  //   * NoSuchConfigurationAggregatorException
  5447  //   You have specified a configuration aggregator that does not exist.
  5448  //
  5449  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
  5450  func (c *ConfigService) GetAggregateComplianceDetailsByConfigRule(input *GetAggregateComplianceDetailsByConfigRuleInput) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
  5451  	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
  5452  	return out, req.Send()
  5453  }
  5454  
  5455  // GetAggregateComplianceDetailsByConfigRuleWithContext is the same as GetAggregateComplianceDetailsByConfigRule with the addition of
  5456  // the ability to pass a context and additional request options.
  5457  //
  5458  // See GetAggregateComplianceDetailsByConfigRule for details on how to use this API operation.
  5459  //
  5460  // The context must be non-nil and will be used for request cancellation. If
  5461  // the context is nil a panic will occur. In the future the SDK may create
  5462  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5463  // for more information on using Contexts.
  5464  func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetAggregateComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
  5465  	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
  5466  	req.SetContext(ctx)
  5467  	req.ApplyOptions(opts...)
  5468  	return out, req.Send()
  5469  }
  5470  
  5471  // GetAggregateComplianceDetailsByConfigRulePages iterates over the pages of a GetAggregateComplianceDetailsByConfigRule operation,
  5472  // calling the "fn" function with the response data for each page. To stop
  5473  // iterating, return false from the fn function.
  5474  //
  5475  // See GetAggregateComplianceDetailsByConfigRule method for more information on how to use this operation.
  5476  //
  5477  // Note: This operation can generate multiple requests to a service.
  5478  //
  5479  //    // Example iterating over at most 3 pages of a GetAggregateComplianceDetailsByConfigRule operation.
  5480  //    pageNum := 0
  5481  //    err := client.GetAggregateComplianceDetailsByConfigRulePages(params,
  5482  //        func(page *configservice.GetAggregateComplianceDetailsByConfigRuleOutput, lastPage bool) bool {
  5483  //            pageNum++
  5484  //            fmt.Println(page)
  5485  //            return pageNum <= 3
  5486  //        })
  5487  //
  5488  func (c *ConfigService) GetAggregateComplianceDetailsByConfigRulePages(input *GetAggregateComplianceDetailsByConfigRuleInput, fn func(*GetAggregateComplianceDetailsByConfigRuleOutput, bool) bool) error {
  5489  	return c.GetAggregateComplianceDetailsByConfigRulePagesWithContext(aws.BackgroundContext(), input, fn)
  5490  }
  5491  
  5492  // GetAggregateComplianceDetailsByConfigRulePagesWithContext same as GetAggregateComplianceDetailsByConfigRulePages except
  5493  // it takes a Context and allows setting request options on the pages.
  5494  //
  5495  // The context must be non-nil and will be used for request cancellation. If
  5496  // the context is nil a panic will occur. In the future the SDK may create
  5497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5498  // for more information on using Contexts.
  5499  func (c *ConfigService) GetAggregateComplianceDetailsByConfigRulePagesWithContext(ctx aws.Context, input *GetAggregateComplianceDetailsByConfigRuleInput, fn func(*GetAggregateComplianceDetailsByConfigRuleOutput, bool) bool, opts ...request.Option) error {
  5500  	p := request.Pagination{
  5501  		NewRequest: func() (*request.Request, error) {
  5502  			var inCpy *GetAggregateComplianceDetailsByConfigRuleInput
  5503  			if input != nil {
  5504  				tmp := *input
  5505  				inCpy = &tmp
  5506  			}
  5507  			req, _ := c.GetAggregateComplianceDetailsByConfigRuleRequest(inCpy)
  5508  			req.SetContext(ctx)
  5509  			req.ApplyOptions(opts...)
  5510  			return req, nil
  5511  		},
  5512  	}
  5513  
  5514  	for p.Next() {
  5515  		if !fn(p.Page().(*GetAggregateComplianceDetailsByConfigRuleOutput), !p.HasNextPage()) {
  5516  			break
  5517  		}
  5518  	}
  5519  
  5520  	return p.Err()
  5521  }
  5522  
  5523  const opGetAggregateConfigRuleComplianceSummary = "GetAggregateConfigRuleComplianceSummary"
  5524  
  5525  // GetAggregateConfigRuleComplianceSummaryRequest generates a "aws/request.Request" representing the
  5526  // client's request for the GetAggregateConfigRuleComplianceSummary operation. The "output" return
  5527  // value will be populated with the request's response once the request completes
  5528  // successfully.
  5529  //
  5530  // Use "Send" method on the returned Request to send the API call to the service.
  5531  // the "output" return value is not valid until after Send returns without error.
  5532  //
  5533  // See GetAggregateConfigRuleComplianceSummary for more information on using the GetAggregateConfigRuleComplianceSummary
  5534  // API call, and error handling.
  5535  //
  5536  // This method is useful when you want to inject custom logic or configuration
  5537  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5538  //
  5539  //
  5540  //    // Example sending a request using the GetAggregateConfigRuleComplianceSummaryRequest method.
  5541  //    req, resp := client.GetAggregateConfigRuleComplianceSummaryRequest(params)
  5542  //
  5543  //    err := req.Send()
  5544  //    if err == nil { // resp is now filled
  5545  //        fmt.Println(resp)
  5546  //    }
  5547  //
  5548  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
  5549  func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryRequest(input *GetAggregateConfigRuleComplianceSummaryInput) (req *request.Request, output *GetAggregateConfigRuleComplianceSummaryOutput) {
  5550  	op := &request.Operation{
  5551  		Name:       opGetAggregateConfigRuleComplianceSummary,
  5552  		HTTPMethod: "POST",
  5553  		HTTPPath:   "/",
  5554  		Paginator: &request.Paginator{
  5555  			InputTokens:     []string{"NextToken"},
  5556  			OutputTokens:    []string{"NextToken"},
  5557  			LimitToken:      "Limit",
  5558  			TruncationToken: "",
  5559  		},
  5560  	}
  5561  
  5562  	if input == nil {
  5563  		input = &GetAggregateConfigRuleComplianceSummaryInput{}
  5564  	}
  5565  
  5566  	output = &GetAggregateConfigRuleComplianceSummaryOutput{}
  5567  	req = c.newRequest(op, input, output)
  5568  	return
  5569  }
  5570  
  5571  // GetAggregateConfigRuleComplianceSummary API operation for AWS Config.
  5572  //
  5573  // Returns the number of compliant and noncompliant rules for one or more accounts
  5574  // and regions in an aggregator.
  5575  //
  5576  // The results can return an empty result page, but if you have a nextToken,
  5577  // the results are displayed on the next page.
  5578  //
  5579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5580  // with awserr.Error's Code and Message methods to get detailed information about
  5581  // the error.
  5582  //
  5583  // See the AWS API reference guide for AWS Config's
  5584  // API operation GetAggregateConfigRuleComplianceSummary for usage and error information.
  5585  //
  5586  // Returned Error Types:
  5587  //   * ValidationException
  5588  //   The requested action is not valid.
  5589  //
  5590  //   For PutStoredQuery, you will see this exception if there are missing required
  5591  //   fields or if the input value fails the validation, or if you are trying to
  5592  //   create more than 300 queries.
  5593  //
  5594  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  5595  //   exception if there are missing required fields or if the input value fails
  5596  //   the validation.
  5597  //
  5598  //   * InvalidLimitException
  5599  //   The specified limit is outside the allowable range.
  5600  //
  5601  //   * InvalidNextTokenException
  5602  //   The specified next token is invalid. Specify the nextToken string that was
  5603  //   returned in the previous response to get the next page of results.
  5604  //
  5605  //   * NoSuchConfigurationAggregatorException
  5606  //   You have specified a configuration aggregator that does not exist.
  5607  //
  5608  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
  5609  func (c *ConfigService) GetAggregateConfigRuleComplianceSummary(input *GetAggregateConfigRuleComplianceSummaryInput) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
  5610  	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
  5611  	return out, req.Send()
  5612  }
  5613  
  5614  // GetAggregateConfigRuleComplianceSummaryWithContext is the same as GetAggregateConfigRuleComplianceSummary with the addition of
  5615  // the ability to pass a context and additional request options.
  5616  //
  5617  // See GetAggregateConfigRuleComplianceSummary for details on how to use this API operation.
  5618  //
  5619  // The context must be non-nil and will be used for request cancellation. If
  5620  // the context is nil a panic will occur. In the future the SDK may create
  5621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5622  // for more information on using Contexts.
  5623  func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryWithContext(ctx aws.Context, input *GetAggregateConfigRuleComplianceSummaryInput, opts ...request.Option) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
  5624  	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
  5625  	req.SetContext(ctx)
  5626  	req.ApplyOptions(opts...)
  5627  	return out, req.Send()
  5628  }
  5629  
  5630  // GetAggregateConfigRuleComplianceSummaryPages iterates over the pages of a GetAggregateConfigRuleComplianceSummary operation,
  5631  // calling the "fn" function with the response data for each page. To stop
  5632  // iterating, return false from the fn function.
  5633  //
  5634  // See GetAggregateConfigRuleComplianceSummary method for more information on how to use this operation.
  5635  //
  5636  // Note: This operation can generate multiple requests to a service.
  5637  //
  5638  //    // Example iterating over at most 3 pages of a GetAggregateConfigRuleComplianceSummary operation.
  5639  //    pageNum := 0
  5640  //    err := client.GetAggregateConfigRuleComplianceSummaryPages(params,
  5641  //        func(page *configservice.GetAggregateConfigRuleComplianceSummaryOutput, lastPage bool) bool {
  5642  //            pageNum++
  5643  //            fmt.Println(page)
  5644  //            return pageNum <= 3
  5645  //        })
  5646  //
  5647  func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryPages(input *GetAggregateConfigRuleComplianceSummaryInput, fn func(*GetAggregateConfigRuleComplianceSummaryOutput, bool) bool) error {
  5648  	return c.GetAggregateConfigRuleComplianceSummaryPagesWithContext(aws.BackgroundContext(), input, fn)
  5649  }
  5650  
  5651  // GetAggregateConfigRuleComplianceSummaryPagesWithContext same as GetAggregateConfigRuleComplianceSummaryPages except
  5652  // it takes a Context and allows setting request options on the pages.
  5653  //
  5654  // The context must be non-nil and will be used for request cancellation. If
  5655  // the context is nil a panic will occur. In the future the SDK may create
  5656  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5657  // for more information on using Contexts.
  5658  func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryPagesWithContext(ctx aws.Context, input *GetAggregateConfigRuleComplianceSummaryInput, fn func(*GetAggregateConfigRuleComplianceSummaryOutput, bool) bool, opts ...request.Option) error {
  5659  	p := request.Pagination{
  5660  		NewRequest: func() (*request.Request, error) {
  5661  			var inCpy *GetAggregateConfigRuleComplianceSummaryInput
  5662  			if input != nil {
  5663  				tmp := *input
  5664  				inCpy = &tmp
  5665  			}
  5666  			req, _ := c.GetAggregateConfigRuleComplianceSummaryRequest(inCpy)
  5667  			req.SetContext(ctx)
  5668  			req.ApplyOptions(opts...)
  5669  			return req, nil
  5670  		},
  5671  	}
  5672  
  5673  	for p.Next() {
  5674  		if !fn(p.Page().(*GetAggregateConfigRuleComplianceSummaryOutput), !p.HasNextPage()) {
  5675  			break
  5676  		}
  5677  	}
  5678  
  5679  	return p.Err()
  5680  }
  5681  
  5682  const opGetAggregateConformancePackComplianceSummary = "GetAggregateConformancePackComplianceSummary"
  5683  
  5684  // GetAggregateConformancePackComplianceSummaryRequest generates a "aws/request.Request" representing the
  5685  // client's request for the GetAggregateConformancePackComplianceSummary operation. The "output" return
  5686  // value will be populated with the request's response once the request completes
  5687  // successfully.
  5688  //
  5689  // Use "Send" method on the returned Request to send the API call to the service.
  5690  // the "output" return value is not valid until after Send returns without error.
  5691  //
  5692  // See GetAggregateConformancePackComplianceSummary for more information on using the GetAggregateConformancePackComplianceSummary
  5693  // API call, and error handling.
  5694  //
  5695  // This method is useful when you want to inject custom logic or configuration
  5696  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5697  //
  5698  //
  5699  //    // Example sending a request using the GetAggregateConformancePackComplianceSummaryRequest method.
  5700  //    req, resp := client.GetAggregateConformancePackComplianceSummaryRequest(params)
  5701  //
  5702  //    err := req.Send()
  5703  //    if err == nil { // resp is now filled
  5704  //        fmt.Println(resp)
  5705  //    }
  5706  //
  5707  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConformancePackComplianceSummary
  5708  func (c *ConfigService) GetAggregateConformancePackComplianceSummaryRequest(input *GetAggregateConformancePackComplianceSummaryInput) (req *request.Request, output *GetAggregateConformancePackComplianceSummaryOutput) {
  5709  	op := &request.Operation{
  5710  		Name:       opGetAggregateConformancePackComplianceSummary,
  5711  		HTTPMethod: "POST",
  5712  		HTTPPath:   "/",
  5713  		Paginator: &request.Paginator{
  5714  			InputTokens:     []string{"NextToken"},
  5715  			OutputTokens:    []string{"NextToken"},
  5716  			LimitToken:      "Limit",
  5717  			TruncationToken: "",
  5718  		},
  5719  	}
  5720  
  5721  	if input == nil {
  5722  		input = &GetAggregateConformancePackComplianceSummaryInput{}
  5723  	}
  5724  
  5725  	output = &GetAggregateConformancePackComplianceSummaryOutput{}
  5726  	req = c.newRequest(op, input, output)
  5727  	return
  5728  }
  5729  
  5730  // GetAggregateConformancePackComplianceSummary API operation for AWS Config.
  5731  //
  5732  // Returns the count of compliant and noncompliant conformance packs across
  5733  // all Amazon Web Services accounts and Amazon Web Services Regions in an aggregator.
  5734  // You can filter based on Amazon Web Services account ID or Amazon Web Services
  5735  // Region.
  5736  //
  5737  // The results can return an empty result page, but if you have a nextToken,
  5738  // the results are displayed on the next page.
  5739  //
  5740  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5741  // with awserr.Error's Code and Message methods to get detailed information about
  5742  // the error.
  5743  //
  5744  // See the AWS API reference guide for AWS Config's
  5745  // API operation GetAggregateConformancePackComplianceSummary for usage and error information.
  5746  //
  5747  // Returned Error Types:
  5748  //   * ValidationException
  5749  //   The requested action is not valid.
  5750  //
  5751  //   For PutStoredQuery, you will see this exception if there are missing required
  5752  //   fields or if the input value fails the validation, or if you are trying to
  5753  //   create more than 300 queries.
  5754  //
  5755  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  5756  //   exception if there are missing required fields or if the input value fails
  5757  //   the validation.
  5758  //
  5759  //   * InvalidLimitException
  5760  //   The specified limit is outside the allowable range.
  5761  //
  5762  //   * InvalidNextTokenException
  5763  //   The specified next token is invalid. Specify the nextToken string that was
  5764  //   returned in the previous response to get the next page of results.
  5765  //
  5766  //   * NoSuchConfigurationAggregatorException
  5767  //   You have specified a configuration aggregator that does not exist.
  5768  //
  5769  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConformancePackComplianceSummary
  5770  func (c *ConfigService) GetAggregateConformancePackComplianceSummary(input *GetAggregateConformancePackComplianceSummaryInput) (*GetAggregateConformancePackComplianceSummaryOutput, error) {
  5771  	req, out := c.GetAggregateConformancePackComplianceSummaryRequest(input)
  5772  	return out, req.Send()
  5773  }
  5774  
  5775  // GetAggregateConformancePackComplianceSummaryWithContext is the same as GetAggregateConformancePackComplianceSummary with the addition of
  5776  // the ability to pass a context and additional request options.
  5777  //
  5778  // See GetAggregateConformancePackComplianceSummary for details on how to use this API operation.
  5779  //
  5780  // The context must be non-nil and will be used for request cancellation. If
  5781  // the context is nil a panic will occur. In the future the SDK may create
  5782  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5783  // for more information on using Contexts.
  5784  func (c *ConfigService) GetAggregateConformancePackComplianceSummaryWithContext(ctx aws.Context, input *GetAggregateConformancePackComplianceSummaryInput, opts ...request.Option) (*GetAggregateConformancePackComplianceSummaryOutput, error) {
  5785  	req, out := c.GetAggregateConformancePackComplianceSummaryRequest(input)
  5786  	req.SetContext(ctx)
  5787  	req.ApplyOptions(opts...)
  5788  	return out, req.Send()
  5789  }
  5790  
  5791  // GetAggregateConformancePackComplianceSummaryPages iterates over the pages of a GetAggregateConformancePackComplianceSummary operation,
  5792  // calling the "fn" function with the response data for each page. To stop
  5793  // iterating, return false from the fn function.
  5794  //
  5795  // See GetAggregateConformancePackComplianceSummary method for more information on how to use this operation.
  5796  //
  5797  // Note: This operation can generate multiple requests to a service.
  5798  //
  5799  //    // Example iterating over at most 3 pages of a GetAggregateConformancePackComplianceSummary operation.
  5800  //    pageNum := 0
  5801  //    err := client.GetAggregateConformancePackComplianceSummaryPages(params,
  5802  //        func(page *configservice.GetAggregateConformancePackComplianceSummaryOutput, lastPage bool) bool {
  5803  //            pageNum++
  5804  //            fmt.Println(page)
  5805  //            return pageNum <= 3
  5806  //        })
  5807  //
  5808  func (c *ConfigService) GetAggregateConformancePackComplianceSummaryPages(input *GetAggregateConformancePackComplianceSummaryInput, fn func(*GetAggregateConformancePackComplianceSummaryOutput, bool) bool) error {
  5809  	return c.GetAggregateConformancePackComplianceSummaryPagesWithContext(aws.BackgroundContext(), input, fn)
  5810  }
  5811  
  5812  // GetAggregateConformancePackComplianceSummaryPagesWithContext same as GetAggregateConformancePackComplianceSummaryPages except
  5813  // it takes a Context and allows setting request options on the pages.
  5814  //
  5815  // The context must be non-nil and will be used for request cancellation. If
  5816  // the context is nil a panic will occur. In the future the SDK may create
  5817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5818  // for more information on using Contexts.
  5819  func (c *ConfigService) GetAggregateConformancePackComplianceSummaryPagesWithContext(ctx aws.Context, input *GetAggregateConformancePackComplianceSummaryInput, fn func(*GetAggregateConformancePackComplianceSummaryOutput, bool) bool, opts ...request.Option) error {
  5820  	p := request.Pagination{
  5821  		NewRequest: func() (*request.Request, error) {
  5822  			var inCpy *GetAggregateConformancePackComplianceSummaryInput
  5823  			if input != nil {
  5824  				tmp := *input
  5825  				inCpy = &tmp
  5826  			}
  5827  			req, _ := c.GetAggregateConformancePackComplianceSummaryRequest(inCpy)
  5828  			req.SetContext(ctx)
  5829  			req.ApplyOptions(opts...)
  5830  			return req, nil
  5831  		},
  5832  	}
  5833  
  5834  	for p.Next() {
  5835  		if !fn(p.Page().(*GetAggregateConformancePackComplianceSummaryOutput), !p.HasNextPage()) {
  5836  			break
  5837  		}
  5838  	}
  5839  
  5840  	return p.Err()
  5841  }
  5842  
  5843  const opGetAggregateDiscoveredResourceCounts = "GetAggregateDiscoveredResourceCounts"
  5844  
  5845  // GetAggregateDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
  5846  // client's request for the GetAggregateDiscoveredResourceCounts operation. The "output" return
  5847  // value will be populated with the request's response once the request completes
  5848  // successfully.
  5849  //
  5850  // Use "Send" method on the returned Request to send the API call to the service.
  5851  // the "output" return value is not valid until after Send returns without error.
  5852  //
  5853  // See GetAggregateDiscoveredResourceCounts for more information on using the GetAggregateDiscoveredResourceCounts
  5854  // API call, and error handling.
  5855  //
  5856  // This method is useful when you want to inject custom logic or configuration
  5857  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5858  //
  5859  //
  5860  //    // Example sending a request using the GetAggregateDiscoveredResourceCountsRequest method.
  5861  //    req, resp := client.GetAggregateDiscoveredResourceCountsRequest(params)
  5862  //
  5863  //    err := req.Send()
  5864  //    if err == nil { // resp is now filled
  5865  //        fmt.Println(resp)
  5866  //    }
  5867  //
  5868  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
  5869  func (c *ConfigService) GetAggregateDiscoveredResourceCountsRequest(input *GetAggregateDiscoveredResourceCountsInput) (req *request.Request, output *GetAggregateDiscoveredResourceCountsOutput) {
  5870  	op := &request.Operation{
  5871  		Name:       opGetAggregateDiscoveredResourceCounts,
  5872  		HTTPMethod: "POST",
  5873  		HTTPPath:   "/",
  5874  		Paginator: &request.Paginator{
  5875  			InputTokens:     []string{"NextToken"},
  5876  			OutputTokens:    []string{"NextToken"},
  5877  			LimitToken:      "Limit",
  5878  			TruncationToken: "",
  5879  		},
  5880  	}
  5881  
  5882  	if input == nil {
  5883  		input = &GetAggregateDiscoveredResourceCountsInput{}
  5884  	}
  5885  
  5886  	output = &GetAggregateDiscoveredResourceCountsOutput{}
  5887  	req = c.newRequest(op, input, output)
  5888  	return
  5889  }
  5890  
  5891  // GetAggregateDiscoveredResourceCounts API operation for AWS Config.
  5892  //
  5893  // Returns the resource counts across accounts and regions that are present
  5894  // in your Config aggregator. You can request the resource counts by providing
  5895  // filters and GroupByKey.
  5896  //
  5897  // For example, if the input contains accountID 12345678910 and region us-east-1
  5898  // in filters, the API returns the count of resources in account ID 12345678910
  5899  // and region us-east-1. If the input contains ACCOUNT_ID as a GroupByKey, the
  5900  // API returns resource counts for all source accounts that are present in your
  5901  // aggregator.
  5902  //
  5903  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5904  // with awserr.Error's Code and Message methods to get detailed information about
  5905  // the error.
  5906  //
  5907  // See the AWS API reference guide for AWS Config's
  5908  // API operation GetAggregateDiscoveredResourceCounts for usage and error information.
  5909  //
  5910  // Returned Error Types:
  5911  //   * ValidationException
  5912  //   The requested action is not valid.
  5913  //
  5914  //   For PutStoredQuery, you will see this exception if there are missing required
  5915  //   fields or if the input value fails the validation, or if you are trying to
  5916  //   create more than 300 queries.
  5917  //
  5918  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  5919  //   exception if there are missing required fields or if the input value fails
  5920  //   the validation.
  5921  //
  5922  //   * InvalidLimitException
  5923  //   The specified limit is outside the allowable range.
  5924  //
  5925  //   * InvalidNextTokenException
  5926  //   The specified next token is invalid. Specify the nextToken string that was
  5927  //   returned in the previous response to get the next page of results.
  5928  //
  5929  //   * NoSuchConfigurationAggregatorException
  5930  //   You have specified a configuration aggregator that does not exist.
  5931  //
  5932  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
  5933  func (c *ConfigService) GetAggregateDiscoveredResourceCounts(input *GetAggregateDiscoveredResourceCountsInput) (*GetAggregateDiscoveredResourceCountsOutput, error) {
  5934  	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
  5935  	return out, req.Send()
  5936  }
  5937  
  5938  // GetAggregateDiscoveredResourceCountsWithContext is the same as GetAggregateDiscoveredResourceCounts with the addition of
  5939  // the ability to pass a context and additional request options.
  5940  //
  5941  // See GetAggregateDiscoveredResourceCounts for details on how to use this API operation.
  5942  //
  5943  // The context must be non-nil and will be used for request cancellation. If
  5944  // the context is nil a panic will occur. In the future the SDK may create
  5945  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5946  // for more information on using Contexts.
  5947  func (c *ConfigService) GetAggregateDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetAggregateDiscoveredResourceCountsInput, opts ...request.Option) (*GetAggregateDiscoveredResourceCountsOutput, error) {
  5948  	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
  5949  	req.SetContext(ctx)
  5950  	req.ApplyOptions(opts...)
  5951  	return out, req.Send()
  5952  }
  5953  
  5954  // GetAggregateDiscoveredResourceCountsPages iterates over the pages of a GetAggregateDiscoveredResourceCounts operation,
  5955  // calling the "fn" function with the response data for each page. To stop
  5956  // iterating, return false from the fn function.
  5957  //
  5958  // See GetAggregateDiscoveredResourceCounts method for more information on how to use this operation.
  5959  //
  5960  // Note: This operation can generate multiple requests to a service.
  5961  //
  5962  //    // Example iterating over at most 3 pages of a GetAggregateDiscoveredResourceCounts operation.
  5963  //    pageNum := 0
  5964  //    err := client.GetAggregateDiscoveredResourceCountsPages(params,
  5965  //        func(page *configservice.GetAggregateDiscoveredResourceCountsOutput, lastPage bool) bool {
  5966  //            pageNum++
  5967  //            fmt.Println(page)
  5968  //            return pageNum <= 3
  5969  //        })
  5970  //
  5971  func (c *ConfigService) GetAggregateDiscoveredResourceCountsPages(input *GetAggregateDiscoveredResourceCountsInput, fn func(*GetAggregateDiscoveredResourceCountsOutput, bool) bool) error {
  5972  	return c.GetAggregateDiscoveredResourceCountsPagesWithContext(aws.BackgroundContext(), input, fn)
  5973  }
  5974  
  5975  // GetAggregateDiscoveredResourceCountsPagesWithContext same as GetAggregateDiscoveredResourceCountsPages except
  5976  // it takes a Context and allows setting request options on the pages.
  5977  //
  5978  // The context must be non-nil and will be used for request cancellation. If
  5979  // the context is nil a panic will occur. In the future the SDK may create
  5980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5981  // for more information on using Contexts.
  5982  func (c *ConfigService) GetAggregateDiscoveredResourceCountsPagesWithContext(ctx aws.Context, input *GetAggregateDiscoveredResourceCountsInput, fn func(*GetAggregateDiscoveredResourceCountsOutput, bool) bool, opts ...request.Option) error {
  5983  	p := request.Pagination{
  5984  		NewRequest: func() (*request.Request, error) {
  5985  			var inCpy *GetAggregateDiscoveredResourceCountsInput
  5986  			if input != nil {
  5987  				tmp := *input
  5988  				inCpy = &tmp
  5989  			}
  5990  			req, _ := c.GetAggregateDiscoveredResourceCountsRequest(inCpy)
  5991  			req.SetContext(ctx)
  5992  			req.ApplyOptions(opts...)
  5993  			return req, nil
  5994  		},
  5995  	}
  5996  
  5997  	for p.Next() {
  5998  		if !fn(p.Page().(*GetAggregateDiscoveredResourceCountsOutput), !p.HasNextPage()) {
  5999  			break
  6000  		}
  6001  	}
  6002  
  6003  	return p.Err()
  6004  }
  6005  
  6006  const opGetAggregateResourceConfig = "GetAggregateResourceConfig"
  6007  
  6008  // GetAggregateResourceConfigRequest generates a "aws/request.Request" representing the
  6009  // client's request for the GetAggregateResourceConfig operation. The "output" return
  6010  // value will be populated with the request's response once the request completes
  6011  // successfully.
  6012  //
  6013  // Use "Send" method on the returned Request to send the API call to the service.
  6014  // the "output" return value is not valid until after Send returns without error.
  6015  //
  6016  // See GetAggregateResourceConfig for more information on using the GetAggregateResourceConfig
  6017  // API call, and error handling.
  6018  //
  6019  // This method is useful when you want to inject custom logic or configuration
  6020  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6021  //
  6022  //
  6023  //    // Example sending a request using the GetAggregateResourceConfigRequest method.
  6024  //    req, resp := client.GetAggregateResourceConfigRequest(params)
  6025  //
  6026  //    err := req.Send()
  6027  //    if err == nil { // resp is now filled
  6028  //        fmt.Println(resp)
  6029  //    }
  6030  //
  6031  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
  6032  func (c *ConfigService) GetAggregateResourceConfigRequest(input *GetAggregateResourceConfigInput) (req *request.Request, output *GetAggregateResourceConfigOutput) {
  6033  	op := &request.Operation{
  6034  		Name:       opGetAggregateResourceConfig,
  6035  		HTTPMethod: "POST",
  6036  		HTTPPath:   "/",
  6037  	}
  6038  
  6039  	if input == nil {
  6040  		input = &GetAggregateResourceConfigInput{}
  6041  	}
  6042  
  6043  	output = &GetAggregateResourceConfigOutput{}
  6044  	req = c.newRequest(op, input, output)
  6045  	return
  6046  }
  6047  
  6048  // GetAggregateResourceConfig API operation for AWS Config.
  6049  //
  6050  // Returns configuration item that is aggregated for your specific resource
  6051  // in a specific source account and region.
  6052  //
  6053  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6054  // with awserr.Error's Code and Message methods to get detailed information about
  6055  // the error.
  6056  //
  6057  // See the AWS API reference guide for AWS Config's
  6058  // API operation GetAggregateResourceConfig for usage and error information.
  6059  //
  6060  // Returned Error Types:
  6061  //   * ValidationException
  6062  //   The requested action is not valid.
  6063  //
  6064  //   For PutStoredQuery, you will see this exception if there are missing required
  6065  //   fields or if the input value fails the validation, or if you are trying to
  6066  //   create more than 300 queries.
  6067  //
  6068  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  6069  //   exception if there are missing required fields or if the input value fails
  6070  //   the validation.
  6071  //
  6072  //   * NoSuchConfigurationAggregatorException
  6073  //   You have specified a configuration aggregator that does not exist.
  6074  //
  6075  //   * OversizedConfigurationItemException
  6076  //   The configuration item size is outside the allowable range.
  6077  //
  6078  //   * ResourceNotDiscoveredException
  6079  //   You have specified a resource that is either unknown or has not been discovered.
  6080  //
  6081  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
  6082  func (c *ConfigService) GetAggregateResourceConfig(input *GetAggregateResourceConfigInput) (*GetAggregateResourceConfigOutput, error) {
  6083  	req, out := c.GetAggregateResourceConfigRequest(input)
  6084  	return out, req.Send()
  6085  }
  6086  
  6087  // GetAggregateResourceConfigWithContext is the same as GetAggregateResourceConfig with the addition of
  6088  // the ability to pass a context and additional request options.
  6089  //
  6090  // See GetAggregateResourceConfig for details on how to use this API operation.
  6091  //
  6092  // The context must be non-nil and will be used for request cancellation. If
  6093  // the context is nil a panic will occur. In the future the SDK may create
  6094  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6095  // for more information on using Contexts.
  6096  func (c *ConfigService) GetAggregateResourceConfigWithContext(ctx aws.Context, input *GetAggregateResourceConfigInput, opts ...request.Option) (*GetAggregateResourceConfigOutput, error) {
  6097  	req, out := c.GetAggregateResourceConfigRequest(input)
  6098  	req.SetContext(ctx)
  6099  	req.ApplyOptions(opts...)
  6100  	return out, req.Send()
  6101  }
  6102  
  6103  const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
  6104  
  6105  // GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
  6106  // client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
  6107  // value will be populated with the request's response once the request completes
  6108  // successfully.
  6109  //
  6110  // Use "Send" method on the returned Request to send the API call to the service.
  6111  // the "output" return value is not valid until after Send returns without error.
  6112  //
  6113  // See GetComplianceDetailsByConfigRule for more information on using the GetComplianceDetailsByConfigRule
  6114  // API call, and error handling.
  6115  //
  6116  // This method is useful when you want to inject custom logic or configuration
  6117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6118  //
  6119  //
  6120  //    // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
  6121  //    req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
  6122  //
  6123  //    err := req.Send()
  6124  //    if err == nil { // resp is now filled
  6125  //        fmt.Println(resp)
  6126  //    }
  6127  //
  6128  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
  6129  func (c *ConfigService) GetComplianceDetailsByConfigRuleRequest(input *GetComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetComplianceDetailsByConfigRuleOutput) {
  6130  	op := &request.Operation{
  6131  		Name:       opGetComplianceDetailsByConfigRule,
  6132  		HTTPMethod: "POST",
  6133  		HTTPPath:   "/",
  6134  		Paginator: &request.Paginator{
  6135  			InputTokens:     []string{"NextToken"},
  6136  			OutputTokens:    []string{"NextToken"},
  6137  			LimitToken:      "Limit",
  6138  			TruncationToken: "",
  6139  		},
  6140  	}
  6141  
  6142  	if input == nil {
  6143  		input = &GetComplianceDetailsByConfigRuleInput{}
  6144  	}
  6145  
  6146  	output = &GetComplianceDetailsByConfigRuleOutput{}
  6147  	req = c.newRequest(op, input, output)
  6148  	return
  6149  }
  6150  
  6151  // GetComplianceDetailsByConfigRule API operation for AWS Config.
  6152  //
  6153  // Returns the evaluation results for the specified Config rule. The results
  6154  // indicate which Amazon Web Services resources were evaluated by the rule,
  6155  // when each resource was last evaluated, and whether each resource complies
  6156  // with the rule.
  6157  //
  6158  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6159  // with awserr.Error's Code and Message methods to get detailed information about
  6160  // the error.
  6161  //
  6162  // See the AWS API reference guide for AWS Config's
  6163  // API operation GetComplianceDetailsByConfigRule for usage and error information.
  6164  //
  6165  // Returned Error Types:
  6166  //   * InvalidParameterValueException
  6167  //   One or more of the specified parameters are invalid. Verify that your parameters
  6168  //   are valid and try again.
  6169  //
  6170  //   * InvalidNextTokenException
  6171  //   The specified next token is invalid. Specify the nextToken string that was
  6172  //   returned in the previous response to get the next page of results.
  6173  //
  6174  //   * NoSuchConfigRuleException
  6175  //   One or more Config rules in the request are invalid. Verify that the rule
  6176  //   names are correct and try again.
  6177  //
  6178  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
  6179  func (c *ConfigService) GetComplianceDetailsByConfigRule(input *GetComplianceDetailsByConfigRuleInput) (*GetComplianceDetailsByConfigRuleOutput, error) {
  6180  	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
  6181  	return out, req.Send()
  6182  }
  6183  
  6184  // GetComplianceDetailsByConfigRuleWithContext is the same as GetComplianceDetailsByConfigRule with the addition of
  6185  // the ability to pass a context and additional request options.
  6186  //
  6187  // See GetComplianceDetailsByConfigRule for details on how to use this API operation.
  6188  //
  6189  // The context must be non-nil and will be used for request cancellation. If
  6190  // the context is nil a panic will occur. In the future the SDK may create
  6191  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6192  // for more information on using Contexts.
  6193  func (c *ConfigService) GetComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetComplianceDetailsByConfigRuleOutput, error) {
  6194  	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
  6195  	req.SetContext(ctx)
  6196  	req.ApplyOptions(opts...)
  6197  	return out, req.Send()
  6198  }
  6199  
  6200  // GetComplianceDetailsByConfigRulePages iterates over the pages of a GetComplianceDetailsByConfigRule operation,
  6201  // calling the "fn" function with the response data for each page. To stop
  6202  // iterating, return false from the fn function.
  6203  //
  6204  // See GetComplianceDetailsByConfigRule method for more information on how to use this operation.
  6205  //
  6206  // Note: This operation can generate multiple requests to a service.
  6207  //
  6208  //    // Example iterating over at most 3 pages of a GetComplianceDetailsByConfigRule operation.
  6209  //    pageNum := 0
  6210  //    err := client.GetComplianceDetailsByConfigRulePages(params,
  6211  //        func(page *configservice.GetComplianceDetailsByConfigRuleOutput, lastPage bool) bool {
  6212  //            pageNum++
  6213  //            fmt.Println(page)
  6214  //            return pageNum <= 3
  6215  //        })
  6216  //
  6217  func (c *ConfigService) GetComplianceDetailsByConfigRulePages(input *GetComplianceDetailsByConfigRuleInput, fn func(*GetComplianceDetailsByConfigRuleOutput, bool) bool) error {
  6218  	return c.GetComplianceDetailsByConfigRulePagesWithContext(aws.BackgroundContext(), input, fn)
  6219  }
  6220  
  6221  // GetComplianceDetailsByConfigRulePagesWithContext same as GetComplianceDetailsByConfigRulePages except
  6222  // it takes a Context and allows setting request options on the pages.
  6223  //
  6224  // The context must be non-nil and will be used for request cancellation. If
  6225  // the context is nil a panic will occur. In the future the SDK may create
  6226  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6227  // for more information on using Contexts.
  6228  func (c *ConfigService) GetComplianceDetailsByConfigRulePagesWithContext(ctx aws.Context, input *GetComplianceDetailsByConfigRuleInput, fn func(*GetComplianceDetailsByConfigRuleOutput, bool) bool, opts ...request.Option) error {
  6229  	p := request.Pagination{
  6230  		NewRequest: func() (*request.Request, error) {
  6231  			var inCpy *GetComplianceDetailsByConfigRuleInput
  6232  			if input != nil {
  6233  				tmp := *input
  6234  				inCpy = &tmp
  6235  			}
  6236  			req, _ := c.GetComplianceDetailsByConfigRuleRequest(inCpy)
  6237  			req.SetContext(ctx)
  6238  			req.ApplyOptions(opts...)
  6239  			return req, nil
  6240  		},
  6241  	}
  6242  
  6243  	for p.Next() {
  6244  		if !fn(p.Page().(*GetComplianceDetailsByConfigRuleOutput), !p.HasNextPage()) {
  6245  			break
  6246  		}
  6247  	}
  6248  
  6249  	return p.Err()
  6250  }
  6251  
  6252  const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
  6253  
  6254  // GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
  6255  // client's request for the GetComplianceDetailsByResource operation. The "output" return
  6256  // value will be populated with the request's response once the request completes
  6257  // successfully.
  6258  //
  6259  // Use "Send" method on the returned Request to send the API call to the service.
  6260  // the "output" return value is not valid until after Send returns without error.
  6261  //
  6262  // See GetComplianceDetailsByResource for more information on using the GetComplianceDetailsByResource
  6263  // API call, and error handling.
  6264  //
  6265  // This method is useful when you want to inject custom logic or configuration
  6266  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6267  //
  6268  //
  6269  //    // Example sending a request using the GetComplianceDetailsByResourceRequest method.
  6270  //    req, resp := client.GetComplianceDetailsByResourceRequest(params)
  6271  //
  6272  //    err := req.Send()
  6273  //    if err == nil { // resp is now filled
  6274  //        fmt.Println(resp)
  6275  //    }
  6276  //
  6277  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
  6278  func (c *ConfigService) GetComplianceDetailsByResourceRequest(input *GetComplianceDetailsByResourceInput) (req *request.Request, output *GetComplianceDetailsByResourceOutput) {
  6279  	op := &request.Operation{
  6280  		Name:       opGetComplianceDetailsByResource,
  6281  		HTTPMethod: "POST",
  6282  		HTTPPath:   "/",
  6283  		Paginator: &request.Paginator{
  6284  			InputTokens:     []string{"NextToken"},
  6285  			OutputTokens:    []string{"NextToken"},
  6286  			LimitToken:      "",
  6287  			TruncationToken: "",
  6288  		},
  6289  	}
  6290  
  6291  	if input == nil {
  6292  		input = &GetComplianceDetailsByResourceInput{}
  6293  	}
  6294  
  6295  	output = &GetComplianceDetailsByResourceOutput{}
  6296  	req = c.newRequest(op, input, output)
  6297  	return
  6298  }
  6299  
  6300  // GetComplianceDetailsByResource API operation for AWS Config.
  6301  //
  6302  // Returns the evaluation results for the specified Amazon Web Services resource.
  6303  // The results indicate which Config rules were used to evaluate the resource,
  6304  // when each rule was last used, and whether the resource complies with each
  6305  // rule.
  6306  //
  6307  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6308  // with awserr.Error's Code and Message methods to get detailed information about
  6309  // the error.
  6310  //
  6311  // See the AWS API reference guide for AWS Config's
  6312  // API operation GetComplianceDetailsByResource for usage and error information.
  6313  //
  6314  // Returned Error Types:
  6315  //   * InvalidParameterValueException
  6316  //   One or more of the specified parameters are invalid. Verify that your parameters
  6317  //   are valid and try again.
  6318  //
  6319  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
  6320  func (c *ConfigService) GetComplianceDetailsByResource(input *GetComplianceDetailsByResourceInput) (*GetComplianceDetailsByResourceOutput, error) {
  6321  	req, out := c.GetComplianceDetailsByResourceRequest(input)
  6322  	return out, req.Send()
  6323  }
  6324  
  6325  // GetComplianceDetailsByResourceWithContext is the same as GetComplianceDetailsByResource with the addition of
  6326  // the ability to pass a context and additional request options.
  6327  //
  6328  // See GetComplianceDetailsByResource for details on how to use this API operation.
  6329  //
  6330  // The context must be non-nil and will be used for request cancellation. If
  6331  // the context is nil a panic will occur. In the future the SDK may create
  6332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6333  // for more information on using Contexts.
  6334  func (c *ConfigService) GetComplianceDetailsByResourceWithContext(ctx aws.Context, input *GetComplianceDetailsByResourceInput, opts ...request.Option) (*GetComplianceDetailsByResourceOutput, error) {
  6335  	req, out := c.GetComplianceDetailsByResourceRequest(input)
  6336  	req.SetContext(ctx)
  6337  	req.ApplyOptions(opts...)
  6338  	return out, req.Send()
  6339  }
  6340  
  6341  // GetComplianceDetailsByResourcePages iterates over the pages of a GetComplianceDetailsByResource operation,
  6342  // calling the "fn" function with the response data for each page. To stop
  6343  // iterating, return false from the fn function.
  6344  //
  6345  // See GetComplianceDetailsByResource method for more information on how to use this operation.
  6346  //
  6347  // Note: This operation can generate multiple requests to a service.
  6348  //
  6349  //    // Example iterating over at most 3 pages of a GetComplianceDetailsByResource operation.
  6350  //    pageNum := 0
  6351  //    err := client.GetComplianceDetailsByResourcePages(params,
  6352  //        func(page *configservice.GetComplianceDetailsByResourceOutput, lastPage bool) bool {
  6353  //            pageNum++
  6354  //            fmt.Println(page)
  6355  //            return pageNum <= 3
  6356  //        })
  6357  //
  6358  func (c *ConfigService) GetComplianceDetailsByResourcePages(input *GetComplianceDetailsByResourceInput, fn func(*GetComplianceDetailsByResourceOutput, bool) bool) error {
  6359  	return c.GetComplianceDetailsByResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  6360  }
  6361  
  6362  // GetComplianceDetailsByResourcePagesWithContext same as GetComplianceDetailsByResourcePages except
  6363  // it takes a Context and allows setting request options on the pages.
  6364  //
  6365  // The context must be non-nil and will be used for request cancellation. If
  6366  // the context is nil a panic will occur. In the future the SDK may create
  6367  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6368  // for more information on using Contexts.
  6369  func (c *ConfigService) GetComplianceDetailsByResourcePagesWithContext(ctx aws.Context, input *GetComplianceDetailsByResourceInput, fn func(*GetComplianceDetailsByResourceOutput, bool) bool, opts ...request.Option) error {
  6370  	p := request.Pagination{
  6371  		NewRequest: func() (*request.Request, error) {
  6372  			var inCpy *GetComplianceDetailsByResourceInput
  6373  			if input != nil {
  6374  				tmp := *input
  6375  				inCpy = &tmp
  6376  			}
  6377  			req, _ := c.GetComplianceDetailsByResourceRequest(inCpy)
  6378  			req.SetContext(ctx)
  6379  			req.ApplyOptions(opts...)
  6380  			return req, nil
  6381  		},
  6382  	}
  6383  
  6384  	for p.Next() {
  6385  		if !fn(p.Page().(*GetComplianceDetailsByResourceOutput), !p.HasNextPage()) {
  6386  			break
  6387  		}
  6388  	}
  6389  
  6390  	return p.Err()
  6391  }
  6392  
  6393  const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
  6394  
  6395  // GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
  6396  // client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
  6397  // value will be populated with the request's response once the request completes
  6398  // successfully.
  6399  //
  6400  // Use "Send" method on the returned Request to send the API call to the service.
  6401  // the "output" return value is not valid until after Send returns without error.
  6402  //
  6403  // See GetComplianceSummaryByConfigRule for more information on using the GetComplianceSummaryByConfigRule
  6404  // API call, and error handling.
  6405  //
  6406  // This method is useful when you want to inject custom logic or configuration
  6407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6408  //
  6409  //
  6410  //    // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
  6411  //    req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
  6412  //
  6413  //    err := req.Send()
  6414  //    if err == nil { // resp is now filled
  6415  //        fmt.Println(resp)
  6416  //    }
  6417  //
  6418  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
  6419  func (c *ConfigService) GetComplianceSummaryByConfigRuleRequest(input *GetComplianceSummaryByConfigRuleInput) (req *request.Request, output *GetComplianceSummaryByConfigRuleOutput) {
  6420  	op := &request.Operation{
  6421  		Name:       opGetComplianceSummaryByConfigRule,
  6422  		HTTPMethod: "POST",
  6423  		HTTPPath:   "/",
  6424  	}
  6425  
  6426  	if input == nil {
  6427  		input = &GetComplianceSummaryByConfigRuleInput{}
  6428  	}
  6429  
  6430  	output = &GetComplianceSummaryByConfigRuleOutput{}
  6431  	req = c.newRequest(op, input, output)
  6432  	return
  6433  }
  6434  
  6435  // GetComplianceSummaryByConfigRule API operation for AWS Config.
  6436  //
  6437  // Returns the number of Config rules that are compliant and noncompliant, up
  6438  // to a maximum of 25 for each.
  6439  //
  6440  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6441  // with awserr.Error's Code and Message methods to get detailed information about
  6442  // the error.
  6443  //
  6444  // See the AWS API reference guide for AWS Config's
  6445  // API operation GetComplianceSummaryByConfigRule for usage and error information.
  6446  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
  6447  func (c *ConfigService) GetComplianceSummaryByConfigRule(input *GetComplianceSummaryByConfigRuleInput) (*GetComplianceSummaryByConfigRuleOutput, error) {
  6448  	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
  6449  	return out, req.Send()
  6450  }
  6451  
  6452  // GetComplianceSummaryByConfigRuleWithContext is the same as GetComplianceSummaryByConfigRule with the addition of
  6453  // the ability to pass a context and additional request options.
  6454  //
  6455  // See GetComplianceSummaryByConfigRule for details on how to use this API operation.
  6456  //
  6457  // The context must be non-nil and will be used for request cancellation. If
  6458  // the context is nil a panic will occur. In the future the SDK may create
  6459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6460  // for more information on using Contexts.
  6461  func (c *ConfigService) GetComplianceSummaryByConfigRuleWithContext(ctx aws.Context, input *GetComplianceSummaryByConfigRuleInput, opts ...request.Option) (*GetComplianceSummaryByConfigRuleOutput, error) {
  6462  	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
  6463  	req.SetContext(ctx)
  6464  	req.ApplyOptions(opts...)
  6465  	return out, req.Send()
  6466  }
  6467  
  6468  const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
  6469  
  6470  // GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
  6471  // client's request for the GetComplianceSummaryByResourceType operation. The "output" return
  6472  // value will be populated with the request's response once the request completes
  6473  // successfully.
  6474  //
  6475  // Use "Send" method on the returned Request to send the API call to the service.
  6476  // the "output" return value is not valid until after Send returns without error.
  6477  //
  6478  // See GetComplianceSummaryByResourceType for more information on using the GetComplianceSummaryByResourceType
  6479  // API call, and error handling.
  6480  //
  6481  // This method is useful when you want to inject custom logic or configuration
  6482  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6483  //
  6484  //
  6485  //    // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
  6486  //    req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
  6487  //
  6488  //    err := req.Send()
  6489  //    if err == nil { // resp is now filled
  6490  //        fmt.Println(resp)
  6491  //    }
  6492  //
  6493  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
  6494  func (c *ConfigService) GetComplianceSummaryByResourceTypeRequest(input *GetComplianceSummaryByResourceTypeInput) (req *request.Request, output *GetComplianceSummaryByResourceTypeOutput) {
  6495  	op := &request.Operation{
  6496  		Name:       opGetComplianceSummaryByResourceType,
  6497  		HTTPMethod: "POST",
  6498  		HTTPPath:   "/",
  6499  	}
  6500  
  6501  	if input == nil {
  6502  		input = &GetComplianceSummaryByResourceTypeInput{}
  6503  	}
  6504  
  6505  	output = &GetComplianceSummaryByResourceTypeOutput{}
  6506  	req = c.newRequest(op, input, output)
  6507  	return
  6508  }
  6509  
  6510  // GetComplianceSummaryByResourceType API operation for AWS Config.
  6511  //
  6512  // Returns the number of resources that are compliant and the number that are
  6513  // noncompliant. You can specify one or more resource types to get these numbers
  6514  // for each resource type. The maximum number returned is 100.
  6515  //
  6516  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6517  // with awserr.Error's Code and Message methods to get detailed information about
  6518  // the error.
  6519  //
  6520  // See the AWS API reference guide for AWS Config's
  6521  // API operation GetComplianceSummaryByResourceType for usage and error information.
  6522  //
  6523  // Returned Error Types:
  6524  //   * InvalidParameterValueException
  6525  //   One or more of the specified parameters are invalid. Verify that your parameters
  6526  //   are valid and try again.
  6527  //
  6528  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
  6529  func (c *ConfigService) GetComplianceSummaryByResourceType(input *GetComplianceSummaryByResourceTypeInput) (*GetComplianceSummaryByResourceTypeOutput, error) {
  6530  	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
  6531  	return out, req.Send()
  6532  }
  6533  
  6534  // GetComplianceSummaryByResourceTypeWithContext is the same as GetComplianceSummaryByResourceType with the addition of
  6535  // the ability to pass a context and additional request options.
  6536  //
  6537  // See GetComplianceSummaryByResourceType for details on how to use this API operation.
  6538  //
  6539  // The context must be non-nil and will be used for request cancellation. If
  6540  // the context is nil a panic will occur. In the future the SDK may create
  6541  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6542  // for more information on using Contexts.
  6543  func (c *ConfigService) GetComplianceSummaryByResourceTypeWithContext(ctx aws.Context, input *GetComplianceSummaryByResourceTypeInput, opts ...request.Option) (*GetComplianceSummaryByResourceTypeOutput, error) {
  6544  	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
  6545  	req.SetContext(ctx)
  6546  	req.ApplyOptions(opts...)
  6547  	return out, req.Send()
  6548  }
  6549  
  6550  const opGetConformancePackComplianceDetails = "GetConformancePackComplianceDetails"
  6551  
  6552  // GetConformancePackComplianceDetailsRequest generates a "aws/request.Request" representing the
  6553  // client's request for the GetConformancePackComplianceDetails operation. The "output" return
  6554  // value will be populated with the request's response once the request completes
  6555  // successfully.
  6556  //
  6557  // Use "Send" method on the returned Request to send the API call to the service.
  6558  // the "output" return value is not valid until after Send returns without error.
  6559  //
  6560  // See GetConformancePackComplianceDetails for more information on using the GetConformancePackComplianceDetails
  6561  // API call, and error handling.
  6562  //
  6563  // This method is useful when you want to inject custom logic or configuration
  6564  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6565  //
  6566  //
  6567  //    // Example sending a request using the GetConformancePackComplianceDetailsRequest method.
  6568  //    req, resp := client.GetConformancePackComplianceDetailsRequest(params)
  6569  //
  6570  //    err := req.Send()
  6571  //    if err == nil { // resp is now filled
  6572  //        fmt.Println(resp)
  6573  //    }
  6574  //
  6575  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
  6576  func (c *ConfigService) GetConformancePackComplianceDetailsRequest(input *GetConformancePackComplianceDetailsInput) (req *request.Request, output *GetConformancePackComplianceDetailsOutput) {
  6577  	op := &request.Operation{
  6578  		Name:       opGetConformancePackComplianceDetails,
  6579  		HTTPMethod: "POST",
  6580  		HTTPPath:   "/",
  6581  		Paginator: &request.Paginator{
  6582  			InputTokens:     []string{"NextToken"},
  6583  			OutputTokens:    []string{"NextToken"},
  6584  			LimitToken:      "Limit",
  6585  			TruncationToken: "",
  6586  		},
  6587  	}
  6588  
  6589  	if input == nil {
  6590  		input = &GetConformancePackComplianceDetailsInput{}
  6591  	}
  6592  
  6593  	output = &GetConformancePackComplianceDetailsOutput{}
  6594  	req = c.newRequest(op, input, output)
  6595  	return
  6596  }
  6597  
  6598  // GetConformancePackComplianceDetails API operation for AWS Config.
  6599  //
  6600  // Returns compliance details of a conformance pack for all Amazon Web Services
  6601  // resources that are monitered by conformance pack.
  6602  //
  6603  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6604  // with awserr.Error's Code and Message methods to get detailed information about
  6605  // the error.
  6606  //
  6607  // See the AWS API reference guide for AWS Config's
  6608  // API operation GetConformancePackComplianceDetails for usage and error information.
  6609  //
  6610  // Returned Error Types:
  6611  //   * InvalidLimitException
  6612  //   The specified limit is outside the allowable range.
  6613  //
  6614  //   * InvalidNextTokenException
  6615  //   The specified next token is invalid. Specify the nextToken string that was
  6616  //   returned in the previous response to get the next page of results.
  6617  //
  6618  //   * NoSuchConformancePackException
  6619  //   You specified one or more conformance packs that do not exist.
  6620  //
  6621  //   * NoSuchConfigRuleInConformancePackException
  6622  //   Config rule that you passed in the filter does not exist.
  6623  //
  6624  //   * InvalidParameterValueException
  6625  //   One or more of the specified parameters are invalid. Verify that your parameters
  6626  //   are valid and try again.
  6627  //
  6628  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
  6629  func (c *ConfigService) GetConformancePackComplianceDetails(input *GetConformancePackComplianceDetailsInput) (*GetConformancePackComplianceDetailsOutput, error) {
  6630  	req, out := c.GetConformancePackComplianceDetailsRequest(input)
  6631  	return out, req.Send()
  6632  }
  6633  
  6634  // GetConformancePackComplianceDetailsWithContext is the same as GetConformancePackComplianceDetails with the addition of
  6635  // the ability to pass a context and additional request options.
  6636  //
  6637  // See GetConformancePackComplianceDetails for details on how to use this API operation.
  6638  //
  6639  // The context must be non-nil and will be used for request cancellation. If
  6640  // the context is nil a panic will occur. In the future the SDK may create
  6641  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6642  // for more information on using Contexts.
  6643  func (c *ConfigService) GetConformancePackComplianceDetailsWithContext(ctx aws.Context, input *GetConformancePackComplianceDetailsInput, opts ...request.Option) (*GetConformancePackComplianceDetailsOutput, error) {
  6644  	req, out := c.GetConformancePackComplianceDetailsRequest(input)
  6645  	req.SetContext(ctx)
  6646  	req.ApplyOptions(opts...)
  6647  	return out, req.Send()
  6648  }
  6649  
  6650  // GetConformancePackComplianceDetailsPages iterates over the pages of a GetConformancePackComplianceDetails operation,
  6651  // calling the "fn" function with the response data for each page. To stop
  6652  // iterating, return false from the fn function.
  6653  //
  6654  // See GetConformancePackComplianceDetails method for more information on how to use this operation.
  6655  //
  6656  // Note: This operation can generate multiple requests to a service.
  6657  //
  6658  //    // Example iterating over at most 3 pages of a GetConformancePackComplianceDetails operation.
  6659  //    pageNum := 0
  6660  //    err := client.GetConformancePackComplianceDetailsPages(params,
  6661  //        func(page *configservice.GetConformancePackComplianceDetailsOutput, lastPage bool) bool {
  6662  //            pageNum++
  6663  //            fmt.Println(page)
  6664  //            return pageNum <= 3
  6665  //        })
  6666  //
  6667  func (c *ConfigService) GetConformancePackComplianceDetailsPages(input *GetConformancePackComplianceDetailsInput, fn func(*GetConformancePackComplianceDetailsOutput, bool) bool) error {
  6668  	return c.GetConformancePackComplianceDetailsPagesWithContext(aws.BackgroundContext(), input, fn)
  6669  }
  6670  
  6671  // GetConformancePackComplianceDetailsPagesWithContext same as GetConformancePackComplianceDetailsPages except
  6672  // it takes a Context and allows setting request options on the pages.
  6673  //
  6674  // The context must be non-nil and will be used for request cancellation. If
  6675  // the context is nil a panic will occur. In the future the SDK may create
  6676  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6677  // for more information on using Contexts.
  6678  func (c *ConfigService) GetConformancePackComplianceDetailsPagesWithContext(ctx aws.Context, input *GetConformancePackComplianceDetailsInput, fn func(*GetConformancePackComplianceDetailsOutput, bool) bool, opts ...request.Option) error {
  6679  	p := request.Pagination{
  6680  		NewRequest: func() (*request.Request, error) {
  6681  			var inCpy *GetConformancePackComplianceDetailsInput
  6682  			if input != nil {
  6683  				tmp := *input
  6684  				inCpy = &tmp
  6685  			}
  6686  			req, _ := c.GetConformancePackComplianceDetailsRequest(inCpy)
  6687  			req.SetContext(ctx)
  6688  			req.ApplyOptions(opts...)
  6689  			return req, nil
  6690  		},
  6691  	}
  6692  
  6693  	for p.Next() {
  6694  		if !fn(p.Page().(*GetConformancePackComplianceDetailsOutput), !p.HasNextPage()) {
  6695  			break
  6696  		}
  6697  	}
  6698  
  6699  	return p.Err()
  6700  }
  6701  
  6702  const opGetConformancePackComplianceSummary = "GetConformancePackComplianceSummary"
  6703  
  6704  // GetConformancePackComplianceSummaryRequest generates a "aws/request.Request" representing the
  6705  // client's request for the GetConformancePackComplianceSummary operation. The "output" return
  6706  // value will be populated with the request's response once the request completes
  6707  // successfully.
  6708  //
  6709  // Use "Send" method on the returned Request to send the API call to the service.
  6710  // the "output" return value is not valid until after Send returns without error.
  6711  //
  6712  // See GetConformancePackComplianceSummary for more information on using the GetConformancePackComplianceSummary
  6713  // API call, and error handling.
  6714  //
  6715  // This method is useful when you want to inject custom logic or configuration
  6716  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6717  //
  6718  //
  6719  //    // Example sending a request using the GetConformancePackComplianceSummaryRequest method.
  6720  //    req, resp := client.GetConformancePackComplianceSummaryRequest(params)
  6721  //
  6722  //    err := req.Send()
  6723  //    if err == nil { // resp is now filled
  6724  //        fmt.Println(resp)
  6725  //    }
  6726  //
  6727  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
  6728  func (c *ConfigService) GetConformancePackComplianceSummaryRequest(input *GetConformancePackComplianceSummaryInput) (req *request.Request, output *GetConformancePackComplianceSummaryOutput) {
  6729  	op := &request.Operation{
  6730  		Name:       opGetConformancePackComplianceSummary,
  6731  		HTTPMethod: "POST",
  6732  		HTTPPath:   "/",
  6733  		Paginator: &request.Paginator{
  6734  			InputTokens:     []string{"NextToken"},
  6735  			OutputTokens:    []string{"NextToken"},
  6736  			LimitToken:      "Limit",
  6737  			TruncationToken: "",
  6738  		},
  6739  	}
  6740  
  6741  	if input == nil {
  6742  		input = &GetConformancePackComplianceSummaryInput{}
  6743  	}
  6744  
  6745  	output = &GetConformancePackComplianceSummaryOutput{}
  6746  	req = c.newRequest(op, input, output)
  6747  	return
  6748  }
  6749  
  6750  // GetConformancePackComplianceSummary API operation for AWS Config.
  6751  //
  6752  // Returns compliance details for the conformance pack based on the cumulative
  6753  // compliance results of all the rules in that conformance pack.
  6754  //
  6755  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6756  // with awserr.Error's Code and Message methods to get detailed information about
  6757  // the error.
  6758  //
  6759  // See the AWS API reference guide for AWS Config's
  6760  // API operation GetConformancePackComplianceSummary for usage and error information.
  6761  //
  6762  // Returned Error Types:
  6763  //   * NoSuchConformancePackException
  6764  //   You specified one or more conformance packs that do not exist.
  6765  //
  6766  //   * InvalidLimitException
  6767  //   The specified limit is outside the allowable range.
  6768  //
  6769  //   * InvalidNextTokenException
  6770  //   The specified next token is invalid. Specify the nextToken string that was
  6771  //   returned in the previous response to get the next page of results.
  6772  //
  6773  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
  6774  func (c *ConfigService) GetConformancePackComplianceSummary(input *GetConformancePackComplianceSummaryInput) (*GetConformancePackComplianceSummaryOutput, error) {
  6775  	req, out := c.GetConformancePackComplianceSummaryRequest(input)
  6776  	return out, req.Send()
  6777  }
  6778  
  6779  // GetConformancePackComplianceSummaryWithContext is the same as GetConformancePackComplianceSummary with the addition of
  6780  // the ability to pass a context and additional request options.
  6781  //
  6782  // See GetConformancePackComplianceSummary for details on how to use this API operation.
  6783  //
  6784  // The context must be non-nil and will be used for request cancellation. If
  6785  // the context is nil a panic will occur. In the future the SDK may create
  6786  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6787  // for more information on using Contexts.
  6788  func (c *ConfigService) GetConformancePackComplianceSummaryWithContext(ctx aws.Context, input *GetConformancePackComplianceSummaryInput, opts ...request.Option) (*GetConformancePackComplianceSummaryOutput, error) {
  6789  	req, out := c.GetConformancePackComplianceSummaryRequest(input)
  6790  	req.SetContext(ctx)
  6791  	req.ApplyOptions(opts...)
  6792  	return out, req.Send()
  6793  }
  6794  
  6795  // GetConformancePackComplianceSummaryPages iterates over the pages of a GetConformancePackComplianceSummary operation,
  6796  // calling the "fn" function with the response data for each page. To stop
  6797  // iterating, return false from the fn function.
  6798  //
  6799  // See GetConformancePackComplianceSummary method for more information on how to use this operation.
  6800  //
  6801  // Note: This operation can generate multiple requests to a service.
  6802  //
  6803  //    // Example iterating over at most 3 pages of a GetConformancePackComplianceSummary operation.
  6804  //    pageNum := 0
  6805  //    err := client.GetConformancePackComplianceSummaryPages(params,
  6806  //        func(page *configservice.GetConformancePackComplianceSummaryOutput, lastPage bool) bool {
  6807  //            pageNum++
  6808  //            fmt.Println(page)
  6809  //            return pageNum <= 3
  6810  //        })
  6811  //
  6812  func (c *ConfigService) GetConformancePackComplianceSummaryPages(input *GetConformancePackComplianceSummaryInput, fn func(*GetConformancePackComplianceSummaryOutput, bool) bool) error {
  6813  	return c.GetConformancePackComplianceSummaryPagesWithContext(aws.BackgroundContext(), input, fn)
  6814  }
  6815  
  6816  // GetConformancePackComplianceSummaryPagesWithContext same as GetConformancePackComplianceSummaryPages except
  6817  // it takes a Context and allows setting request options on the pages.
  6818  //
  6819  // The context must be non-nil and will be used for request cancellation. If
  6820  // the context is nil a panic will occur. In the future the SDK may create
  6821  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6822  // for more information on using Contexts.
  6823  func (c *ConfigService) GetConformancePackComplianceSummaryPagesWithContext(ctx aws.Context, input *GetConformancePackComplianceSummaryInput, fn func(*GetConformancePackComplianceSummaryOutput, bool) bool, opts ...request.Option) error {
  6824  	p := request.Pagination{
  6825  		NewRequest: func() (*request.Request, error) {
  6826  			var inCpy *GetConformancePackComplianceSummaryInput
  6827  			if input != nil {
  6828  				tmp := *input
  6829  				inCpy = &tmp
  6830  			}
  6831  			req, _ := c.GetConformancePackComplianceSummaryRequest(inCpy)
  6832  			req.SetContext(ctx)
  6833  			req.ApplyOptions(opts...)
  6834  			return req, nil
  6835  		},
  6836  	}
  6837  
  6838  	for p.Next() {
  6839  		if !fn(p.Page().(*GetConformancePackComplianceSummaryOutput), !p.HasNextPage()) {
  6840  			break
  6841  		}
  6842  	}
  6843  
  6844  	return p.Err()
  6845  }
  6846  
  6847  const opGetDiscoveredResourceCounts = "GetDiscoveredResourceCounts"
  6848  
  6849  // GetDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
  6850  // client's request for the GetDiscoveredResourceCounts operation. The "output" return
  6851  // value will be populated with the request's response once the request completes
  6852  // successfully.
  6853  //
  6854  // Use "Send" method on the returned Request to send the API call to the service.
  6855  // the "output" return value is not valid until after Send returns without error.
  6856  //
  6857  // See GetDiscoveredResourceCounts for more information on using the GetDiscoveredResourceCounts
  6858  // API call, and error handling.
  6859  //
  6860  // This method is useful when you want to inject custom logic or configuration
  6861  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6862  //
  6863  //
  6864  //    // Example sending a request using the GetDiscoveredResourceCountsRequest method.
  6865  //    req, resp := client.GetDiscoveredResourceCountsRequest(params)
  6866  //
  6867  //    err := req.Send()
  6868  //    if err == nil { // resp is now filled
  6869  //        fmt.Println(resp)
  6870  //    }
  6871  //
  6872  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
  6873  func (c *ConfigService) GetDiscoveredResourceCountsRequest(input *GetDiscoveredResourceCountsInput) (req *request.Request, output *GetDiscoveredResourceCountsOutput) {
  6874  	op := &request.Operation{
  6875  		Name:       opGetDiscoveredResourceCounts,
  6876  		HTTPMethod: "POST",
  6877  		HTTPPath:   "/",
  6878  		Paginator: &request.Paginator{
  6879  			InputTokens:     []string{"nextToken"},
  6880  			OutputTokens:    []string{"nextToken"},
  6881  			LimitToken:      "limit",
  6882  			TruncationToken: "",
  6883  		},
  6884  	}
  6885  
  6886  	if input == nil {
  6887  		input = &GetDiscoveredResourceCountsInput{}
  6888  	}
  6889  
  6890  	output = &GetDiscoveredResourceCountsOutput{}
  6891  	req = c.newRequest(op, input, output)
  6892  	return
  6893  }
  6894  
  6895  // GetDiscoveredResourceCounts API operation for AWS Config.
  6896  //
  6897  // Returns the resource types, the number of each resource type, and the total
  6898  // number of resources that Config is recording in this region for your Amazon
  6899  // Web Services account.
  6900  //
  6901  // Example
  6902  //
  6903  // Config is recording three resource types in the US East (Ohio) Region for
  6904  // your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.
  6905  //
  6906  // You make a call to the GetDiscoveredResourceCounts action and specify that
  6907  // you want all resource types.
  6908  //
  6909  // Config returns the following:
  6910  //
  6911  //    * The resource types (EC2 instances, IAM users, and S3 buckets).
  6912  //
  6913  //    * The number of each resource type (25, 20, and 15).
  6914  //
  6915  //    * The total number of all resources (60).
  6916  //
  6917  // The response is paginated. By default, Config lists 100 ResourceCount objects
  6918  // on each page. You can customize this number with the limit parameter. The
  6919  // response includes a nextToken string. To get the next page of results, run
  6920  // the request again and specify the string for the nextToken parameter.
  6921  //
  6922  // If you make a call to the GetDiscoveredResourceCounts action, you might not
  6923  // immediately receive resource counts in the following situations:
  6924  //
  6925  //    * You are a new Config customer.
  6926  //
  6927  //    * You just enabled resource recording.
  6928  //
  6929  // It might take a few minutes for Config to record and count your resources.
  6930  // Wait a few minutes and then retry the GetDiscoveredResourceCounts action.
  6931  //
  6932  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6933  // with awserr.Error's Code and Message methods to get detailed information about
  6934  // the error.
  6935  //
  6936  // See the AWS API reference guide for AWS Config's
  6937  // API operation GetDiscoveredResourceCounts for usage and error information.
  6938  //
  6939  // Returned Error Types:
  6940  //   * ValidationException
  6941  //   The requested action is not valid.
  6942  //
  6943  //   For PutStoredQuery, you will see this exception if there are missing required
  6944  //   fields or if the input value fails the validation, or if you are trying to
  6945  //   create more than 300 queries.
  6946  //
  6947  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  6948  //   exception if there are missing required fields or if the input value fails
  6949  //   the validation.
  6950  //
  6951  //   * InvalidLimitException
  6952  //   The specified limit is outside the allowable range.
  6953  //
  6954  //   * InvalidNextTokenException
  6955  //   The specified next token is invalid. Specify the nextToken string that was
  6956  //   returned in the previous response to get the next page of results.
  6957  //
  6958  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
  6959  func (c *ConfigService) GetDiscoveredResourceCounts(input *GetDiscoveredResourceCountsInput) (*GetDiscoveredResourceCountsOutput, error) {
  6960  	req, out := c.GetDiscoveredResourceCountsRequest(input)
  6961  	return out, req.Send()
  6962  }
  6963  
  6964  // GetDiscoveredResourceCountsWithContext is the same as GetDiscoveredResourceCounts with the addition of
  6965  // the ability to pass a context and additional request options.
  6966  //
  6967  // See GetDiscoveredResourceCounts for details on how to use this API operation.
  6968  //
  6969  // The context must be non-nil and will be used for request cancellation. If
  6970  // the context is nil a panic will occur. In the future the SDK may create
  6971  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6972  // for more information on using Contexts.
  6973  func (c *ConfigService) GetDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetDiscoveredResourceCountsInput, opts ...request.Option) (*GetDiscoveredResourceCountsOutput, error) {
  6974  	req, out := c.GetDiscoveredResourceCountsRequest(input)
  6975  	req.SetContext(ctx)
  6976  	req.ApplyOptions(opts...)
  6977  	return out, req.Send()
  6978  }
  6979  
  6980  // GetDiscoveredResourceCountsPages iterates over the pages of a GetDiscoveredResourceCounts operation,
  6981  // calling the "fn" function with the response data for each page. To stop
  6982  // iterating, return false from the fn function.
  6983  //
  6984  // See GetDiscoveredResourceCounts method for more information on how to use this operation.
  6985  //
  6986  // Note: This operation can generate multiple requests to a service.
  6987  //
  6988  //    // Example iterating over at most 3 pages of a GetDiscoveredResourceCounts operation.
  6989  //    pageNum := 0
  6990  //    err := client.GetDiscoveredResourceCountsPages(params,
  6991  //        func(page *configservice.GetDiscoveredResourceCountsOutput, lastPage bool) bool {
  6992  //            pageNum++
  6993  //            fmt.Println(page)
  6994  //            return pageNum <= 3
  6995  //        })
  6996  //
  6997  func (c *ConfigService) GetDiscoveredResourceCountsPages(input *GetDiscoveredResourceCountsInput, fn func(*GetDiscoveredResourceCountsOutput, bool) bool) error {
  6998  	return c.GetDiscoveredResourceCountsPagesWithContext(aws.BackgroundContext(), input, fn)
  6999  }
  7000  
  7001  // GetDiscoveredResourceCountsPagesWithContext same as GetDiscoveredResourceCountsPages except
  7002  // it takes a Context and allows setting request options on the pages.
  7003  //
  7004  // The context must be non-nil and will be used for request cancellation. If
  7005  // the context is nil a panic will occur. In the future the SDK may create
  7006  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7007  // for more information on using Contexts.
  7008  func (c *ConfigService) GetDiscoveredResourceCountsPagesWithContext(ctx aws.Context, input *GetDiscoveredResourceCountsInput, fn func(*GetDiscoveredResourceCountsOutput, bool) bool, opts ...request.Option) error {
  7009  	p := request.Pagination{
  7010  		NewRequest: func() (*request.Request, error) {
  7011  			var inCpy *GetDiscoveredResourceCountsInput
  7012  			if input != nil {
  7013  				tmp := *input
  7014  				inCpy = &tmp
  7015  			}
  7016  			req, _ := c.GetDiscoveredResourceCountsRequest(inCpy)
  7017  			req.SetContext(ctx)
  7018  			req.ApplyOptions(opts...)
  7019  			return req, nil
  7020  		},
  7021  	}
  7022  
  7023  	for p.Next() {
  7024  		if !fn(p.Page().(*GetDiscoveredResourceCountsOutput), !p.HasNextPage()) {
  7025  			break
  7026  		}
  7027  	}
  7028  
  7029  	return p.Err()
  7030  }
  7031  
  7032  const opGetOrganizationConfigRuleDetailedStatus = "GetOrganizationConfigRuleDetailedStatus"
  7033  
  7034  // GetOrganizationConfigRuleDetailedStatusRequest generates a "aws/request.Request" representing the
  7035  // client's request for the GetOrganizationConfigRuleDetailedStatus operation. The "output" return
  7036  // value will be populated with the request's response once the request completes
  7037  // successfully.
  7038  //
  7039  // Use "Send" method on the returned Request to send the API call to the service.
  7040  // the "output" return value is not valid until after Send returns without error.
  7041  //
  7042  // See GetOrganizationConfigRuleDetailedStatus for more information on using the GetOrganizationConfigRuleDetailedStatus
  7043  // API call, and error handling.
  7044  //
  7045  // This method is useful when you want to inject custom logic or configuration
  7046  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7047  //
  7048  //
  7049  //    // Example sending a request using the GetOrganizationConfigRuleDetailedStatusRequest method.
  7050  //    req, resp := client.GetOrganizationConfigRuleDetailedStatusRequest(params)
  7051  //
  7052  //    err := req.Send()
  7053  //    if err == nil { // resp is now filled
  7054  //        fmt.Println(resp)
  7055  //    }
  7056  //
  7057  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
  7058  func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *GetOrganizationConfigRuleDetailedStatusInput) (req *request.Request, output *GetOrganizationConfigRuleDetailedStatusOutput) {
  7059  	op := &request.Operation{
  7060  		Name:       opGetOrganizationConfigRuleDetailedStatus,
  7061  		HTTPMethod: "POST",
  7062  		HTTPPath:   "/",
  7063  		Paginator: &request.Paginator{
  7064  			InputTokens:     []string{"NextToken"},
  7065  			OutputTokens:    []string{"NextToken"},
  7066  			LimitToken:      "Limit",
  7067  			TruncationToken: "",
  7068  		},
  7069  	}
  7070  
  7071  	if input == nil {
  7072  		input = &GetOrganizationConfigRuleDetailedStatusInput{}
  7073  	}
  7074  
  7075  	output = &GetOrganizationConfigRuleDetailedStatusOutput{}
  7076  	req = c.newRequest(op, input, output)
  7077  	return
  7078  }
  7079  
  7080  // GetOrganizationConfigRuleDetailedStatus API operation for AWS Config.
  7081  //
  7082  // Returns detailed status for each member account within an organization for
  7083  // a given organization config rule.
  7084  //
  7085  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7086  // with awserr.Error's Code and Message methods to get detailed information about
  7087  // the error.
  7088  //
  7089  // See the AWS API reference guide for AWS Config's
  7090  // API operation GetOrganizationConfigRuleDetailedStatus for usage and error information.
  7091  //
  7092  // Returned Error Types:
  7093  //   * NoSuchOrganizationConfigRuleException
  7094  //   You specified one or more organization config rules that do not exist.
  7095  //
  7096  //   * InvalidLimitException
  7097  //   The specified limit is outside the allowable range.
  7098  //
  7099  //   * InvalidNextTokenException
  7100  //   The specified next token is invalid. Specify the nextToken string that was
  7101  //   returned in the previous response to get the next page of results.
  7102  //
  7103  //   * OrganizationAccessDeniedException
  7104  //   For PutConfigurationAggregator API, you can see this exception for the following
  7105  //   reasons:
  7106  //
  7107  //      * No permission to call EnableAWSServiceAccess API
  7108  //
  7109  //      * The configuration aggregator cannot be updated because your Amazon Web
  7110  //      Services Organization management account or the delegated administrator
  7111  //      role changed. Delete this aggregator and create a new one with the current
  7112  //      Amazon Web Services Organization.
  7113  //
  7114  //      * The configuration aggregator is associated with a previous Amazon Web
  7115  //      Services Organization and Config cannot aggregate data with current Amazon
  7116  //      Web Services Organization. Delete this aggregator and create a new one
  7117  //      with the current Amazon Web Services Organization.
  7118  //
  7119  //      * You are not a registered delegated administrator for Config with permissions
  7120  //      to call ListDelegatedAdministrators API. Ensure that the management account
  7121  //      registers delagated administrator for Config service principle name before
  7122  //      the delegated administrator creates an aggregator.
  7123  //
  7124  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  7125  //   throws an exception if APIs are called from member accounts. All APIs must
  7126  //   be called from organization master account.
  7127  //
  7128  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
  7129  func (c *ConfigService) GetOrganizationConfigRuleDetailedStatus(input *GetOrganizationConfigRuleDetailedStatusInput) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
  7130  	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
  7131  	return out, req.Send()
  7132  }
  7133  
  7134  // GetOrganizationConfigRuleDetailedStatusWithContext is the same as GetOrganizationConfigRuleDetailedStatus with the addition of
  7135  // the ability to pass a context and additional request options.
  7136  //
  7137  // See GetOrganizationConfigRuleDetailedStatus for details on how to use this API operation.
  7138  //
  7139  // The context must be non-nil and will be used for request cancellation. If
  7140  // the context is nil a panic will occur. In the future the SDK may create
  7141  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7142  // for more information on using Contexts.
  7143  func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConfigRuleDetailedStatusInput, opts ...request.Option) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
  7144  	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
  7145  	req.SetContext(ctx)
  7146  	req.ApplyOptions(opts...)
  7147  	return out, req.Send()
  7148  }
  7149  
  7150  // GetOrganizationConfigRuleDetailedStatusPages iterates over the pages of a GetOrganizationConfigRuleDetailedStatus operation,
  7151  // calling the "fn" function with the response data for each page. To stop
  7152  // iterating, return false from the fn function.
  7153  //
  7154  // See GetOrganizationConfigRuleDetailedStatus method for more information on how to use this operation.
  7155  //
  7156  // Note: This operation can generate multiple requests to a service.
  7157  //
  7158  //    // Example iterating over at most 3 pages of a GetOrganizationConfigRuleDetailedStatus operation.
  7159  //    pageNum := 0
  7160  //    err := client.GetOrganizationConfigRuleDetailedStatusPages(params,
  7161  //        func(page *configservice.GetOrganizationConfigRuleDetailedStatusOutput, lastPage bool) bool {
  7162  //            pageNum++
  7163  //            fmt.Println(page)
  7164  //            return pageNum <= 3
  7165  //        })
  7166  //
  7167  func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusPages(input *GetOrganizationConfigRuleDetailedStatusInput, fn func(*GetOrganizationConfigRuleDetailedStatusOutput, bool) bool) error {
  7168  	return c.GetOrganizationConfigRuleDetailedStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  7169  }
  7170  
  7171  // GetOrganizationConfigRuleDetailedStatusPagesWithContext same as GetOrganizationConfigRuleDetailedStatusPages except
  7172  // it takes a Context and allows setting request options on the pages.
  7173  //
  7174  // The context must be non-nil and will be used for request cancellation. If
  7175  // the context is nil a panic will occur. In the future the SDK may create
  7176  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7177  // for more information on using Contexts.
  7178  func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusPagesWithContext(ctx aws.Context, input *GetOrganizationConfigRuleDetailedStatusInput, fn func(*GetOrganizationConfigRuleDetailedStatusOutput, bool) bool, opts ...request.Option) error {
  7179  	p := request.Pagination{
  7180  		NewRequest: func() (*request.Request, error) {
  7181  			var inCpy *GetOrganizationConfigRuleDetailedStatusInput
  7182  			if input != nil {
  7183  				tmp := *input
  7184  				inCpy = &tmp
  7185  			}
  7186  			req, _ := c.GetOrganizationConfigRuleDetailedStatusRequest(inCpy)
  7187  			req.SetContext(ctx)
  7188  			req.ApplyOptions(opts...)
  7189  			return req, nil
  7190  		},
  7191  	}
  7192  
  7193  	for p.Next() {
  7194  		if !fn(p.Page().(*GetOrganizationConfigRuleDetailedStatusOutput), !p.HasNextPage()) {
  7195  			break
  7196  		}
  7197  	}
  7198  
  7199  	return p.Err()
  7200  }
  7201  
  7202  const opGetOrganizationConformancePackDetailedStatus = "GetOrganizationConformancePackDetailedStatus"
  7203  
  7204  // GetOrganizationConformancePackDetailedStatusRequest generates a "aws/request.Request" representing the
  7205  // client's request for the GetOrganizationConformancePackDetailedStatus operation. The "output" return
  7206  // value will be populated with the request's response once the request completes
  7207  // successfully.
  7208  //
  7209  // Use "Send" method on the returned Request to send the API call to the service.
  7210  // the "output" return value is not valid until after Send returns without error.
  7211  //
  7212  // See GetOrganizationConformancePackDetailedStatus for more information on using the GetOrganizationConformancePackDetailedStatus
  7213  // API call, and error handling.
  7214  //
  7215  // This method is useful when you want to inject custom logic or configuration
  7216  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7217  //
  7218  //
  7219  //    // Example sending a request using the GetOrganizationConformancePackDetailedStatusRequest method.
  7220  //    req, resp := client.GetOrganizationConformancePackDetailedStatusRequest(params)
  7221  //
  7222  //    err := req.Send()
  7223  //    if err == nil { // resp is now filled
  7224  //        fmt.Println(resp)
  7225  //    }
  7226  //
  7227  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
  7228  func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(input *GetOrganizationConformancePackDetailedStatusInput) (req *request.Request, output *GetOrganizationConformancePackDetailedStatusOutput) {
  7229  	op := &request.Operation{
  7230  		Name:       opGetOrganizationConformancePackDetailedStatus,
  7231  		HTTPMethod: "POST",
  7232  		HTTPPath:   "/",
  7233  		Paginator: &request.Paginator{
  7234  			InputTokens:     []string{"NextToken"},
  7235  			OutputTokens:    []string{"NextToken"},
  7236  			LimitToken:      "Limit",
  7237  			TruncationToken: "",
  7238  		},
  7239  	}
  7240  
  7241  	if input == nil {
  7242  		input = &GetOrganizationConformancePackDetailedStatusInput{}
  7243  	}
  7244  
  7245  	output = &GetOrganizationConformancePackDetailedStatusOutput{}
  7246  	req = c.newRequest(op, input, output)
  7247  	return
  7248  }
  7249  
  7250  // GetOrganizationConformancePackDetailedStatus API operation for AWS Config.
  7251  //
  7252  // Returns detailed status for each member account within an organization for
  7253  // a given organization conformance pack.
  7254  //
  7255  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7256  // with awserr.Error's Code and Message methods to get detailed information about
  7257  // the error.
  7258  //
  7259  // See the AWS API reference guide for AWS Config's
  7260  // API operation GetOrganizationConformancePackDetailedStatus for usage and error information.
  7261  //
  7262  // Returned Error Types:
  7263  //   * NoSuchOrganizationConformancePackException
  7264  //   Config organization conformance pack that you passed in the filter does not
  7265  //   exist.
  7266  //
  7267  //   For DeleteOrganizationConformancePack, you tried to delete an organization
  7268  //   conformance pack that does not exist.
  7269  //
  7270  //   * InvalidLimitException
  7271  //   The specified limit is outside the allowable range.
  7272  //
  7273  //   * InvalidNextTokenException
  7274  //   The specified next token is invalid. Specify the nextToken string that was
  7275  //   returned in the previous response to get the next page of results.
  7276  //
  7277  //   * OrganizationAccessDeniedException
  7278  //   For PutConfigurationAggregator API, you can see this exception for the following
  7279  //   reasons:
  7280  //
  7281  //      * No permission to call EnableAWSServiceAccess API
  7282  //
  7283  //      * The configuration aggregator cannot be updated because your Amazon Web
  7284  //      Services Organization management account or the delegated administrator
  7285  //      role changed. Delete this aggregator and create a new one with the current
  7286  //      Amazon Web Services Organization.
  7287  //
  7288  //      * The configuration aggregator is associated with a previous Amazon Web
  7289  //      Services Organization and Config cannot aggregate data with current Amazon
  7290  //      Web Services Organization. Delete this aggregator and create a new one
  7291  //      with the current Amazon Web Services Organization.
  7292  //
  7293  //      * You are not a registered delegated administrator for Config with permissions
  7294  //      to call ListDelegatedAdministrators API. Ensure that the management account
  7295  //      registers delagated administrator for Config service principle name before
  7296  //      the delegated administrator creates an aggregator.
  7297  //
  7298  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  7299  //   throws an exception if APIs are called from member accounts. All APIs must
  7300  //   be called from organization master account.
  7301  //
  7302  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
  7303  func (c *ConfigService) GetOrganizationConformancePackDetailedStatus(input *GetOrganizationConformancePackDetailedStatusInput) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
  7304  	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
  7305  	return out, req.Send()
  7306  }
  7307  
  7308  // GetOrganizationConformancePackDetailedStatusWithContext is the same as GetOrganizationConformancePackDetailedStatus with the addition of
  7309  // the ability to pass a context and additional request options.
  7310  //
  7311  // See GetOrganizationConformancePackDetailedStatus for details on how to use this API operation.
  7312  //
  7313  // The context must be non-nil and will be used for request cancellation. If
  7314  // the context is nil a panic will occur. In the future the SDK may create
  7315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7316  // for more information on using Contexts.
  7317  func (c *ConfigService) GetOrganizationConformancePackDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConformancePackDetailedStatusInput, opts ...request.Option) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
  7318  	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
  7319  	req.SetContext(ctx)
  7320  	req.ApplyOptions(opts...)
  7321  	return out, req.Send()
  7322  }
  7323  
  7324  // GetOrganizationConformancePackDetailedStatusPages iterates over the pages of a GetOrganizationConformancePackDetailedStatus operation,
  7325  // calling the "fn" function with the response data for each page. To stop
  7326  // iterating, return false from the fn function.
  7327  //
  7328  // See GetOrganizationConformancePackDetailedStatus method for more information on how to use this operation.
  7329  //
  7330  // Note: This operation can generate multiple requests to a service.
  7331  //
  7332  //    // Example iterating over at most 3 pages of a GetOrganizationConformancePackDetailedStatus operation.
  7333  //    pageNum := 0
  7334  //    err := client.GetOrganizationConformancePackDetailedStatusPages(params,
  7335  //        func(page *configservice.GetOrganizationConformancePackDetailedStatusOutput, lastPage bool) bool {
  7336  //            pageNum++
  7337  //            fmt.Println(page)
  7338  //            return pageNum <= 3
  7339  //        })
  7340  //
  7341  func (c *ConfigService) GetOrganizationConformancePackDetailedStatusPages(input *GetOrganizationConformancePackDetailedStatusInput, fn func(*GetOrganizationConformancePackDetailedStatusOutput, bool) bool) error {
  7342  	return c.GetOrganizationConformancePackDetailedStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  7343  }
  7344  
  7345  // GetOrganizationConformancePackDetailedStatusPagesWithContext same as GetOrganizationConformancePackDetailedStatusPages except
  7346  // it takes a Context and allows setting request options on the pages.
  7347  //
  7348  // The context must be non-nil and will be used for request cancellation. If
  7349  // the context is nil a panic will occur. In the future the SDK may create
  7350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7351  // for more information on using Contexts.
  7352  func (c *ConfigService) GetOrganizationConformancePackDetailedStatusPagesWithContext(ctx aws.Context, input *GetOrganizationConformancePackDetailedStatusInput, fn func(*GetOrganizationConformancePackDetailedStatusOutput, bool) bool, opts ...request.Option) error {
  7353  	p := request.Pagination{
  7354  		NewRequest: func() (*request.Request, error) {
  7355  			var inCpy *GetOrganizationConformancePackDetailedStatusInput
  7356  			if input != nil {
  7357  				tmp := *input
  7358  				inCpy = &tmp
  7359  			}
  7360  			req, _ := c.GetOrganizationConformancePackDetailedStatusRequest(inCpy)
  7361  			req.SetContext(ctx)
  7362  			req.ApplyOptions(opts...)
  7363  			return req, nil
  7364  		},
  7365  	}
  7366  
  7367  	for p.Next() {
  7368  		if !fn(p.Page().(*GetOrganizationConformancePackDetailedStatusOutput), !p.HasNextPage()) {
  7369  			break
  7370  		}
  7371  	}
  7372  
  7373  	return p.Err()
  7374  }
  7375  
  7376  const opGetResourceConfigHistory = "GetResourceConfigHistory"
  7377  
  7378  // GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
  7379  // client's request for the GetResourceConfigHistory operation. The "output" return
  7380  // value will be populated with the request's response once the request completes
  7381  // successfully.
  7382  //
  7383  // Use "Send" method on the returned Request to send the API call to the service.
  7384  // the "output" return value is not valid until after Send returns without error.
  7385  //
  7386  // See GetResourceConfigHistory for more information on using the GetResourceConfigHistory
  7387  // API call, and error handling.
  7388  //
  7389  // This method is useful when you want to inject custom logic or configuration
  7390  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7391  //
  7392  //
  7393  //    // Example sending a request using the GetResourceConfigHistoryRequest method.
  7394  //    req, resp := client.GetResourceConfigHistoryRequest(params)
  7395  //
  7396  //    err := req.Send()
  7397  //    if err == nil { // resp is now filled
  7398  //        fmt.Println(resp)
  7399  //    }
  7400  //
  7401  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
  7402  func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfigHistoryInput) (req *request.Request, output *GetResourceConfigHistoryOutput) {
  7403  	op := &request.Operation{
  7404  		Name:       opGetResourceConfigHistory,
  7405  		HTTPMethod: "POST",
  7406  		HTTPPath:   "/",
  7407  		Paginator: &request.Paginator{
  7408  			InputTokens:     []string{"nextToken"},
  7409  			OutputTokens:    []string{"nextToken"},
  7410  			LimitToken:      "limit",
  7411  			TruncationToken: "",
  7412  		},
  7413  	}
  7414  
  7415  	if input == nil {
  7416  		input = &GetResourceConfigHistoryInput{}
  7417  	}
  7418  
  7419  	output = &GetResourceConfigHistoryOutput{}
  7420  	req = c.newRequest(op, input, output)
  7421  	return
  7422  }
  7423  
  7424  // GetResourceConfigHistory API operation for AWS Config.
  7425  //
  7426  // Returns a list of ConfigurationItems for the specified resource. The list
  7427  // contains details about each state of the resource during the specified time
  7428  // interval. If you specified a retention period to retain your ConfigurationItems
  7429  // between a minimum of 30 days and a maximum of 7 years (2557 days), Config
  7430  // returns the ConfigurationItems for the specified retention period.
  7431  //
  7432  // The response is paginated. By default, Config returns a limit of 10 configuration
  7433  // items per page. You can customize this number with the limit parameter. The
  7434  // response includes a nextToken string. To get the next page of results, run
  7435  // the request again and specify the string for the nextToken parameter.
  7436  //
  7437  // Each call to the API is limited to span a duration of seven days. It is likely
  7438  // that the number of records returned is smaller than the specified limit.
  7439  // In such cases, you can make another call, using the nextToken.
  7440  //
  7441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7442  // with awserr.Error's Code and Message methods to get detailed information about
  7443  // the error.
  7444  //
  7445  // See the AWS API reference guide for AWS Config's
  7446  // API operation GetResourceConfigHistory for usage and error information.
  7447  //
  7448  // Returned Error Types:
  7449  //   * ValidationException
  7450  //   The requested action is not valid.
  7451  //
  7452  //   For PutStoredQuery, you will see this exception if there are missing required
  7453  //   fields or if the input value fails the validation, or if you are trying to
  7454  //   create more than 300 queries.
  7455  //
  7456  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  7457  //   exception if there are missing required fields or if the input value fails
  7458  //   the validation.
  7459  //
  7460  //   * InvalidTimeRangeException
  7461  //   The specified time range is not valid. The earlier time is not chronologically
  7462  //   before the later time.
  7463  //
  7464  //   * InvalidLimitException
  7465  //   The specified limit is outside the allowable range.
  7466  //
  7467  //   * InvalidNextTokenException
  7468  //   The specified next token is invalid. Specify the nextToken string that was
  7469  //   returned in the previous response to get the next page of results.
  7470  //
  7471  //   * NoAvailableConfigurationRecorderException
  7472  //   There are no configuration recorders available to provide the role needed
  7473  //   to describe your resources. Create a configuration recorder.
  7474  //
  7475  //   * ResourceNotDiscoveredException
  7476  //   You have specified a resource that is either unknown or has not been discovered.
  7477  //
  7478  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
  7479  func (c *ConfigService) GetResourceConfigHistory(input *GetResourceConfigHistoryInput) (*GetResourceConfigHistoryOutput, error) {
  7480  	req, out := c.GetResourceConfigHistoryRequest(input)
  7481  	return out, req.Send()
  7482  }
  7483  
  7484  // GetResourceConfigHistoryWithContext is the same as GetResourceConfigHistory with the addition of
  7485  // the ability to pass a context and additional request options.
  7486  //
  7487  // See GetResourceConfigHistory for details on how to use this API operation.
  7488  //
  7489  // The context must be non-nil and will be used for request cancellation. If
  7490  // the context is nil a panic will occur. In the future the SDK may create
  7491  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7492  // for more information on using Contexts.
  7493  func (c *ConfigService) GetResourceConfigHistoryWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, opts ...request.Option) (*GetResourceConfigHistoryOutput, error) {
  7494  	req, out := c.GetResourceConfigHistoryRequest(input)
  7495  	req.SetContext(ctx)
  7496  	req.ApplyOptions(opts...)
  7497  	return out, req.Send()
  7498  }
  7499  
  7500  // GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
  7501  // calling the "fn" function with the response data for each page. To stop
  7502  // iterating, return false from the fn function.
  7503  //
  7504  // See GetResourceConfigHistory method for more information on how to use this operation.
  7505  //
  7506  // Note: This operation can generate multiple requests to a service.
  7507  //
  7508  //    // Example iterating over at most 3 pages of a GetResourceConfigHistory operation.
  7509  //    pageNum := 0
  7510  //    err := client.GetResourceConfigHistoryPages(params,
  7511  //        func(page *configservice.GetResourceConfigHistoryOutput, lastPage bool) bool {
  7512  //            pageNum++
  7513  //            fmt.Println(page)
  7514  //            return pageNum <= 3
  7515  //        })
  7516  //
  7517  func (c *ConfigService) GetResourceConfigHistoryPages(input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool) error {
  7518  	return c.GetResourceConfigHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  7519  }
  7520  
  7521  // GetResourceConfigHistoryPagesWithContext same as GetResourceConfigHistoryPages except
  7522  // it takes a Context and allows setting request options on the pages.
  7523  //
  7524  // The context must be non-nil and will be used for request cancellation. If
  7525  // the context is nil a panic will occur. In the future the SDK may create
  7526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7527  // for more information on using Contexts.
  7528  func (c *ConfigService) GetResourceConfigHistoryPagesWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool, opts ...request.Option) error {
  7529  	p := request.Pagination{
  7530  		NewRequest: func() (*request.Request, error) {
  7531  			var inCpy *GetResourceConfigHistoryInput
  7532  			if input != nil {
  7533  				tmp := *input
  7534  				inCpy = &tmp
  7535  			}
  7536  			req, _ := c.GetResourceConfigHistoryRequest(inCpy)
  7537  			req.SetContext(ctx)
  7538  			req.ApplyOptions(opts...)
  7539  			return req, nil
  7540  		},
  7541  	}
  7542  
  7543  	for p.Next() {
  7544  		if !fn(p.Page().(*GetResourceConfigHistoryOutput), !p.HasNextPage()) {
  7545  			break
  7546  		}
  7547  	}
  7548  
  7549  	return p.Err()
  7550  }
  7551  
  7552  const opGetStoredQuery = "GetStoredQuery"
  7553  
  7554  // GetStoredQueryRequest generates a "aws/request.Request" representing the
  7555  // client's request for the GetStoredQuery operation. The "output" return
  7556  // value will be populated with the request's response once the request completes
  7557  // successfully.
  7558  //
  7559  // Use "Send" method on the returned Request to send the API call to the service.
  7560  // the "output" return value is not valid until after Send returns without error.
  7561  //
  7562  // See GetStoredQuery for more information on using the GetStoredQuery
  7563  // API call, and error handling.
  7564  //
  7565  // This method is useful when you want to inject custom logic or configuration
  7566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7567  //
  7568  //
  7569  //    // Example sending a request using the GetStoredQueryRequest method.
  7570  //    req, resp := client.GetStoredQueryRequest(params)
  7571  //
  7572  //    err := req.Send()
  7573  //    if err == nil { // resp is now filled
  7574  //        fmt.Println(resp)
  7575  //    }
  7576  //
  7577  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
  7578  func (c *ConfigService) GetStoredQueryRequest(input *GetStoredQueryInput) (req *request.Request, output *GetStoredQueryOutput) {
  7579  	op := &request.Operation{
  7580  		Name:       opGetStoredQuery,
  7581  		HTTPMethod: "POST",
  7582  		HTTPPath:   "/",
  7583  	}
  7584  
  7585  	if input == nil {
  7586  		input = &GetStoredQueryInput{}
  7587  	}
  7588  
  7589  	output = &GetStoredQueryOutput{}
  7590  	req = c.newRequest(op, input, output)
  7591  	return
  7592  }
  7593  
  7594  // GetStoredQuery API operation for AWS Config.
  7595  //
  7596  // Returns the details of a specific stored query.
  7597  //
  7598  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7599  // with awserr.Error's Code and Message methods to get detailed information about
  7600  // the error.
  7601  //
  7602  // See the AWS API reference guide for AWS Config's
  7603  // API operation GetStoredQuery for usage and error information.
  7604  //
  7605  // Returned Error Types:
  7606  //   * ValidationException
  7607  //   The requested action is not valid.
  7608  //
  7609  //   For PutStoredQuery, you will see this exception if there are missing required
  7610  //   fields or if the input value fails the validation, or if you are trying to
  7611  //   create more than 300 queries.
  7612  //
  7613  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  7614  //   exception if there are missing required fields or if the input value fails
  7615  //   the validation.
  7616  //
  7617  //   * ResourceNotFoundException
  7618  //   You have specified a resource that does not exist.
  7619  //
  7620  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
  7621  func (c *ConfigService) GetStoredQuery(input *GetStoredQueryInput) (*GetStoredQueryOutput, error) {
  7622  	req, out := c.GetStoredQueryRequest(input)
  7623  	return out, req.Send()
  7624  }
  7625  
  7626  // GetStoredQueryWithContext is the same as GetStoredQuery with the addition of
  7627  // the ability to pass a context and additional request options.
  7628  //
  7629  // See GetStoredQuery for details on how to use this API operation.
  7630  //
  7631  // The context must be non-nil and will be used for request cancellation. If
  7632  // the context is nil a panic will occur. In the future the SDK may create
  7633  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7634  // for more information on using Contexts.
  7635  func (c *ConfigService) GetStoredQueryWithContext(ctx aws.Context, input *GetStoredQueryInput, opts ...request.Option) (*GetStoredQueryOutput, error) {
  7636  	req, out := c.GetStoredQueryRequest(input)
  7637  	req.SetContext(ctx)
  7638  	req.ApplyOptions(opts...)
  7639  	return out, req.Send()
  7640  }
  7641  
  7642  const opListAggregateDiscoveredResources = "ListAggregateDiscoveredResources"
  7643  
  7644  // ListAggregateDiscoveredResourcesRequest generates a "aws/request.Request" representing the
  7645  // client's request for the ListAggregateDiscoveredResources operation. The "output" return
  7646  // value will be populated with the request's response once the request completes
  7647  // successfully.
  7648  //
  7649  // Use "Send" method on the returned Request to send the API call to the service.
  7650  // the "output" return value is not valid until after Send returns without error.
  7651  //
  7652  // See ListAggregateDiscoveredResources for more information on using the ListAggregateDiscoveredResources
  7653  // API call, and error handling.
  7654  //
  7655  // This method is useful when you want to inject custom logic or configuration
  7656  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7657  //
  7658  //
  7659  //    // Example sending a request using the ListAggregateDiscoveredResourcesRequest method.
  7660  //    req, resp := client.ListAggregateDiscoveredResourcesRequest(params)
  7661  //
  7662  //    err := req.Send()
  7663  //    if err == nil { // resp is now filled
  7664  //        fmt.Println(resp)
  7665  //    }
  7666  //
  7667  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
  7668  func (c *ConfigService) ListAggregateDiscoveredResourcesRequest(input *ListAggregateDiscoveredResourcesInput) (req *request.Request, output *ListAggregateDiscoveredResourcesOutput) {
  7669  	op := &request.Operation{
  7670  		Name:       opListAggregateDiscoveredResources,
  7671  		HTTPMethod: "POST",
  7672  		HTTPPath:   "/",
  7673  		Paginator: &request.Paginator{
  7674  			InputTokens:     []string{"NextToken"},
  7675  			OutputTokens:    []string{"NextToken"},
  7676  			LimitToken:      "Limit",
  7677  			TruncationToken: "",
  7678  		},
  7679  	}
  7680  
  7681  	if input == nil {
  7682  		input = &ListAggregateDiscoveredResourcesInput{}
  7683  	}
  7684  
  7685  	output = &ListAggregateDiscoveredResourcesOutput{}
  7686  	req = c.newRequest(op, input, output)
  7687  	return
  7688  }
  7689  
  7690  // ListAggregateDiscoveredResources API operation for AWS Config.
  7691  //
  7692  // Accepts a resource type and returns a list of resource identifiers that are
  7693  // aggregated for a specific resource type across accounts and regions. A resource
  7694  // identifier includes the resource type, ID, (if available) the custom resource
  7695  // name, source account, and source region. You can narrow the results to include
  7696  // only resources that have specific resource IDs, or a resource name, or source
  7697  // account ID, or source region.
  7698  //
  7699  // For example, if the input consists of accountID 12345678910 and the region
  7700  // is us-east-1 for resource type AWS::EC2::Instance then the API returns all
  7701  // the EC2 instance identifiers of accountID 12345678910 and region us-east-1.
  7702  //
  7703  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7704  // with awserr.Error's Code and Message methods to get detailed information about
  7705  // the error.
  7706  //
  7707  // See the AWS API reference guide for AWS Config's
  7708  // API operation ListAggregateDiscoveredResources for usage and error information.
  7709  //
  7710  // Returned Error Types:
  7711  //   * ValidationException
  7712  //   The requested action is not valid.
  7713  //
  7714  //   For PutStoredQuery, you will see this exception if there are missing required
  7715  //   fields or if the input value fails the validation, or if you are trying to
  7716  //   create more than 300 queries.
  7717  //
  7718  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  7719  //   exception if there are missing required fields or if the input value fails
  7720  //   the validation.
  7721  //
  7722  //   * InvalidLimitException
  7723  //   The specified limit is outside the allowable range.
  7724  //
  7725  //   * InvalidNextTokenException
  7726  //   The specified next token is invalid. Specify the nextToken string that was
  7727  //   returned in the previous response to get the next page of results.
  7728  //
  7729  //   * NoSuchConfigurationAggregatorException
  7730  //   You have specified a configuration aggregator that does not exist.
  7731  //
  7732  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
  7733  func (c *ConfigService) ListAggregateDiscoveredResources(input *ListAggregateDiscoveredResourcesInput) (*ListAggregateDiscoveredResourcesOutput, error) {
  7734  	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
  7735  	return out, req.Send()
  7736  }
  7737  
  7738  // ListAggregateDiscoveredResourcesWithContext is the same as ListAggregateDiscoveredResources with the addition of
  7739  // the ability to pass a context and additional request options.
  7740  //
  7741  // See ListAggregateDiscoveredResources for details on how to use this API operation.
  7742  //
  7743  // The context must be non-nil and will be used for request cancellation. If
  7744  // the context is nil a panic will occur. In the future the SDK may create
  7745  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7746  // for more information on using Contexts.
  7747  func (c *ConfigService) ListAggregateDiscoveredResourcesWithContext(ctx aws.Context, input *ListAggregateDiscoveredResourcesInput, opts ...request.Option) (*ListAggregateDiscoveredResourcesOutput, error) {
  7748  	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
  7749  	req.SetContext(ctx)
  7750  	req.ApplyOptions(opts...)
  7751  	return out, req.Send()
  7752  }
  7753  
  7754  // ListAggregateDiscoveredResourcesPages iterates over the pages of a ListAggregateDiscoveredResources operation,
  7755  // calling the "fn" function with the response data for each page. To stop
  7756  // iterating, return false from the fn function.
  7757  //
  7758  // See ListAggregateDiscoveredResources method for more information on how to use this operation.
  7759  //
  7760  // Note: This operation can generate multiple requests to a service.
  7761  //
  7762  //    // Example iterating over at most 3 pages of a ListAggregateDiscoveredResources operation.
  7763  //    pageNum := 0
  7764  //    err := client.ListAggregateDiscoveredResourcesPages(params,
  7765  //        func(page *configservice.ListAggregateDiscoveredResourcesOutput, lastPage bool) bool {
  7766  //            pageNum++
  7767  //            fmt.Println(page)
  7768  //            return pageNum <= 3
  7769  //        })
  7770  //
  7771  func (c *ConfigService) ListAggregateDiscoveredResourcesPages(input *ListAggregateDiscoveredResourcesInput, fn func(*ListAggregateDiscoveredResourcesOutput, bool) bool) error {
  7772  	return c.ListAggregateDiscoveredResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
  7773  }
  7774  
  7775  // ListAggregateDiscoveredResourcesPagesWithContext same as ListAggregateDiscoveredResourcesPages except
  7776  // it takes a Context and allows setting request options on the pages.
  7777  //
  7778  // The context must be non-nil and will be used for request cancellation. If
  7779  // the context is nil a panic will occur. In the future the SDK may create
  7780  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7781  // for more information on using Contexts.
  7782  func (c *ConfigService) ListAggregateDiscoveredResourcesPagesWithContext(ctx aws.Context, input *ListAggregateDiscoveredResourcesInput, fn func(*ListAggregateDiscoveredResourcesOutput, bool) bool, opts ...request.Option) error {
  7783  	p := request.Pagination{
  7784  		NewRequest: func() (*request.Request, error) {
  7785  			var inCpy *ListAggregateDiscoveredResourcesInput
  7786  			if input != nil {
  7787  				tmp := *input
  7788  				inCpy = &tmp
  7789  			}
  7790  			req, _ := c.ListAggregateDiscoveredResourcesRequest(inCpy)
  7791  			req.SetContext(ctx)
  7792  			req.ApplyOptions(opts...)
  7793  			return req, nil
  7794  		},
  7795  	}
  7796  
  7797  	for p.Next() {
  7798  		if !fn(p.Page().(*ListAggregateDiscoveredResourcesOutput), !p.HasNextPage()) {
  7799  			break
  7800  		}
  7801  	}
  7802  
  7803  	return p.Err()
  7804  }
  7805  
  7806  const opListDiscoveredResources = "ListDiscoveredResources"
  7807  
  7808  // ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
  7809  // client's request for the ListDiscoveredResources operation. The "output" return
  7810  // value will be populated with the request's response once the request completes
  7811  // successfully.
  7812  //
  7813  // Use "Send" method on the returned Request to send the API call to the service.
  7814  // the "output" return value is not valid until after Send returns without error.
  7815  //
  7816  // See ListDiscoveredResources for more information on using the ListDiscoveredResources
  7817  // API call, and error handling.
  7818  //
  7819  // This method is useful when you want to inject custom logic or configuration
  7820  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7821  //
  7822  //
  7823  //    // Example sending a request using the ListDiscoveredResourcesRequest method.
  7824  //    req, resp := client.ListDiscoveredResourcesRequest(params)
  7825  //
  7826  //    err := req.Send()
  7827  //    if err == nil { // resp is now filled
  7828  //        fmt.Println(resp)
  7829  //    }
  7830  //
  7831  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
  7832  func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
  7833  	op := &request.Operation{
  7834  		Name:       opListDiscoveredResources,
  7835  		HTTPMethod: "POST",
  7836  		HTTPPath:   "/",
  7837  		Paginator: &request.Paginator{
  7838  			InputTokens:     []string{"nextToken"},
  7839  			OutputTokens:    []string{"nextToken"},
  7840  			LimitToken:      "limit",
  7841  			TruncationToken: "",
  7842  		},
  7843  	}
  7844  
  7845  	if input == nil {
  7846  		input = &ListDiscoveredResourcesInput{}
  7847  	}
  7848  
  7849  	output = &ListDiscoveredResourcesOutput{}
  7850  	req = c.newRequest(op, input, output)
  7851  	return
  7852  }
  7853  
  7854  // ListDiscoveredResources API operation for AWS Config.
  7855  //
  7856  // Accepts a resource type and returns a list of resource identifiers for the
  7857  // resources of that type. A resource identifier includes the resource type,
  7858  // ID, and (if available) the custom resource name. The results consist of resources
  7859  // that Config has discovered, including those that Config is not currently
  7860  // recording. You can narrow the results to include only resources that have
  7861  // specific resource IDs or a resource name.
  7862  //
  7863  // You can specify either resource IDs or a resource name, but not both, in
  7864  // the same request.
  7865  //
  7866  // The response is paginated. By default, Config lists 100 resource identifiers
  7867  // on each page. You can customize this number with the limit parameter. The
  7868  // response includes a nextToken string. To get the next page of results, run
  7869  // the request again and specify the string for the nextToken parameter.
  7870  //
  7871  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7872  // with awserr.Error's Code and Message methods to get detailed information about
  7873  // the error.
  7874  //
  7875  // See the AWS API reference guide for AWS Config's
  7876  // API operation ListDiscoveredResources for usage and error information.
  7877  //
  7878  // Returned Error Types:
  7879  //   * ValidationException
  7880  //   The requested action is not valid.
  7881  //
  7882  //   For PutStoredQuery, you will see this exception if there are missing required
  7883  //   fields or if the input value fails the validation, or if you are trying to
  7884  //   create more than 300 queries.
  7885  //
  7886  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  7887  //   exception if there are missing required fields or if the input value fails
  7888  //   the validation.
  7889  //
  7890  //   * InvalidLimitException
  7891  //   The specified limit is outside the allowable range.
  7892  //
  7893  //   * InvalidNextTokenException
  7894  //   The specified next token is invalid. Specify the nextToken string that was
  7895  //   returned in the previous response to get the next page of results.
  7896  //
  7897  //   * NoAvailableConfigurationRecorderException
  7898  //   There are no configuration recorders available to provide the role needed
  7899  //   to describe your resources. Create a configuration recorder.
  7900  //
  7901  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
  7902  func (c *ConfigService) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
  7903  	req, out := c.ListDiscoveredResourcesRequest(input)
  7904  	return out, req.Send()
  7905  }
  7906  
  7907  // ListDiscoveredResourcesWithContext is the same as ListDiscoveredResources with the addition of
  7908  // the ability to pass a context and additional request options.
  7909  //
  7910  // See ListDiscoveredResources for details on how to use this API operation.
  7911  //
  7912  // The context must be non-nil and will be used for request cancellation. If
  7913  // the context is nil a panic will occur. In the future the SDK may create
  7914  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7915  // for more information on using Contexts.
  7916  func (c *ConfigService) ListDiscoveredResourcesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, opts ...request.Option) (*ListDiscoveredResourcesOutput, error) {
  7917  	req, out := c.ListDiscoveredResourcesRequest(input)
  7918  	req.SetContext(ctx)
  7919  	req.ApplyOptions(opts...)
  7920  	return out, req.Send()
  7921  }
  7922  
  7923  // ListDiscoveredResourcesPages iterates over the pages of a ListDiscoveredResources operation,
  7924  // calling the "fn" function with the response data for each page. To stop
  7925  // iterating, return false from the fn function.
  7926  //
  7927  // See ListDiscoveredResources method for more information on how to use this operation.
  7928  //
  7929  // Note: This operation can generate multiple requests to a service.
  7930  //
  7931  //    // Example iterating over at most 3 pages of a ListDiscoveredResources operation.
  7932  //    pageNum := 0
  7933  //    err := client.ListDiscoveredResourcesPages(params,
  7934  //        func(page *configservice.ListDiscoveredResourcesOutput, lastPage bool) bool {
  7935  //            pageNum++
  7936  //            fmt.Println(page)
  7937  //            return pageNum <= 3
  7938  //        })
  7939  //
  7940  func (c *ConfigService) ListDiscoveredResourcesPages(input *ListDiscoveredResourcesInput, fn func(*ListDiscoveredResourcesOutput, bool) bool) error {
  7941  	return c.ListDiscoveredResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
  7942  }
  7943  
  7944  // ListDiscoveredResourcesPagesWithContext same as ListDiscoveredResourcesPages except
  7945  // it takes a Context and allows setting request options on the pages.
  7946  //
  7947  // The context must be non-nil and will be used for request cancellation. If
  7948  // the context is nil a panic will occur. In the future the SDK may create
  7949  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7950  // for more information on using Contexts.
  7951  func (c *ConfigService) ListDiscoveredResourcesPagesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, fn func(*ListDiscoveredResourcesOutput, bool) bool, opts ...request.Option) error {
  7952  	p := request.Pagination{
  7953  		NewRequest: func() (*request.Request, error) {
  7954  			var inCpy *ListDiscoveredResourcesInput
  7955  			if input != nil {
  7956  				tmp := *input
  7957  				inCpy = &tmp
  7958  			}
  7959  			req, _ := c.ListDiscoveredResourcesRequest(inCpy)
  7960  			req.SetContext(ctx)
  7961  			req.ApplyOptions(opts...)
  7962  			return req, nil
  7963  		},
  7964  	}
  7965  
  7966  	for p.Next() {
  7967  		if !fn(p.Page().(*ListDiscoveredResourcesOutput), !p.HasNextPage()) {
  7968  			break
  7969  		}
  7970  	}
  7971  
  7972  	return p.Err()
  7973  }
  7974  
  7975  const opListStoredQueries = "ListStoredQueries"
  7976  
  7977  // ListStoredQueriesRequest generates a "aws/request.Request" representing the
  7978  // client's request for the ListStoredQueries operation. The "output" return
  7979  // value will be populated with the request's response once the request completes
  7980  // successfully.
  7981  //
  7982  // Use "Send" method on the returned Request to send the API call to the service.
  7983  // the "output" return value is not valid until after Send returns without error.
  7984  //
  7985  // See ListStoredQueries for more information on using the ListStoredQueries
  7986  // API call, and error handling.
  7987  //
  7988  // This method is useful when you want to inject custom logic or configuration
  7989  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7990  //
  7991  //
  7992  //    // Example sending a request using the ListStoredQueriesRequest method.
  7993  //    req, resp := client.ListStoredQueriesRequest(params)
  7994  //
  7995  //    err := req.Send()
  7996  //    if err == nil { // resp is now filled
  7997  //        fmt.Println(resp)
  7998  //    }
  7999  //
  8000  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
  8001  func (c *ConfigService) ListStoredQueriesRequest(input *ListStoredQueriesInput) (req *request.Request, output *ListStoredQueriesOutput) {
  8002  	op := &request.Operation{
  8003  		Name:       opListStoredQueries,
  8004  		HTTPMethod: "POST",
  8005  		HTTPPath:   "/",
  8006  		Paginator: &request.Paginator{
  8007  			InputTokens:     []string{"NextToken"},
  8008  			OutputTokens:    []string{"NextToken"},
  8009  			LimitToken:      "MaxResults",
  8010  			TruncationToken: "",
  8011  		},
  8012  	}
  8013  
  8014  	if input == nil {
  8015  		input = &ListStoredQueriesInput{}
  8016  	}
  8017  
  8018  	output = &ListStoredQueriesOutput{}
  8019  	req = c.newRequest(op, input, output)
  8020  	return
  8021  }
  8022  
  8023  // ListStoredQueries API operation for AWS Config.
  8024  //
  8025  // Lists the stored queries for a single Amazon Web Services account and a single
  8026  // Amazon Web Services Region. The default is 100.
  8027  //
  8028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8029  // with awserr.Error's Code and Message methods to get detailed information about
  8030  // the error.
  8031  //
  8032  // See the AWS API reference guide for AWS Config's
  8033  // API operation ListStoredQueries for usage and error information.
  8034  //
  8035  // Returned Error Types:
  8036  //   * ValidationException
  8037  //   The requested action is not valid.
  8038  //
  8039  //   For PutStoredQuery, you will see this exception if there are missing required
  8040  //   fields or if the input value fails the validation, or if you are trying to
  8041  //   create more than 300 queries.
  8042  //
  8043  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  8044  //   exception if there are missing required fields or if the input value fails
  8045  //   the validation.
  8046  //
  8047  //   * InvalidNextTokenException
  8048  //   The specified next token is invalid. Specify the nextToken string that was
  8049  //   returned in the previous response to get the next page of results.
  8050  //
  8051  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
  8052  func (c *ConfigService) ListStoredQueries(input *ListStoredQueriesInput) (*ListStoredQueriesOutput, error) {
  8053  	req, out := c.ListStoredQueriesRequest(input)
  8054  	return out, req.Send()
  8055  }
  8056  
  8057  // ListStoredQueriesWithContext is the same as ListStoredQueries with the addition of
  8058  // the ability to pass a context and additional request options.
  8059  //
  8060  // See ListStoredQueries for details on how to use this API operation.
  8061  //
  8062  // The context must be non-nil and will be used for request cancellation. If
  8063  // the context is nil a panic will occur. In the future the SDK may create
  8064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8065  // for more information on using Contexts.
  8066  func (c *ConfigService) ListStoredQueriesWithContext(ctx aws.Context, input *ListStoredQueriesInput, opts ...request.Option) (*ListStoredQueriesOutput, error) {
  8067  	req, out := c.ListStoredQueriesRequest(input)
  8068  	req.SetContext(ctx)
  8069  	req.ApplyOptions(opts...)
  8070  	return out, req.Send()
  8071  }
  8072  
  8073  // ListStoredQueriesPages iterates over the pages of a ListStoredQueries operation,
  8074  // calling the "fn" function with the response data for each page. To stop
  8075  // iterating, return false from the fn function.
  8076  //
  8077  // See ListStoredQueries method for more information on how to use this operation.
  8078  //
  8079  // Note: This operation can generate multiple requests to a service.
  8080  //
  8081  //    // Example iterating over at most 3 pages of a ListStoredQueries operation.
  8082  //    pageNum := 0
  8083  //    err := client.ListStoredQueriesPages(params,
  8084  //        func(page *configservice.ListStoredQueriesOutput, lastPage bool) bool {
  8085  //            pageNum++
  8086  //            fmt.Println(page)
  8087  //            return pageNum <= 3
  8088  //        })
  8089  //
  8090  func (c *ConfigService) ListStoredQueriesPages(input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool) error {
  8091  	return c.ListStoredQueriesPagesWithContext(aws.BackgroundContext(), input, fn)
  8092  }
  8093  
  8094  // ListStoredQueriesPagesWithContext same as ListStoredQueriesPages except
  8095  // it takes a Context and allows setting request options on the pages.
  8096  //
  8097  // The context must be non-nil and will be used for request cancellation. If
  8098  // the context is nil a panic will occur. In the future the SDK may create
  8099  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8100  // for more information on using Contexts.
  8101  func (c *ConfigService) ListStoredQueriesPagesWithContext(ctx aws.Context, input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool, opts ...request.Option) error {
  8102  	p := request.Pagination{
  8103  		NewRequest: func() (*request.Request, error) {
  8104  			var inCpy *ListStoredQueriesInput
  8105  			if input != nil {
  8106  				tmp := *input
  8107  				inCpy = &tmp
  8108  			}
  8109  			req, _ := c.ListStoredQueriesRequest(inCpy)
  8110  			req.SetContext(ctx)
  8111  			req.ApplyOptions(opts...)
  8112  			return req, nil
  8113  		},
  8114  	}
  8115  
  8116  	for p.Next() {
  8117  		if !fn(p.Page().(*ListStoredQueriesOutput), !p.HasNextPage()) {
  8118  			break
  8119  		}
  8120  	}
  8121  
  8122  	return p.Err()
  8123  }
  8124  
  8125  const opListTagsForResource = "ListTagsForResource"
  8126  
  8127  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  8128  // client's request for the ListTagsForResource operation. The "output" return
  8129  // value will be populated with the request's response once the request completes
  8130  // successfully.
  8131  //
  8132  // Use "Send" method on the returned Request to send the API call to the service.
  8133  // the "output" return value is not valid until after Send returns without error.
  8134  //
  8135  // See ListTagsForResource for more information on using the ListTagsForResource
  8136  // API call, and error handling.
  8137  //
  8138  // This method is useful when you want to inject custom logic or configuration
  8139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8140  //
  8141  //
  8142  //    // Example sending a request using the ListTagsForResourceRequest method.
  8143  //    req, resp := client.ListTagsForResourceRequest(params)
  8144  //
  8145  //    err := req.Send()
  8146  //    if err == nil { // resp is now filled
  8147  //        fmt.Println(resp)
  8148  //    }
  8149  //
  8150  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
  8151  func (c *ConfigService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  8152  	op := &request.Operation{
  8153  		Name:       opListTagsForResource,
  8154  		HTTPMethod: "POST",
  8155  		HTTPPath:   "/",
  8156  		Paginator: &request.Paginator{
  8157  			InputTokens:     []string{"NextToken"},
  8158  			OutputTokens:    []string{"NextToken"},
  8159  			LimitToken:      "Limit",
  8160  			TruncationToken: "",
  8161  		},
  8162  	}
  8163  
  8164  	if input == nil {
  8165  		input = &ListTagsForResourceInput{}
  8166  	}
  8167  
  8168  	output = &ListTagsForResourceOutput{}
  8169  	req = c.newRequest(op, input, output)
  8170  	return
  8171  }
  8172  
  8173  // ListTagsForResource API operation for AWS Config.
  8174  //
  8175  // List the tags for Config resource.
  8176  //
  8177  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8178  // with awserr.Error's Code and Message methods to get detailed information about
  8179  // the error.
  8180  //
  8181  // See the AWS API reference guide for AWS Config's
  8182  // API operation ListTagsForResource for usage and error information.
  8183  //
  8184  // Returned Error Types:
  8185  //   * ResourceNotFoundException
  8186  //   You have specified a resource that does not exist.
  8187  //
  8188  //   * ValidationException
  8189  //   The requested action is not valid.
  8190  //
  8191  //   For PutStoredQuery, you will see this exception if there are missing required
  8192  //   fields or if the input value fails the validation, or if you are trying to
  8193  //   create more than 300 queries.
  8194  //
  8195  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  8196  //   exception if there are missing required fields or if the input value fails
  8197  //   the validation.
  8198  //
  8199  //   * InvalidLimitException
  8200  //   The specified limit is outside the allowable range.
  8201  //
  8202  //   * InvalidNextTokenException
  8203  //   The specified next token is invalid. Specify the nextToken string that was
  8204  //   returned in the previous response to get the next page of results.
  8205  //
  8206  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
  8207  func (c *ConfigService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  8208  	req, out := c.ListTagsForResourceRequest(input)
  8209  	return out, req.Send()
  8210  }
  8211  
  8212  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  8213  // the ability to pass a context and additional request options.
  8214  //
  8215  // See ListTagsForResource for details on how to use this API operation.
  8216  //
  8217  // The context must be non-nil and will be used for request cancellation. If
  8218  // the context is nil a panic will occur. In the future the SDK may create
  8219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8220  // for more information on using Contexts.
  8221  func (c *ConfigService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  8222  	req, out := c.ListTagsForResourceRequest(input)
  8223  	req.SetContext(ctx)
  8224  	req.ApplyOptions(opts...)
  8225  	return out, req.Send()
  8226  }
  8227  
  8228  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  8229  // calling the "fn" function with the response data for each page. To stop
  8230  // iterating, return false from the fn function.
  8231  //
  8232  // See ListTagsForResource method for more information on how to use this operation.
  8233  //
  8234  // Note: This operation can generate multiple requests to a service.
  8235  //
  8236  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  8237  //    pageNum := 0
  8238  //    err := client.ListTagsForResourcePages(params,
  8239  //        func(page *configservice.ListTagsForResourceOutput, lastPage bool) bool {
  8240  //            pageNum++
  8241  //            fmt.Println(page)
  8242  //            return pageNum <= 3
  8243  //        })
  8244  //
  8245  func (c *ConfigService) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  8246  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  8247  }
  8248  
  8249  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  8250  // it takes a Context and allows setting request options on the pages.
  8251  //
  8252  // The context must be non-nil and will be used for request cancellation. If
  8253  // the context is nil a panic will occur. In the future the SDK may create
  8254  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8255  // for more information on using Contexts.
  8256  func (c *ConfigService) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  8257  	p := request.Pagination{
  8258  		NewRequest: func() (*request.Request, error) {
  8259  			var inCpy *ListTagsForResourceInput
  8260  			if input != nil {
  8261  				tmp := *input
  8262  				inCpy = &tmp
  8263  			}
  8264  			req, _ := c.ListTagsForResourceRequest(inCpy)
  8265  			req.SetContext(ctx)
  8266  			req.ApplyOptions(opts...)
  8267  			return req, nil
  8268  		},
  8269  	}
  8270  
  8271  	for p.Next() {
  8272  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  8273  			break
  8274  		}
  8275  	}
  8276  
  8277  	return p.Err()
  8278  }
  8279  
  8280  const opPutAggregationAuthorization = "PutAggregationAuthorization"
  8281  
  8282  // PutAggregationAuthorizationRequest generates a "aws/request.Request" representing the
  8283  // client's request for the PutAggregationAuthorization operation. The "output" return
  8284  // value will be populated with the request's response once the request completes
  8285  // successfully.
  8286  //
  8287  // Use "Send" method on the returned Request to send the API call to the service.
  8288  // the "output" return value is not valid until after Send returns without error.
  8289  //
  8290  // See PutAggregationAuthorization for more information on using the PutAggregationAuthorization
  8291  // API call, and error handling.
  8292  //
  8293  // This method is useful when you want to inject custom logic or configuration
  8294  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8295  //
  8296  //
  8297  //    // Example sending a request using the PutAggregationAuthorizationRequest method.
  8298  //    req, resp := client.PutAggregationAuthorizationRequest(params)
  8299  //
  8300  //    err := req.Send()
  8301  //    if err == nil { // resp is now filled
  8302  //        fmt.Println(resp)
  8303  //    }
  8304  //
  8305  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
  8306  func (c *ConfigService) PutAggregationAuthorizationRequest(input *PutAggregationAuthorizationInput) (req *request.Request, output *PutAggregationAuthorizationOutput) {
  8307  	op := &request.Operation{
  8308  		Name:       opPutAggregationAuthorization,
  8309  		HTTPMethod: "POST",
  8310  		HTTPPath:   "/",
  8311  	}
  8312  
  8313  	if input == nil {
  8314  		input = &PutAggregationAuthorizationInput{}
  8315  	}
  8316  
  8317  	output = &PutAggregationAuthorizationOutput{}
  8318  	req = c.newRequest(op, input, output)
  8319  	return
  8320  }
  8321  
  8322  // PutAggregationAuthorization API operation for AWS Config.
  8323  //
  8324  // Authorizes the aggregator account and region to collect data from the source
  8325  // account and region.
  8326  //
  8327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8328  // with awserr.Error's Code and Message methods to get detailed information about
  8329  // the error.
  8330  //
  8331  // See the AWS API reference guide for AWS Config's
  8332  // API operation PutAggregationAuthorization for usage and error information.
  8333  //
  8334  // Returned Error Types:
  8335  //   * InvalidParameterValueException
  8336  //   One or more of the specified parameters are invalid. Verify that your parameters
  8337  //   are valid and try again.
  8338  //
  8339  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
  8340  func (c *ConfigService) PutAggregationAuthorization(input *PutAggregationAuthorizationInput) (*PutAggregationAuthorizationOutput, error) {
  8341  	req, out := c.PutAggregationAuthorizationRequest(input)
  8342  	return out, req.Send()
  8343  }
  8344  
  8345  // PutAggregationAuthorizationWithContext is the same as PutAggregationAuthorization with the addition of
  8346  // the ability to pass a context and additional request options.
  8347  //
  8348  // See PutAggregationAuthorization for details on how to use this API operation.
  8349  //
  8350  // The context must be non-nil and will be used for request cancellation. If
  8351  // the context is nil a panic will occur. In the future the SDK may create
  8352  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8353  // for more information on using Contexts.
  8354  func (c *ConfigService) PutAggregationAuthorizationWithContext(ctx aws.Context, input *PutAggregationAuthorizationInput, opts ...request.Option) (*PutAggregationAuthorizationOutput, error) {
  8355  	req, out := c.PutAggregationAuthorizationRequest(input)
  8356  	req.SetContext(ctx)
  8357  	req.ApplyOptions(opts...)
  8358  	return out, req.Send()
  8359  }
  8360  
  8361  const opPutConfigRule = "PutConfigRule"
  8362  
  8363  // PutConfigRuleRequest generates a "aws/request.Request" representing the
  8364  // client's request for the PutConfigRule operation. The "output" return
  8365  // value will be populated with the request's response once the request completes
  8366  // successfully.
  8367  //
  8368  // Use "Send" method on the returned Request to send the API call to the service.
  8369  // the "output" return value is not valid until after Send returns without error.
  8370  //
  8371  // See PutConfigRule for more information on using the PutConfigRule
  8372  // API call, and error handling.
  8373  //
  8374  // This method is useful when you want to inject custom logic or configuration
  8375  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8376  //
  8377  //
  8378  //    // Example sending a request using the PutConfigRuleRequest method.
  8379  //    req, resp := client.PutConfigRuleRequest(params)
  8380  //
  8381  //    err := req.Send()
  8382  //    if err == nil { // resp is now filled
  8383  //        fmt.Println(resp)
  8384  //    }
  8385  //
  8386  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
  8387  func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *request.Request, output *PutConfigRuleOutput) {
  8388  	op := &request.Operation{
  8389  		Name:       opPutConfigRule,
  8390  		HTTPMethod: "POST",
  8391  		HTTPPath:   "/",
  8392  	}
  8393  
  8394  	if input == nil {
  8395  		input = &PutConfigRuleInput{}
  8396  	}
  8397  
  8398  	output = &PutConfigRuleOutput{}
  8399  	req = c.newRequest(op, input, output)
  8400  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8401  	return
  8402  }
  8403  
  8404  // PutConfigRule API operation for AWS Config.
  8405  //
  8406  // Adds or updates an Config rule for evaluating whether your Amazon Web Services
  8407  // resources comply with your desired configurations.
  8408  //
  8409  // You can use this action for custom Config rules and Config managed rules.
  8410  // A custom Config rule is a rule that you develop and maintain. An Config managed
  8411  // rule is a customizable, predefined rule that Config provides.
  8412  //
  8413  // If you are adding a new custom Config rule, you must first create the Lambda
  8414  // function that the rule invokes to evaluate your resources. When you use the
  8415  // PutConfigRule action to add the rule to Config, you must specify the Amazon
  8416  // Resource Name (ARN) that Lambda assigns to the function. Specify the ARN
  8417  // for the SourceIdentifier key. This key is part of the Source object, which
  8418  // is part of the ConfigRule object.
  8419  //
  8420  // If you are adding an Config managed rule, specify the rule's identifier for
  8421  // the SourceIdentifier key. To reference Config managed rule identifiers, see
  8422  // About Config managed rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
  8423  //
  8424  // For any new rule that you add, specify the ConfigRuleName in the ConfigRule
  8425  // object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
  8426  // are generated by Config for new rules.
  8427  //
  8428  // If you are updating a rule that you added previously, you can specify the
  8429  // rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule
  8430  // data type that you use in this request.
  8431  //
  8432  // The maximum number of rules that Config supports is 150.
  8433  //
  8434  // For information about requesting a rule limit increase, see Config Limits
  8435  // (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
  8436  // in the Amazon Web Services General Reference Guide.
  8437  //
  8438  // For more information about developing and using Config rules, see Evaluating
  8439  // Amazon Web Services resource Configurations with Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
  8440  // in the Config Developer Guide.
  8441  //
  8442  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8443  // with awserr.Error's Code and Message methods to get detailed information about
  8444  // the error.
  8445  //
  8446  // See the AWS API reference guide for AWS Config's
  8447  // API operation PutConfigRule for usage and error information.
  8448  //
  8449  // Returned Error Types:
  8450  //   * InvalidParameterValueException
  8451  //   One or more of the specified parameters are invalid. Verify that your parameters
  8452  //   are valid and try again.
  8453  //
  8454  //   * MaxNumberOfConfigRulesExceededException
  8455  //   Failed to add the Config rule because the account already contains the maximum
  8456  //   number of 150 rules. Consider deleting any deactivated rules before you add
  8457  //   new rules.
  8458  //
  8459  //   * ResourceInUseException
  8460  //   You see this exception in the following cases:
  8461  //
  8462  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
  8463  //      again later.
  8464  //
  8465  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
  8466  //      Try your request again later.
  8467  //
  8468  //      * For DeleteConfigRule, a remediation action is associated with the rule
  8469  //      and Config cannot delete this rule. Delete the remediation action associated
  8470  //      with the rule before deleting the rule and try your request again later.
  8471  //
  8472  //      * For PutConfigOrganizationRule, organization config rule deletion is
  8473  //      in progress. Try your request again later.
  8474  //
  8475  //      * For DeleteOrganizationConfigRule, organization config rule creation
  8476  //      is in progress. Try your request again later.
  8477  //
  8478  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  8479  //      pack creation, update, and deletion is in progress. Try your request again
  8480  //      later.
  8481  //
  8482  //      * For DeleteConformancePack, a conformance pack creation, update, and
  8483  //      deletion is in progress. Try your request again later.
  8484  //
  8485  //   * InsufficientPermissionsException
  8486  //   Indicates one of the following errors:
  8487  //
  8488  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  8489  //      to Config lacks permissions to perform the config:Put* action.
  8490  //
  8491  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  8492  //      function ARN, and check the function's permissions.
  8493  //
  8494  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  8495  //      because you do not have permissions to call IAM GetRole action or create
  8496  //      a service linked role.
  8497  //
  8498  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  8499  //      pack cannot be created because you do not have permissions: To call IAM
  8500  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  8501  //
  8502  //   * NoAvailableConfigurationRecorderException
  8503  //   There are no configuration recorders available to provide the role needed
  8504  //   to describe your resources. Create a configuration recorder.
  8505  //
  8506  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
  8507  func (c *ConfigService) PutConfigRule(input *PutConfigRuleInput) (*PutConfigRuleOutput, error) {
  8508  	req, out := c.PutConfigRuleRequest(input)
  8509  	return out, req.Send()
  8510  }
  8511  
  8512  // PutConfigRuleWithContext is the same as PutConfigRule with the addition of
  8513  // the ability to pass a context and additional request options.
  8514  //
  8515  // See PutConfigRule for details on how to use this API operation.
  8516  //
  8517  // The context must be non-nil and will be used for request cancellation. If
  8518  // the context is nil a panic will occur. In the future the SDK may create
  8519  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8520  // for more information on using Contexts.
  8521  func (c *ConfigService) PutConfigRuleWithContext(ctx aws.Context, input *PutConfigRuleInput, opts ...request.Option) (*PutConfigRuleOutput, error) {
  8522  	req, out := c.PutConfigRuleRequest(input)
  8523  	req.SetContext(ctx)
  8524  	req.ApplyOptions(opts...)
  8525  	return out, req.Send()
  8526  }
  8527  
  8528  const opPutConfigurationAggregator = "PutConfigurationAggregator"
  8529  
  8530  // PutConfigurationAggregatorRequest generates a "aws/request.Request" representing the
  8531  // client's request for the PutConfigurationAggregator operation. The "output" return
  8532  // value will be populated with the request's response once the request completes
  8533  // successfully.
  8534  //
  8535  // Use "Send" method on the returned Request to send the API call to the service.
  8536  // the "output" return value is not valid until after Send returns without error.
  8537  //
  8538  // See PutConfigurationAggregator for more information on using the PutConfigurationAggregator
  8539  // API call, and error handling.
  8540  //
  8541  // This method is useful when you want to inject custom logic or configuration
  8542  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8543  //
  8544  //
  8545  //    // Example sending a request using the PutConfigurationAggregatorRequest method.
  8546  //    req, resp := client.PutConfigurationAggregatorRequest(params)
  8547  //
  8548  //    err := req.Send()
  8549  //    if err == nil { // resp is now filled
  8550  //        fmt.Println(resp)
  8551  //    }
  8552  //
  8553  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
  8554  func (c *ConfigService) PutConfigurationAggregatorRequest(input *PutConfigurationAggregatorInput) (req *request.Request, output *PutConfigurationAggregatorOutput) {
  8555  	op := &request.Operation{
  8556  		Name:       opPutConfigurationAggregator,
  8557  		HTTPMethod: "POST",
  8558  		HTTPPath:   "/",
  8559  	}
  8560  
  8561  	if input == nil {
  8562  		input = &PutConfigurationAggregatorInput{}
  8563  	}
  8564  
  8565  	output = &PutConfigurationAggregatorOutput{}
  8566  	req = c.newRequest(op, input, output)
  8567  	return
  8568  }
  8569  
  8570  // PutConfigurationAggregator API operation for AWS Config.
  8571  //
  8572  // Creates and updates the configuration aggregator with the selected source
  8573  // accounts and regions. The source account can be individual account(s) or
  8574  // an organization.
  8575  //
  8576  // accountIds that are passed will be replaced with existing accounts. If you
  8577  // want to add additional accounts into the aggregator, call DescribeAggregator
  8578  // to get the previous accounts and then append new ones.
  8579  //
  8580  // Config should be enabled in source accounts and regions you want to aggregate.
  8581  //
  8582  // If your source type is an organization, you must be signed in to the management
  8583  // account or a registered delegated administrator and all the features must
  8584  // be enabled in your organization. If the caller is a management account, Config
  8585  // calls EnableAwsServiceAccess API to enable integration between Config and
  8586  // Organizations. If the caller is a registered delegated administrator, Config
  8587  // calls ListDelegatedAdministrators API to verify whether the caller is a valid
  8588  // delegated administrator.
  8589  //
  8590  // To register a delegated administrator, see Register a Delegated Administrator
  8591  // (https://docs.aws.amazon.com/config/latest/developerguide/set-up-aggregator-cli.html#register-a-delegated-administrator-cli)
  8592  // in the Config developer guide.
  8593  //
  8594  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8595  // with awserr.Error's Code and Message methods to get detailed information about
  8596  // the error.
  8597  //
  8598  // See the AWS API reference guide for AWS Config's
  8599  // API operation PutConfigurationAggregator for usage and error information.
  8600  //
  8601  // Returned Error Types:
  8602  //   * InvalidParameterValueException
  8603  //   One or more of the specified parameters are invalid. Verify that your parameters
  8604  //   are valid and try again.
  8605  //
  8606  //   * LimitExceededException
  8607  //   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
  8608  //   is in progress or if you call the StartConfigRulesEvaluation API more than
  8609  //   once per minute.
  8610  //
  8611  //   For PutConfigurationAggregator API, this exception is thrown if the number
  8612  //   of accounts and aggregators exceeds the limit.
  8613  //
  8614  //   * InvalidRoleException
  8615  //   You have provided a null or empty role ARN.
  8616  //
  8617  //   * OrganizationAccessDeniedException
  8618  //   For PutConfigurationAggregator API, you can see this exception for the following
  8619  //   reasons:
  8620  //
  8621  //      * No permission to call EnableAWSServiceAccess API
  8622  //
  8623  //      * The configuration aggregator cannot be updated because your Amazon Web
  8624  //      Services Organization management account or the delegated administrator
  8625  //      role changed. Delete this aggregator and create a new one with the current
  8626  //      Amazon Web Services Organization.
  8627  //
  8628  //      * The configuration aggregator is associated with a previous Amazon Web
  8629  //      Services Organization and Config cannot aggregate data with current Amazon
  8630  //      Web Services Organization. Delete this aggregator and create a new one
  8631  //      with the current Amazon Web Services Organization.
  8632  //
  8633  //      * You are not a registered delegated administrator for Config with permissions
  8634  //      to call ListDelegatedAdministrators API. Ensure that the management account
  8635  //      registers delagated administrator for Config service principle name before
  8636  //      the delegated administrator creates an aggregator.
  8637  //
  8638  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  8639  //   throws an exception if APIs are called from member accounts. All APIs must
  8640  //   be called from organization master account.
  8641  //
  8642  //   * NoAvailableOrganizationException
  8643  //   Organization is no longer available.
  8644  //
  8645  //   * OrganizationAllFeaturesNotEnabledException
  8646  //   Config resource cannot be created because your organization does not have
  8647  //   all features enabled.
  8648  //
  8649  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
  8650  func (c *ConfigService) PutConfigurationAggregator(input *PutConfigurationAggregatorInput) (*PutConfigurationAggregatorOutput, error) {
  8651  	req, out := c.PutConfigurationAggregatorRequest(input)
  8652  	return out, req.Send()
  8653  }
  8654  
  8655  // PutConfigurationAggregatorWithContext is the same as PutConfigurationAggregator with the addition of
  8656  // the ability to pass a context and additional request options.
  8657  //
  8658  // See PutConfigurationAggregator for details on how to use this API operation.
  8659  //
  8660  // The context must be non-nil and will be used for request cancellation. If
  8661  // the context is nil a panic will occur. In the future the SDK may create
  8662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8663  // for more information on using Contexts.
  8664  func (c *ConfigService) PutConfigurationAggregatorWithContext(ctx aws.Context, input *PutConfigurationAggregatorInput, opts ...request.Option) (*PutConfigurationAggregatorOutput, error) {
  8665  	req, out := c.PutConfigurationAggregatorRequest(input)
  8666  	req.SetContext(ctx)
  8667  	req.ApplyOptions(opts...)
  8668  	return out, req.Send()
  8669  }
  8670  
  8671  const opPutConfigurationRecorder = "PutConfigurationRecorder"
  8672  
  8673  // PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
  8674  // client's request for the PutConfigurationRecorder operation. The "output" return
  8675  // value will be populated with the request's response once the request completes
  8676  // successfully.
  8677  //
  8678  // Use "Send" method on the returned Request to send the API call to the service.
  8679  // the "output" return value is not valid until after Send returns without error.
  8680  //
  8681  // See PutConfigurationRecorder for more information on using the PutConfigurationRecorder
  8682  // API call, and error handling.
  8683  //
  8684  // This method is useful when you want to inject custom logic or configuration
  8685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8686  //
  8687  //
  8688  //    // Example sending a request using the PutConfigurationRecorderRequest method.
  8689  //    req, resp := client.PutConfigurationRecorderRequest(params)
  8690  //
  8691  //    err := req.Send()
  8692  //    if err == nil { // resp is now filled
  8693  //        fmt.Println(resp)
  8694  //    }
  8695  //
  8696  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
  8697  func (c *ConfigService) PutConfigurationRecorderRequest(input *PutConfigurationRecorderInput) (req *request.Request, output *PutConfigurationRecorderOutput) {
  8698  	op := &request.Operation{
  8699  		Name:       opPutConfigurationRecorder,
  8700  		HTTPMethod: "POST",
  8701  		HTTPPath:   "/",
  8702  	}
  8703  
  8704  	if input == nil {
  8705  		input = &PutConfigurationRecorderInput{}
  8706  	}
  8707  
  8708  	output = &PutConfigurationRecorderOutput{}
  8709  	req = c.newRequest(op, input, output)
  8710  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8711  	return
  8712  }
  8713  
  8714  // PutConfigurationRecorder API operation for AWS Config.
  8715  //
  8716  // Creates a new configuration recorder to record the selected resource configurations.
  8717  //
  8718  // You can use this action to change the role roleARN or the recordingGroup
  8719  // of an existing recorder. To change the role, call the action on the existing
  8720  // configuration recorder and specify a role.
  8721  //
  8722  // Currently, you can specify only one configuration recorder per region in
  8723  // your account.
  8724  //
  8725  // If ConfigurationRecorder does not have the recordingGroup parameter specified,
  8726  // the default is to record all supported resource types.
  8727  //
  8728  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8729  // with awserr.Error's Code and Message methods to get detailed information about
  8730  // the error.
  8731  //
  8732  // See the AWS API reference guide for AWS Config's
  8733  // API operation PutConfigurationRecorder for usage and error information.
  8734  //
  8735  // Returned Error Types:
  8736  //   * MaxNumberOfConfigurationRecordersExceededException
  8737  //   You have reached the limit of the number of recorders you can create.
  8738  //
  8739  //   * InvalidConfigurationRecorderNameException
  8740  //   You have provided a configuration recorder name that is not valid.
  8741  //
  8742  //   * InvalidRoleException
  8743  //   You have provided a null or empty role ARN.
  8744  //
  8745  //   * InvalidRecordingGroupException
  8746  //   Config throws an exception if the recording group does not contain a valid
  8747  //   list of resource types. Invalid values might also be incorrectly formatted.
  8748  //
  8749  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
  8750  func (c *ConfigService) PutConfigurationRecorder(input *PutConfigurationRecorderInput) (*PutConfigurationRecorderOutput, error) {
  8751  	req, out := c.PutConfigurationRecorderRequest(input)
  8752  	return out, req.Send()
  8753  }
  8754  
  8755  // PutConfigurationRecorderWithContext is the same as PutConfigurationRecorder with the addition of
  8756  // the ability to pass a context and additional request options.
  8757  //
  8758  // See PutConfigurationRecorder for details on how to use this API operation.
  8759  //
  8760  // The context must be non-nil and will be used for request cancellation. If
  8761  // the context is nil a panic will occur. In the future the SDK may create
  8762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8763  // for more information on using Contexts.
  8764  func (c *ConfigService) PutConfigurationRecorderWithContext(ctx aws.Context, input *PutConfigurationRecorderInput, opts ...request.Option) (*PutConfigurationRecorderOutput, error) {
  8765  	req, out := c.PutConfigurationRecorderRequest(input)
  8766  	req.SetContext(ctx)
  8767  	req.ApplyOptions(opts...)
  8768  	return out, req.Send()
  8769  }
  8770  
  8771  const opPutConformancePack = "PutConformancePack"
  8772  
  8773  // PutConformancePackRequest generates a "aws/request.Request" representing the
  8774  // client's request for the PutConformancePack operation. The "output" return
  8775  // value will be populated with the request's response once the request completes
  8776  // successfully.
  8777  //
  8778  // Use "Send" method on the returned Request to send the API call to the service.
  8779  // the "output" return value is not valid until after Send returns without error.
  8780  //
  8781  // See PutConformancePack for more information on using the PutConformancePack
  8782  // API call, and error handling.
  8783  //
  8784  // This method is useful when you want to inject custom logic or configuration
  8785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8786  //
  8787  //
  8788  //    // Example sending a request using the PutConformancePackRequest method.
  8789  //    req, resp := client.PutConformancePackRequest(params)
  8790  //
  8791  //    err := req.Send()
  8792  //    if err == nil { // resp is now filled
  8793  //        fmt.Println(resp)
  8794  //    }
  8795  //
  8796  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
  8797  func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput) (req *request.Request, output *PutConformancePackOutput) {
  8798  	op := &request.Operation{
  8799  		Name:       opPutConformancePack,
  8800  		HTTPMethod: "POST",
  8801  		HTTPPath:   "/",
  8802  	}
  8803  
  8804  	if input == nil {
  8805  		input = &PutConformancePackInput{}
  8806  	}
  8807  
  8808  	output = &PutConformancePackOutput{}
  8809  	req = c.newRequest(op, input, output)
  8810  	return
  8811  }
  8812  
  8813  // PutConformancePack API operation for AWS Config.
  8814  //
  8815  // Creates or updates a conformance pack. A conformance pack is a collection
  8816  // of Config rules that can be easily deployed in an account and a region and
  8817  // across Amazon Web Services Organization.
  8818  //
  8819  // This API creates a service linked role AWSServiceRoleForConfigConforms in
  8820  // your account. The service linked role is created only when the role does
  8821  // not exist in your account.
  8822  //
  8823  // You must specify either the TemplateS3Uri or the TemplateBody parameter,
  8824  // but not both. If you provide both Config uses the TemplateS3Uri parameter
  8825  // and ignores the TemplateBody parameter.
  8826  //
  8827  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8828  // with awserr.Error's Code and Message methods to get detailed information about
  8829  // the error.
  8830  //
  8831  // See the AWS API reference guide for AWS Config's
  8832  // API operation PutConformancePack for usage and error information.
  8833  //
  8834  // Returned Error Types:
  8835  //   * InsufficientPermissionsException
  8836  //   Indicates one of the following errors:
  8837  //
  8838  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  8839  //      to Config lacks permissions to perform the config:Put* action.
  8840  //
  8841  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  8842  //      function ARN, and check the function's permissions.
  8843  //
  8844  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  8845  //      because you do not have permissions to call IAM GetRole action or create
  8846  //      a service linked role.
  8847  //
  8848  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  8849  //      pack cannot be created because you do not have permissions: To call IAM
  8850  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  8851  //
  8852  //   * ConformancePackTemplateValidationException
  8853  //   You have specified a template that is not valid or supported.
  8854  //
  8855  //   * ResourceInUseException
  8856  //   You see this exception in the following cases:
  8857  //
  8858  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
  8859  //      again later.
  8860  //
  8861  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
  8862  //      Try your request again later.
  8863  //
  8864  //      * For DeleteConfigRule, a remediation action is associated with the rule
  8865  //      and Config cannot delete this rule. Delete the remediation action associated
  8866  //      with the rule before deleting the rule and try your request again later.
  8867  //
  8868  //      * For PutConfigOrganizationRule, organization config rule deletion is
  8869  //      in progress. Try your request again later.
  8870  //
  8871  //      * For DeleteOrganizationConfigRule, organization config rule creation
  8872  //      is in progress. Try your request again later.
  8873  //
  8874  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  8875  //      pack creation, update, and deletion is in progress. Try your request again
  8876  //      later.
  8877  //
  8878  //      * For DeleteConformancePack, a conformance pack creation, update, and
  8879  //      deletion is in progress. Try your request again later.
  8880  //
  8881  //   * InvalidParameterValueException
  8882  //   One or more of the specified parameters are invalid. Verify that your parameters
  8883  //   are valid and try again.
  8884  //
  8885  //   * MaxNumberOfConformancePacksExceededException
  8886  //   You have reached the limit (6) of the number of conformance packs in an account
  8887  //   (6 conformance pack with 25 Config rules per pack).
  8888  //
  8889  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
  8890  func (c *ConfigService) PutConformancePack(input *PutConformancePackInput) (*PutConformancePackOutput, error) {
  8891  	req, out := c.PutConformancePackRequest(input)
  8892  	return out, req.Send()
  8893  }
  8894  
  8895  // PutConformancePackWithContext is the same as PutConformancePack with the addition of
  8896  // the ability to pass a context and additional request options.
  8897  //
  8898  // See PutConformancePack for details on how to use this API operation.
  8899  //
  8900  // The context must be non-nil and will be used for request cancellation. If
  8901  // the context is nil a panic will occur. In the future the SDK may create
  8902  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8903  // for more information on using Contexts.
  8904  func (c *ConfigService) PutConformancePackWithContext(ctx aws.Context, input *PutConformancePackInput, opts ...request.Option) (*PutConformancePackOutput, error) {
  8905  	req, out := c.PutConformancePackRequest(input)
  8906  	req.SetContext(ctx)
  8907  	req.ApplyOptions(opts...)
  8908  	return out, req.Send()
  8909  }
  8910  
  8911  const opPutDeliveryChannel = "PutDeliveryChannel"
  8912  
  8913  // PutDeliveryChannelRequest generates a "aws/request.Request" representing the
  8914  // client's request for the PutDeliveryChannel operation. The "output" return
  8915  // value will be populated with the request's response once the request completes
  8916  // successfully.
  8917  //
  8918  // Use "Send" method on the returned Request to send the API call to the service.
  8919  // the "output" return value is not valid until after Send returns without error.
  8920  //
  8921  // See PutDeliveryChannel for more information on using the PutDeliveryChannel
  8922  // API call, and error handling.
  8923  //
  8924  // This method is useful when you want to inject custom logic or configuration
  8925  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8926  //
  8927  //
  8928  //    // Example sending a request using the PutDeliveryChannelRequest method.
  8929  //    req, resp := client.PutDeliveryChannelRequest(params)
  8930  //
  8931  //    err := req.Send()
  8932  //    if err == nil { // resp is now filled
  8933  //        fmt.Println(resp)
  8934  //    }
  8935  //
  8936  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
  8937  func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput) (req *request.Request, output *PutDeliveryChannelOutput) {
  8938  	op := &request.Operation{
  8939  		Name:       opPutDeliveryChannel,
  8940  		HTTPMethod: "POST",
  8941  		HTTPPath:   "/",
  8942  	}
  8943  
  8944  	if input == nil {
  8945  		input = &PutDeliveryChannelInput{}
  8946  	}
  8947  
  8948  	output = &PutDeliveryChannelOutput{}
  8949  	req = c.newRequest(op, input, output)
  8950  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8951  	return
  8952  }
  8953  
  8954  // PutDeliveryChannel API operation for AWS Config.
  8955  //
  8956  // Creates a delivery channel object to deliver configuration information to
  8957  // an Amazon S3 bucket and Amazon SNS topic.
  8958  //
  8959  // Before you can create a delivery channel, you must create a configuration
  8960  // recorder.
  8961  //
  8962  // You can use this action to change the Amazon S3 bucket or an Amazon SNS topic
  8963  // of the existing delivery channel. To change the Amazon S3 bucket or an Amazon
  8964  // SNS topic, call this action and specify the changed values for the S3 bucket
  8965  // and the SNS topic. If you specify a different value for either the S3 bucket
  8966  // or the SNS topic, this action will keep the existing value for the parameter
  8967  // that is not changed.
  8968  //
  8969  // You can have only one delivery channel per region in your account.
  8970  //
  8971  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8972  // with awserr.Error's Code and Message methods to get detailed information about
  8973  // the error.
  8974  //
  8975  // See the AWS API reference guide for AWS Config's
  8976  // API operation PutDeliveryChannel for usage and error information.
  8977  //
  8978  // Returned Error Types:
  8979  //   * MaxNumberOfDeliveryChannelsExceededException
  8980  //   You have reached the limit of the number of delivery channels you can create.
  8981  //
  8982  //   * NoAvailableConfigurationRecorderException
  8983  //   There are no configuration recorders available to provide the role needed
  8984  //   to describe your resources. Create a configuration recorder.
  8985  //
  8986  //   * InvalidDeliveryChannelNameException
  8987  //   The specified delivery channel name is not valid.
  8988  //
  8989  //   * NoSuchBucketException
  8990  //   The specified Amazon S3 bucket does not exist.
  8991  //
  8992  //   * InvalidS3KeyPrefixException
  8993  //   The specified Amazon S3 key prefix is not valid.
  8994  //
  8995  //   * InvalidS3KmsKeyArnException
  8996  //   The specified Amazon KMS Key ARN is not valid.
  8997  //
  8998  //   * InvalidSNSTopicARNException
  8999  //   The specified Amazon SNS topic does not exist.
  9000  //
  9001  //   * InsufficientDeliveryPolicyException
  9002  //   Your Amazon S3 bucket policy does not permit Config to write to it.
  9003  //
  9004  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
  9005  func (c *ConfigService) PutDeliveryChannel(input *PutDeliveryChannelInput) (*PutDeliveryChannelOutput, error) {
  9006  	req, out := c.PutDeliveryChannelRequest(input)
  9007  	return out, req.Send()
  9008  }
  9009  
  9010  // PutDeliveryChannelWithContext is the same as PutDeliveryChannel with the addition of
  9011  // the ability to pass a context and additional request options.
  9012  //
  9013  // See PutDeliveryChannel for details on how to use this API operation.
  9014  //
  9015  // The context must be non-nil and will be used for request cancellation. If
  9016  // the context is nil a panic will occur. In the future the SDK may create
  9017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9018  // for more information on using Contexts.
  9019  func (c *ConfigService) PutDeliveryChannelWithContext(ctx aws.Context, input *PutDeliveryChannelInput, opts ...request.Option) (*PutDeliveryChannelOutput, error) {
  9020  	req, out := c.PutDeliveryChannelRequest(input)
  9021  	req.SetContext(ctx)
  9022  	req.ApplyOptions(opts...)
  9023  	return out, req.Send()
  9024  }
  9025  
  9026  const opPutEvaluations = "PutEvaluations"
  9027  
  9028  // PutEvaluationsRequest generates a "aws/request.Request" representing the
  9029  // client's request for the PutEvaluations operation. The "output" return
  9030  // value will be populated with the request's response once the request completes
  9031  // successfully.
  9032  //
  9033  // Use "Send" method on the returned Request to send the API call to the service.
  9034  // the "output" return value is not valid until after Send returns without error.
  9035  //
  9036  // See PutEvaluations for more information on using the PutEvaluations
  9037  // API call, and error handling.
  9038  //
  9039  // This method is useful when you want to inject custom logic or configuration
  9040  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9041  //
  9042  //
  9043  //    // Example sending a request using the PutEvaluationsRequest method.
  9044  //    req, resp := client.PutEvaluationsRequest(params)
  9045  //
  9046  //    err := req.Send()
  9047  //    if err == nil { // resp is now filled
  9048  //        fmt.Println(resp)
  9049  //    }
  9050  //
  9051  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
  9052  func (c *ConfigService) PutEvaluationsRequest(input *PutEvaluationsInput) (req *request.Request, output *PutEvaluationsOutput) {
  9053  	op := &request.Operation{
  9054  		Name:       opPutEvaluations,
  9055  		HTTPMethod: "POST",
  9056  		HTTPPath:   "/",
  9057  	}
  9058  
  9059  	if input == nil {
  9060  		input = &PutEvaluationsInput{}
  9061  	}
  9062  
  9063  	output = &PutEvaluationsOutput{}
  9064  	req = c.newRequest(op, input, output)
  9065  	return
  9066  }
  9067  
  9068  // PutEvaluations API operation for AWS Config.
  9069  //
  9070  // Used by an Lambda function to deliver evaluation results to Config. This
  9071  // action is required in every Lambda function that is invoked by an Config
  9072  // rule.
  9073  //
  9074  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9075  // with awserr.Error's Code and Message methods to get detailed information about
  9076  // the error.
  9077  //
  9078  // See the AWS API reference guide for AWS Config's
  9079  // API operation PutEvaluations for usage and error information.
  9080  //
  9081  // Returned Error Types:
  9082  //   * InvalidParameterValueException
  9083  //   One or more of the specified parameters are invalid. Verify that your parameters
  9084  //   are valid and try again.
  9085  //
  9086  //   * InvalidResultTokenException
  9087  //   The specified ResultToken is invalid.
  9088  //
  9089  //   * NoSuchConfigRuleException
  9090  //   One or more Config rules in the request are invalid. Verify that the rule
  9091  //   names are correct and try again.
  9092  //
  9093  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
  9094  func (c *ConfigService) PutEvaluations(input *PutEvaluationsInput) (*PutEvaluationsOutput, error) {
  9095  	req, out := c.PutEvaluationsRequest(input)
  9096  	return out, req.Send()
  9097  }
  9098  
  9099  // PutEvaluationsWithContext is the same as PutEvaluations with the addition of
  9100  // the ability to pass a context and additional request options.
  9101  //
  9102  // See PutEvaluations for details on how to use this API operation.
  9103  //
  9104  // The context must be non-nil and will be used for request cancellation. If
  9105  // the context is nil a panic will occur. In the future the SDK may create
  9106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9107  // for more information on using Contexts.
  9108  func (c *ConfigService) PutEvaluationsWithContext(ctx aws.Context, input *PutEvaluationsInput, opts ...request.Option) (*PutEvaluationsOutput, error) {
  9109  	req, out := c.PutEvaluationsRequest(input)
  9110  	req.SetContext(ctx)
  9111  	req.ApplyOptions(opts...)
  9112  	return out, req.Send()
  9113  }
  9114  
  9115  const opPutExternalEvaluation = "PutExternalEvaluation"
  9116  
  9117  // PutExternalEvaluationRequest generates a "aws/request.Request" representing the
  9118  // client's request for the PutExternalEvaluation operation. The "output" return
  9119  // value will be populated with the request's response once the request completes
  9120  // successfully.
  9121  //
  9122  // Use "Send" method on the returned Request to send the API call to the service.
  9123  // the "output" return value is not valid until after Send returns without error.
  9124  //
  9125  // See PutExternalEvaluation for more information on using the PutExternalEvaluation
  9126  // API call, and error handling.
  9127  //
  9128  // This method is useful when you want to inject custom logic or configuration
  9129  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9130  //
  9131  //
  9132  //    // Example sending a request using the PutExternalEvaluationRequest method.
  9133  //    req, resp := client.PutExternalEvaluationRequest(params)
  9134  //
  9135  //    err := req.Send()
  9136  //    if err == nil { // resp is now filled
  9137  //        fmt.Println(resp)
  9138  //    }
  9139  //
  9140  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
  9141  func (c *ConfigService) PutExternalEvaluationRequest(input *PutExternalEvaluationInput) (req *request.Request, output *PutExternalEvaluationOutput) {
  9142  	op := &request.Operation{
  9143  		Name:       opPutExternalEvaluation,
  9144  		HTTPMethod: "POST",
  9145  		HTTPPath:   "/",
  9146  	}
  9147  
  9148  	if input == nil {
  9149  		input = &PutExternalEvaluationInput{}
  9150  	}
  9151  
  9152  	output = &PutExternalEvaluationOutput{}
  9153  	req = c.newRequest(op, input, output)
  9154  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9155  	return
  9156  }
  9157  
  9158  // PutExternalEvaluation API operation for AWS Config.
  9159  //
  9160  // Add or updates the evaluations for process checks. This API checks if the
  9161  // rule is a process check when the name of the Config rule is provided.
  9162  //
  9163  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9164  // with awserr.Error's Code and Message methods to get detailed information about
  9165  // the error.
  9166  //
  9167  // See the AWS API reference guide for AWS Config's
  9168  // API operation PutExternalEvaluation for usage and error information.
  9169  //
  9170  // Returned Error Types:
  9171  //   * NoSuchConfigRuleException
  9172  //   One or more Config rules in the request are invalid. Verify that the rule
  9173  //   names are correct and try again.
  9174  //
  9175  //   * InvalidParameterValueException
  9176  //   One or more of the specified parameters are invalid. Verify that your parameters
  9177  //   are valid and try again.
  9178  //
  9179  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
  9180  func (c *ConfigService) PutExternalEvaluation(input *PutExternalEvaluationInput) (*PutExternalEvaluationOutput, error) {
  9181  	req, out := c.PutExternalEvaluationRequest(input)
  9182  	return out, req.Send()
  9183  }
  9184  
  9185  // PutExternalEvaluationWithContext is the same as PutExternalEvaluation with the addition of
  9186  // the ability to pass a context and additional request options.
  9187  //
  9188  // See PutExternalEvaluation for details on how to use this API operation.
  9189  //
  9190  // The context must be non-nil and will be used for request cancellation. If
  9191  // the context is nil a panic will occur. In the future the SDK may create
  9192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9193  // for more information on using Contexts.
  9194  func (c *ConfigService) PutExternalEvaluationWithContext(ctx aws.Context, input *PutExternalEvaluationInput, opts ...request.Option) (*PutExternalEvaluationOutput, error) {
  9195  	req, out := c.PutExternalEvaluationRequest(input)
  9196  	req.SetContext(ctx)
  9197  	req.ApplyOptions(opts...)
  9198  	return out, req.Send()
  9199  }
  9200  
  9201  const opPutOrganizationConfigRule = "PutOrganizationConfigRule"
  9202  
  9203  // PutOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
  9204  // client's request for the PutOrganizationConfigRule operation. The "output" return
  9205  // value will be populated with the request's response once the request completes
  9206  // successfully.
  9207  //
  9208  // Use "Send" method on the returned Request to send the API call to the service.
  9209  // the "output" return value is not valid until after Send returns without error.
  9210  //
  9211  // See PutOrganizationConfigRule for more information on using the PutOrganizationConfigRule
  9212  // API call, and error handling.
  9213  //
  9214  // This method is useful when you want to inject custom logic or configuration
  9215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9216  //
  9217  //
  9218  //    // Example sending a request using the PutOrganizationConfigRuleRequest method.
  9219  //    req, resp := client.PutOrganizationConfigRuleRequest(params)
  9220  //
  9221  //    err := req.Send()
  9222  //    if err == nil { // resp is now filled
  9223  //        fmt.Println(resp)
  9224  //    }
  9225  //
  9226  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
  9227  func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationConfigRuleInput) (req *request.Request, output *PutOrganizationConfigRuleOutput) {
  9228  	op := &request.Operation{
  9229  		Name:       opPutOrganizationConfigRule,
  9230  		HTTPMethod: "POST",
  9231  		HTTPPath:   "/",
  9232  	}
  9233  
  9234  	if input == nil {
  9235  		input = &PutOrganizationConfigRuleInput{}
  9236  	}
  9237  
  9238  	output = &PutOrganizationConfigRuleOutput{}
  9239  	req = c.newRequest(op, input, output)
  9240  	return
  9241  }
  9242  
  9243  // PutOrganizationConfigRule API operation for AWS Config.
  9244  //
  9245  // Adds or updates organization config rule for your entire organization evaluating
  9246  // whether your Amazon Web Services resources comply with your desired configurations.
  9247  //
  9248  // Only a master account and a delegated administrator can create or update
  9249  // an organization config rule. When calling this API with a delegated administrator,
  9250  // you must ensure Organizations ListDelegatedAdministrator permissions are
  9251  // added.
  9252  //
  9253  // This API enables organization service access through the EnableAWSServiceAccess
  9254  // action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup
  9255  // in the master or delegated administrator account of your organization. The
  9256  // service linked role is created only when the role does not exist in the caller
  9257  // account. Config verifies the existence of role with GetRole action.
  9258  //
  9259  // To use this API with delegated administrator, register a delegated administrator
  9260  // by calling Amazon Web Services Organization register-delegated-administrator
  9261  // for config-multiaccountsetup.amazonaws.com.
  9262  //
  9263  // You can use this action to create both custom Config rules and Config managed
  9264  // rules. If you are adding a new custom Config rule, you must first create
  9265  // Lambda function in the master account or a delegated administrator that the
  9266  // rule invokes to evaluate your resources. You also need to create an IAM role
  9267  // in the managed-account that can be assumed by the Lambda function. When you
  9268  // use the PutOrganizationConfigRule action to add the rule to Config, you must
  9269  // specify the Amazon Resource Name (ARN) that Lambda assigns to the function.
  9270  // If you are adding an Config managed rule, specify the rule's identifier for
  9271  // the RuleIdentifier key.
  9272  //
  9273  // The maximum number of organization config rules that Config supports is 150
  9274  // and 3 delegated administrator per organization.
  9275  //
  9276  // Prerequisite: Ensure you call EnableAllFeatures API to enable all features
  9277  // in an organization.
  9278  //
  9279  // Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata.
  9280  //
  9281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9282  // with awserr.Error's Code and Message methods to get detailed information about
  9283  // the error.
  9284  //
  9285  // See the AWS API reference guide for AWS Config's
  9286  // API operation PutOrganizationConfigRule for usage and error information.
  9287  //
  9288  // Returned Error Types:
  9289  //   * MaxNumberOfOrganizationConfigRulesExceededException
  9290  //   You have reached the limit of the number of organization config rules you
  9291  //   can create.
  9292  //
  9293  //   * ResourceInUseException
  9294  //   You see this exception in the following cases:
  9295  //
  9296  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
  9297  //      again later.
  9298  //
  9299  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
  9300  //      Try your request again later.
  9301  //
  9302  //      * For DeleteConfigRule, a remediation action is associated with the rule
  9303  //      and Config cannot delete this rule. Delete the remediation action associated
  9304  //      with the rule before deleting the rule and try your request again later.
  9305  //
  9306  //      * For PutConfigOrganizationRule, organization config rule deletion is
  9307  //      in progress. Try your request again later.
  9308  //
  9309  //      * For DeleteOrganizationConfigRule, organization config rule creation
  9310  //      is in progress. Try your request again later.
  9311  //
  9312  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9313  //      pack creation, update, and deletion is in progress. Try your request again
  9314  //      later.
  9315  //
  9316  //      * For DeleteConformancePack, a conformance pack creation, update, and
  9317  //      deletion is in progress. Try your request again later.
  9318  //
  9319  //   * InvalidParameterValueException
  9320  //   One or more of the specified parameters are invalid. Verify that your parameters
  9321  //   are valid and try again.
  9322  //
  9323  //   * ValidationException
  9324  //   The requested action is not valid.
  9325  //
  9326  //   For PutStoredQuery, you will see this exception if there are missing required
  9327  //   fields or if the input value fails the validation, or if you are trying to
  9328  //   create more than 300 queries.
  9329  //
  9330  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  9331  //   exception if there are missing required fields or if the input value fails
  9332  //   the validation.
  9333  //
  9334  //   * OrganizationAccessDeniedException
  9335  //   For PutConfigurationAggregator API, you can see this exception for the following
  9336  //   reasons:
  9337  //
  9338  //      * No permission to call EnableAWSServiceAccess API
  9339  //
  9340  //      * The configuration aggregator cannot be updated because your Amazon Web
  9341  //      Services Organization management account or the delegated administrator
  9342  //      role changed. Delete this aggregator and create a new one with the current
  9343  //      Amazon Web Services Organization.
  9344  //
  9345  //      * The configuration aggregator is associated with a previous Amazon Web
  9346  //      Services Organization and Config cannot aggregate data with current Amazon
  9347  //      Web Services Organization. Delete this aggregator and create a new one
  9348  //      with the current Amazon Web Services Organization.
  9349  //
  9350  //      * You are not a registered delegated administrator for Config with permissions
  9351  //      to call ListDelegatedAdministrators API. Ensure that the management account
  9352  //      registers delagated administrator for Config service principle name before
  9353  //      the delegated administrator creates an aggregator.
  9354  //
  9355  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  9356  //   throws an exception if APIs are called from member accounts. All APIs must
  9357  //   be called from organization master account.
  9358  //
  9359  //   * NoAvailableOrganizationException
  9360  //   Organization is no longer available.
  9361  //
  9362  //   * OrganizationAllFeaturesNotEnabledException
  9363  //   Config resource cannot be created because your organization does not have
  9364  //   all features enabled.
  9365  //
  9366  //   * InsufficientPermissionsException
  9367  //   Indicates one of the following errors:
  9368  //
  9369  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  9370  //      to Config lacks permissions to perform the config:Put* action.
  9371  //
  9372  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  9373  //      function ARN, and check the function's permissions.
  9374  //
  9375  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  9376  //      because you do not have permissions to call IAM GetRole action or create
  9377  //      a service linked role.
  9378  //
  9379  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9380  //      pack cannot be created because you do not have permissions: To call IAM
  9381  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  9382  //
  9383  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
  9384  func (c *ConfigService) PutOrganizationConfigRule(input *PutOrganizationConfigRuleInput) (*PutOrganizationConfigRuleOutput, error) {
  9385  	req, out := c.PutOrganizationConfigRuleRequest(input)
  9386  	return out, req.Send()
  9387  }
  9388  
  9389  // PutOrganizationConfigRuleWithContext is the same as PutOrganizationConfigRule with the addition of
  9390  // the ability to pass a context and additional request options.
  9391  //
  9392  // See PutOrganizationConfigRule for details on how to use this API operation.
  9393  //
  9394  // The context must be non-nil and will be used for request cancellation. If
  9395  // the context is nil a panic will occur. In the future the SDK may create
  9396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9397  // for more information on using Contexts.
  9398  func (c *ConfigService) PutOrganizationConfigRuleWithContext(ctx aws.Context, input *PutOrganizationConfigRuleInput, opts ...request.Option) (*PutOrganizationConfigRuleOutput, error) {
  9399  	req, out := c.PutOrganizationConfigRuleRequest(input)
  9400  	req.SetContext(ctx)
  9401  	req.ApplyOptions(opts...)
  9402  	return out, req.Send()
  9403  }
  9404  
  9405  const opPutOrganizationConformancePack = "PutOrganizationConformancePack"
  9406  
  9407  // PutOrganizationConformancePackRequest generates a "aws/request.Request" representing the
  9408  // client's request for the PutOrganizationConformancePack operation. The "output" return
  9409  // value will be populated with the request's response once the request completes
  9410  // successfully.
  9411  //
  9412  // Use "Send" method on the returned Request to send the API call to the service.
  9413  // the "output" return value is not valid until after Send returns without error.
  9414  //
  9415  // See PutOrganizationConformancePack for more information on using the PutOrganizationConformancePack
  9416  // API call, and error handling.
  9417  //
  9418  // This method is useful when you want to inject custom logic or configuration
  9419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9420  //
  9421  //
  9422  //    // Example sending a request using the PutOrganizationConformancePackRequest method.
  9423  //    req, resp := client.PutOrganizationConformancePackRequest(params)
  9424  //
  9425  //    err := req.Send()
  9426  //    if err == nil { // resp is now filled
  9427  //        fmt.Println(resp)
  9428  //    }
  9429  //
  9430  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
  9431  func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganizationConformancePackInput) (req *request.Request, output *PutOrganizationConformancePackOutput) {
  9432  	op := &request.Operation{
  9433  		Name:       opPutOrganizationConformancePack,
  9434  		HTTPMethod: "POST",
  9435  		HTTPPath:   "/",
  9436  	}
  9437  
  9438  	if input == nil {
  9439  		input = &PutOrganizationConformancePackInput{}
  9440  	}
  9441  
  9442  	output = &PutOrganizationConformancePackOutput{}
  9443  	req = c.newRequest(op, input, output)
  9444  	return
  9445  }
  9446  
  9447  // PutOrganizationConformancePack API operation for AWS Config.
  9448  //
  9449  // Deploys conformance packs across member accounts in an Amazon Web Services
  9450  // Organization.
  9451  //
  9452  // Only a master account and a delegated administrator can call this API. When
  9453  // calling this API with a delegated administrator, you must ensure Organizations
  9454  // ListDelegatedAdministrator permissions are added.
  9455  //
  9456  // This API enables organization service access for config-multiaccountsetup.amazonaws.com
  9457  // through the EnableAWSServiceAccess action and creates a service linked role
  9458  // AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator
  9459  // account of your organization. The service linked role is created only when
  9460  // the role does not exist in the caller account. To use this API with delegated
  9461  // administrator, register a delegated administrator by calling Amazon Web Services
  9462  // Organization register-delegate-admin for config-multiaccountsetup.amazonaws.com.
  9463  //
  9464  // Prerequisite: Ensure you call EnableAllFeatures API to enable all features
  9465  // in an organization.
  9466  //
  9467  // You must specify either the TemplateS3Uri or the TemplateBody parameter,
  9468  // but not both. If you provide both Config uses the TemplateS3Uri parameter
  9469  // and ignores the TemplateBody parameter.
  9470  //
  9471  // Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS
  9472  // until the conformance pack is created or updated. You cannot update a conformance
  9473  // pack while it is in this state.
  9474  //
  9475  // You can create 50 conformance packs with 25 Config rules in each pack and
  9476  // 3 delegated administrator per organization.
  9477  //
  9478  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9479  // with awserr.Error's Code and Message methods to get detailed information about
  9480  // the error.
  9481  //
  9482  // See the AWS API reference guide for AWS Config's
  9483  // API operation PutOrganizationConformancePack for usage and error information.
  9484  //
  9485  // Returned Error Types:
  9486  //   * MaxNumberOfOrganizationConformancePacksExceededException
  9487  //   You have reached the limit (6) of the number of organization conformance
  9488  //   packs in an account (6 conformance pack with 25 Config rules per pack per
  9489  //   account).
  9490  //
  9491  //   * ResourceInUseException
  9492  //   You see this exception in the following cases:
  9493  //
  9494  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
  9495  //      again later.
  9496  //
  9497  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
  9498  //      Try your request again later.
  9499  //
  9500  //      * For DeleteConfigRule, a remediation action is associated with the rule
  9501  //      and Config cannot delete this rule. Delete the remediation action associated
  9502  //      with the rule before deleting the rule and try your request again later.
  9503  //
  9504  //      * For PutConfigOrganizationRule, organization config rule deletion is
  9505  //      in progress. Try your request again later.
  9506  //
  9507  //      * For DeleteOrganizationConfigRule, organization config rule creation
  9508  //      is in progress. Try your request again later.
  9509  //
  9510  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9511  //      pack creation, update, and deletion is in progress. Try your request again
  9512  //      later.
  9513  //
  9514  //      * For DeleteConformancePack, a conformance pack creation, update, and
  9515  //      deletion is in progress. Try your request again later.
  9516  //
  9517  //   * ValidationException
  9518  //   The requested action is not valid.
  9519  //
  9520  //   For PutStoredQuery, you will see this exception if there are missing required
  9521  //   fields or if the input value fails the validation, or if you are trying to
  9522  //   create more than 300 queries.
  9523  //
  9524  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  9525  //   exception if there are missing required fields or if the input value fails
  9526  //   the validation.
  9527  //
  9528  //   * OrganizationAccessDeniedException
  9529  //   For PutConfigurationAggregator API, you can see this exception for the following
  9530  //   reasons:
  9531  //
  9532  //      * No permission to call EnableAWSServiceAccess API
  9533  //
  9534  //      * The configuration aggregator cannot be updated because your Amazon Web
  9535  //      Services Organization management account or the delegated administrator
  9536  //      role changed. Delete this aggregator and create a new one with the current
  9537  //      Amazon Web Services Organization.
  9538  //
  9539  //      * The configuration aggregator is associated with a previous Amazon Web
  9540  //      Services Organization and Config cannot aggregate data with current Amazon
  9541  //      Web Services Organization. Delete this aggregator and create a new one
  9542  //      with the current Amazon Web Services Organization.
  9543  //
  9544  //      * You are not a registered delegated administrator for Config with permissions
  9545  //      to call ListDelegatedAdministrators API. Ensure that the management account
  9546  //      registers delagated administrator for Config service principle name before
  9547  //      the delegated administrator creates an aggregator.
  9548  //
  9549  //   For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
  9550  //   throws an exception if APIs are called from member accounts. All APIs must
  9551  //   be called from organization master account.
  9552  //
  9553  //   * InsufficientPermissionsException
  9554  //   Indicates one of the following errors:
  9555  //
  9556  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  9557  //      to Config lacks permissions to perform the config:Put* action.
  9558  //
  9559  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  9560  //      function ARN, and check the function's permissions.
  9561  //
  9562  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  9563  //      because you do not have permissions to call IAM GetRole action or create
  9564  //      a service linked role.
  9565  //
  9566  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9567  //      pack cannot be created because you do not have permissions: To call IAM
  9568  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  9569  //
  9570  //   * OrganizationConformancePackTemplateValidationException
  9571  //   You have specified a template that is not valid or supported.
  9572  //
  9573  //   * OrganizationAllFeaturesNotEnabledException
  9574  //   Config resource cannot be created because your organization does not have
  9575  //   all features enabled.
  9576  //
  9577  //   * NoAvailableOrganizationException
  9578  //   Organization is no longer available.
  9579  //
  9580  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
  9581  func (c *ConfigService) PutOrganizationConformancePack(input *PutOrganizationConformancePackInput) (*PutOrganizationConformancePackOutput, error) {
  9582  	req, out := c.PutOrganizationConformancePackRequest(input)
  9583  	return out, req.Send()
  9584  }
  9585  
  9586  // PutOrganizationConformancePackWithContext is the same as PutOrganizationConformancePack with the addition of
  9587  // the ability to pass a context and additional request options.
  9588  //
  9589  // See PutOrganizationConformancePack for details on how to use this API operation.
  9590  //
  9591  // The context must be non-nil and will be used for request cancellation. If
  9592  // the context is nil a panic will occur. In the future the SDK may create
  9593  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9594  // for more information on using Contexts.
  9595  func (c *ConfigService) PutOrganizationConformancePackWithContext(ctx aws.Context, input *PutOrganizationConformancePackInput, opts ...request.Option) (*PutOrganizationConformancePackOutput, error) {
  9596  	req, out := c.PutOrganizationConformancePackRequest(input)
  9597  	req.SetContext(ctx)
  9598  	req.ApplyOptions(opts...)
  9599  	return out, req.Send()
  9600  }
  9601  
  9602  const opPutRemediationConfigurations = "PutRemediationConfigurations"
  9603  
  9604  // PutRemediationConfigurationsRequest generates a "aws/request.Request" representing the
  9605  // client's request for the PutRemediationConfigurations operation. The "output" return
  9606  // value will be populated with the request's response once the request completes
  9607  // successfully.
  9608  //
  9609  // Use "Send" method on the returned Request to send the API call to the service.
  9610  // the "output" return value is not valid until after Send returns without error.
  9611  //
  9612  // See PutRemediationConfigurations for more information on using the PutRemediationConfigurations
  9613  // API call, and error handling.
  9614  //
  9615  // This method is useful when you want to inject custom logic or configuration
  9616  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9617  //
  9618  //
  9619  //    // Example sending a request using the PutRemediationConfigurationsRequest method.
  9620  //    req, resp := client.PutRemediationConfigurationsRequest(params)
  9621  //
  9622  //    err := req.Send()
  9623  //    if err == nil { // resp is now filled
  9624  //        fmt.Println(resp)
  9625  //    }
  9626  //
  9627  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
  9628  func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediationConfigurationsInput) (req *request.Request, output *PutRemediationConfigurationsOutput) {
  9629  	op := &request.Operation{
  9630  		Name:       opPutRemediationConfigurations,
  9631  		HTTPMethod: "POST",
  9632  		HTTPPath:   "/",
  9633  	}
  9634  
  9635  	if input == nil {
  9636  		input = &PutRemediationConfigurationsInput{}
  9637  	}
  9638  
  9639  	output = &PutRemediationConfigurationsOutput{}
  9640  	req = c.newRequest(op, input, output)
  9641  	return
  9642  }
  9643  
  9644  // PutRemediationConfigurations API operation for AWS Config.
  9645  //
  9646  // Adds or updates the remediation configuration with a specific Config rule
  9647  // with the selected target or action. The API creates the RemediationConfiguration
  9648  // object for the Config rule. The Config rule must already exist for you to
  9649  // add a remediation configuration. The target (SSM document) must exist and
  9650  // have permissions to use the target.
  9651  //
  9652  // If you make backward incompatible changes to the SSM document, you must call
  9653  // this again to ensure the remediations can run.
  9654  //
  9655  // This API does not support adding remediation configurations for service-linked
  9656  // Config Rules such as Organization Config rules, the rules deployed by conformance
  9657  // packs, and rules deployed by Amazon Web Services Security Hub.
  9658  //
  9659  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9660  // with awserr.Error's Code and Message methods to get detailed information about
  9661  // the error.
  9662  //
  9663  // See the AWS API reference guide for AWS Config's
  9664  // API operation PutRemediationConfigurations for usage and error information.
  9665  //
  9666  // Returned Error Types:
  9667  //   * InsufficientPermissionsException
  9668  //   Indicates one of the following errors:
  9669  //
  9670  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  9671  //      to Config lacks permissions to perform the config:Put* action.
  9672  //
  9673  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  9674  //      function ARN, and check the function's permissions.
  9675  //
  9676  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  9677  //      because you do not have permissions to call IAM GetRole action or create
  9678  //      a service linked role.
  9679  //
  9680  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9681  //      pack cannot be created because you do not have permissions: To call IAM
  9682  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  9683  //
  9684  //   * InvalidParameterValueException
  9685  //   One or more of the specified parameters are invalid. Verify that your parameters
  9686  //   are valid and try again.
  9687  //
  9688  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
  9689  func (c *ConfigService) PutRemediationConfigurations(input *PutRemediationConfigurationsInput) (*PutRemediationConfigurationsOutput, error) {
  9690  	req, out := c.PutRemediationConfigurationsRequest(input)
  9691  	return out, req.Send()
  9692  }
  9693  
  9694  // PutRemediationConfigurationsWithContext is the same as PutRemediationConfigurations with the addition of
  9695  // the ability to pass a context and additional request options.
  9696  //
  9697  // See PutRemediationConfigurations for details on how to use this API operation.
  9698  //
  9699  // The context must be non-nil and will be used for request cancellation. If
  9700  // the context is nil a panic will occur. In the future the SDK may create
  9701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9702  // for more information on using Contexts.
  9703  func (c *ConfigService) PutRemediationConfigurationsWithContext(ctx aws.Context, input *PutRemediationConfigurationsInput, opts ...request.Option) (*PutRemediationConfigurationsOutput, error) {
  9704  	req, out := c.PutRemediationConfigurationsRequest(input)
  9705  	req.SetContext(ctx)
  9706  	req.ApplyOptions(opts...)
  9707  	return out, req.Send()
  9708  }
  9709  
  9710  const opPutRemediationExceptions = "PutRemediationExceptions"
  9711  
  9712  // PutRemediationExceptionsRequest generates a "aws/request.Request" representing the
  9713  // client's request for the PutRemediationExceptions operation. The "output" return
  9714  // value will be populated with the request's response once the request completes
  9715  // successfully.
  9716  //
  9717  // Use "Send" method on the returned Request to send the API call to the service.
  9718  // the "output" return value is not valid until after Send returns without error.
  9719  //
  9720  // See PutRemediationExceptions for more information on using the PutRemediationExceptions
  9721  // API call, and error handling.
  9722  //
  9723  // This method is useful when you want to inject custom logic or configuration
  9724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9725  //
  9726  //
  9727  //    // Example sending a request using the PutRemediationExceptionsRequest method.
  9728  //    req, resp := client.PutRemediationExceptionsRequest(params)
  9729  //
  9730  //    err := req.Send()
  9731  //    if err == nil { // resp is now filled
  9732  //        fmt.Println(resp)
  9733  //    }
  9734  //
  9735  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
  9736  func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExceptionsInput) (req *request.Request, output *PutRemediationExceptionsOutput) {
  9737  	op := &request.Operation{
  9738  		Name:       opPutRemediationExceptions,
  9739  		HTTPMethod: "POST",
  9740  		HTTPPath:   "/",
  9741  	}
  9742  
  9743  	if input == nil {
  9744  		input = &PutRemediationExceptionsInput{}
  9745  	}
  9746  
  9747  	output = &PutRemediationExceptionsOutput{}
  9748  	req = c.newRequest(op, input, output)
  9749  	return
  9750  }
  9751  
  9752  // PutRemediationExceptions API operation for AWS Config.
  9753  //
  9754  // A remediation exception is when a specific resource is no longer considered
  9755  // for auto-remediation. This API adds a new exception or updates an existing
  9756  // exception for a specific resource with a specific Config rule.
  9757  //
  9758  // Config generates a remediation exception when a problem occurs executing
  9759  // a remediation action to a specific resource. Remediation exceptions blocks
  9760  // auto-remediation until the exception is cleared.
  9761  //
  9762  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9763  // with awserr.Error's Code and Message methods to get detailed information about
  9764  // the error.
  9765  //
  9766  // See the AWS API reference guide for AWS Config's
  9767  // API operation PutRemediationExceptions for usage and error information.
  9768  //
  9769  // Returned Error Types:
  9770  //   * InvalidParameterValueException
  9771  //   One or more of the specified parameters are invalid. Verify that your parameters
  9772  //   are valid and try again.
  9773  //
  9774  //   * InsufficientPermissionsException
  9775  //   Indicates one of the following errors:
  9776  //
  9777  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  9778  //      to Config lacks permissions to perform the config:Put* action.
  9779  //
  9780  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  9781  //      function ARN, and check the function's permissions.
  9782  //
  9783  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  9784  //      because you do not have permissions to call IAM GetRole action or create
  9785  //      a service linked role.
  9786  //
  9787  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9788  //      pack cannot be created because you do not have permissions: To call IAM
  9789  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  9790  //
  9791  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
  9792  func (c *ConfigService) PutRemediationExceptions(input *PutRemediationExceptionsInput) (*PutRemediationExceptionsOutput, error) {
  9793  	req, out := c.PutRemediationExceptionsRequest(input)
  9794  	return out, req.Send()
  9795  }
  9796  
  9797  // PutRemediationExceptionsWithContext is the same as PutRemediationExceptions with the addition of
  9798  // the ability to pass a context and additional request options.
  9799  //
  9800  // See PutRemediationExceptions for details on how to use this API operation.
  9801  //
  9802  // The context must be non-nil and will be used for request cancellation. If
  9803  // the context is nil a panic will occur. In the future the SDK may create
  9804  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9805  // for more information on using Contexts.
  9806  func (c *ConfigService) PutRemediationExceptionsWithContext(ctx aws.Context, input *PutRemediationExceptionsInput, opts ...request.Option) (*PutRemediationExceptionsOutput, error) {
  9807  	req, out := c.PutRemediationExceptionsRequest(input)
  9808  	req.SetContext(ctx)
  9809  	req.ApplyOptions(opts...)
  9810  	return out, req.Send()
  9811  }
  9812  
  9813  const opPutResourceConfig = "PutResourceConfig"
  9814  
  9815  // PutResourceConfigRequest generates a "aws/request.Request" representing the
  9816  // client's request for the PutResourceConfig operation. The "output" return
  9817  // value will be populated with the request's response once the request completes
  9818  // successfully.
  9819  //
  9820  // Use "Send" method on the returned Request to send the API call to the service.
  9821  // the "output" return value is not valid until after Send returns without error.
  9822  //
  9823  // See PutResourceConfig for more information on using the PutResourceConfig
  9824  // API call, and error handling.
  9825  //
  9826  // This method is useful when you want to inject custom logic or configuration
  9827  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9828  //
  9829  //
  9830  //    // Example sending a request using the PutResourceConfigRequest method.
  9831  //    req, resp := client.PutResourceConfigRequest(params)
  9832  //
  9833  //    err := req.Send()
  9834  //    if err == nil { // resp is now filled
  9835  //        fmt.Println(resp)
  9836  //    }
  9837  //
  9838  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
  9839  func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) (req *request.Request, output *PutResourceConfigOutput) {
  9840  	op := &request.Operation{
  9841  		Name:       opPutResourceConfig,
  9842  		HTTPMethod: "POST",
  9843  		HTTPPath:   "/",
  9844  	}
  9845  
  9846  	if input == nil {
  9847  		input = &PutResourceConfigInput{}
  9848  	}
  9849  
  9850  	output = &PutResourceConfigOutput{}
  9851  	req = c.newRequest(op, input, output)
  9852  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9853  	return
  9854  }
  9855  
  9856  // PutResourceConfig API operation for AWS Config.
  9857  //
  9858  // Records the configuration state for the resource provided in the request.
  9859  // The configuration state of a resource is represented in Config as Configuration
  9860  // Items. Once this API records the configuration item, you can retrieve the
  9861  // list of configuration items for the custom resource type using existing Config
  9862  // APIs.
  9863  //
  9864  // The custom resource type must be registered with CloudFormation. This API
  9865  // accepts the configuration item registered with CloudFormation.
  9866  //
  9867  // When you call this API, Config only stores configuration state of the resource
  9868  // provided in the request. This API does not change or remediate the configuration
  9869  // of the resource.
  9870  //
  9871  // Write-only schema properites are not recorded as part of the published configuration
  9872  // item.
  9873  //
  9874  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9875  // with awserr.Error's Code and Message methods to get detailed information about
  9876  // the error.
  9877  //
  9878  // See the AWS API reference guide for AWS Config's
  9879  // API operation PutResourceConfig for usage and error information.
  9880  //
  9881  // Returned Error Types:
  9882  //   * ValidationException
  9883  //   The requested action is not valid.
  9884  //
  9885  //   For PutStoredQuery, you will see this exception if there are missing required
  9886  //   fields or if the input value fails the validation, or if you are trying to
  9887  //   create more than 300 queries.
  9888  //
  9889  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
  9890  //   exception if there are missing required fields or if the input value fails
  9891  //   the validation.
  9892  //
  9893  //   * InsufficientPermissionsException
  9894  //   Indicates one of the following errors:
  9895  //
  9896  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
  9897  //      to Config lacks permissions to perform the config:Put* action.
  9898  //
  9899  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
  9900  //      function ARN, and check the function's permissions.
  9901  //
  9902  //      * For PutOrganizationConfigRule, organization config rule cannot be created
  9903  //      because you do not have permissions to call IAM GetRole action or create
  9904  //      a service linked role.
  9905  //
  9906  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
  9907  //      pack cannot be created because you do not have permissions: To call IAM
  9908  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
  9909  //
  9910  //   * NoRunningConfigurationRecorderException
  9911  //   There is no configuration recorder running.
  9912  //
  9913  //   * MaxActiveResourcesExceededException
  9914  //   You have reached the limit (100,000) of active custom resource types in your
  9915  //   account. Delete unused resources using DeleteResourceConfig.
  9916  //
  9917  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
  9918  func (c *ConfigService) PutResourceConfig(input *PutResourceConfigInput) (*PutResourceConfigOutput, error) {
  9919  	req, out := c.PutResourceConfigRequest(input)
  9920  	return out, req.Send()
  9921  }
  9922  
  9923  // PutResourceConfigWithContext is the same as PutResourceConfig with the addition of
  9924  // the ability to pass a context and additional request options.
  9925  //
  9926  // See PutResourceConfig for details on how to use this API operation.
  9927  //
  9928  // The context must be non-nil and will be used for request cancellation. If
  9929  // the context is nil a panic will occur. In the future the SDK may create
  9930  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9931  // for more information on using Contexts.
  9932  func (c *ConfigService) PutResourceConfigWithContext(ctx aws.Context, input *PutResourceConfigInput, opts ...request.Option) (*PutResourceConfigOutput, error) {
  9933  	req, out := c.PutResourceConfigRequest(input)
  9934  	req.SetContext(ctx)
  9935  	req.ApplyOptions(opts...)
  9936  	return out, req.Send()
  9937  }
  9938  
  9939  const opPutRetentionConfiguration = "PutRetentionConfiguration"
  9940  
  9941  // PutRetentionConfigurationRequest generates a "aws/request.Request" representing the
  9942  // client's request for the PutRetentionConfiguration operation. The "output" return
  9943  // value will be populated with the request's response once the request completes
  9944  // successfully.
  9945  //
  9946  // Use "Send" method on the returned Request to send the API call to the service.
  9947  // the "output" return value is not valid until after Send returns without error.
  9948  //
  9949  // See PutRetentionConfiguration for more information on using the PutRetentionConfiguration
  9950  // API call, and error handling.
  9951  //
  9952  // This method is useful when you want to inject custom logic or configuration
  9953  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9954  //
  9955  //
  9956  //    // Example sending a request using the PutRetentionConfigurationRequest method.
  9957  //    req, resp := client.PutRetentionConfigurationRequest(params)
  9958  //
  9959  //    err := req.Send()
  9960  //    if err == nil { // resp is now filled
  9961  //        fmt.Println(resp)
  9962  //    }
  9963  //
  9964  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
  9965  func (c *ConfigService) PutRetentionConfigurationRequest(input *PutRetentionConfigurationInput) (req *request.Request, output *PutRetentionConfigurationOutput) {
  9966  	op := &request.Operation{
  9967  		Name:       opPutRetentionConfiguration,
  9968  		HTTPMethod: "POST",
  9969  		HTTPPath:   "/",
  9970  	}
  9971  
  9972  	if input == nil {
  9973  		input = &PutRetentionConfigurationInput{}
  9974  	}
  9975  
  9976  	output = &PutRetentionConfigurationOutput{}
  9977  	req = c.newRequest(op, input, output)
  9978  	return
  9979  }
  9980  
  9981  // PutRetentionConfiguration API operation for AWS Config.
  9982  //
  9983  // Creates and updates the retention configuration with details about retention
  9984  // period (number of days) that Config stores your historical information. The
  9985  // API creates the RetentionConfiguration object and names the object as default.
  9986  // When you have a RetentionConfiguration object named default, calling the
  9987  // API modifies the default object.
  9988  //
  9989  // Currently, Config supports only one retention configuration per region in
  9990  // your account.
  9991  //
  9992  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9993  // with awserr.Error's Code and Message methods to get detailed information about
  9994  // the error.
  9995  //
  9996  // See the AWS API reference guide for AWS Config's
  9997  // API operation PutRetentionConfiguration for usage and error information.
  9998  //
  9999  // Returned Error Types:
 10000  //   * InvalidParameterValueException
 10001  //   One or more of the specified parameters are invalid. Verify that your parameters
 10002  //   are valid and try again.
 10003  //
 10004  //   * MaxNumberOfRetentionConfigurationsExceededException
 10005  //   Failed to add the retention configuration because a retention configuration
 10006  //   with that name already exists.
 10007  //
 10008  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
 10009  func (c *ConfigService) PutRetentionConfiguration(input *PutRetentionConfigurationInput) (*PutRetentionConfigurationOutput, error) {
 10010  	req, out := c.PutRetentionConfigurationRequest(input)
 10011  	return out, req.Send()
 10012  }
 10013  
 10014  // PutRetentionConfigurationWithContext is the same as PutRetentionConfiguration with the addition of
 10015  // the ability to pass a context and additional request options.
 10016  //
 10017  // See PutRetentionConfiguration for details on how to use this API operation.
 10018  //
 10019  // The context must be non-nil and will be used for request cancellation. If
 10020  // the context is nil a panic will occur. In the future the SDK may create
 10021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10022  // for more information on using Contexts.
 10023  func (c *ConfigService) PutRetentionConfigurationWithContext(ctx aws.Context, input *PutRetentionConfigurationInput, opts ...request.Option) (*PutRetentionConfigurationOutput, error) {
 10024  	req, out := c.PutRetentionConfigurationRequest(input)
 10025  	req.SetContext(ctx)
 10026  	req.ApplyOptions(opts...)
 10027  	return out, req.Send()
 10028  }
 10029  
 10030  const opPutStoredQuery = "PutStoredQuery"
 10031  
 10032  // PutStoredQueryRequest generates a "aws/request.Request" representing the
 10033  // client's request for the PutStoredQuery operation. The "output" return
 10034  // value will be populated with the request's response once the request completes
 10035  // successfully.
 10036  //
 10037  // Use "Send" method on the returned Request to send the API call to the service.
 10038  // the "output" return value is not valid until after Send returns without error.
 10039  //
 10040  // See PutStoredQuery for more information on using the PutStoredQuery
 10041  // API call, and error handling.
 10042  //
 10043  // This method is useful when you want to inject custom logic or configuration
 10044  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10045  //
 10046  //
 10047  //    // Example sending a request using the PutStoredQueryRequest method.
 10048  //    req, resp := client.PutStoredQueryRequest(params)
 10049  //
 10050  //    err := req.Send()
 10051  //    if err == nil { // resp is now filled
 10052  //        fmt.Println(resp)
 10053  //    }
 10054  //
 10055  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
 10056  func (c *ConfigService) PutStoredQueryRequest(input *PutStoredQueryInput) (req *request.Request, output *PutStoredQueryOutput) {
 10057  	op := &request.Operation{
 10058  		Name:       opPutStoredQuery,
 10059  		HTTPMethod: "POST",
 10060  		HTTPPath:   "/",
 10061  	}
 10062  
 10063  	if input == nil {
 10064  		input = &PutStoredQueryInput{}
 10065  	}
 10066  
 10067  	output = &PutStoredQueryOutput{}
 10068  	req = c.newRequest(op, input, output)
 10069  	return
 10070  }
 10071  
 10072  // PutStoredQuery API operation for AWS Config.
 10073  //
 10074  // Saves a new query or updates an existing saved query. The QueryName must
 10075  // be unique for a single Amazon Web Services account and a single Amazon Web
 10076  // Services Region. You can create upto 300 queries in a single Amazon Web Services
 10077  // account and a single Amazon Web Services Region.
 10078  //
 10079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10080  // with awserr.Error's Code and Message methods to get detailed information about
 10081  // the error.
 10082  //
 10083  // See the AWS API reference guide for AWS Config's
 10084  // API operation PutStoredQuery for usage and error information.
 10085  //
 10086  // Returned Error Types:
 10087  //   * ValidationException
 10088  //   The requested action is not valid.
 10089  //
 10090  //   For PutStoredQuery, you will see this exception if there are missing required
 10091  //   fields or if the input value fails the validation, or if you are trying to
 10092  //   create more than 300 queries.
 10093  //
 10094  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
 10095  //   exception if there are missing required fields or if the input value fails
 10096  //   the validation.
 10097  //
 10098  //   * TooManyTagsException
 10099  //   You have reached the limit of the number of tags you can use. You have more
 10100  //   than 50 tags.
 10101  //
 10102  //   * ResourceConcurrentModificationException
 10103  //   Two users are trying to modify the same query at the same time. Wait for
 10104  //   a moment and try again.
 10105  //
 10106  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
 10107  func (c *ConfigService) PutStoredQuery(input *PutStoredQueryInput) (*PutStoredQueryOutput, error) {
 10108  	req, out := c.PutStoredQueryRequest(input)
 10109  	return out, req.Send()
 10110  }
 10111  
 10112  // PutStoredQueryWithContext is the same as PutStoredQuery with the addition of
 10113  // the ability to pass a context and additional request options.
 10114  //
 10115  // See PutStoredQuery for details on how to use this API operation.
 10116  //
 10117  // The context must be non-nil and will be used for request cancellation. If
 10118  // the context is nil a panic will occur. In the future the SDK may create
 10119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10120  // for more information on using Contexts.
 10121  func (c *ConfigService) PutStoredQueryWithContext(ctx aws.Context, input *PutStoredQueryInput, opts ...request.Option) (*PutStoredQueryOutput, error) {
 10122  	req, out := c.PutStoredQueryRequest(input)
 10123  	req.SetContext(ctx)
 10124  	req.ApplyOptions(opts...)
 10125  	return out, req.Send()
 10126  }
 10127  
 10128  const opSelectAggregateResourceConfig = "SelectAggregateResourceConfig"
 10129  
 10130  // SelectAggregateResourceConfigRequest generates a "aws/request.Request" representing the
 10131  // client's request for the SelectAggregateResourceConfig operation. The "output" return
 10132  // value will be populated with the request's response once the request completes
 10133  // successfully.
 10134  //
 10135  // Use "Send" method on the returned Request to send the API call to the service.
 10136  // the "output" return value is not valid until after Send returns without error.
 10137  //
 10138  // See SelectAggregateResourceConfig for more information on using the SelectAggregateResourceConfig
 10139  // API call, and error handling.
 10140  //
 10141  // This method is useful when you want to inject custom logic or configuration
 10142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10143  //
 10144  //
 10145  //    // Example sending a request using the SelectAggregateResourceConfigRequest method.
 10146  //    req, resp := client.SelectAggregateResourceConfigRequest(params)
 10147  //
 10148  //    err := req.Send()
 10149  //    if err == nil { // resp is now filled
 10150  //        fmt.Println(resp)
 10151  //    }
 10152  //
 10153  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
 10154  func (c *ConfigService) SelectAggregateResourceConfigRequest(input *SelectAggregateResourceConfigInput) (req *request.Request, output *SelectAggregateResourceConfigOutput) {
 10155  	op := &request.Operation{
 10156  		Name:       opSelectAggregateResourceConfig,
 10157  		HTTPMethod: "POST",
 10158  		HTTPPath:   "/",
 10159  		Paginator: &request.Paginator{
 10160  			InputTokens:     []string{"NextToken"},
 10161  			OutputTokens:    []string{"NextToken"},
 10162  			LimitToken:      "Limit",
 10163  			TruncationToken: "",
 10164  		},
 10165  	}
 10166  
 10167  	if input == nil {
 10168  		input = &SelectAggregateResourceConfigInput{}
 10169  	}
 10170  
 10171  	output = &SelectAggregateResourceConfigOutput{}
 10172  	req = c.newRequest(op, input, output)
 10173  	return
 10174  }
 10175  
 10176  // SelectAggregateResourceConfig API operation for AWS Config.
 10177  //
 10178  // Accepts a structured query language (SQL) SELECT command and an aggregator
 10179  // to query configuration state of Amazon Web Services resources across multiple
 10180  // accounts and regions, performs the corresponding search, and returns resource
 10181  // configurations matching the properties.
 10182  //
 10183  // For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
 10184  // section in the Config Developer Guide.
 10185  //
 10186  // If you run an aggregation query (i.e., using GROUP BY or using aggregate
 10187  // functions such as COUNT; e.g., SELECT resourceId, COUNT(*) WHERE resourceType
 10188  // = 'AWS::IAM::Role' GROUP BY resourceId) and do not specify the MaxResults
 10189  // or the Limit query parameters, the default page size is set to 500.
 10190  //
 10191  // If you run a non-aggregation query (i.e., not using GROUP BY or aggregate
 10192  // function; e.g., SELECT * WHERE resourceType = 'AWS::IAM::Role') and do not
 10193  // specify the MaxResults or the Limit query parameters, the default page size
 10194  // is set to 25.
 10195  //
 10196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10197  // with awserr.Error's Code and Message methods to get detailed information about
 10198  // the error.
 10199  //
 10200  // See the AWS API reference guide for AWS Config's
 10201  // API operation SelectAggregateResourceConfig for usage and error information.
 10202  //
 10203  // Returned Error Types:
 10204  //   * InvalidExpressionException
 10205  //   The syntax of the query is incorrect.
 10206  //
 10207  //   * NoSuchConfigurationAggregatorException
 10208  //   You have specified a configuration aggregator that does not exist.
 10209  //
 10210  //   * InvalidLimitException
 10211  //   The specified limit is outside the allowable range.
 10212  //
 10213  //   * InvalidNextTokenException
 10214  //   The specified next token is invalid. Specify the nextToken string that was
 10215  //   returned in the previous response to get the next page of results.
 10216  //
 10217  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
 10218  func (c *ConfigService) SelectAggregateResourceConfig(input *SelectAggregateResourceConfigInput) (*SelectAggregateResourceConfigOutput, error) {
 10219  	req, out := c.SelectAggregateResourceConfigRequest(input)
 10220  	return out, req.Send()
 10221  }
 10222  
 10223  // SelectAggregateResourceConfigWithContext is the same as SelectAggregateResourceConfig with the addition of
 10224  // the ability to pass a context and additional request options.
 10225  //
 10226  // See SelectAggregateResourceConfig for details on how to use this API operation.
 10227  //
 10228  // The context must be non-nil and will be used for request cancellation. If
 10229  // the context is nil a panic will occur. In the future the SDK may create
 10230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10231  // for more information on using Contexts.
 10232  func (c *ConfigService) SelectAggregateResourceConfigWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, opts ...request.Option) (*SelectAggregateResourceConfigOutput, error) {
 10233  	req, out := c.SelectAggregateResourceConfigRequest(input)
 10234  	req.SetContext(ctx)
 10235  	req.ApplyOptions(opts...)
 10236  	return out, req.Send()
 10237  }
 10238  
 10239  // SelectAggregateResourceConfigPages iterates over the pages of a SelectAggregateResourceConfig operation,
 10240  // calling the "fn" function with the response data for each page. To stop
 10241  // iterating, return false from the fn function.
 10242  //
 10243  // See SelectAggregateResourceConfig method for more information on how to use this operation.
 10244  //
 10245  // Note: This operation can generate multiple requests to a service.
 10246  //
 10247  //    // Example iterating over at most 3 pages of a SelectAggregateResourceConfig operation.
 10248  //    pageNum := 0
 10249  //    err := client.SelectAggregateResourceConfigPages(params,
 10250  //        func(page *configservice.SelectAggregateResourceConfigOutput, lastPage bool) bool {
 10251  //            pageNum++
 10252  //            fmt.Println(page)
 10253  //            return pageNum <= 3
 10254  //        })
 10255  //
 10256  func (c *ConfigService) SelectAggregateResourceConfigPages(input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool) error {
 10257  	return c.SelectAggregateResourceConfigPagesWithContext(aws.BackgroundContext(), input, fn)
 10258  }
 10259  
 10260  // SelectAggregateResourceConfigPagesWithContext same as SelectAggregateResourceConfigPages except
 10261  // it takes a Context and allows setting request options on the pages.
 10262  //
 10263  // The context must be non-nil and will be used for request cancellation. If
 10264  // the context is nil a panic will occur. In the future the SDK may create
 10265  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10266  // for more information on using Contexts.
 10267  func (c *ConfigService) SelectAggregateResourceConfigPagesWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool, opts ...request.Option) error {
 10268  	p := request.Pagination{
 10269  		NewRequest: func() (*request.Request, error) {
 10270  			var inCpy *SelectAggregateResourceConfigInput
 10271  			if input != nil {
 10272  				tmp := *input
 10273  				inCpy = &tmp
 10274  			}
 10275  			req, _ := c.SelectAggregateResourceConfigRequest(inCpy)
 10276  			req.SetContext(ctx)
 10277  			req.ApplyOptions(opts...)
 10278  			return req, nil
 10279  		},
 10280  	}
 10281  
 10282  	for p.Next() {
 10283  		if !fn(p.Page().(*SelectAggregateResourceConfigOutput), !p.HasNextPage()) {
 10284  			break
 10285  		}
 10286  	}
 10287  
 10288  	return p.Err()
 10289  }
 10290  
 10291  const opSelectResourceConfig = "SelectResourceConfig"
 10292  
 10293  // SelectResourceConfigRequest generates a "aws/request.Request" representing the
 10294  // client's request for the SelectResourceConfig operation. The "output" return
 10295  // value will be populated with the request's response once the request completes
 10296  // successfully.
 10297  //
 10298  // Use "Send" method on the returned Request to send the API call to the service.
 10299  // the "output" return value is not valid until after Send returns without error.
 10300  //
 10301  // See SelectResourceConfig for more information on using the SelectResourceConfig
 10302  // API call, and error handling.
 10303  //
 10304  // This method is useful when you want to inject custom logic or configuration
 10305  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10306  //
 10307  //
 10308  //    // Example sending a request using the SelectResourceConfigRequest method.
 10309  //    req, resp := client.SelectResourceConfigRequest(params)
 10310  //
 10311  //    err := req.Send()
 10312  //    if err == nil { // resp is now filled
 10313  //        fmt.Println(resp)
 10314  //    }
 10315  //
 10316  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
 10317  func (c *ConfigService) SelectResourceConfigRequest(input *SelectResourceConfigInput) (req *request.Request, output *SelectResourceConfigOutput) {
 10318  	op := &request.Operation{
 10319  		Name:       opSelectResourceConfig,
 10320  		HTTPMethod: "POST",
 10321  		HTTPPath:   "/",
 10322  		Paginator: &request.Paginator{
 10323  			InputTokens:     []string{"NextToken"},
 10324  			OutputTokens:    []string{"NextToken"},
 10325  			LimitToken:      "Limit",
 10326  			TruncationToken: "",
 10327  		},
 10328  	}
 10329  
 10330  	if input == nil {
 10331  		input = &SelectResourceConfigInput{}
 10332  	}
 10333  
 10334  	output = &SelectResourceConfigOutput{}
 10335  	req = c.newRequest(op, input, output)
 10336  	return
 10337  }
 10338  
 10339  // SelectResourceConfig API operation for AWS Config.
 10340  //
 10341  // Accepts a structured query language (SQL) SELECT command, performs the corresponding
 10342  // search, and returns resource configurations matching the properties.
 10343  //
 10344  // For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
 10345  // section in the Config Developer Guide.
 10346  //
 10347  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10348  // with awserr.Error's Code and Message methods to get detailed information about
 10349  // the error.
 10350  //
 10351  // See the AWS API reference guide for AWS Config's
 10352  // API operation SelectResourceConfig for usage and error information.
 10353  //
 10354  // Returned Error Types:
 10355  //   * InvalidExpressionException
 10356  //   The syntax of the query is incorrect.
 10357  //
 10358  //   * InvalidLimitException
 10359  //   The specified limit is outside the allowable range.
 10360  //
 10361  //   * InvalidNextTokenException
 10362  //   The specified next token is invalid. Specify the nextToken string that was
 10363  //   returned in the previous response to get the next page of results.
 10364  //
 10365  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
 10366  func (c *ConfigService) SelectResourceConfig(input *SelectResourceConfigInput) (*SelectResourceConfigOutput, error) {
 10367  	req, out := c.SelectResourceConfigRequest(input)
 10368  	return out, req.Send()
 10369  }
 10370  
 10371  // SelectResourceConfigWithContext is the same as SelectResourceConfig with the addition of
 10372  // the ability to pass a context and additional request options.
 10373  //
 10374  // See SelectResourceConfig for details on how to use this API operation.
 10375  //
 10376  // The context must be non-nil and will be used for request cancellation. If
 10377  // the context is nil a panic will occur. In the future the SDK may create
 10378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10379  // for more information on using Contexts.
 10380  func (c *ConfigService) SelectResourceConfigWithContext(ctx aws.Context, input *SelectResourceConfigInput, opts ...request.Option) (*SelectResourceConfigOutput, error) {
 10381  	req, out := c.SelectResourceConfigRequest(input)
 10382  	req.SetContext(ctx)
 10383  	req.ApplyOptions(opts...)
 10384  	return out, req.Send()
 10385  }
 10386  
 10387  // SelectResourceConfigPages iterates over the pages of a SelectResourceConfig operation,
 10388  // calling the "fn" function with the response data for each page. To stop
 10389  // iterating, return false from the fn function.
 10390  //
 10391  // See SelectResourceConfig method for more information on how to use this operation.
 10392  //
 10393  // Note: This operation can generate multiple requests to a service.
 10394  //
 10395  //    // Example iterating over at most 3 pages of a SelectResourceConfig operation.
 10396  //    pageNum := 0
 10397  //    err := client.SelectResourceConfigPages(params,
 10398  //        func(page *configservice.SelectResourceConfigOutput, lastPage bool) bool {
 10399  //            pageNum++
 10400  //            fmt.Println(page)
 10401  //            return pageNum <= 3
 10402  //        })
 10403  //
 10404  func (c *ConfigService) SelectResourceConfigPages(input *SelectResourceConfigInput, fn func(*SelectResourceConfigOutput, bool) bool) error {
 10405  	return c.SelectResourceConfigPagesWithContext(aws.BackgroundContext(), input, fn)
 10406  }
 10407  
 10408  // SelectResourceConfigPagesWithContext same as SelectResourceConfigPages except
 10409  // it takes a Context and allows setting request options on the pages.
 10410  //
 10411  // The context must be non-nil and will be used for request cancellation. If
 10412  // the context is nil a panic will occur. In the future the SDK may create
 10413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10414  // for more information on using Contexts.
 10415  func (c *ConfigService) SelectResourceConfigPagesWithContext(ctx aws.Context, input *SelectResourceConfigInput, fn func(*SelectResourceConfigOutput, bool) bool, opts ...request.Option) error {
 10416  	p := request.Pagination{
 10417  		NewRequest: func() (*request.Request, error) {
 10418  			var inCpy *SelectResourceConfigInput
 10419  			if input != nil {
 10420  				tmp := *input
 10421  				inCpy = &tmp
 10422  			}
 10423  			req, _ := c.SelectResourceConfigRequest(inCpy)
 10424  			req.SetContext(ctx)
 10425  			req.ApplyOptions(opts...)
 10426  			return req, nil
 10427  		},
 10428  	}
 10429  
 10430  	for p.Next() {
 10431  		if !fn(p.Page().(*SelectResourceConfigOutput), !p.HasNextPage()) {
 10432  			break
 10433  		}
 10434  	}
 10435  
 10436  	return p.Err()
 10437  }
 10438  
 10439  const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
 10440  
 10441  // StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
 10442  // client's request for the StartConfigRulesEvaluation operation. The "output" return
 10443  // value will be populated with the request's response once the request completes
 10444  // successfully.
 10445  //
 10446  // Use "Send" method on the returned Request to send the API call to the service.
 10447  // the "output" return value is not valid until after Send returns without error.
 10448  //
 10449  // See StartConfigRulesEvaluation for more information on using the StartConfigRulesEvaluation
 10450  // API call, and error handling.
 10451  //
 10452  // This method is useful when you want to inject custom logic or configuration
 10453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10454  //
 10455  //
 10456  //    // Example sending a request using the StartConfigRulesEvaluationRequest method.
 10457  //    req, resp := client.StartConfigRulesEvaluationRequest(params)
 10458  //
 10459  //    err := req.Send()
 10460  //    if err == nil { // resp is now filled
 10461  //        fmt.Println(resp)
 10462  //    }
 10463  //
 10464  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
 10465  func (c *ConfigService) StartConfigRulesEvaluationRequest(input *StartConfigRulesEvaluationInput) (req *request.Request, output *StartConfigRulesEvaluationOutput) {
 10466  	op := &request.Operation{
 10467  		Name:       opStartConfigRulesEvaluation,
 10468  		HTTPMethod: "POST",
 10469  		HTTPPath:   "/",
 10470  	}
 10471  
 10472  	if input == nil {
 10473  		input = &StartConfigRulesEvaluationInput{}
 10474  	}
 10475  
 10476  	output = &StartConfigRulesEvaluationOutput{}
 10477  	req = c.newRequest(op, input, output)
 10478  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10479  	return
 10480  }
 10481  
 10482  // StartConfigRulesEvaluation API operation for AWS Config.
 10483  //
 10484  // Runs an on-demand evaluation for the specified Config rules against the last
 10485  // known configuration state of the resources. Use StartConfigRulesEvaluation
 10486  // when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation
 10487  // does not re-record the latest configuration state for your resources. It
 10488  // re-runs an evaluation against the last known state of your resources.
 10489  //
 10490  // You can specify up to 25 Config rules per request.
 10491  //
 10492  // An existing StartConfigRulesEvaluation call for the specified rules must
 10493  // complete before you can call the API again. If you chose to have Config stream
 10494  // to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification
 10495  // when the evaluation starts.
 10496  //
 10497  // You don't need to call the StartConfigRulesEvaluation API to run an evaluation
 10498  // for a new rule. When you create a rule, Config evaluates your resources against
 10499  // the rule automatically.
 10500  //
 10501  // The StartConfigRulesEvaluation API is useful if you want to run on-demand
 10502  // evaluations, such as the following example:
 10503  //
 10504  // You have a custom rule that evaluates your IAM resources every 24 hours.
 10505  //
 10506  // You update your Lambda function to add additional conditions to your rule.
 10507  //
 10508  // Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation
 10509  // API.
 10510  //
 10511  // Config invokes your Lambda function and evaluates your IAM resources.
 10512  //
 10513  // Your custom rule will still run periodic evaluations every 24 hours.
 10514  //
 10515  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10516  // with awserr.Error's Code and Message methods to get detailed information about
 10517  // the error.
 10518  //
 10519  // See the AWS API reference guide for AWS Config's
 10520  // API operation StartConfigRulesEvaluation for usage and error information.
 10521  //
 10522  // Returned Error Types:
 10523  //   * NoSuchConfigRuleException
 10524  //   One or more Config rules in the request are invalid. Verify that the rule
 10525  //   names are correct and try again.
 10526  //
 10527  //   * LimitExceededException
 10528  //   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
 10529  //   is in progress or if you call the StartConfigRulesEvaluation API more than
 10530  //   once per minute.
 10531  //
 10532  //   For PutConfigurationAggregator API, this exception is thrown if the number
 10533  //   of accounts and aggregators exceeds the limit.
 10534  //
 10535  //   * ResourceInUseException
 10536  //   You see this exception in the following cases:
 10537  //
 10538  //      * For DeleteConfigRule, Config is deleting this rule. Try your request
 10539  //      again later.
 10540  //
 10541  //      * For DeleteConfigRule, the rule is deleting your evaluation results.
 10542  //      Try your request again later.
 10543  //
 10544  //      * For DeleteConfigRule, a remediation action is associated with the rule
 10545  //      and Config cannot delete this rule. Delete the remediation action associated
 10546  //      with the rule before deleting the rule and try your request again later.
 10547  //
 10548  //      * For PutConfigOrganizationRule, organization config rule deletion is
 10549  //      in progress. Try your request again later.
 10550  //
 10551  //      * For DeleteOrganizationConfigRule, organization config rule creation
 10552  //      is in progress. Try your request again later.
 10553  //
 10554  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
 10555  //      pack creation, update, and deletion is in progress. Try your request again
 10556  //      later.
 10557  //
 10558  //      * For DeleteConformancePack, a conformance pack creation, update, and
 10559  //      deletion is in progress. Try your request again later.
 10560  //
 10561  //   * InvalidParameterValueException
 10562  //   One or more of the specified parameters are invalid. Verify that your parameters
 10563  //   are valid and try again.
 10564  //
 10565  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
 10566  func (c *ConfigService) StartConfigRulesEvaluation(input *StartConfigRulesEvaluationInput) (*StartConfigRulesEvaluationOutput, error) {
 10567  	req, out := c.StartConfigRulesEvaluationRequest(input)
 10568  	return out, req.Send()
 10569  }
 10570  
 10571  // StartConfigRulesEvaluationWithContext is the same as StartConfigRulesEvaluation with the addition of
 10572  // the ability to pass a context and additional request options.
 10573  //
 10574  // See StartConfigRulesEvaluation for details on how to use this API operation.
 10575  //
 10576  // The context must be non-nil and will be used for request cancellation. If
 10577  // the context is nil a panic will occur. In the future the SDK may create
 10578  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10579  // for more information on using Contexts.
 10580  func (c *ConfigService) StartConfigRulesEvaluationWithContext(ctx aws.Context, input *StartConfigRulesEvaluationInput, opts ...request.Option) (*StartConfigRulesEvaluationOutput, error) {
 10581  	req, out := c.StartConfigRulesEvaluationRequest(input)
 10582  	req.SetContext(ctx)
 10583  	req.ApplyOptions(opts...)
 10584  	return out, req.Send()
 10585  }
 10586  
 10587  const opStartConfigurationRecorder = "StartConfigurationRecorder"
 10588  
 10589  // StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
 10590  // client's request for the StartConfigurationRecorder operation. The "output" return
 10591  // value will be populated with the request's response once the request completes
 10592  // successfully.
 10593  //
 10594  // Use "Send" method on the returned Request to send the API call to the service.
 10595  // the "output" return value is not valid until after Send returns without error.
 10596  //
 10597  // See StartConfigurationRecorder for more information on using the StartConfigurationRecorder
 10598  // API call, and error handling.
 10599  //
 10600  // This method is useful when you want to inject custom logic or configuration
 10601  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10602  //
 10603  //
 10604  //    // Example sending a request using the StartConfigurationRecorderRequest method.
 10605  //    req, resp := client.StartConfigurationRecorderRequest(params)
 10606  //
 10607  //    err := req.Send()
 10608  //    if err == nil { // resp is now filled
 10609  //        fmt.Println(resp)
 10610  //    }
 10611  //
 10612  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
 10613  func (c *ConfigService) StartConfigurationRecorderRequest(input *StartConfigurationRecorderInput) (req *request.Request, output *StartConfigurationRecorderOutput) {
 10614  	op := &request.Operation{
 10615  		Name:       opStartConfigurationRecorder,
 10616  		HTTPMethod: "POST",
 10617  		HTTPPath:   "/",
 10618  	}
 10619  
 10620  	if input == nil {
 10621  		input = &StartConfigurationRecorderInput{}
 10622  	}
 10623  
 10624  	output = &StartConfigurationRecorderOutput{}
 10625  	req = c.newRequest(op, input, output)
 10626  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10627  	return
 10628  }
 10629  
 10630  // StartConfigurationRecorder API operation for AWS Config.
 10631  //
 10632  // Starts recording configurations of the Amazon Web Services resources you
 10633  // have selected to record in your Amazon Web Services account.
 10634  //
 10635  // You must have created at least one delivery channel to successfully start
 10636  // the configuration recorder.
 10637  //
 10638  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10639  // with awserr.Error's Code and Message methods to get detailed information about
 10640  // the error.
 10641  //
 10642  // See the AWS API reference guide for AWS Config's
 10643  // API operation StartConfigurationRecorder for usage and error information.
 10644  //
 10645  // Returned Error Types:
 10646  //   * NoSuchConfigurationRecorderException
 10647  //   You have specified a configuration recorder that does not exist.
 10648  //
 10649  //   * NoAvailableDeliveryChannelException
 10650  //   There is no delivery channel available to record configurations.
 10651  //
 10652  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
 10653  func (c *ConfigService) StartConfigurationRecorder(input *StartConfigurationRecorderInput) (*StartConfigurationRecorderOutput, error) {
 10654  	req, out := c.StartConfigurationRecorderRequest(input)
 10655  	return out, req.Send()
 10656  }
 10657  
 10658  // StartConfigurationRecorderWithContext is the same as StartConfigurationRecorder with the addition of
 10659  // the ability to pass a context and additional request options.
 10660  //
 10661  // See StartConfigurationRecorder for details on how to use this API operation.
 10662  //
 10663  // The context must be non-nil and will be used for request cancellation. If
 10664  // the context is nil a panic will occur. In the future the SDK may create
 10665  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10666  // for more information on using Contexts.
 10667  func (c *ConfigService) StartConfigurationRecorderWithContext(ctx aws.Context, input *StartConfigurationRecorderInput, opts ...request.Option) (*StartConfigurationRecorderOutput, error) {
 10668  	req, out := c.StartConfigurationRecorderRequest(input)
 10669  	req.SetContext(ctx)
 10670  	req.ApplyOptions(opts...)
 10671  	return out, req.Send()
 10672  }
 10673  
 10674  const opStartRemediationExecution = "StartRemediationExecution"
 10675  
 10676  // StartRemediationExecutionRequest generates a "aws/request.Request" representing the
 10677  // client's request for the StartRemediationExecution operation. The "output" return
 10678  // value will be populated with the request's response once the request completes
 10679  // successfully.
 10680  //
 10681  // Use "Send" method on the returned Request to send the API call to the service.
 10682  // the "output" return value is not valid until after Send returns without error.
 10683  //
 10684  // See StartRemediationExecution for more information on using the StartRemediationExecution
 10685  // API call, and error handling.
 10686  //
 10687  // This method is useful when you want to inject custom logic or configuration
 10688  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10689  //
 10690  //
 10691  //    // Example sending a request using the StartRemediationExecutionRequest method.
 10692  //    req, resp := client.StartRemediationExecutionRequest(params)
 10693  //
 10694  //    err := req.Send()
 10695  //    if err == nil { // resp is now filled
 10696  //        fmt.Println(resp)
 10697  //    }
 10698  //
 10699  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
 10700  func (c *ConfigService) StartRemediationExecutionRequest(input *StartRemediationExecutionInput) (req *request.Request, output *StartRemediationExecutionOutput) {
 10701  	op := &request.Operation{
 10702  		Name:       opStartRemediationExecution,
 10703  		HTTPMethod: "POST",
 10704  		HTTPPath:   "/",
 10705  	}
 10706  
 10707  	if input == nil {
 10708  		input = &StartRemediationExecutionInput{}
 10709  	}
 10710  
 10711  	output = &StartRemediationExecutionOutput{}
 10712  	req = c.newRequest(op, input, output)
 10713  	return
 10714  }
 10715  
 10716  // StartRemediationExecution API operation for AWS Config.
 10717  //
 10718  // Runs an on-demand remediation for the specified Config rules against the
 10719  // last known remediation configuration. It runs an execution against the current
 10720  // state of your resources. Remediation execution is asynchronous.
 10721  //
 10722  // You can specify up to 100 resource keys per request. An existing StartRemediationExecution
 10723  // call for the specified resource keys must complete before you can call the
 10724  // API again.
 10725  //
 10726  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10727  // with awserr.Error's Code and Message methods to get detailed information about
 10728  // the error.
 10729  //
 10730  // See the AWS API reference guide for AWS Config's
 10731  // API operation StartRemediationExecution for usage and error information.
 10732  //
 10733  // Returned Error Types:
 10734  //   * InvalidParameterValueException
 10735  //   One or more of the specified parameters are invalid. Verify that your parameters
 10736  //   are valid and try again.
 10737  //
 10738  //   * InsufficientPermissionsException
 10739  //   Indicates one of the following errors:
 10740  //
 10741  //      * For PutConfigRule, the rule cannot be created because the IAM role assigned
 10742  //      to Config lacks permissions to perform the config:Put* action.
 10743  //
 10744  //      * For PutConfigRule, the Lambda function cannot be invoked. Check the
 10745  //      function ARN, and check the function's permissions.
 10746  //
 10747  //      * For PutOrganizationConfigRule, organization config rule cannot be created
 10748  //      because you do not have permissions to call IAM GetRole action or create
 10749  //      a service linked role.
 10750  //
 10751  //      * For PutConformancePack and PutOrganizationConformancePack, a conformance
 10752  //      pack cannot be created because you do not have permissions: To call IAM
 10753  //      GetRole action or create a service linked role. To read Amazon S3 bucket.
 10754  //
 10755  //   * NoSuchRemediationConfigurationException
 10756  //   You specified an Config rule without a remediation configuration.
 10757  //
 10758  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
 10759  func (c *ConfigService) StartRemediationExecution(input *StartRemediationExecutionInput) (*StartRemediationExecutionOutput, error) {
 10760  	req, out := c.StartRemediationExecutionRequest(input)
 10761  	return out, req.Send()
 10762  }
 10763  
 10764  // StartRemediationExecutionWithContext is the same as StartRemediationExecution with the addition of
 10765  // the ability to pass a context and additional request options.
 10766  //
 10767  // See StartRemediationExecution for details on how to use this API operation.
 10768  //
 10769  // The context must be non-nil and will be used for request cancellation. If
 10770  // the context is nil a panic will occur. In the future the SDK may create
 10771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10772  // for more information on using Contexts.
 10773  func (c *ConfigService) StartRemediationExecutionWithContext(ctx aws.Context, input *StartRemediationExecutionInput, opts ...request.Option) (*StartRemediationExecutionOutput, error) {
 10774  	req, out := c.StartRemediationExecutionRequest(input)
 10775  	req.SetContext(ctx)
 10776  	req.ApplyOptions(opts...)
 10777  	return out, req.Send()
 10778  }
 10779  
 10780  const opStopConfigurationRecorder = "StopConfigurationRecorder"
 10781  
 10782  // StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
 10783  // client's request for the StopConfigurationRecorder operation. The "output" return
 10784  // value will be populated with the request's response once the request completes
 10785  // successfully.
 10786  //
 10787  // Use "Send" method on the returned Request to send the API call to the service.
 10788  // the "output" return value is not valid until after Send returns without error.
 10789  //
 10790  // See StopConfigurationRecorder for more information on using the StopConfigurationRecorder
 10791  // API call, and error handling.
 10792  //
 10793  // This method is useful when you want to inject custom logic or configuration
 10794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10795  //
 10796  //
 10797  //    // Example sending a request using the StopConfigurationRecorderRequest method.
 10798  //    req, resp := client.StopConfigurationRecorderRequest(params)
 10799  //
 10800  //    err := req.Send()
 10801  //    if err == nil { // resp is now filled
 10802  //        fmt.Println(resp)
 10803  //    }
 10804  //
 10805  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
 10806  func (c *ConfigService) StopConfigurationRecorderRequest(input *StopConfigurationRecorderInput) (req *request.Request, output *StopConfigurationRecorderOutput) {
 10807  	op := &request.Operation{
 10808  		Name:       opStopConfigurationRecorder,
 10809  		HTTPMethod: "POST",
 10810  		HTTPPath:   "/",
 10811  	}
 10812  
 10813  	if input == nil {
 10814  		input = &StopConfigurationRecorderInput{}
 10815  	}
 10816  
 10817  	output = &StopConfigurationRecorderOutput{}
 10818  	req = c.newRequest(op, input, output)
 10819  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10820  	return
 10821  }
 10822  
 10823  // StopConfigurationRecorder API operation for AWS Config.
 10824  //
 10825  // Stops recording configurations of the Amazon Web Services resources you have
 10826  // selected to record in your Amazon Web Services account.
 10827  //
 10828  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10829  // with awserr.Error's Code and Message methods to get detailed information about
 10830  // the error.
 10831  //
 10832  // See the AWS API reference guide for AWS Config's
 10833  // API operation StopConfigurationRecorder for usage and error information.
 10834  //
 10835  // Returned Error Types:
 10836  //   * NoSuchConfigurationRecorderException
 10837  //   You have specified a configuration recorder that does not exist.
 10838  //
 10839  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
 10840  func (c *ConfigService) StopConfigurationRecorder(input *StopConfigurationRecorderInput) (*StopConfigurationRecorderOutput, error) {
 10841  	req, out := c.StopConfigurationRecorderRequest(input)
 10842  	return out, req.Send()
 10843  }
 10844  
 10845  // StopConfigurationRecorderWithContext is the same as StopConfigurationRecorder with the addition of
 10846  // the ability to pass a context and additional request options.
 10847  //
 10848  // See StopConfigurationRecorder for details on how to use this API operation.
 10849  //
 10850  // The context must be non-nil and will be used for request cancellation. If
 10851  // the context is nil a panic will occur. In the future the SDK may create
 10852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10853  // for more information on using Contexts.
 10854  func (c *ConfigService) StopConfigurationRecorderWithContext(ctx aws.Context, input *StopConfigurationRecorderInput, opts ...request.Option) (*StopConfigurationRecorderOutput, error) {
 10855  	req, out := c.StopConfigurationRecorderRequest(input)
 10856  	req.SetContext(ctx)
 10857  	req.ApplyOptions(opts...)
 10858  	return out, req.Send()
 10859  }
 10860  
 10861  const opTagResource = "TagResource"
 10862  
 10863  // TagResourceRequest generates a "aws/request.Request" representing the
 10864  // client's request for the TagResource operation. The "output" return
 10865  // value will be populated with the request's response once the request completes
 10866  // successfully.
 10867  //
 10868  // Use "Send" method on the returned Request to send the API call to the service.
 10869  // the "output" return value is not valid until after Send returns without error.
 10870  //
 10871  // See TagResource for more information on using the TagResource
 10872  // API call, and error handling.
 10873  //
 10874  // This method is useful when you want to inject custom logic or configuration
 10875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10876  //
 10877  //
 10878  //    // Example sending a request using the TagResourceRequest method.
 10879  //    req, resp := client.TagResourceRequest(params)
 10880  //
 10881  //    err := req.Send()
 10882  //    if err == nil { // resp is now filled
 10883  //        fmt.Println(resp)
 10884  //    }
 10885  //
 10886  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
 10887  func (c *ConfigService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
 10888  	op := &request.Operation{
 10889  		Name:       opTagResource,
 10890  		HTTPMethod: "POST",
 10891  		HTTPPath:   "/",
 10892  	}
 10893  
 10894  	if input == nil {
 10895  		input = &TagResourceInput{}
 10896  	}
 10897  
 10898  	output = &TagResourceOutput{}
 10899  	req = c.newRequest(op, input, output)
 10900  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10901  	return
 10902  }
 10903  
 10904  // TagResource API operation for AWS Config.
 10905  //
 10906  // Associates the specified tags to a resource with the specified resourceArn.
 10907  // If existing tags on a resource are not specified in the request parameters,
 10908  // they are not changed. When a resource is deleted, the tags associated with
 10909  // that resource are deleted as well.
 10910  //
 10911  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10912  // with awserr.Error's Code and Message methods to get detailed information about
 10913  // the error.
 10914  //
 10915  // See the AWS API reference guide for AWS Config's
 10916  // API operation TagResource for usage and error information.
 10917  //
 10918  // Returned Error Types:
 10919  //   * ValidationException
 10920  //   The requested action is not valid.
 10921  //
 10922  //   For PutStoredQuery, you will see this exception if there are missing required
 10923  //   fields or if the input value fails the validation, or if you are trying to
 10924  //   create more than 300 queries.
 10925  //
 10926  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
 10927  //   exception if there are missing required fields or if the input value fails
 10928  //   the validation.
 10929  //
 10930  //   * ResourceNotFoundException
 10931  //   You have specified a resource that does not exist.
 10932  //
 10933  //   * TooManyTagsException
 10934  //   You have reached the limit of the number of tags you can use. You have more
 10935  //   than 50 tags.
 10936  //
 10937  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
 10938  func (c *ConfigService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
 10939  	req, out := c.TagResourceRequest(input)
 10940  	return out, req.Send()
 10941  }
 10942  
 10943  // TagResourceWithContext is the same as TagResource with the addition of
 10944  // the ability to pass a context and additional request options.
 10945  //
 10946  // See TagResource for details on how to use this API operation.
 10947  //
 10948  // The context must be non-nil and will be used for request cancellation. If
 10949  // the context is nil a panic will occur. In the future the SDK may create
 10950  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10951  // for more information on using Contexts.
 10952  func (c *ConfigService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
 10953  	req, out := c.TagResourceRequest(input)
 10954  	req.SetContext(ctx)
 10955  	req.ApplyOptions(opts...)
 10956  	return out, req.Send()
 10957  }
 10958  
 10959  const opUntagResource = "UntagResource"
 10960  
 10961  // UntagResourceRequest generates a "aws/request.Request" representing the
 10962  // client's request for the UntagResource operation. The "output" return
 10963  // value will be populated with the request's response once the request completes
 10964  // successfully.
 10965  //
 10966  // Use "Send" method on the returned Request to send the API call to the service.
 10967  // the "output" return value is not valid until after Send returns without error.
 10968  //
 10969  // See UntagResource for more information on using the UntagResource
 10970  // API call, and error handling.
 10971  //
 10972  // This method is useful when you want to inject custom logic or configuration
 10973  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10974  //
 10975  //
 10976  //    // Example sending a request using the UntagResourceRequest method.
 10977  //    req, resp := client.UntagResourceRequest(params)
 10978  //
 10979  //    err := req.Send()
 10980  //    if err == nil { // resp is now filled
 10981  //        fmt.Println(resp)
 10982  //    }
 10983  //
 10984  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
 10985  func (c *ConfigService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
 10986  	op := &request.Operation{
 10987  		Name:       opUntagResource,
 10988  		HTTPMethod: "POST",
 10989  		HTTPPath:   "/",
 10990  	}
 10991  
 10992  	if input == nil {
 10993  		input = &UntagResourceInput{}
 10994  	}
 10995  
 10996  	output = &UntagResourceOutput{}
 10997  	req = c.newRequest(op, input, output)
 10998  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10999  	return
 11000  }
 11001  
 11002  // UntagResource API operation for AWS Config.
 11003  //
 11004  // Deletes specified tags from a resource.
 11005  //
 11006  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11007  // with awserr.Error's Code and Message methods to get detailed information about
 11008  // the error.
 11009  //
 11010  // See the AWS API reference guide for AWS Config's
 11011  // API operation UntagResource for usage and error information.
 11012  //
 11013  // Returned Error Types:
 11014  //   * ValidationException
 11015  //   The requested action is not valid.
 11016  //
 11017  //   For PutStoredQuery, you will see this exception if there are missing required
 11018  //   fields or if the input value fails the validation, or if you are trying to
 11019  //   create more than 300 queries.
 11020  //
 11021  //   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
 11022  //   exception if there are missing required fields or if the input value fails
 11023  //   the validation.
 11024  //
 11025  //   * ResourceNotFoundException
 11026  //   You have specified a resource that does not exist.
 11027  //
 11028  // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
 11029  func (c *ConfigService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
 11030  	req, out := c.UntagResourceRequest(input)
 11031  	return out, req.Send()
 11032  }
 11033  
 11034  // UntagResourceWithContext is the same as UntagResource with the addition of
 11035  // the ability to pass a context and additional request options.
 11036  //
 11037  // See UntagResource for details on how to use this API operation.
 11038  //
 11039  // The context must be non-nil and will be used for request cancellation. If
 11040  // the context is nil a panic will occur. In the future the SDK may create
 11041  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11042  // for more information on using Contexts.
 11043  func (c *ConfigService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
 11044  	req, out := c.UntagResourceRequest(input)
 11045  	req.SetContext(ctx)
 11046  	req.ApplyOptions(opts...)
 11047  	return out, req.Send()
 11048  }
 11049  
 11050  // A collection of accounts and regions.
 11051  type AccountAggregationSource struct {
 11052  	_ struct{} `type:"structure"`
 11053  
 11054  	// The 12-digit account ID of the account being aggregated.
 11055  	//
 11056  	// AccountIds is a required field
 11057  	AccountIds []*string `min:"1" type:"list" required:"true"`
 11058  
 11059  	// If true, aggregate existing Config regions and future regions.
 11060  	AllAwsRegions *bool `type:"boolean"`
 11061  
 11062  	// The source regions being aggregated.
 11063  	AwsRegions []*string `min:"1" type:"list"`
 11064  }
 11065  
 11066  // String returns the string representation.
 11067  //
 11068  // API parameter values that are decorated as "sensitive" in the API will not
 11069  // be included in the string output. The member name will be present, but the
 11070  // value will be replaced with "sensitive".
 11071  func (s AccountAggregationSource) String() string {
 11072  	return awsutil.Prettify(s)
 11073  }
 11074  
 11075  // GoString returns the string representation.
 11076  //
 11077  // API parameter values that are decorated as "sensitive" in the API will not
 11078  // be included in the string output. The member name will be present, but the
 11079  // value will be replaced with "sensitive".
 11080  func (s AccountAggregationSource) GoString() string {
 11081  	return s.String()
 11082  }
 11083  
 11084  // Validate inspects the fields of the type to determine if they are valid.
 11085  func (s *AccountAggregationSource) Validate() error {
 11086  	invalidParams := request.ErrInvalidParams{Context: "AccountAggregationSource"}
 11087  	if s.AccountIds == nil {
 11088  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 11089  	}
 11090  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 11091  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 11092  	}
 11093  	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
 11094  		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
 11095  	}
 11096  
 11097  	if invalidParams.Len() > 0 {
 11098  		return invalidParams
 11099  	}
 11100  	return nil
 11101  }
 11102  
 11103  // SetAccountIds sets the AccountIds field's value.
 11104  func (s *AccountAggregationSource) SetAccountIds(v []*string) *AccountAggregationSource {
 11105  	s.AccountIds = v
 11106  	return s
 11107  }
 11108  
 11109  // SetAllAwsRegions sets the AllAwsRegions field's value.
 11110  func (s *AccountAggregationSource) SetAllAwsRegions(v bool) *AccountAggregationSource {
 11111  	s.AllAwsRegions = &v
 11112  	return s
 11113  }
 11114  
 11115  // SetAwsRegions sets the AwsRegions field's value.
 11116  func (s *AccountAggregationSource) SetAwsRegions(v []*string) *AccountAggregationSource {
 11117  	s.AwsRegions = v
 11118  	return s
 11119  }
 11120  
 11121  // Indicates whether an Config rule is compliant based on account ID, region,
 11122  // compliance, and rule name.
 11123  //
 11124  // A rule is compliant if all of the resources that the rule evaluated comply
 11125  // with it. It is noncompliant if any of these resources do not comply.
 11126  type AggregateComplianceByConfigRule struct {
 11127  	_ struct{} `type:"structure"`
 11128  
 11129  	// The 12-digit account ID of the source account.
 11130  	AccountId *string `type:"string"`
 11131  
 11132  	// The source region from where the data is aggregated.
 11133  	AwsRegion *string `min:"1" type:"string"`
 11134  
 11135  	// Indicates whether an Amazon Web Services resource or Config rule is compliant
 11136  	// and provides the number of contributors that affect the compliance.
 11137  	Compliance *Compliance `type:"structure"`
 11138  
 11139  	// The name of the Config rule.
 11140  	ConfigRuleName *string `min:"1" type:"string"`
 11141  }
 11142  
 11143  // String returns the string representation.
 11144  //
 11145  // API parameter values that are decorated as "sensitive" in the API will not
 11146  // be included in the string output. The member name will be present, but the
 11147  // value will be replaced with "sensitive".
 11148  func (s AggregateComplianceByConfigRule) String() string {
 11149  	return awsutil.Prettify(s)
 11150  }
 11151  
 11152  // GoString returns the string representation.
 11153  //
 11154  // API parameter values that are decorated as "sensitive" in the API will not
 11155  // be included in the string output. The member name will be present, but the
 11156  // value will be replaced with "sensitive".
 11157  func (s AggregateComplianceByConfigRule) GoString() string {
 11158  	return s.String()
 11159  }
 11160  
 11161  // SetAccountId sets the AccountId field's value.
 11162  func (s *AggregateComplianceByConfigRule) SetAccountId(v string) *AggregateComplianceByConfigRule {
 11163  	s.AccountId = &v
 11164  	return s
 11165  }
 11166  
 11167  // SetAwsRegion sets the AwsRegion field's value.
 11168  func (s *AggregateComplianceByConfigRule) SetAwsRegion(v string) *AggregateComplianceByConfigRule {
 11169  	s.AwsRegion = &v
 11170  	return s
 11171  }
 11172  
 11173  // SetCompliance sets the Compliance field's value.
 11174  func (s *AggregateComplianceByConfigRule) SetCompliance(v *Compliance) *AggregateComplianceByConfigRule {
 11175  	s.Compliance = v
 11176  	return s
 11177  }
 11178  
 11179  // SetConfigRuleName sets the ConfigRuleName field's value.
 11180  func (s *AggregateComplianceByConfigRule) SetConfigRuleName(v string) *AggregateComplianceByConfigRule {
 11181  	s.ConfigRuleName = &v
 11182  	return s
 11183  }
 11184  
 11185  // Provides aggregate compliance of the conformance pack. Indicates whether
 11186  // a conformance pack is compliant based on the name of the conformance pack,
 11187  // account ID, and region.
 11188  //
 11189  // A conformance pack is compliant if all of the rules in a conformance packs
 11190  // are compliant. It is noncompliant if any of the rules are not compliant.
 11191  // The compliance status of a conformance pack is INSUFFICIENT_DATA only if
 11192  // all rules within a conformance pack cannot be evaluated due to insufficient
 11193  // data. If some of the rules in a conformance pack are compliant but the compliance
 11194  // status of other rules in that same conformance pack is INSUFFICIENT_DATA,
 11195  // the conformance pack shows compliant.
 11196  type AggregateComplianceByConformancePack struct {
 11197  	_ struct{} `type:"structure"`
 11198  
 11199  	// The 12-digit Amazon Web Services account ID of the source account.
 11200  	AccountId *string `type:"string"`
 11201  
 11202  	// The source Amazon Web Services Region from where the data is aggregated.
 11203  	AwsRegion *string `min:"1" type:"string"`
 11204  
 11205  	// The compliance status of the conformance pack.
 11206  	Compliance *AggregateConformancePackCompliance `type:"structure"`
 11207  
 11208  	// The name of the conformance pack.
 11209  	ConformancePackName *string `min:"1" type:"string"`
 11210  }
 11211  
 11212  // String returns the string representation.
 11213  //
 11214  // API parameter values that are decorated as "sensitive" in the API will not
 11215  // be included in the string output. The member name will be present, but the
 11216  // value will be replaced with "sensitive".
 11217  func (s AggregateComplianceByConformancePack) String() string {
 11218  	return awsutil.Prettify(s)
 11219  }
 11220  
 11221  // GoString returns the string representation.
 11222  //
 11223  // API parameter values that are decorated as "sensitive" in the API will not
 11224  // be included in the string output. The member name will be present, but the
 11225  // value will be replaced with "sensitive".
 11226  func (s AggregateComplianceByConformancePack) GoString() string {
 11227  	return s.String()
 11228  }
 11229  
 11230  // SetAccountId sets the AccountId field's value.
 11231  func (s *AggregateComplianceByConformancePack) SetAccountId(v string) *AggregateComplianceByConformancePack {
 11232  	s.AccountId = &v
 11233  	return s
 11234  }
 11235  
 11236  // SetAwsRegion sets the AwsRegion field's value.
 11237  func (s *AggregateComplianceByConformancePack) SetAwsRegion(v string) *AggregateComplianceByConformancePack {
 11238  	s.AwsRegion = &v
 11239  	return s
 11240  }
 11241  
 11242  // SetCompliance sets the Compliance field's value.
 11243  func (s *AggregateComplianceByConformancePack) SetCompliance(v *AggregateConformancePackCompliance) *AggregateComplianceByConformancePack {
 11244  	s.Compliance = v
 11245  	return s
 11246  }
 11247  
 11248  // SetConformancePackName sets the ConformancePackName field's value.
 11249  func (s *AggregateComplianceByConformancePack) SetConformancePackName(v string) *AggregateComplianceByConformancePack {
 11250  	s.ConformancePackName = &v
 11251  	return s
 11252  }
 11253  
 11254  // Returns the number of compliant and noncompliant rules for one or more accounts
 11255  // and regions in an aggregator.
 11256  type AggregateComplianceCount struct {
 11257  	_ struct{} `type:"structure"`
 11258  
 11259  	// The number of compliant and noncompliant Config rules.
 11260  	ComplianceSummary *ComplianceSummary `type:"structure"`
 11261  
 11262  	// The 12-digit account ID or region based on the GroupByKey value.
 11263  	GroupName *string `min:"1" type:"string"`
 11264  }
 11265  
 11266  // String returns the string representation.
 11267  //
 11268  // API parameter values that are decorated as "sensitive" in the API will not
 11269  // be included in the string output. The member name will be present, but the
 11270  // value will be replaced with "sensitive".
 11271  func (s AggregateComplianceCount) String() string {
 11272  	return awsutil.Prettify(s)
 11273  }
 11274  
 11275  // GoString returns the string representation.
 11276  //
 11277  // API parameter values that are decorated as "sensitive" in the API will not
 11278  // be included in the string output. The member name will be present, but the
 11279  // value will be replaced with "sensitive".
 11280  func (s AggregateComplianceCount) GoString() string {
 11281  	return s.String()
 11282  }
 11283  
 11284  // SetComplianceSummary sets the ComplianceSummary field's value.
 11285  func (s *AggregateComplianceCount) SetComplianceSummary(v *ComplianceSummary) *AggregateComplianceCount {
 11286  	s.ComplianceSummary = v
 11287  	return s
 11288  }
 11289  
 11290  // SetGroupName sets the GroupName field's value.
 11291  func (s *AggregateComplianceCount) SetGroupName(v string) *AggregateComplianceCount {
 11292  	s.GroupName = &v
 11293  	return s
 11294  }
 11295  
 11296  // Provides the number of compliant and noncompliant rules within a conformance
 11297  // pack. Also provides the compliance status of the conformance pack and the
 11298  // total rule count which includes compliant rules, noncompliant rules, and
 11299  // rules that cannot be evaluated due to insufficient data.
 11300  //
 11301  // A conformance pack is compliant if all of the rules in a conformance packs
 11302  // are compliant. It is noncompliant if any of the rules are not compliant.
 11303  // The compliance status of a conformance pack is INSUFFICIENT_DATA only if
 11304  // all rules within a conformance pack cannot be evaluated due to insufficient
 11305  // data. If some of the rules in a conformance pack are compliant but the compliance
 11306  // status of other rules in that same conformance pack is INSUFFICIENT_DATA,
 11307  // the conformance pack shows compliant.
 11308  type AggregateConformancePackCompliance struct {
 11309  	_ struct{} `type:"structure"`
 11310  
 11311  	// The compliance status of the conformance pack.
 11312  	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
 11313  
 11314  	// The number of compliant Config Rules.
 11315  	CompliantRuleCount *int64 `type:"integer"`
 11316  
 11317  	// The number of noncompliant Config Rules.
 11318  	NonCompliantRuleCount *int64 `type:"integer"`
 11319  
 11320  	// Total number of compliant rules, noncompliant rules, and the rules that do
 11321  	// not have any applicable resources to evaluate upon resulting in insufficient
 11322  	// data.
 11323  	TotalRuleCount *int64 `type:"integer"`
 11324  }
 11325  
 11326  // String returns the string representation.
 11327  //
 11328  // API parameter values that are decorated as "sensitive" in the API will not
 11329  // be included in the string output. The member name will be present, but the
 11330  // value will be replaced with "sensitive".
 11331  func (s AggregateConformancePackCompliance) String() string {
 11332  	return awsutil.Prettify(s)
 11333  }
 11334  
 11335  // GoString returns the string representation.
 11336  //
 11337  // API parameter values that are decorated as "sensitive" in the API will not
 11338  // be included in the string output. The member name will be present, but the
 11339  // value will be replaced with "sensitive".
 11340  func (s AggregateConformancePackCompliance) GoString() string {
 11341  	return s.String()
 11342  }
 11343  
 11344  // SetComplianceType sets the ComplianceType field's value.
 11345  func (s *AggregateConformancePackCompliance) SetComplianceType(v string) *AggregateConformancePackCompliance {
 11346  	s.ComplianceType = &v
 11347  	return s
 11348  }
 11349  
 11350  // SetCompliantRuleCount sets the CompliantRuleCount field's value.
 11351  func (s *AggregateConformancePackCompliance) SetCompliantRuleCount(v int64) *AggregateConformancePackCompliance {
 11352  	s.CompliantRuleCount = &v
 11353  	return s
 11354  }
 11355  
 11356  // SetNonCompliantRuleCount sets the NonCompliantRuleCount field's value.
 11357  func (s *AggregateConformancePackCompliance) SetNonCompliantRuleCount(v int64) *AggregateConformancePackCompliance {
 11358  	s.NonCompliantRuleCount = &v
 11359  	return s
 11360  }
 11361  
 11362  // SetTotalRuleCount sets the TotalRuleCount field's value.
 11363  func (s *AggregateConformancePackCompliance) SetTotalRuleCount(v int64) *AggregateConformancePackCompliance {
 11364  	s.TotalRuleCount = &v
 11365  	return s
 11366  }
 11367  
 11368  // The number of conformance packs that are compliant and noncompliant.
 11369  type AggregateConformancePackComplianceCount struct {
 11370  	_ struct{} `type:"structure"`
 11371  
 11372  	// Number of compliant conformance packs.
 11373  	CompliantConformancePackCount *int64 `type:"integer"`
 11374  
 11375  	// Number of noncompliant conformance packs.
 11376  	NonCompliantConformancePackCount *int64 `type:"integer"`
 11377  }
 11378  
 11379  // String returns the string representation.
 11380  //
 11381  // API parameter values that are decorated as "sensitive" in the API will not
 11382  // be included in the string output. The member name will be present, but the
 11383  // value will be replaced with "sensitive".
 11384  func (s AggregateConformancePackComplianceCount) String() string {
 11385  	return awsutil.Prettify(s)
 11386  }
 11387  
 11388  // GoString returns the string representation.
 11389  //
 11390  // API parameter values that are decorated as "sensitive" in the API will not
 11391  // be included in the string output. The member name will be present, but the
 11392  // value will be replaced with "sensitive".
 11393  func (s AggregateConformancePackComplianceCount) GoString() string {
 11394  	return s.String()
 11395  }
 11396  
 11397  // SetCompliantConformancePackCount sets the CompliantConformancePackCount field's value.
 11398  func (s *AggregateConformancePackComplianceCount) SetCompliantConformancePackCount(v int64) *AggregateConformancePackComplianceCount {
 11399  	s.CompliantConformancePackCount = &v
 11400  	return s
 11401  }
 11402  
 11403  // SetNonCompliantConformancePackCount sets the NonCompliantConformancePackCount field's value.
 11404  func (s *AggregateConformancePackComplianceCount) SetNonCompliantConformancePackCount(v int64) *AggregateConformancePackComplianceCount {
 11405  	s.NonCompliantConformancePackCount = &v
 11406  	return s
 11407  }
 11408  
 11409  // Filters the conformance packs based on an account ID, region, compliance
 11410  // type, and the name of the conformance pack.
 11411  type AggregateConformancePackComplianceFilters struct {
 11412  	_ struct{} `type:"structure"`
 11413  
 11414  	// The 12-digit Amazon Web Services account ID of the source account.
 11415  	AccountId *string `type:"string"`
 11416  
 11417  	// The source Amazon Web Services Region from where the data is aggregated.
 11418  	AwsRegion *string `min:"1" type:"string"`
 11419  
 11420  	// The compliance status of the conformance pack.
 11421  	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
 11422  
 11423  	// The name of the conformance pack.
 11424  	ConformancePackName *string `min:"1" type:"string"`
 11425  }
 11426  
 11427  // String returns the string representation.
 11428  //
 11429  // API parameter values that are decorated as "sensitive" in the API will not
 11430  // be included in the string output. The member name will be present, but the
 11431  // value will be replaced with "sensitive".
 11432  func (s AggregateConformancePackComplianceFilters) String() string {
 11433  	return awsutil.Prettify(s)
 11434  }
 11435  
 11436  // GoString returns the string representation.
 11437  //
 11438  // API parameter values that are decorated as "sensitive" in the API will not
 11439  // be included in the string output. The member name will be present, but the
 11440  // value will be replaced with "sensitive".
 11441  func (s AggregateConformancePackComplianceFilters) GoString() string {
 11442  	return s.String()
 11443  }
 11444  
 11445  // Validate inspects the fields of the type to determine if they are valid.
 11446  func (s *AggregateConformancePackComplianceFilters) Validate() error {
 11447  	invalidParams := request.ErrInvalidParams{Context: "AggregateConformancePackComplianceFilters"}
 11448  	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
 11449  		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
 11450  	}
 11451  	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
 11452  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
 11453  	}
 11454  
 11455  	if invalidParams.Len() > 0 {
 11456  		return invalidParams
 11457  	}
 11458  	return nil
 11459  }
 11460  
 11461  // SetAccountId sets the AccountId field's value.
 11462  func (s *AggregateConformancePackComplianceFilters) SetAccountId(v string) *AggregateConformancePackComplianceFilters {
 11463  	s.AccountId = &v
 11464  	return s
 11465  }
 11466  
 11467  // SetAwsRegion sets the AwsRegion field's value.
 11468  func (s *AggregateConformancePackComplianceFilters) SetAwsRegion(v string) *AggregateConformancePackComplianceFilters {
 11469  	s.AwsRegion = &v
 11470  	return s
 11471  }
 11472  
 11473  // SetComplianceType sets the ComplianceType field's value.
 11474  func (s *AggregateConformancePackComplianceFilters) SetComplianceType(v string) *AggregateConformancePackComplianceFilters {
 11475  	s.ComplianceType = &v
 11476  	return s
 11477  }
 11478  
 11479  // SetConformancePackName sets the ConformancePackName field's value.
 11480  func (s *AggregateConformancePackComplianceFilters) SetConformancePackName(v string) *AggregateConformancePackComplianceFilters {
 11481  	s.ConformancePackName = &v
 11482  	return s
 11483  }
 11484  
 11485  // Provides a summary of compliance based on either account ID or region.
 11486  type AggregateConformancePackComplianceSummary struct {
 11487  	_ struct{} `type:"structure"`
 11488  
 11489  	// Returns an AggregateConformancePackComplianceCount object.
 11490  	ComplianceSummary *AggregateConformancePackComplianceCount `type:"structure"`
 11491  
 11492  	// Groups the result based on Amazon Web Services account ID or Amazon Web Services
 11493  	// Region.
 11494  	GroupName *string `min:"1" type:"string"`
 11495  }
 11496  
 11497  // String returns the string representation.
 11498  //
 11499  // API parameter values that are decorated as "sensitive" in the API will not
 11500  // be included in the string output. The member name will be present, but the
 11501  // value will be replaced with "sensitive".
 11502  func (s AggregateConformancePackComplianceSummary) String() string {
 11503  	return awsutil.Prettify(s)
 11504  }
 11505  
 11506  // GoString returns the string representation.
 11507  //
 11508  // API parameter values that are decorated as "sensitive" in the API will not
 11509  // be included in the string output. The member name will be present, but the
 11510  // value will be replaced with "sensitive".
 11511  func (s AggregateConformancePackComplianceSummary) GoString() string {
 11512  	return s.String()
 11513  }
 11514  
 11515  // SetComplianceSummary sets the ComplianceSummary field's value.
 11516  func (s *AggregateConformancePackComplianceSummary) SetComplianceSummary(v *AggregateConformancePackComplianceCount) *AggregateConformancePackComplianceSummary {
 11517  	s.ComplianceSummary = v
 11518  	return s
 11519  }
 11520  
 11521  // SetGroupName sets the GroupName field's value.
 11522  func (s *AggregateConformancePackComplianceSummary) SetGroupName(v string) *AggregateConformancePackComplianceSummary {
 11523  	s.GroupName = &v
 11524  	return s
 11525  }
 11526  
 11527  // Filters the results based on account ID and region.
 11528  type AggregateConformancePackComplianceSummaryFilters struct {
 11529  	_ struct{} `type:"structure"`
 11530  
 11531  	// The 12-digit Amazon Web Services account ID of the source account.
 11532  	AccountId *string `type:"string"`
 11533  
 11534  	// The source Amazon Web Services Region from where the data is aggregated.
 11535  	AwsRegion *string `min:"1" type:"string"`
 11536  }
 11537  
 11538  // String returns the string representation.
 11539  //
 11540  // API parameter values that are decorated as "sensitive" in the API will not
 11541  // be included in the string output. The member name will be present, but the
 11542  // value will be replaced with "sensitive".
 11543  func (s AggregateConformancePackComplianceSummaryFilters) String() string {
 11544  	return awsutil.Prettify(s)
 11545  }
 11546  
 11547  // GoString returns the string representation.
 11548  //
 11549  // API parameter values that are decorated as "sensitive" in the API will not
 11550  // be included in the string output. The member name will be present, but the
 11551  // value will be replaced with "sensitive".
 11552  func (s AggregateConformancePackComplianceSummaryFilters) GoString() string {
 11553  	return s.String()
 11554  }
 11555  
 11556  // Validate inspects the fields of the type to determine if they are valid.
 11557  func (s *AggregateConformancePackComplianceSummaryFilters) Validate() error {
 11558  	invalidParams := request.ErrInvalidParams{Context: "AggregateConformancePackComplianceSummaryFilters"}
 11559  	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
 11560  		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
 11561  	}
 11562  
 11563  	if invalidParams.Len() > 0 {
 11564  		return invalidParams
 11565  	}
 11566  	return nil
 11567  }
 11568  
 11569  // SetAccountId sets the AccountId field's value.
 11570  func (s *AggregateConformancePackComplianceSummaryFilters) SetAccountId(v string) *AggregateConformancePackComplianceSummaryFilters {
 11571  	s.AccountId = &v
 11572  	return s
 11573  }
 11574  
 11575  // SetAwsRegion sets the AwsRegion field's value.
 11576  func (s *AggregateConformancePackComplianceSummaryFilters) SetAwsRegion(v string) *AggregateConformancePackComplianceSummaryFilters {
 11577  	s.AwsRegion = &v
 11578  	return s
 11579  }
 11580  
 11581  // The details of an Config evaluation for an account ID and region in an aggregator.
 11582  // Provides the Amazon Web Services resource that was evaluated, the compliance
 11583  // of the resource, related time stamps, and supplementary information.
 11584  type AggregateEvaluationResult struct {
 11585  	_ struct{} `type:"structure"`
 11586  
 11587  	// The 12-digit account ID of the source account.
 11588  	AccountId *string `type:"string"`
 11589  
 11590  	// Supplementary information about how the agrregate evaluation determined the
 11591  	// compliance.
 11592  	Annotation *string `min:"1" type:"string"`
 11593  
 11594  	// The source region from where the data is aggregated.
 11595  	AwsRegion *string `min:"1" type:"string"`
 11596  
 11597  	// The resource compliance status.
 11598  	//
 11599  	// For the AggregationEvaluationResult data type, Config supports only the COMPLIANT
 11600  	// and NON_COMPLIANT. Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA
 11601  	// value.
 11602  	ComplianceType *string `type:"string" enum:"ComplianceType"`
 11603  
 11604  	// The time when the Config rule evaluated the Amazon Web Services resource.
 11605  	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
 11606  
 11607  	// Uniquely identifies the evaluation result.
 11608  	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
 11609  
 11610  	// The time when Config recorded the aggregate evaluation result.
 11611  	ResultRecordedTime *time.Time `type:"timestamp"`
 11612  }
 11613  
 11614  // String returns the string representation.
 11615  //
 11616  // API parameter values that are decorated as "sensitive" in the API will not
 11617  // be included in the string output. The member name will be present, but the
 11618  // value will be replaced with "sensitive".
 11619  func (s AggregateEvaluationResult) String() string {
 11620  	return awsutil.Prettify(s)
 11621  }
 11622  
 11623  // GoString returns the string representation.
 11624  //
 11625  // API parameter values that are decorated as "sensitive" in the API will not
 11626  // be included in the string output. The member name will be present, but the
 11627  // value will be replaced with "sensitive".
 11628  func (s AggregateEvaluationResult) GoString() string {
 11629  	return s.String()
 11630  }
 11631  
 11632  // SetAccountId sets the AccountId field's value.
 11633  func (s *AggregateEvaluationResult) SetAccountId(v string) *AggregateEvaluationResult {
 11634  	s.AccountId = &v
 11635  	return s
 11636  }
 11637  
 11638  // SetAnnotation sets the Annotation field's value.
 11639  func (s *AggregateEvaluationResult) SetAnnotation(v string) *AggregateEvaluationResult {
 11640  	s.Annotation = &v
 11641  	return s
 11642  }
 11643  
 11644  // SetAwsRegion sets the AwsRegion field's value.
 11645  func (s *AggregateEvaluationResult) SetAwsRegion(v string) *AggregateEvaluationResult {
 11646  	s.AwsRegion = &v
 11647  	return s
 11648  }
 11649  
 11650  // SetComplianceType sets the ComplianceType field's value.
 11651  func (s *AggregateEvaluationResult) SetComplianceType(v string) *AggregateEvaluationResult {
 11652  	s.ComplianceType = &v
 11653  	return s
 11654  }
 11655  
 11656  // SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
 11657  func (s *AggregateEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *AggregateEvaluationResult {
 11658  	s.ConfigRuleInvokedTime = &v
 11659  	return s
 11660  }
 11661  
 11662  // SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
 11663  func (s *AggregateEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *AggregateEvaluationResult {
 11664  	s.EvaluationResultIdentifier = v
 11665  	return s
 11666  }
 11667  
 11668  // SetResultRecordedTime sets the ResultRecordedTime field's value.
 11669  func (s *AggregateEvaluationResult) SetResultRecordedTime(v time.Time) *AggregateEvaluationResult {
 11670  	s.ResultRecordedTime = &v
 11671  	return s
 11672  }
 11673  
 11674  // The details that identify a resource that is collected by Config aggregator,
 11675  // including the resource type, ID, (if available) the custom resource name,
 11676  // the source account, and source region.
 11677  type AggregateResourceIdentifier struct {
 11678  	_ struct{} `type:"structure"`
 11679  
 11680  	// The ID of the Amazon Web Services resource.
 11681  	//
 11682  	// ResourceId is a required field
 11683  	ResourceId *string `min:"1" type:"string" required:"true"`
 11684  
 11685  	// The name of the Amazon Web Services resource.
 11686  	ResourceName *string `type:"string"`
 11687  
 11688  	// The type of the Amazon Web Services resource.
 11689  	//
 11690  	// ResourceType is a required field
 11691  	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
 11692  
 11693  	// The 12-digit account ID of the source account.
 11694  	//
 11695  	// SourceAccountId is a required field
 11696  	SourceAccountId *string `type:"string" required:"true"`
 11697  
 11698  	// The source region where data is aggregated.
 11699  	//
 11700  	// SourceRegion is a required field
 11701  	SourceRegion *string `min:"1" type:"string" required:"true"`
 11702  }
 11703  
 11704  // String returns the string representation.
 11705  //
 11706  // API parameter values that are decorated as "sensitive" in the API will not
 11707  // be included in the string output. The member name will be present, but the
 11708  // value will be replaced with "sensitive".
 11709  func (s AggregateResourceIdentifier) String() string {
 11710  	return awsutil.Prettify(s)
 11711  }
 11712  
 11713  // GoString returns the string representation.
 11714  //
 11715  // API parameter values that are decorated as "sensitive" in the API will not
 11716  // be included in the string output. The member name will be present, but the
 11717  // value will be replaced with "sensitive".
 11718  func (s AggregateResourceIdentifier) GoString() string {
 11719  	return s.String()
 11720  }
 11721  
 11722  // Validate inspects the fields of the type to determine if they are valid.
 11723  func (s *AggregateResourceIdentifier) Validate() error {
 11724  	invalidParams := request.ErrInvalidParams{Context: "AggregateResourceIdentifier"}
 11725  	if s.ResourceId == nil {
 11726  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 11727  	}
 11728  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 11729  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 11730  	}
 11731  	if s.ResourceType == nil {
 11732  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 11733  	}
 11734  	if s.SourceAccountId == nil {
 11735  		invalidParams.Add(request.NewErrParamRequired("SourceAccountId"))
 11736  	}
 11737  	if s.SourceRegion == nil {
 11738  		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
 11739  	}
 11740  	if s.SourceRegion != nil && len(*s.SourceRegion) < 1 {
 11741  		invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1))
 11742  	}
 11743  
 11744  	if invalidParams.Len() > 0 {
 11745  		return invalidParams
 11746  	}
 11747  	return nil
 11748  }
 11749  
 11750  // SetResourceId sets the ResourceId field's value.
 11751  func (s *AggregateResourceIdentifier) SetResourceId(v string) *AggregateResourceIdentifier {
 11752  	s.ResourceId = &v
 11753  	return s
 11754  }
 11755  
 11756  // SetResourceName sets the ResourceName field's value.
 11757  func (s *AggregateResourceIdentifier) SetResourceName(v string) *AggregateResourceIdentifier {
 11758  	s.ResourceName = &v
 11759  	return s
 11760  }
 11761  
 11762  // SetResourceType sets the ResourceType field's value.
 11763  func (s *AggregateResourceIdentifier) SetResourceType(v string) *AggregateResourceIdentifier {
 11764  	s.ResourceType = &v
 11765  	return s
 11766  }
 11767  
 11768  // SetSourceAccountId sets the SourceAccountId field's value.
 11769  func (s *AggregateResourceIdentifier) SetSourceAccountId(v string) *AggregateResourceIdentifier {
 11770  	s.SourceAccountId = &v
 11771  	return s
 11772  }
 11773  
 11774  // SetSourceRegion sets the SourceRegion field's value.
 11775  func (s *AggregateResourceIdentifier) SetSourceRegion(v string) *AggregateResourceIdentifier {
 11776  	s.SourceRegion = &v
 11777  	return s
 11778  }
 11779  
 11780  // The current sync status between the source and the aggregator account.
 11781  type AggregatedSourceStatus struct {
 11782  	_ struct{} `type:"structure"`
 11783  
 11784  	// The region authorized to collect aggregated data.
 11785  	AwsRegion *string `min:"1" type:"string"`
 11786  
 11787  	// The error code that Config returned when the source account aggregation last
 11788  	// failed.
 11789  	LastErrorCode *string `type:"string"`
 11790  
 11791  	// The message indicating that the source account aggregation failed due to
 11792  	// an error.
 11793  	LastErrorMessage *string `type:"string"`
 11794  
 11795  	// Filters the last updated status type.
 11796  	//
 11797  	//    * Valid value FAILED indicates errors while moving data.
 11798  	//
 11799  	//    * Valid value SUCCEEDED indicates the data was successfully moved.
 11800  	//
 11801  	//    * Valid value OUTDATED indicates the data is not the most recent.
 11802  	LastUpdateStatus *string `type:"string" enum:"AggregatedSourceStatusType"`
 11803  
 11804  	// The time of the last update.
 11805  	LastUpdateTime *time.Time `type:"timestamp"`
 11806  
 11807  	// The source account ID or an organization.
 11808  	SourceId *string `type:"string"`
 11809  
 11810  	// The source account or an organization.
 11811  	SourceType *string `type:"string" enum:"AggregatedSourceType"`
 11812  }
 11813  
 11814  // String returns the string representation.
 11815  //
 11816  // API parameter values that are decorated as "sensitive" in the API will not
 11817  // be included in the string output. The member name will be present, but the
 11818  // value will be replaced with "sensitive".
 11819  func (s AggregatedSourceStatus) String() string {
 11820  	return awsutil.Prettify(s)
 11821  }
 11822  
 11823  // GoString returns the string representation.
 11824  //
 11825  // API parameter values that are decorated as "sensitive" in the API will not
 11826  // be included in the string output. The member name will be present, but the
 11827  // value will be replaced with "sensitive".
 11828  func (s AggregatedSourceStatus) GoString() string {
 11829  	return s.String()
 11830  }
 11831  
 11832  // SetAwsRegion sets the AwsRegion field's value.
 11833  func (s *AggregatedSourceStatus) SetAwsRegion(v string) *AggregatedSourceStatus {
 11834  	s.AwsRegion = &v
 11835  	return s
 11836  }
 11837  
 11838  // SetLastErrorCode sets the LastErrorCode field's value.
 11839  func (s *AggregatedSourceStatus) SetLastErrorCode(v string) *AggregatedSourceStatus {
 11840  	s.LastErrorCode = &v
 11841  	return s
 11842  }
 11843  
 11844  // SetLastErrorMessage sets the LastErrorMessage field's value.
 11845  func (s *AggregatedSourceStatus) SetLastErrorMessage(v string) *AggregatedSourceStatus {
 11846  	s.LastErrorMessage = &v
 11847  	return s
 11848  }
 11849  
 11850  // SetLastUpdateStatus sets the LastUpdateStatus field's value.
 11851  func (s *AggregatedSourceStatus) SetLastUpdateStatus(v string) *AggregatedSourceStatus {
 11852  	s.LastUpdateStatus = &v
 11853  	return s
 11854  }
 11855  
 11856  // SetLastUpdateTime sets the LastUpdateTime field's value.
 11857  func (s *AggregatedSourceStatus) SetLastUpdateTime(v time.Time) *AggregatedSourceStatus {
 11858  	s.LastUpdateTime = &v
 11859  	return s
 11860  }
 11861  
 11862  // SetSourceId sets the SourceId field's value.
 11863  func (s *AggregatedSourceStatus) SetSourceId(v string) *AggregatedSourceStatus {
 11864  	s.SourceId = &v
 11865  	return s
 11866  }
 11867  
 11868  // SetSourceType sets the SourceType field's value.
 11869  func (s *AggregatedSourceStatus) SetSourceType(v string) *AggregatedSourceStatus {
 11870  	s.SourceType = &v
 11871  	return s
 11872  }
 11873  
 11874  // An object that represents the authorizations granted to aggregator accounts
 11875  // and regions.
 11876  type AggregationAuthorization struct {
 11877  	_ struct{} `type:"structure"`
 11878  
 11879  	// The Amazon Resource Name (ARN) of the aggregation object.
 11880  	AggregationAuthorizationArn *string `type:"string"`
 11881  
 11882  	// The 12-digit account ID of the account authorized to aggregate data.
 11883  	AuthorizedAccountId *string `type:"string"`
 11884  
 11885  	// The region authorized to collect aggregated data.
 11886  	AuthorizedAwsRegion *string `min:"1" type:"string"`
 11887  
 11888  	// The time stamp when the aggregation authorization was created.
 11889  	CreationTime *time.Time `type:"timestamp"`
 11890  }
 11891  
 11892  // String returns the string representation.
 11893  //
 11894  // API parameter values that are decorated as "sensitive" in the API will not
 11895  // be included in the string output. The member name will be present, but the
 11896  // value will be replaced with "sensitive".
 11897  func (s AggregationAuthorization) String() string {
 11898  	return awsutil.Prettify(s)
 11899  }
 11900  
 11901  // GoString returns the string representation.
 11902  //
 11903  // API parameter values that are decorated as "sensitive" in the API will not
 11904  // be included in the string output. The member name will be present, but the
 11905  // value will be replaced with "sensitive".
 11906  func (s AggregationAuthorization) GoString() string {
 11907  	return s.String()
 11908  }
 11909  
 11910  // SetAggregationAuthorizationArn sets the AggregationAuthorizationArn field's value.
 11911  func (s *AggregationAuthorization) SetAggregationAuthorizationArn(v string) *AggregationAuthorization {
 11912  	s.AggregationAuthorizationArn = &v
 11913  	return s
 11914  }
 11915  
 11916  // SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
 11917  func (s *AggregationAuthorization) SetAuthorizedAccountId(v string) *AggregationAuthorization {
 11918  	s.AuthorizedAccountId = &v
 11919  	return s
 11920  }
 11921  
 11922  // SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
 11923  func (s *AggregationAuthorization) SetAuthorizedAwsRegion(v string) *AggregationAuthorization {
 11924  	s.AuthorizedAwsRegion = &v
 11925  	return s
 11926  }
 11927  
 11928  // SetCreationTime sets the CreationTime field's value.
 11929  func (s *AggregationAuthorization) SetCreationTime(v time.Time) *AggregationAuthorization {
 11930  	s.CreationTime = &v
 11931  	return s
 11932  }
 11933  
 11934  // The detailed configuration of a specified resource.
 11935  type BaseConfigurationItem struct {
 11936  	_ struct{} `type:"structure"`
 11937  
 11938  	// The 12-digit Amazon Web Services account ID associated with the resource.
 11939  	AccountId *string `locationName:"accountId" type:"string"`
 11940  
 11941  	// The Amazon Resource Name (ARN) of the resource.
 11942  	Arn *string `locationName:"arn" type:"string"`
 11943  
 11944  	// The Availability Zone associated with the resource.
 11945  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 11946  
 11947  	// The region where the resource resides.
 11948  	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
 11949  
 11950  	// The description of the resource configuration.
 11951  	Configuration *string `locationName:"configuration" type:"string"`
 11952  
 11953  	// The time when the configuration recording was initiated.
 11954  	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
 11955  
 11956  	// The configuration item status. The valid values are:
 11957  	//
 11958  	//    * OK – The resource configuration has been updated
 11959  	//
 11960  	//    * ResourceDiscovered – The resource was newly discovered
 11961  	//
 11962  	//    * ResourceNotRecorded – The resource was discovered but its configuration
 11963  	//    was not recorded since the recorder excludes the recording of resources
 11964  	//    of this type
 11965  	//
 11966  	//    * ResourceDeleted – The resource was deleted
 11967  	//
 11968  	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
 11969  	//    was not recorded since the recorder excludes the recording of resources
 11970  	//    of this type
 11971  	//
 11972  	// The CIs do not incur any cost.
 11973  	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
 11974  
 11975  	// An identifier that indicates the ordering of the configuration items of a
 11976  	// resource.
 11977  	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
 11978  
 11979  	// The time stamp when the resource was created.
 11980  	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
 11981  
 11982  	// The ID of the resource (for example., sg-xxxxxx).
 11983  	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
 11984  
 11985  	// The custom name of the resource, if available.
 11986  	ResourceName *string `locationName:"resourceName" type:"string"`
 11987  
 11988  	// The type of Amazon Web Services resource.
 11989  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 11990  
 11991  	// Configuration attributes that Config returns for certain resource types to
 11992  	// supplement the information returned for the configuration parameter.
 11993  	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
 11994  
 11995  	// The version number of the resource configuration.
 11996  	Version *string `locationName:"version" type:"string"`
 11997  }
 11998  
 11999  // String returns the string representation.
 12000  //
 12001  // API parameter values that are decorated as "sensitive" in the API will not
 12002  // be included in the string output. The member name will be present, but the
 12003  // value will be replaced with "sensitive".
 12004  func (s BaseConfigurationItem) String() string {
 12005  	return awsutil.Prettify(s)
 12006  }
 12007  
 12008  // GoString returns the string representation.
 12009  //
 12010  // API parameter values that are decorated as "sensitive" in the API will not
 12011  // be included in the string output. The member name will be present, but the
 12012  // value will be replaced with "sensitive".
 12013  func (s BaseConfigurationItem) GoString() string {
 12014  	return s.String()
 12015  }
 12016  
 12017  // SetAccountId sets the AccountId field's value.
 12018  func (s *BaseConfigurationItem) SetAccountId(v string) *BaseConfigurationItem {
 12019  	s.AccountId = &v
 12020  	return s
 12021  }
 12022  
 12023  // SetArn sets the Arn field's value.
 12024  func (s *BaseConfigurationItem) SetArn(v string) *BaseConfigurationItem {
 12025  	s.Arn = &v
 12026  	return s
 12027  }
 12028  
 12029  // SetAvailabilityZone sets the AvailabilityZone field's value.
 12030  func (s *BaseConfigurationItem) SetAvailabilityZone(v string) *BaseConfigurationItem {
 12031  	s.AvailabilityZone = &v
 12032  	return s
 12033  }
 12034  
 12035  // SetAwsRegion sets the AwsRegion field's value.
 12036  func (s *BaseConfigurationItem) SetAwsRegion(v string) *BaseConfigurationItem {
 12037  	s.AwsRegion = &v
 12038  	return s
 12039  }
 12040  
 12041  // SetConfiguration sets the Configuration field's value.
 12042  func (s *BaseConfigurationItem) SetConfiguration(v string) *BaseConfigurationItem {
 12043  	s.Configuration = &v
 12044  	return s
 12045  }
 12046  
 12047  // SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
 12048  func (s *BaseConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *BaseConfigurationItem {
 12049  	s.ConfigurationItemCaptureTime = &v
 12050  	return s
 12051  }
 12052  
 12053  // SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
 12054  func (s *BaseConfigurationItem) SetConfigurationItemStatus(v string) *BaseConfigurationItem {
 12055  	s.ConfigurationItemStatus = &v
 12056  	return s
 12057  }
 12058  
 12059  // SetConfigurationStateId sets the ConfigurationStateId field's value.
 12060  func (s *BaseConfigurationItem) SetConfigurationStateId(v string) *BaseConfigurationItem {
 12061  	s.ConfigurationStateId = &v
 12062  	return s
 12063  }
 12064  
 12065  // SetResourceCreationTime sets the ResourceCreationTime field's value.
 12066  func (s *BaseConfigurationItem) SetResourceCreationTime(v time.Time) *BaseConfigurationItem {
 12067  	s.ResourceCreationTime = &v
 12068  	return s
 12069  }
 12070  
 12071  // SetResourceId sets the ResourceId field's value.
 12072  func (s *BaseConfigurationItem) SetResourceId(v string) *BaseConfigurationItem {
 12073  	s.ResourceId = &v
 12074  	return s
 12075  }
 12076  
 12077  // SetResourceName sets the ResourceName field's value.
 12078  func (s *BaseConfigurationItem) SetResourceName(v string) *BaseConfigurationItem {
 12079  	s.ResourceName = &v
 12080  	return s
 12081  }
 12082  
 12083  // SetResourceType sets the ResourceType field's value.
 12084  func (s *BaseConfigurationItem) SetResourceType(v string) *BaseConfigurationItem {
 12085  	s.ResourceType = &v
 12086  	return s
 12087  }
 12088  
 12089  // SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
 12090  func (s *BaseConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *BaseConfigurationItem {
 12091  	s.SupplementaryConfiguration = v
 12092  	return s
 12093  }
 12094  
 12095  // SetVersion sets the Version field's value.
 12096  func (s *BaseConfigurationItem) SetVersion(v string) *BaseConfigurationItem {
 12097  	s.Version = &v
 12098  	return s
 12099  }
 12100  
 12101  type BatchGetAggregateResourceConfigInput struct {
 12102  	_ struct{} `type:"structure"`
 12103  
 12104  	// The name of the configuration aggregator.
 12105  	//
 12106  	// ConfigurationAggregatorName is a required field
 12107  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 12108  
 12109  	// A list of aggregate ResourceIdentifiers objects.
 12110  	//
 12111  	// ResourceIdentifiers is a required field
 12112  	ResourceIdentifiers []*AggregateResourceIdentifier `min:"1" type:"list" required:"true"`
 12113  }
 12114  
 12115  // String returns the string representation.
 12116  //
 12117  // API parameter values that are decorated as "sensitive" in the API will not
 12118  // be included in the string output. The member name will be present, but the
 12119  // value will be replaced with "sensitive".
 12120  func (s BatchGetAggregateResourceConfigInput) String() string {
 12121  	return awsutil.Prettify(s)
 12122  }
 12123  
 12124  // GoString returns the string representation.
 12125  //
 12126  // API parameter values that are decorated as "sensitive" in the API will not
 12127  // be included in the string output. The member name will be present, but the
 12128  // value will be replaced with "sensitive".
 12129  func (s BatchGetAggregateResourceConfigInput) GoString() string {
 12130  	return s.String()
 12131  }
 12132  
 12133  // Validate inspects the fields of the type to determine if they are valid.
 12134  func (s *BatchGetAggregateResourceConfigInput) Validate() error {
 12135  	invalidParams := request.ErrInvalidParams{Context: "BatchGetAggregateResourceConfigInput"}
 12136  	if s.ConfigurationAggregatorName == nil {
 12137  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 12138  	}
 12139  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 12140  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 12141  	}
 12142  	if s.ResourceIdentifiers == nil {
 12143  		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifiers"))
 12144  	}
 12145  	if s.ResourceIdentifiers != nil && len(s.ResourceIdentifiers) < 1 {
 12146  		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifiers", 1))
 12147  	}
 12148  	if s.ResourceIdentifiers != nil {
 12149  		for i, v := range s.ResourceIdentifiers {
 12150  			if v == nil {
 12151  				continue
 12152  			}
 12153  			if err := v.Validate(); err != nil {
 12154  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIdentifiers", i), err.(request.ErrInvalidParams))
 12155  			}
 12156  		}
 12157  	}
 12158  
 12159  	if invalidParams.Len() > 0 {
 12160  		return invalidParams
 12161  	}
 12162  	return nil
 12163  }
 12164  
 12165  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 12166  func (s *BatchGetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *BatchGetAggregateResourceConfigInput {
 12167  	s.ConfigurationAggregatorName = &v
 12168  	return s
 12169  }
 12170  
 12171  // SetResourceIdentifiers sets the ResourceIdentifiers field's value.
 12172  func (s *BatchGetAggregateResourceConfigInput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigInput {
 12173  	s.ResourceIdentifiers = v
 12174  	return s
 12175  }
 12176  
 12177  type BatchGetAggregateResourceConfigOutput struct {
 12178  	_ struct{} `type:"structure"`
 12179  
 12180  	// A list that contains the current configuration of one or more resources.
 12181  	BaseConfigurationItems []*BaseConfigurationItem `type:"list"`
 12182  
 12183  	// A list of resource identifiers that were not processed with current scope.
 12184  	// The list is empty if all the resources are processed.
 12185  	UnprocessedResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
 12186  }
 12187  
 12188  // String returns the string representation.
 12189  //
 12190  // API parameter values that are decorated as "sensitive" in the API will not
 12191  // be included in the string output. The member name will be present, but the
 12192  // value will be replaced with "sensitive".
 12193  func (s BatchGetAggregateResourceConfigOutput) String() string {
 12194  	return awsutil.Prettify(s)
 12195  }
 12196  
 12197  // GoString returns the string representation.
 12198  //
 12199  // API parameter values that are decorated as "sensitive" in the API will not
 12200  // be included in the string output. The member name will be present, but the
 12201  // value will be replaced with "sensitive".
 12202  func (s BatchGetAggregateResourceConfigOutput) GoString() string {
 12203  	return s.String()
 12204  }
 12205  
 12206  // SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
 12207  func (s *BatchGetAggregateResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetAggregateResourceConfigOutput {
 12208  	s.BaseConfigurationItems = v
 12209  	return s
 12210  }
 12211  
 12212  // SetUnprocessedResourceIdentifiers sets the UnprocessedResourceIdentifiers field's value.
 12213  func (s *BatchGetAggregateResourceConfigOutput) SetUnprocessedResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigOutput {
 12214  	s.UnprocessedResourceIdentifiers = v
 12215  	return s
 12216  }
 12217  
 12218  type BatchGetResourceConfigInput struct {
 12219  	_ struct{} `type:"structure"`
 12220  
 12221  	// A list of resource keys to be processed with the current request. Each element
 12222  	// in the list consists of the resource type and resource ID.
 12223  	//
 12224  	// ResourceKeys is a required field
 12225  	ResourceKeys []*ResourceKey `locationName:"resourceKeys" min:"1" type:"list" required:"true"`
 12226  }
 12227  
 12228  // String returns the string representation.
 12229  //
 12230  // API parameter values that are decorated as "sensitive" in the API will not
 12231  // be included in the string output. The member name will be present, but the
 12232  // value will be replaced with "sensitive".
 12233  func (s BatchGetResourceConfigInput) String() string {
 12234  	return awsutil.Prettify(s)
 12235  }
 12236  
 12237  // GoString returns the string representation.
 12238  //
 12239  // API parameter values that are decorated as "sensitive" in the API will not
 12240  // be included in the string output. The member name will be present, but the
 12241  // value will be replaced with "sensitive".
 12242  func (s BatchGetResourceConfigInput) GoString() string {
 12243  	return s.String()
 12244  }
 12245  
 12246  // Validate inspects the fields of the type to determine if they are valid.
 12247  func (s *BatchGetResourceConfigInput) Validate() error {
 12248  	invalidParams := request.ErrInvalidParams{Context: "BatchGetResourceConfigInput"}
 12249  	if s.ResourceKeys == nil {
 12250  		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
 12251  	}
 12252  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 12253  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 12254  	}
 12255  	if s.ResourceKeys != nil {
 12256  		for i, v := range s.ResourceKeys {
 12257  			if v == nil {
 12258  				continue
 12259  			}
 12260  			if err := v.Validate(); err != nil {
 12261  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 12262  			}
 12263  		}
 12264  	}
 12265  
 12266  	if invalidParams.Len() > 0 {
 12267  		return invalidParams
 12268  	}
 12269  	return nil
 12270  }
 12271  
 12272  // SetResourceKeys sets the ResourceKeys field's value.
 12273  func (s *BatchGetResourceConfigInput) SetResourceKeys(v []*ResourceKey) *BatchGetResourceConfigInput {
 12274  	s.ResourceKeys = v
 12275  	return s
 12276  }
 12277  
 12278  type BatchGetResourceConfigOutput struct {
 12279  	_ struct{} `type:"structure"`
 12280  
 12281  	// A list that contains the current configuration of one or more resources.
 12282  	BaseConfigurationItems []*BaseConfigurationItem `locationName:"baseConfigurationItems" type:"list"`
 12283  
 12284  	// A list of resource keys that were not processed with the current response.
 12285  	// The unprocessesResourceKeys value is in the same form as ResourceKeys, so
 12286  	// the value can be directly provided to a subsequent BatchGetResourceConfig
 12287  	// operation. If there are no unprocessed resource keys, the response contains
 12288  	// an empty unprocessedResourceKeys list.
 12289  	UnprocessedResourceKeys []*ResourceKey `locationName:"unprocessedResourceKeys" min:"1" type:"list"`
 12290  }
 12291  
 12292  // String returns the string representation.
 12293  //
 12294  // API parameter values that are decorated as "sensitive" in the API will not
 12295  // be included in the string output. The member name will be present, but the
 12296  // value will be replaced with "sensitive".
 12297  func (s BatchGetResourceConfigOutput) String() string {
 12298  	return awsutil.Prettify(s)
 12299  }
 12300  
 12301  // GoString returns the string representation.
 12302  //
 12303  // API parameter values that are decorated as "sensitive" in the API will not
 12304  // be included in the string output. The member name will be present, but the
 12305  // value will be replaced with "sensitive".
 12306  func (s BatchGetResourceConfigOutput) GoString() string {
 12307  	return s.String()
 12308  }
 12309  
 12310  // SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
 12311  func (s *BatchGetResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetResourceConfigOutput {
 12312  	s.BaseConfigurationItems = v
 12313  	return s
 12314  }
 12315  
 12316  // SetUnprocessedResourceKeys sets the UnprocessedResourceKeys field's value.
 12317  func (s *BatchGetResourceConfigOutput) SetUnprocessedResourceKeys(v []*ResourceKey) *BatchGetResourceConfigOutput {
 12318  	s.UnprocessedResourceKeys = v
 12319  	return s
 12320  }
 12321  
 12322  // Indicates whether an Amazon Web Services resource or Config rule is compliant
 12323  // and provides the number of contributors that affect the compliance.
 12324  type Compliance struct {
 12325  	_ struct{} `type:"structure"`
 12326  
 12327  	// The number of Amazon Web Services resources or Config rules that cause a
 12328  	// result of NON_COMPLIANT, up to a maximum number.
 12329  	ComplianceContributorCount *ComplianceContributorCount `type:"structure"`
 12330  
 12331  	// Indicates whether an Amazon Web Services resource or Config rule is compliant.
 12332  	//
 12333  	// A resource is compliant if it complies with all of the Config rules that
 12334  	// evaluate it. A resource is noncompliant if it does not comply with one or
 12335  	// more of these rules.
 12336  	//
 12337  	// A rule is compliant if all of the resources that the rule evaluates comply
 12338  	// with it. A rule is noncompliant if any of these resources do not comply.
 12339  	//
 12340  	// Config returns the INSUFFICIENT_DATA value when no evaluation results are
 12341  	// available for the Amazon Web Services resource or Config rule.
 12342  	//
 12343  	// For the Compliance data type, Config supports only COMPLIANT, NON_COMPLIANT,
 12344  	// and INSUFFICIENT_DATA values. Config does not support the NOT_APPLICABLE
 12345  	// value for the Compliance data type.
 12346  	ComplianceType *string `type:"string" enum:"ComplianceType"`
 12347  }
 12348  
 12349  // String returns the string representation.
 12350  //
 12351  // API parameter values that are decorated as "sensitive" in the API will not
 12352  // be included in the string output. The member name will be present, but the
 12353  // value will be replaced with "sensitive".
 12354  func (s Compliance) String() string {
 12355  	return awsutil.Prettify(s)
 12356  }
 12357  
 12358  // GoString returns the string representation.
 12359  //
 12360  // API parameter values that are decorated as "sensitive" in the API will not
 12361  // be included in the string output. The member name will be present, but the
 12362  // value will be replaced with "sensitive".
 12363  func (s Compliance) GoString() string {
 12364  	return s.String()
 12365  }
 12366  
 12367  // SetComplianceContributorCount sets the ComplianceContributorCount field's value.
 12368  func (s *Compliance) SetComplianceContributorCount(v *ComplianceContributorCount) *Compliance {
 12369  	s.ComplianceContributorCount = v
 12370  	return s
 12371  }
 12372  
 12373  // SetComplianceType sets the ComplianceType field's value.
 12374  func (s *Compliance) SetComplianceType(v string) *Compliance {
 12375  	s.ComplianceType = &v
 12376  	return s
 12377  }
 12378  
 12379  // Indicates whether an Config rule is compliant. A rule is compliant if all
 12380  // of the resources that the rule evaluated comply with it. A rule is noncompliant
 12381  // if any of these resources do not comply.
 12382  type ComplianceByConfigRule struct {
 12383  	_ struct{} `type:"structure"`
 12384  
 12385  	// Indicates whether the Config rule is compliant.
 12386  	Compliance *Compliance `type:"structure"`
 12387  
 12388  	// The name of the Config rule.
 12389  	ConfigRuleName *string `min:"1" type:"string"`
 12390  }
 12391  
 12392  // String returns the string representation.
 12393  //
 12394  // API parameter values that are decorated as "sensitive" in the API will not
 12395  // be included in the string output. The member name will be present, but the
 12396  // value will be replaced with "sensitive".
 12397  func (s ComplianceByConfigRule) String() string {
 12398  	return awsutil.Prettify(s)
 12399  }
 12400  
 12401  // GoString returns the string representation.
 12402  //
 12403  // API parameter values that are decorated as "sensitive" in the API will not
 12404  // be included in the string output. The member name will be present, but the
 12405  // value will be replaced with "sensitive".
 12406  func (s ComplianceByConfigRule) GoString() string {
 12407  	return s.String()
 12408  }
 12409  
 12410  // SetCompliance sets the Compliance field's value.
 12411  func (s *ComplianceByConfigRule) SetCompliance(v *Compliance) *ComplianceByConfigRule {
 12412  	s.Compliance = v
 12413  	return s
 12414  }
 12415  
 12416  // SetConfigRuleName sets the ConfigRuleName field's value.
 12417  func (s *ComplianceByConfigRule) SetConfigRuleName(v string) *ComplianceByConfigRule {
 12418  	s.ConfigRuleName = &v
 12419  	return s
 12420  }
 12421  
 12422  // Indicates whether an Amazon Web Services resource that is evaluated according
 12423  // to one or more Config rules is compliant. A resource is compliant if it complies
 12424  // with all of the rules that evaluate it. A resource is noncompliant if it
 12425  // does not comply with one or more of these rules.
 12426  type ComplianceByResource struct {
 12427  	_ struct{} `type:"structure"`
 12428  
 12429  	// Indicates whether the Amazon Web Services resource complies with all of the
 12430  	// Config rules that evaluated it.
 12431  	Compliance *Compliance `type:"structure"`
 12432  
 12433  	// The ID of the Amazon Web Services resource that was evaluated.
 12434  	ResourceId *string `min:"1" type:"string"`
 12435  
 12436  	// The type of the Amazon Web Services resource that was evaluated.
 12437  	ResourceType *string `min:"1" type:"string"`
 12438  }
 12439  
 12440  // String returns the string representation.
 12441  //
 12442  // API parameter values that are decorated as "sensitive" in the API will not
 12443  // be included in the string output. The member name will be present, but the
 12444  // value will be replaced with "sensitive".
 12445  func (s ComplianceByResource) String() string {
 12446  	return awsutil.Prettify(s)
 12447  }
 12448  
 12449  // GoString returns the string representation.
 12450  //
 12451  // API parameter values that are decorated as "sensitive" in the API will not
 12452  // be included in the string output. The member name will be present, but the
 12453  // value will be replaced with "sensitive".
 12454  func (s ComplianceByResource) GoString() string {
 12455  	return s.String()
 12456  }
 12457  
 12458  // SetCompliance sets the Compliance field's value.
 12459  func (s *ComplianceByResource) SetCompliance(v *Compliance) *ComplianceByResource {
 12460  	s.Compliance = v
 12461  	return s
 12462  }
 12463  
 12464  // SetResourceId sets the ResourceId field's value.
 12465  func (s *ComplianceByResource) SetResourceId(v string) *ComplianceByResource {
 12466  	s.ResourceId = &v
 12467  	return s
 12468  }
 12469  
 12470  // SetResourceType sets the ResourceType field's value.
 12471  func (s *ComplianceByResource) SetResourceType(v string) *ComplianceByResource {
 12472  	s.ResourceType = &v
 12473  	return s
 12474  }
 12475  
 12476  // The number of Amazon Web Services resources or Config rules responsible for
 12477  // the current compliance of the item, up to a maximum number.
 12478  type ComplianceContributorCount struct {
 12479  	_ struct{} `type:"structure"`
 12480  
 12481  	// Indicates whether the maximum count is reached.
 12482  	CapExceeded *bool `type:"boolean"`
 12483  
 12484  	// The number of Amazon Web Services resources or Config rules responsible for
 12485  	// the current compliance of the item.
 12486  	CappedCount *int64 `type:"integer"`
 12487  }
 12488  
 12489  // String returns the string representation.
 12490  //
 12491  // API parameter values that are decorated as "sensitive" in the API will not
 12492  // be included in the string output. The member name will be present, but the
 12493  // value will be replaced with "sensitive".
 12494  func (s ComplianceContributorCount) String() string {
 12495  	return awsutil.Prettify(s)
 12496  }
 12497  
 12498  // GoString returns the string representation.
 12499  //
 12500  // API parameter values that are decorated as "sensitive" in the API will not
 12501  // be included in the string output. The member name will be present, but the
 12502  // value will be replaced with "sensitive".
 12503  func (s ComplianceContributorCount) GoString() string {
 12504  	return s.String()
 12505  }
 12506  
 12507  // SetCapExceeded sets the CapExceeded field's value.
 12508  func (s *ComplianceContributorCount) SetCapExceeded(v bool) *ComplianceContributorCount {
 12509  	s.CapExceeded = &v
 12510  	return s
 12511  }
 12512  
 12513  // SetCappedCount sets the CappedCount field's value.
 12514  func (s *ComplianceContributorCount) SetCappedCount(v int64) *ComplianceContributorCount {
 12515  	s.CappedCount = &v
 12516  	return s
 12517  }
 12518  
 12519  // The number of Config rules or Amazon Web Services resources that are compliant
 12520  // and noncompliant.
 12521  type ComplianceSummary struct {
 12522  	_ struct{} `type:"structure"`
 12523  
 12524  	// The time that Config created the compliance summary.
 12525  	ComplianceSummaryTimestamp *time.Time `type:"timestamp"`
 12526  
 12527  	// The number of Config rules or Amazon Web Services resources that are compliant,
 12528  	// up to a maximum of 25 for rules and 100 for resources.
 12529  	CompliantResourceCount *ComplianceContributorCount `type:"structure"`
 12530  
 12531  	// The number of Config rules or Amazon Web Services resources that are noncompliant,
 12532  	// up to a maximum of 25 for rules and 100 for resources.
 12533  	NonCompliantResourceCount *ComplianceContributorCount `type:"structure"`
 12534  }
 12535  
 12536  // String returns the string representation.
 12537  //
 12538  // API parameter values that are decorated as "sensitive" in the API will not
 12539  // be included in the string output. The member name will be present, but the
 12540  // value will be replaced with "sensitive".
 12541  func (s ComplianceSummary) String() string {
 12542  	return awsutil.Prettify(s)
 12543  }
 12544  
 12545  // GoString returns the string representation.
 12546  //
 12547  // API parameter values that are decorated as "sensitive" in the API will not
 12548  // be included in the string output. The member name will be present, but the
 12549  // value will be replaced with "sensitive".
 12550  func (s ComplianceSummary) GoString() string {
 12551  	return s.String()
 12552  }
 12553  
 12554  // SetComplianceSummaryTimestamp sets the ComplianceSummaryTimestamp field's value.
 12555  func (s *ComplianceSummary) SetComplianceSummaryTimestamp(v time.Time) *ComplianceSummary {
 12556  	s.ComplianceSummaryTimestamp = &v
 12557  	return s
 12558  }
 12559  
 12560  // SetCompliantResourceCount sets the CompliantResourceCount field's value.
 12561  func (s *ComplianceSummary) SetCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
 12562  	s.CompliantResourceCount = v
 12563  	return s
 12564  }
 12565  
 12566  // SetNonCompliantResourceCount sets the NonCompliantResourceCount field's value.
 12567  func (s *ComplianceSummary) SetNonCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
 12568  	s.NonCompliantResourceCount = v
 12569  	return s
 12570  }
 12571  
 12572  // The number of Amazon Web Services resources of a specific type that are compliant
 12573  // or noncompliant, up to a maximum of 100 for each.
 12574  type ComplianceSummaryByResourceType struct {
 12575  	_ struct{} `type:"structure"`
 12576  
 12577  	// The number of Amazon Web Services resources that are compliant or noncompliant,
 12578  	// up to a maximum of 100 for each.
 12579  	ComplianceSummary *ComplianceSummary `type:"structure"`
 12580  
 12581  	// The type of Amazon Web Services resource.
 12582  	ResourceType *string `min:"1" type:"string"`
 12583  }
 12584  
 12585  // String returns the string representation.
 12586  //
 12587  // API parameter values that are decorated as "sensitive" in the API will not
 12588  // be included in the string output. The member name will be present, but the
 12589  // value will be replaced with "sensitive".
 12590  func (s ComplianceSummaryByResourceType) String() string {
 12591  	return awsutil.Prettify(s)
 12592  }
 12593  
 12594  // GoString returns the string representation.
 12595  //
 12596  // API parameter values that are decorated as "sensitive" in the API will not
 12597  // be included in the string output. The member name will be present, but the
 12598  // value will be replaced with "sensitive".
 12599  func (s ComplianceSummaryByResourceType) GoString() string {
 12600  	return s.String()
 12601  }
 12602  
 12603  // SetComplianceSummary sets the ComplianceSummary field's value.
 12604  func (s *ComplianceSummaryByResourceType) SetComplianceSummary(v *ComplianceSummary) *ComplianceSummaryByResourceType {
 12605  	s.ComplianceSummary = v
 12606  	return s
 12607  }
 12608  
 12609  // SetResourceType sets the ResourceType field's value.
 12610  func (s *ComplianceSummaryByResourceType) SetResourceType(v string) *ComplianceSummaryByResourceType {
 12611  	s.ResourceType = &v
 12612  	return s
 12613  }
 12614  
 12615  // Provides status of the delivery of the snapshot or the configuration history
 12616  // to the specified Amazon S3 bucket. Also provides the status of notifications
 12617  // about the Amazon S3 delivery to the specified Amazon SNS topic.
 12618  type ConfigExportDeliveryInfo struct {
 12619  	_ struct{} `type:"structure"`
 12620  
 12621  	// The time of the last attempted delivery.
 12622  	LastAttemptTime *time.Time `locationName:"lastAttemptTime" type:"timestamp"`
 12623  
 12624  	// The error code from the last attempted delivery.
 12625  	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
 12626  
 12627  	// The error message from the last attempted delivery.
 12628  	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
 12629  
 12630  	// Status of the last attempted delivery.
 12631  	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
 12632  
 12633  	// The time of the last successful delivery.
 12634  	LastSuccessfulTime *time.Time `locationName:"lastSuccessfulTime" type:"timestamp"`
 12635  
 12636  	// The time that the next delivery occurs.
 12637  	NextDeliveryTime *time.Time `locationName:"nextDeliveryTime" type:"timestamp"`
 12638  }
 12639  
 12640  // String returns the string representation.
 12641  //
 12642  // API parameter values that are decorated as "sensitive" in the API will not
 12643  // be included in the string output. The member name will be present, but the
 12644  // value will be replaced with "sensitive".
 12645  func (s ConfigExportDeliveryInfo) String() string {
 12646  	return awsutil.Prettify(s)
 12647  }
 12648  
 12649  // GoString returns the string representation.
 12650  //
 12651  // API parameter values that are decorated as "sensitive" in the API will not
 12652  // be included in the string output. The member name will be present, but the
 12653  // value will be replaced with "sensitive".
 12654  func (s ConfigExportDeliveryInfo) GoString() string {
 12655  	return s.String()
 12656  }
 12657  
 12658  // SetLastAttemptTime sets the LastAttemptTime field's value.
 12659  func (s *ConfigExportDeliveryInfo) SetLastAttemptTime(v time.Time) *ConfigExportDeliveryInfo {
 12660  	s.LastAttemptTime = &v
 12661  	return s
 12662  }
 12663  
 12664  // SetLastErrorCode sets the LastErrorCode field's value.
 12665  func (s *ConfigExportDeliveryInfo) SetLastErrorCode(v string) *ConfigExportDeliveryInfo {
 12666  	s.LastErrorCode = &v
 12667  	return s
 12668  }
 12669  
 12670  // SetLastErrorMessage sets the LastErrorMessage field's value.
 12671  func (s *ConfigExportDeliveryInfo) SetLastErrorMessage(v string) *ConfigExportDeliveryInfo {
 12672  	s.LastErrorMessage = &v
 12673  	return s
 12674  }
 12675  
 12676  // SetLastStatus sets the LastStatus field's value.
 12677  func (s *ConfigExportDeliveryInfo) SetLastStatus(v string) *ConfigExportDeliveryInfo {
 12678  	s.LastStatus = &v
 12679  	return s
 12680  }
 12681  
 12682  // SetLastSuccessfulTime sets the LastSuccessfulTime field's value.
 12683  func (s *ConfigExportDeliveryInfo) SetLastSuccessfulTime(v time.Time) *ConfigExportDeliveryInfo {
 12684  	s.LastSuccessfulTime = &v
 12685  	return s
 12686  }
 12687  
 12688  // SetNextDeliveryTime sets the NextDeliveryTime field's value.
 12689  func (s *ConfigExportDeliveryInfo) SetNextDeliveryTime(v time.Time) *ConfigExportDeliveryInfo {
 12690  	s.NextDeliveryTime = &v
 12691  	return s
 12692  }
 12693  
 12694  // An Config rule represents an Lambda function that you create for a custom
 12695  // rule or a predefined function for an Config managed rule. The function evaluates
 12696  // configuration items to assess whether your Amazon Web Services resources
 12697  // comply with your desired configurations. This function can run when Config
 12698  // detects a configuration change to an Amazon Web Services resource and at
 12699  // a periodic frequency that you choose (for example, every 24 hours).
 12700  //
 12701  // You can use the Amazon Web Services CLI and Amazon Web Services SDKs if you
 12702  // want to create a rule that triggers evaluations for your resources when Config
 12703  // delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.
 12704  //
 12705  // For more information about developing and using Config rules, see Evaluating
 12706  // Amazon Web Services resource Configurations with Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
 12707  // in the Config Developer Guide.
 12708  type ConfigRule struct {
 12709  	_ struct{} `type:"structure"`
 12710  
 12711  	// The Amazon Resource Name (ARN) of the Config rule.
 12712  	ConfigRuleArn *string `min:"1" type:"string"`
 12713  
 12714  	// The ID of the Config rule.
 12715  	ConfigRuleId *string `min:"1" type:"string"`
 12716  
 12717  	// The name that you assign to the Config rule. The name is required if you
 12718  	// are adding a new rule.
 12719  	ConfigRuleName *string `min:"1" type:"string"`
 12720  
 12721  	// Indicates whether the Config rule is active or is currently being deleted
 12722  	// by Config. It can also indicate the evaluation status for the Config rule.
 12723  	//
 12724  	// Config sets the state of the rule to EVALUATING temporarily after you use
 12725  	// the StartConfigRulesEvaluation request to evaluate your resources against
 12726  	// the Config rule.
 12727  	//
 12728  	// Config sets the state of the rule to DELETING_RESULTS temporarily after you
 12729  	// use the DeleteEvaluationResults request to delete the current evaluation
 12730  	// results for the Config rule.
 12731  	//
 12732  	// Config temporarily sets the state of a rule to DELETING after you use the
 12733  	// DeleteConfigRule request to delete the rule. After Config deletes the rule,
 12734  	// the rule and all of its evaluations are erased and are no longer available.
 12735  	ConfigRuleState *string `type:"string" enum:"ConfigRuleState"`
 12736  
 12737  	// Service principal name of the service that created the rule.
 12738  	//
 12739  	// The field is populated only if the service linked rule is created by a service.
 12740  	// The field is empty if you create your own rule.
 12741  	CreatedBy *string `min:"1" type:"string"`
 12742  
 12743  	// The description that you provide for the Config rule.
 12744  	Description *string `type:"string"`
 12745  
 12746  	// A string, in JSON format, that is passed to the Config rule Lambda function.
 12747  	InputParameters *string `min:"1" type:"string"`
 12748  
 12749  	// The maximum frequency with which Config runs evaluations for a rule. You
 12750  	// can specify a value for MaximumExecutionFrequency when:
 12751  	//
 12752  	//    * You are using an Config managed rule that is triggered at a periodic
 12753  	//    frequency.
 12754  	//
 12755  	//    * Your custom rule is triggered when Config delivers the configuration
 12756  	//    snapshot. For more information, see ConfigSnapshotDeliveryProperties.
 12757  	//
 12758  	// By default, rules with a periodic trigger are evaluated every 24 hours. To
 12759  	// change the frequency, specify a valid value for the MaximumExecutionFrequency
 12760  	// parameter.
 12761  	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
 12762  
 12763  	// Defines which resources can trigger an evaluation for the rule. The scope
 12764  	// can include one or more resource types, a combination of one resource type
 12765  	// and one resource ID, or a combination of a tag key and value. Specify a scope
 12766  	// to constrain the resources that can trigger an evaluation for the rule. If
 12767  	// you do not specify a scope, evaluations are triggered when any resource in
 12768  	// the recording group changes.
 12769  	//
 12770  	// The scope can be empty.
 12771  	Scope *Scope `type:"structure"`
 12772  
 12773  	// Provides the rule owner (Amazon Web Services or customer), the rule identifier,
 12774  	// and the notifications that cause the function to evaluate your Amazon Web
 12775  	// Services resources.
 12776  	//
 12777  	// Source is a required field
 12778  	Source *Source `type:"structure" required:"true"`
 12779  }
 12780  
 12781  // String returns the string representation.
 12782  //
 12783  // API parameter values that are decorated as "sensitive" in the API will not
 12784  // be included in the string output. The member name will be present, but the
 12785  // value will be replaced with "sensitive".
 12786  func (s ConfigRule) String() string {
 12787  	return awsutil.Prettify(s)
 12788  }
 12789  
 12790  // GoString returns the string representation.
 12791  //
 12792  // API parameter values that are decorated as "sensitive" in the API will not
 12793  // be included in the string output. The member name will be present, but the
 12794  // value will be replaced with "sensitive".
 12795  func (s ConfigRule) GoString() string {
 12796  	return s.String()
 12797  }
 12798  
 12799  // Validate inspects the fields of the type to determine if they are valid.
 12800  func (s *ConfigRule) Validate() error {
 12801  	invalidParams := request.ErrInvalidParams{Context: "ConfigRule"}
 12802  	if s.ConfigRuleArn != nil && len(*s.ConfigRuleArn) < 1 {
 12803  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleArn", 1))
 12804  	}
 12805  	if s.ConfigRuleId != nil && len(*s.ConfigRuleId) < 1 {
 12806  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleId", 1))
 12807  	}
 12808  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 12809  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 12810  	}
 12811  	if s.CreatedBy != nil && len(*s.CreatedBy) < 1 {
 12812  		invalidParams.Add(request.NewErrParamMinLen("CreatedBy", 1))
 12813  	}
 12814  	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
 12815  		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
 12816  	}
 12817  	if s.Source == nil {
 12818  		invalidParams.Add(request.NewErrParamRequired("Source"))
 12819  	}
 12820  	if s.Scope != nil {
 12821  		if err := s.Scope.Validate(); err != nil {
 12822  			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
 12823  		}
 12824  	}
 12825  	if s.Source != nil {
 12826  		if err := s.Source.Validate(); err != nil {
 12827  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
 12828  		}
 12829  	}
 12830  
 12831  	if invalidParams.Len() > 0 {
 12832  		return invalidParams
 12833  	}
 12834  	return nil
 12835  }
 12836  
 12837  // SetConfigRuleArn sets the ConfigRuleArn field's value.
 12838  func (s *ConfigRule) SetConfigRuleArn(v string) *ConfigRule {
 12839  	s.ConfigRuleArn = &v
 12840  	return s
 12841  }
 12842  
 12843  // SetConfigRuleId sets the ConfigRuleId field's value.
 12844  func (s *ConfigRule) SetConfigRuleId(v string) *ConfigRule {
 12845  	s.ConfigRuleId = &v
 12846  	return s
 12847  }
 12848  
 12849  // SetConfigRuleName sets the ConfigRuleName field's value.
 12850  func (s *ConfigRule) SetConfigRuleName(v string) *ConfigRule {
 12851  	s.ConfigRuleName = &v
 12852  	return s
 12853  }
 12854  
 12855  // SetConfigRuleState sets the ConfigRuleState field's value.
 12856  func (s *ConfigRule) SetConfigRuleState(v string) *ConfigRule {
 12857  	s.ConfigRuleState = &v
 12858  	return s
 12859  }
 12860  
 12861  // SetCreatedBy sets the CreatedBy field's value.
 12862  func (s *ConfigRule) SetCreatedBy(v string) *ConfigRule {
 12863  	s.CreatedBy = &v
 12864  	return s
 12865  }
 12866  
 12867  // SetDescription sets the Description field's value.
 12868  func (s *ConfigRule) SetDescription(v string) *ConfigRule {
 12869  	s.Description = &v
 12870  	return s
 12871  }
 12872  
 12873  // SetInputParameters sets the InputParameters field's value.
 12874  func (s *ConfigRule) SetInputParameters(v string) *ConfigRule {
 12875  	s.InputParameters = &v
 12876  	return s
 12877  }
 12878  
 12879  // SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
 12880  func (s *ConfigRule) SetMaximumExecutionFrequency(v string) *ConfigRule {
 12881  	s.MaximumExecutionFrequency = &v
 12882  	return s
 12883  }
 12884  
 12885  // SetScope sets the Scope field's value.
 12886  func (s *ConfigRule) SetScope(v *Scope) *ConfigRule {
 12887  	s.Scope = v
 12888  	return s
 12889  }
 12890  
 12891  // SetSource sets the Source field's value.
 12892  func (s *ConfigRule) SetSource(v *Source) *ConfigRule {
 12893  	s.Source = v
 12894  	return s
 12895  }
 12896  
 12897  // Filters the compliance results based on account ID, region, compliance type,
 12898  // and rule name.
 12899  type ConfigRuleComplianceFilters struct {
 12900  	_ struct{} `type:"structure"`
 12901  
 12902  	// The 12-digit account ID of the source account.
 12903  	AccountId *string `type:"string"`
 12904  
 12905  	// The source region where the data is aggregated.
 12906  	AwsRegion *string `min:"1" type:"string"`
 12907  
 12908  	// The rule compliance status.
 12909  	//
 12910  	// For the ConfigRuleComplianceFilters data type, Config supports only COMPLIANT
 12911  	// and NON_COMPLIANT. Config does not support the NOT_APPLICABLE and the INSUFFICIENT_DATA
 12912  	// values.
 12913  	ComplianceType *string `type:"string" enum:"ComplianceType"`
 12914  
 12915  	// The name of the Config rule.
 12916  	ConfigRuleName *string `min:"1" type:"string"`
 12917  }
 12918  
 12919  // String returns the string representation.
 12920  //
 12921  // API parameter values that are decorated as "sensitive" in the API will not
 12922  // be included in the string output. The member name will be present, but the
 12923  // value will be replaced with "sensitive".
 12924  func (s ConfigRuleComplianceFilters) String() string {
 12925  	return awsutil.Prettify(s)
 12926  }
 12927  
 12928  // GoString returns the string representation.
 12929  //
 12930  // API parameter values that are decorated as "sensitive" in the API will not
 12931  // be included in the string output. The member name will be present, but the
 12932  // value will be replaced with "sensitive".
 12933  func (s ConfigRuleComplianceFilters) GoString() string {
 12934  	return s.String()
 12935  }
 12936  
 12937  // Validate inspects the fields of the type to determine if they are valid.
 12938  func (s *ConfigRuleComplianceFilters) Validate() error {
 12939  	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceFilters"}
 12940  	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
 12941  		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
 12942  	}
 12943  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 12944  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 12945  	}
 12946  
 12947  	if invalidParams.Len() > 0 {
 12948  		return invalidParams
 12949  	}
 12950  	return nil
 12951  }
 12952  
 12953  // SetAccountId sets the AccountId field's value.
 12954  func (s *ConfigRuleComplianceFilters) SetAccountId(v string) *ConfigRuleComplianceFilters {
 12955  	s.AccountId = &v
 12956  	return s
 12957  }
 12958  
 12959  // SetAwsRegion sets the AwsRegion field's value.
 12960  func (s *ConfigRuleComplianceFilters) SetAwsRegion(v string) *ConfigRuleComplianceFilters {
 12961  	s.AwsRegion = &v
 12962  	return s
 12963  }
 12964  
 12965  // SetComplianceType sets the ComplianceType field's value.
 12966  func (s *ConfigRuleComplianceFilters) SetComplianceType(v string) *ConfigRuleComplianceFilters {
 12967  	s.ComplianceType = &v
 12968  	return s
 12969  }
 12970  
 12971  // SetConfigRuleName sets the ConfigRuleName field's value.
 12972  func (s *ConfigRuleComplianceFilters) SetConfigRuleName(v string) *ConfigRuleComplianceFilters {
 12973  	s.ConfigRuleName = &v
 12974  	return s
 12975  }
 12976  
 12977  // Filters the results based on the account IDs and regions.
 12978  type ConfigRuleComplianceSummaryFilters struct {
 12979  	_ struct{} `type:"structure"`
 12980  
 12981  	// The 12-digit account ID of the source account.
 12982  	AccountId *string `type:"string"`
 12983  
 12984  	// The source region where the data is aggregated.
 12985  	AwsRegion *string `min:"1" type:"string"`
 12986  }
 12987  
 12988  // String returns the string representation.
 12989  //
 12990  // API parameter values that are decorated as "sensitive" in the API will not
 12991  // be included in the string output. The member name will be present, but the
 12992  // value will be replaced with "sensitive".
 12993  func (s ConfigRuleComplianceSummaryFilters) String() string {
 12994  	return awsutil.Prettify(s)
 12995  }
 12996  
 12997  // GoString returns the string representation.
 12998  //
 12999  // API parameter values that are decorated as "sensitive" in the API will not
 13000  // be included in the string output. The member name will be present, but the
 13001  // value will be replaced with "sensitive".
 13002  func (s ConfigRuleComplianceSummaryFilters) GoString() string {
 13003  	return s.String()
 13004  }
 13005  
 13006  // Validate inspects the fields of the type to determine if they are valid.
 13007  func (s *ConfigRuleComplianceSummaryFilters) Validate() error {
 13008  	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceSummaryFilters"}
 13009  	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
 13010  		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
 13011  	}
 13012  
 13013  	if invalidParams.Len() > 0 {
 13014  		return invalidParams
 13015  	}
 13016  	return nil
 13017  }
 13018  
 13019  // SetAccountId sets the AccountId field's value.
 13020  func (s *ConfigRuleComplianceSummaryFilters) SetAccountId(v string) *ConfigRuleComplianceSummaryFilters {
 13021  	s.AccountId = &v
 13022  	return s
 13023  }
 13024  
 13025  // SetAwsRegion sets the AwsRegion field's value.
 13026  func (s *ConfigRuleComplianceSummaryFilters) SetAwsRegion(v string) *ConfigRuleComplianceSummaryFilters {
 13027  	s.AwsRegion = &v
 13028  	return s
 13029  }
 13030  
 13031  // Status information for your Config managed rules. The status includes information
 13032  // such as the last time the rule ran, the last time it failed, and the related
 13033  // error for the last failure.
 13034  //
 13035  // This action does not return status information about custom Config rules.
 13036  type ConfigRuleEvaluationStatus struct {
 13037  	_ struct{} `type:"structure"`
 13038  
 13039  	// The Amazon Resource Name (ARN) of the Config rule.
 13040  	ConfigRuleArn *string `type:"string"`
 13041  
 13042  	// The ID of the Config rule.
 13043  	ConfigRuleId *string `type:"string"`
 13044  
 13045  	// The name of the Config rule.
 13046  	ConfigRuleName *string `min:"1" type:"string"`
 13047  
 13048  	// The time that you first activated the Config rule.
 13049  	FirstActivatedTime *time.Time `type:"timestamp"`
 13050  
 13051  	// Indicates whether Config has evaluated your resources against the rule at
 13052  	// least once.
 13053  	//
 13054  	//    * true - Config has evaluated your Amazon Web Services resources against
 13055  	//    the rule at least once.
 13056  	//
 13057  	//    * false - Config has not once finished evaluating your Amazon Web Services
 13058  	//    resources against the rule.
 13059  	FirstEvaluationStarted *bool `type:"boolean"`
 13060  
 13061  	// The time that you last turned off the Config rule.
 13062  	LastDeactivatedTime *time.Time `type:"timestamp"`
 13063  
 13064  	// The error code that Config returned when the rule last failed.
 13065  	LastErrorCode *string `type:"string"`
 13066  
 13067  	// The error message that Config returned when the rule last failed.
 13068  	LastErrorMessage *string `type:"string"`
 13069  
 13070  	// The time that Config last failed to evaluate your Amazon Web Services resources
 13071  	// against the rule.
 13072  	LastFailedEvaluationTime *time.Time `type:"timestamp"`
 13073  
 13074  	// The time that Config last failed to invoke the Config rule to evaluate your
 13075  	// Amazon Web Services resources.
 13076  	LastFailedInvocationTime *time.Time `type:"timestamp"`
 13077  
 13078  	// The time that Config last successfully evaluated your Amazon Web Services
 13079  	// resources against the rule.
 13080  	LastSuccessfulEvaluationTime *time.Time `type:"timestamp"`
 13081  
 13082  	// The time that Config last successfully invoked the Config rule to evaluate
 13083  	// your Amazon Web Services resources.
 13084  	LastSuccessfulInvocationTime *time.Time `type:"timestamp"`
 13085  }
 13086  
 13087  // String returns the string representation.
 13088  //
 13089  // API parameter values that are decorated as "sensitive" in the API will not
 13090  // be included in the string output. The member name will be present, but the
 13091  // value will be replaced with "sensitive".
 13092  func (s ConfigRuleEvaluationStatus) String() string {
 13093  	return awsutil.Prettify(s)
 13094  }
 13095  
 13096  // GoString returns the string representation.
 13097  //
 13098  // API parameter values that are decorated as "sensitive" in the API will not
 13099  // be included in the string output. The member name will be present, but the
 13100  // value will be replaced with "sensitive".
 13101  func (s ConfigRuleEvaluationStatus) GoString() string {
 13102  	return s.String()
 13103  }
 13104  
 13105  // SetConfigRuleArn sets the ConfigRuleArn field's value.
 13106  func (s *ConfigRuleEvaluationStatus) SetConfigRuleArn(v string) *ConfigRuleEvaluationStatus {
 13107  	s.ConfigRuleArn = &v
 13108  	return s
 13109  }
 13110  
 13111  // SetConfigRuleId sets the ConfigRuleId field's value.
 13112  func (s *ConfigRuleEvaluationStatus) SetConfigRuleId(v string) *ConfigRuleEvaluationStatus {
 13113  	s.ConfigRuleId = &v
 13114  	return s
 13115  }
 13116  
 13117  // SetConfigRuleName sets the ConfigRuleName field's value.
 13118  func (s *ConfigRuleEvaluationStatus) SetConfigRuleName(v string) *ConfigRuleEvaluationStatus {
 13119  	s.ConfigRuleName = &v
 13120  	return s
 13121  }
 13122  
 13123  // SetFirstActivatedTime sets the FirstActivatedTime field's value.
 13124  func (s *ConfigRuleEvaluationStatus) SetFirstActivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
 13125  	s.FirstActivatedTime = &v
 13126  	return s
 13127  }
 13128  
 13129  // SetFirstEvaluationStarted sets the FirstEvaluationStarted field's value.
 13130  func (s *ConfigRuleEvaluationStatus) SetFirstEvaluationStarted(v bool) *ConfigRuleEvaluationStatus {
 13131  	s.FirstEvaluationStarted = &v
 13132  	return s
 13133  }
 13134  
 13135  // SetLastDeactivatedTime sets the LastDeactivatedTime field's value.
 13136  func (s *ConfigRuleEvaluationStatus) SetLastDeactivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
 13137  	s.LastDeactivatedTime = &v
 13138  	return s
 13139  }
 13140  
 13141  // SetLastErrorCode sets the LastErrorCode field's value.
 13142  func (s *ConfigRuleEvaluationStatus) SetLastErrorCode(v string) *ConfigRuleEvaluationStatus {
 13143  	s.LastErrorCode = &v
 13144  	return s
 13145  }
 13146  
 13147  // SetLastErrorMessage sets the LastErrorMessage field's value.
 13148  func (s *ConfigRuleEvaluationStatus) SetLastErrorMessage(v string) *ConfigRuleEvaluationStatus {
 13149  	s.LastErrorMessage = &v
 13150  	return s
 13151  }
 13152  
 13153  // SetLastFailedEvaluationTime sets the LastFailedEvaluationTime field's value.
 13154  func (s *ConfigRuleEvaluationStatus) SetLastFailedEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
 13155  	s.LastFailedEvaluationTime = &v
 13156  	return s
 13157  }
 13158  
 13159  // SetLastFailedInvocationTime sets the LastFailedInvocationTime field's value.
 13160  func (s *ConfigRuleEvaluationStatus) SetLastFailedInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
 13161  	s.LastFailedInvocationTime = &v
 13162  	return s
 13163  }
 13164  
 13165  // SetLastSuccessfulEvaluationTime sets the LastSuccessfulEvaluationTime field's value.
 13166  func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
 13167  	s.LastSuccessfulEvaluationTime = &v
 13168  	return s
 13169  }
 13170  
 13171  // SetLastSuccessfulInvocationTime sets the LastSuccessfulInvocationTime field's value.
 13172  func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
 13173  	s.LastSuccessfulInvocationTime = &v
 13174  	return s
 13175  }
 13176  
 13177  // Provides options for how often Config delivers configuration snapshots to
 13178  // the Amazon S3 bucket in your delivery channel.
 13179  //
 13180  // The frequency for a rule that triggers evaluations for your resources when
 13181  // Config delivers the configuration snapshot is set by one of two values, depending
 13182  // on which is less frequent:
 13183  //
 13184  //    * The value for the deliveryFrequency parameter within the delivery channel
 13185  //    configuration, which sets how often Config delivers configuration snapshots.
 13186  //    This value also sets how often Config invokes evaluations for Config rules.
 13187  //
 13188  //    * The value for the MaximumExecutionFrequency parameter, which sets the
 13189  //    maximum frequency with which Config invokes evaluations for the rule.
 13190  //    For more information, see ConfigRule.
 13191  //
 13192  // If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
 13193  // value for a rule, Config invokes the rule only as often as the deliveryFrequency
 13194  // value.
 13195  //
 13196  // For example, you want your rule to run evaluations when Config delivers the
 13197  // configuration snapshot.
 13198  //
 13199  // You specify the MaximumExecutionFrequency value for Six_Hours.
 13200  //
 13201  // You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
 13202  //
 13203  // Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
 13204  // Config invokes evaluations for the rule every 24 hours.
 13205  //
 13206  // You should set the MaximumExecutionFrequency value to be at least as frequent
 13207  // as the deliveryFrequency value. You can view the deliveryFrequency value
 13208  // by using the DescribeDeliveryChannnels action.
 13209  //
 13210  // To update the deliveryFrequency with which Config delivers your configuration
 13211  // snapshots, use the PutDeliveryChannel action.
 13212  type ConfigSnapshotDeliveryProperties struct {
 13213  	_ struct{} `type:"structure"`
 13214  
 13215  	// The frequency with which Config delivers configuration snapshots.
 13216  	DeliveryFrequency *string `locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency"`
 13217  }
 13218  
 13219  // String returns the string representation.
 13220  //
 13221  // API parameter values that are decorated as "sensitive" in the API will not
 13222  // be included in the string output. The member name will be present, but the
 13223  // value will be replaced with "sensitive".
 13224  func (s ConfigSnapshotDeliveryProperties) String() string {
 13225  	return awsutil.Prettify(s)
 13226  }
 13227  
 13228  // GoString returns the string representation.
 13229  //
 13230  // API parameter values that are decorated as "sensitive" in the API will not
 13231  // be included in the string output. The member name will be present, but the
 13232  // value will be replaced with "sensitive".
 13233  func (s ConfigSnapshotDeliveryProperties) GoString() string {
 13234  	return s.String()
 13235  }
 13236  
 13237  // SetDeliveryFrequency sets the DeliveryFrequency field's value.
 13238  func (s *ConfigSnapshotDeliveryProperties) SetDeliveryFrequency(v string) *ConfigSnapshotDeliveryProperties {
 13239  	s.DeliveryFrequency = &v
 13240  	return s
 13241  }
 13242  
 13243  // A list that contains the status of the delivery of the configuration stream
 13244  // notification to the Amazon SNS topic.
 13245  type ConfigStreamDeliveryInfo struct {
 13246  	_ struct{} `type:"structure"`
 13247  
 13248  	// The error code from the last attempted delivery.
 13249  	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
 13250  
 13251  	// The error message from the last attempted delivery.
 13252  	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
 13253  
 13254  	// Status of the last attempted delivery.
 13255  	//
 13256  	// Note Providing an SNS topic on a DeliveryChannel (https://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
 13257  	// for Config is optional. If the SNS delivery is turned off, the last status
 13258  	// will be Not_Applicable.
 13259  	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
 13260  
 13261  	// The time from the last status change.
 13262  	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
 13263  }
 13264  
 13265  // String returns the string representation.
 13266  //
 13267  // API parameter values that are decorated as "sensitive" in the API will not
 13268  // be included in the string output. The member name will be present, but the
 13269  // value will be replaced with "sensitive".
 13270  func (s ConfigStreamDeliveryInfo) String() string {
 13271  	return awsutil.Prettify(s)
 13272  }
 13273  
 13274  // GoString returns the string representation.
 13275  //
 13276  // API parameter values that are decorated as "sensitive" in the API will not
 13277  // be included in the string output. The member name will be present, but the
 13278  // value will be replaced with "sensitive".
 13279  func (s ConfigStreamDeliveryInfo) GoString() string {
 13280  	return s.String()
 13281  }
 13282  
 13283  // SetLastErrorCode sets the LastErrorCode field's value.
 13284  func (s *ConfigStreamDeliveryInfo) SetLastErrorCode(v string) *ConfigStreamDeliveryInfo {
 13285  	s.LastErrorCode = &v
 13286  	return s
 13287  }
 13288  
 13289  // SetLastErrorMessage sets the LastErrorMessage field's value.
 13290  func (s *ConfigStreamDeliveryInfo) SetLastErrorMessage(v string) *ConfigStreamDeliveryInfo {
 13291  	s.LastErrorMessage = &v
 13292  	return s
 13293  }
 13294  
 13295  // SetLastStatus sets the LastStatus field's value.
 13296  func (s *ConfigStreamDeliveryInfo) SetLastStatus(v string) *ConfigStreamDeliveryInfo {
 13297  	s.LastStatus = &v
 13298  	return s
 13299  }
 13300  
 13301  // SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
 13302  func (s *ConfigStreamDeliveryInfo) SetLastStatusChangeTime(v time.Time) *ConfigStreamDeliveryInfo {
 13303  	s.LastStatusChangeTime = &v
 13304  	return s
 13305  }
 13306  
 13307  // The details about the configuration aggregator, including information about
 13308  // source accounts, regions, and metadata of the aggregator.
 13309  type ConfigurationAggregator struct {
 13310  	_ struct{} `type:"structure"`
 13311  
 13312  	// Provides a list of source accounts and regions to be aggregated.
 13313  	AccountAggregationSources []*AccountAggregationSource `type:"list"`
 13314  
 13315  	// The Amazon Resource Name (ARN) of the aggregator.
 13316  	ConfigurationAggregatorArn *string `type:"string"`
 13317  
 13318  	// The name of the aggregator.
 13319  	ConfigurationAggregatorName *string `min:"1" type:"string"`
 13320  
 13321  	// Amazon Web Services service that created the configuration aggregator.
 13322  	CreatedBy *string `min:"1" type:"string"`
 13323  
 13324  	// The time stamp when the configuration aggregator was created.
 13325  	CreationTime *time.Time `type:"timestamp"`
 13326  
 13327  	// The time of the last update.
 13328  	LastUpdatedTime *time.Time `type:"timestamp"`
 13329  
 13330  	// Provides an organization and list of regions to be aggregated.
 13331  	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
 13332  }
 13333  
 13334  // String returns the string representation.
 13335  //
 13336  // API parameter values that are decorated as "sensitive" in the API will not
 13337  // be included in the string output. The member name will be present, but the
 13338  // value will be replaced with "sensitive".
 13339  func (s ConfigurationAggregator) String() string {
 13340  	return awsutil.Prettify(s)
 13341  }
 13342  
 13343  // GoString returns the string representation.
 13344  //
 13345  // API parameter values that are decorated as "sensitive" in the API will not
 13346  // be included in the string output. The member name will be present, but the
 13347  // value will be replaced with "sensitive".
 13348  func (s ConfigurationAggregator) GoString() string {
 13349  	return s.String()
 13350  }
 13351  
 13352  // SetAccountAggregationSources sets the AccountAggregationSources field's value.
 13353  func (s *ConfigurationAggregator) SetAccountAggregationSources(v []*AccountAggregationSource) *ConfigurationAggregator {
 13354  	s.AccountAggregationSources = v
 13355  	return s
 13356  }
 13357  
 13358  // SetConfigurationAggregatorArn sets the ConfigurationAggregatorArn field's value.
 13359  func (s *ConfigurationAggregator) SetConfigurationAggregatorArn(v string) *ConfigurationAggregator {
 13360  	s.ConfigurationAggregatorArn = &v
 13361  	return s
 13362  }
 13363  
 13364  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 13365  func (s *ConfigurationAggregator) SetConfigurationAggregatorName(v string) *ConfigurationAggregator {
 13366  	s.ConfigurationAggregatorName = &v
 13367  	return s
 13368  }
 13369  
 13370  // SetCreatedBy sets the CreatedBy field's value.
 13371  func (s *ConfigurationAggregator) SetCreatedBy(v string) *ConfigurationAggregator {
 13372  	s.CreatedBy = &v
 13373  	return s
 13374  }
 13375  
 13376  // SetCreationTime sets the CreationTime field's value.
 13377  func (s *ConfigurationAggregator) SetCreationTime(v time.Time) *ConfigurationAggregator {
 13378  	s.CreationTime = &v
 13379  	return s
 13380  }
 13381  
 13382  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 13383  func (s *ConfigurationAggregator) SetLastUpdatedTime(v time.Time) *ConfigurationAggregator {
 13384  	s.LastUpdatedTime = &v
 13385  	return s
 13386  }
 13387  
 13388  // SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
 13389  func (s *ConfigurationAggregator) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *ConfigurationAggregator {
 13390  	s.OrganizationAggregationSource = v
 13391  	return s
 13392  }
 13393  
 13394  // A list that contains detailed configurations of a specified resource.
 13395  type ConfigurationItem struct {
 13396  	_ struct{} `type:"structure"`
 13397  
 13398  	// The 12-digit Amazon Web Services account ID associated with the resource.
 13399  	AccountId *string `locationName:"accountId" type:"string"`
 13400  
 13401  	// Amazon Resource Name (ARN) associated with the resource.
 13402  	Arn *string `locationName:"arn" type:"string"`
 13403  
 13404  	// The Availability Zone associated with the resource.
 13405  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 13406  
 13407  	// The region where the resource resides.
 13408  	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
 13409  
 13410  	// The description of the resource configuration.
 13411  	Configuration *string `locationName:"configuration" type:"string"`
 13412  
 13413  	// The time when the configuration recording was initiated.
 13414  	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
 13415  
 13416  	// Unique MD5 hash that represents the configuration item's state.
 13417  	//
 13418  	// You can use MD5 hash to compare the states of two or more configuration items
 13419  	// that are associated with the same resource.
 13420  	ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"`
 13421  
 13422  	// The configuration item status. The valid values are:
 13423  	//
 13424  	//    * OK – The resource configuration has been updated
 13425  	//
 13426  	//    * ResourceDiscovered – The resource was newly discovered
 13427  	//
 13428  	//    * ResourceNotRecorded – The resource was discovered but its configuration
 13429  	//    was not recorded since the recorder excludes the recording of resources
 13430  	//    of this type
 13431  	//
 13432  	//    * ResourceDeleted – The resource was deleted
 13433  	//
 13434  	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
 13435  	//    was not recorded since the recorder excludes the recording of resources
 13436  	//    of this type
 13437  	//
 13438  	// The CIs do not incur any cost.
 13439  	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
 13440  
 13441  	// An identifier that indicates the ordering of the configuration items of a
 13442  	// resource.
 13443  	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
 13444  
 13445  	// A list of CloudTrail event IDs.
 13446  	//
 13447  	// A populated field indicates that the current configuration was initiated
 13448  	// by the events recorded in the CloudTrail log. For more information about
 13449  	// CloudTrail, see What Is CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
 13450  	//
 13451  	// An empty field indicates that the current configuration was not initiated
 13452  	// by any event. As of Version 1.3, the relatedEvents field is empty. You can
 13453  	// access the LookupEvents API (https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html)
 13454  	// in the CloudTrail API Reference to retrieve the events for the resource.
 13455  	RelatedEvents []*string `locationName:"relatedEvents" type:"list"`
 13456  
 13457  	// A list of related Amazon Web Services resources.
 13458  	Relationships []*Relationship `locationName:"relationships" type:"list"`
 13459  
 13460  	// The time stamp when the resource was created.
 13461  	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
 13462  
 13463  	// The ID of the resource (for example, sg-xxxxxx).
 13464  	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
 13465  
 13466  	// The custom name of the resource, if available.
 13467  	ResourceName *string `locationName:"resourceName" type:"string"`
 13468  
 13469  	// The type of Amazon Web Services resource.
 13470  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 13471  
 13472  	// Configuration attributes that Config returns for certain resource types to
 13473  	// supplement the information returned for the configuration parameter.
 13474  	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
 13475  
 13476  	// A mapping of key value tags associated with the resource.
 13477  	Tags map[string]*string `locationName:"tags" type:"map"`
 13478  
 13479  	// The version number of the resource configuration.
 13480  	Version *string `locationName:"version" type:"string"`
 13481  }
 13482  
 13483  // String returns the string representation.
 13484  //
 13485  // API parameter values that are decorated as "sensitive" in the API will not
 13486  // be included in the string output. The member name will be present, but the
 13487  // value will be replaced with "sensitive".
 13488  func (s ConfigurationItem) String() string {
 13489  	return awsutil.Prettify(s)
 13490  }
 13491  
 13492  // GoString returns the string representation.
 13493  //
 13494  // API parameter values that are decorated as "sensitive" in the API will not
 13495  // be included in the string output. The member name will be present, but the
 13496  // value will be replaced with "sensitive".
 13497  func (s ConfigurationItem) GoString() string {
 13498  	return s.String()
 13499  }
 13500  
 13501  // SetAccountId sets the AccountId field's value.
 13502  func (s *ConfigurationItem) SetAccountId(v string) *ConfigurationItem {
 13503  	s.AccountId = &v
 13504  	return s
 13505  }
 13506  
 13507  // SetArn sets the Arn field's value.
 13508  func (s *ConfigurationItem) SetArn(v string) *ConfigurationItem {
 13509  	s.Arn = &v
 13510  	return s
 13511  }
 13512  
 13513  // SetAvailabilityZone sets the AvailabilityZone field's value.
 13514  func (s *ConfigurationItem) SetAvailabilityZone(v string) *ConfigurationItem {
 13515  	s.AvailabilityZone = &v
 13516  	return s
 13517  }
 13518  
 13519  // SetAwsRegion sets the AwsRegion field's value.
 13520  func (s *ConfigurationItem) SetAwsRegion(v string) *ConfigurationItem {
 13521  	s.AwsRegion = &v
 13522  	return s
 13523  }
 13524  
 13525  // SetConfiguration sets the Configuration field's value.
 13526  func (s *ConfigurationItem) SetConfiguration(v string) *ConfigurationItem {
 13527  	s.Configuration = &v
 13528  	return s
 13529  }
 13530  
 13531  // SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
 13532  func (s *ConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *ConfigurationItem {
 13533  	s.ConfigurationItemCaptureTime = &v
 13534  	return s
 13535  }
 13536  
 13537  // SetConfigurationItemMD5Hash sets the ConfigurationItemMD5Hash field's value.
 13538  func (s *ConfigurationItem) SetConfigurationItemMD5Hash(v string) *ConfigurationItem {
 13539  	s.ConfigurationItemMD5Hash = &v
 13540  	return s
 13541  }
 13542  
 13543  // SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
 13544  func (s *ConfigurationItem) SetConfigurationItemStatus(v string) *ConfigurationItem {
 13545  	s.ConfigurationItemStatus = &v
 13546  	return s
 13547  }
 13548  
 13549  // SetConfigurationStateId sets the ConfigurationStateId field's value.
 13550  func (s *ConfigurationItem) SetConfigurationStateId(v string) *ConfigurationItem {
 13551  	s.ConfigurationStateId = &v
 13552  	return s
 13553  }
 13554  
 13555  // SetRelatedEvents sets the RelatedEvents field's value.
 13556  func (s *ConfigurationItem) SetRelatedEvents(v []*string) *ConfigurationItem {
 13557  	s.RelatedEvents = v
 13558  	return s
 13559  }
 13560  
 13561  // SetRelationships sets the Relationships field's value.
 13562  func (s *ConfigurationItem) SetRelationships(v []*Relationship) *ConfigurationItem {
 13563  	s.Relationships = v
 13564  	return s
 13565  }
 13566  
 13567  // SetResourceCreationTime sets the ResourceCreationTime field's value.
 13568  func (s *ConfigurationItem) SetResourceCreationTime(v time.Time) *ConfigurationItem {
 13569  	s.ResourceCreationTime = &v
 13570  	return s
 13571  }
 13572  
 13573  // SetResourceId sets the ResourceId field's value.
 13574  func (s *ConfigurationItem) SetResourceId(v string) *ConfigurationItem {
 13575  	s.ResourceId = &v
 13576  	return s
 13577  }
 13578  
 13579  // SetResourceName sets the ResourceName field's value.
 13580  func (s *ConfigurationItem) SetResourceName(v string) *ConfigurationItem {
 13581  	s.ResourceName = &v
 13582  	return s
 13583  }
 13584  
 13585  // SetResourceType sets the ResourceType field's value.
 13586  func (s *ConfigurationItem) SetResourceType(v string) *ConfigurationItem {
 13587  	s.ResourceType = &v
 13588  	return s
 13589  }
 13590  
 13591  // SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
 13592  func (s *ConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *ConfigurationItem {
 13593  	s.SupplementaryConfiguration = v
 13594  	return s
 13595  }
 13596  
 13597  // SetTags sets the Tags field's value.
 13598  func (s *ConfigurationItem) SetTags(v map[string]*string) *ConfigurationItem {
 13599  	s.Tags = v
 13600  	return s
 13601  }
 13602  
 13603  // SetVersion sets the Version field's value.
 13604  func (s *ConfigurationItem) SetVersion(v string) *ConfigurationItem {
 13605  	s.Version = &v
 13606  	return s
 13607  }
 13608  
 13609  // An object that represents the recording of configuration changes of an Amazon
 13610  // Web Services resource.
 13611  type ConfigurationRecorder struct {
 13612  	_ struct{} `type:"structure"`
 13613  
 13614  	// The name of the recorder. By default, Config automatically assigns the name
 13615  	// "default" when creating the configuration recorder. You cannot change the
 13616  	// assigned name.
 13617  	Name *string `locationName:"name" min:"1" type:"string"`
 13618  
 13619  	// Specifies the types of Amazon Web Services resources for which Config records
 13620  	// configuration changes.
 13621  	RecordingGroup *RecordingGroup `locationName:"recordingGroup" type:"structure"`
 13622  
 13623  	// Amazon Resource Name (ARN) of the IAM role used to describe the Amazon Web
 13624  	// Services resources associated with the account.
 13625  	RoleARN *string `locationName:"roleARN" type:"string"`
 13626  }
 13627  
 13628  // String returns the string representation.
 13629  //
 13630  // API parameter values that are decorated as "sensitive" in the API will not
 13631  // be included in the string output. The member name will be present, but the
 13632  // value will be replaced with "sensitive".
 13633  func (s ConfigurationRecorder) String() string {
 13634  	return awsutil.Prettify(s)
 13635  }
 13636  
 13637  // GoString returns the string representation.
 13638  //
 13639  // API parameter values that are decorated as "sensitive" in the API will not
 13640  // be included in the string output. The member name will be present, but the
 13641  // value will be replaced with "sensitive".
 13642  func (s ConfigurationRecorder) GoString() string {
 13643  	return s.String()
 13644  }
 13645  
 13646  // Validate inspects the fields of the type to determine if they are valid.
 13647  func (s *ConfigurationRecorder) Validate() error {
 13648  	invalidParams := request.ErrInvalidParams{Context: "ConfigurationRecorder"}
 13649  	if s.Name != nil && len(*s.Name) < 1 {
 13650  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13651  	}
 13652  
 13653  	if invalidParams.Len() > 0 {
 13654  		return invalidParams
 13655  	}
 13656  	return nil
 13657  }
 13658  
 13659  // SetName sets the Name field's value.
 13660  func (s *ConfigurationRecorder) SetName(v string) *ConfigurationRecorder {
 13661  	s.Name = &v
 13662  	return s
 13663  }
 13664  
 13665  // SetRecordingGroup sets the RecordingGroup field's value.
 13666  func (s *ConfigurationRecorder) SetRecordingGroup(v *RecordingGroup) *ConfigurationRecorder {
 13667  	s.RecordingGroup = v
 13668  	return s
 13669  }
 13670  
 13671  // SetRoleARN sets the RoleARN field's value.
 13672  func (s *ConfigurationRecorder) SetRoleARN(v string) *ConfigurationRecorder {
 13673  	s.RoleARN = &v
 13674  	return s
 13675  }
 13676  
 13677  // The current status of the configuration recorder.
 13678  type ConfigurationRecorderStatus struct {
 13679  	_ struct{} `type:"structure"`
 13680  
 13681  	// The error code indicating that the recording failed.
 13682  	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
 13683  
 13684  	// The message indicating that the recording failed due to an error.
 13685  	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
 13686  
 13687  	// The time the recorder was last started.
 13688  	LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"`
 13689  
 13690  	// The last (previous) status of the recorder.
 13691  	LastStatus *string `locationName:"lastStatus" type:"string" enum:"RecorderStatus"`
 13692  
 13693  	// The time when the status was last changed.
 13694  	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
 13695  
 13696  	// The time the recorder was last stopped.
 13697  	LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp"`
 13698  
 13699  	// The name of the configuration recorder.
 13700  	Name *string `locationName:"name" type:"string"`
 13701  
 13702  	// Specifies whether or not the recorder is currently recording.
 13703  	Recording *bool `locationName:"recording" type:"boolean"`
 13704  }
 13705  
 13706  // String returns the string representation.
 13707  //
 13708  // API parameter values that are decorated as "sensitive" in the API will not
 13709  // be included in the string output. The member name will be present, but the
 13710  // value will be replaced with "sensitive".
 13711  func (s ConfigurationRecorderStatus) String() string {
 13712  	return awsutil.Prettify(s)
 13713  }
 13714  
 13715  // GoString returns the string representation.
 13716  //
 13717  // API parameter values that are decorated as "sensitive" in the API will not
 13718  // be included in the string output. The member name will be present, but the
 13719  // value will be replaced with "sensitive".
 13720  func (s ConfigurationRecorderStatus) GoString() string {
 13721  	return s.String()
 13722  }
 13723  
 13724  // SetLastErrorCode sets the LastErrorCode field's value.
 13725  func (s *ConfigurationRecorderStatus) SetLastErrorCode(v string) *ConfigurationRecorderStatus {
 13726  	s.LastErrorCode = &v
 13727  	return s
 13728  }
 13729  
 13730  // SetLastErrorMessage sets the LastErrorMessage field's value.
 13731  func (s *ConfigurationRecorderStatus) SetLastErrorMessage(v string) *ConfigurationRecorderStatus {
 13732  	s.LastErrorMessage = &v
 13733  	return s
 13734  }
 13735  
 13736  // SetLastStartTime sets the LastStartTime field's value.
 13737  func (s *ConfigurationRecorderStatus) SetLastStartTime(v time.Time) *ConfigurationRecorderStatus {
 13738  	s.LastStartTime = &v
 13739  	return s
 13740  }
 13741  
 13742  // SetLastStatus sets the LastStatus field's value.
 13743  func (s *ConfigurationRecorderStatus) SetLastStatus(v string) *ConfigurationRecorderStatus {
 13744  	s.LastStatus = &v
 13745  	return s
 13746  }
 13747  
 13748  // SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
 13749  func (s *ConfigurationRecorderStatus) SetLastStatusChangeTime(v time.Time) *ConfigurationRecorderStatus {
 13750  	s.LastStatusChangeTime = &v
 13751  	return s
 13752  }
 13753  
 13754  // SetLastStopTime sets the LastStopTime field's value.
 13755  func (s *ConfigurationRecorderStatus) SetLastStopTime(v time.Time) *ConfigurationRecorderStatus {
 13756  	s.LastStopTime = &v
 13757  	return s
 13758  }
 13759  
 13760  // SetName sets the Name field's value.
 13761  func (s *ConfigurationRecorderStatus) SetName(v string) *ConfigurationRecorderStatus {
 13762  	s.Name = &v
 13763  	return s
 13764  }
 13765  
 13766  // SetRecording sets the Recording field's value.
 13767  func (s *ConfigurationRecorderStatus) SetRecording(v bool) *ConfigurationRecorderStatus {
 13768  	s.Recording = &v
 13769  	return s
 13770  }
 13771  
 13772  // Filters the conformance pack by compliance types and Config rule names.
 13773  type ConformancePackComplianceFilters struct {
 13774  	_ struct{} `type:"structure"`
 13775  
 13776  	// Filters the results by compliance.
 13777  	//
 13778  	// The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is
 13779  	// not supported.
 13780  	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
 13781  
 13782  	// Filters the results by Config rule names.
 13783  	ConfigRuleNames []*string `type:"list"`
 13784  }
 13785  
 13786  // String returns the string representation.
 13787  //
 13788  // API parameter values that are decorated as "sensitive" in the API will not
 13789  // be included in the string output. The member name will be present, but the
 13790  // value will be replaced with "sensitive".
 13791  func (s ConformancePackComplianceFilters) String() string {
 13792  	return awsutil.Prettify(s)
 13793  }
 13794  
 13795  // GoString returns the string representation.
 13796  //
 13797  // API parameter values that are decorated as "sensitive" in the API will not
 13798  // be included in the string output. The member name will be present, but the
 13799  // value will be replaced with "sensitive".
 13800  func (s ConformancePackComplianceFilters) GoString() string {
 13801  	return s.String()
 13802  }
 13803  
 13804  // SetComplianceType sets the ComplianceType field's value.
 13805  func (s *ConformancePackComplianceFilters) SetComplianceType(v string) *ConformancePackComplianceFilters {
 13806  	s.ComplianceType = &v
 13807  	return s
 13808  }
 13809  
 13810  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 13811  func (s *ConformancePackComplianceFilters) SetConfigRuleNames(v []*string) *ConformancePackComplianceFilters {
 13812  	s.ConfigRuleNames = v
 13813  	return s
 13814  }
 13815  
 13816  // Summary includes the name and status of the conformance pack.
 13817  type ConformancePackComplianceSummary struct {
 13818  	_ struct{} `type:"structure"`
 13819  
 13820  	// The status of the conformance pack. The allowed values are COMPLIANT, NON_COMPLIANT
 13821  	// and INSUFFICIENT_DATA.
 13822  	//
 13823  	// ConformancePackComplianceStatus is a required field
 13824  	ConformancePackComplianceStatus *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
 13825  
 13826  	// The name of the conformance pack name.
 13827  	//
 13828  	// ConformancePackName is a required field
 13829  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 13830  }
 13831  
 13832  // String returns the string representation.
 13833  //
 13834  // API parameter values that are decorated as "sensitive" in the API will not
 13835  // be included in the string output. The member name will be present, but the
 13836  // value will be replaced with "sensitive".
 13837  func (s ConformancePackComplianceSummary) String() string {
 13838  	return awsutil.Prettify(s)
 13839  }
 13840  
 13841  // GoString returns the string representation.
 13842  //
 13843  // API parameter values that are decorated as "sensitive" in the API will not
 13844  // be included in the string output. The member name will be present, but the
 13845  // value will be replaced with "sensitive".
 13846  func (s ConformancePackComplianceSummary) GoString() string {
 13847  	return s.String()
 13848  }
 13849  
 13850  // SetConformancePackComplianceStatus sets the ConformancePackComplianceStatus field's value.
 13851  func (s *ConformancePackComplianceSummary) SetConformancePackComplianceStatus(v string) *ConformancePackComplianceSummary {
 13852  	s.ConformancePackComplianceStatus = &v
 13853  	return s
 13854  }
 13855  
 13856  // SetConformancePackName sets the ConformancePackName field's value.
 13857  func (s *ConformancePackComplianceSummary) SetConformancePackName(v string) *ConformancePackComplianceSummary {
 13858  	s.ConformancePackName = &v
 13859  	return s
 13860  }
 13861  
 13862  // Returns details of a conformance pack. A conformance pack is a collection
 13863  // of Config rules and remediation actions that can be easily deployed in an
 13864  // account and a region.
 13865  type ConformancePackDetail struct {
 13866  	_ struct{} `type:"structure"`
 13867  
 13868  	// Amazon Resource Name (ARN) of the conformance pack.
 13869  	//
 13870  	// ConformancePackArn is a required field
 13871  	ConformancePackArn *string `min:"1" type:"string" required:"true"`
 13872  
 13873  	// ID of the conformance pack.
 13874  	//
 13875  	// ConformancePackId is a required field
 13876  	ConformancePackId *string `min:"1" type:"string" required:"true"`
 13877  
 13878  	// A list of ConformancePackInputParameter objects.
 13879  	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
 13880  
 13881  	// Name of the conformance pack.
 13882  	//
 13883  	// ConformancePackName is a required field
 13884  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 13885  
 13886  	// Amazon Web Services service that created the conformance pack.
 13887  	CreatedBy *string `min:"1" type:"string"`
 13888  
 13889  	// The name of the Amazon S3 bucket where Config stores conformance pack templates.
 13890  	//
 13891  	// This field is optional.
 13892  	DeliveryS3Bucket *string `type:"string"`
 13893  
 13894  	// The prefix for the Amazon S3 bucket.
 13895  	//
 13896  	// This field is optional.
 13897  	DeliveryS3KeyPrefix *string `type:"string"`
 13898  
 13899  	// Last time when conformation pack update was requested.
 13900  	LastUpdateRequestedTime *time.Time `type:"timestamp"`
 13901  }
 13902  
 13903  // String returns the string representation.
 13904  //
 13905  // API parameter values that are decorated as "sensitive" in the API will not
 13906  // be included in the string output. The member name will be present, but the
 13907  // value will be replaced with "sensitive".
 13908  func (s ConformancePackDetail) String() string {
 13909  	return awsutil.Prettify(s)
 13910  }
 13911  
 13912  // GoString returns the string representation.
 13913  //
 13914  // API parameter values that are decorated as "sensitive" in the API will not
 13915  // be included in the string output. The member name will be present, but the
 13916  // value will be replaced with "sensitive".
 13917  func (s ConformancePackDetail) GoString() string {
 13918  	return s.String()
 13919  }
 13920  
 13921  // SetConformancePackArn sets the ConformancePackArn field's value.
 13922  func (s *ConformancePackDetail) SetConformancePackArn(v string) *ConformancePackDetail {
 13923  	s.ConformancePackArn = &v
 13924  	return s
 13925  }
 13926  
 13927  // SetConformancePackId sets the ConformancePackId field's value.
 13928  func (s *ConformancePackDetail) SetConformancePackId(v string) *ConformancePackDetail {
 13929  	s.ConformancePackId = &v
 13930  	return s
 13931  }
 13932  
 13933  // SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
 13934  func (s *ConformancePackDetail) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *ConformancePackDetail {
 13935  	s.ConformancePackInputParameters = v
 13936  	return s
 13937  }
 13938  
 13939  // SetConformancePackName sets the ConformancePackName field's value.
 13940  func (s *ConformancePackDetail) SetConformancePackName(v string) *ConformancePackDetail {
 13941  	s.ConformancePackName = &v
 13942  	return s
 13943  }
 13944  
 13945  // SetCreatedBy sets the CreatedBy field's value.
 13946  func (s *ConformancePackDetail) SetCreatedBy(v string) *ConformancePackDetail {
 13947  	s.CreatedBy = &v
 13948  	return s
 13949  }
 13950  
 13951  // SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
 13952  func (s *ConformancePackDetail) SetDeliveryS3Bucket(v string) *ConformancePackDetail {
 13953  	s.DeliveryS3Bucket = &v
 13954  	return s
 13955  }
 13956  
 13957  // SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
 13958  func (s *ConformancePackDetail) SetDeliveryS3KeyPrefix(v string) *ConformancePackDetail {
 13959  	s.DeliveryS3KeyPrefix = &v
 13960  	return s
 13961  }
 13962  
 13963  // SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
 13964  func (s *ConformancePackDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackDetail {
 13965  	s.LastUpdateRequestedTime = &v
 13966  	return s
 13967  }
 13968  
 13969  // Filters a conformance pack by Config rule names, compliance types, Amazon
 13970  // Web Services resource types, and resource IDs.
 13971  type ConformancePackEvaluationFilters struct {
 13972  	_ struct{} `type:"structure"`
 13973  
 13974  	// Filters the results by compliance.
 13975  	//
 13976  	// The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is
 13977  	// not supported.
 13978  	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
 13979  
 13980  	// Filters the results by Config rule names.
 13981  	ConfigRuleNames []*string `type:"list"`
 13982  
 13983  	// Filters the results by resource IDs.
 13984  	//
 13985  	// This is valid only when you provide resource type. If there is no resource
 13986  	// type, you will see an error.
 13987  	ResourceIds []*string `type:"list"`
 13988  
 13989  	// Filters the results by the resource type (for example, "AWS::EC2::Instance").
 13990  	ResourceType *string `min:"1" type:"string"`
 13991  }
 13992  
 13993  // String returns the string representation.
 13994  //
 13995  // API parameter values that are decorated as "sensitive" in the API will not
 13996  // be included in the string output. The member name will be present, but the
 13997  // value will be replaced with "sensitive".
 13998  func (s ConformancePackEvaluationFilters) String() string {
 13999  	return awsutil.Prettify(s)
 14000  }
 14001  
 14002  // GoString returns the string representation.
 14003  //
 14004  // API parameter values that are decorated as "sensitive" in the API will not
 14005  // be included in the string output. The member name will be present, but the
 14006  // value will be replaced with "sensitive".
 14007  func (s ConformancePackEvaluationFilters) GoString() string {
 14008  	return s.String()
 14009  }
 14010  
 14011  // Validate inspects the fields of the type to determine if they are valid.
 14012  func (s *ConformancePackEvaluationFilters) Validate() error {
 14013  	invalidParams := request.ErrInvalidParams{Context: "ConformancePackEvaluationFilters"}
 14014  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 14015  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 14016  	}
 14017  
 14018  	if invalidParams.Len() > 0 {
 14019  		return invalidParams
 14020  	}
 14021  	return nil
 14022  }
 14023  
 14024  // SetComplianceType sets the ComplianceType field's value.
 14025  func (s *ConformancePackEvaluationFilters) SetComplianceType(v string) *ConformancePackEvaluationFilters {
 14026  	s.ComplianceType = &v
 14027  	return s
 14028  }
 14029  
 14030  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 14031  func (s *ConformancePackEvaluationFilters) SetConfigRuleNames(v []*string) *ConformancePackEvaluationFilters {
 14032  	s.ConfigRuleNames = v
 14033  	return s
 14034  }
 14035  
 14036  // SetResourceIds sets the ResourceIds field's value.
 14037  func (s *ConformancePackEvaluationFilters) SetResourceIds(v []*string) *ConformancePackEvaluationFilters {
 14038  	s.ResourceIds = v
 14039  	return s
 14040  }
 14041  
 14042  // SetResourceType sets the ResourceType field's value.
 14043  func (s *ConformancePackEvaluationFilters) SetResourceType(v string) *ConformancePackEvaluationFilters {
 14044  	s.ResourceType = &v
 14045  	return s
 14046  }
 14047  
 14048  // The details of a conformance pack evaluation. Provides Config rule and Amazon
 14049  // Web Services resource type that was evaluated, the compliance of the conformance
 14050  // pack, related time stamps, and supplementary information.
 14051  type ConformancePackEvaluationResult struct {
 14052  	_ struct{} `type:"structure"`
 14053  
 14054  	// Supplementary information about how the evaluation determined the compliance.
 14055  	Annotation *string `type:"string"`
 14056  
 14057  	// The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT.
 14058  	// INSUFFICIENT_DATA is not supported.
 14059  	//
 14060  	// ComplianceType is a required field
 14061  	ComplianceType *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
 14062  
 14063  	// The time when Config rule evaluated Amazon Web Services resource.
 14064  	//
 14065  	// ConfigRuleInvokedTime is a required field
 14066  	ConfigRuleInvokedTime *time.Time `type:"timestamp" required:"true"`
 14067  
 14068  	// Uniquely identifies an evaluation result.
 14069  	//
 14070  	// EvaluationResultIdentifier is a required field
 14071  	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure" required:"true"`
 14072  
 14073  	// The time when Config recorded the evaluation result.
 14074  	//
 14075  	// ResultRecordedTime is a required field
 14076  	ResultRecordedTime *time.Time `type:"timestamp" required:"true"`
 14077  }
 14078  
 14079  // String returns the string representation.
 14080  //
 14081  // API parameter values that are decorated as "sensitive" in the API will not
 14082  // be included in the string output. The member name will be present, but the
 14083  // value will be replaced with "sensitive".
 14084  func (s ConformancePackEvaluationResult) String() string {
 14085  	return awsutil.Prettify(s)
 14086  }
 14087  
 14088  // GoString returns the string representation.
 14089  //
 14090  // API parameter values that are decorated as "sensitive" in the API will not
 14091  // be included in the string output. The member name will be present, but the
 14092  // value will be replaced with "sensitive".
 14093  func (s ConformancePackEvaluationResult) GoString() string {
 14094  	return s.String()
 14095  }
 14096  
 14097  // SetAnnotation sets the Annotation field's value.
 14098  func (s *ConformancePackEvaluationResult) SetAnnotation(v string) *ConformancePackEvaluationResult {
 14099  	s.Annotation = &v
 14100  	return s
 14101  }
 14102  
 14103  // SetComplianceType sets the ComplianceType field's value.
 14104  func (s *ConformancePackEvaluationResult) SetComplianceType(v string) *ConformancePackEvaluationResult {
 14105  	s.ComplianceType = &v
 14106  	return s
 14107  }
 14108  
 14109  // SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
 14110  func (s *ConformancePackEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *ConformancePackEvaluationResult {
 14111  	s.ConfigRuleInvokedTime = &v
 14112  	return s
 14113  }
 14114  
 14115  // SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
 14116  func (s *ConformancePackEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *ConformancePackEvaluationResult {
 14117  	s.EvaluationResultIdentifier = v
 14118  	return s
 14119  }
 14120  
 14121  // SetResultRecordedTime sets the ResultRecordedTime field's value.
 14122  func (s *ConformancePackEvaluationResult) SetResultRecordedTime(v time.Time) *ConformancePackEvaluationResult {
 14123  	s.ResultRecordedTime = &v
 14124  	return s
 14125  }
 14126  
 14127  // Input parameters in the form of key-value pairs for the conformance pack,
 14128  // both of which you define. Keys can have a maximum character length of 255
 14129  // characters, and values can have a maximum length of 4096 characters.
 14130  type ConformancePackInputParameter struct {
 14131  	_ struct{} `type:"structure"`
 14132  
 14133  	// One part of a key-value pair.
 14134  	//
 14135  	// ParameterName is a required field
 14136  	ParameterName *string `type:"string" required:"true"`
 14137  
 14138  	// Another part of the key-value pair.
 14139  	//
 14140  	// ParameterValue is a required field
 14141  	ParameterValue *string `type:"string" required:"true"`
 14142  }
 14143  
 14144  // String returns the string representation.
 14145  //
 14146  // API parameter values that are decorated as "sensitive" in the API will not
 14147  // be included in the string output. The member name will be present, but the
 14148  // value will be replaced with "sensitive".
 14149  func (s ConformancePackInputParameter) String() string {
 14150  	return awsutil.Prettify(s)
 14151  }
 14152  
 14153  // GoString returns the string representation.
 14154  //
 14155  // API parameter values that are decorated as "sensitive" in the API will not
 14156  // be included in the string output. The member name will be present, but the
 14157  // value will be replaced with "sensitive".
 14158  func (s ConformancePackInputParameter) GoString() string {
 14159  	return s.String()
 14160  }
 14161  
 14162  // Validate inspects the fields of the type to determine if they are valid.
 14163  func (s *ConformancePackInputParameter) Validate() error {
 14164  	invalidParams := request.ErrInvalidParams{Context: "ConformancePackInputParameter"}
 14165  	if s.ParameterName == nil {
 14166  		invalidParams.Add(request.NewErrParamRequired("ParameterName"))
 14167  	}
 14168  	if s.ParameterValue == nil {
 14169  		invalidParams.Add(request.NewErrParamRequired("ParameterValue"))
 14170  	}
 14171  
 14172  	if invalidParams.Len() > 0 {
 14173  		return invalidParams
 14174  	}
 14175  	return nil
 14176  }
 14177  
 14178  // SetParameterName sets the ParameterName field's value.
 14179  func (s *ConformancePackInputParameter) SetParameterName(v string) *ConformancePackInputParameter {
 14180  	s.ParameterName = &v
 14181  	return s
 14182  }
 14183  
 14184  // SetParameterValue sets the ParameterValue field's value.
 14185  func (s *ConformancePackInputParameter) SetParameterValue(v string) *ConformancePackInputParameter {
 14186  	s.ParameterValue = &v
 14187  	return s
 14188  }
 14189  
 14190  // Compliance information of one or more Config rules within a conformance pack.
 14191  // You can filter using Config rule names and compliance types.
 14192  type ConformancePackRuleCompliance struct {
 14193  	_ struct{} `type:"structure"`
 14194  
 14195  	// Compliance of the Config rule.
 14196  	//
 14197  	// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
 14198  	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
 14199  
 14200  	// Name of the config rule.
 14201  	ConfigRuleName *string `min:"1" type:"string"`
 14202  
 14203  	// Controls for the conformance pack. A control is a process to prevent or detect
 14204  	// problems while meeting objectives. A control can align with a specific compliance
 14205  	// regime or map to internal controls defined by an organization.
 14206  	Controls []*string `type:"list"`
 14207  }
 14208  
 14209  // String returns the string representation.
 14210  //
 14211  // API parameter values that are decorated as "sensitive" in the API will not
 14212  // be included in the string output. The member name will be present, but the
 14213  // value will be replaced with "sensitive".
 14214  func (s ConformancePackRuleCompliance) String() string {
 14215  	return awsutil.Prettify(s)
 14216  }
 14217  
 14218  // GoString returns the string representation.
 14219  //
 14220  // API parameter values that are decorated as "sensitive" in the API will not
 14221  // be included in the string output. The member name will be present, but the
 14222  // value will be replaced with "sensitive".
 14223  func (s ConformancePackRuleCompliance) GoString() string {
 14224  	return s.String()
 14225  }
 14226  
 14227  // SetComplianceType sets the ComplianceType field's value.
 14228  func (s *ConformancePackRuleCompliance) SetComplianceType(v string) *ConformancePackRuleCompliance {
 14229  	s.ComplianceType = &v
 14230  	return s
 14231  }
 14232  
 14233  // SetConfigRuleName sets the ConfigRuleName field's value.
 14234  func (s *ConformancePackRuleCompliance) SetConfigRuleName(v string) *ConformancePackRuleCompliance {
 14235  	s.ConfigRuleName = &v
 14236  	return s
 14237  }
 14238  
 14239  // SetControls sets the Controls field's value.
 14240  func (s *ConformancePackRuleCompliance) SetControls(v []*string) *ConformancePackRuleCompliance {
 14241  	s.Controls = v
 14242  	return s
 14243  }
 14244  
 14245  // Status details of a conformance pack.
 14246  type ConformancePackStatusDetail struct {
 14247  	_ struct{} `type:"structure"`
 14248  
 14249  	// Amazon Resource Name (ARN) of comformance pack.
 14250  	//
 14251  	// ConformancePackArn is a required field
 14252  	ConformancePackArn *string `min:"1" type:"string" required:"true"`
 14253  
 14254  	// ID of the conformance pack.
 14255  	//
 14256  	// ConformancePackId is a required field
 14257  	ConformancePackId *string `min:"1" type:"string" required:"true"`
 14258  
 14259  	// Name of the conformance pack.
 14260  	//
 14261  	// ConformancePackName is a required field
 14262  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 14263  
 14264  	// Indicates deployment status of conformance pack.
 14265  	//
 14266  	// Config sets the state of the conformance pack to:
 14267  	//
 14268  	//    * CREATE_IN_PROGRESS when a conformance pack creation is in progress for
 14269  	//    an account.
 14270  	//
 14271  	//    * CREATE_COMPLETE when a conformance pack has been successfully created
 14272  	//    in your account.
 14273  	//
 14274  	//    * CREATE_FAILED when a conformance pack creation failed in your account.
 14275  	//
 14276  	//    * DELETE_IN_PROGRESS when a conformance pack deletion is in progress.
 14277  	//
 14278  	//    * DELETE_FAILED when a conformance pack deletion failed in your account.
 14279  	//
 14280  	// ConformancePackState is a required field
 14281  	ConformancePackState *string `type:"string" required:"true" enum:"ConformancePackState"`
 14282  
 14283  	// The reason of conformance pack creation failure.
 14284  	ConformancePackStatusReason *string `type:"string"`
 14285  
 14286  	// Last time when conformation pack creation and update was successful.
 14287  	LastUpdateCompletedTime *time.Time `type:"timestamp"`
 14288  
 14289  	// Last time when conformation pack creation and update was requested.
 14290  	//
 14291  	// LastUpdateRequestedTime is a required field
 14292  	LastUpdateRequestedTime *time.Time `type:"timestamp" required:"true"`
 14293  
 14294  	// Amazon Resource Name (ARN) of CloudFormation stack.
 14295  	//
 14296  	// StackArn is a required field
 14297  	StackArn *string `min:"1" type:"string" required:"true"`
 14298  }
 14299  
 14300  // String returns the string representation.
 14301  //
 14302  // API parameter values that are decorated as "sensitive" in the API will not
 14303  // be included in the string output. The member name will be present, but the
 14304  // value will be replaced with "sensitive".
 14305  func (s ConformancePackStatusDetail) String() string {
 14306  	return awsutil.Prettify(s)
 14307  }
 14308  
 14309  // GoString returns the string representation.
 14310  //
 14311  // API parameter values that are decorated as "sensitive" in the API will not
 14312  // be included in the string output. The member name will be present, but the
 14313  // value will be replaced with "sensitive".
 14314  func (s ConformancePackStatusDetail) GoString() string {
 14315  	return s.String()
 14316  }
 14317  
 14318  // SetConformancePackArn sets the ConformancePackArn field's value.
 14319  func (s *ConformancePackStatusDetail) SetConformancePackArn(v string) *ConformancePackStatusDetail {
 14320  	s.ConformancePackArn = &v
 14321  	return s
 14322  }
 14323  
 14324  // SetConformancePackId sets the ConformancePackId field's value.
 14325  func (s *ConformancePackStatusDetail) SetConformancePackId(v string) *ConformancePackStatusDetail {
 14326  	s.ConformancePackId = &v
 14327  	return s
 14328  }
 14329  
 14330  // SetConformancePackName sets the ConformancePackName field's value.
 14331  func (s *ConformancePackStatusDetail) SetConformancePackName(v string) *ConformancePackStatusDetail {
 14332  	s.ConformancePackName = &v
 14333  	return s
 14334  }
 14335  
 14336  // SetConformancePackState sets the ConformancePackState field's value.
 14337  func (s *ConformancePackStatusDetail) SetConformancePackState(v string) *ConformancePackStatusDetail {
 14338  	s.ConformancePackState = &v
 14339  	return s
 14340  }
 14341  
 14342  // SetConformancePackStatusReason sets the ConformancePackStatusReason field's value.
 14343  func (s *ConformancePackStatusDetail) SetConformancePackStatusReason(v string) *ConformancePackStatusDetail {
 14344  	s.ConformancePackStatusReason = &v
 14345  	return s
 14346  }
 14347  
 14348  // SetLastUpdateCompletedTime sets the LastUpdateCompletedTime field's value.
 14349  func (s *ConformancePackStatusDetail) SetLastUpdateCompletedTime(v time.Time) *ConformancePackStatusDetail {
 14350  	s.LastUpdateCompletedTime = &v
 14351  	return s
 14352  }
 14353  
 14354  // SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
 14355  func (s *ConformancePackStatusDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackStatusDetail {
 14356  	s.LastUpdateRequestedTime = &v
 14357  	return s
 14358  }
 14359  
 14360  // SetStackArn sets the StackArn field's value.
 14361  func (s *ConformancePackStatusDetail) SetStackArn(v string) *ConformancePackStatusDetail {
 14362  	s.StackArn = &v
 14363  	return s
 14364  }
 14365  
 14366  // You have specified a template that is not valid or supported.
 14367  type ConformancePackTemplateValidationException struct {
 14368  	_            struct{}                  `type:"structure"`
 14369  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14370  
 14371  	Message_ *string `locationName:"message" type:"string"`
 14372  }
 14373  
 14374  // String returns the string representation.
 14375  //
 14376  // API parameter values that are decorated as "sensitive" in the API will not
 14377  // be included in the string output. The member name will be present, but the
 14378  // value will be replaced with "sensitive".
 14379  func (s ConformancePackTemplateValidationException) String() string {
 14380  	return awsutil.Prettify(s)
 14381  }
 14382  
 14383  // GoString returns the string representation.
 14384  //
 14385  // API parameter values that are decorated as "sensitive" in the API will not
 14386  // be included in the string output. The member name will be present, but the
 14387  // value will be replaced with "sensitive".
 14388  func (s ConformancePackTemplateValidationException) GoString() string {
 14389  	return s.String()
 14390  }
 14391  
 14392  func newErrorConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
 14393  	return &ConformancePackTemplateValidationException{
 14394  		RespMetadata: v,
 14395  	}
 14396  }
 14397  
 14398  // Code returns the exception type name.
 14399  func (s *ConformancePackTemplateValidationException) Code() string {
 14400  	return "ConformancePackTemplateValidationException"
 14401  }
 14402  
 14403  // Message returns the exception's message.
 14404  func (s *ConformancePackTemplateValidationException) Message() string {
 14405  	if s.Message_ != nil {
 14406  		return *s.Message_
 14407  	}
 14408  	return ""
 14409  }
 14410  
 14411  // OrigErr always returns nil, satisfies awserr.Error interface.
 14412  func (s *ConformancePackTemplateValidationException) OrigErr() error {
 14413  	return nil
 14414  }
 14415  
 14416  func (s *ConformancePackTemplateValidationException) Error() string {
 14417  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14418  }
 14419  
 14420  // Status code returns the HTTP status code for the request's response error.
 14421  func (s *ConformancePackTemplateValidationException) StatusCode() int {
 14422  	return s.RespMetadata.StatusCode
 14423  }
 14424  
 14425  // RequestID returns the service's response RequestID for request.
 14426  func (s *ConformancePackTemplateValidationException) RequestID() string {
 14427  	return s.RespMetadata.RequestID
 14428  }
 14429  
 14430  type DeleteAggregationAuthorizationInput struct {
 14431  	_ struct{} `type:"structure"`
 14432  
 14433  	// The 12-digit account ID of the account authorized to aggregate data.
 14434  	//
 14435  	// AuthorizedAccountId is a required field
 14436  	AuthorizedAccountId *string `type:"string" required:"true"`
 14437  
 14438  	// The region authorized to collect aggregated data.
 14439  	//
 14440  	// AuthorizedAwsRegion is a required field
 14441  	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
 14442  }
 14443  
 14444  // String returns the string representation.
 14445  //
 14446  // API parameter values that are decorated as "sensitive" in the API will not
 14447  // be included in the string output. The member name will be present, but the
 14448  // value will be replaced with "sensitive".
 14449  func (s DeleteAggregationAuthorizationInput) String() string {
 14450  	return awsutil.Prettify(s)
 14451  }
 14452  
 14453  // GoString returns the string representation.
 14454  //
 14455  // API parameter values that are decorated as "sensitive" in the API will not
 14456  // be included in the string output. The member name will be present, but the
 14457  // value will be replaced with "sensitive".
 14458  func (s DeleteAggregationAuthorizationInput) GoString() string {
 14459  	return s.String()
 14460  }
 14461  
 14462  // Validate inspects the fields of the type to determine if they are valid.
 14463  func (s *DeleteAggregationAuthorizationInput) Validate() error {
 14464  	invalidParams := request.ErrInvalidParams{Context: "DeleteAggregationAuthorizationInput"}
 14465  	if s.AuthorizedAccountId == nil {
 14466  		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
 14467  	}
 14468  	if s.AuthorizedAwsRegion == nil {
 14469  		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
 14470  	}
 14471  	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
 14472  		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
 14473  	}
 14474  
 14475  	if invalidParams.Len() > 0 {
 14476  		return invalidParams
 14477  	}
 14478  	return nil
 14479  }
 14480  
 14481  // SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
 14482  func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *DeleteAggregationAuthorizationInput {
 14483  	s.AuthorizedAccountId = &v
 14484  	return s
 14485  }
 14486  
 14487  // SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
 14488  func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *DeleteAggregationAuthorizationInput {
 14489  	s.AuthorizedAwsRegion = &v
 14490  	return s
 14491  }
 14492  
 14493  type DeleteAggregationAuthorizationOutput struct {
 14494  	_ struct{} `type:"structure"`
 14495  }
 14496  
 14497  // String returns the string representation.
 14498  //
 14499  // API parameter values that are decorated as "sensitive" in the API will not
 14500  // be included in the string output. The member name will be present, but the
 14501  // value will be replaced with "sensitive".
 14502  func (s DeleteAggregationAuthorizationOutput) String() string {
 14503  	return awsutil.Prettify(s)
 14504  }
 14505  
 14506  // GoString returns the string representation.
 14507  //
 14508  // API parameter values that are decorated as "sensitive" in the API will not
 14509  // be included in the string output. The member name will be present, but the
 14510  // value will be replaced with "sensitive".
 14511  func (s DeleteAggregationAuthorizationOutput) GoString() string {
 14512  	return s.String()
 14513  }
 14514  
 14515  type DeleteConfigRuleInput struct {
 14516  	_ struct{} `type:"structure"`
 14517  
 14518  	// The name of the Config rule that you want to delete.
 14519  	//
 14520  	// ConfigRuleName is a required field
 14521  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 14522  }
 14523  
 14524  // String returns the string representation.
 14525  //
 14526  // API parameter values that are decorated as "sensitive" in the API will not
 14527  // be included in the string output. The member name will be present, but the
 14528  // value will be replaced with "sensitive".
 14529  func (s DeleteConfigRuleInput) String() string {
 14530  	return awsutil.Prettify(s)
 14531  }
 14532  
 14533  // GoString returns the string representation.
 14534  //
 14535  // API parameter values that are decorated as "sensitive" in the API will not
 14536  // be included in the string output. The member name will be present, but the
 14537  // value will be replaced with "sensitive".
 14538  func (s DeleteConfigRuleInput) GoString() string {
 14539  	return s.String()
 14540  }
 14541  
 14542  // Validate inspects the fields of the type to determine if they are valid.
 14543  func (s *DeleteConfigRuleInput) Validate() error {
 14544  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigRuleInput"}
 14545  	if s.ConfigRuleName == nil {
 14546  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 14547  	}
 14548  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 14549  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 14550  	}
 14551  
 14552  	if invalidParams.Len() > 0 {
 14553  		return invalidParams
 14554  	}
 14555  	return nil
 14556  }
 14557  
 14558  // SetConfigRuleName sets the ConfigRuleName field's value.
 14559  func (s *DeleteConfigRuleInput) SetConfigRuleName(v string) *DeleteConfigRuleInput {
 14560  	s.ConfigRuleName = &v
 14561  	return s
 14562  }
 14563  
 14564  type DeleteConfigRuleOutput struct {
 14565  	_ struct{} `type:"structure"`
 14566  }
 14567  
 14568  // String returns the string representation.
 14569  //
 14570  // API parameter values that are decorated as "sensitive" in the API will not
 14571  // be included in the string output. The member name will be present, but the
 14572  // value will be replaced with "sensitive".
 14573  func (s DeleteConfigRuleOutput) String() string {
 14574  	return awsutil.Prettify(s)
 14575  }
 14576  
 14577  // GoString returns the string representation.
 14578  //
 14579  // API parameter values that are decorated as "sensitive" in the API will not
 14580  // be included in the string output. The member name will be present, but the
 14581  // value will be replaced with "sensitive".
 14582  func (s DeleteConfigRuleOutput) GoString() string {
 14583  	return s.String()
 14584  }
 14585  
 14586  type DeleteConfigurationAggregatorInput struct {
 14587  	_ struct{} `type:"structure"`
 14588  
 14589  	// The name of the configuration aggregator.
 14590  	//
 14591  	// ConfigurationAggregatorName is a required field
 14592  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 14593  }
 14594  
 14595  // String returns the string representation.
 14596  //
 14597  // API parameter values that are decorated as "sensitive" in the API will not
 14598  // be included in the string output. The member name will be present, but the
 14599  // value will be replaced with "sensitive".
 14600  func (s DeleteConfigurationAggregatorInput) String() string {
 14601  	return awsutil.Prettify(s)
 14602  }
 14603  
 14604  // GoString returns the string representation.
 14605  //
 14606  // API parameter values that are decorated as "sensitive" in the API will not
 14607  // be included in the string output. The member name will be present, but the
 14608  // value will be replaced with "sensitive".
 14609  func (s DeleteConfigurationAggregatorInput) GoString() string {
 14610  	return s.String()
 14611  }
 14612  
 14613  // Validate inspects the fields of the type to determine if they are valid.
 14614  func (s *DeleteConfigurationAggregatorInput) Validate() error {
 14615  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationAggregatorInput"}
 14616  	if s.ConfigurationAggregatorName == nil {
 14617  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 14618  	}
 14619  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 14620  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 14621  	}
 14622  
 14623  	if invalidParams.Len() > 0 {
 14624  		return invalidParams
 14625  	}
 14626  	return nil
 14627  }
 14628  
 14629  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 14630  func (s *DeleteConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *DeleteConfigurationAggregatorInput {
 14631  	s.ConfigurationAggregatorName = &v
 14632  	return s
 14633  }
 14634  
 14635  type DeleteConfigurationAggregatorOutput struct {
 14636  	_ struct{} `type:"structure"`
 14637  }
 14638  
 14639  // String returns the string representation.
 14640  //
 14641  // API parameter values that are decorated as "sensitive" in the API will not
 14642  // be included in the string output. The member name will be present, but the
 14643  // value will be replaced with "sensitive".
 14644  func (s DeleteConfigurationAggregatorOutput) String() string {
 14645  	return awsutil.Prettify(s)
 14646  }
 14647  
 14648  // GoString returns the string representation.
 14649  //
 14650  // API parameter values that are decorated as "sensitive" in the API will not
 14651  // be included in the string output. The member name will be present, but the
 14652  // value will be replaced with "sensitive".
 14653  func (s DeleteConfigurationAggregatorOutput) GoString() string {
 14654  	return s.String()
 14655  }
 14656  
 14657  // The request object for the DeleteConfigurationRecorder action.
 14658  type DeleteConfigurationRecorderInput struct {
 14659  	_ struct{} `type:"structure"`
 14660  
 14661  	// The name of the configuration recorder to be deleted. You can retrieve the
 14662  	// name of your configuration recorder by using the DescribeConfigurationRecorders
 14663  	// action.
 14664  	//
 14665  	// ConfigurationRecorderName is a required field
 14666  	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
 14667  }
 14668  
 14669  // String returns the string representation.
 14670  //
 14671  // API parameter values that are decorated as "sensitive" in the API will not
 14672  // be included in the string output. The member name will be present, but the
 14673  // value will be replaced with "sensitive".
 14674  func (s DeleteConfigurationRecorderInput) String() string {
 14675  	return awsutil.Prettify(s)
 14676  }
 14677  
 14678  // GoString returns the string representation.
 14679  //
 14680  // API parameter values that are decorated as "sensitive" in the API will not
 14681  // be included in the string output. The member name will be present, but the
 14682  // value will be replaced with "sensitive".
 14683  func (s DeleteConfigurationRecorderInput) GoString() string {
 14684  	return s.String()
 14685  }
 14686  
 14687  // Validate inspects the fields of the type to determine if they are valid.
 14688  func (s *DeleteConfigurationRecorderInput) Validate() error {
 14689  	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationRecorderInput"}
 14690  	if s.ConfigurationRecorderName == nil {
 14691  		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
 14692  	}
 14693  	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
 14694  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
 14695  	}
 14696  
 14697  	if invalidParams.Len() > 0 {
 14698  		return invalidParams
 14699  	}
 14700  	return nil
 14701  }
 14702  
 14703  // SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
 14704  func (s *DeleteConfigurationRecorderInput) SetConfigurationRecorderName(v string) *DeleteConfigurationRecorderInput {
 14705  	s.ConfigurationRecorderName = &v
 14706  	return s
 14707  }
 14708  
 14709  type DeleteConfigurationRecorderOutput struct {
 14710  	_ struct{} `type:"structure"`
 14711  }
 14712  
 14713  // String returns the string representation.
 14714  //
 14715  // API parameter values that are decorated as "sensitive" in the API will not
 14716  // be included in the string output. The member name will be present, but the
 14717  // value will be replaced with "sensitive".
 14718  func (s DeleteConfigurationRecorderOutput) String() string {
 14719  	return awsutil.Prettify(s)
 14720  }
 14721  
 14722  // GoString returns the string representation.
 14723  //
 14724  // API parameter values that are decorated as "sensitive" in the API will not
 14725  // be included in the string output. The member name will be present, but the
 14726  // value will be replaced with "sensitive".
 14727  func (s DeleteConfigurationRecorderOutput) GoString() string {
 14728  	return s.String()
 14729  }
 14730  
 14731  type DeleteConformancePackInput struct {
 14732  	_ struct{} `type:"structure"`
 14733  
 14734  	// Name of the conformance pack you want to delete.
 14735  	//
 14736  	// ConformancePackName is a required field
 14737  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 14738  }
 14739  
 14740  // String returns the string representation.
 14741  //
 14742  // API parameter values that are decorated as "sensitive" in the API will not
 14743  // be included in the string output. The member name will be present, but the
 14744  // value will be replaced with "sensitive".
 14745  func (s DeleteConformancePackInput) String() string {
 14746  	return awsutil.Prettify(s)
 14747  }
 14748  
 14749  // GoString returns the string representation.
 14750  //
 14751  // API parameter values that are decorated as "sensitive" in the API will not
 14752  // be included in the string output. The member name will be present, but the
 14753  // value will be replaced with "sensitive".
 14754  func (s DeleteConformancePackInput) GoString() string {
 14755  	return s.String()
 14756  }
 14757  
 14758  // Validate inspects the fields of the type to determine if they are valid.
 14759  func (s *DeleteConformancePackInput) Validate() error {
 14760  	invalidParams := request.ErrInvalidParams{Context: "DeleteConformancePackInput"}
 14761  	if s.ConformancePackName == nil {
 14762  		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
 14763  	}
 14764  	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
 14765  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
 14766  	}
 14767  
 14768  	if invalidParams.Len() > 0 {
 14769  		return invalidParams
 14770  	}
 14771  	return nil
 14772  }
 14773  
 14774  // SetConformancePackName sets the ConformancePackName field's value.
 14775  func (s *DeleteConformancePackInput) SetConformancePackName(v string) *DeleteConformancePackInput {
 14776  	s.ConformancePackName = &v
 14777  	return s
 14778  }
 14779  
 14780  type DeleteConformancePackOutput struct {
 14781  	_ struct{} `type:"structure"`
 14782  }
 14783  
 14784  // String returns the string representation.
 14785  //
 14786  // API parameter values that are decorated as "sensitive" in the API will not
 14787  // be included in the string output. The member name will be present, but the
 14788  // value will be replaced with "sensitive".
 14789  func (s DeleteConformancePackOutput) String() string {
 14790  	return awsutil.Prettify(s)
 14791  }
 14792  
 14793  // GoString returns the string representation.
 14794  //
 14795  // API parameter values that are decorated as "sensitive" in the API will not
 14796  // be included in the string output. The member name will be present, but the
 14797  // value will be replaced with "sensitive".
 14798  func (s DeleteConformancePackOutput) GoString() string {
 14799  	return s.String()
 14800  }
 14801  
 14802  // The input for the DeleteDeliveryChannel action. The action accepts the following
 14803  // data, in JSON format.
 14804  type DeleteDeliveryChannelInput struct {
 14805  	_ struct{} `type:"structure"`
 14806  
 14807  	// The name of the delivery channel to delete.
 14808  	//
 14809  	// DeliveryChannelName is a required field
 14810  	DeliveryChannelName *string `min:"1" type:"string" required:"true"`
 14811  }
 14812  
 14813  // String returns the string representation.
 14814  //
 14815  // API parameter values that are decorated as "sensitive" in the API will not
 14816  // be included in the string output. The member name will be present, but the
 14817  // value will be replaced with "sensitive".
 14818  func (s DeleteDeliveryChannelInput) String() string {
 14819  	return awsutil.Prettify(s)
 14820  }
 14821  
 14822  // GoString returns the string representation.
 14823  //
 14824  // API parameter values that are decorated as "sensitive" in the API will not
 14825  // be included in the string output. The member name will be present, but the
 14826  // value will be replaced with "sensitive".
 14827  func (s DeleteDeliveryChannelInput) GoString() string {
 14828  	return s.String()
 14829  }
 14830  
 14831  // Validate inspects the fields of the type to determine if they are valid.
 14832  func (s *DeleteDeliveryChannelInput) Validate() error {
 14833  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryChannelInput"}
 14834  	if s.DeliveryChannelName == nil {
 14835  		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
 14836  	}
 14837  	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
 14838  		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
 14839  	}
 14840  
 14841  	if invalidParams.Len() > 0 {
 14842  		return invalidParams
 14843  	}
 14844  	return nil
 14845  }
 14846  
 14847  // SetDeliveryChannelName sets the DeliveryChannelName field's value.
 14848  func (s *DeleteDeliveryChannelInput) SetDeliveryChannelName(v string) *DeleteDeliveryChannelInput {
 14849  	s.DeliveryChannelName = &v
 14850  	return s
 14851  }
 14852  
 14853  type DeleteDeliveryChannelOutput struct {
 14854  	_ struct{} `type:"structure"`
 14855  }
 14856  
 14857  // String returns the string representation.
 14858  //
 14859  // API parameter values that are decorated as "sensitive" in the API will not
 14860  // be included in the string output. The member name will be present, but the
 14861  // value will be replaced with "sensitive".
 14862  func (s DeleteDeliveryChannelOutput) String() string {
 14863  	return awsutil.Prettify(s)
 14864  }
 14865  
 14866  // GoString returns the string representation.
 14867  //
 14868  // API parameter values that are decorated as "sensitive" in the API will not
 14869  // be included in the string output. The member name will be present, but the
 14870  // value will be replaced with "sensitive".
 14871  func (s DeleteDeliveryChannelOutput) GoString() string {
 14872  	return s.String()
 14873  }
 14874  
 14875  type DeleteEvaluationResultsInput struct {
 14876  	_ struct{} `type:"structure"`
 14877  
 14878  	// The name of the Config rule for which you want to delete the evaluation results.
 14879  	//
 14880  	// ConfigRuleName is a required field
 14881  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 14882  }
 14883  
 14884  // String returns the string representation.
 14885  //
 14886  // API parameter values that are decorated as "sensitive" in the API will not
 14887  // be included in the string output. The member name will be present, but the
 14888  // value will be replaced with "sensitive".
 14889  func (s DeleteEvaluationResultsInput) String() string {
 14890  	return awsutil.Prettify(s)
 14891  }
 14892  
 14893  // GoString returns the string representation.
 14894  //
 14895  // API parameter values that are decorated as "sensitive" in the API will not
 14896  // be included in the string output. The member name will be present, but the
 14897  // value will be replaced with "sensitive".
 14898  func (s DeleteEvaluationResultsInput) GoString() string {
 14899  	return s.String()
 14900  }
 14901  
 14902  // Validate inspects the fields of the type to determine if they are valid.
 14903  func (s *DeleteEvaluationResultsInput) Validate() error {
 14904  	invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationResultsInput"}
 14905  	if s.ConfigRuleName == nil {
 14906  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 14907  	}
 14908  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 14909  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 14910  	}
 14911  
 14912  	if invalidParams.Len() > 0 {
 14913  		return invalidParams
 14914  	}
 14915  	return nil
 14916  }
 14917  
 14918  // SetConfigRuleName sets the ConfigRuleName field's value.
 14919  func (s *DeleteEvaluationResultsInput) SetConfigRuleName(v string) *DeleteEvaluationResultsInput {
 14920  	s.ConfigRuleName = &v
 14921  	return s
 14922  }
 14923  
 14924  // The output when you delete the evaluation results for the specified Config
 14925  // rule.
 14926  type DeleteEvaluationResultsOutput struct {
 14927  	_ struct{} `type:"structure"`
 14928  }
 14929  
 14930  // String returns the string representation.
 14931  //
 14932  // API parameter values that are decorated as "sensitive" in the API will not
 14933  // be included in the string output. The member name will be present, but the
 14934  // value will be replaced with "sensitive".
 14935  func (s DeleteEvaluationResultsOutput) String() string {
 14936  	return awsutil.Prettify(s)
 14937  }
 14938  
 14939  // GoString returns the string representation.
 14940  //
 14941  // API parameter values that are decorated as "sensitive" in the API will not
 14942  // be included in the string output. The member name will be present, but the
 14943  // value will be replaced with "sensitive".
 14944  func (s DeleteEvaluationResultsOutput) GoString() string {
 14945  	return s.String()
 14946  }
 14947  
 14948  type DeleteOrganizationConfigRuleInput struct {
 14949  	_ struct{} `type:"structure"`
 14950  
 14951  	// The name of organization config rule that you want to delete.
 14952  	//
 14953  	// OrganizationConfigRuleName is a required field
 14954  	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
 14955  }
 14956  
 14957  // String returns the string representation.
 14958  //
 14959  // API parameter values that are decorated as "sensitive" in the API will not
 14960  // be included in the string output. The member name will be present, but the
 14961  // value will be replaced with "sensitive".
 14962  func (s DeleteOrganizationConfigRuleInput) String() string {
 14963  	return awsutil.Prettify(s)
 14964  }
 14965  
 14966  // GoString returns the string representation.
 14967  //
 14968  // API parameter values that are decorated as "sensitive" in the API will not
 14969  // be included in the string output. The member name will be present, but the
 14970  // value will be replaced with "sensitive".
 14971  func (s DeleteOrganizationConfigRuleInput) GoString() string {
 14972  	return s.String()
 14973  }
 14974  
 14975  // Validate inspects the fields of the type to determine if they are valid.
 14976  func (s *DeleteOrganizationConfigRuleInput) Validate() error {
 14977  	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConfigRuleInput"}
 14978  	if s.OrganizationConfigRuleName == nil {
 14979  		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
 14980  	}
 14981  	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
 14982  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
 14983  	}
 14984  
 14985  	if invalidParams.Len() > 0 {
 14986  		return invalidParams
 14987  	}
 14988  	return nil
 14989  }
 14990  
 14991  // SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
 14992  func (s *DeleteOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *DeleteOrganizationConfigRuleInput {
 14993  	s.OrganizationConfigRuleName = &v
 14994  	return s
 14995  }
 14996  
 14997  type DeleteOrganizationConfigRuleOutput struct {
 14998  	_ struct{} `type:"structure"`
 14999  }
 15000  
 15001  // String returns the string representation.
 15002  //
 15003  // API parameter values that are decorated as "sensitive" in the API will not
 15004  // be included in the string output. The member name will be present, but the
 15005  // value will be replaced with "sensitive".
 15006  func (s DeleteOrganizationConfigRuleOutput) String() string {
 15007  	return awsutil.Prettify(s)
 15008  }
 15009  
 15010  // GoString returns the string representation.
 15011  //
 15012  // API parameter values that are decorated as "sensitive" in the API will not
 15013  // be included in the string output. The member name will be present, but the
 15014  // value will be replaced with "sensitive".
 15015  func (s DeleteOrganizationConfigRuleOutput) GoString() string {
 15016  	return s.String()
 15017  }
 15018  
 15019  type DeleteOrganizationConformancePackInput struct {
 15020  	_ struct{} `type:"structure"`
 15021  
 15022  	// The name of organization conformance pack that you want to delete.
 15023  	//
 15024  	// OrganizationConformancePackName is a required field
 15025  	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
 15026  }
 15027  
 15028  // String returns the string representation.
 15029  //
 15030  // API parameter values that are decorated as "sensitive" in the API will not
 15031  // be included in the string output. The member name will be present, but the
 15032  // value will be replaced with "sensitive".
 15033  func (s DeleteOrganizationConformancePackInput) String() string {
 15034  	return awsutil.Prettify(s)
 15035  }
 15036  
 15037  // GoString returns the string representation.
 15038  //
 15039  // API parameter values that are decorated as "sensitive" in the API will not
 15040  // be included in the string output. The member name will be present, but the
 15041  // value will be replaced with "sensitive".
 15042  func (s DeleteOrganizationConformancePackInput) GoString() string {
 15043  	return s.String()
 15044  }
 15045  
 15046  // Validate inspects the fields of the type to determine if they are valid.
 15047  func (s *DeleteOrganizationConformancePackInput) Validate() error {
 15048  	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConformancePackInput"}
 15049  	if s.OrganizationConformancePackName == nil {
 15050  		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
 15051  	}
 15052  	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
 15053  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
 15054  	}
 15055  
 15056  	if invalidParams.Len() > 0 {
 15057  		return invalidParams
 15058  	}
 15059  	return nil
 15060  }
 15061  
 15062  // SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
 15063  func (s *DeleteOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *DeleteOrganizationConformancePackInput {
 15064  	s.OrganizationConformancePackName = &v
 15065  	return s
 15066  }
 15067  
 15068  type DeleteOrganizationConformancePackOutput struct {
 15069  	_ struct{} `type:"structure"`
 15070  }
 15071  
 15072  // String returns the string representation.
 15073  //
 15074  // API parameter values that are decorated as "sensitive" in the API will not
 15075  // be included in the string output. The member name will be present, but the
 15076  // value will be replaced with "sensitive".
 15077  func (s DeleteOrganizationConformancePackOutput) String() string {
 15078  	return awsutil.Prettify(s)
 15079  }
 15080  
 15081  // GoString returns the string representation.
 15082  //
 15083  // API parameter values that are decorated as "sensitive" in the API will not
 15084  // be included in the string output. The member name will be present, but the
 15085  // value will be replaced with "sensitive".
 15086  func (s DeleteOrganizationConformancePackOutput) GoString() string {
 15087  	return s.String()
 15088  }
 15089  
 15090  type DeletePendingAggregationRequestInput struct {
 15091  	_ struct{} `type:"structure"`
 15092  
 15093  	// The 12-digit account ID of the account requesting to aggregate data.
 15094  	//
 15095  	// RequesterAccountId is a required field
 15096  	RequesterAccountId *string `type:"string" required:"true"`
 15097  
 15098  	// The region requesting to aggregate data.
 15099  	//
 15100  	// RequesterAwsRegion is a required field
 15101  	RequesterAwsRegion *string `min:"1" type:"string" required:"true"`
 15102  }
 15103  
 15104  // String returns the string representation.
 15105  //
 15106  // API parameter values that are decorated as "sensitive" in the API will not
 15107  // be included in the string output. The member name will be present, but the
 15108  // value will be replaced with "sensitive".
 15109  func (s DeletePendingAggregationRequestInput) String() string {
 15110  	return awsutil.Prettify(s)
 15111  }
 15112  
 15113  // GoString returns the string representation.
 15114  //
 15115  // API parameter values that are decorated as "sensitive" in the API will not
 15116  // be included in the string output. The member name will be present, but the
 15117  // value will be replaced with "sensitive".
 15118  func (s DeletePendingAggregationRequestInput) GoString() string {
 15119  	return s.String()
 15120  }
 15121  
 15122  // Validate inspects the fields of the type to determine if they are valid.
 15123  func (s *DeletePendingAggregationRequestInput) Validate() error {
 15124  	invalidParams := request.ErrInvalidParams{Context: "DeletePendingAggregationRequestInput"}
 15125  	if s.RequesterAccountId == nil {
 15126  		invalidParams.Add(request.NewErrParamRequired("RequesterAccountId"))
 15127  	}
 15128  	if s.RequesterAwsRegion == nil {
 15129  		invalidParams.Add(request.NewErrParamRequired("RequesterAwsRegion"))
 15130  	}
 15131  	if s.RequesterAwsRegion != nil && len(*s.RequesterAwsRegion) < 1 {
 15132  		invalidParams.Add(request.NewErrParamMinLen("RequesterAwsRegion", 1))
 15133  	}
 15134  
 15135  	if invalidParams.Len() > 0 {
 15136  		return invalidParams
 15137  	}
 15138  	return nil
 15139  }
 15140  
 15141  // SetRequesterAccountId sets the RequesterAccountId field's value.
 15142  func (s *DeletePendingAggregationRequestInput) SetRequesterAccountId(v string) *DeletePendingAggregationRequestInput {
 15143  	s.RequesterAccountId = &v
 15144  	return s
 15145  }
 15146  
 15147  // SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
 15148  func (s *DeletePendingAggregationRequestInput) SetRequesterAwsRegion(v string) *DeletePendingAggregationRequestInput {
 15149  	s.RequesterAwsRegion = &v
 15150  	return s
 15151  }
 15152  
 15153  type DeletePendingAggregationRequestOutput struct {
 15154  	_ struct{} `type:"structure"`
 15155  }
 15156  
 15157  // String returns the string representation.
 15158  //
 15159  // API parameter values that are decorated as "sensitive" in the API will not
 15160  // be included in the string output. The member name will be present, but the
 15161  // value will be replaced with "sensitive".
 15162  func (s DeletePendingAggregationRequestOutput) String() string {
 15163  	return awsutil.Prettify(s)
 15164  }
 15165  
 15166  // GoString returns the string representation.
 15167  //
 15168  // API parameter values that are decorated as "sensitive" in the API will not
 15169  // be included in the string output. The member name will be present, but the
 15170  // value will be replaced with "sensitive".
 15171  func (s DeletePendingAggregationRequestOutput) GoString() string {
 15172  	return s.String()
 15173  }
 15174  
 15175  type DeleteRemediationConfigurationInput struct {
 15176  	_ struct{} `type:"structure"`
 15177  
 15178  	// The name of the Config rule for which you want to delete remediation configuration.
 15179  	//
 15180  	// ConfigRuleName is a required field
 15181  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 15182  
 15183  	// The type of a resource.
 15184  	ResourceType *string `type:"string"`
 15185  }
 15186  
 15187  // String returns the string representation.
 15188  //
 15189  // API parameter values that are decorated as "sensitive" in the API will not
 15190  // be included in the string output. The member name will be present, but the
 15191  // value will be replaced with "sensitive".
 15192  func (s DeleteRemediationConfigurationInput) String() string {
 15193  	return awsutil.Prettify(s)
 15194  }
 15195  
 15196  // GoString returns the string representation.
 15197  //
 15198  // API parameter values that are decorated as "sensitive" in the API will not
 15199  // be included in the string output. The member name will be present, but the
 15200  // value will be replaced with "sensitive".
 15201  func (s DeleteRemediationConfigurationInput) GoString() string {
 15202  	return s.String()
 15203  }
 15204  
 15205  // Validate inspects the fields of the type to determine if they are valid.
 15206  func (s *DeleteRemediationConfigurationInput) Validate() error {
 15207  	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationConfigurationInput"}
 15208  	if s.ConfigRuleName == nil {
 15209  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 15210  	}
 15211  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 15212  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 15213  	}
 15214  
 15215  	if invalidParams.Len() > 0 {
 15216  		return invalidParams
 15217  	}
 15218  	return nil
 15219  }
 15220  
 15221  // SetConfigRuleName sets the ConfigRuleName field's value.
 15222  func (s *DeleteRemediationConfigurationInput) SetConfigRuleName(v string) *DeleteRemediationConfigurationInput {
 15223  	s.ConfigRuleName = &v
 15224  	return s
 15225  }
 15226  
 15227  // SetResourceType sets the ResourceType field's value.
 15228  func (s *DeleteRemediationConfigurationInput) SetResourceType(v string) *DeleteRemediationConfigurationInput {
 15229  	s.ResourceType = &v
 15230  	return s
 15231  }
 15232  
 15233  type DeleteRemediationConfigurationOutput struct {
 15234  	_ struct{} `type:"structure"`
 15235  }
 15236  
 15237  // String returns the string representation.
 15238  //
 15239  // API parameter values that are decorated as "sensitive" in the API will not
 15240  // be included in the string output. The member name will be present, but the
 15241  // value will be replaced with "sensitive".
 15242  func (s DeleteRemediationConfigurationOutput) String() string {
 15243  	return awsutil.Prettify(s)
 15244  }
 15245  
 15246  // GoString returns the string representation.
 15247  //
 15248  // API parameter values that are decorated as "sensitive" in the API will not
 15249  // be included in the string output. The member name will be present, but the
 15250  // value will be replaced with "sensitive".
 15251  func (s DeleteRemediationConfigurationOutput) GoString() string {
 15252  	return s.String()
 15253  }
 15254  
 15255  type DeleteRemediationExceptionsInput struct {
 15256  	_ struct{} `type:"structure"`
 15257  
 15258  	// The name of the Config rule for which you want to delete remediation exception
 15259  	// configuration.
 15260  	//
 15261  	// ConfigRuleName is a required field
 15262  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 15263  
 15264  	// An exception list of resource exception keys to be processed with the current
 15265  	// request. Config adds exception for each resource key. For example, Config
 15266  	// adds 3 exceptions for 3 resource keys.
 15267  	//
 15268  	// ResourceKeys is a required field
 15269  	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
 15270  }
 15271  
 15272  // String returns the string representation.
 15273  //
 15274  // API parameter values that are decorated as "sensitive" in the API will not
 15275  // be included in the string output. The member name will be present, but the
 15276  // value will be replaced with "sensitive".
 15277  func (s DeleteRemediationExceptionsInput) String() string {
 15278  	return awsutil.Prettify(s)
 15279  }
 15280  
 15281  // GoString returns the string representation.
 15282  //
 15283  // API parameter values that are decorated as "sensitive" in the API will not
 15284  // be included in the string output. The member name will be present, but the
 15285  // value will be replaced with "sensitive".
 15286  func (s DeleteRemediationExceptionsInput) GoString() string {
 15287  	return s.String()
 15288  }
 15289  
 15290  // Validate inspects the fields of the type to determine if they are valid.
 15291  func (s *DeleteRemediationExceptionsInput) Validate() error {
 15292  	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationExceptionsInput"}
 15293  	if s.ConfigRuleName == nil {
 15294  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 15295  	}
 15296  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 15297  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 15298  	}
 15299  	if s.ResourceKeys == nil {
 15300  		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
 15301  	}
 15302  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 15303  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 15304  	}
 15305  	if s.ResourceKeys != nil {
 15306  		for i, v := range s.ResourceKeys {
 15307  			if v == nil {
 15308  				continue
 15309  			}
 15310  			if err := v.Validate(); err != nil {
 15311  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 15312  			}
 15313  		}
 15314  	}
 15315  
 15316  	if invalidParams.Len() > 0 {
 15317  		return invalidParams
 15318  	}
 15319  	return nil
 15320  }
 15321  
 15322  // SetConfigRuleName sets the ConfigRuleName field's value.
 15323  func (s *DeleteRemediationExceptionsInput) SetConfigRuleName(v string) *DeleteRemediationExceptionsInput {
 15324  	s.ConfigRuleName = &v
 15325  	return s
 15326  }
 15327  
 15328  // SetResourceKeys sets the ResourceKeys field's value.
 15329  func (s *DeleteRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DeleteRemediationExceptionsInput {
 15330  	s.ResourceKeys = v
 15331  	return s
 15332  }
 15333  
 15334  type DeleteRemediationExceptionsOutput struct {
 15335  	_ struct{} `type:"structure"`
 15336  
 15337  	// Returns a list of failed delete remediation exceptions batch objects. Each
 15338  	// object in the batch consists of a list of failed items and failure messages.
 15339  	FailedBatches []*FailedDeleteRemediationExceptionsBatch `type:"list"`
 15340  }
 15341  
 15342  // String returns the string representation.
 15343  //
 15344  // API parameter values that are decorated as "sensitive" in the API will not
 15345  // be included in the string output. The member name will be present, but the
 15346  // value will be replaced with "sensitive".
 15347  func (s DeleteRemediationExceptionsOutput) String() string {
 15348  	return awsutil.Prettify(s)
 15349  }
 15350  
 15351  // GoString returns the string representation.
 15352  //
 15353  // API parameter values that are decorated as "sensitive" in the API will not
 15354  // be included in the string output. The member name will be present, but the
 15355  // value will be replaced with "sensitive".
 15356  func (s DeleteRemediationExceptionsOutput) GoString() string {
 15357  	return s.String()
 15358  }
 15359  
 15360  // SetFailedBatches sets the FailedBatches field's value.
 15361  func (s *DeleteRemediationExceptionsOutput) SetFailedBatches(v []*FailedDeleteRemediationExceptionsBatch) *DeleteRemediationExceptionsOutput {
 15362  	s.FailedBatches = v
 15363  	return s
 15364  }
 15365  
 15366  type DeleteResourceConfigInput struct {
 15367  	_ struct{} `type:"structure"`
 15368  
 15369  	// Unique identifier of the resource.
 15370  	//
 15371  	// ResourceId is a required field
 15372  	ResourceId *string `min:"1" type:"string" required:"true"`
 15373  
 15374  	// The type of the resource.
 15375  	//
 15376  	// ResourceType is a required field
 15377  	ResourceType *string `min:"1" type:"string" required:"true"`
 15378  }
 15379  
 15380  // String returns the string representation.
 15381  //
 15382  // API parameter values that are decorated as "sensitive" in the API will not
 15383  // be included in the string output. The member name will be present, but the
 15384  // value will be replaced with "sensitive".
 15385  func (s DeleteResourceConfigInput) String() string {
 15386  	return awsutil.Prettify(s)
 15387  }
 15388  
 15389  // GoString returns the string representation.
 15390  //
 15391  // API parameter values that are decorated as "sensitive" in the API will not
 15392  // be included in the string output. The member name will be present, but the
 15393  // value will be replaced with "sensitive".
 15394  func (s DeleteResourceConfigInput) GoString() string {
 15395  	return s.String()
 15396  }
 15397  
 15398  // Validate inspects the fields of the type to determine if they are valid.
 15399  func (s *DeleteResourceConfigInput) Validate() error {
 15400  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceConfigInput"}
 15401  	if s.ResourceId == nil {
 15402  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15403  	}
 15404  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 15405  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 15406  	}
 15407  	if s.ResourceType == nil {
 15408  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 15409  	}
 15410  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 15411  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 15412  	}
 15413  
 15414  	if invalidParams.Len() > 0 {
 15415  		return invalidParams
 15416  	}
 15417  	return nil
 15418  }
 15419  
 15420  // SetResourceId sets the ResourceId field's value.
 15421  func (s *DeleteResourceConfigInput) SetResourceId(v string) *DeleteResourceConfigInput {
 15422  	s.ResourceId = &v
 15423  	return s
 15424  }
 15425  
 15426  // SetResourceType sets the ResourceType field's value.
 15427  func (s *DeleteResourceConfigInput) SetResourceType(v string) *DeleteResourceConfigInput {
 15428  	s.ResourceType = &v
 15429  	return s
 15430  }
 15431  
 15432  type DeleteResourceConfigOutput struct {
 15433  	_ struct{} `type:"structure"`
 15434  }
 15435  
 15436  // String returns the string representation.
 15437  //
 15438  // API parameter values that are decorated as "sensitive" in the API will not
 15439  // be included in the string output. The member name will be present, but the
 15440  // value will be replaced with "sensitive".
 15441  func (s DeleteResourceConfigOutput) String() string {
 15442  	return awsutil.Prettify(s)
 15443  }
 15444  
 15445  // GoString returns the string representation.
 15446  //
 15447  // API parameter values that are decorated as "sensitive" in the API will not
 15448  // be included in the string output. The member name will be present, but the
 15449  // value will be replaced with "sensitive".
 15450  func (s DeleteResourceConfigOutput) GoString() string {
 15451  	return s.String()
 15452  }
 15453  
 15454  type DeleteRetentionConfigurationInput struct {
 15455  	_ struct{} `type:"structure"`
 15456  
 15457  	// The name of the retention configuration to delete.
 15458  	//
 15459  	// RetentionConfigurationName is a required field
 15460  	RetentionConfigurationName *string `min:"1" type:"string" required:"true"`
 15461  }
 15462  
 15463  // String returns the string representation.
 15464  //
 15465  // API parameter values that are decorated as "sensitive" in the API will not
 15466  // be included in the string output. The member name will be present, but the
 15467  // value will be replaced with "sensitive".
 15468  func (s DeleteRetentionConfigurationInput) String() string {
 15469  	return awsutil.Prettify(s)
 15470  }
 15471  
 15472  // GoString returns the string representation.
 15473  //
 15474  // API parameter values that are decorated as "sensitive" in the API will not
 15475  // be included in the string output. The member name will be present, but the
 15476  // value will be replaced with "sensitive".
 15477  func (s DeleteRetentionConfigurationInput) GoString() string {
 15478  	return s.String()
 15479  }
 15480  
 15481  // Validate inspects the fields of the type to determine if they are valid.
 15482  func (s *DeleteRetentionConfigurationInput) Validate() error {
 15483  	invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionConfigurationInput"}
 15484  	if s.RetentionConfigurationName == nil {
 15485  		invalidParams.Add(request.NewErrParamRequired("RetentionConfigurationName"))
 15486  	}
 15487  	if s.RetentionConfigurationName != nil && len(*s.RetentionConfigurationName) < 1 {
 15488  		invalidParams.Add(request.NewErrParamMinLen("RetentionConfigurationName", 1))
 15489  	}
 15490  
 15491  	if invalidParams.Len() > 0 {
 15492  		return invalidParams
 15493  	}
 15494  	return nil
 15495  }
 15496  
 15497  // SetRetentionConfigurationName sets the RetentionConfigurationName field's value.
 15498  func (s *DeleteRetentionConfigurationInput) SetRetentionConfigurationName(v string) *DeleteRetentionConfigurationInput {
 15499  	s.RetentionConfigurationName = &v
 15500  	return s
 15501  }
 15502  
 15503  type DeleteRetentionConfigurationOutput struct {
 15504  	_ struct{} `type:"structure"`
 15505  }
 15506  
 15507  // String returns the string representation.
 15508  //
 15509  // API parameter values that are decorated as "sensitive" in the API will not
 15510  // be included in the string output. The member name will be present, but the
 15511  // value will be replaced with "sensitive".
 15512  func (s DeleteRetentionConfigurationOutput) String() string {
 15513  	return awsutil.Prettify(s)
 15514  }
 15515  
 15516  // GoString returns the string representation.
 15517  //
 15518  // API parameter values that are decorated as "sensitive" in the API will not
 15519  // be included in the string output. The member name will be present, but the
 15520  // value will be replaced with "sensitive".
 15521  func (s DeleteRetentionConfigurationOutput) GoString() string {
 15522  	return s.String()
 15523  }
 15524  
 15525  type DeleteStoredQueryInput struct {
 15526  	_ struct{} `type:"structure"`
 15527  
 15528  	// The name of the query that you want to delete.
 15529  	//
 15530  	// QueryName is a required field
 15531  	QueryName *string `min:"1" type:"string" required:"true"`
 15532  }
 15533  
 15534  // String returns the string representation.
 15535  //
 15536  // API parameter values that are decorated as "sensitive" in the API will not
 15537  // be included in the string output. The member name will be present, but the
 15538  // value will be replaced with "sensitive".
 15539  func (s DeleteStoredQueryInput) String() string {
 15540  	return awsutil.Prettify(s)
 15541  }
 15542  
 15543  // GoString returns the string representation.
 15544  //
 15545  // API parameter values that are decorated as "sensitive" in the API will not
 15546  // be included in the string output. The member name will be present, but the
 15547  // value will be replaced with "sensitive".
 15548  func (s DeleteStoredQueryInput) GoString() string {
 15549  	return s.String()
 15550  }
 15551  
 15552  // Validate inspects the fields of the type to determine if they are valid.
 15553  func (s *DeleteStoredQueryInput) Validate() error {
 15554  	invalidParams := request.ErrInvalidParams{Context: "DeleteStoredQueryInput"}
 15555  	if s.QueryName == nil {
 15556  		invalidParams.Add(request.NewErrParamRequired("QueryName"))
 15557  	}
 15558  	if s.QueryName != nil && len(*s.QueryName) < 1 {
 15559  		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
 15560  	}
 15561  
 15562  	if invalidParams.Len() > 0 {
 15563  		return invalidParams
 15564  	}
 15565  	return nil
 15566  }
 15567  
 15568  // SetQueryName sets the QueryName field's value.
 15569  func (s *DeleteStoredQueryInput) SetQueryName(v string) *DeleteStoredQueryInput {
 15570  	s.QueryName = &v
 15571  	return s
 15572  }
 15573  
 15574  type DeleteStoredQueryOutput struct {
 15575  	_ struct{} `type:"structure"`
 15576  }
 15577  
 15578  // String returns the string representation.
 15579  //
 15580  // API parameter values that are decorated as "sensitive" in the API will not
 15581  // be included in the string output. The member name will be present, but the
 15582  // value will be replaced with "sensitive".
 15583  func (s DeleteStoredQueryOutput) String() string {
 15584  	return awsutil.Prettify(s)
 15585  }
 15586  
 15587  // GoString returns the string representation.
 15588  //
 15589  // API parameter values that are decorated as "sensitive" in the API will not
 15590  // be included in the string output. The member name will be present, but the
 15591  // value will be replaced with "sensitive".
 15592  func (s DeleteStoredQueryOutput) GoString() string {
 15593  	return s.String()
 15594  }
 15595  
 15596  // The input for the DeliverConfigSnapshot action.
 15597  type DeliverConfigSnapshotInput struct {
 15598  	_ struct{} `type:"structure"`
 15599  
 15600  	// The name of the delivery channel through which the snapshot is delivered.
 15601  	//
 15602  	// DeliveryChannelName is a required field
 15603  	DeliveryChannelName *string `locationName:"deliveryChannelName" min:"1" type:"string" required:"true"`
 15604  }
 15605  
 15606  // String returns the string representation.
 15607  //
 15608  // API parameter values that are decorated as "sensitive" in the API will not
 15609  // be included in the string output. The member name will be present, but the
 15610  // value will be replaced with "sensitive".
 15611  func (s DeliverConfigSnapshotInput) String() string {
 15612  	return awsutil.Prettify(s)
 15613  }
 15614  
 15615  // GoString returns the string representation.
 15616  //
 15617  // API parameter values that are decorated as "sensitive" in the API will not
 15618  // be included in the string output. The member name will be present, but the
 15619  // value will be replaced with "sensitive".
 15620  func (s DeliverConfigSnapshotInput) GoString() string {
 15621  	return s.String()
 15622  }
 15623  
 15624  // Validate inspects the fields of the type to determine if they are valid.
 15625  func (s *DeliverConfigSnapshotInput) Validate() error {
 15626  	invalidParams := request.ErrInvalidParams{Context: "DeliverConfigSnapshotInput"}
 15627  	if s.DeliveryChannelName == nil {
 15628  		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
 15629  	}
 15630  	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
 15631  		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
 15632  	}
 15633  
 15634  	if invalidParams.Len() > 0 {
 15635  		return invalidParams
 15636  	}
 15637  	return nil
 15638  }
 15639  
 15640  // SetDeliveryChannelName sets the DeliveryChannelName field's value.
 15641  func (s *DeliverConfigSnapshotInput) SetDeliveryChannelName(v string) *DeliverConfigSnapshotInput {
 15642  	s.DeliveryChannelName = &v
 15643  	return s
 15644  }
 15645  
 15646  // The output for the DeliverConfigSnapshot action, in JSON format.
 15647  type DeliverConfigSnapshotOutput struct {
 15648  	_ struct{} `type:"structure"`
 15649  
 15650  	// The ID of the snapshot that is being created.
 15651  	ConfigSnapshotId *string `locationName:"configSnapshotId" type:"string"`
 15652  }
 15653  
 15654  // String returns the string representation.
 15655  //
 15656  // API parameter values that are decorated as "sensitive" in the API will not
 15657  // be included in the string output. The member name will be present, but the
 15658  // value will be replaced with "sensitive".
 15659  func (s DeliverConfigSnapshotOutput) String() string {
 15660  	return awsutil.Prettify(s)
 15661  }
 15662  
 15663  // GoString returns the string representation.
 15664  //
 15665  // API parameter values that are decorated as "sensitive" in the API will not
 15666  // be included in the string output. The member name will be present, but the
 15667  // value will be replaced with "sensitive".
 15668  func (s DeliverConfigSnapshotOutput) GoString() string {
 15669  	return s.String()
 15670  }
 15671  
 15672  // SetConfigSnapshotId sets the ConfigSnapshotId field's value.
 15673  func (s *DeliverConfigSnapshotOutput) SetConfigSnapshotId(v string) *DeliverConfigSnapshotOutput {
 15674  	s.ConfigSnapshotId = &v
 15675  	return s
 15676  }
 15677  
 15678  // The channel through which Config delivers notifications and updated configuration
 15679  // states.
 15680  type DeliveryChannel struct {
 15681  	_ struct{} `type:"structure"`
 15682  
 15683  	// The options for how often Config delivers configuration snapshots to the
 15684  	// Amazon S3 bucket.
 15685  	ConfigSnapshotDeliveryProperties *ConfigSnapshotDeliveryProperties `locationName:"configSnapshotDeliveryProperties" type:"structure"`
 15686  
 15687  	// The name of the delivery channel. By default, Config assigns the name "default"
 15688  	// when creating the delivery channel. To change the delivery channel name,
 15689  	// you must use the DeleteDeliveryChannel action to delete your current delivery
 15690  	// channel, and then you must use the PutDeliveryChannel command to create a
 15691  	// delivery channel that has the desired name.
 15692  	Name *string `locationName:"name" min:"1" type:"string"`
 15693  
 15694  	// The name of the Amazon S3 bucket to which Config delivers configuration snapshots
 15695  	// and configuration history files.
 15696  	//
 15697  	// If you specify a bucket that belongs to another Amazon Web Services account,
 15698  	// that bucket must have policies that grant access permissions to Config. For
 15699  	// more information, see Permissions for the Amazon S3 Bucket (https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
 15700  	// in the Config Developer Guide.
 15701  	S3BucketName *string `locationName:"s3BucketName" type:"string"`
 15702  
 15703  	// The prefix for the specified Amazon S3 bucket.
 15704  	S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
 15705  
 15706  	// The Amazon Resource Name (ARN) of the Key Management Service (KMS ) KMS key
 15707  	// (KMS key) used to encrypt objects delivered by Config. Must belong to the
 15708  	// same Region as the destination S3 bucket.
 15709  	S3KmsKeyArn *string `locationName:"s3KmsKeyArn" type:"string"`
 15710  
 15711  	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which Config sends
 15712  	// notifications about configuration changes.
 15713  	//
 15714  	// If you choose a topic from another account, the topic must have policies
 15715  	// that grant access permissions to Config. For more information, see Permissions
 15716  	// for the Amazon SNS Topic (https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
 15717  	// in the Config Developer Guide.
 15718  	SnsTopicARN *string `locationName:"snsTopicARN" type:"string"`
 15719  }
 15720  
 15721  // String returns the string representation.
 15722  //
 15723  // API parameter values that are decorated as "sensitive" in the API will not
 15724  // be included in the string output. The member name will be present, but the
 15725  // value will be replaced with "sensitive".
 15726  func (s DeliveryChannel) String() string {
 15727  	return awsutil.Prettify(s)
 15728  }
 15729  
 15730  // GoString returns the string representation.
 15731  //
 15732  // API parameter values that are decorated as "sensitive" in the API will not
 15733  // be included in the string output. The member name will be present, but the
 15734  // value will be replaced with "sensitive".
 15735  func (s DeliveryChannel) GoString() string {
 15736  	return s.String()
 15737  }
 15738  
 15739  // Validate inspects the fields of the type to determine if they are valid.
 15740  func (s *DeliveryChannel) Validate() error {
 15741  	invalidParams := request.ErrInvalidParams{Context: "DeliveryChannel"}
 15742  	if s.Name != nil && len(*s.Name) < 1 {
 15743  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15744  	}
 15745  
 15746  	if invalidParams.Len() > 0 {
 15747  		return invalidParams
 15748  	}
 15749  	return nil
 15750  }
 15751  
 15752  // SetConfigSnapshotDeliveryProperties sets the ConfigSnapshotDeliveryProperties field's value.
 15753  func (s *DeliveryChannel) SetConfigSnapshotDeliveryProperties(v *ConfigSnapshotDeliveryProperties) *DeliveryChannel {
 15754  	s.ConfigSnapshotDeliveryProperties = v
 15755  	return s
 15756  }
 15757  
 15758  // SetName sets the Name field's value.
 15759  func (s *DeliveryChannel) SetName(v string) *DeliveryChannel {
 15760  	s.Name = &v
 15761  	return s
 15762  }
 15763  
 15764  // SetS3BucketName sets the S3BucketName field's value.
 15765  func (s *DeliveryChannel) SetS3BucketName(v string) *DeliveryChannel {
 15766  	s.S3BucketName = &v
 15767  	return s
 15768  }
 15769  
 15770  // SetS3KeyPrefix sets the S3KeyPrefix field's value.
 15771  func (s *DeliveryChannel) SetS3KeyPrefix(v string) *DeliveryChannel {
 15772  	s.S3KeyPrefix = &v
 15773  	return s
 15774  }
 15775  
 15776  // SetS3KmsKeyArn sets the S3KmsKeyArn field's value.
 15777  func (s *DeliveryChannel) SetS3KmsKeyArn(v string) *DeliveryChannel {
 15778  	s.S3KmsKeyArn = &v
 15779  	return s
 15780  }
 15781  
 15782  // SetSnsTopicARN sets the SnsTopicARN field's value.
 15783  func (s *DeliveryChannel) SetSnsTopicARN(v string) *DeliveryChannel {
 15784  	s.SnsTopicARN = &v
 15785  	return s
 15786  }
 15787  
 15788  // The status of a specified delivery channel.
 15789  //
 15790  // Valid values: Success | Failure
 15791  type DeliveryChannelStatus struct {
 15792  	_ struct{} `type:"structure"`
 15793  
 15794  	// A list that contains the status of the delivery of the configuration history
 15795  	// to the specified Amazon S3 bucket.
 15796  	ConfigHistoryDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configHistoryDeliveryInfo" type:"structure"`
 15797  
 15798  	// A list containing the status of the delivery of the snapshot to the specified
 15799  	// Amazon S3 bucket.
 15800  	ConfigSnapshotDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configSnapshotDeliveryInfo" type:"structure"`
 15801  
 15802  	// A list containing the status of the delivery of the configuration stream
 15803  	// notification to the specified Amazon SNS topic.
 15804  	ConfigStreamDeliveryInfo *ConfigStreamDeliveryInfo `locationName:"configStreamDeliveryInfo" type:"structure"`
 15805  
 15806  	// The name of the delivery channel.
 15807  	Name *string `locationName:"name" type:"string"`
 15808  }
 15809  
 15810  // String returns the string representation.
 15811  //
 15812  // API parameter values that are decorated as "sensitive" in the API will not
 15813  // be included in the string output. The member name will be present, but the
 15814  // value will be replaced with "sensitive".
 15815  func (s DeliveryChannelStatus) String() string {
 15816  	return awsutil.Prettify(s)
 15817  }
 15818  
 15819  // GoString returns the string representation.
 15820  //
 15821  // API parameter values that are decorated as "sensitive" in the API will not
 15822  // be included in the string output. The member name will be present, but the
 15823  // value will be replaced with "sensitive".
 15824  func (s DeliveryChannelStatus) GoString() string {
 15825  	return s.String()
 15826  }
 15827  
 15828  // SetConfigHistoryDeliveryInfo sets the ConfigHistoryDeliveryInfo field's value.
 15829  func (s *DeliveryChannelStatus) SetConfigHistoryDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
 15830  	s.ConfigHistoryDeliveryInfo = v
 15831  	return s
 15832  }
 15833  
 15834  // SetConfigSnapshotDeliveryInfo sets the ConfigSnapshotDeliveryInfo field's value.
 15835  func (s *DeliveryChannelStatus) SetConfigSnapshotDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
 15836  	s.ConfigSnapshotDeliveryInfo = v
 15837  	return s
 15838  }
 15839  
 15840  // SetConfigStreamDeliveryInfo sets the ConfigStreamDeliveryInfo field's value.
 15841  func (s *DeliveryChannelStatus) SetConfigStreamDeliveryInfo(v *ConfigStreamDeliveryInfo) *DeliveryChannelStatus {
 15842  	s.ConfigStreamDeliveryInfo = v
 15843  	return s
 15844  }
 15845  
 15846  // SetName sets the Name field's value.
 15847  func (s *DeliveryChannelStatus) SetName(v string) *DeliveryChannelStatus {
 15848  	s.Name = &v
 15849  	return s
 15850  }
 15851  
 15852  type DescribeAggregateComplianceByConfigRulesInput struct {
 15853  	_ struct{} `type:"structure"`
 15854  
 15855  	// The name of the configuration aggregator.
 15856  	//
 15857  	// ConfigurationAggregatorName is a required field
 15858  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 15859  
 15860  	// Filters the results by ConfigRuleComplianceFilters object.
 15861  	Filters *ConfigRuleComplianceFilters `type:"structure"`
 15862  
 15863  	// The maximum number of evaluation results returned on each page. The default
 15864  	// is maximum. If you specify 0, Config uses the default.
 15865  	Limit *int64 `type:"integer"`
 15866  
 15867  	// The nextToken string returned on a previous page that you use to get the
 15868  	// next page of results in a paginated response.
 15869  	NextToken *string `type:"string"`
 15870  }
 15871  
 15872  // String returns the string representation.
 15873  //
 15874  // API parameter values that are decorated as "sensitive" in the API will not
 15875  // be included in the string output. The member name will be present, but the
 15876  // value will be replaced with "sensitive".
 15877  func (s DescribeAggregateComplianceByConfigRulesInput) String() string {
 15878  	return awsutil.Prettify(s)
 15879  }
 15880  
 15881  // GoString returns the string representation.
 15882  //
 15883  // API parameter values that are decorated as "sensitive" in the API will not
 15884  // be included in the string output. The member name will be present, but the
 15885  // value will be replaced with "sensitive".
 15886  func (s DescribeAggregateComplianceByConfigRulesInput) GoString() string {
 15887  	return s.String()
 15888  }
 15889  
 15890  // Validate inspects the fields of the type to determine if they are valid.
 15891  func (s *DescribeAggregateComplianceByConfigRulesInput) Validate() error {
 15892  	invalidParams := request.ErrInvalidParams{Context: "DescribeAggregateComplianceByConfigRulesInput"}
 15893  	if s.ConfigurationAggregatorName == nil {
 15894  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 15895  	}
 15896  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 15897  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 15898  	}
 15899  	if s.Filters != nil {
 15900  		if err := s.Filters.Validate(); err != nil {
 15901  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 15902  		}
 15903  	}
 15904  
 15905  	if invalidParams.Len() > 0 {
 15906  		return invalidParams
 15907  	}
 15908  	return nil
 15909  }
 15910  
 15911  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 15912  func (s *DescribeAggregateComplianceByConfigRulesInput) SetConfigurationAggregatorName(v string) *DescribeAggregateComplianceByConfigRulesInput {
 15913  	s.ConfigurationAggregatorName = &v
 15914  	return s
 15915  }
 15916  
 15917  // SetFilters sets the Filters field's value.
 15918  func (s *DescribeAggregateComplianceByConfigRulesInput) SetFilters(v *ConfigRuleComplianceFilters) *DescribeAggregateComplianceByConfigRulesInput {
 15919  	s.Filters = v
 15920  	return s
 15921  }
 15922  
 15923  // SetLimit sets the Limit field's value.
 15924  func (s *DescribeAggregateComplianceByConfigRulesInput) SetLimit(v int64) *DescribeAggregateComplianceByConfigRulesInput {
 15925  	s.Limit = &v
 15926  	return s
 15927  }
 15928  
 15929  // SetNextToken sets the NextToken field's value.
 15930  func (s *DescribeAggregateComplianceByConfigRulesInput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesInput {
 15931  	s.NextToken = &v
 15932  	return s
 15933  }
 15934  
 15935  type DescribeAggregateComplianceByConfigRulesOutput struct {
 15936  	_ struct{} `type:"structure"`
 15937  
 15938  	// Returns a list of AggregateComplianceByConfigRule object.
 15939  	AggregateComplianceByConfigRules []*AggregateComplianceByConfigRule `type:"list"`
 15940  
 15941  	// The nextToken string returned on a previous page that you use to get the
 15942  	// next page of results in a paginated response.
 15943  	NextToken *string `type:"string"`
 15944  }
 15945  
 15946  // String returns the string representation.
 15947  //
 15948  // API parameter values that are decorated as "sensitive" in the API will not
 15949  // be included in the string output. The member name will be present, but the
 15950  // value will be replaced with "sensitive".
 15951  func (s DescribeAggregateComplianceByConfigRulesOutput) String() string {
 15952  	return awsutil.Prettify(s)
 15953  }
 15954  
 15955  // GoString returns the string representation.
 15956  //
 15957  // API parameter values that are decorated as "sensitive" in the API will not
 15958  // be included in the string output. The member name will be present, but the
 15959  // value will be replaced with "sensitive".
 15960  func (s DescribeAggregateComplianceByConfigRulesOutput) GoString() string {
 15961  	return s.String()
 15962  }
 15963  
 15964  // SetAggregateComplianceByConfigRules sets the AggregateComplianceByConfigRules field's value.
 15965  func (s *DescribeAggregateComplianceByConfigRulesOutput) SetAggregateComplianceByConfigRules(v []*AggregateComplianceByConfigRule) *DescribeAggregateComplianceByConfigRulesOutput {
 15966  	s.AggregateComplianceByConfigRules = v
 15967  	return s
 15968  }
 15969  
 15970  // SetNextToken sets the NextToken field's value.
 15971  func (s *DescribeAggregateComplianceByConfigRulesOutput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesOutput {
 15972  	s.NextToken = &v
 15973  	return s
 15974  }
 15975  
 15976  type DescribeAggregateComplianceByConformancePacksInput struct {
 15977  	_ struct{} `type:"structure"`
 15978  
 15979  	// The name of the configuration aggregator.
 15980  	//
 15981  	// ConfigurationAggregatorName is a required field
 15982  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 15983  
 15984  	// Filters the result by AggregateConformancePackComplianceFilters object.
 15985  	Filters *AggregateConformancePackComplianceFilters `type:"structure"`
 15986  
 15987  	// The maximum number of conformance packs compliance details returned on each
 15988  	// page. The default is maximum. If you specify 0, Config uses the default.
 15989  	Limit *int64 `type:"integer"`
 15990  
 15991  	// The nextToken string returned on a previous page that you use to get the
 15992  	// next page of results in a paginated response.
 15993  	NextToken *string `type:"string"`
 15994  }
 15995  
 15996  // String returns the string representation.
 15997  //
 15998  // API parameter values that are decorated as "sensitive" in the API will not
 15999  // be included in the string output. The member name will be present, but the
 16000  // value will be replaced with "sensitive".
 16001  func (s DescribeAggregateComplianceByConformancePacksInput) String() string {
 16002  	return awsutil.Prettify(s)
 16003  }
 16004  
 16005  // GoString returns the string representation.
 16006  //
 16007  // API parameter values that are decorated as "sensitive" in the API will not
 16008  // be included in the string output. The member name will be present, but the
 16009  // value will be replaced with "sensitive".
 16010  func (s DescribeAggregateComplianceByConformancePacksInput) GoString() string {
 16011  	return s.String()
 16012  }
 16013  
 16014  // Validate inspects the fields of the type to determine if they are valid.
 16015  func (s *DescribeAggregateComplianceByConformancePacksInput) Validate() error {
 16016  	invalidParams := request.ErrInvalidParams{Context: "DescribeAggregateComplianceByConformancePacksInput"}
 16017  	if s.ConfigurationAggregatorName == nil {
 16018  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 16019  	}
 16020  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 16021  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 16022  	}
 16023  	if s.Filters != nil {
 16024  		if err := s.Filters.Validate(); err != nil {
 16025  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 16026  		}
 16027  	}
 16028  
 16029  	if invalidParams.Len() > 0 {
 16030  		return invalidParams
 16031  	}
 16032  	return nil
 16033  }
 16034  
 16035  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 16036  func (s *DescribeAggregateComplianceByConformancePacksInput) SetConfigurationAggregatorName(v string) *DescribeAggregateComplianceByConformancePacksInput {
 16037  	s.ConfigurationAggregatorName = &v
 16038  	return s
 16039  }
 16040  
 16041  // SetFilters sets the Filters field's value.
 16042  func (s *DescribeAggregateComplianceByConformancePacksInput) SetFilters(v *AggregateConformancePackComplianceFilters) *DescribeAggregateComplianceByConformancePacksInput {
 16043  	s.Filters = v
 16044  	return s
 16045  }
 16046  
 16047  // SetLimit sets the Limit field's value.
 16048  func (s *DescribeAggregateComplianceByConformancePacksInput) SetLimit(v int64) *DescribeAggregateComplianceByConformancePacksInput {
 16049  	s.Limit = &v
 16050  	return s
 16051  }
 16052  
 16053  // SetNextToken sets the NextToken field's value.
 16054  func (s *DescribeAggregateComplianceByConformancePacksInput) SetNextToken(v string) *DescribeAggregateComplianceByConformancePacksInput {
 16055  	s.NextToken = &v
 16056  	return s
 16057  }
 16058  
 16059  type DescribeAggregateComplianceByConformancePacksOutput struct {
 16060  	_ struct{} `type:"structure"`
 16061  
 16062  	// Returns the AggregateComplianceByConformancePack object.
 16063  	AggregateComplianceByConformancePacks []*AggregateComplianceByConformancePack `type:"list"`
 16064  
 16065  	// The nextToken string returned on a previous page that you use to get the
 16066  	// next page of results in a paginated response.
 16067  	NextToken *string `type:"string"`
 16068  }
 16069  
 16070  // String returns the string representation.
 16071  //
 16072  // API parameter values that are decorated as "sensitive" in the API will not
 16073  // be included in the string output. The member name will be present, but the
 16074  // value will be replaced with "sensitive".
 16075  func (s DescribeAggregateComplianceByConformancePacksOutput) String() string {
 16076  	return awsutil.Prettify(s)
 16077  }
 16078  
 16079  // GoString returns the string representation.
 16080  //
 16081  // API parameter values that are decorated as "sensitive" in the API will not
 16082  // be included in the string output. The member name will be present, but the
 16083  // value will be replaced with "sensitive".
 16084  func (s DescribeAggregateComplianceByConformancePacksOutput) GoString() string {
 16085  	return s.String()
 16086  }
 16087  
 16088  // SetAggregateComplianceByConformancePacks sets the AggregateComplianceByConformancePacks field's value.
 16089  func (s *DescribeAggregateComplianceByConformancePacksOutput) SetAggregateComplianceByConformancePacks(v []*AggregateComplianceByConformancePack) *DescribeAggregateComplianceByConformancePacksOutput {
 16090  	s.AggregateComplianceByConformancePacks = v
 16091  	return s
 16092  }
 16093  
 16094  // SetNextToken sets the NextToken field's value.
 16095  func (s *DescribeAggregateComplianceByConformancePacksOutput) SetNextToken(v string) *DescribeAggregateComplianceByConformancePacksOutput {
 16096  	s.NextToken = &v
 16097  	return s
 16098  }
 16099  
 16100  type DescribeAggregationAuthorizationsInput struct {
 16101  	_ struct{} `type:"structure"`
 16102  
 16103  	// The maximum number of AggregationAuthorizations returned on each page. The
 16104  	// default is maximum. If you specify 0, Config uses the default.
 16105  	Limit *int64 `type:"integer"`
 16106  
 16107  	// The nextToken string returned on a previous page that you use to get the
 16108  	// next page of results in a paginated response.
 16109  	NextToken *string `type:"string"`
 16110  }
 16111  
 16112  // String returns the string representation.
 16113  //
 16114  // API parameter values that are decorated as "sensitive" in the API will not
 16115  // be included in the string output. The member name will be present, but the
 16116  // value will be replaced with "sensitive".
 16117  func (s DescribeAggregationAuthorizationsInput) String() string {
 16118  	return awsutil.Prettify(s)
 16119  }
 16120  
 16121  // GoString returns the string representation.
 16122  //
 16123  // API parameter values that are decorated as "sensitive" in the API will not
 16124  // be included in the string output. The member name will be present, but the
 16125  // value will be replaced with "sensitive".
 16126  func (s DescribeAggregationAuthorizationsInput) GoString() string {
 16127  	return s.String()
 16128  }
 16129  
 16130  // SetLimit sets the Limit field's value.
 16131  func (s *DescribeAggregationAuthorizationsInput) SetLimit(v int64) *DescribeAggregationAuthorizationsInput {
 16132  	s.Limit = &v
 16133  	return s
 16134  }
 16135  
 16136  // SetNextToken sets the NextToken field's value.
 16137  func (s *DescribeAggregationAuthorizationsInput) SetNextToken(v string) *DescribeAggregationAuthorizationsInput {
 16138  	s.NextToken = &v
 16139  	return s
 16140  }
 16141  
 16142  type DescribeAggregationAuthorizationsOutput struct {
 16143  	_ struct{} `type:"structure"`
 16144  
 16145  	// Returns a list of authorizations granted to various aggregator accounts and
 16146  	// regions.
 16147  	AggregationAuthorizations []*AggregationAuthorization `type:"list"`
 16148  
 16149  	// The nextToken string returned on a previous page that you use to get the
 16150  	// next page of results in a paginated response.
 16151  	NextToken *string `type:"string"`
 16152  }
 16153  
 16154  // String returns the string representation.
 16155  //
 16156  // API parameter values that are decorated as "sensitive" in the API will not
 16157  // be included in the string output. The member name will be present, but the
 16158  // value will be replaced with "sensitive".
 16159  func (s DescribeAggregationAuthorizationsOutput) String() string {
 16160  	return awsutil.Prettify(s)
 16161  }
 16162  
 16163  // GoString returns the string representation.
 16164  //
 16165  // API parameter values that are decorated as "sensitive" in the API will not
 16166  // be included in the string output. The member name will be present, but the
 16167  // value will be replaced with "sensitive".
 16168  func (s DescribeAggregationAuthorizationsOutput) GoString() string {
 16169  	return s.String()
 16170  }
 16171  
 16172  // SetAggregationAuthorizations sets the AggregationAuthorizations field's value.
 16173  func (s *DescribeAggregationAuthorizationsOutput) SetAggregationAuthorizations(v []*AggregationAuthorization) *DescribeAggregationAuthorizationsOutput {
 16174  	s.AggregationAuthorizations = v
 16175  	return s
 16176  }
 16177  
 16178  // SetNextToken sets the NextToken field's value.
 16179  func (s *DescribeAggregationAuthorizationsOutput) SetNextToken(v string) *DescribeAggregationAuthorizationsOutput {
 16180  	s.NextToken = &v
 16181  	return s
 16182  }
 16183  
 16184  type DescribeComplianceByConfigRuleInput struct {
 16185  	_ struct{} `type:"structure"`
 16186  
 16187  	// Filters the results by compliance.
 16188  	//
 16189  	// The allowed values are COMPLIANT and NON_COMPLIANT.
 16190  	ComplianceTypes []*string `type:"list"`
 16191  
 16192  	// Specify one or more Config rule names to filter the results by rule.
 16193  	ConfigRuleNames []*string `type:"list"`
 16194  
 16195  	// The nextToken string returned on a previous page that you use to get the
 16196  	// next page of results in a paginated response.
 16197  	NextToken *string `type:"string"`
 16198  }
 16199  
 16200  // String returns the string representation.
 16201  //
 16202  // API parameter values that are decorated as "sensitive" in the API will not
 16203  // be included in the string output. The member name will be present, but the
 16204  // value will be replaced with "sensitive".
 16205  func (s DescribeComplianceByConfigRuleInput) String() string {
 16206  	return awsutil.Prettify(s)
 16207  }
 16208  
 16209  // GoString returns the string representation.
 16210  //
 16211  // API parameter values that are decorated as "sensitive" in the API will not
 16212  // be included in the string output. The member name will be present, but the
 16213  // value will be replaced with "sensitive".
 16214  func (s DescribeComplianceByConfigRuleInput) GoString() string {
 16215  	return s.String()
 16216  }
 16217  
 16218  // SetComplianceTypes sets the ComplianceTypes field's value.
 16219  func (s *DescribeComplianceByConfigRuleInput) SetComplianceTypes(v []*string) *DescribeComplianceByConfigRuleInput {
 16220  	s.ComplianceTypes = v
 16221  	return s
 16222  }
 16223  
 16224  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 16225  func (s *DescribeComplianceByConfigRuleInput) SetConfigRuleNames(v []*string) *DescribeComplianceByConfigRuleInput {
 16226  	s.ConfigRuleNames = v
 16227  	return s
 16228  }
 16229  
 16230  // SetNextToken sets the NextToken field's value.
 16231  func (s *DescribeComplianceByConfigRuleInput) SetNextToken(v string) *DescribeComplianceByConfigRuleInput {
 16232  	s.NextToken = &v
 16233  	return s
 16234  }
 16235  
 16236  type DescribeComplianceByConfigRuleOutput struct {
 16237  	_ struct{} `type:"structure"`
 16238  
 16239  	// Indicates whether each of the specified Config rules is compliant.
 16240  	ComplianceByConfigRules []*ComplianceByConfigRule `type:"list"`
 16241  
 16242  	// The string that you use in a subsequent request to get the next page of results
 16243  	// in a paginated response.
 16244  	NextToken *string `type:"string"`
 16245  }
 16246  
 16247  // String returns the string representation.
 16248  //
 16249  // API parameter values that are decorated as "sensitive" in the API will not
 16250  // be included in the string output. The member name will be present, but the
 16251  // value will be replaced with "sensitive".
 16252  func (s DescribeComplianceByConfigRuleOutput) String() string {
 16253  	return awsutil.Prettify(s)
 16254  }
 16255  
 16256  // GoString returns the string representation.
 16257  //
 16258  // API parameter values that are decorated as "sensitive" in the API will not
 16259  // be included in the string output. The member name will be present, but the
 16260  // value will be replaced with "sensitive".
 16261  func (s DescribeComplianceByConfigRuleOutput) GoString() string {
 16262  	return s.String()
 16263  }
 16264  
 16265  // SetComplianceByConfigRules sets the ComplianceByConfigRules field's value.
 16266  func (s *DescribeComplianceByConfigRuleOutput) SetComplianceByConfigRules(v []*ComplianceByConfigRule) *DescribeComplianceByConfigRuleOutput {
 16267  	s.ComplianceByConfigRules = v
 16268  	return s
 16269  }
 16270  
 16271  // SetNextToken sets the NextToken field's value.
 16272  func (s *DescribeComplianceByConfigRuleOutput) SetNextToken(v string) *DescribeComplianceByConfigRuleOutput {
 16273  	s.NextToken = &v
 16274  	return s
 16275  }
 16276  
 16277  type DescribeComplianceByResourceInput struct {
 16278  	_ struct{} `type:"structure"`
 16279  
 16280  	// Filters the results by compliance.
 16281  	//
 16282  	// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
 16283  	ComplianceTypes []*string `type:"list"`
 16284  
 16285  	// The maximum number of evaluation results returned on each page. The default
 16286  	// is 10. You cannot specify a number greater than 100. If you specify 0, Config
 16287  	// uses the default.
 16288  	Limit *int64 `type:"integer"`
 16289  
 16290  	// The nextToken string returned on a previous page that you use to get the
 16291  	// next page of results in a paginated response.
 16292  	NextToken *string `type:"string"`
 16293  
 16294  	// The ID of the Amazon Web Services resource for which you want compliance
 16295  	// information. You can specify only one resource ID. If you specify a resource
 16296  	// ID, you must also specify a type for ResourceType.
 16297  	ResourceId *string `min:"1" type:"string"`
 16298  
 16299  	// The types of Amazon Web Services resources for which you want compliance
 16300  	// information (for example, AWS::EC2::Instance). For this action, you can specify
 16301  	// that the resource type is an Amazon Web Services account by specifying AWS::::Account.
 16302  	ResourceType *string `min:"1" type:"string"`
 16303  }
 16304  
 16305  // String returns the string representation.
 16306  //
 16307  // API parameter values that are decorated as "sensitive" in the API will not
 16308  // be included in the string output. The member name will be present, but the
 16309  // value will be replaced with "sensitive".
 16310  func (s DescribeComplianceByResourceInput) String() string {
 16311  	return awsutil.Prettify(s)
 16312  }
 16313  
 16314  // GoString returns the string representation.
 16315  //
 16316  // API parameter values that are decorated as "sensitive" in the API will not
 16317  // be included in the string output. The member name will be present, but the
 16318  // value will be replaced with "sensitive".
 16319  func (s DescribeComplianceByResourceInput) GoString() string {
 16320  	return s.String()
 16321  }
 16322  
 16323  // Validate inspects the fields of the type to determine if they are valid.
 16324  func (s *DescribeComplianceByResourceInput) Validate() error {
 16325  	invalidParams := request.ErrInvalidParams{Context: "DescribeComplianceByResourceInput"}
 16326  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 16327  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 16328  	}
 16329  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 16330  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 16331  	}
 16332  
 16333  	if invalidParams.Len() > 0 {
 16334  		return invalidParams
 16335  	}
 16336  	return nil
 16337  }
 16338  
 16339  // SetComplianceTypes sets the ComplianceTypes field's value.
 16340  func (s *DescribeComplianceByResourceInput) SetComplianceTypes(v []*string) *DescribeComplianceByResourceInput {
 16341  	s.ComplianceTypes = v
 16342  	return s
 16343  }
 16344  
 16345  // SetLimit sets the Limit field's value.
 16346  func (s *DescribeComplianceByResourceInput) SetLimit(v int64) *DescribeComplianceByResourceInput {
 16347  	s.Limit = &v
 16348  	return s
 16349  }
 16350  
 16351  // SetNextToken sets the NextToken field's value.
 16352  func (s *DescribeComplianceByResourceInput) SetNextToken(v string) *DescribeComplianceByResourceInput {
 16353  	s.NextToken = &v
 16354  	return s
 16355  }
 16356  
 16357  // SetResourceId sets the ResourceId field's value.
 16358  func (s *DescribeComplianceByResourceInput) SetResourceId(v string) *DescribeComplianceByResourceInput {
 16359  	s.ResourceId = &v
 16360  	return s
 16361  }
 16362  
 16363  // SetResourceType sets the ResourceType field's value.
 16364  func (s *DescribeComplianceByResourceInput) SetResourceType(v string) *DescribeComplianceByResourceInput {
 16365  	s.ResourceType = &v
 16366  	return s
 16367  }
 16368  
 16369  type DescribeComplianceByResourceOutput struct {
 16370  	_ struct{} `type:"structure"`
 16371  
 16372  	// Indicates whether the specified Amazon Web Services resource complies with
 16373  	// all of the Config rules that evaluate it.
 16374  	ComplianceByResources []*ComplianceByResource `type:"list"`
 16375  
 16376  	// The string that you use in a subsequent request to get the next page of results
 16377  	// in a paginated response.
 16378  	NextToken *string `type:"string"`
 16379  }
 16380  
 16381  // String returns the string representation.
 16382  //
 16383  // API parameter values that are decorated as "sensitive" in the API will not
 16384  // be included in the string output. The member name will be present, but the
 16385  // value will be replaced with "sensitive".
 16386  func (s DescribeComplianceByResourceOutput) String() string {
 16387  	return awsutil.Prettify(s)
 16388  }
 16389  
 16390  // GoString returns the string representation.
 16391  //
 16392  // API parameter values that are decorated as "sensitive" in the API will not
 16393  // be included in the string output. The member name will be present, but the
 16394  // value will be replaced with "sensitive".
 16395  func (s DescribeComplianceByResourceOutput) GoString() string {
 16396  	return s.String()
 16397  }
 16398  
 16399  // SetComplianceByResources sets the ComplianceByResources field's value.
 16400  func (s *DescribeComplianceByResourceOutput) SetComplianceByResources(v []*ComplianceByResource) *DescribeComplianceByResourceOutput {
 16401  	s.ComplianceByResources = v
 16402  	return s
 16403  }
 16404  
 16405  // SetNextToken sets the NextToken field's value.
 16406  func (s *DescribeComplianceByResourceOutput) SetNextToken(v string) *DescribeComplianceByResourceOutput {
 16407  	s.NextToken = &v
 16408  	return s
 16409  }
 16410  
 16411  type DescribeConfigRuleEvaluationStatusInput struct {
 16412  	_ struct{} `type:"structure"`
 16413  
 16414  	// The name of the Config managed rules for which you want status information.
 16415  	// If you do not specify any names, Config returns status information for all
 16416  	// Config managed rules that you use.
 16417  	ConfigRuleNames []*string `type:"list"`
 16418  
 16419  	// The number of rule evaluation results that you want returned.
 16420  	//
 16421  	// This parameter is required if the rule limit for your account is more than
 16422  	// the default of 150 rules.
 16423  	//
 16424  	// For information about requesting a rule limit increase, see Config Limits
 16425  	// (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
 16426  	// in the Amazon Web Services General Reference Guide.
 16427  	Limit *int64 `type:"integer"`
 16428  
 16429  	// The nextToken string returned on a previous page that you use to get the
 16430  	// next page of results in a paginated response.
 16431  	NextToken *string `type:"string"`
 16432  }
 16433  
 16434  // String returns the string representation.
 16435  //
 16436  // API parameter values that are decorated as "sensitive" in the API will not
 16437  // be included in the string output. The member name will be present, but the
 16438  // value will be replaced with "sensitive".
 16439  func (s DescribeConfigRuleEvaluationStatusInput) String() string {
 16440  	return awsutil.Prettify(s)
 16441  }
 16442  
 16443  // GoString returns the string representation.
 16444  //
 16445  // API parameter values that are decorated as "sensitive" in the API will not
 16446  // be included in the string output. The member name will be present, but the
 16447  // value will be replaced with "sensitive".
 16448  func (s DescribeConfigRuleEvaluationStatusInput) GoString() string {
 16449  	return s.String()
 16450  }
 16451  
 16452  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 16453  func (s *DescribeConfigRuleEvaluationStatusInput) SetConfigRuleNames(v []*string) *DescribeConfigRuleEvaluationStatusInput {
 16454  	s.ConfigRuleNames = v
 16455  	return s
 16456  }
 16457  
 16458  // SetLimit sets the Limit field's value.
 16459  func (s *DescribeConfigRuleEvaluationStatusInput) SetLimit(v int64) *DescribeConfigRuleEvaluationStatusInput {
 16460  	s.Limit = &v
 16461  	return s
 16462  }
 16463  
 16464  // SetNextToken sets the NextToken field's value.
 16465  func (s *DescribeConfigRuleEvaluationStatusInput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusInput {
 16466  	s.NextToken = &v
 16467  	return s
 16468  }
 16469  
 16470  type DescribeConfigRuleEvaluationStatusOutput struct {
 16471  	_ struct{} `type:"structure"`
 16472  
 16473  	// Status information about your Config managed rules.
 16474  	ConfigRulesEvaluationStatus []*ConfigRuleEvaluationStatus `type:"list"`
 16475  
 16476  	// The string that you use in a subsequent request to get the next page of results
 16477  	// in a paginated response.
 16478  	NextToken *string `type:"string"`
 16479  }
 16480  
 16481  // String returns the string representation.
 16482  //
 16483  // API parameter values that are decorated as "sensitive" in the API will not
 16484  // be included in the string output. The member name will be present, but the
 16485  // value will be replaced with "sensitive".
 16486  func (s DescribeConfigRuleEvaluationStatusOutput) String() string {
 16487  	return awsutil.Prettify(s)
 16488  }
 16489  
 16490  // GoString returns the string representation.
 16491  //
 16492  // API parameter values that are decorated as "sensitive" in the API will not
 16493  // be included in the string output. The member name will be present, but the
 16494  // value will be replaced with "sensitive".
 16495  func (s DescribeConfigRuleEvaluationStatusOutput) GoString() string {
 16496  	return s.String()
 16497  }
 16498  
 16499  // SetConfigRulesEvaluationStatus sets the ConfigRulesEvaluationStatus field's value.
 16500  func (s *DescribeConfigRuleEvaluationStatusOutput) SetConfigRulesEvaluationStatus(v []*ConfigRuleEvaluationStatus) *DescribeConfigRuleEvaluationStatusOutput {
 16501  	s.ConfigRulesEvaluationStatus = v
 16502  	return s
 16503  }
 16504  
 16505  // SetNextToken sets the NextToken field's value.
 16506  func (s *DescribeConfigRuleEvaluationStatusOutput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusOutput {
 16507  	s.NextToken = &v
 16508  	return s
 16509  }
 16510  
 16511  type DescribeConfigRulesInput struct {
 16512  	_ struct{} `type:"structure"`
 16513  
 16514  	// The names of the Config rules for which you want details. If you do not specify
 16515  	// any names, Config returns details for all your rules.
 16516  	ConfigRuleNames []*string `type:"list"`
 16517  
 16518  	// The nextToken string returned on a previous page that you use to get the
 16519  	// next page of results in a paginated response.
 16520  	NextToken *string `type:"string"`
 16521  }
 16522  
 16523  // String returns the string representation.
 16524  //
 16525  // API parameter values that are decorated as "sensitive" in the API will not
 16526  // be included in the string output. The member name will be present, but the
 16527  // value will be replaced with "sensitive".
 16528  func (s DescribeConfigRulesInput) String() string {
 16529  	return awsutil.Prettify(s)
 16530  }
 16531  
 16532  // GoString returns the string representation.
 16533  //
 16534  // API parameter values that are decorated as "sensitive" in the API will not
 16535  // be included in the string output. The member name will be present, but the
 16536  // value will be replaced with "sensitive".
 16537  func (s DescribeConfigRulesInput) GoString() string {
 16538  	return s.String()
 16539  }
 16540  
 16541  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 16542  func (s *DescribeConfigRulesInput) SetConfigRuleNames(v []*string) *DescribeConfigRulesInput {
 16543  	s.ConfigRuleNames = v
 16544  	return s
 16545  }
 16546  
 16547  // SetNextToken sets the NextToken field's value.
 16548  func (s *DescribeConfigRulesInput) SetNextToken(v string) *DescribeConfigRulesInput {
 16549  	s.NextToken = &v
 16550  	return s
 16551  }
 16552  
 16553  type DescribeConfigRulesOutput struct {
 16554  	_ struct{} `type:"structure"`
 16555  
 16556  	// The details about your Config rules.
 16557  	ConfigRules []*ConfigRule `type:"list"`
 16558  
 16559  	// The string that you use in a subsequent request to get the next page of results
 16560  	// in a paginated response.
 16561  	NextToken *string `type:"string"`
 16562  }
 16563  
 16564  // String returns the string representation.
 16565  //
 16566  // API parameter values that are decorated as "sensitive" in the API will not
 16567  // be included in the string output. The member name will be present, but the
 16568  // value will be replaced with "sensitive".
 16569  func (s DescribeConfigRulesOutput) String() string {
 16570  	return awsutil.Prettify(s)
 16571  }
 16572  
 16573  // GoString returns the string representation.
 16574  //
 16575  // API parameter values that are decorated as "sensitive" in the API will not
 16576  // be included in the string output. The member name will be present, but the
 16577  // value will be replaced with "sensitive".
 16578  func (s DescribeConfigRulesOutput) GoString() string {
 16579  	return s.String()
 16580  }
 16581  
 16582  // SetConfigRules sets the ConfigRules field's value.
 16583  func (s *DescribeConfigRulesOutput) SetConfigRules(v []*ConfigRule) *DescribeConfigRulesOutput {
 16584  	s.ConfigRules = v
 16585  	return s
 16586  }
 16587  
 16588  // SetNextToken sets the NextToken field's value.
 16589  func (s *DescribeConfigRulesOutput) SetNextToken(v string) *DescribeConfigRulesOutput {
 16590  	s.NextToken = &v
 16591  	return s
 16592  }
 16593  
 16594  type DescribeConfigurationAggregatorSourcesStatusInput struct {
 16595  	_ struct{} `type:"structure"`
 16596  
 16597  	// The name of the configuration aggregator.
 16598  	//
 16599  	// ConfigurationAggregatorName is a required field
 16600  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 16601  
 16602  	// The maximum number of AggregatorSourceStatus returned on each page. The default
 16603  	// is maximum. If you specify 0, Config uses the default.
 16604  	Limit *int64 `type:"integer"`
 16605  
 16606  	// The nextToken string returned on a previous page that you use to get the
 16607  	// next page of results in a paginated response.
 16608  	NextToken *string `type:"string"`
 16609  
 16610  	// Filters the status type.
 16611  	//
 16612  	//    * Valid value FAILED indicates errors while moving data.
 16613  	//
 16614  	//    * Valid value SUCCEEDED indicates the data was successfully moved.
 16615  	//
 16616  	//    * Valid value OUTDATED indicates the data is not the most recent.
 16617  	UpdateStatus []*string `min:"1" type:"list"`
 16618  }
 16619  
 16620  // String returns the string representation.
 16621  //
 16622  // API parameter values that are decorated as "sensitive" in the API will not
 16623  // be included in the string output. The member name will be present, but the
 16624  // value will be replaced with "sensitive".
 16625  func (s DescribeConfigurationAggregatorSourcesStatusInput) String() string {
 16626  	return awsutil.Prettify(s)
 16627  }
 16628  
 16629  // GoString returns the string representation.
 16630  //
 16631  // API parameter values that are decorated as "sensitive" in the API will not
 16632  // be included in the string output. The member name will be present, but the
 16633  // value will be replaced with "sensitive".
 16634  func (s DescribeConfigurationAggregatorSourcesStatusInput) GoString() string {
 16635  	return s.String()
 16636  }
 16637  
 16638  // Validate inspects the fields of the type to determine if they are valid.
 16639  func (s *DescribeConfigurationAggregatorSourcesStatusInput) Validate() error {
 16640  	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationAggregatorSourcesStatusInput"}
 16641  	if s.ConfigurationAggregatorName == nil {
 16642  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 16643  	}
 16644  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 16645  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 16646  	}
 16647  	if s.UpdateStatus != nil && len(s.UpdateStatus) < 1 {
 16648  		invalidParams.Add(request.NewErrParamMinLen("UpdateStatus", 1))
 16649  	}
 16650  
 16651  	if invalidParams.Len() > 0 {
 16652  		return invalidParams
 16653  	}
 16654  	return nil
 16655  }
 16656  
 16657  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 16658  func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetConfigurationAggregatorName(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
 16659  	s.ConfigurationAggregatorName = &v
 16660  	return s
 16661  }
 16662  
 16663  // SetLimit sets the Limit field's value.
 16664  func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetLimit(v int64) *DescribeConfigurationAggregatorSourcesStatusInput {
 16665  	s.Limit = &v
 16666  	return s
 16667  }
 16668  
 16669  // SetNextToken sets the NextToken field's value.
 16670  func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
 16671  	s.NextToken = &v
 16672  	return s
 16673  }
 16674  
 16675  // SetUpdateStatus sets the UpdateStatus field's value.
 16676  func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetUpdateStatus(v []*string) *DescribeConfigurationAggregatorSourcesStatusInput {
 16677  	s.UpdateStatus = v
 16678  	return s
 16679  }
 16680  
 16681  type DescribeConfigurationAggregatorSourcesStatusOutput struct {
 16682  	_ struct{} `type:"structure"`
 16683  
 16684  	// Returns an AggregatedSourceStatus object.
 16685  	AggregatedSourceStatusList []*AggregatedSourceStatus `type:"list"`
 16686  
 16687  	// The nextToken string returned on a previous page that you use to get the
 16688  	// next page of results in a paginated response.
 16689  	NextToken *string `type:"string"`
 16690  }
 16691  
 16692  // String returns the string representation.
 16693  //
 16694  // API parameter values that are decorated as "sensitive" in the API will not
 16695  // be included in the string output. The member name will be present, but the
 16696  // value will be replaced with "sensitive".
 16697  func (s DescribeConfigurationAggregatorSourcesStatusOutput) String() string {
 16698  	return awsutil.Prettify(s)
 16699  }
 16700  
 16701  // GoString returns the string representation.
 16702  //
 16703  // API parameter values that are decorated as "sensitive" in the API will not
 16704  // be included in the string output. The member name will be present, but the
 16705  // value will be replaced with "sensitive".
 16706  func (s DescribeConfigurationAggregatorSourcesStatusOutput) GoString() string {
 16707  	return s.String()
 16708  }
 16709  
 16710  // SetAggregatedSourceStatusList sets the AggregatedSourceStatusList field's value.
 16711  func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetAggregatedSourceStatusList(v []*AggregatedSourceStatus) *DescribeConfigurationAggregatorSourcesStatusOutput {
 16712  	s.AggregatedSourceStatusList = v
 16713  	return s
 16714  }
 16715  
 16716  // SetNextToken sets the NextToken field's value.
 16717  func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusOutput {
 16718  	s.NextToken = &v
 16719  	return s
 16720  }
 16721  
 16722  type DescribeConfigurationAggregatorsInput struct {
 16723  	_ struct{} `type:"structure"`
 16724  
 16725  	// The name of the configuration aggregators.
 16726  	ConfigurationAggregatorNames []*string `type:"list"`
 16727  
 16728  	// The maximum number of configuration aggregators returned on each page. The
 16729  	// default is maximum. If you specify 0, Config uses the default.
 16730  	Limit *int64 `type:"integer"`
 16731  
 16732  	// The nextToken string returned on a previous page that you use to get the
 16733  	// next page of results in a paginated response.
 16734  	NextToken *string `type:"string"`
 16735  }
 16736  
 16737  // String returns the string representation.
 16738  //
 16739  // API parameter values that are decorated as "sensitive" in the API will not
 16740  // be included in the string output. The member name will be present, but the
 16741  // value will be replaced with "sensitive".
 16742  func (s DescribeConfigurationAggregatorsInput) String() string {
 16743  	return awsutil.Prettify(s)
 16744  }
 16745  
 16746  // GoString returns the string representation.
 16747  //
 16748  // API parameter values that are decorated as "sensitive" in the API will not
 16749  // be included in the string output. The member name will be present, but the
 16750  // value will be replaced with "sensitive".
 16751  func (s DescribeConfigurationAggregatorsInput) GoString() string {
 16752  	return s.String()
 16753  }
 16754  
 16755  // SetConfigurationAggregatorNames sets the ConfigurationAggregatorNames field's value.
 16756  func (s *DescribeConfigurationAggregatorsInput) SetConfigurationAggregatorNames(v []*string) *DescribeConfigurationAggregatorsInput {
 16757  	s.ConfigurationAggregatorNames = v
 16758  	return s
 16759  }
 16760  
 16761  // SetLimit sets the Limit field's value.
 16762  func (s *DescribeConfigurationAggregatorsInput) SetLimit(v int64) *DescribeConfigurationAggregatorsInput {
 16763  	s.Limit = &v
 16764  	return s
 16765  }
 16766  
 16767  // SetNextToken sets the NextToken field's value.
 16768  func (s *DescribeConfigurationAggregatorsInput) SetNextToken(v string) *DescribeConfigurationAggregatorsInput {
 16769  	s.NextToken = &v
 16770  	return s
 16771  }
 16772  
 16773  type DescribeConfigurationAggregatorsOutput struct {
 16774  	_ struct{} `type:"structure"`
 16775  
 16776  	// Returns a ConfigurationAggregators object.
 16777  	ConfigurationAggregators []*ConfigurationAggregator `type:"list"`
 16778  
 16779  	// The nextToken string returned on a previous page that you use to get the
 16780  	// next page of results in a paginated response.
 16781  	NextToken *string `type:"string"`
 16782  }
 16783  
 16784  // String returns the string representation.
 16785  //
 16786  // API parameter values that are decorated as "sensitive" in the API will not
 16787  // be included in the string output. The member name will be present, but the
 16788  // value will be replaced with "sensitive".
 16789  func (s DescribeConfigurationAggregatorsOutput) String() string {
 16790  	return awsutil.Prettify(s)
 16791  }
 16792  
 16793  // GoString returns the string representation.
 16794  //
 16795  // API parameter values that are decorated as "sensitive" in the API will not
 16796  // be included in the string output. The member name will be present, but the
 16797  // value will be replaced with "sensitive".
 16798  func (s DescribeConfigurationAggregatorsOutput) GoString() string {
 16799  	return s.String()
 16800  }
 16801  
 16802  // SetConfigurationAggregators sets the ConfigurationAggregators field's value.
 16803  func (s *DescribeConfigurationAggregatorsOutput) SetConfigurationAggregators(v []*ConfigurationAggregator) *DescribeConfigurationAggregatorsOutput {
 16804  	s.ConfigurationAggregators = v
 16805  	return s
 16806  }
 16807  
 16808  // SetNextToken sets the NextToken field's value.
 16809  func (s *DescribeConfigurationAggregatorsOutput) SetNextToken(v string) *DescribeConfigurationAggregatorsOutput {
 16810  	s.NextToken = &v
 16811  	return s
 16812  }
 16813  
 16814  // The input for the DescribeConfigurationRecorderStatus action.
 16815  type DescribeConfigurationRecorderStatusInput struct {
 16816  	_ struct{} `type:"structure"`
 16817  
 16818  	// The name(s) of the configuration recorder. If the name is not specified,
 16819  	// the action returns the current status of all the configuration recorders
 16820  	// associated with the account.
 16821  	ConfigurationRecorderNames []*string `type:"list"`
 16822  }
 16823  
 16824  // String returns the string representation.
 16825  //
 16826  // API parameter values that are decorated as "sensitive" in the API will not
 16827  // be included in the string output. The member name will be present, but the
 16828  // value will be replaced with "sensitive".
 16829  func (s DescribeConfigurationRecorderStatusInput) String() string {
 16830  	return awsutil.Prettify(s)
 16831  }
 16832  
 16833  // GoString returns the string representation.
 16834  //
 16835  // API parameter values that are decorated as "sensitive" in the API will not
 16836  // be included in the string output. The member name will be present, but the
 16837  // value will be replaced with "sensitive".
 16838  func (s DescribeConfigurationRecorderStatusInput) GoString() string {
 16839  	return s.String()
 16840  }
 16841  
 16842  // SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
 16843  func (s *DescribeConfigurationRecorderStatusInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecorderStatusInput {
 16844  	s.ConfigurationRecorderNames = v
 16845  	return s
 16846  }
 16847  
 16848  // The output for the DescribeConfigurationRecorderStatus action, in JSON format.
 16849  type DescribeConfigurationRecorderStatusOutput struct {
 16850  	_ struct{} `type:"structure"`
 16851  
 16852  	// A list that contains status of the specified recorders.
 16853  	ConfigurationRecordersStatus []*ConfigurationRecorderStatus `type:"list"`
 16854  }
 16855  
 16856  // String returns the string representation.
 16857  //
 16858  // API parameter values that are decorated as "sensitive" in the API will not
 16859  // be included in the string output. The member name will be present, but the
 16860  // value will be replaced with "sensitive".
 16861  func (s DescribeConfigurationRecorderStatusOutput) String() string {
 16862  	return awsutil.Prettify(s)
 16863  }
 16864  
 16865  // GoString returns the string representation.
 16866  //
 16867  // API parameter values that are decorated as "sensitive" in the API will not
 16868  // be included in the string output. The member name will be present, but the
 16869  // value will be replaced with "sensitive".
 16870  func (s DescribeConfigurationRecorderStatusOutput) GoString() string {
 16871  	return s.String()
 16872  }
 16873  
 16874  // SetConfigurationRecordersStatus sets the ConfigurationRecordersStatus field's value.
 16875  func (s *DescribeConfigurationRecorderStatusOutput) SetConfigurationRecordersStatus(v []*ConfigurationRecorderStatus) *DescribeConfigurationRecorderStatusOutput {
 16876  	s.ConfigurationRecordersStatus = v
 16877  	return s
 16878  }
 16879  
 16880  // The input for the DescribeConfigurationRecorders action.
 16881  type DescribeConfigurationRecordersInput struct {
 16882  	_ struct{} `type:"structure"`
 16883  
 16884  	// A list of configuration recorder names.
 16885  	ConfigurationRecorderNames []*string `type:"list"`
 16886  }
 16887  
 16888  // String returns the string representation.
 16889  //
 16890  // API parameter values that are decorated as "sensitive" in the API will not
 16891  // be included in the string output. The member name will be present, but the
 16892  // value will be replaced with "sensitive".
 16893  func (s DescribeConfigurationRecordersInput) String() string {
 16894  	return awsutil.Prettify(s)
 16895  }
 16896  
 16897  // GoString returns the string representation.
 16898  //
 16899  // API parameter values that are decorated as "sensitive" in the API will not
 16900  // be included in the string output. The member name will be present, but the
 16901  // value will be replaced with "sensitive".
 16902  func (s DescribeConfigurationRecordersInput) GoString() string {
 16903  	return s.String()
 16904  }
 16905  
 16906  // SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
 16907  func (s *DescribeConfigurationRecordersInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecordersInput {
 16908  	s.ConfigurationRecorderNames = v
 16909  	return s
 16910  }
 16911  
 16912  // The output for the DescribeConfigurationRecorders action.
 16913  type DescribeConfigurationRecordersOutput struct {
 16914  	_ struct{} `type:"structure"`
 16915  
 16916  	// A list that contains the descriptions of the specified configuration recorders.
 16917  	ConfigurationRecorders []*ConfigurationRecorder `type:"list"`
 16918  }
 16919  
 16920  // String returns the string representation.
 16921  //
 16922  // API parameter values that are decorated as "sensitive" in the API will not
 16923  // be included in the string output. The member name will be present, but the
 16924  // value will be replaced with "sensitive".
 16925  func (s DescribeConfigurationRecordersOutput) String() string {
 16926  	return awsutil.Prettify(s)
 16927  }
 16928  
 16929  // GoString returns the string representation.
 16930  //
 16931  // API parameter values that are decorated as "sensitive" in the API will not
 16932  // be included in the string output. The member name will be present, but the
 16933  // value will be replaced with "sensitive".
 16934  func (s DescribeConfigurationRecordersOutput) GoString() string {
 16935  	return s.String()
 16936  }
 16937  
 16938  // SetConfigurationRecorders sets the ConfigurationRecorders field's value.
 16939  func (s *DescribeConfigurationRecordersOutput) SetConfigurationRecorders(v []*ConfigurationRecorder) *DescribeConfigurationRecordersOutput {
 16940  	s.ConfigurationRecorders = v
 16941  	return s
 16942  }
 16943  
 16944  type DescribeConformancePackComplianceInput struct {
 16945  	_ struct{} `type:"structure"`
 16946  
 16947  	// Name of the conformance pack.
 16948  	//
 16949  	// ConformancePackName is a required field
 16950  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 16951  
 16952  	// A ConformancePackComplianceFilters object.
 16953  	Filters *ConformancePackComplianceFilters `type:"structure"`
 16954  
 16955  	// The maximum number of Config rules within a conformance pack are returned
 16956  	// on each page.
 16957  	Limit *int64 `type:"integer"`
 16958  
 16959  	// The nextToken string returned in a previous request that you use to request
 16960  	// the next page of results in a paginated response.
 16961  	NextToken *string `type:"string"`
 16962  }
 16963  
 16964  // String returns the string representation.
 16965  //
 16966  // API parameter values that are decorated as "sensitive" in the API will not
 16967  // be included in the string output. The member name will be present, but the
 16968  // value will be replaced with "sensitive".
 16969  func (s DescribeConformancePackComplianceInput) String() string {
 16970  	return awsutil.Prettify(s)
 16971  }
 16972  
 16973  // GoString returns the string representation.
 16974  //
 16975  // API parameter values that are decorated as "sensitive" in the API will not
 16976  // be included in the string output. The member name will be present, but the
 16977  // value will be replaced with "sensitive".
 16978  func (s DescribeConformancePackComplianceInput) GoString() string {
 16979  	return s.String()
 16980  }
 16981  
 16982  // Validate inspects the fields of the type to determine if they are valid.
 16983  func (s *DescribeConformancePackComplianceInput) Validate() error {
 16984  	invalidParams := request.ErrInvalidParams{Context: "DescribeConformancePackComplianceInput"}
 16985  	if s.ConformancePackName == nil {
 16986  		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
 16987  	}
 16988  	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
 16989  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
 16990  	}
 16991  
 16992  	if invalidParams.Len() > 0 {
 16993  		return invalidParams
 16994  	}
 16995  	return nil
 16996  }
 16997  
 16998  // SetConformancePackName sets the ConformancePackName field's value.
 16999  func (s *DescribeConformancePackComplianceInput) SetConformancePackName(v string) *DescribeConformancePackComplianceInput {
 17000  	s.ConformancePackName = &v
 17001  	return s
 17002  }
 17003  
 17004  // SetFilters sets the Filters field's value.
 17005  func (s *DescribeConformancePackComplianceInput) SetFilters(v *ConformancePackComplianceFilters) *DescribeConformancePackComplianceInput {
 17006  	s.Filters = v
 17007  	return s
 17008  }
 17009  
 17010  // SetLimit sets the Limit field's value.
 17011  func (s *DescribeConformancePackComplianceInput) SetLimit(v int64) *DescribeConformancePackComplianceInput {
 17012  	s.Limit = &v
 17013  	return s
 17014  }
 17015  
 17016  // SetNextToken sets the NextToken field's value.
 17017  func (s *DescribeConformancePackComplianceInput) SetNextToken(v string) *DescribeConformancePackComplianceInput {
 17018  	s.NextToken = &v
 17019  	return s
 17020  }
 17021  
 17022  type DescribeConformancePackComplianceOutput struct {
 17023  	_ struct{} `type:"structure"`
 17024  
 17025  	// Name of the conformance pack.
 17026  	//
 17027  	// ConformancePackName is a required field
 17028  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 17029  
 17030  	// Returns a list of ConformancePackRuleCompliance objects.
 17031  	//
 17032  	// ConformancePackRuleComplianceList is a required field
 17033  	ConformancePackRuleComplianceList []*ConformancePackRuleCompliance `type:"list" required:"true"`
 17034  
 17035  	// The nextToken string returned in a previous request that you use to request
 17036  	// the next page of results in a paginated response.
 17037  	NextToken *string `type:"string"`
 17038  }
 17039  
 17040  // String returns the string representation.
 17041  //
 17042  // API parameter values that are decorated as "sensitive" in the API will not
 17043  // be included in the string output. The member name will be present, but the
 17044  // value will be replaced with "sensitive".
 17045  func (s DescribeConformancePackComplianceOutput) String() string {
 17046  	return awsutil.Prettify(s)
 17047  }
 17048  
 17049  // GoString returns the string representation.
 17050  //
 17051  // API parameter values that are decorated as "sensitive" in the API will not
 17052  // be included in the string output. The member name will be present, but the
 17053  // value will be replaced with "sensitive".
 17054  func (s DescribeConformancePackComplianceOutput) GoString() string {
 17055  	return s.String()
 17056  }
 17057  
 17058  // SetConformancePackName sets the ConformancePackName field's value.
 17059  func (s *DescribeConformancePackComplianceOutput) SetConformancePackName(v string) *DescribeConformancePackComplianceOutput {
 17060  	s.ConformancePackName = &v
 17061  	return s
 17062  }
 17063  
 17064  // SetConformancePackRuleComplianceList sets the ConformancePackRuleComplianceList field's value.
 17065  func (s *DescribeConformancePackComplianceOutput) SetConformancePackRuleComplianceList(v []*ConformancePackRuleCompliance) *DescribeConformancePackComplianceOutput {
 17066  	s.ConformancePackRuleComplianceList = v
 17067  	return s
 17068  }
 17069  
 17070  // SetNextToken sets the NextToken field's value.
 17071  func (s *DescribeConformancePackComplianceOutput) SetNextToken(v string) *DescribeConformancePackComplianceOutput {
 17072  	s.NextToken = &v
 17073  	return s
 17074  }
 17075  
 17076  type DescribeConformancePackStatusInput struct {
 17077  	_ struct{} `type:"structure"`
 17078  
 17079  	// Comma-separated list of conformance pack names.
 17080  	ConformancePackNames []*string `type:"list"`
 17081  
 17082  	// The maximum number of conformance packs status returned on each page.
 17083  	Limit *int64 `type:"integer"`
 17084  
 17085  	// The nextToken string returned in a previous request that you use to request
 17086  	// the next page of results in a paginated response.
 17087  	NextToken *string `type:"string"`
 17088  }
 17089  
 17090  // String returns the string representation.
 17091  //
 17092  // API parameter values that are decorated as "sensitive" in the API will not
 17093  // be included in the string output. The member name will be present, but the
 17094  // value will be replaced with "sensitive".
 17095  func (s DescribeConformancePackStatusInput) String() string {
 17096  	return awsutil.Prettify(s)
 17097  }
 17098  
 17099  // GoString returns the string representation.
 17100  //
 17101  // API parameter values that are decorated as "sensitive" in the API will not
 17102  // be included in the string output. The member name will be present, but the
 17103  // value will be replaced with "sensitive".
 17104  func (s DescribeConformancePackStatusInput) GoString() string {
 17105  	return s.String()
 17106  }
 17107  
 17108  // SetConformancePackNames sets the ConformancePackNames field's value.
 17109  func (s *DescribeConformancePackStatusInput) SetConformancePackNames(v []*string) *DescribeConformancePackStatusInput {
 17110  	s.ConformancePackNames = v
 17111  	return s
 17112  }
 17113  
 17114  // SetLimit sets the Limit field's value.
 17115  func (s *DescribeConformancePackStatusInput) SetLimit(v int64) *DescribeConformancePackStatusInput {
 17116  	s.Limit = &v
 17117  	return s
 17118  }
 17119  
 17120  // SetNextToken sets the NextToken field's value.
 17121  func (s *DescribeConformancePackStatusInput) SetNextToken(v string) *DescribeConformancePackStatusInput {
 17122  	s.NextToken = &v
 17123  	return s
 17124  }
 17125  
 17126  type DescribeConformancePackStatusOutput struct {
 17127  	_ struct{} `type:"structure"`
 17128  
 17129  	// A list of ConformancePackStatusDetail objects.
 17130  	ConformancePackStatusDetails []*ConformancePackStatusDetail `type:"list"`
 17131  
 17132  	// The nextToken string returned in a previous request that you use to request
 17133  	// the next page of results in a paginated response.
 17134  	NextToken *string `type:"string"`
 17135  }
 17136  
 17137  // String returns the string representation.
 17138  //
 17139  // API parameter values that are decorated as "sensitive" in the API will not
 17140  // be included in the string output. The member name will be present, but the
 17141  // value will be replaced with "sensitive".
 17142  func (s DescribeConformancePackStatusOutput) String() string {
 17143  	return awsutil.Prettify(s)
 17144  }
 17145  
 17146  // GoString returns the string representation.
 17147  //
 17148  // API parameter values that are decorated as "sensitive" in the API will not
 17149  // be included in the string output. The member name will be present, but the
 17150  // value will be replaced with "sensitive".
 17151  func (s DescribeConformancePackStatusOutput) GoString() string {
 17152  	return s.String()
 17153  }
 17154  
 17155  // SetConformancePackStatusDetails sets the ConformancePackStatusDetails field's value.
 17156  func (s *DescribeConformancePackStatusOutput) SetConformancePackStatusDetails(v []*ConformancePackStatusDetail) *DescribeConformancePackStatusOutput {
 17157  	s.ConformancePackStatusDetails = v
 17158  	return s
 17159  }
 17160  
 17161  // SetNextToken sets the NextToken field's value.
 17162  func (s *DescribeConformancePackStatusOutput) SetNextToken(v string) *DescribeConformancePackStatusOutput {
 17163  	s.NextToken = &v
 17164  	return s
 17165  }
 17166  
 17167  type DescribeConformancePacksInput struct {
 17168  	_ struct{} `type:"structure"`
 17169  
 17170  	// Comma-separated list of conformance pack names for which you want details.
 17171  	// If you do not specify any names, Config returns details for all your conformance
 17172  	// packs.
 17173  	ConformancePackNames []*string `type:"list"`
 17174  
 17175  	// The maximum number of conformance packs returned on each page.
 17176  	Limit *int64 `type:"integer"`
 17177  
 17178  	// The nextToken string returned in a previous request that you use to request
 17179  	// the next page of results in a paginated response.
 17180  	NextToken *string `type:"string"`
 17181  }
 17182  
 17183  // String returns the string representation.
 17184  //
 17185  // API parameter values that are decorated as "sensitive" in the API will not
 17186  // be included in the string output. The member name will be present, but the
 17187  // value will be replaced with "sensitive".
 17188  func (s DescribeConformancePacksInput) String() string {
 17189  	return awsutil.Prettify(s)
 17190  }
 17191  
 17192  // GoString returns the string representation.
 17193  //
 17194  // API parameter values that are decorated as "sensitive" in the API will not
 17195  // be included in the string output. The member name will be present, but the
 17196  // value will be replaced with "sensitive".
 17197  func (s DescribeConformancePacksInput) GoString() string {
 17198  	return s.String()
 17199  }
 17200  
 17201  // SetConformancePackNames sets the ConformancePackNames field's value.
 17202  func (s *DescribeConformancePacksInput) SetConformancePackNames(v []*string) *DescribeConformancePacksInput {
 17203  	s.ConformancePackNames = v
 17204  	return s
 17205  }
 17206  
 17207  // SetLimit sets the Limit field's value.
 17208  func (s *DescribeConformancePacksInput) SetLimit(v int64) *DescribeConformancePacksInput {
 17209  	s.Limit = &v
 17210  	return s
 17211  }
 17212  
 17213  // SetNextToken sets the NextToken field's value.
 17214  func (s *DescribeConformancePacksInput) SetNextToken(v string) *DescribeConformancePacksInput {
 17215  	s.NextToken = &v
 17216  	return s
 17217  }
 17218  
 17219  type DescribeConformancePacksOutput struct {
 17220  	_ struct{} `type:"structure"`
 17221  
 17222  	// Returns a list of ConformancePackDetail objects.
 17223  	ConformancePackDetails []*ConformancePackDetail `type:"list"`
 17224  
 17225  	// The nextToken string returned in a previous request that you use to request
 17226  	// the next page of results in a paginated response.
 17227  	NextToken *string `type:"string"`
 17228  }
 17229  
 17230  // String returns the string representation.
 17231  //
 17232  // API parameter values that are decorated as "sensitive" in the API will not
 17233  // be included in the string output. The member name will be present, but the
 17234  // value will be replaced with "sensitive".
 17235  func (s DescribeConformancePacksOutput) String() string {
 17236  	return awsutil.Prettify(s)
 17237  }
 17238  
 17239  // GoString returns the string representation.
 17240  //
 17241  // API parameter values that are decorated as "sensitive" in the API will not
 17242  // be included in the string output. The member name will be present, but the
 17243  // value will be replaced with "sensitive".
 17244  func (s DescribeConformancePacksOutput) GoString() string {
 17245  	return s.String()
 17246  }
 17247  
 17248  // SetConformancePackDetails sets the ConformancePackDetails field's value.
 17249  func (s *DescribeConformancePacksOutput) SetConformancePackDetails(v []*ConformancePackDetail) *DescribeConformancePacksOutput {
 17250  	s.ConformancePackDetails = v
 17251  	return s
 17252  }
 17253  
 17254  // SetNextToken sets the NextToken field's value.
 17255  func (s *DescribeConformancePacksOutput) SetNextToken(v string) *DescribeConformancePacksOutput {
 17256  	s.NextToken = &v
 17257  	return s
 17258  }
 17259  
 17260  // The input for the DeliveryChannelStatus action.
 17261  type DescribeDeliveryChannelStatusInput struct {
 17262  	_ struct{} `type:"structure"`
 17263  
 17264  	// A list of delivery channel names.
 17265  	DeliveryChannelNames []*string `type:"list"`
 17266  }
 17267  
 17268  // String returns the string representation.
 17269  //
 17270  // API parameter values that are decorated as "sensitive" in the API will not
 17271  // be included in the string output. The member name will be present, but the
 17272  // value will be replaced with "sensitive".
 17273  func (s DescribeDeliveryChannelStatusInput) String() string {
 17274  	return awsutil.Prettify(s)
 17275  }
 17276  
 17277  // GoString returns the string representation.
 17278  //
 17279  // API parameter values that are decorated as "sensitive" in the API will not
 17280  // be included in the string output. The member name will be present, but the
 17281  // value will be replaced with "sensitive".
 17282  func (s DescribeDeliveryChannelStatusInput) GoString() string {
 17283  	return s.String()
 17284  }
 17285  
 17286  // SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
 17287  func (s *DescribeDeliveryChannelStatusInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelStatusInput {
 17288  	s.DeliveryChannelNames = v
 17289  	return s
 17290  }
 17291  
 17292  // The output for the DescribeDeliveryChannelStatus action.
 17293  type DescribeDeliveryChannelStatusOutput struct {
 17294  	_ struct{} `type:"structure"`
 17295  
 17296  	// A list that contains the status of a specified delivery channel.
 17297  	DeliveryChannelsStatus []*DeliveryChannelStatus `type:"list"`
 17298  }
 17299  
 17300  // String returns the string representation.
 17301  //
 17302  // API parameter values that are decorated as "sensitive" in the API will not
 17303  // be included in the string output. The member name will be present, but the
 17304  // value will be replaced with "sensitive".
 17305  func (s DescribeDeliveryChannelStatusOutput) String() string {
 17306  	return awsutil.Prettify(s)
 17307  }
 17308  
 17309  // GoString returns the string representation.
 17310  //
 17311  // API parameter values that are decorated as "sensitive" in the API will not
 17312  // be included in the string output. The member name will be present, but the
 17313  // value will be replaced with "sensitive".
 17314  func (s DescribeDeliveryChannelStatusOutput) GoString() string {
 17315  	return s.String()
 17316  }
 17317  
 17318  // SetDeliveryChannelsStatus sets the DeliveryChannelsStatus field's value.
 17319  func (s *DescribeDeliveryChannelStatusOutput) SetDeliveryChannelsStatus(v []*DeliveryChannelStatus) *DescribeDeliveryChannelStatusOutput {
 17320  	s.DeliveryChannelsStatus = v
 17321  	return s
 17322  }
 17323  
 17324  // The input for the DescribeDeliveryChannels action.
 17325  type DescribeDeliveryChannelsInput struct {
 17326  	_ struct{} `type:"structure"`
 17327  
 17328  	// A list of delivery channel names.
 17329  	DeliveryChannelNames []*string `type:"list"`
 17330  }
 17331  
 17332  // String returns the string representation.
 17333  //
 17334  // API parameter values that are decorated as "sensitive" in the API will not
 17335  // be included in the string output. The member name will be present, but the
 17336  // value will be replaced with "sensitive".
 17337  func (s DescribeDeliveryChannelsInput) String() string {
 17338  	return awsutil.Prettify(s)
 17339  }
 17340  
 17341  // GoString returns the string representation.
 17342  //
 17343  // API parameter values that are decorated as "sensitive" in the API will not
 17344  // be included in the string output. The member name will be present, but the
 17345  // value will be replaced with "sensitive".
 17346  func (s DescribeDeliveryChannelsInput) GoString() string {
 17347  	return s.String()
 17348  }
 17349  
 17350  // SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
 17351  func (s *DescribeDeliveryChannelsInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelsInput {
 17352  	s.DeliveryChannelNames = v
 17353  	return s
 17354  }
 17355  
 17356  // The output for the DescribeDeliveryChannels action.
 17357  type DescribeDeliveryChannelsOutput struct {
 17358  	_ struct{} `type:"structure"`
 17359  
 17360  	// A list that contains the descriptions of the specified delivery channel.
 17361  	DeliveryChannels []*DeliveryChannel `type:"list"`
 17362  }
 17363  
 17364  // String returns the string representation.
 17365  //
 17366  // API parameter values that are decorated as "sensitive" in the API will not
 17367  // be included in the string output. The member name will be present, but the
 17368  // value will be replaced with "sensitive".
 17369  func (s DescribeDeliveryChannelsOutput) String() string {
 17370  	return awsutil.Prettify(s)
 17371  }
 17372  
 17373  // GoString returns the string representation.
 17374  //
 17375  // API parameter values that are decorated as "sensitive" in the API will not
 17376  // be included in the string output. The member name will be present, but the
 17377  // value will be replaced with "sensitive".
 17378  func (s DescribeDeliveryChannelsOutput) GoString() string {
 17379  	return s.String()
 17380  }
 17381  
 17382  // SetDeliveryChannels sets the DeliveryChannels field's value.
 17383  func (s *DescribeDeliveryChannelsOutput) SetDeliveryChannels(v []*DeliveryChannel) *DescribeDeliveryChannelsOutput {
 17384  	s.DeliveryChannels = v
 17385  	return s
 17386  }
 17387  
 17388  type DescribeOrganizationConfigRuleStatusesInput struct {
 17389  	_ struct{} `type:"structure"`
 17390  
 17391  	// The maximum number of OrganizationConfigRuleStatuses returned on each page.
 17392  	// If you do no specify a number, Config uses the default. The default is 100.
 17393  	Limit *int64 `type:"integer"`
 17394  
 17395  	// The nextToken string returned on a previous page that you use to get the
 17396  	// next page of results in a paginated response.
 17397  	NextToken *string `type:"string"`
 17398  
 17399  	// The names of organization config rules for which you want status details.
 17400  	// If you do not specify any names, Config returns details for all your organization
 17401  	// Config rules.
 17402  	OrganizationConfigRuleNames []*string `type:"list"`
 17403  }
 17404  
 17405  // String returns the string representation.
 17406  //
 17407  // API parameter values that are decorated as "sensitive" in the API will not
 17408  // be included in the string output. The member name will be present, but the
 17409  // value will be replaced with "sensitive".
 17410  func (s DescribeOrganizationConfigRuleStatusesInput) String() string {
 17411  	return awsutil.Prettify(s)
 17412  }
 17413  
 17414  // GoString returns the string representation.
 17415  //
 17416  // API parameter values that are decorated as "sensitive" in the API will not
 17417  // be included in the string output. The member name will be present, but the
 17418  // value will be replaced with "sensitive".
 17419  func (s DescribeOrganizationConfigRuleStatusesInput) GoString() string {
 17420  	return s.String()
 17421  }
 17422  
 17423  // SetLimit sets the Limit field's value.
 17424  func (s *DescribeOrganizationConfigRuleStatusesInput) SetLimit(v int64) *DescribeOrganizationConfigRuleStatusesInput {
 17425  	s.Limit = &v
 17426  	return s
 17427  }
 17428  
 17429  // SetNextToken sets the NextToken field's value.
 17430  func (s *DescribeOrganizationConfigRuleStatusesInput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesInput {
 17431  	s.NextToken = &v
 17432  	return s
 17433  }
 17434  
 17435  // SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
 17436  func (s *DescribeOrganizationConfigRuleStatusesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRuleStatusesInput {
 17437  	s.OrganizationConfigRuleNames = v
 17438  	return s
 17439  }
 17440  
 17441  type DescribeOrganizationConfigRuleStatusesOutput struct {
 17442  	_ struct{} `type:"structure"`
 17443  
 17444  	// The nextToken string returned on a previous page that you use to get the
 17445  	// next page of results in a paginated response.
 17446  	NextToken *string `type:"string"`
 17447  
 17448  	// A list of OrganizationConfigRuleStatus objects.
 17449  	OrganizationConfigRuleStatuses []*OrganizationConfigRuleStatus `type:"list"`
 17450  }
 17451  
 17452  // String returns the string representation.
 17453  //
 17454  // API parameter values that are decorated as "sensitive" in the API will not
 17455  // be included in the string output. The member name will be present, but the
 17456  // value will be replaced with "sensitive".
 17457  func (s DescribeOrganizationConfigRuleStatusesOutput) String() string {
 17458  	return awsutil.Prettify(s)
 17459  }
 17460  
 17461  // GoString returns the string representation.
 17462  //
 17463  // API parameter values that are decorated as "sensitive" in the API will not
 17464  // be included in the string output. The member name will be present, but the
 17465  // value will be replaced with "sensitive".
 17466  func (s DescribeOrganizationConfigRuleStatusesOutput) GoString() string {
 17467  	return s.String()
 17468  }
 17469  
 17470  // SetNextToken sets the NextToken field's value.
 17471  func (s *DescribeOrganizationConfigRuleStatusesOutput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesOutput {
 17472  	s.NextToken = &v
 17473  	return s
 17474  }
 17475  
 17476  // SetOrganizationConfigRuleStatuses sets the OrganizationConfigRuleStatuses field's value.
 17477  func (s *DescribeOrganizationConfigRuleStatusesOutput) SetOrganizationConfigRuleStatuses(v []*OrganizationConfigRuleStatus) *DescribeOrganizationConfigRuleStatusesOutput {
 17478  	s.OrganizationConfigRuleStatuses = v
 17479  	return s
 17480  }
 17481  
 17482  type DescribeOrganizationConfigRulesInput struct {
 17483  	_ struct{} `type:"structure"`
 17484  
 17485  	// The maximum number of organization config rules returned on each page. If
 17486  	// you do no specify a number, Config uses the default. The default is 100.
 17487  	Limit *int64 `type:"integer"`
 17488  
 17489  	// The nextToken string returned on a previous page that you use to get the
 17490  	// next page of results in a paginated response.
 17491  	NextToken *string `type:"string"`
 17492  
 17493  	// The names of organization config rules for which you want details. If you
 17494  	// do not specify any names, Config returns details for all your organization
 17495  	// config rules.
 17496  	OrganizationConfigRuleNames []*string `type:"list"`
 17497  }
 17498  
 17499  // String returns the string representation.
 17500  //
 17501  // API parameter values that are decorated as "sensitive" in the API will not
 17502  // be included in the string output. The member name will be present, but the
 17503  // value will be replaced with "sensitive".
 17504  func (s DescribeOrganizationConfigRulesInput) String() string {
 17505  	return awsutil.Prettify(s)
 17506  }
 17507  
 17508  // GoString returns the string representation.
 17509  //
 17510  // API parameter values that are decorated as "sensitive" in the API will not
 17511  // be included in the string output. The member name will be present, but the
 17512  // value will be replaced with "sensitive".
 17513  func (s DescribeOrganizationConfigRulesInput) GoString() string {
 17514  	return s.String()
 17515  }
 17516  
 17517  // SetLimit sets the Limit field's value.
 17518  func (s *DescribeOrganizationConfigRulesInput) SetLimit(v int64) *DescribeOrganizationConfigRulesInput {
 17519  	s.Limit = &v
 17520  	return s
 17521  }
 17522  
 17523  // SetNextToken sets the NextToken field's value.
 17524  func (s *DescribeOrganizationConfigRulesInput) SetNextToken(v string) *DescribeOrganizationConfigRulesInput {
 17525  	s.NextToken = &v
 17526  	return s
 17527  }
 17528  
 17529  // SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
 17530  func (s *DescribeOrganizationConfigRulesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRulesInput {
 17531  	s.OrganizationConfigRuleNames = v
 17532  	return s
 17533  }
 17534  
 17535  type DescribeOrganizationConfigRulesOutput struct {
 17536  	_ struct{} `type:"structure"`
 17537  
 17538  	// The nextToken string returned on a previous page that you use to get the
 17539  	// next page of results in a paginated response.
 17540  	NextToken *string `type:"string"`
 17541  
 17542  	// Returns a list of OrganizationConfigRule objects.
 17543  	OrganizationConfigRules []*OrganizationConfigRule `type:"list"`
 17544  }
 17545  
 17546  // String returns the string representation.
 17547  //
 17548  // API parameter values that are decorated as "sensitive" in the API will not
 17549  // be included in the string output. The member name will be present, but the
 17550  // value will be replaced with "sensitive".
 17551  func (s DescribeOrganizationConfigRulesOutput) String() string {
 17552  	return awsutil.Prettify(s)
 17553  }
 17554  
 17555  // GoString returns the string representation.
 17556  //
 17557  // API parameter values that are decorated as "sensitive" in the API will not
 17558  // be included in the string output. The member name will be present, but the
 17559  // value will be replaced with "sensitive".
 17560  func (s DescribeOrganizationConfigRulesOutput) GoString() string {
 17561  	return s.String()
 17562  }
 17563  
 17564  // SetNextToken sets the NextToken field's value.
 17565  func (s *DescribeOrganizationConfigRulesOutput) SetNextToken(v string) *DescribeOrganizationConfigRulesOutput {
 17566  	s.NextToken = &v
 17567  	return s
 17568  }
 17569  
 17570  // SetOrganizationConfigRules sets the OrganizationConfigRules field's value.
 17571  func (s *DescribeOrganizationConfigRulesOutput) SetOrganizationConfigRules(v []*OrganizationConfigRule) *DescribeOrganizationConfigRulesOutput {
 17572  	s.OrganizationConfigRules = v
 17573  	return s
 17574  }
 17575  
 17576  type DescribeOrganizationConformancePackStatusesInput struct {
 17577  	_ struct{} `type:"structure"`
 17578  
 17579  	// The maximum number of OrganizationConformancePackStatuses returned on each
 17580  	// page. If you do no specify a number, Config uses the default. The default
 17581  	// is 100.
 17582  	Limit *int64 `type:"integer"`
 17583  
 17584  	// The nextToken string returned on a previous page that you use to get the
 17585  	// next page of results in a paginated response.
 17586  	NextToken *string `type:"string"`
 17587  
 17588  	// The names of organization conformance packs for which you want status details.
 17589  	// If you do not specify any names, Config returns details for all your organization
 17590  	// conformance packs.
 17591  	OrganizationConformancePackNames []*string `type:"list"`
 17592  }
 17593  
 17594  // String returns the string representation.
 17595  //
 17596  // API parameter values that are decorated as "sensitive" in the API will not
 17597  // be included in the string output. The member name will be present, but the
 17598  // value will be replaced with "sensitive".
 17599  func (s DescribeOrganizationConformancePackStatusesInput) String() string {
 17600  	return awsutil.Prettify(s)
 17601  }
 17602  
 17603  // GoString returns the string representation.
 17604  //
 17605  // API parameter values that are decorated as "sensitive" in the API will not
 17606  // be included in the string output. The member name will be present, but the
 17607  // value will be replaced with "sensitive".
 17608  func (s DescribeOrganizationConformancePackStatusesInput) GoString() string {
 17609  	return s.String()
 17610  }
 17611  
 17612  // SetLimit sets the Limit field's value.
 17613  func (s *DescribeOrganizationConformancePackStatusesInput) SetLimit(v int64) *DescribeOrganizationConformancePackStatusesInput {
 17614  	s.Limit = &v
 17615  	return s
 17616  }
 17617  
 17618  // SetNextToken sets the NextToken field's value.
 17619  func (s *DescribeOrganizationConformancePackStatusesInput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesInput {
 17620  	s.NextToken = &v
 17621  	return s
 17622  }
 17623  
 17624  // SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
 17625  func (s *DescribeOrganizationConformancePackStatusesInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePackStatusesInput {
 17626  	s.OrganizationConformancePackNames = v
 17627  	return s
 17628  }
 17629  
 17630  type DescribeOrganizationConformancePackStatusesOutput struct {
 17631  	_ struct{} `type:"structure"`
 17632  
 17633  	// The nextToken string returned on a previous page that you use to get the
 17634  	// next page of results in a paginated response.
 17635  	NextToken *string `type:"string"`
 17636  
 17637  	// A list of OrganizationConformancePackStatus objects.
 17638  	OrganizationConformancePackStatuses []*OrganizationConformancePackStatus `type:"list"`
 17639  }
 17640  
 17641  // String returns the string representation.
 17642  //
 17643  // API parameter values that are decorated as "sensitive" in the API will not
 17644  // be included in the string output. The member name will be present, but the
 17645  // value will be replaced with "sensitive".
 17646  func (s DescribeOrganizationConformancePackStatusesOutput) String() string {
 17647  	return awsutil.Prettify(s)
 17648  }
 17649  
 17650  // GoString returns the string representation.
 17651  //
 17652  // API parameter values that are decorated as "sensitive" in the API will not
 17653  // be included in the string output. The member name will be present, but the
 17654  // value will be replaced with "sensitive".
 17655  func (s DescribeOrganizationConformancePackStatusesOutput) GoString() string {
 17656  	return s.String()
 17657  }
 17658  
 17659  // SetNextToken sets the NextToken field's value.
 17660  func (s *DescribeOrganizationConformancePackStatusesOutput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesOutput {
 17661  	s.NextToken = &v
 17662  	return s
 17663  }
 17664  
 17665  // SetOrganizationConformancePackStatuses sets the OrganizationConformancePackStatuses field's value.
 17666  func (s *DescribeOrganizationConformancePackStatusesOutput) SetOrganizationConformancePackStatuses(v []*OrganizationConformancePackStatus) *DescribeOrganizationConformancePackStatusesOutput {
 17667  	s.OrganizationConformancePackStatuses = v
 17668  	return s
 17669  }
 17670  
 17671  type DescribeOrganizationConformancePacksInput struct {
 17672  	_ struct{} `type:"structure"`
 17673  
 17674  	// The maximum number of organization config packs returned on each page. If
 17675  	// you do no specify a number, Config uses the default. The default is 100.
 17676  	Limit *int64 `type:"integer"`
 17677  
 17678  	// The nextToken string returned on a previous page that you use to get the
 17679  	// next page of results in a paginated response.
 17680  	NextToken *string `type:"string"`
 17681  
 17682  	// The name that you assign to an organization conformance pack.
 17683  	OrganizationConformancePackNames []*string `type:"list"`
 17684  }
 17685  
 17686  // String returns the string representation.
 17687  //
 17688  // API parameter values that are decorated as "sensitive" in the API will not
 17689  // be included in the string output. The member name will be present, but the
 17690  // value will be replaced with "sensitive".
 17691  func (s DescribeOrganizationConformancePacksInput) String() string {
 17692  	return awsutil.Prettify(s)
 17693  }
 17694  
 17695  // GoString returns the string representation.
 17696  //
 17697  // API parameter values that are decorated as "sensitive" in the API will not
 17698  // be included in the string output. The member name will be present, but the
 17699  // value will be replaced with "sensitive".
 17700  func (s DescribeOrganizationConformancePacksInput) GoString() string {
 17701  	return s.String()
 17702  }
 17703  
 17704  // SetLimit sets the Limit field's value.
 17705  func (s *DescribeOrganizationConformancePacksInput) SetLimit(v int64) *DescribeOrganizationConformancePacksInput {
 17706  	s.Limit = &v
 17707  	return s
 17708  }
 17709  
 17710  // SetNextToken sets the NextToken field's value.
 17711  func (s *DescribeOrganizationConformancePacksInput) SetNextToken(v string) *DescribeOrganizationConformancePacksInput {
 17712  	s.NextToken = &v
 17713  	return s
 17714  }
 17715  
 17716  // SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
 17717  func (s *DescribeOrganizationConformancePacksInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePacksInput {
 17718  	s.OrganizationConformancePackNames = v
 17719  	return s
 17720  }
 17721  
 17722  type DescribeOrganizationConformancePacksOutput struct {
 17723  	_ struct{} `type:"structure"`
 17724  
 17725  	// The nextToken string returned on a previous page that you use to get the
 17726  	// next page of results in a paginated response.
 17727  	NextToken *string `type:"string"`
 17728  
 17729  	// Returns a list of OrganizationConformancePacks objects.
 17730  	OrganizationConformancePacks []*OrganizationConformancePack `type:"list"`
 17731  }
 17732  
 17733  // String returns the string representation.
 17734  //
 17735  // API parameter values that are decorated as "sensitive" in the API will not
 17736  // be included in the string output. The member name will be present, but the
 17737  // value will be replaced with "sensitive".
 17738  func (s DescribeOrganizationConformancePacksOutput) String() string {
 17739  	return awsutil.Prettify(s)
 17740  }
 17741  
 17742  // GoString returns the string representation.
 17743  //
 17744  // API parameter values that are decorated as "sensitive" in the API will not
 17745  // be included in the string output. The member name will be present, but the
 17746  // value will be replaced with "sensitive".
 17747  func (s DescribeOrganizationConformancePacksOutput) GoString() string {
 17748  	return s.String()
 17749  }
 17750  
 17751  // SetNextToken sets the NextToken field's value.
 17752  func (s *DescribeOrganizationConformancePacksOutput) SetNextToken(v string) *DescribeOrganizationConformancePacksOutput {
 17753  	s.NextToken = &v
 17754  	return s
 17755  }
 17756  
 17757  // SetOrganizationConformancePacks sets the OrganizationConformancePacks field's value.
 17758  func (s *DescribeOrganizationConformancePacksOutput) SetOrganizationConformancePacks(v []*OrganizationConformancePack) *DescribeOrganizationConformancePacksOutput {
 17759  	s.OrganizationConformancePacks = v
 17760  	return s
 17761  }
 17762  
 17763  type DescribePendingAggregationRequestsInput struct {
 17764  	_ struct{} `type:"structure"`
 17765  
 17766  	// The maximum number of evaluation results returned on each page. The default
 17767  	// is maximum. If you specify 0, Config uses the default.
 17768  	Limit *int64 `type:"integer"`
 17769  
 17770  	// The nextToken string returned on a previous page that you use to get the
 17771  	// next page of results in a paginated response.
 17772  	NextToken *string `type:"string"`
 17773  }
 17774  
 17775  // String returns the string representation.
 17776  //
 17777  // API parameter values that are decorated as "sensitive" in the API will not
 17778  // be included in the string output. The member name will be present, but the
 17779  // value will be replaced with "sensitive".
 17780  func (s DescribePendingAggregationRequestsInput) String() string {
 17781  	return awsutil.Prettify(s)
 17782  }
 17783  
 17784  // GoString returns the string representation.
 17785  //
 17786  // API parameter values that are decorated as "sensitive" in the API will not
 17787  // be included in the string output. The member name will be present, but the
 17788  // value will be replaced with "sensitive".
 17789  func (s DescribePendingAggregationRequestsInput) GoString() string {
 17790  	return s.String()
 17791  }
 17792  
 17793  // SetLimit sets the Limit field's value.
 17794  func (s *DescribePendingAggregationRequestsInput) SetLimit(v int64) *DescribePendingAggregationRequestsInput {
 17795  	s.Limit = &v
 17796  	return s
 17797  }
 17798  
 17799  // SetNextToken sets the NextToken field's value.
 17800  func (s *DescribePendingAggregationRequestsInput) SetNextToken(v string) *DescribePendingAggregationRequestsInput {
 17801  	s.NextToken = &v
 17802  	return s
 17803  }
 17804  
 17805  type DescribePendingAggregationRequestsOutput struct {
 17806  	_ struct{} `type:"structure"`
 17807  
 17808  	// The nextToken string returned on a previous page that you use to get the
 17809  	// next page of results in a paginated response.
 17810  	NextToken *string `type:"string"`
 17811  
 17812  	// Returns a PendingAggregationRequests object.
 17813  	PendingAggregationRequests []*PendingAggregationRequest `type:"list"`
 17814  }
 17815  
 17816  // String returns the string representation.
 17817  //
 17818  // API parameter values that are decorated as "sensitive" in the API will not
 17819  // be included in the string output. The member name will be present, but the
 17820  // value will be replaced with "sensitive".
 17821  func (s DescribePendingAggregationRequestsOutput) String() string {
 17822  	return awsutil.Prettify(s)
 17823  }
 17824  
 17825  // GoString returns the string representation.
 17826  //
 17827  // API parameter values that are decorated as "sensitive" in the API will not
 17828  // be included in the string output. The member name will be present, but the
 17829  // value will be replaced with "sensitive".
 17830  func (s DescribePendingAggregationRequestsOutput) GoString() string {
 17831  	return s.String()
 17832  }
 17833  
 17834  // SetNextToken sets the NextToken field's value.
 17835  func (s *DescribePendingAggregationRequestsOutput) SetNextToken(v string) *DescribePendingAggregationRequestsOutput {
 17836  	s.NextToken = &v
 17837  	return s
 17838  }
 17839  
 17840  // SetPendingAggregationRequests sets the PendingAggregationRequests field's value.
 17841  func (s *DescribePendingAggregationRequestsOutput) SetPendingAggregationRequests(v []*PendingAggregationRequest) *DescribePendingAggregationRequestsOutput {
 17842  	s.PendingAggregationRequests = v
 17843  	return s
 17844  }
 17845  
 17846  type DescribeRemediationConfigurationsInput struct {
 17847  	_ struct{} `type:"structure"`
 17848  
 17849  	// A list of Config rule names of remediation configurations for which you want
 17850  	// details.
 17851  	//
 17852  	// ConfigRuleNames is a required field
 17853  	ConfigRuleNames []*string `type:"list" required:"true"`
 17854  }
 17855  
 17856  // String returns the string representation.
 17857  //
 17858  // API parameter values that are decorated as "sensitive" in the API will not
 17859  // be included in the string output. The member name will be present, but the
 17860  // value will be replaced with "sensitive".
 17861  func (s DescribeRemediationConfigurationsInput) String() string {
 17862  	return awsutil.Prettify(s)
 17863  }
 17864  
 17865  // GoString returns the string representation.
 17866  //
 17867  // API parameter values that are decorated as "sensitive" in the API will not
 17868  // be included in the string output. The member name will be present, but the
 17869  // value will be replaced with "sensitive".
 17870  func (s DescribeRemediationConfigurationsInput) GoString() string {
 17871  	return s.String()
 17872  }
 17873  
 17874  // Validate inspects the fields of the type to determine if they are valid.
 17875  func (s *DescribeRemediationConfigurationsInput) Validate() error {
 17876  	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationConfigurationsInput"}
 17877  	if s.ConfigRuleNames == nil {
 17878  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleNames"))
 17879  	}
 17880  
 17881  	if invalidParams.Len() > 0 {
 17882  		return invalidParams
 17883  	}
 17884  	return nil
 17885  }
 17886  
 17887  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 17888  func (s *DescribeRemediationConfigurationsInput) SetConfigRuleNames(v []*string) *DescribeRemediationConfigurationsInput {
 17889  	s.ConfigRuleNames = v
 17890  	return s
 17891  }
 17892  
 17893  type DescribeRemediationConfigurationsOutput struct {
 17894  	_ struct{} `type:"structure"`
 17895  
 17896  	// Returns a remediation configuration object.
 17897  	RemediationConfigurations []*RemediationConfiguration `type:"list"`
 17898  }
 17899  
 17900  // String returns the string representation.
 17901  //
 17902  // API parameter values that are decorated as "sensitive" in the API will not
 17903  // be included in the string output. The member name will be present, but the
 17904  // value will be replaced with "sensitive".
 17905  func (s DescribeRemediationConfigurationsOutput) String() string {
 17906  	return awsutil.Prettify(s)
 17907  }
 17908  
 17909  // GoString returns the string representation.
 17910  //
 17911  // API parameter values that are decorated as "sensitive" in the API will not
 17912  // be included in the string output. The member name will be present, but the
 17913  // value will be replaced with "sensitive".
 17914  func (s DescribeRemediationConfigurationsOutput) GoString() string {
 17915  	return s.String()
 17916  }
 17917  
 17918  // SetRemediationConfigurations sets the RemediationConfigurations field's value.
 17919  func (s *DescribeRemediationConfigurationsOutput) SetRemediationConfigurations(v []*RemediationConfiguration) *DescribeRemediationConfigurationsOutput {
 17920  	s.RemediationConfigurations = v
 17921  	return s
 17922  }
 17923  
 17924  type DescribeRemediationExceptionsInput struct {
 17925  	_ struct{} `type:"structure"`
 17926  
 17927  	// The name of the Config rule.
 17928  	//
 17929  	// ConfigRuleName is a required field
 17930  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 17931  
 17932  	// The maximum number of RemediationExceptionResourceKey returned on each page.
 17933  	// The default is 25. If you specify 0, Config uses the default.
 17934  	Limit *int64 `type:"integer"`
 17935  
 17936  	// The nextToken string returned in a previous request that you use to request
 17937  	// the next page of results in a paginated response.
 17938  	NextToken *string `type:"string"`
 17939  
 17940  	// An exception list of resource exception keys to be processed with the current
 17941  	// request. Config adds exception for each resource key. For example, Config
 17942  	// adds 3 exceptions for 3 resource keys.
 17943  	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list"`
 17944  }
 17945  
 17946  // String returns the string representation.
 17947  //
 17948  // API parameter values that are decorated as "sensitive" in the API will not
 17949  // be included in the string output. The member name will be present, but the
 17950  // value will be replaced with "sensitive".
 17951  func (s DescribeRemediationExceptionsInput) String() string {
 17952  	return awsutil.Prettify(s)
 17953  }
 17954  
 17955  // GoString returns the string representation.
 17956  //
 17957  // API parameter values that are decorated as "sensitive" in the API will not
 17958  // be included in the string output. The member name will be present, but the
 17959  // value will be replaced with "sensitive".
 17960  func (s DescribeRemediationExceptionsInput) GoString() string {
 17961  	return s.String()
 17962  }
 17963  
 17964  // Validate inspects the fields of the type to determine if they are valid.
 17965  func (s *DescribeRemediationExceptionsInput) Validate() error {
 17966  	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExceptionsInput"}
 17967  	if s.ConfigRuleName == nil {
 17968  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 17969  	}
 17970  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 17971  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 17972  	}
 17973  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 17974  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 17975  	}
 17976  	if s.ResourceKeys != nil {
 17977  		for i, v := range s.ResourceKeys {
 17978  			if v == nil {
 17979  				continue
 17980  			}
 17981  			if err := v.Validate(); err != nil {
 17982  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 17983  			}
 17984  		}
 17985  	}
 17986  
 17987  	if invalidParams.Len() > 0 {
 17988  		return invalidParams
 17989  	}
 17990  	return nil
 17991  }
 17992  
 17993  // SetConfigRuleName sets the ConfigRuleName field's value.
 17994  func (s *DescribeRemediationExceptionsInput) SetConfigRuleName(v string) *DescribeRemediationExceptionsInput {
 17995  	s.ConfigRuleName = &v
 17996  	return s
 17997  }
 17998  
 17999  // SetLimit sets the Limit field's value.
 18000  func (s *DescribeRemediationExceptionsInput) SetLimit(v int64) *DescribeRemediationExceptionsInput {
 18001  	s.Limit = &v
 18002  	return s
 18003  }
 18004  
 18005  // SetNextToken sets the NextToken field's value.
 18006  func (s *DescribeRemediationExceptionsInput) SetNextToken(v string) *DescribeRemediationExceptionsInput {
 18007  	s.NextToken = &v
 18008  	return s
 18009  }
 18010  
 18011  // SetResourceKeys sets the ResourceKeys field's value.
 18012  func (s *DescribeRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DescribeRemediationExceptionsInput {
 18013  	s.ResourceKeys = v
 18014  	return s
 18015  }
 18016  
 18017  type DescribeRemediationExceptionsOutput struct {
 18018  	_ struct{} `type:"structure"`
 18019  
 18020  	// The nextToken string returned in a previous request that you use to request
 18021  	// the next page of results in a paginated response.
 18022  	NextToken *string `type:"string"`
 18023  
 18024  	// Returns a list of remediation exception objects.
 18025  	RemediationExceptions []*RemediationException `type:"list"`
 18026  }
 18027  
 18028  // String returns the string representation.
 18029  //
 18030  // API parameter values that are decorated as "sensitive" in the API will not
 18031  // be included in the string output. The member name will be present, but the
 18032  // value will be replaced with "sensitive".
 18033  func (s DescribeRemediationExceptionsOutput) String() string {
 18034  	return awsutil.Prettify(s)
 18035  }
 18036  
 18037  // GoString returns the string representation.
 18038  //
 18039  // API parameter values that are decorated as "sensitive" in the API will not
 18040  // be included in the string output. The member name will be present, but the
 18041  // value will be replaced with "sensitive".
 18042  func (s DescribeRemediationExceptionsOutput) GoString() string {
 18043  	return s.String()
 18044  }
 18045  
 18046  // SetNextToken sets the NextToken field's value.
 18047  func (s *DescribeRemediationExceptionsOutput) SetNextToken(v string) *DescribeRemediationExceptionsOutput {
 18048  	s.NextToken = &v
 18049  	return s
 18050  }
 18051  
 18052  // SetRemediationExceptions sets the RemediationExceptions field's value.
 18053  func (s *DescribeRemediationExceptionsOutput) SetRemediationExceptions(v []*RemediationException) *DescribeRemediationExceptionsOutput {
 18054  	s.RemediationExceptions = v
 18055  	return s
 18056  }
 18057  
 18058  type DescribeRemediationExecutionStatusInput struct {
 18059  	_ struct{} `type:"structure"`
 18060  
 18061  	// A list of Config rule names.
 18062  	//
 18063  	// ConfigRuleName is a required field
 18064  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 18065  
 18066  	// The maximum number of RemediationExecutionStatuses returned on each page.
 18067  	// The default is maximum. If you specify 0, Config uses the default.
 18068  	Limit *int64 `type:"integer"`
 18069  
 18070  	// The nextToken string returned on a previous page that you use to get the
 18071  	// next page of results in a paginated response.
 18072  	NextToken *string `type:"string"`
 18073  
 18074  	// A list of resource keys to be processed with the current request. Each element
 18075  	// in the list consists of the resource type and resource ID.
 18076  	ResourceKeys []*ResourceKey `min:"1" type:"list"`
 18077  }
 18078  
 18079  // String returns the string representation.
 18080  //
 18081  // API parameter values that are decorated as "sensitive" in the API will not
 18082  // be included in the string output. The member name will be present, but the
 18083  // value will be replaced with "sensitive".
 18084  func (s DescribeRemediationExecutionStatusInput) String() string {
 18085  	return awsutil.Prettify(s)
 18086  }
 18087  
 18088  // GoString returns the string representation.
 18089  //
 18090  // API parameter values that are decorated as "sensitive" in the API will not
 18091  // be included in the string output. The member name will be present, but the
 18092  // value will be replaced with "sensitive".
 18093  func (s DescribeRemediationExecutionStatusInput) GoString() string {
 18094  	return s.String()
 18095  }
 18096  
 18097  // Validate inspects the fields of the type to determine if they are valid.
 18098  func (s *DescribeRemediationExecutionStatusInput) Validate() error {
 18099  	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExecutionStatusInput"}
 18100  	if s.ConfigRuleName == nil {
 18101  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 18102  	}
 18103  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 18104  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 18105  	}
 18106  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 18107  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 18108  	}
 18109  	if s.ResourceKeys != nil {
 18110  		for i, v := range s.ResourceKeys {
 18111  			if v == nil {
 18112  				continue
 18113  			}
 18114  			if err := v.Validate(); err != nil {
 18115  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 18116  			}
 18117  		}
 18118  	}
 18119  
 18120  	if invalidParams.Len() > 0 {
 18121  		return invalidParams
 18122  	}
 18123  	return nil
 18124  }
 18125  
 18126  // SetConfigRuleName sets the ConfigRuleName field's value.
 18127  func (s *DescribeRemediationExecutionStatusInput) SetConfigRuleName(v string) *DescribeRemediationExecutionStatusInput {
 18128  	s.ConfigRuleName = &v
 18129  	return s
 18130  }
 18131  
 18132  // SetLimit sets the Limit field's value.
 18133  func (s *DescribeRemediationExecutionStatusInput) SetLimit(v int64) *DescribeRemediationExecutionStatusInput {
 18134  	s.Limit = &v
 18135  	return s
 18136  }
 18137  
 18138  // SetNextToken sets the NextToken field's value.
 18139  func (s *DescribeRemediationExecutionStatusInput) SetNextToken(v string) *DescribeRemediationExecutionStatusInput {
 18140  	s.NextToken = &v
 18141  	return s
 18142  }
 18143  
 18144  // SetResourceKeys sets the ResourceKeys field's value.
 18145  func (s *DescribeRemediationExecutionStatusInput) SetResourceKeys(v []*ResourceKey) *DescribeRemediationExecutionStatusInput {
 18146  	s.ResourceKeys = v
 18147  	return s
 18148  }
 18149  
 18150  type DescribeRemediationExecutionStatusOutput struct {
 18151  	_ struct{} `type:"structure"`
 18152  
 18153  	// The nextToken string returned on a previous page that you use to get the
 18154  	// next page of results in a paginated response.
 18155  	NextToken *string `type:"string"`
 18156  
 18157  	// Returns a list of remediation execution statuses objects.
 18158  	RemediationExecutionStatuses []*RemediationExecutionStatus `type:"list"`
 18159  }
 18160  
 18161  // String returns the string representation.
 18162  //
 18163  // API parameter values that are decorated as "sensitive" in the API will not
 18164  // be included in the string output. The member name will be present, but the
 18165  // value will be replaced with "sensitive".
 18166  func (s DescribeRemediationExecutionStatusOutput) String() string {
 18167  	return awsutil.Prettify(s)
 18168  }
 18169  
 18170  // GoString returns the string representation.
 18171  //
 18172  // API parameter values that are decorated as "sensitive" in the API will not
 18173  // be included in the string output. The member name will be present, but the
 18174  // value will be replaced with "sensitive".
 18175  func (s DescribeRemediationExecutionStatusOutput) GoString() string {
 18176  	return s.String()
 18177  }
 18178  
 18179  // SetNextToken sets the NextToken field's value.
 18180  func (s *DescribeRemediationExecutionStatusOutput) SetNextToken(v string) *DescribeRemediationExecutionStatusOutput {
 18181  	s.NextToken = &v
 18182  	return s
 18183  }
 18184  
 18185  // SetRemediationExecutionStatuses sets the RemediationExecutionStatuses field's value.
 18186  func (s *DescribeRemediationExecutionStatusOutput) SetRemediationExecutionStatuses(v []*RemediationExecutionStatus) *DescribeRemediationExecutionStatusOutput {
 18187  	s.RemediationExecutionStatuses = v
 18188  	return s
 18189  }
 18190  
 18191  type DescribeRetentionConfigurationsInput struct {
 18192  	_ struct{} `type:"structure"`
 18193  
 18194  	// The nextToken string returned on a previous page that you use to get the
 18195  	// next page of results in a paginated response.
 18196  	NextToken *string `type:"string"`
 18197  
 18198  	// A list of names of retention configurations for which you want details. If
 18199  	// you do not specify a name, Config returns details for all the retention configurations
 18200  	// for that account.
 18201  	//
 18202  	// Currently, Config supports only one retention configuration per region in
 18203  	// your account.
 18204  	RetentionConfigurationNames []*string `type:"list"`
 18205  }
 18206  
 18207  // String returns the string representation.
 18208  //
 18209  // API parameter values that are decorated as "sensitive" in the API will not
 18210  // be included in the string output. The member name will be present, but the
 18211  // value will be replaced with "sensitive".
 18212  func (s DescribeRetentionConfigurationsInput) String() string {
 18213  	return awsutil.Prettify(s)
 18214  }
 18215  
 18216  // GoString returns the string representation.
 18217  //
 18218  // API parameter values that are decorated as "sensitive" in the API will not
 18219  // be included in the string output. The member name will be present, but the
 18220  // value will be replaced with "sensitive".
 18221  func (s DescribeRetentionConfigurationsInput) GoString() string {
 18222  	return s.String()
 18223  }
 18224  
 18225  // SetNextToken sets the NextToken field's value.
 18226  func (s *DescribeRetentionConfigurationsInput) SetNextToken(v string) *DescribeRetentionConfigurationsInput {
 18227  	s.NextToken = &v
 18228  	return s
 18229  }
 18230  
 18231  // SetRetentionConfigurationNames sets the RetentionConfigurationNames field's value.
 18232  func (s *DescribeRetentionConfigurationsInput) SetRetentionConfigurationNames(v []*string) *DescribeRetentionConfigurationsInput {
 18233  	s.RetentionConfigurationNames = v
 18234  	return s
 18235  }
 18236  
 18237  type DescribeRetentionConfigurationsOutput struct {
 18238  	_ struct{} `type:"structure"`
 18239  
 18240  	// The nextToken string returned on a previous page that you use to get the
 18241  	// next page of results in a paginated response.
 18242  	NextToken *string `type:"string"`
 18243  
 18244  	// Returns a retention configuration object.
 18245  	RetentionConfigurations []*RetentionConfiguration `type:"list"`
 18246  }
 18247  
 18248  // String returns the string representation.
 18249  //
 18250  // API parameter values that are decorated as "sensitive" in the API will not
 18251  // be included in the string output. The member name will be present, but the
 18252  // value will be replaced with "sensitive".
 18253  func (s DescribeRetentionConfigurationsOutput) String() string {
 18254  	return awsutil.Prettify(s)
 18255  }
 18256  
 18257  // GoString returns the string representation.
 18258  //
 18259  // API parameter values that are decorated as "sensitive" in the API will not
 18260  // be included in the string output. The member name will be present, but the
 18261  // value will be replaced with "sensitive".
 18262  func (s DescribeRetentionConfigurationsOutput) GoString() string {
 18263  	return s.String()
 18264  }
 18265  
 18266  // SetNextToken sets the NextToken field's value.
 18267  func (s *DescribeRetentionConfigurationsOutput) SetNextToken(v string) *DescribeRetentionConfigurationsOutput {
 18268  	s.NextToken = &v
 18269  	return s
 18270  }
 18271  
 18272  // SetRetentionConfigurations sets the RetentionConfigurations field's value.
 18273  func (s *DescribeRetentionConfigurationsOutput) SetRetentionConfigurations(v []*RetentionConfiguration) *DescribeRetentionConfigurationsOutput {
 18274  	s.RetentionConfigurations = v
 18275  	return s
 18276  }
 18277  
 18278  // Identifies an Amazon Web Services resource and indicates whether it complies
 18279  // with the Config rule that it was evaluated against.
 18280  type Evaluation struct {
 18281  	_ struct{} `type:"structure"`
 18282  
 18283  	// Supplementary information about how the evaluation determined the compliance.
 18284  	Annotation *string `min:"1" type:"string"`
 18285  
 18286  	// The ID of the Amazon Web Services resource that was evaluated.
 18287  	//
 18288  	// ComplianceResourceId is a required field
 18289  	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
 18290  
 18291  	// The type of Amazon Web Services resource that was evaluated.
 18292  	//
 18293  	// ComplianceResourceType is a required field
 18294  	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
 18295  
 18296  	// Indicates whether the Amazon Web Services resource complies with the Config
 18297  	// rule that it was evaluated against.
 18298  	//
 18299  	// For the Evaluation data type, Config supports only the COMPLIANT, NON_COMPLIANT,
 18300  	// and NOT_APPLICABLE values. Config does not support the INSUFFICIENT_DATA
 18301  	// value for this data type.
 18302  	//
 18303  	// Similarly, Config does not accept INSUFFICIENT_DATA as the value for ComplianceType
 18304  	// from a PutEvaluations request. For example, an Lambda function for a custom
 18305  	// Config rule cannot pass an INSUFFICIENT_DATA value to Config.
 18306  	//
 18307  	// ComplianceType is a required field
 18308  	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
 18309  
 18310  	// The time of the event in Config that triggered the evaluation. For event-based
 18311  	// evaluations, the time indicates when Config created the configuration item
 18312  	// that triggered the evaluation. For periodic evaluations, the time indicates
 18313  	// when Config triggered the evaluation at the frequency that you specified
 18314  	// (for example, every 24 hours).
 18315  	//
 18316  	// OrderingTimestamp is a required field
 18317  	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
 18318  }
 18319  
 18320  // String returns the string representation.
 18321  //
 18322  // API parameter values that are decorated as "sensitive" in the API will not
 18323  // be included in the string output. The member name will be present, but the
 18324  // value will be replaced with "sensitive".
 18325  func (s Evaluation) String() string {
 18326  	return awsutil.Prettify(s)
 18327  }
 18328  
 18329  // GoString returns the string representation.
 18330  //
 18331  // API parameter values that are decorated as "sensitive" in the API will not
 18332  // be included in the string output. The member name will be present, but the
 18333  // value will be replaced with "sensitive".
 18334  func (s Evaluation) GoString() string {
 18335  	return s.String()
 18336  }
 18337  
 18338  // Validate inspects the fields of the type to determine if they are valid.
 18339  func (s *Evaluation) Validate() error {
 18340  	invalidParams := request.ErrInvalidParams{Context: "Evaluation"}
 18341  	if s.Annotation != nil && len(*s.Annotation) < 1 {
 18342  		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
 18343  	}
 18344  	if s.ComplianceResourceId == nil {
 18345  		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
 18346  	}
 18347  	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
 18348  		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
 18349  	}
 18350  	if s.ComplianceResourceType == nil {
 18351  		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
 18352  	}
 18353  	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
 18354  		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
 18355  	}
 18356  	if s.ComplianceType == nil {
 18357  		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
 18358  	}
 18359  	if s.OrderingTimestamp == nil {
 18360  		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
 18361  	}
 18362  
 18363  	if invalidParams.Len() > 0 {
 18364  		return invalidParams
 18365  	}
 18366  	return nil
 18367  }
 18368  
 18369  // SetAnnotation sets the Annotation field's value.
 18370  func (s *Evaluation) SetAnnotation(v string) *Evaluation {
 18371  	s.Annotation = &v
 18372  	return s
 18373  }
 18374  
 18375  // SetComplianceResourceId sets the ComplianceResourceId field's value.
 18376  func (s *Evaluation) SetComplianceResourceId(v string) *Evaluation {
 18377  	s.ComplianceResourceId = &v
 18378  	return s
 18379  }
 18380  
 18381  // SetComplianceResourceType sets the ComplianceResourceType field's value.
 18382  func (s *Evaluation) SetComplianceResourceType(v string) *Evaluation {
 18383  	s.ComplianceResourceType = &v
 18384  	return s
 18385  }
 18386  
 18387  // SetComplianceType sets the ComplianceType field's value.
 18388  func (s *Evaluation) SetComplianceType(v string) *Evaluation {
 18389  	s.ComplianceType = &v
 18390  	return s
 18391  }
 18392  
 18393  // SetOrderingTimestamp sets the OrderingTimestamp field's value.
 18394  func (s *Evaluation) SetOrderingTimestamp(v time.Time) *Evaluation {
 18395  	s.OrderingTimestamp = &v
 18396  	return s
 18397  }
 18398  
 18399  // The details of an Config evaluation. Provides the Amazon Web Services resource
 18400  // that was evaluated, the compliance of the resource, related time stamps,
 18401  // and supplementary information.
 18402  type EvaluationResult struct {
 18403  	_ struct{} `type:"structure"`
 18404  
 18405  	// Supplementary information about how the evaluation determined the compliance.
 18406  	Annotation *string `min:"1" type:"string"`
 18407  
 18408  	// Indicates whether the Amazon Web Services resource complies with the Config
 18409  	// rule that evaluated it.
 18410  	//
 18411  	// For the EvaluationResult data type, Config supports only the COMPLIANT, NON_COMPLIANT,
 18412  	// and NOT_APPLICABLE values. Config does not support the INSUFFICIENT_DATA
 18413  	// value for the EvaluationResult data type.
 18414  	ComplianceType *string `type:"string" enum:"ComplianceType"`
 18415  
 18416  	// The time when the Config rule evaluated the Amazon Web Services resource.
 18417  	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
 18418  
 18419  	// Uniquely identifies the evaluation result.
 18420  	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
 18421  
 18422  	// The time when Config recorded the evaluation result.
 18423  	ResultRecordedTime *time.Time `type:"timestamp"`
 18424  
 18425  	// An encrypted token that associates an evaluation with an Config rule. The
 18426  	// token identifies the rule, the Amazon Web Services resource being evaluated,
 18427  	// and the event that triggered the evaluation.
 18428  	ResultToken *string `type:"string"`
 18429  }
 18430  
 18431  // String returns the string representation.
 18432  //
 18433  // API parameter values that are decorated as "sensitive" in the API will not
 18434  // be included in the string output. The member name will be present, but the
 18435  // value will be replaced with "sensitive".
 18436  func (s EvaluationResult) String() string {
 18437  	return awsutil.Prettify(s)
 18438  }
 18439  
 18440  // GoString returns the string representation.
 18441  //
 18442  // API parameter values that are decorated as "sensitive" in the API will not
 18443  // be included in the string output. The member name will be present, but the
 18444  // value will be replaced with "sensitive".
 18445  func (s EvaluationResult) GoString() string {
 18446  	return s.String()
 18447  }
 18448  
 18449  // SetAnnotation sets the Annotation field's value.
 18450  func (s *EvaluationResult) SetAnnotation(v string) *EvaluationResult {
 18451  	s.Annotation = &v
 18452  	return s
 18453  }
 18454  
 18455  // SetComplianceType sets the ComplianceType field's value.
 18456  func (s *EvaluationResult) SetComplianceType(v string) *EvaluationResult {
 18457  	s.ComplianceType = &v
 18458  	return s
 18459  }
 18460  
 18461  // SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
 18462  func (s *EvaluationResult) SetConfigRuleInvokedTime(v time.Time) *EvaluationResult {
 18463  	s.ConfigRuleInvokedTime = &v
 18464  	return s
 18465  }
 18466  
 18467  // SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
 18468  func (s *EvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *EvaluationResult {
 18469  	s.EvaluationResultIdentifier = v
 18470  	return s
 18471  }
 18472  
 18473  // SetResultRecordedTime sets the ResultRecordedTime field's value.
 18474  func (s *EvaluationResult) SetResultRecordedTime(v time.Time) *EvaluationResult {
 18475  	s.ResultRecordedTime = &v
 18476  	return s
 18477  }
 18478  
 18479  // SetResultToken sets the ResultToken field's value.
 18480  func (s *EvaluationResult) SetResultToken(v string) *EvaluationResult {
 18481  	s.ResultToken = &v
 18482  	return s
 18483  }
 18484  
 18485  // Uniquely identifies an evaluation result.
 18486  type EvaluationResultIdentifier struct {
 18487  	_ struct{} `type:"structure"`
 18488  
 18489  	// Identifies an Config rule used to evaluate an Amazon Web Services resource,
 18490  	// and provides the type and ID of the evaluated resource.
 18491  	EvaluationResultQualifier *EvaluationResultQualifier `type:"structure"`
 18492  
 18493  	// The time of the event that triggered the evaluation of your Amazon Web Services
 18494  	// resources. The time can indicate when Config delivered a configuration item
 18495  	// change notification, or it can indicate when Config delivered the configuration
 18496  	// snapshot, depending on which event triggered the evaluation.
 18497  	OrderingTimestamp *time.Time `type:"timestamp"`
 18498  }
 18499  
 18500  // String returns the string representation.
 18501  //
 18502  // API parameter values that are decorated as "sensitive" in the API will not
 18503  // be included in the string output. The member name will be present, but the
 18504  // value will be replaced with "sensitive".
 18505  func (s EvaluationResultIdentifier) String() string {
 18506  	return awsutil.Prettify(s)
 18507  }
 18508  
 18509  // GoString returns the string representation.
 18510  //
 18511  // API parameter values that are decorated as "sensitive" in the API will not
 18512  // be included in the string output. The member name will be present, but the
 18513  // value will be replaced with "sensitive".
 18514  func (s EvaluationResultIdentifier) GoString() string {
 18515  	return s.String()
 18516  }
 18517  
 18518  // SetEvaluationResultQualifier sets the EvaluationResultQualifier field's value.
 18519  func (s *EvaluationResultIdentifier) SetEvaluationResultQualifier(v *EvaluationResultQualifier) *EvaluationResultIdentifier {
 18520  	s.EvaluationResultQualifier = v
 18521  	return s
 18522  }
 18523  
 18524  // SetOrderingTimestamp sets the OrderingTimestamp field's value.
 18525  func (s *EvaluationResultIdentifier) SetOrderingTimestamp(v time.Time) *EvaluationResultIdentifier {
 18526  	s.OrderingTimestamp = &v
 18527  	return s
 18528  }
 18529  
 18530  // Identifies an Config rule that evaluated an Amazon Web Services resource,
 18531  // and provides the type and ID of the resource that the rule evaluated.
 18532  type EvaluationResultQualifier struct {
 18533  	_ struct{} `type:"structure"`
 18534  
 18535  	// The name of the Config rule that was used in the evaluation.
 18536  	ConfigRuleName *string `min:"1" type:"string"`
 18537  
 18538  	// The ID of the evaluated Amazon Web Services resource.
 18539  	ResourceId *string `min:"1" type:"string"`
 18540  
 18541  	// The type of Amazon Web Services resource that was evaluated.
 18542  	ResourceType *string `min:"1" type:"string"`
 18543  }
 18544  
 18545  // String returns the string representation.
 18546  //
 18547  // API parameter values that are decorated as "sensitive" in the API will not
 18548  // be included in the string output. The member name will be present, but the
 18549  // value will be replaced with "sensitive".
 18550  func (s EvaluationResultQualifier) String() string {
 18551  	return awsutil.Prettify(s)
 18552  }
 18553  
 18554  // GoString returns the string representation.
 18555  //
 18556  // API parameter values that are decorated as "sensitive" in the API will not
 18557  // be included in the string output. The member name will be present, but the
 18558  // value will be replaced with "sensitive".
 18559  func (s EvaluationResultQualifier) GoString() string {
 18560  	return s.String()
 18561  }
 18562  
 18563  // SetConfigRuleName sets the ConfigRuleName field's value.
 18564  func (s *EvaluationResultQualifier) SetConfigRuleName(v string) *EvaluationResultQualifier {
 18565  	s.ConfigRuleName = &v
 18566  	return s
 18567  }
 18568  
 18569  // SetResourceId sets the ResourceId field's value.
 18570  func (s *EvaluationResultQualifier) SetResourceId(v string) *EvaluationResultQualifier {
 18571  	s.ResourceId = &v
 18572  	return s
 18573  }
 18574  
 18575  // SetResourceType sets the ResourceType field's value.
 18576  func (s *EvaluationResultQualifier) SetResourceType(v string) *EvaluationResultQualifier {
 18577  	s.ResourceType = &v
 18578  	return s
 18579  }
 18580  
 18581  // The controls that Config uses for executing remediations.
 18582  type ExecutionControls struct {
 18583  	_ struct{} `type:"structure"`
 18584  
 18585  	// A SsmControls object.
 18586  	SsmControls *SsmControls `type:"structure"`
 18587  }
 18588  
 18589  // String returns the string representation.
 18590  //
 18591  // API parameter values that are decorated as "sensitive" in the API will not
 18592  // be included in the string output. The member name will be present, but the
 18593  // value will be replaced with "sensitive".
 18594  func (s ExecutionControls) String() string {
 18595  	return awsutil.Prettify(s)
 18596  }
 18597  
 18598  // GoString returns the string representation.
 18599  //
 18600  // API parameter values that are decorated as "sensitive" in the API will not
 18601  // be included in the string output. The member name will be present, but the
 18602  // value will be replaced with "sensitive".
 18603  func (s ExecutionControls) GoString() string {
 18604  	return s.String()
 18605  }
 18606  
 18607  // Validate inspects the fields of the type to determine if they are valid.
 18608  func (s *ExecutionControls) Validate() error {
 18609  	invalidParams := request.ErrInvalidParams{Context: "ExecutionControls"}
 18610  	if s.SsmControls != nil {
 18611  		if err := s.SsmControls.Validate(); err != nil {
 18612  			invalidParams.AddNested("SsmControls", err.(request.ErrInvalidParams))
 18613  		}
 18614  	}
 18615  
 18616  	if invalidParams.Len() > 0 {
 18617  		return invalidParams
 18618  	}
 18619  	return nil
 18620  }
 18621  
 18622  // SetSsmControls sets the SsmControls field's value.
 18623  func (s *ExecutionControls) SetSsmControls(v *SsmControls) *ExecutionControls {
 18624  	s.SsmControls = v
 18625  	return s
 18626  }
 18627  
 18628  // Identifies an Amazon Web Services resource and indicates whether it complies
 18629  // with the Config rule that it was evaluated against.
 18630  type ExternalEvaluation struct {
 18631  	_ struct{} `type:"structure"`
 18632  
 18633  	// Supplementary information about the reason of compliance. For example, this
 18634  	// task was completed on a specific date.
 18635  	Annotation *string `min:"1" type:"string"`
 18636  
 18637  	// The evaluated compliance resource ID. Config accepts only Amazon Web Services
 18638  	// account ID.
 18639  	//
 18640  	// ComplianceResourceId is a required field
 18641  	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
 18642  
 18643  	// The evaluated compliance resource type. Config accepts AWS::::Account resource
 18644  	// type.
 18645  	//
 18646  	// ComplianceResourceType is a required field
 18647  	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
 18648  
 18649  	// The compliance of the Amazon Web Services resource. The valid values are
 18650  	// COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
 18651  	//
 18652  	// ComplianceType is a required field
 18653  	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
 18654  
 18655  	// The time when the compliance was recorded.
 18656  	//
 18657  	// OrderingTimestamp is a required field
 18658  	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
 18659  }
 18660  
 18661  // String returns the string representation.
 18662  //
 18663  // API parameter values that are decorated as "sensitive" in the API will not
 18664  // be included in the string output. The member name will be present, but the
 18665  // value will be replaced with "sensitive".
 18666  func (s ExternalEvaluation) String() string {
 18667  	return awsutil.Prettify(s)
 18668  }
 18669  
 18670  // GoString returns the string representation.
 18671  //
 18672  // API parameter values that are decorated as "sensitive" in the API will not
 18673  // be included in the string output. The member name will be present, but the
 18674  // value will be replaced with "sensitive".
 18675  func (s ExternalEvaluation) GoString() string {
 18676  	return s.String()
 18677  }
 18678  
 18679  // Validate inspects the fields of the type to determine if they are valid.
 18680  func (s *ExternalEvaluation) Validate() error {
 18681  	invalidParams := request.ErrInvalidParams{Context: "ExternalEvaluation"}
 18682  	if s.Annotation != nil && len(*s.Annotation) < 1 {
 18683  		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
 18684  	}
 18685  	if s.ComplianceResourceId == nil {
 18686  		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
 18687  	}
 18688  	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
 18689  		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
 18690  	}
 18691  	if s.ComplianceResourceType == nil {
 18692  		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
 18693  	}
 18694  	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
 18695  		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
 18696  	}
 18697  	if s.ComplianceType == nil {
 18698  		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
 18699  	}
 18700  	if s.OrderingTimestamp == nil {
 18701  		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
 18702  	}
 18703  
 18704  	if invalidParams.Len() > 0 {
 18705  		return invalidParams
 18706  	}
 18707  	return nil
 18708  }
 18709  
 18710  // SetAnnotation sets the Annotation field's value.
 18711  func (s *ExternalEvaluation) SetAnnotation(v string) *ExternalEvaluation {
 18712  	s.Annotation = &v
 18713  	return s
 18714  }
 18715  
 18716  // SetComplianceResourceId sets the ComplianceResourceId field's value.
 18717  func (s *ExternalEvaluation) SetComplianceResourceId(v string) *ExternalEvaluation {
 18718  	s.ComplianceResourceId = &v
 18719  	return s
 18720  }
 18721  
 18722  // SetComplianceResourceType sets the ComplianceResourceType field's value.
 18723  func (s *ExternalEvaluation) SetComplianceResourceType(v string) *ExternalEvaluation {
 18724  	s.ComplianceResourceType = &v
 18725  	return s
 18726  }
 18727  
 18728  // SetComplianceType sets the ComplianceType field's value.
 18729  func (s *ExternalEvaluation) SetComplianceType(v string) *ExternalEvaluation {
 18730  	s.ComplianceType = &v
 18731  	return s
 18732  }
 18733  
 18734  // SetOrderingTimestamp sets the OrderingTimestamp field's value.
 18735  func (s *ExternalEvaluation) SetOrderingTimestamp(v time.Time) *ExternalEvaluation {
 18736  	s.OrderingTimestamp = &v
 18737  	return s
 18738  }
 18739  
 18740  // List of each of the failed delete remediation exceptions with specific reasons.
 18741  type FailedDeleteRemediationExceptionsBatch struct {
 18742  	_ struct{} `type:"structure"`
 18743  
 18744  	// Returns remediation exception resource key object of the failed items.
 18745  	FailedItems []*RemediationExceptionResourceKey `min:"1" type:"list"`
 18746  
 18747  	// Returns a failure message for delete remediation exception. For example,
 18748  	// Config creates an exception due to an internal error.
 18749  	FailureMessage *string `type:"string"`
 18750  }
 18751  
 18752  // String returns the string representation.
 18753  //
 18754  // API parameter values that are decorated as "sensitive" in the API will not
 18755  // be included in the string output. The member name will be present, but the
 18756  // value will be replaced with "sensitive".
 18757  func (s FailedDeleteRemediationExceptionsBatch) String() string {
 18758  	return awsutil.Prettify(s)
 18759  }
 18760  
 18761  // GoString returns the string representation.
 18762  //
 18763  // API parameter values that are decorated as "sensitive" in the API will not
 18764  // be included in the string output. The member name will be present, but the
 18765  // value will be replaced with "sensitive".
 18766  func (s FailedDeleteRemediationExceptionsBatch) GoString() string {
 18767  	return s.String()
 18768  }
 18769  
 18770  // SetFailedItems sets the FailedItems field's value.
 18771  func (s *FailedDeleteRemediationExceptionsBatch) SetFailedItems(v []*RemediationExceptionResourceKey) *FailedDeleteRemediationExceptionsBatch {
 18772  	s.FailedItems = v
 18773  	return s
 18774  }
 18775  
 18776  // SetFailureMessage sets the FailureMessage field's value.
 18777  func (s *FailedDeleteRemediationExceptionsBatch) SetFailureMessage(v string) *FailedDeleteRemediationExceptionsBatch {
 18778  	s.FailureMessage = &v
 18779  	return s
 18780  }
 18781  
 18782  // List of each of the failed remediations with specific reasons.
 18783  type FailedRemediationBatch struct {
 18784  	_ struct{} `type:"structure"`
 18785  
 18786  	// Returns remediation configurations of the failed items.
 18787  	FailedItems []*RemediationConfiguration `type:"list"`
 18788  
 18789  	// Returns a failure message. For example, the resource is already compliant.
 18790  	FailureMessage *string `type:"string"`
 18791  }
 18792  
 18793  // String returns the string representation.
 18794  //
 18795  // API parameter values that are decorated as "sensitive" in the API will not
 18796  // be included in the string output. The member name will be present, but the
 18797  // value will be replaced with "sensitive".
 18798  func (s FailedRemediationBatch) String() string {
 18799  	return awsutil.Prettify(s)
 18800  }
 18801  
 18802  // GoString returns the string representation.
 18803  //
 18804  // API parameter values that are decorated as "sensitive" in the API will not
 18805  // be included in the string output. The member name will be present, but the
 18806  // value will be replaced with "sensitive".
 18807  func (s FailedRemediationBatch) GoString() string {
 18808  	return s.String()
 18809  }
 18810  
 18811  // SetFailedItems sets the FailedItems field's value.
 18812  func (s *FailedRemediationBatch) SetFailedItems(v []*RemediationConfiguration) *FailedRemediationBatch {
 18813  	s.FailedItems = v
 18814  	return s
 18815  }
 18816  
 18817  // SetFailureMessage sets the FailureMessage field's value.
 18818  func (s *FailedRemediationBatch) SetFailureMessage(v string) *FailedRemediationBatch {
 18819  	s.FailureMessage = &v
 18820  	return s
 18821  }
 18822  
 18823  // List of each of the failed remediation exceptions with specific reasons.
 18824  type FailedRemediationExceptionBatch struct {
 18825  	_ struct{} `type:"structure"`
 18826  
 18827  	// Returns remediation exception resource key object of the failed items.
 18828  	FailedItems []*RemediationException `type:"list"`
 18829  
 18830  	// Returns a failure message. For example, the auto-remediation has failed.
 18831  	FailureMessage *string `type:"string"`
 18832  }
 18833  
 18834  // String returns the string representation.
 18835  //
 18836  // API parameter values that are decorated as "sensitive" in the API will not
 18837  // be included in the string output. The member name will be present, but the
 18838  // value will be replaced with "sensitive".
 18839  func (s FailedRemediationExceptionBatch) String() string {
 18840  	return awsutil.Prettify(s)
 18841  }
 18842  
 18843  // GoString returns the string representation.
 18844  //
 18845  // API parameter values that are decorated as "sensitive" in the API will not
 18846  // be included in the string output. The member name will be present, but the
 18847  // value will be replaced with "sensitive".
 18848  func (s FailedRemediationExceptionBatch) GoString() string {
 18849  	return s.String()
 18850  }
 18851  
 18852  // SetFailedItems sets the FailedItems field's value.
 18853  func (s *FailedRemediationExceptionBatch) SetFailedItems(v []*RemediationException) *FailedRemediationExceptionBatch {
 18854  	s.FailedItems = v
 18855  	return s
 18856  }
 18857  
 18858  // SetFailureMessage sets the FailureMessage field's value.
 18859  func (s *FailedRemediationExceptionBatch) SetFailureMessage(v string) *FailedRemediationExceptionBatch {
 18860  	s.FailureMessage = &v
 18861  	return s
 18862  }
 18863  
 18864  // Details about the fields such as name of the field.
 18865  type FieldInfo struct {
 18866  	_ struct{} `type:"structure"`
 18867  
 18868  	// Name of the field.
 18869  	Name *string `type:"string"`
 18870  }
 18871  
 18872  // String returns the string representation.
 18873  //
 18874  // API parameter values that are decorated as "sensitive" in the API will not
 18875  // be included in the string output. The member name will be present, but the
 18876  // value will be replaced with "sensitive".
 18877  func (s FieldInfo) String() string {
 18878  	return awsutil.Prettify(s)
 18879  }
 18880  
 18881  // GoString returns the string representation.
 18882  //
 18883  // API parameter values that are decorated as "sensitive" in the API will not
 18884  // be included in the string output. The member name will be present, but the
 18885  // value will be replaced with "sensitive".
 18886  func (s FieldInfo) GoString() string {
 18887  	return s.String()
 18888  }
 18889  
 18890  // SetName sets the Name field's value.
 18891  func (s *FieldInfo) SetName(v string) *FieldInfo {
 18892  	s.Name = &v
 18893  	return s
 18894  }
 18895  
 18896  type GetAggregateComplianceDetailsByConfigRuleInput struct {
 18897  	_ struct{} `type:"structure"`
 18898  
 18899  	// The 12-digit account ID of the source account.
 18900  	//
 18901  	// AccountId is a required field
 18902  	AccountId *string `type:"string" required:"true"`
 18903  
 18904  	// The source region from where the data is aggregated.
 18905  	//
 18906  	// AwsRegion is a required field
 18907  	AwsRegion *string `min:"1" type:"string" required:"true"`
 18908  
 18909  	// The resource compliance status.
 18910  	//
 18911  	// For the GetAggregateComplianceDetailsByConfigRuleRequest data type, Config
 18912  	// supports only the COMPLIANT and NON_COMPLIANT. Config does not support the
 18913  	// NOT_APPLICABLE and INSUFFICIENT_DATA values.
 18914  	ComplianceType *string `type:"string" enum:"ComplianceType"`
 18915  
 18916  	// The name of the Config rule for which you want compliance information.
 18917  	//
 18918  	// ConfigRuleName is a required field
 18919  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 18920  
 18921  	// The name of the configuration aggregator.
 18922  	//
 18923  	// ConfigurationAggregatorName is a required field
 18924  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 18925  
 18926  	// The maximum number of evaluation results returned on each page. The default
 18927  	// is 50. You cannot specify a number greater than 100. If you specify 0, Config
 18928  	// uses the default.
 18929  	Limit *int64 `type:"integer"`
 18930  
 18931  	// The nextToken string returned on a previous page that you use to get the
 18932  	// next page of results in a paginated response.
 18933  	NextToken *string `type:"string"`
 18934  }
 18935  
 18936  // String returns the string representation.
 18937  //
 18938  // API parameter values that are decorated as "sensitive" in the API will not
 18939  // be included in the string output. The member name will be present, but the
 18940  // value will be replaced with "sensitive".
 18941  func (s GetAggregateComplianceDetailsByConfigRuleInput) String() string {
 18942  	return awsutil.Prettify(s)
 18943  }
 18944  
 18945  // GoString returns the string representation.
 18946  //
 18947  // API parameter values that are decorated as "sensitive" in the API will not
 18948  // be included in the string output. The member name will be present, but the
 18949  // value will be replaced with "sensitive".
 18950  func (s GetAggregateComplianceDetailsByConfigRuleInput) GoString() string {
 18951  	return s.String()
 18952  }
 18953  
 18954  // Validate inspects the fields of the type to determine if they are valid.
 18955  func (s *GetAggregateComplianceDetailsByConfigRuleInput) Validate() error {
 18956  	invalidParams := request.ErrInvalidParams{Context: "GetAggregateComplianceDetailsByConfigRuleInput"}
 18957  	if s.AccountId == nil {
 18958  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
 18959  	}
 18960  	if s.AwsRegion == nil {
 18961  		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
 18962  	}
 18963  	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
 18964  		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
 18965  	}
 18966  	if s.ConfigRuleName == nil {
 18967  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 18968  	}
 18969  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 18970  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 18971  	}
 18972  	if s.ConfigurationAggregatorName == nil {
 18973  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 18974  	}
 18975  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 18976  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 18977  	}
 18978  
 18979  	if invalidParams.Len() > 0 {
 18980  		return invalidParams
 18981  	}
 18982  	return nil
 18983  }
 18984  
 18985  // SetAccountId sets the AccountId field's value.
 18986  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAccountId(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 18987  	s.AccountId = &v
 18988  	return s
 18989  }
 18990  
 18991  // SetAwsRegion sets the AwsRegion field's value.
 18992  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAwsRegion(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 18993  	s.AwsRegion = &v
 18994  	return s
 18995  }
 18996  
 18997  // SetComplianceType sets the ComplianceType field's value.
 18998  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetComplianceType(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 18999  	s.ComplianceType = &v
 19000  	return s
 19001  }
 19002  
 19003  // SetConfigRuleName sets the ConfigRuleName field's value.
 19004  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 19005  	s.ConfigRuleName = &v
 19006  	return s
 19007  }
 19008  
 19009  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 19010  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigurationAggregatorName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 19011  	s.ConfigurationAggregatorName = &v
 19012  	return s
 19013  }
 19014  
 19015  // SetLimit sets the Limit field's value.
 19016  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetAggregateComplianceDetailsByConfigRuleInput {
 19017  	s.Limit = &v
 19018  	return s
 19019  }
 19020  
 19021  // SetNextToken sets the NextToken field's value.
 19022  func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
 19023  	s.NextToken = &v
 19024  	return s
 19025  }
 19026  
 19027  type GetAggregateComplianceDetailsByConfigRuleOutput struct {
 19028  	_ struct{} `type:"structure"`
 19029  
 19030  	// Returns an AggregateEvaluationResults object.
 19031  	AggregateEvaluationResults []*AggregateEvaluationResult `type:"list"`
 19032  
 19033  	// The nextToken string returned on a previous page that you use to get the
 19034  	// next page of results in a paginated response.
 19035  	NextToken *string `type:"string"`
 19036  }
 19037  
 19038  // String returns the string representation.
 19039  //
 19040  // API parameter values that are decorated as "sensitive" in the API will not
 19041  // be included in the string output. The member name will be present, but the
 19042  // value will be replaced with "sensitive".
 19043  func (s GetAggregateComplianceDetailsByConfigRuleOutput) String() string {
 19044  	return awsutil.Prettify(s)
 19045  }
 19046  
 19047  // GoString returns the string representation.
 19048  //
 19049  // API parameter values that are decorated as "sensitive" in the API will not
 19050  // be included in the string output. The member name will be present, but the
 19051  // value will be replaced with "sensitive".
 19052  func (s GetAggregateComplianceDetailsByConfigRuleOutput) GoString() string {
 19053  	return s.String()
 19054  }
 19055  
 19056  // SetAggregateEvaluationResults sets the AggregateEvaluationResults field's value.
 19057  func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetAggregateEvaluationResults(v []*AggregateEvaluationResult) *GetAggregateComplianceDetailsByConfigRuleOutput {
 19058  	s.AggregateEvaluationResults = v
 19059  	return s
 19060  }
 19061  
 19062  // SetNextToken sets the NextToken field's value.
 19063  func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleOutput {
 19064  	s.NextToken = &v
 19065  	return s
 19066  }
 19067  
 19068  type GetAggregateConfigRuleComplianceSummaryInput struct {
 19069  	_ struct{} `type:"structure"`
 19070  
 19071  	// The name of the configuration aggregator.
 19072  	//
 19073  	// ConfigurationAggregatorName is a required field
 19074  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 19075  
 19076  	// Filters the results based on the ConfigRuleComplianceSummaryFilters object.
 19077  	Filters *ConfigRuleComplianceSummaryFilters `type:"structure"`
 19078  
 19079  	// Groups the result based on ACCOUNT_ID or AWS_REGION.
 19080  	GroupByKey *string `type:"string" enum:"ConfigRuleComplianceSummaryGroupKey"`
 19081  
 19082  	// The maximum number of evaluation results returned on each page. The default
 19083  	// is 1000. You cannot specify a number greater than 1000. If you specify 0,
 19084  	// Config uses the default.
 19085  	Limit *int64 `type:"integer"`
 19086  
 19087  	// The nextToken string returned on a previous page that you use to get the
 19088  	// next page of results in a paginated response.
 19089  	NextToken *string `type:"string"`
 19090  }
 19091  
 19092  // String returns the string representation.
 19093  //
 19094  // API parameter values that are decorated as "sensitive" in the API will not
 19095  // be included in the string output. The member name will be present, but the
 19096  // value will be replaced with "sensitive".
 19097  func (s GetAggregateConfigRuleComplianceSummaryInput) String() string {
 19098  	return awsutil.Prettify(s)
 19099  }
 19100  
 19101  // GoString returns the string representation.
 19102  //
 19103  // API parameter values that are decorated as "sensitive" in the API will not
 19104  // be included in the string output. The member name will be present, but the
 19105  // value will be replaced with "sensitive".
 19106  func (s GetAggregateConfigRuleComplianceSummaryInput) GoString() string {
 19107  	return s.String()
 19108  }
 19109  
 19110  // Validate inspects the fields of the type to determine if they are valid.
 19111  func (s *GetAggregateConfigRuleComplianceSummaryInput) Validate() error {
 19112  	invalidParams := request.ErrInvalidParams{Context: "GetAggregateConfigRuleComplianceSummaryInput"}
 19113  	if s.ConfigurationAggregatorName == nil {
 19114  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 19115  	}
 19116  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 19117  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 19118  	}
 19119  	if s.Filters != nil {
 19120  		if err := s.Filters.Validate(); err != nil {
 19121  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 19122  		}
 19123  	}
 19124  
 19125  	if invalidParams.Len() > 0 {
 19126  		return invalidParams
 19127  	}
 19128  	return nil
 19129  }
 19130  
 19131  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 19132  func (s *GetAggregateConfigRuleComplianceSummaryInput) SetConfigurationAggregatorName(v string) *GetAggregateConfigRuleComplianceSummaryInput {
 19133  	s.ConfigurationAggregatorName = &v
 19134  	return s
 19135  }
 19136  
 19137  // SetFilters sets the Filters field's value.
 19138  func (s *GetAggregateConfigRuleComplianceSummaryInput) SetFilters(v *ConfigRuleComplianceSummaryFilters) *GetAggregateConfigRuleComplianceSummaryInput {
 19139  	s.Filters = v
 19140  	return s
 19141  }
 19142  
 19143  // SetGroupByKey sets the GroupByKey field's value.
 19144  func (s *GetAggregateConfigRuleComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryInput {
 19145  	s.GroupByKey = &v
 19146  	return s
 19147  }
 19148  
 19149  // SetLimit sets the Limit field's value.
 19150  func (s *GetAggregateConfigRuleComplianceSummaryInput) SetLimit(v int64) *GetAggregateConfigRuleComplianceSummaryInput {
 19151  	s.Limit = &v
 19152  	return s
 19153  }
 19154  
 19155  // SetNextToken sets the NextToken field's value.
 19156  func (s *GetAggregateConfigRuleComplianceSummaryInput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryInput {
 19157  	s.NextToken = &v
 19158  	return s
 19159  }
 19160  
 19161  type GetAggregateConfigRuleComplianceSummaryOutput struct {
 19162  	_ struct{} `type:"structure"`
 19163  
 19164  	// Returns a list of AggregateComplianceCounts object.
 19165  	AggregateComplianceCounts []*AggregateComplianceCount `type:"list"`
 19166  
 19167  	// Groups the result based on ACCOUNT_ID or AWS_REGION.
 19168  	GroupByKey *string `min:"1" type:"string"`
 19169  
 19170  	// The nextToken string returned on a previous page that you use to get the
 19171  	// next page of results in a paginated response.
 19172  	NextToken *string `type:"string"`
 19173  }
 19174  
 19175  // String returns the string representation.
 19176  //
 19177  // API parameter values that are decorated as "sensitive" in the API will not
 19178  // be included in the string output. The member name will be present, but the
 19179  // value will be replaced with "sensitive".
 19180  func (s GetAggregateConfigRuleComplianceSummaryOutput) String() string {
 19181  	return awsutil.Prettify(s)
 19182  }
 19183  
 19184  // GoString returns the string representation.
 19185  //
 19186  // API parameter values that are decorated as "sensitive" in the API will not
 19187  // be included in the string output. The member name will be present, but the
 19188  // value will be replaced with "sensitive".
 19189  func (s GetAggregateConfigRuleComplianceSummaryOutput) GoString() string {
 19190  	return s.String()
 19191  }
 19192  
 19193  // SetAggregateComplianceCounts sets the AggregateComplianceCounts field's value.
 19194  func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetAggregateComplianceCounts(v []*AggregateComplianceCount) *GetAggregateConfigRuleComplianceSummaryOutput {
 19195  	s.AggregateComplianceCounts = v
 19196  	return s
 19197  }
 19198  
 19199  // SetGroupByKey sets the GroupByKey field's value.
 19200  func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
 19201  	s.GroupByKey = &v
 19202  	return s
 19203  }
 19204  
 19205  // SetNextToken sets the NextToken field's value.
 19206  func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
 19207  	s.NextToken = &v
 19208  	return s
 19209  }
 19210  
 19211  type GetAggregateConformancePackComplianceSummaryInput struct {
 19212  	_ struct{} `type:"structure"`
 19213  
 19214  	// The name of the configuration aggregator.
 19215  	//
 19216  	// ConfigurationAggregatorName is a required field
 19217  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 19218  
 19219  	// Filters the results based on the AggregateConformancePackComplianceSummaryFilters
 19220  	// object.
 19221  	Filters *AggregateConformancePackComplianceSummaryFilters `type:"structure"`
 19222  
 19223  	// Groups the result based on Amazon Web Services account ID or Amazon Web Services
 19224  	// Region.
 19225  	GroupByKey *string `type:"string" enum:"AggregateConformancePackComplianceSummaryGroupKey"`
 19226  
 19227  	// The maximum number of results returned on each page. The default is maximum.
 19228  	// If you specify 0, Config uses the default.
 19229  	Limit *int64 `type:"integer"`
 19230  
 19231  	// The nextToken string returned on a previous page that you use to get the
 19232  	// next page of results in a paginated response.
 19233  	NextToken *string `type:"string"`
 19234  }
 19235  
 19236  // String returns the string representation.
 19237  //
 19238  // API parameter values that are decorated as "sensitive" in the API will not
 19239  // be included in the string output. The member name will be present, but the
 19240  // value will be replaced with "sensitive".
 19241  func (s GetAggregateConformancePackComplianceSummaryInput) String() string {
 19242  	return awsutil.Prettify(s)
 19243  }
 19244  
 19245  // GoString returns the string representation.
 19246  //
 19247  // API parameter values that are decorated as "sensitive" in the API will not
 19248  // be included in the string output. The member name will be present, but the
 19249  // value will be replaced with "sensitive".
 19250  func (s GetAggregateConformancePackComplianceSummaryInput) GoString() string {
 19251  	return s.String()
 19252  }
 19253  
 19254  // Validate inspects the fields of the type to determine if they are valid.
 19255  func (s *GetAggregateConformancePackComplianceSummaryInput) Validate() error {
 19256  	invalidParams := request.ErrInvalidParams{Context: "GetAggregateConformancePackComplianceSummaryInput"}
 19257  	if s.ConfigurationAggregatorName == nil {
 19258  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 19259  	}
 19260  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 19261  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 19262  	}
 19263  	if s.Filters != nil {
 19264  		if err := s.Filters.Validate(); err != nil {
 19265  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 19266  		}
 19267  	}
 19268  
 19269  	if invalidParams.Len() > 0 {
 19270  		return invalidParams
 19271  	}
 19272  	return nil
 19273  }
 19274  
 19275  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 19276  func (s *GetAggregateConformancePackComplianceSummaryInput) SetConfigurationAggregatorName(v string) *GetAggregateConformancePackComplianceSummaryInput {
 19277  	s.ConfigurationAggregatorName = &v
 19278  	return s
 19279  }
 19280  
 19281  // SetFilters sets the Filters field's value.
 19282  func (s *GetAggregateConformancePackComplianceSummaryInput) SetFilters(v *AggregateConformancePackComplianceSummaryFilters) *GetAggregateConformancePackComplianceSummaryInput {
 19283  	s.Filters = v
 19284  	return s
 19285  }
 19286  
 19287  // SetGroupByKey sets the GroupByKey field's value.
 19288  func (s *GetAggregateConformancePackComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConformancePackComplianceSummaryInput {
 19289  	s.GroupByKey = &v
 19290  	return s
 19291  }
 19292  
 19293  // SetLimit sets the Limit field's value.
 19294  func (s *GetAggregateConformancePackComplianceSummaryInput) SetLimit(v int64) *GetAggregateConformancePackComplianceSummaryInput {
 19295  	s.Limit = &v
 19296  	return s
 19297  }
 19298  
 19299  // SetNextToken sets the NextToken field's value.
 19300  func (s *GetAggregateConformancePackComplianceSummaryInput) SetNextToken(v string) *GetAggregateConformancePackComplianceSummaryInput {
 19301  	s.NextToken = &v
 19302  	return s
 19303  }
 19304  
 19305  type GetAggregateConformancePackComplianceSummaryOutput struct {
 19306  	_ struct{} `type:"structure"`
 19307  
 19308  	// Returns a list of AggregateConformancePackComplianceSummary object.
 19309  	AggregateConformancePackComplianceSummaries []*AggregateConformancePackComplianceSummary `type:"list"`
 19310  
 19311  	// Groups the result based on Amazon Web Services account ID or Amazon Web Services
 19312  	// Region.
 19313  	GroupByKey *string `min:"1" type:"string"`
 19314  
 19315  	// The nextToken string returned on a previous page that you use to get the
 19316  	// next page of results in a paginated response.
 19317  	NextToken *string `type:"string"`
 19318  }
 19319  
 19320  // String returns the string representation.
 19321  //
 19322  // API parameter values that are decorated as "sensitive" in the API will not
 19323  // be included in the string output. The member name will be present, but the
 19324  // value will be replaced with "sensitive".
 19325  func (s GetAggregateConformancePackComplianceSummaryOutput) String() string {
 19326  	return awsutil.Prettify(s)
 19327  }
 19328  
 19329  // GoString returns the string representation.
 19330  //
 19331  // API parameter values that are decorated as "sensitive" in the API will not
 19332  // be included in the string output. The member name will be present, but the
 19333  // value will be replaced with "sensitive".
 19334  func (s GetAggregateConformancePackComplianceSummaryOutput) GoString() string {
 19335  	return s.String()
 19336  }
 19337  
 19338  // SetAggregateConformancePackComplianceSummaries sets the AggregateConformancePackComplianceSummaries field's value.
 19339  func (s *GetAggregateConformancePackComplianceSummaryOutput) SetAggregateConformancePackComplianceSummaries(v []*AggregateConformancePackComplianceSummary) *GetAggregateConformancePackComplianceSummaryOutput {
 19340  	s.AggregateConformancePackComplianceSummaries = v
 19341  	return s
 19342  }
 19343  
 19344  // SetGroupByKey sets the GroupByKey field's value.
 19345  func (s *GetAggregateConformancePackComplianceSummaryOutput) SetGroupByKey(v string) *GetAggregateConformancePackComplianceSummaryOutput {
 19346  	s.GroupByKey = &v
 19347  	return s
 19348  }
 19349  
 19350  // SetNextToken sets the NextToken field's value.
 19351  func (s *GetAggregateConformancePackComplianceSummaryOutput) SetNextToken(v string) *GetAggregateConformancePackComplianceSummaryOutput {
 19352  	s.NextToken = &v
 19353  	return s
 19354  }
 19355  
 19356  type GetAggregateDiscoveredResourceCountsInput struct {
 19357  	_ struct{} `type:"structure"`
 19358  
 19359  	// The name of the configuration aggregator.
 19360  	//
 19361  	// ConfigurationAggregatorName is a required field
 19362  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 19363  
 19364  	// Filters the results based on the ResourceCountFilters object.
 19365  	Filters *ResourceCountFilters `type:"structure"`
 19366  
 19367  	// The key to group the resource counts.
 19368  	GroupByKey *string `type:"string" enum:"ResourceCountGroupKey"`
 19369  
 19370  	// The maximum number of GroupedResourceCount objects returned on each page.
 19371  	// The default is 1000. You cannot specify a number greater than 1000. If you
 19372  	// specify 0, Config uses the default.
 19373  	Limit *int64 `type:"integer"`
 19374  
 19375  	// The nextToken string returned on a previous page that you use to get the
 19376  	// next page of results in a paginated response.
 19377  	NextToken *string `type:"string"`
 19378  }
 19379  
 19380  // String returns the string representation.
 19381  //
 19382  // API parameter values that are decorated as "sensitive" in the API will not
 19383  // be included in the string output. The member name will be present, but the
 19384  // value will be replaced with "sensitive".
 19385  func (s GetAggregateDiscoveredResourceCountsInput) String() string {
 19386  	return awsutil.Prettify(s)
 19387  }
 19388  
 19389  // GoString returns the string representation.
 19390  //
 19391  // API parameter values that are decorated as "sensitive" in the API will not
 19392  // be included in the string output. The member name will be present, but the
 19393  // value will be replaced with "sensitive".
 19394  func (s GetAggregateDiscoveredResourceCountsInput) GoString() string {
 19395  	return s.String()
 19396  }
 19397  
 19398  // Validate inspects the fields of the type to determine if they are valid.
 19399  func (s *GetAggregateDiscoveredResourceCountsInput) Validate() error {
 19400  	invalidParams := request.ErrInvalidParams{Context: "GetAggregateDiscoveredResourceCountsInput"}
 19401  	if s.ConfigurationAggregatorName == nil {
 19402  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 19403  	}
 19404  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 19405  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 19406  	}
 19407  	if s.Filters != nil {
 19408  		if err := s.Filters.Validate(); err != nil {
 19409  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 19410  		}
 19411  	}
 19412  
 19413  	if invalidParams.Len() > 0 {
 19414  		return invalidParams
 19415  	}
 19416  	return nil
 19417  }
 19418  
 19419  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 19420  func (s *GetAggregateDiscoveredResourceCountsInput) SetConfigurationAggregatorName(v string) *GetAggregateDiscoveredResourceCountsInput {
 19421  	s.ConfigurationAggregatorName = &v
 19422  	return s
 19423  }
 19424  
 19425  // SetFilters sets the Filters field's value.
 19426  func (s *GetAggregateDiscoveredResourceCountsInput) SetFilters(v *ResourceCountFilters) *GetAggregateDiscoveredResourceCountsInput {
 19427  	s.Filters = v
 19428  	return s
 19429  }
 19430  
 19431  // SetGroupByKey sets the GroupByKey field's value.
 19432  func (s *GetAggregateDiscoveredResourceCountsInput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsInput {
 19433  	s.GroupByKey = &v
 19434  	return s
 19435  }
 19436  
 19437  // SetLimit sets the Limit field's value.
 19438  func (s *GetAggregateDiscoveredResourceCountsInput) SetLimit(v int64) *GetAggregateDiscoveredResourceCountsInput {
 19439  	s.Limit = &v
 19440  	return s
 19441  }
 19442  
 19443  // SetNextToken sets the NextToken field's value.
 19444  func (s *GetAggregateDiscoveredResourceCountsInput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsInput {
 19445  	s.NextToken = &v
 19446  	return s
 19447  }
 19448  
 19449  type GetAggregateDiscoveredResourceCountsOutput struct {
 19450  	_ struct{} `type:"structure"`
 19451  
 19452  	// The key passed into the request object. If GroupByKey is not provided, the
 19453  	// result will be empty.
 19454  	GroupByKey *string `min:"1" type:"string"`
 19455  
 19456  	// Returns a list of GroupedResourceCount objects.
 19457  	GroupedResourceCounts []*GroupedResourceCount `type:"list"`
 19458  
 19459  	// The nextToken string returned on a previous page that you use to get the
 19460  	// next page of results in a paginated response.
 19461  	NextToken *string `type:"string"`
 19462  
 19463  	// The total number of resources that are present in an aggregator with the
 19464  	// filters that you provide.
 19465  	//
 19466  	// TotalDiscoveredResources is a required field
 19467  	TotalDiscoveredResources *int64 `type:"long" required:"true"`
 19468  }
 19469  
 19470  // String returns the string representation.
 19471  //
 19472  // API parameter values that are decorated as "sensitive" in the API will not
 19473  // be included in the string output. The member name will be present, but the
 19474  // value will be replaced with "sensitive".
 19475  func (s GetAggregateDiscoveredResourceCountsOutput) String() string {
 19476  	return awsutil.Prettify(s)
 19477  }
 19478  
 19479  // GoString returns the string representation.
 19480  //
 19481  // API parameter values that are decorated as "sensitive" in the API will not
 19482  // be included in the string output. The member name will be present, but the
 19483  // value will be replaced with "sensitive".
 19484  func (s GetAggregateDiscoveredResourceCountsOutput) GoString() string {
 19485  	return s.String()
 19486  }
 19487  
 19488  // SetGroupByKey sets the GroupByKey field's value.
 19489  func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsOutput {
 19490  	s.GroupByKey = &v
 19491  	return s
 19492  }
 19493  
 19494  // SetGroupedResourceCounts sets the GroupedResourceCounts field's value.
 19495  func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupedResourceCounts(v []*GroupedResourceCount) *GetAggregateDiscoveredResourceCountsOutput {
 19496  	s.GroupedResourceCounts = v
 19497  	return s
 19498  }
 19499  
 19500  // SetNextToken sets the NextToken field's value.
 19501  func (s *GetAggregateDiscoveredResourceCountsOutput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsOutput {
 19502  	s.NextToken = &v
 19503  	return s
 19504  }
 19505  
 19506  // SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
 19507  func (s *GetAggregateDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetAggregateDiscoveredResourceCountsOutput {
 19508  	s.TotalDiscoveredResources = &v
 19509  	return s
 19510  }
 19511  
 19512  type GetAggregateResourceConfigInput struct {
 19513  	_ struct{} `type:"structure"`
 19514  
 19515  	// The name of the configuration aggregator.
 19516  	//
 19517  	// ConfigurationAggregatorName is a required field
 19518  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 19519  
 19520  	// An object that identifies aggregate resource.
 19521  	//
 19522  	// ResourceIdentifier is a required field
 19523  	ResourceIdentifier *AggregateResourceIdentifier `type:"structure" required:"true"`
 19524  }
 19525  
 19526  // String returns the string representation.
 19527  //
 19528  // API parameter values that are decorated as "sensitive" in the API will not
 19529  // be included in the string output. The member name will be present, but the
 19530  // value will be replaced with "sensitive".
 19531  func (s GetAggregateResourceConfigInput) String() string {
 19532  	return awsutil.Prettify(s)
 19533  }
 19534  
 19535  // GoString returns the string representation.
 19536  //
 19537  // API parameter values that are decorated as "sensitive" in the API will not
 19538  // be included in the string output. The member name will be present, but the
 19539  // value will be replaced with "sensitive".
 19540  func (s GetAggregateResourceConfigInput) GoString() string {
 19541  	return s.String()
 19542  }
 19543  
 19544  // Validate inspects the fields of the type to determine if they are valid.
 19545  func (s *GetAggregateResourceConfigInput) Validate() error {
 19546  	invalidParams := request.ErrInvalidParams{Context: "GetAggregateResourceConfigInput"}
 19547  	if s.ConfigurationAggregatorName == nil {
 19548  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 19549  	}
 19550  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 19551  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 19552  	}
 19553  	if s.ResourceIdentifier == nil {
 19554  		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
 19555  	}
 19556  	if s.ResourceIdentifier != nil {
 19557  		if err := s.ResourceIdentifier.Validate(); err != nil {
 19558  			invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams))
 19559  		}
 19560  	}
 19561  
 19562  	if invalidParams.Len() > 0 {
 19563  		return invalidParams
 19564  	}
 19565  	return nil
 19566  }
 19567  
 19568  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 19569  func (s *GetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *GetAggregateResourceConfigInput {
 19570  	s.ConfigurationAggregatorName = &v
 19571  	return s
 19572  }
 19573  
 19574  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 19575  func (s *GetAggregateResourceConfigInput) SetResourceIdentifier(v *AggregateResourceIdentifier) *GetAggregateResourceConfigInput {
 19576  	s.ResourceIdentifier = v
 19577  	return s
 19578  }
 19579  
 19580  type GetAggregateResourceConfigOutput struct {
 19581  	_ struct{} `type:"structure"`
 19582  
 19583  	// Returns a ConfigurationItem object.
 19584  	ConfigurationItem *ConfigurationItem `type:"structure"`
 19585  }
 19586  
 19587  // String returns the string representation.
 19588  //
 19589  // API parameter values that are decorated as "sensitive" in the API will not
 19590  // be included in the string output. The member name will be present, but the
 19591  // value will be replaced with "sensitive".
 19592  func (s GetAggregateResourceConfigOutput) String() string {
 19593  	return awsutil.Prettify(s)
 19594  }
 19595  
 19596  // GoString returns the string representation.
 19597  //
 19598  // API parameter values that are decorated as "sensitive" in the API will not
 19599  // be included in the string output. The member name will be present, but the
 19600  // value will be replaced with "sensitive".
 19601  func (s GetAggregateResourceConfigOutput) GoString() string {
 19602  	return s.String()
 19603  }
 19604  
 19605  // SetConfigurationItem sets the ConfigurationItem field's value.
 19606  func (s *GetAggregateResourceConfigOutput) SetConfigurationItem(v *ConfigurationItem) *GetAggregateResourceConfigOutput {
 19607  	s.ConfigurationItem = v
 19608  	return s
 19609  }
 19610  
 19611  type GetComplianceDetailsByConfigRuleInput struct {
 19612  	_ struct{} `type:"structure"`
 19613  
 19614  	// Filters the results by compliance.
 19615  	//
 19616  	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
 19617  	ComplianceTypes []*string `type:"list"`
 19618  
 19619  	// The name of the Config rule for which you want compliance information.
 19620  	//
 19621  	// ConfigRuleName is a required field
 19622  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 19623  
 19624  	// The maximum number of evaluation results returned on each page. The default
 19625  	// is 10. You cannot specify a number greater than 100. If you specify 0, Config
 19626  	// uses the default.
 19627  	Limit *int64 `type:"integer"`
 19628  
 19629  	// The nextToken string returned on a previous page that you use to get the
 19630  	// next page of results in a paginated response.
 19631  	NextToken *string `type:"string"`
 19632  }
 19633  
 19634  // String returns the string representation.
 19635  //
 19636  // API parameter values that are decorated as "sensitive" in the API will not
 19637  // be included in the string output. The member name will be present, but the
 19638  // value will be replaced with "sensitive".
 19639  func (s GetComplianceDetailsByConfigRuleInput) String() string {
 19640  	return awsutil.Prettify(s)
 19641  }
 19642  
 19643  // GoString returns the string representation.
 19644  //
 19645  // API parameter values that are decorated as "sensitive" in the API will not
 19646  // be included in the string output. The member name will be present, but the
 19647  // value will be replaced with "sensitive".
 19648  func (s GetComplianceDetailsByConfigRuleInput) GoString() string {
 19649  	return s.String()
 19650  }
 19651  
 19652  // Validate inspects the fields of the type to determine if they are valid.
 19653  func (s *GetComplianceDetailsByConfigRuleInput) Validate() error {
 19654  	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByConfigRuleInput"}
 19655  	if s.ConfigRuleName == nil {
 19656  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 19657  	}
 19658  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 19659  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 19660  	}
 19661  
 19662  	if invalidParams.Len() > 0 {
 19663  		return invalidParams
 19664  	}
 19665  	return nil
 19666  }
 19667  
 19668  // SetComplianceTypes sets the ComplianceTypes field's value.
 19669  func (s *GetComplianceDetailsByConfigRuleInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByConfigRuleInput {
 19670  	s.ComplianceTypes = v
 19671  	return s
 19672  }
 19673  
 19674  // SetConfigRuleName sets the ConfigRuleName field's value.
 19675  func (s *GetComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetComplianceDetailsByConfigRuleInput {
 19676  	s.ConfigRuleName = &v
 19677  	return s
 19678  }
 19679  
 19680  // SetLimit sets the Limit field's value.
 19681  func (s *GetComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetComplianceDetailsByConfigRuleInput {
 19682  	s.Limit = &v
 19683  	return s
 19684  }
 19685  
 19686  // SetNextToken sets the NextToken field's value.
 19687  func (s *GetComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleInput {
 19688  	s.NextToken = &v
 19689  	return s
 19690  }
 19691  
 19692  type GetComplianceDetailsByConfigRuleOutput struct {
 19693  	_ struct{} `type:"structure"`
 19694  
 19695  	// Indicates whether the Amazon Web Services resource complies with the specified
 19696  	// Config rule.
 19697  	EvaluationResults []*EvaluationResult `type:"list"`
 19698  
 19699  	// The string that you use in a subsequent request to get the next page of results
 19700  	// in a paginated response.
 19701  	NextToken *string `type:"string"`
 19702  }
 19703  
 19704  // String returns the string representation.
 19705  //
 19706  // API parameter values that are decorated as "sensitive" in the API will not
 19707  // be included in the string output. The member name will be present, but the
 19708  // value will be replaced with "sensitive".
 19709  func (s GetComplianceDetailsByConfigRuleOutput) String() string {
 19710  	return awsutil.Prettify(s)
 19711  }
 19712  
 19713  // GoString returns the string representation.
 19714  //
 19715  // API parameter values that are decorated as "sensitive" in the API will not
 19716  // be included in the string output. The member name will be present, but the
 19717  // value will be replaced with "sensitive".
 19718  func (s GetComplianceDetailsByConfigRuleOutput) GoString() string {
 19719  	return s.String()
 19720  }
 19721  
 19722  // SetEvaluationResults sets the EvaluationResults field's value.
 19723  func (s *GetComplianceDetailsByConfigRuleOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByConfigRuleOutput {
 19724  	s.EvaluationResults = v
 19725  	return s
 19726  }
 19727  
 19728  // SetNextToken sets the NextToken field's value.
 19729  func (s *GetComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleOutput {
 19730  	s.NextToken = &v
 19731  	return s
 19732  }
 19733  
 19734  type GetComplianceDetailsByResourceInput struct {
 19735  	_ struct{} `type:"structure"`
 19736  
 19737  	// Filters the results by compliance.
 19738  	//
 19739  	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
 19740  	ComplianceTypes []*string `type:"list"`
 19741  
 19742  	// The nextToken string returned on a previous page that you use to get the
 19743  	// next page of results in a paginated response.
 19744  	NextToken *string `type:"string"`
 19745  
 19746  	// The ID of the Amazon Web Services resource for which you want compliance
 19747  	// information.
 19748  	//
 19749  	// ResourceId is a required field
 19750  	ResourceId *string `min:"1" type:"string" required:"true"`
 19751  
 19752  	// The type of the Amazon Web Services resource for which you want compliance
 19753  	// information.
 19754  	//
 19755  	// ResourceType is a required field
 19756  	ResourceType *string `min:"1" type:"string" required:"true"`
 19757  }
 19758  
 19759  // String returns the string representation.
 19760  //
 19761  // API parameter values that are decorated as "sensitive" in the API will not
 19762  // be included in the string output. The member name will be present, but the
 19763  // value will be replaced with "sensitive".
 19764  func (s GetComplianceDetailsByResourceInput) String() string {
 19765  	return awsutil.Prettify(s)
 19766  }
 19767  
 19768  // GoString returns the string representation.
 19769  //
 19770  // API parameter values that are decorated as "sensitive" in the API will not
 19771  // be included in the string output. The member name will be present, but the
 19772  // value will be replaced with "sensitive".
 19773  func (s GetComplianceDetailsByResourceInput) GoString() string {
 19774  	return s.String()
 19775  }
 19776  
 19777  // Validate inspects the fields of the type to determine if they are valid.
 19778  func (s *GetComplianceDetailsByResourceInput) Validate() error {
 19779  	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByResourceInput"}
 19780  	if s.ResourceId == nil {
 19781  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 19782  	}
 19783  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 19784  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 19785  	}
 19786  	if s.ResourceType == nil {
 19787  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 19788  	}
 19789  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 19790  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 19791  	}
 19792  
 19793  	if invalidParams.Len() > 0 {
 19794  		return invalidParams
 19795  	}
 19796  	return nil
 19797  }
 19798  
 19799  // SetComplianceTypes sets the ComplianceTypes field's value.
 19800  func (s *GetComplianceDetailsByResourceInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByResourceInput {
 19801  	s.ComplianceTypes = v
 19802  	return s
 19803  }
 19804  
 19805  // SetNextToken sets the NextToken field's value.
 19806  func (s *GetComplianceDetailsByResourceInput) SetNextToken(v string) *GetComplianceDetailsByResourceInput {
 19807  	s.NextToken = &v
 19808  	return s
 19809  }
 19810  
 19811  // SetResourceId sets the ResourceId field's value.
 19812  func (s *GetComplianceDetailsByResourceInput) SetResourceId(v string) *GetComplianceDetailsByResourceInput {
 19813  	s.ResourceId = &v
 19814  	return s
 19815  }
 19816  
 19817  // SetResourceType sets the ResourceType field's value.
 19818  func (s *GetComplianceDetailsByResourceInput) SetResourceType(v string) *GetComplianceDetailsByResourceInput {
 19819  	s.ResourceType = &v
 19820  	return s
 19821  }
 19822  
 19823  type GetComplianceDetailsByResourceOutput struct {
 19824  	_ struct{} `type:"structure"`
 19825  
 19826  	// Indicates whether the specified Amazon Web Services resource complies each
 19827  	// Config rule.
 19828  	EvaluationResults []*EvaluationResult `type:"list"`
 19829  
 19830  	// The string that you use in a subsequent request to get the next page of results
 19831  	// in a paginated response.
 19832  	NextToken *string `type:"string"`
 19833  }
 19834  
 19835  // String returns the string representation.
 19836  //
 19837  // API parameter values that are decorated as "sensitive" in the API will not
 19838  // be included in the string output. The member name will be present, but the
 19839  // value will be replaced with "sensitive".
 19840  func (s GetComplianceDetailsByResourceOutput) String() string {
 19841  	return awsutil.Prettify(s)
 19842  }
 19843  
 19844  // GoString returns the string representation.
 19845  //
 19846  // API parameter values that are decorated as "sensitive" in the API will not
 19847  // be included in the string output. The member name will be present, but the
 19848  // value will be replaced with "sensitive".
 19849  func (s GetComplianceDetailsByResourceOutput) GoString() string {
 19850  	return s.String()
 19851  }
 19852  
 19853  // SetEvaluationResults sets the EvaluationResults field's value.
 19854  func (s *GetComplianceDetailsByResourceOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByResourceOutput {
 19855  	s.EvaluationResults = v
 19856  	return s
 19857  }
 19858  
 19859  // SetNextToken sets the NextToken field's value.
 19860  func (s *GetComplianceDetailsByResourceOutput) SetNextToken(v string) *GetComplianceDetailsByResourceOutput {
 19861  	s.NextToken = &v
 19862  	return s
 19863  }
 19864  
 19865  type GetComplianceSummaryByConfigRuleInput struct {
 19866  	_ struct{} `type:"structure"`
 19867  }
 19868  
 19869  // String returns the string representation.
 19870  //
 19871  // API parameter values that are decorated as "sensitive" in the API will not
 19872  // be included in the string output. The member name will be present, but the
 19873  // value will be replaced with "sensitive".
 19874  func (s GetComplianceSummaryByConfigRuleInput) String() string {
 19875  	return awsutil.Prettify(s)
 19876  }
 19877  
 19878  // GoString returns the string representation.
 19879  //
 19880  // API parameter values that are decorated as "sensitive" in the API will not
 19881  // be included in the string output. The member name will be present, but the
 19882  // value will be replaced with "sensitive".
 19883  func (s GetComplianceSummaryByConfigRuleInput) GoString() string {
 19884  	return s.String()
 19885  }
 19886  
 19887  type GetComplianceSummaryByConfigRuleOutput struct {
 19888  	_ struct{} `type:"structure"`
 19889  
 19890  	// The number of Config rules that are compliant and the number that are noncompliant,
 19891  	// up to a maximum of 25 for each.
 19892  	ComplianceSummary *ComplianceSummary `type:"structure"`
 19893  }
 19894  
 19895  // String returns the string representation.
 19896  //
 19897  // API parameter values that are decorated as "sensitive" in the API will not
 19898  // be included in the string output. The member name will be present, but the
 19899  // value will be replaced with "sensitive".
 19900  func (s GetComplianceSummaryByConfigRuleOutput) String() string {
 19901  	return awsutil.Prettify(s)
 19902  }
 19903  
 19904  // GoString returns the string representation.
 19905  //
 19906  // API parameter values that are decorated as "sensitive" in the API will not
 19907  // be included in the string output. The member name will be present, but the
 19908  // value will be replaced with "sensitive".
 19909  func (s GetComplianceSummaryByConfigRuleOutput) GoString() string {
 19910  	return s.String()
 19911  }
 19912  
 19913  // SetComplianceSummary sets the ComplianceSummary field's value.
 19914  func (s *GetComplianceSummaryByConfigRuleOutput) SetComplianceSummary(v *ComplianceSummary) *GetComplianceSummaryByConfigRuleOutput {
 19915  	s.ComplianceSummary = v
 19916  	return s
 19917  }
 19918  
 19919  type GetComplianceSummaryByResourceTypeInput struct {
 19920  	_ struct{} `type:"structure"`
 19921  
 19922  	// Specify one or more resource types to get the number of resources that are
 19923  	// compliant and the number that are noncompliant for each resource type.
 19924  	//
 19925  	// For this request, you can specify an Amazon Web Services resource type such
 19926  	// as AWS::EC2::Instance. You can specify that the resource type is an Amazon
 19927  	// Web Services account by specifying AWS::::Account.
 19928  	ResourceTypes []*string `type:"list"`
 19929  }
 19930  
 19931  // String returns the string representation.
 19932  //
 19933  // API parameter values that are decorated as "sensitive" in the API will not
 19934  // be included in the string output. The member name will be present, but the
 19935  // value will be replaced with "sensitive".
 19936  func (s GetComplianceSummaryByResourceTypeInput) String() string {
 19937  	return awsutil.Prettify(s)
 19938  }
 19939  
 19940  // GoString returns the string representation.
 19941  //
 19942  // API parameter values that are decorated as "sensitive" in the API will not
 19943  // be included in the string output. The member name will be present, but the
 19944  // value will be replaced with "sensitive".
 19945  func (s GetComplianceSummaryByResourceTypeInput) GoString() string {
 19946  	return s.String()
 19947  }
 19948  
 19949  // SetResourceTypes sets the ResourceTypes field's value.
 19950  func (s *GetComplianceSummaryByResourceTypeInput) SetResourceTypes(v []*string) *GetComplianceSummaryByResourceTypeInput {
 19951  	s.ResourceTypes = v
 19952  	return s
 19953  }
 19954  
 19955  type GetComplianceSummaryByResourceTypeOutput struct {
 19956  	_ struct{} `type:"structure"`
 19957  
 19958  	// The number of resources that are compliant and the number that are noncompliant.
 19959  	// If one or more resource types were provided with the request, the numbers
 19960  	// are returned for each resource type. The maximum number returned is 100.
 19961  	ComplianceSummariesByResourceType []*ComplianceSummaryByResourceType `type:"list"`
 19962  }
 19963  
 19964  // String returns the string representation.
 19965  //
 19966  // API parameter values that are decorated as "sensitive" in the API will not
 19967  // be included in the string output. The member name will be present, but the
 19968  // value will be replaced with "sensitive".
 19969  func (s GetComplianceSummaryByResourceTypeOutput) String() string {
 19970  	return awsutil.Prettify(s)
 19971  }
 19972  
 19973  // GoString returns the string representation.
 19974  //
 19975  // API parameter values that are decorated as "sensitive" in the API will not
 19976  // be included in the string output. The member name will be present, but the
 19977  // value will be replaced with "sensitive".
 19978  func (s GetComplianceSummaryByResourceTypeOutput) GoString() string {
 19979  	return s.String()
 19980  }
 19981  
 19982  // SetComplianceSummariesByResourceType sets the ComplianceSummariesByResourceType field's value.
 19983  func (s *GetComplianceSummaryByResourceTypeOutput) SetComplianceSummariesByResourceType(v []*ComplianceSummaryByResourceType) *GetComplianceSummaryByResourceTypeOutput {
 19984  	s.ComplianceSummariesByResourceType = v
 19985  	return s
 19986  }
 19987  
 19988  type GetConformancePackComplianceDetailsInput struct {
 19989  	_ struct{} `type:"structure"`
 19990  
 19991  	// Name of the conformance pack.
 19992  	//
 19993  	// ConformancePackName is a required field
 19994  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 19995  
 19996  	// A ConformancePackEvaluationFilters object.
 19997  	Filters *ConformancePackEvaluationFilters `type:"structure"`
 19998  
 19999  	// The maximum number of evaluation results returned on each page. If you do
 20000  	// no specify a number, Config uses the default. The default is 100.
 20001  	Limit *int64 `type:"integer"`
 20002  
 20003  	// The nextToken string returned in a previous request that you use to request
 20004  	// the next page of results in a paginated response.
 20005  	NextToken *string `type:"string"`
 20006  }
 20007  
 20008  // String returns the string representation.
 20009  //
 20010  // API parameter values that are decorated as "sensitive" in the API will not
 20011  // be included in the string output. The member name will be present, but the
 20012  // value will be replaced with "sensitive".
 20013  func (s GetConformancePackComplianceDetailsInput) String() string {
 20014  	return awsutil.Prettify(s)
 20015  }
 20016  
 20017  // GoString returns the string representation.
 20018  //
 20019  // API parameter values that are decorated as "sensitive" in the API will not
 20020  // be included in the string output. The member name will be present, but the
 20021  // value will be replaced with "sensitive".
 20022  func (s GetConformancePackComplianceDetailsInput) GoString() string {
 20023  	return s.String()
 20024  }
 20025  
 20026  // Validate inspects the fields of the type to determine if they are valid.
 20027  func (s *GetConformancePackComplianceDetailsInput) Validate() error {
 20028  	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceDetailsInput"}
 20029  	if s.ConformancePackName == nil {
 20030  		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
 20031  	}
 20032  	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
 20033  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
 20034  	}
 20035  	if s.Filters != nil {
 20036  		if err := s.Filters.Validate(); err != nil {
 20037  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 20038  		}
 20039  	}
 20040  
 20041  	if invalidParams.Len() > 0 {
 20042  		return invalidParams
 20043  	}
 20044  	return nil
 20045  }
 20046  
 20047  // SetConformancePackName sets the ConformancePackName field's value.
 20048  func (s *GetConformancePackComplianceDetailsInput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsInput {
 20049  	s.ConformancePackName = &v
 20050  	return s
 20051  }
 20052  
 20053  // SetFilters sets the Filters field's value.
 20054  func (s *GetConformancePackComplianceDetailsInput) SetFilters(v *ConformancePackEvaluationFilters) *GetConformancePackComplianceDetailsInput {
 20055  	s.Filters = v
 20056  	return s
 20057  }
 20058  
 20059  // SetLimit sets the Limit field's value.
 20060  func (s *GetConformancePackComplianceDetailsInput) SetLimit(v int64) *GetConformancePackComplianceDetailsInput {
 20061  	s.Limit = &v
 20062  	return s
 20063  }
 20064  
 20065  // SetNextToken sets the NextToken field's value.
 20066  func (s *GetConformancePackComplianceDetailsInput) SetNextToken(v string) *GetConformancePackComplianceDetailsInput {
 20067  	s.NextToken = &v
 20068  	return s
 20069  }
 20070  
 20071  type GetConformancePackComplianceDetailsOutput struct {
 20072  	_ struct{} `type:"structure"`
 20073  
 20074  	// Name of the conformance pack.
 20075  	//
 20076  	// ConformancePackName is a required field
 20077  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 20078  
 20079  	// Returns a list of ConformancePackEvaluationResult objects.
 20080  	ConformancePackRuleEvaluationResults []*ConformancePackEvaluationResult `type:"list"`
 20081  
 20082  	// The nextToken string returned in a previous request that you use to request
 20083  	// the next page of results in a paginated response.
 20084  	NextToken *string `type:"string"`
 20085  }
 20086  
 20087  // String returns the string representation.
 20088  //
 20089  // API parameter values that are decorated as "sensitive" in the API will not
 20090  // be included in the string output. The member name will be present, but the
 20091  // value will be replaced with "sensitive".
 20092  func (s GetConformancePackComplianceDetailsOutput) String() string {
 20093  	return awsutil.Prettify(s)
 20094  }
 20095  
 20096  // GoString returns the string representation.
 20097  //
 20098  // API parameter values that are decorated as "sensitive" in the API will not
 20099  // be included in the string output. The member name will be present, but the
 20100  // value will be replaced with "sensitive".
 20101  func (s GetConformancePackComplianceDetailsOutput) GoString() string {
 20102  	return s.String()
 20103  }
 20104  
 20105  // SetConformancePackName sets the ConformancePackName field's value.
 20106  func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsOutput {
 20107  	s.ConformancePackName = &v
 20108  	return s
 20109  }
 20110  
 20111  // SetConformancePackRuleEvaluationResults sets the ConformancePackRuleEvaluationResults field's value.
 20112  func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackRuleEvaluationResults(v []*ConformancePackEvaluationResult) *GetConformancePackComplianceDetailsOutput {
 20113  	s.ConformancePackRuleEvaluationResults = v
 20114  	return s
 20115  }
 20116  
 20117  // SetNextToken sets the NextToken field's value.
 20118  func (s *GetConformancePackComplianceDetailsOutput) SetNextToken(v string) *GetConformancePackComplianceDetailsOutput {
 20119  	s.NextToken = &v
 20120  	return s
 20121  }
 20122  
 20123  type GetConformancePackComplianceSummaryInput struct {
 20124  	_ struct{} `type:"structure"`
 20125  
 20126  	// Names of conformance packs.
 20127  	//
 20128  	// ConformancePackNames is a required field
 20129  	ConformancePackNames []*string `min:"1" type:"list" required:"true"`
 20130  
 20131  	// The maximum number of conformance packs returned on each page.
 20132  	Limit *int64 `type:"integer"`
 20133  
 20134  	// The nextToken string returned on a previous page that you use to get the
 20135  	// next page of results in a paginated response.
 20136  	NextToken *string `type:"string"`
 20137  }
 20138  
 20139  // String returns the string representation.
 20140  //
 20141  // API parameter values that are decorated as "sensitive" in the API will not
 20142  // be included in the string output. The member name will be present, but the
 20143  // value will be replaced with "sensitive".
 20144  func (s GetConformancePackComplianceSummaryInput) String() string {
 20145  	return awsutil.Prettify(s)
 20146  }
 20147  
 20148  // GoString returns the string representation.
 20149  //
 20150  // API parameter values that are decorated as "sensitive" in the API will not
 20151  // be included in the string output. The member name will be present, but the
 20152  // value will be replaced with "sensitive".
 20153  func (s GetConformancePackComplianceSummaryInput) GoString() string {
 20154  	return s.String()
 20155  }
 20156  
 20157  // Validate inspects the fields of the type to determine if they are valid.
 20158  func (s *GetConformancePackComplianceSummaryInput) Validate() error {
 20159  	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceSummaryInput"}
 20160  	if s.ConformancePackNames == nil {
 20161  		invalidParams.Add(request.NewErrParamRequired("ConformancePackNames"))
 20162  	}
 20163  	if s.ConformancePackNames != nil && len(s.ConformancePackNames) < 1 {
 20164  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackNames", 1))
 20165  	}
 20166  
 20167  	if invalidParams.Len() > 0 {
 20168  		return invalidParams
 20169  	}
 20170  	return nil
 20171  }
 20172  
 20173  // SetConformancePackNames sets the ConformancePackNames field's value.
 20174  func (s *GetConformancePackComplianceSummaryInput) SetConformancePackNames(v []*string) *GetConformancePackComplianceSummaryInput {
 20175  	s.ConformancePackNames = v
 20176  	return s
 20177  }
 20178  
 20179  // SetLimit sets the Limit field's value.
 20180  func (s *GetConformancePackComplianceSummaryInput) SetLimit(v int64) *GetConformancePackComplianceSummaryInput {
 20181  	s.Limit = &v
 20182  	return s
 20183  }
 20184  
 20185  // SetNextToken sets the NextToken field's value.
 20186  func (s *GetConformancePackComplianceSummaryInput) SetNextToken(v string) *GetConformancePackComplianceSummaryInput {
 20187  	s.NextToken = &v
 20188  	return s
 20189  }
 20190  
 20191  type GetConformancePackComplianceSummaryOutput struct {
 20192  	_ struct{} `type:"structure"`
 20193  
 20194  	// A list of ConformancePackComplianceSummary objects.
 20195  	ConformancePackComplianceSummaryList []*ConformancePackComplianceSummary `min:"1" type:"list"`
 20196  
 20197  	// The nextToken string returned on a previous page that you use to get the
 20198  	// next page of results in a paginated response.
 20199  	NextToken *string `type:"string"`
 20200  }
 20201  
 20202  // String returns the string representation.
 20203  //
 20204  // API parameter values that are decorated as "sensitive" in the API will not
 20205  // be included in the string output. The member name will be present, but the
 20206  // value will be replaced with "sensitive".
 20207  func (s GetConformancePackComplianceSummaryOutput) String() string {
 20208  	return awsutil.Prettify(s)
 20209  }
 20210  
 20211  // GoString returns the string representation.
 20212  //
 20213  // API parameter values that are decorated as "sensitive" in the API will not
 20214  // be included in the string output. The member name will be present, but the
 20215  // value will be replaced with "sensitive".
 20216  func (s GetConformancePackComplianceSummaryOutput) GoString() string {
 20217  	return s.String()
 20218  }
 20219  
 20220  // SetConformancePackComplianceSummaryList sets the ConformancePackComplianceSummaryList field's value.
 20221  func (s *GetConformancePackComplianceSummaryOutput) SetConformancePackComplianceSummaryList(v []*ConformancePackComplianceSummary) *GetConformancePackComplianceSummaryOutput {
 20222  	s.ConformancePackComplianceSummaryList = v
 20223  	return s
 20224  }
 20225  
 20226  // SetNextToken sets the NextToken field's value.
 20227  func (s *GetConformancePackComplianceSummaryOutput) SetNextToken(v string) *GetConformancePackComplianceSummaryOutput {
 20228  	s.NextToken = &v
 20229  	return s
 20230  }
 20231  
 20232  type GetDiscoveredResourceCountsInput struct {
 20233  	_ struct{} `type:"structure"`
 20234  
 20235  	// The maximum number of ResourceCount objects returned on each page. The default
 20236  	// is 100. You cannot specify a number greater than 100. If you specify 0, Config
 20237  	// uses the default.
 20238  	Limit *int64 `locationName:"limit" type:"integer"`
 20239  
 20240  	// The nextToken string returned on a previous page that you use to get the
 20241  	// next page of results in a paginated response.
 20242  	NextToken *string `locationName:"nextToken" type:"string"`
 20243  
 20244  	// The comma-separated list that specifies the resource types that you want
 20245  	// Config to return (for example, "AWS::EC2::Instance", "AWS::IAM::User").
 20246  	//
 20247  	// If a value for resourceTypes is not specified, Config returns all resource
 20248  	// types that Config is recording in the region for your account.
 20249  	//
 20250  	// If the configuration recorder is turned off, Config returns an empty list
 20251  	// of ResourceCount objects. If the configuration recorder is not recording
 20252  	// a specific resource type (for example, S3 buckets), that resource type is
 20253  	// not returned in the list of ResourceCount objects.
 20254  	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
 20255  }
 20256  
 20257  // String returns the string representation.
 20258  //
 20259  // API parameter values that are decorated as "sensitive" in the API will not
 20260  // be included in the string output. The member name will be present, but the
 20261  // value will be replaced with "sensitive".
 20262  func (s GetDiscoveredResourceCountsInput) String() string {
 20263  	return awsutil.Prettify(s)
 20264  }
 20265  
 20266  // GoString returns the string representation.
 20267  //
 20268  // API parameter values that are decorated as "sensitive" in the API will not
 20269  // be included in the string output. The member name will be present, but the
 20270  // value will be replaced with "sensitive".
 20271  func (s GetDiscoveredResourceCountsInput) GoString() string {
 20272  	return s.String()
 20273  }
 20274  
 20275  // SetLimit sets the Limit field's value.
 20276  func (s *GetDiscoveredResourceCountsInput) SetLimit(v int64) *GetDiscoveredResourceCountsInput {
 20277  	s.Limit = &v
 20278  	return s
 20279  }
 20280  
 20281  // SetNextToken sets the NextToken field's value.
 20282  func (s *GetDiscoveredResourceCountsInput) SetNextToken(v string) *GetDiscoveredResourceCountsInput {
 20283  	s.NextToken = &v
 20284  	return s
 20285  }
 20286  
 20287  // SetResourceTypes sets the ResourceTypes field's value.
 20288  func (s *GetDiscoveredResourceCountsInput) SetResourceTypes(v []*string) *GetDiscoveredResourceCountsInput {
 20289  	s.ResourceTypes = v
 20290  	return s
 20291  }
 20292  
 20293  type GetDiscoveredResourceCountsOutput struct {
 20294  	_ struct{} `type:"structure"`
 20295  
 20296  	// The string that you use in a subsequent request to get the next page of results
 20297  	// in a paginated response.
 20298  	NextToken *string `locationName:"nextToken" type:"string"`
 20299  
 20300  	// The list of ResourceCount objects. Each object is listed in descending order
 20301  	// by the number of resources.
 20302  	ResourceCounts []*ResourceCount `locationName:"resourceCounts" type:"list"`
 20303  
 20304  	// The total number of resources that Config is recording in the region for
 20305  	// your account. If you specify resource types in the request, Config returns
 20306  	// only the total number of resources for those resource types.
 20307  	//
 20308  	// Example
 20309  	//
 20310  	// Config is recording three resource types in the US East (Ohio) Region for
 20311  	// your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for a total
 20312  	// of 60 resources.
 20313  	//
 20314  	// You make a call to the GetDiscoveredResourceCounts action and specify the
 20315  	// resource type, "AWS::EC2::Instances", in the request.
 20316  	//
 20317  	// Config returns 25 for totalDiscoveredResources.
 20318  	TotalDiscoveredResources *int64 `locationName:"totalDiscoveredResources" type:"long"`
 20319  }
 20320  
 20321  // String returns the string representation.
 20322  //
 20323  // API parameter values that are decorated as "sensitive" in the API will not
 20324  // be included in the string output. The member name will be present, but the
 20325  // value will be replaced with "sensitive".
 20326  func (s GetDiscoveredResourceCountsOutput) String() string {
 20327  	return awsutil.Prettify(s)
 20328  }
 20329  
 20330  // GoString returns the string representation.
 20331  //
 20332  // API parameter values that are decorated as "sensitive" in the API will not
 20333  // be included in the string output. The member name will be present, but the
 20334  // value will be replaced with "sensitive".
 20335  func (s GetDiscoveredResourceCountsOutput) GoString() string {
 20336  	return s.String()
 20337  }
 20338  
 20339  // SetNextToken sets the NextToken field's value.
 20340  func (s *GetDiscoveredResourceCountsOutput) SetNextToken(v string) *GetDiscoveredResourceCountsOutput {
 20341  	s.NextToken = &v
 20342  	return s
 20343  }
 20344  
 20345  // SetResourceCounts sets the ResourceCounts field's value.
 20346  func (s *GetDiscoveredResourceCountsOutput) SetResourceCounts(v []*ResourceCount) *GetDiscoveredResourceCountsOutput {
 20347  	s.ResourceCounts = v
 20348  	return s
 20349  }
 20350  
 20351  // SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
 20352  func (s *GetDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetDiscoveredResourceCountsOutput {
 20353  	s.TotalDiscoveredResources = &v
 20354  	return s
 20355  }
 20356  
 20357  type GetOrganizationConfigRuleDetailedStatusInput struct {
 20358  	_ struct{} `type:"structure"`
 20359  
 20360  	// A StatusDetailFilters object.
 20361  	Filters *StatusDetailFilters `type:"structure"`
 20362  
 20363  	// The maximum number of OrganizationConfigRuleDetailedStatus returned on each
 20364  	// page. If you do not specify a number, Config uses the default. The default
 20365  	// is 100.
 20366  	Limit *int64 `type:"integer"`
 20367  
 20368  	// The nextToken string returned on a previous page that you use to get the
 20369  	// next page of results in a paginated response.
 20370  	NextToken *string `type:"string"`
 20371  
 20372  	// The name of organization config rule for which you want status details for
 20373  	// member accounts.
 20374  	//
 20375  	// OrganizationConfigRuleName is a required field
 20376  	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
 20377  }
 20378  
 20379  // String returns the string representation.
 20380  //
 20381  // API parameter values that are decorated as "sensitive" in the API will not
 20382  // be included in the string output. The member name will be present, but the
 20383  // value will be replaced with "sensitive".
 20384  func (s GetOrganizationConfigRuleDetailedStatusInput) String() string {
 20385  	return awsutil.Prettify(s)
 20386  }
 20387  
 20388  // GoString returns the string representation.
 20389  //
 20390  // API parameter values that are decorated as "sensitive" in the API will not
 20391  // be included in the string output. The member name will be present, but the
 20392  // value will be replaced with "sensitive".
 20393  func (s GetOrganizationConfigRuleDetailedStatusInput) GoString() string {
 20394  	return s.String()
 20395  }
 20396  
 20397  // Validate inspects the fields of the type to determine if they are valid.
 20398  func (s *GetOrganizationConfigRuleDetailedStatusInput) Validate() error {
 20399  	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConfigRuleDetailedStatusInput"}
 20400  	if s.OrganizationConfigRuleName == nil {
 20401  		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
 20402  	}
 20403  	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
 20404  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
 20405  	}
 20406  
 20407  	if invalidParams.Len() > 0 {
 20408  		return invalidParams
 20409  	}
 20410  	return nil
 20411  }
 20412  
 20413  // SetFilters sets the Filters field's value.
 20414  func (s *GetOrganizationConfigRuleDetailedStatusInput) SetFilters(v *StatusDetailFilters) *GetOrganizationConfigRuleDetailedStatusInput {
 20415  	s.Filters = v
 20416  	return s
 20417  }
 20418  
 20419  // SetLimit sets the Limit field's value.
 20420  func (s *GetOrganizationConfigRuleDetailedStatusInput) SetLimit(v int64) *GetOrganizationConfigRuleDetailedStatusInput {
 20421  	s.Limit = &v
 20422  	return s
 20423  }
 20424  
 20425  // SetNextToken sets the NextToken field's value.
 20426  func (s *GetOrganizationConfigRuleDetailedStatusInput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusInput {
 20427  	s.NextToken = &v
 20428  	return s
 20429  }
 20430  
 20431  // SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
 20432  func (s *GetOrganizationConfigRuleDetailedStatusInput) SetOrganizationConfigRuleName(v string) *GetOrganizationConfigRuleDetailedStatusInput {
 20433  	s.OrganizationConfigRuleName = &v
 20434  	return s
 20435  }
 20436  
 20437  type GetOrganizationConfigRuleDetailedStatusOutput struct {
 20438  	_ struct{} `type:"structure"`
 20439  
 20440  	// The nextToken string returned on a previous page that you use to get the
 20441  	// next page of results in a paginated response.
 20442  	NextToken *string `type:"string"`
 20443  
 20444  	// A list of MemberAccountStatus objects.
 20445  	OrganizationConfigRuleDetailedStatus []*MemberAccountStatus `type:"list"`
 20446  }
 20447  
 20448  // String returns the string representation.
 20449  //
 20450  // API parameter values that are decorated as "sensitive" in the API will not
 20451  // be included in the string output. The member name will be present, but the
 20452  // value will be replaced with "sensitive".
 20453  func (s GetOrganizationConfigRuleDetailedStatusOutput) String() string {
 20454  	return awsutil.Prettify(s)
 20455  }
 20456  
 20457  // GoString returns the string representation.
 20458  //
 20459  // API parameter values that are decorated as "sensitive" in the API will not
 20460  // be included in the string output. The member name will be present, but the
 20461  // value will be replaced with "sensitive".
 20462  func (s GetOrganizationConfigRuleDetailedStatusOutput) GoString() string {
 20463  	return s.String()
 20464  }
 20465  
 20466  // SetNextToken sets the NextToken field's value.
 20467  func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusOutput {
 20468  	s.NextToken = &v
 20469  	return s
 20470  }
 20471  
 20472  // SetOrganizationConfigRuleDetailedStatus sets the OrganizationConfigRuleDetailedStatus field's value.
 20473  func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetOrganizationConfigRuleDetailedStatus(v []*MemberAccountStatus) *GetOrganizationConfigRuleDetailedStatusOutput {
 20474  	s.OrganizationConfigRuleDetailedStatus = v
 20475  	return s
 20476  }
 20477  
 20478  type GetOrganizationConformancePackDetailedStatusInput struct {
 20479  	_ struct{} `type:"structure"`
 20480  
 20481  	// An OrganizationResourceDetailedStatusFilters object.
 20482  	Filters *OrganizationResourceDetailedStatusFilters `type:"structure"`
 20483  
 20484  	// The maximum number of OrganizationConformancePackDetailedStatuses returned
 20485  	// on each page. If you do not specify a number, Config uses the default. The
 20486  	// default is 100.
 20487  	Limit *int64 `type:"integer"`
 20488  
 20489  	// The nextToken string returned on a previous page that you use to get the
 20490  	// next page of results in a paginated response.
 20491  	NextToken *string `type:"string"`
 20492  
 20493  	// The name of organization conformance pack for which you want status details
 20494  	// for member accounts.
 20495  	//
 20496  	// OrganizationConformancePackName is a required field
 20497  	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
 20498  }
 20499  
 20500  // String returns the string representation.
 20501  //
 20502  // API parameter values that are decorated as "sensitive" in the API will not
 20503  // be included in the string output. The member name will be present, but the
 20504  // value will be replaced with "sensitive".
 20505  func (s GetOrganizationConformancePackDetailedStatusInput) String() string {
 20506  	return awsutil.Prettify(s)
 20507  }
 20508  
 20509  // GoString returns the string representation.
 20510  //
 20511  // API parameter values that are decorated as "sensitive" in the API will not
 20512  // be included in the string output. The member name will be present, but the
 20513  // value will be replaced with "sensitive".
 20514  func (s GetOrganizationConformancePackDetailedStatusInput) GoString() string {
 20515  	return s.String()
 20516  }
 20517  
 20518  // Validate inspects the fields of the type to determine if they are valid.
 20519  func (s *GetOrganizationConformancePackDetailedStatusInput) Validate() error {
 20520  	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConformancePackDetailedStatusInput"}
 20521  	if s.OrganizationConformancePackName == nil {
 20522  		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
 20523  	}
 20524  	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
 20525  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
 20526  	}
 20527  
 20528  	if invalidParams.Len() > 0 {
 20529  		return invalidParams
 20530  	}
 20531  	return nil
 20532  }
 20533  
 20534  // SetFilters sets the Filters field's value.
 20535  func (s *GetOrganizationConformancePackDetailedStatusInput) SetFilters(v *OrganizationResourceDetailedStatusFilters) *GetOrganizationConformancePackDetailedStatusInput {
 20536  	s.Filters = v
 20537  	return s
 20538  }
 20539  
 20540  // SetLimit sets the Limit field's value.
 20541  func (s *GetOrganizationConformancePackDetailedStatusInput) SetLimit(v int64) *GetOrganizationConformancePackDetailedStatusInput {
 20542  	s.Limit = &v
 20543  	return s
 20544  }
 20545  
 20546  // SetNextToken sets the NextToken field's value.
 20547  func (s *GetOrganizationConformancePackDetailedStatusInput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusInput {
 20548  	s.NextToken = &v
 20549  	return s
 20550  }
 20551  
 20552  // SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
 20553  func (s *GetOrganizationConformancePackDetailedStatusInput) SetOrganizationConformancePackName(v string) *GetOrganizationConformancePackDetailedStatusInput {
 20554  	s.OrganizationConformancePackName = &v
 20555  	return s
 20556  }
 20557  
 20558  type GetOrganizationConformancePackDetailedStatusOutput struct {
 20559  	_ struct{} `type:"structure"`
 20560  
 20561  	// The nextToken string returned on a previous page that you use to get the
 20562  	// next page of results in a paginated response.
 20563  	NextToken *string `type:"string"`
 20564  
 20565  	// A list of OrganizationConformancePackDetailedStatus objects.
 20566  	OrganizationConformancePackDetailedStatuses []*OrganizationConformancePackDetailedStatus `type:"list"`
 20567  }
 20568  
 20569  // String returns the string representation.
 20570  //
 20571  // API parameter values that are decorated as "sensitive" in the API will not
 20572  // be included in the string output. The member name will be present, but the
 20573  // value will be replaced with "sensitive".
 20574  func (s GetOrganizationConformancePackDetailedStatusOutput) String() string {
 20575  	return awsutil.Prettify(s)
 20576  }
 20577  
 20578  // GoString returns the string representation.
 20579  //
 20580  // API parameter values that are decorated as "sensitive" in the API will not
 20581  // be included in the string output. The member name will be present, but the
 20582  // value will be replaced with "sensitive".
 20583  func (s GetOrganizationConformancePackDetailedStatusOutput) GoString() string {
 20584  	return s.String()
 20585  }
 20586  
 20587  // SetNextToken sets the NextToken field's value.
 20588  func (s *GetOrganizationConformancePackDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusOutput {
 20589  	s.NextToken = &v
 20590  	return s
 20591  }
 20592  
 20593  // SetOrganizationConformancePackDetailedStatuses sets the OrganizationConformancePackDetailedStatuses field's value.
 20594  func (s *GetOrganizationConformancePackDetailedStatusOutput) SetOrganizationConformancePackDetailedStatuses(v []*OrganizationConformancePackDetailedStatus) *GetOrganizationConformancePackDetailedStatusOutput {
 20595  	s.OrganizationConformancePackDetailedStatuses = v
 20596  	return s
 20597  }
 20598  
 20599  // The input for the GetResourceConfigHistory action.
 20600  type GetResourceConfigHistoryInput struct {
 20601  	_ struct{} `type:"structure"`
 20602  
 20603  	// The chronological order for configuration items listed. By default, the results
 20604  	// are listed in reverse chronological order.
 20605  	ChronologicalOrder *string `locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder"`
 20606  
 20607  	// The time stamp that indicates an earlier time. If not specified, the action
 20608  	// returns paginated results that contain configuration items that start when
 20609  	// the first configuration item was recorded.
 20610  	EarlierTime *time.Time `locationName:"earlierTime" type:"timestamp"`
 20611  
 20612  	// The time stamp that indicates a later time. If not specified, current time
 20613  	// is taken.
 20614  	LaterTime *time.Time `locationName:"laterTime" type:"timestamp"`
 20615  
 20616  	// The maximum number of configuration items returned on each page. The default
 20617  	// is 10. You cannot specify a number greater than 100. If you specify 0, Config
 20618  	// uses the default.
 20619  	Limit *int64 `locationName:"limit" type:"integer"`
 20620  
 20621  	// The nextToken string returned on a previous page that you use to get the
 20622  	// next page of results in a paginated response.
 20623  	NextToken *string `locationName:"nextToken" type:"string"`
 20624  
 20625  	// The ID of the resource (for example., sg-xxxxxx).
 20626  	//
 20627  	// ResourceId is a required field
 20628  	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
 20629  
 20630  	// The resource type.
 20631  	//
 20632  	// ResourceType is a required field
 20633  	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
 20634  }
 20635  
 20636  // String returns the string representation.
 20637  //
 20638  // API parameter values that are decorated as "sensitive" in the API will not
 20639  // be included in the string output. The member name will be present, but the
 20640  // value will be replaced with "sensitive".
 20641  func (s GetResourceConfigHistoryInput) String() string {
 20642  	return awsutil.Prettify(s)
 20643  }
 20644  
 20645  // GoString returns the string representation.
 20646  //
 20647  // API parameter values that are decorated as "sensitive" in the API will not
 20648  // be included in the string output. The member name will be present, but the
 20649  // value will be replaced with "sensitive".
 20650  func (s GetResourceConfigHistoryInput) GoString() string {
 20651  	return s.String()
 20652  }
 20653  
 20654  // Validate inspects the fields of the type to determine if they are valid.
 20655  func (s *GetResourceConfigHistoryInput) Validate() error {
 20656  	invalidParams := request.ErrInvalidParams{Context: "GetResourceConfigHistoryInput"}
 20657  	if s.ResourceId == nil {
 20658  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 20659  	}
 20660  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 20661  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 20662  	}
 20663  	if s.ResourceType == nil {
 20664  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 20665  	}
 20666  
 20667  	if invalidParams.Len() > 0 {
 20668  		return invalidParams
 20669  	}
 20670  	return nil
 20671  }
 20672  
 20673  // SetChronologicalOrder sets the ChronologicalOrder field's value.
 20674  func (s *GetResourceConfigHistoryInput) SetChronologicalOrder(v string) *GetResourceConfigHistoryInput {
 20675  	s.ChronologicalOrder = &v
 20676  	return s
 20677  }
 20678  
 20679  // SetEarlierTime sets the EarlierTime field's value.
 20680  func (s *GetResourceConfigHistoryInput) SetEarlierTime(v time.Time) *GetResourceConfigHistoryInput {
 20681  	s.EarlierTime = &v
 20682  	return s
 20683  }
 20684  
 20685  // SetLaterTime sets the LaterTime field's value.
 20686  func (s *GetResourceConfigHistoryInput) SetLaterTime(v time.Time) *GetResourceConfigHistoryInput {
 20687  	s.LaterTime = &v
 20688  	return s
 20689  }
 20690  
 20691  // SetLimit sets the Limit field's value.
 20692  func (s *GetResourceConfigHistoryInput) SetLimit(v int64) *GetResourceConfigHistoryInput {
 20693  	s.Limit = &v
 20694  	return s
 20695  }
 20696  
 20697  // SetNextToken sets the NextToken field's value.
 20698  func (s *GetResourceConfigHistoryInput) SetNextToken(v string) *GetResourceConfigHistoryInput {
 20699  	s.NextToken = &v
 20700  	return s
 20701  }
 20702  
 20703  // SetResourceId sets the ResourceId field's value.
 20704  func (s *GetResourceConfigHistoryInput) SetResourceId(v string) *GetResourceConfigHistoryInput {
 20705  	s.ResourceId = &v
 20706  	return s
 20707  }
 20708  
 20709  // SetResourceType sets the ResourceType field's value.
 20710  func (s *GetResourceConfigHistoryInput) SetResourceType(v string) *GetResourceConfigHistoryInput {
 20711  	s.ResourceType = &v
 20712  	return s
 20713  }
 20714  
 20715  // The output for the GetResourceConfigHistory action.
 20716  type GetResourceConfigHistoryOutput struct {
 20717  	_ struct{} `type:"structure"`
 20718  
 20719  	// A list that contains the configuration history of one or more resources.
 20720  	ConfigurationItems []*ConfigurationItem `locationName:"configurationItems" type:"list"`
 20721  
 20722  	// The string that you use in a subsequent request to get the next page of results
 20723  	// in a paginated response.
 20724  	NextToken *string `locationName:"nextToken" type:"string"`
 20725  }
 20726  
 20727  // String returns the string representation.
 20728  //
 20729  // API parameter values that are decorated as "sensitive" in the API will not
 20730  // be included in the string output. The member name will be present, but the
 20731  // value will be replaced with "sensitive".
 20732  func (s GetResourceConfigHistoryOutput) String() string {
 20733  	return awsutil.Prettify(s)
 20734  }
 20735  
 20736  // GoString returns the string representation.
 20737  //
 20738  // API parameter values that are decorated as "sensitive" in the API will not
 20739  // be included in the string output. The member name will be present, but the
 20740  // value will be replaced with "sensitive".
 20741  func (s GetResourceConfigHistoryOutput) GoString() string {
 20742  	return s.String()
 20743  }
 20744  
 20745  // SetConfigurationItems sets the ConfigurationItems field's value.
 20746  func (s *GetResourceConfigHistoryOutput) SetConfigurationItems(v []*ConfigurationItem) *GetResourceConfigHistoryOutput {
 20747  	s.ConfigurationItems = v
 20748  	return s
 20749  }
 20750  
 20751  // SetNextToken sets the NextToken field's value.
 20752  func (s *GetResourceConfigHistoryOutput) SetNextToken(v string) *GetResourceConfigHistoryOutput {
 20753  	s.NextToken = &v
 20754  	return s
 20755  }
 20756  
 20757  type GetStoredQueryInput struct {
 20758  	_ struct{} `type:"structure"`
 20759  
 20760  	// The name of the query.
 20761  	//
 20762  	// QueryName is a required field
 20763  	QueryName *string `min:"1" type:"string" required:"true"`
 20764  }
 20765  
 20766  // String returns the string representation.
 20767  //
 20768  // API parameter values that are decorated as "sensitive" in the API will not
 20769  // be included in the string output. The member name will be present, but the
 20770  // value will be replaced with "sensitive".
 20771  func (s GetStoredQueryInput) String() string {
 20772  	return awsutil.Prettify(s)
 20773  }
 20774  
 20775  // GoString returns the string representation.
 20776  //
 20777  // API parameter values that are decorated as "sensitive" in the API will not
 20778  // be included in the string output. The member name will be present, but the
 20779  // value will be replaced with "sensitive".
 20780  func (s GetStoredQueryInput) GoString() string {
 20781  	return s.String()
 20782  }
 20783  
 20784  // Validate inspects the fields of the type to determine if they are valid.
 20785  func (s *GetStoredQueryInput) Validate() error {
 20786  	invalidParams := request.ErrInvalidParams{Context: "GetStoredQueryInput"}
 20787  	if s.QueryName == nil {
 20788  		invalidParams.Add(request.NewErrParamRequired("QueryName"))
 20789  	}
 20790  	if s.QueryName != nil && len(*s.QueryName) < 1 {
 20791  		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
 20792  	}
 20793  
 20794  	if invalidParams.Len() > 0 {
 20795  		return invalidParams
 20796  	}
 20797  	return nil
 20798  }
 20799  
 20800  // SetQueryName sets the QueryName field's value.
 20801  func (s *GetStoredQueryInput) SetQueryName(v string) *GetStoredQueryInput {
 20802  	s.QueryName = &v
 20803  	return s
 20804  }
 20805  
 20806  type GetStoredQueryOutput struct {
 20807  	_ struct{} `type:"structure"`
 20808  
 20809  	// Returns a StoredQuery object.
 20810  	StoredQuery *StoredQuery `type:"structure"`
 20811  }
 20812  
 20813  // String returns the string representation.
 20814  //
 20815  // API parameter values that are decorated as "sensitive" in the API will not
 20816  // be included in the string output. The member name will be present, but the
 20817  // value will be replaced with "sensitive".
 20818  func (s GetStoredQueryOutput) String() string {
 20819  	return awsutil.Prettify(s)
 20820  }
 20821  
 20822  // GoString returns the string representation.
 20823  //
 20824  // API parameter values that are decorated as "sensitive" in the API will not
 20825  // be included in the string output. The member name will be present, but the
 20826  // value will be replaced with "sensitive".
 20827  func (s GetStoredQueryOutput) GoString() string {
 20828  	return s.String()
 20829  }
 20830  
 20831  // SetStoredQuery sets the StoredQuery field's value.
 20832  func (s *GetStoredQueryOutput) SetStoredQuery(v *StoredQuery) *GetStoredQueryOutput {
 20833  	s.StoredQuery = v
 20834  	return s
 20835  }
 20836  
 20837  // The count of resources that are grouped by the group name.
 20838  type GroupedResourceCount struct {
 20839  	_ struct{} `type:"structure"`
 20840  
 20841  	// The name of the group that can be region, account ID, or resource type. For
 20842  	// example, region1, region2 if the region was chosen as GroupByKey.
 20843  	//
 20844  	// GroupName is a required field
 20845  	GroupName *string `min:"1" type:"string" required:"true"`
 20846  
 20847  	// The number of resources in the group.
 20848  	//
 20849  	// ResourceCount is a required field
 20850  	ResourceCount *int64 `type:"long" required:"true"`
 20851  }
 20852  
 20853  // String returns the string representation.
 20854  //
 20855  // API parameter values that are decorated as "sensitive" in the API will not
 20856  // be included in the string output. The member name will be present, but the
 20857  // value will be replaced with "sensitive".
 20858  func (s GroupedResourceCount) String() string {
 20859  	return awsutil.Prettify(s)
 20860  }
 20861  
 20862  // GoString returns the string representation.
 20863  //
 20864  // API parameter values that are decorated as "sensitive" in the API will not
 20865  // be included in the string output. The member name will be present, but the
 20866  // value will be replaced with "sensitive".
 20867  func (s GroupedResourceCount) GoString() string {
 20868  	return s.String()
 20869  }
 20870  
 20871  // SetGroupName sets the GroupName field's value.
 20872  func (s *GroupedResourceCount) SetGroupName(v string) *GroupedResourceCount {
 20873  	s.GroupName = &v
 20874  	return s
 20875  }
 20876  
 20877  // SetResourceCount sets the ResourceCount field's value.
 20878  func (s *GroupedResourceCount) SetResourceCount(v int64) *GroupedResourceCount {
 20879  	s.ResourceCount = &v
 20880  	return s
 20881  }
 20882  
 20883  // Your Amazon S3 bucket policy does not permit Config to write to it.
 20884  type InsufficientDeliveryPolicyException struct {
 20885  	_            struct{}                  `type:"structure"`
 20886  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20887  
 20888  	Message_ *string `locationName:"message" type:"string"`
 20889  }
 20890  
 20891  // String returns the string representation.
 20892  //
 20893  // API parameter values that are decorated as "sensitive" in the API will not
 20894  // be included in the string output. The member name will be present, but the
 20895  // value will be replaced with "sensitive".
 20896  func (s InsufficientDeliveryPolicyException) String() string {
 20897  	return awsutil.Prettify(s)
 20898  }
 20899  
 20900  // GoString returns the string representation.
 20901  //
 20902  // API parameter values that are decorated as "sensitive" in the API will not
 20903  // be included in the string output. The member name will be present, but the
 20904  // value will be replaced with "sensitive".
 20905  func (s InsufficientDeliveryPolicyException) GoString() string {
 20906  	return s.String()
 20907  }
 20908  
 20909  func newErrorInsufficientDeliveryPolicyException(v protocol.ResponseMetadata) error {
 20910  	return &InsufficientDeliveryPolicyException{
 20911  		RespMetadata: v,
 20912  	}
 20913  }
 20914  
 20915  // Code returns the exception type name.
 20916  func (s *InsufficientDeliveryPolicyException) Code() string {
 20917  	return "InsufficientDeliveryPolicyException"
 20918  }
 20919  
 20920  // Message returns the exception's message.
 20921  func (s *InsufficientDeliveryPolicyException) Message() string {
 20922  	if s.Message_ != nil {
 20923  		return *s.Message_
 20924  	}
 20925  	return ""
 20926  }
 20927  
 20928  // OrigErr always returns nil, satisfies awserr.Error interface.
 20929  func (s *InsufficientDeliveryPolicyException) OrigErr() error {
 20930  	return nil
 20931  }
 20932  
 20933  func (s *InsufficientDeliveryPolicyException) Error() string {
 20934  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20935  }
 20936  
 20937  // Status code returns the HTTP status code for the request's response error.
 20938  func (s *InsufficientDeliveryPolicyException) StatusCode() int {
 20939  	return s.RespMetadata.StatusCode
 20940  }
 20941  
 20942  // RequestID returns the service's response RequestID for request.
 20943  func (s *InsufficientDeliveryPolicyException) RequestID() string {
 20944  	return s.RespMetadata.RequestID
 20945  }
 20946  
 20947  // Indicates one of the following errors:
 20948  //
 20949  //    * For PutConfigRule, the rule cannot be created because the IAM role assigned
 20950  //    to Config lacks permissions to perform the config:Put* action.
 20951  //
 20952  //    * For PutConfigRule, the Lambda function cannot be invoked. Check the
 20953  //    function ARN, and check the function's permissions.
 20954  //
 20955  //    * For PutOrganizationConfigRule, organization config rule cannot be created
 20956  //    because you do not have permissions to call IAM GetRole action or create
 20957  //    a service linked role.
 20958  //
 20959  //    * For PutConformancePack and PutOrganizationConformancePack, a conformance
 20960  //    pack cannot be created because you do not have permissions: To call IAM
 20961  //    GetRole action or create a service linked role. To read Amazon S3 bucket.
 20962  type InsufficientPermissionsException struct {
 20963  	_            struct{}                  `type:"structure"`
 20964  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20965  
 20966  	Message_ *string `locationName:"message" type:"string"`
 20967  }
 20968  
 20969  // String returns the string representation.
 20970  //
 20971  // API parameter values that are decorated as "sensitive" in the API will not
 20972  // be included in the string output. The member name will be present, but the
 20973  // value will be replaced with "sensitive".
 20974  func (s InsufficientPermissionsException) String() string {
 20975  	return awsutil.Prettify(s)
 20976  }
 20977  
 20978  // GoString returns the string representation.
 20979  //
 20980  // API parameter values that are decorated as "sensitive" in the API will not
 20981  // be included in the string output. The member name will be present, but the
 20982  // value will be replaced with "sensitive".
 20983  func (s InsufficientPermissionsException) GoString() string {
 20984  	return s.String()
 20985  }
 20986  
 20987  func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
 20988  	return &InsufficientPermissionsException{
 20989  		RespMetadata: v,
 20990  	}
 20991  }
 20992  
 20993  // Code returns the exception type name.
 20994  func (s *InsufficientPermissionsException) Code() string {
 20995  	return "InsufficientPermissionsException"
 20996  }
 20997  
 20998  // Message returns the exception's message.
 20999  func (s *InsufficientPermissionsException) Message() string {
 21000  	if s.Message_ != nil {
 21001  		return *s.Message_
 21002  	}
 21003  	return ""
 21004  }
 21005  
 21006  // OrigErr always returns nil, satisfies awserr.Error interface.
 21007  func (s *InsufficientPermissionsException) OrigErr() error {
 21008  	return nil
 21009  }
 21010  
 21011  func (s *InsufficientPermissionsException) Error() string {
 21012  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21013  }
 21014  
 21015  // Status code returns the HTTP status code for the request's response error.
 21016  func (s *InsufficientPermissionsException) StatusCode() int {
 21017  	return s.RespMetadata.StatusCode
 21018  }
 21019  
 21020  // RequestID returns the service's response RequestID for request.
 21021  func (s *InsufficientPermissionsException) RequestID() string {
 21022  	return s.RespMetadata.RequestID
 21023  }
 21024  
 21025  // You have provided a configuration recorder name that is not valid.
 21026  type InvalidConfigurationRecorderNameException struct {
 21027  	_            struct{}                  `type:"structure"`
 21028  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21029  
 21030  	Message_ *string `locationName:"message" type:"string"`
 21031  }
 21032  
 21033  // String returns the string representation.
 21034  //
 21035  // API parameter values that are decorated as "sensitive" in the API will not
 21036  // be included in the string output. The member name will be present, but the
 21037  // value will be replaced with "sensitive".
 21038  func (s InvalidConfigurationRecorderNameException) String() string {
 21039  	return awsutil.Prettify(s)
 21040  }
 21041  
 21042  // GoString returns the string representation.
 21043  //
 21044  // API parameter values that are decorated as "sensitive" in the API will not
 21045  // be included in the string output. The member name will be present, but the
 21046  // value will be replaced with "sensitive".
 21047  func (s InvalidConfigurationRecorderNameException) GoString() string {
 21048  	return s.String()
 21049  }
 21050  
 21051  func newErrorInvalidConfigurationRecorderNameException(v protocol.ResponseMetadata) error {
 21052  	return &InvalidConfigurationRecorderNameException{
 21053  		RespMetadata: v,
 21054  	}
 21055  }
 21056  
 21057  // Code returns the exception type name.
 21058  func (s *InvalidConfigurationRecorderNameException) Code() string {
 21059  	return "InvalidConfigurationRecorderNameException"
 21060  }
 21061  
 21062  // Message returns the exception's message.
 21063  func (s *InvalidConfigurationRecorderNameException) Message() string {
 21064  	if s.Message_ != nil {
 21065  		return *s.Message_
 21066  	}
 21067  	return ""
 21068  }
 21069  
 21070  // OrigErr always returns nil, satisfies awserr.Error interface.
 21071  func (s *InvalidConfigurationRecorderNameException) OrigErr() error {
 21072  	return nil
 21073  }
 21074  
 21075  func (s *InvalidConfigurationRecorderNameException) Error() string {
 21076  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21077  }
 21078  
 21079  // Status code returns the HTTP status code for the request's response error.
 21080  func (s *InvalidConfigurationRecorderNameException) StatusCode() int {
 21081  	return s.RespMetadata.StatusCode
 21082  }
 21083  
 21084  // RequestID returns the service's response RequestID for request.
 21085  func (s *InvalidConfigurationRecorderNameException) RequestID() string {
 21086  	return s.RespMetadata.RequestID
 21087  }
 21088  
 21089  // The specified delivery channel name is not valid.
 21090  type InvalidDeliveryChannelNameException struct {
 21091  	_            struct{}                  `type:"structure"`
 21092  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21093  
 21094  	Message_ *string `locationName:"message" type:"string"`
 21095  }
 21096  
 21097  // String returns the string representation.
 21098  //
 21099  // API parameter values that are decorated as "sensitive" in the API will not
 21100  // be included in the string output. The member name will be present, but the
 21101  // value will be replaced with "sensitive".
 21102  func (s InvalidDeliveryChannelNameException) String() string {
 21103  	return awsutil.Prettify(s)
 21104  }
 21105  
 21106  // GoString returns the string representation.
 21107  //
 21108  // API parameter values that are decorated as "sensitive" in the API will not
 21109  // be included in the string output. The member name will be present, but the
 21110  // value will be replaced with "sensitive".
 21111  func (s InvalidDeliveryChannelNameException) GoString() string {
 21112  	return s.String()
 21113  }
 21114  
 21115  func newErrorInvalidDeliveryChannelNameException(v protocol.ResponseMetadata) error {
 21116  	return &InvalidDeliveryChannelNameException{
 21117  		RespMetadata: v,
 21118  	}
 21119  }
 21120  
 21121  // Code returns the exception type name.
 21122  func (s *InvalidDeliveryChannelNameException) Code() string {
 21123  	return "InvalidDeliveryChannelNameException"
 21124  }
 21125  
 21126  // Message returns the exception's message.
 21127  func (s *InvalidDeliveryChannelNameException) Message() string {
 21128  	if s.Message_ != nil {
 21129  		return *s.Message_
 21130  	}
 21131  	return ""
 21132  }
 21133  
 21134  // OrigErr always returns nil, satisfies awserr.Error interface.
 21135  func (s *InvalidDeliveryChannelNameException) OrigErr() error {
 21136  	return nil
 21137  }
 21138  
 21139  func (s *InvalidDeliveryChannelNameException) Error() string {
 21140  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21141  }
 21142  
 21143  // Status code returns the HTTP status code for the request's response error.
 21144  func (s *InvalidDeliveryChannelNameException) StatusCode() int {
 21145  	return s.RespMetadata.StatusCode
 21146  }
 21147  
 21148  // RequestID returns the service's response RequestID for request.
 21149  func (s *InvalidDeliveryChannelNameException) RequestID() string {
 21150  	return s.RespMetadata.RequestID
 21151  }
 21152  
 21153  // The syntax of the query is incorrect.
 21154  type InvalidExpressionException struct {
 21155  	_            struct{}                  `type:"structure"`
 21156  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21157  
 21158  	Message_ *string `locationName:"message" type:"string"`
 21159  }
 21160  
 21161  // String returns the string representation.
 21162  //
 21163  // API parameter values that are decorated as "sensitive" in the API will not
 21164  // be included in the string output. The member name will be present, but the
 21165  // value will be replaced with "sensitive".
 21166  func (s InvalidExpressionException) String() string {
 21167  	return awsutil.Prettify(s)
 21168  }
 21169  
 21170  // GoString returns the string representation.
 21171  //
 21172  // API parameter values that are decorated as "sensitive" in the API will not
 21173  // be included in the string output. The member name will be present, but the
 21174  // value will be replaced with "sensitive".
 21175  func (s InvalidExpressionException) GoString() string {
 21176  	return s.String()
 21177  }
 21178  
 21179  func newErrorInvalidExpressionException(v protocol.ResponseMetadata) error {
 21180  	return &InvalidExpressionException{
 21181  		RespMetadata: v,
 21182  	}
 21183  }
 21184  
 21185  // Code returns the exception type name.
 21186  func (s *InvalidExpressionException) Code() string {
 21187  	return "InvalidExpressionException"
 21188  }
 21189  
 21190  // Message returns the exception's message.
 21191  func (s *InvalidExpressionException) Message() string {
 21192  	if s.Message_ != nil {
 21193  		return *s.Message_
 21194  	}
 21195  	return ""
 21196  }
 21197  
 21198  // OrigErr always returns nil, satisfies awserr.Error interface.
 21199  func (s *InvalidExpressionException) OrigErr() error {
 21200  	return nil
 21201  }
 21202  
 21203  func (s *InvalidExpressionException) Error() string {
 21204  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21205  }
 21206  
 21207  // Status code returns the HTTP status code for the request's response error.
 21208  func (s *InvalidExpressionException) StatusCode() int {
 21209  	return s.RespMetadata.StatusCode
 21210  }
 21211  
 21212  // RequestID returns the service's response RequestID for request.
 21213  func (s *InvalidExpressionException) RequestID() string {
 21214  	return s.RespMetadata.RequestID
 21215  }
 21216  
 21217  // The specified limit is outside the allowable range.
 21218  type InvalidLimitException struct {
 21219  	_            struct{}                  `type:"structure"`
 21220  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21221  
 21222  	Message_ *string `locationName:"message" type:"string"`
 21223  }
 21224  
 21225  // String returns the string representation.
 21226  //
 21227  // API parameter values that are decorated as "sensitive" in the API will not
 21228  // be included in the string output. The member name will be present, but the
 21229  // value will be replaced with "sensitive".
 21230  func (s InvalidLimitException) String() string {
 21231  	return awsutil.Prettify(s)
 21232  }
 21233  
 21234  // GoString returns the string representation.
 21235  //
 21236  // API parameter values that are decorated as "sensitive" in the API will not
 21237  // be included in the string output. The member name will be present, but the
 21238  // value will be replaced with "sensitive".
 21239  func (s InvalidLimitException) GoString() string {
 21240  	return s.String()
 21241  }
 21242  
 21243  func newErrorInvalidLimitException(v protocol.ResponseMetadata) error {
 21244  	return &InvalidLimitException{
 21245  		RespMetadata: v,
 21246  	}
 21247  }
 21248  
 21249  // Code returns the exception type name.
 21250  func (s *InvalidLimitException) Code() string {
 21251  	return "InvalidLimitException"
 21252  }
 21253  
 21254  // Message returns the exception's message.
 21255  func (s *InvalidLimitException) Message() string {
 21256  	if s.Message_ != nil {
 21257  		return *s.Message_
 21258  	}
 21259  	return ""
 21260  }
 21261  
 21262  // OrigErr always returns nil, satisfies awserr.Error interface.
 21263  func (s *InvalidLimitException) OrigErr() error {
 21264  	return nil
 21265  }
 21266  
 21267  func (s *InvalidLimitException) Error() string {
 21268  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21269  }
 21270  
 21271  // Status code returns the HTTP status code for the request's response error.
 21272  func (s *InvalidLimitException) StatusCode() int {
 21273  	return s.RespMetadata.StatusCode
 21274  }
 21275  
 21276  // RequestID returns the service's response RequestID for request.
 21277  func (s *InvalidLimitException) RequestID() string {
 21278  	return s.RespMetadata.RequestID
 21279  }
 21280  
 21281  // The specified next token is invalid. Specify the nextToken string that was
 21282  // returned in the previous response to get the next page of results.
 21283  type InvalidNextTokenException struct {
 21284  	_            struct{}                  `type:"structure"`
 21285  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21286  
 21287  	Message_ *string `locationName:"message" type:"string"`
 21288  }
 21289  
 21290  // String returns the string representation.
 21291  //
 21292  // API parameter values that are decorated as "sensitive" in the API will not
 21293  // be included in the string output. The member name will be present, but the
 21294  // value will be replaced with "sensitive".
 21295  func (s InvalidNextTokenException) String() string {
 21296  	return awsutil.Prettify(s)
 21297  }
 21298  
 21299  // GoString returns the string representation.
 21300  //
 21301  // API parameter values that are decorated as "sensitive" in the API will not
 21302  // be included in the string output. The member name will be present, but the
 21303  // value will be replaced with "sensitive".
 21304  func (s InvalidNextTokenException) GoString() string {
 21305  	return s.String()
 21306  }
 21307  
 21308  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
 21309  	return &InvalidNextTokenException{
 21310  		RespMetadata: v,
 21311  	}
 21312  }
 21313  
 21314  // Code returns the exception type name.
 21315  func (s *InvalidNextTokenException) Code() string {
 21316  	return "InvalidNextTokenException"
 21317  }
 21318  
 21319  // Message returns the exception's message.
 21320  func (s *InvalidNextTokenException) Message() string {
 21321  	if s.Message_ != nil {
 21322  		return *s.Message_
 21323  	}
 21324  	return ""
 21325  }
 21326  
 21327  // OrigErr always returns nil, satisfies awserr.Error interface.
 21328  func (s *InvalidNextTokenException) OrigErr() error {
 21329  	return nil
 21330  }
 21331  
 21332  func (s *InvalidNextTokenException) Error() string {
 21333  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21334  }
 21335  
 21336  // Status code returns the HTTP status code for the request's response error.
 21337  func (s *InvalidNextTokenException) StatusCode() int {
 21338  	return s.RespMetadata.StatusCode
 21339  }
 21340  
 21341  // RequestID returns the service's response RequestID for request.
 21342  func (s *InvalidNextTokenException) RequestID() string {
 21343  	return s.RespMetadata.RequestID
 21344  }
 21345  
 21346  // One or more of the specified parameters are invalid. Verify that your parameters
 21347  // are valid and try again.
 21348  type InvalidParameterValueException struct {
 21349  	_            struct{}                  `type:"structure"`
 21350  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21351  
 21352  	Message_ *string `locationName:"message" type:"string"`
 21353  }
 21354  
 21355  // String returns the string representation.
 21356  //
 21357  // API parameter values that are decorated as "sensitive" in the API will not
 21358  // be included in the string output. The member name will be present, but the
 21359  // value will be replaced with "sensitive".
 21360  func (s InvalidParameterValueException) String() string {
 21361  	return awsutil.Prettify(s)
 21362  }
 21363  
 21364  // GoString returns the string representation.
 21365  //
 21366  // API parameter values that are decorated as "sensitive" in the API will not
 21367  // be included in the string output. The member name will be present, but the
 21368  // value will be replaced with "sensitive".
 21369  func (s InvalidParameterValueException) GoString() string {
 21370  	return s.String()
 21371  }
 21372  
 21373  func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
 21374  	return &InvalidParameterValueException{
 21375  		RespMetadata: v,
 21376  	}
 21377  }
 21378  
 21379  // Code returns the exception type name.
 21380  func (s *InvalidParameterValueException) Code() string {
 21381  	return "InvalidParameterValueException"
 21382  }
 21383  
 21384  // Message returns the exception's message.
 21385  func (s *InvalidParameterValueException) Message() string {
 21386  	if s.Message_ != nil {
 21387  		return *s.Message_
 21388  	}
 21389  	return ""
 21390  }
 21391  
 21392  // OrigErr always returns nil, satisfies awserr.Error interface.
 21393  func (s *InvalidParameterValueException) OrigErr() error {
 21394  	return nil
 21395  }
 21396  
 21397  func (s *InvalidParameterValueException) Error() string {
 21398  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21399  }
 21400  
 21401  // Status code returns the HTTP status code for the request's response error.
 21402  func (s *InvalidParameterValueException) StatusCode() int {
 21403  	return s.RespMetadata.StatusCode
 21404  }
 21405  
 21406  // RequestID returns the service's response RequestID for request.
 21407  func (s *InvalidParameterValueException) RequestID() string {
 21408  	return s.RespMetadata.RequestID
 21409  }
 21410  
 21411  // Config throws an exception if the recording group does not contain a valid
 21412  // list of resource types. Invalid values might also be incorrectly formatted.
 21413  type InvalidRecordingGroupException struct {
 21414  	_            struct{}                  `type:"structure"`
 21415  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21416  
 21417  	Message_ *string `locationName:"message" type:"string"`
 21418  }
 21419  
 21420  // String returns the string representation.
 21421  //
 21422  // API parameter values that are decorated as "sensitive" in the API will not
 21423  // be included in the string output. The member name will be present, but the
 21424  // value will be replaced with "sensitive".
 21425  func (s InvalidRecordingGroupException) String() string {
 21426  	return awsutil.Prettify(s)
 21427  }
 21428  
 21429  // GoString returns the string representation.
 21430  //
 21431  // API parameter values that are decorated as "sensitive" in the API will not
 21432  // be included in the string output. The member name will be present, but the
 21433  // value will be replaced with "sensitive".
 21434  func (s InvalidRecordingGroupException) GoString() string {
 21435  	return s.String()
 21436  }
 21437  
 21438  func newErrorInvalidRecordingGroupException(v protocol.ResponseMetadata) error {
 21439  	return &InvalidRecordingGroupException{
 21440  		RespMetadata: v,
 21441  	}
 21442  }
 21443  
 21444  // Code returns the exception type name.
 21445  func (s *InvalidRecordingGroupException) Code() string {
 21446  	return "InvalidRecordingGroupException"
 21447  }
 21448  
 21449  // Message returns the exception's message.
 21450  func (s *InvalidRecordingGroupException) Message() string {
 21451  	if s.Message_ != nil {
 21452  		return *s.Message_
 21453  	}
 21454  	return ""
 21455  }
 21456  
 21457  // OrigErr always returns nil, satisfies awserr.Error interface.
 21458  func (s *InvalidRecordingGroupException) OrigErr() error {
 21459  	return nil
 21460  }
 21461  
 21462  func (s *InvalidRecordingGroupException) Error() string {
 21463  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21464  }
 21465  
 21466  // Status code returns the HTTP status code for the request's response error.
 21467  func (s *InvalidRecordingGroupException) StatusCode() int {
 21468  	return s.RespMetadata.StatusCode
 21469  }
 21470  
 21471  // RequestID returns the service's response RequestID for request.
 21472  func (s *InvalidRecordingGroupException) RequestID() string {
 21473  	return s.RespMetadata.RequestID
 21474  }
 21475  
 21476  // The specified ResultToken is invalid.
 21477  type InvalidResultTokenException struct {
 21478  	_            struct{}                  `type:"structure"`
 21479  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21480  
 21481  	Message_ *string `locationName:"message" type:"string"`
 21482  }
 21483  
 21484  // String returns the string representation.
 21485  //
 21486  // API parameter values that are decorated as "sensitive" in the API will not
 21487  // be included in the string output. The member name will be present, but the
 21488  // value will be replaced with "sensitive".
 21489  func (s InvalidResultTokenException) String() string {
 21490  	return awsutil.Prettify(s)
 21491  }
 21492  
 21493  // GoString returns the string representation.
 21494  //
 21495  // API parameter values that are decorated as "sensitive" in the API will not
 21496  // be included in the string output. The member name will be present, but the
 21497  // value will be replaced with "sensitive".
 21498  func (s InvalidResultTokenException) GoString() string {
 21499  	return s.String()
 21500  }
 21501  
 21502  func newErrorInvalidResultTokenException(v protocol.ResponseMetadata) error {
 21503  	return &InvalidResultTokenException{
 21504  		RespMetadata: v,
 21505  	}
 21506  }
 21507  
 21508  // Code returns the exception type name.
 21509  func (s *InvalidResultTokenException) Code() string {
 21510  	return "InvalidResultTokenException"
 21511  }
 21512  
 21513  // Message returns the exception's message.
 21514  func (s *InvalidResultTokenException) Message() string {
 21515  	if s.Message_ != nil {
 21516  		return *s.Message_
 21517  	}
 21518  	return ""
 21519  }
 21520  
 21521  // OrigErr always returns nil, satisfies awserr.Error interface.
 21522  func (s *InvalidResultTokenException) OrigErr() error {
 21523  	return nil
 21524  }
 21525  
 21526  func (s *InvalidResultTokenException) Error() string {
 21527  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21528  }
 21529  
 21530  // Status code returns the HTTP status code for the request's response error.
 21531  func (s *InvalidResultTokenException) StatusCode() int {
 21532  	return s.RespMetadata.StatusCode
 21533  }
 21534  
 21535  // RequestID returns the service's response RequestID for request.
 21536  func (s *InvalidResultTokenException) RequestID() string {
 21537  	return s.RespMetadata.RequestID
 21538  }
 21539  
 21540  // You have provided a null or empty role ARN.
 21541  type InvalidRoleException struct {
 21542  	_            struct{}                  `type:"structure"`
 21543  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21544  
 21545  	Message_ *string `locationName:"message" type:"string"`
 21546  }
 21547  
 21548  // String returns the string representation.
 21549  //
 21550  // API parameter values that are decorated as "sensitive" in the API will not
 21551  // be included in the string output. The member name will be present, but the
 21552  // value will be replaced with "sensitive".
 21553  func (s InvalidRoleException) String() string {
 21554  	return awsutil.Prettify(s)
 21555  }
 21556  
 21557  // GoString returns the string representation.
 21558  //
 21559  // API parameter values that are decorated as "sensitive" in the API will not
 21560  // be included in the string output. The member name will be present, but the
 21561  // value will be replaced with "sensitive".
 21562  func (s InvalidRoleException) GoString() string {
 21563  	return s.String()
 21564  }
 21565  
 21566  func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
 21567  	return &InvalidRoleException{
 21568  		RespMetadata: v,
 21569  	}
 21570  }
 21571  
 21572  // Code returns the exception type name.
 21573  func (s *InvalidRoleException) Code() string {
 21574  	return "InvalidRoleException"
 21575  }
 21576  
 21577  // Message returns the exception's message.
 21578  func (s *InvalidRoleException) Message() string {
 21579  	if s.Message_ != nil {
 21580  		return *s.Message_
 21581  	}
 21582  	return ""
 21583  }
 21584  
 21585  // OrigErr always returns nil, satisfies awserr.Error interface.
 21586  func (s *InvalidRoleException) OrigErr() error {
 21587  	return nil
 21588  }
 21589  
 21590  func (s *InvalidRoleException) Error() string {
 21591  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21592  }
 21593  
 21594  // Status code returns the HTTP status code for the request's response error.
 21595  func (s *InvalidRoleException) StatusCode() int {
 21596  	return s.RespMetadata.StatusCode
 21597  }
 21598  
 21599  // RequestID returns the service's response RequestID for request.
 21600  func (s *InvalidRoleException) RequestID() string {
 21601  	return s.RespMetadata.RequestID
 21602  }
 21603  
 21604  // The specified Amazon S3 key prefix is not valid.
 21605  type InvalidS3KeyPrefixException struct {
 21606  	_            struct{}                  `type:"structure"`
 21607  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21608  
 21609  	Message_ *string `locationName:"message" type:"string"`
 21610  }
 21611  
 21612  // String returns the string representation.
 21613  //
 21614  // API parameter values that are decorated as "sensitive" in the API will not
 21615  // be included in the string output. The member name will be present, but the
 21616  // value will be replaced with "sensitive".
 21617  func (s InvalidS3KeyPrefixException) String() string {
 21618  	return awsutil.Prettify(s)
 21619  }
 21620  
 21621  // GoString returns the string representation.
 21622  //
 21623  // API parameter values that are decorated as "sensitive" in the API will not
 21624  // be included in the string output. The member name will be present, but the
 21625  // value will be replaced with "sensitive".
 21626  func (s InvalidS3KeyPrefixException) GoString() string {
 21627  	return s.String()
 21628  }
 21629  
 21630  func newErrorInvalidS3KeyPrefixException(v protocol.ResponseMetadata) error {
 21631  	return &InvalidS3KeyPrefixException{
 21632  		RespMetadata: v,
 21633  	}
 21634  }
 21635  
 21636  // Code returns the exception type name.
 21637  func (s *InvalidS3KeyPrefixException) Code() string {
 21638  	return "InvalidS3KeyPrefixException"
 21639  }
 21640  
 21641  // Message returns the exception's message.
 21642  func (s *InvalidS3KeyPrefixException) Message() string {
 21643  	if s.Message_ != nil {
 21644  		return *s.Message_
 21645  	}
 21646  	return ""
 21647  }
 21648  
 21649  // OrigErr always returns nil, satisfies awserr.Error interface.
 21650  func (s *InvalidS3KeyPrefixException) OrigErr() error {
 21651  	return nil
 21652  }
 21653  
 21654  func (s *InvalidS3KeyPrefixException) Error() string {
 21655  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21656  }
 21657  
 21658  // Status code returns the HTTP status code for the request's response error.
 21659  func (s *InvalidS3KeyPrefixException) StatusCode() int {
 21660  	return s.RespMetadata.StatusCode
 21661  }
 21662  
 21663  // RequestID returns the service's response RequestID for request.
 21664  func (s *InvalidS3KeyPrefixException) RequestID() string {
 21665  	return s.RespMetadata.RequestID
 21666  }
 21667  
 21668  // The specified Amazon KMS Key ARN is not valid.
 21669  type InvalidS3KmsKeyArnException struct {
 21670  	_            struct{}                  `type:"structure"`
 21671  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21672  
 21673  	Message_ *string `locationName:"message" type:"string"`
 21674  }
 21675  
 21676  // String returns the string representation.
 21677  //
 21678  // API parameter values that are decorated as "sensitive" in the API will not
 21679  // be included in the string output. The member name will be present, but the
 21680  // value will be replaced with "sensitive".
 21681  func (s InvalidS3KmsKeyArnException) String() string {
 21682  	return awsutil.Prettify(s)
 21683  }
 21684  
 21685  // GoString returns the string representation.
 21686  //
 21687  // API parameter values that are decorated as "sensitive" in the API will not
 21688  // be included in the string output. The member name will be present, but the
 21689  // value will be replaced with "sensitive".
 21690  func (s InvalidS3KmsKeyArnException) GoString() string {
 21691  	return s.String()
 21692  }
 21693  
 21694  func newErrorInvalidS3KmsKeyArnException(v protocol.ResponseMetadata) error {
 21695  	return &InvalidS3KmsKeyArnException{
 21696  		RespMetadata: v,
 21697  	}
 21698  }
 21699  
 21700  // Code returns the exception type name.
 21701  func (s *InvalidS3KmsKeyArnException) Code() string {
 21702  	return "InvalidS3KmsKeyArnException"
 21703  }
 21704  
 21705  // Message returns the exception's message.
 21706  func (s *InvalidS3KmsKeyArnException) Message() string {
 21707  	if s.Message_ != nil {
 21708  		return *s.Message_
 21709  	}
 21710  	return ""
 21711  }
 21712  
 21713  // OrigErr always returns nil, satisfies awserr.Error interface.
 21714  func (s *InvalidS3KmsKeyArnException) OrigErr() error {
 21715  	return nil
 21716  }
 21717  
 21718  func (s *InvalidS3KmsKeyArnException) Error() string {
 21719  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21720  }
 21721  
 21722  // Status code returns the HTTP status code for the request's response error.
 21723  func (s *InvalidS3KmsKeyArnException) StatusCode() int {
 21724  	return s.RespMetadata.StatusCode
 21725  }
 21726  
 21727  // RequestID returns the service's response RequestID for request.
 21728  func (s *InvalidS3KmsKeyArnException) RequestID() string {
 21729  	return s.RespMetadata.RequestID
 21730  }
 21731  
 21732  // The specified Amazon SNS topic does not exist.
 21733  type InvalidSNSTopicARNException struct {
 21734  	_            struct{}                  `type:"structure"`
 21735  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21736  
 21737  	Message_ *string `locationName:"message" type:"string"`
 21738  }
 21739  
 21740  // String returns the string representation.
 21741  //
 21742  // API parameter values that are decorated as "sensitive" in the API will not
 21743  // be included in the string output. The member name will be present, but the
 21744  // value will be replaced with "sensitive".
 21745  func (s InvalidSNSTopicARNException) String() string {
 21746  	return awsutil.Prettify(s)
 21747  }
 21748  
 21749  // GoString returns the string representation.
 21750  //
 21751  // API parameter values that are decorated as "sensitive" in the API will not
 21752  // be included in the string output. The member name will be present, but the
 21753  // value will be replaced with "sensitive".
 21754  func (s InvalidSNSTopicARNException) GoString() string {
 21755  	return s.String()
 21756  }
 21757  
 21758  func newErrorInvalidSNSTopicARNException(v protocol.ResponseMetadata) error {
 21759  	return &InvalidSNSTopicARNException{
 21760  		RespMetadata: v,
 21761  	}
 21762  }
 21763  
 21764  // Code returns the exception type name.
 21765  func (s *InvalidSNSTopicARNException) Code() string {
 21766  	return "InvalidSNSTopicARNException"
 21767  }
 21768  
 21769  // Message returns the exception's message.
 21770  func (s *InvalidSNSTopicARNException) Message() string {
 21771  	if s.Message_ != nil {
 21772  		return *s.Message_
 21773  	}
 21774  	return ""
 21775  }
 21776  
 21777  // OrigErr always returns nil, satisfies awserr.Error interface.
 21778  func (s *InvalidSNSTopicARNException) OrigErr() error {
 21779  	return nil
 21780  }
 21781  
 21782  func (s *InvalidSNSTopicARNException) Error() string {
 21783  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21784  }
 21785  
 21786  // Status code returns the HTTP status code for the request's response error.
 21787  func (s *InvalidSNSTopicARNException) StatusCode() int {
 21788  	return s.RespMetadata.StatusCode
 21789  }
 21790  
 21791  // RequestID returns the service's response RequestID for request.
 21792  func (s *InvalidSNSTopicARNException) RequestID() string {
 21793  	return s.RespMetadata.RequestID
 21794  }
 21795  
 21796  // The specified time range is not valid. The earlier time is not chronologically
 21797  // before the later time.
 21798  type InvalidTimeRangeException struct {
 21799  	_            struct{}                  `type:"structure"`
 21800  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21801  
 21802  	Message_ *string `locationName:"message" type:"string"`
 21803  }
 21804  
 21805  // String returns the string representation.
 21806  //
 21807  // API parameter values that are decorated as "sensitive" in the API will not
 21808  // be included in the string output. The member name will be present, but the
 21809  // value will be replaced with "sensitive".
 21810  func (s InvalidTimeRangeException) String() string {
 21811  	return awsutil.Prettify(s)
 21812  }
 21813  
 21814  // GoString returns the string representation.
 21815  //
 21816  // API parameter values that are decorated as "sensitive" in the API will not
 21817  // be included in the string output. The member name will be present, but the
 21818  // value will be replaced with "sensitive".
 21819  func (s InvalidTimeRangeException) GoString() string {
 21820  	return s.String()
 21821  }
 21822  
 21823  func newErrorInvalidTimeRangeException(v protocol.ResponseMetadata) error {
 21824  	return &InvalidTimeRangeException{
 21825  		RespMetadata: v,
 21826  	}
 21827  }
 21828  
 21829  // Code returns the exception type name.
 21830  func (s *InvalidTimeRangeException) Code() string {
 21831  	return "InvalidTimeRangeException"
 21832  }
 21833  
 21834  // Message returns the exception's message.
 21835  func (s *InvalidTimeRangeException) Message() string {
 21836  	if s.Message_ != nil {
 21837  		return *s.Message_
 21838  	}
 21839  	return ""
 21840  }
 21841  
 21842  // OrigErr always returns nil, satisfies awserr.Error interface.
 21843  func (s *InvalidTimeRangeException) OrigErr() error {
 21844  	return nil
 21845  }
 21846  
 21847  func (s *InvalidTimeRangeException) Error() string {
 21848  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21849  }
 21850  
 21851  // Status code returns the HTTP status code for the request's response error.
 21852  func (s *InvalidTimeRangeException) StatusCode() int {
 21853  	return s.RespMetadata.StatusCode
 21854  }
 21855  
 21856  // RequestID returns the service's response RequestID for request.
 21857  func (s *InvalidTimeRangeException) RequestID() string {
 21858  	return s.RespMetadata.RequestID
 21859  }
 21860  
 21861  // You cannot delete the delivery channel you specified because the configuration
 21862  // recorder is running.
 21863  type LastDeliveryChannelDeleteFailedException struct {
 21864  	_            struct{}                  `type:"structure"`
 21865  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21866  
 21867  	Message_ *string `locationName:"message" type:"string"`
 21868  }
 21869  
 21870  // String returns the string representation.
 21871  //
 21872  // API parameter values that are decorated as "sensitive" in the API will not
 21873  // be included in the string output. The member name will be present, but the
 21874  // value will be replaced with "sensitive".
 21875  func (s LastDeliveryChannelDeleteFailedException) String() string {
 21876  	return awsutil.Prettify(s)
 21877  }
 21878  
 21879  // GoString returns the string representation.
 21880  //
 21881  // API parameter values that are decorated as "sensitive" in the API will not
 21882  // be included in the string output. The member name will be present, but the
 21883  // value will be replaced with "sensitive".
 21884  func (s LastDeliveryChannelDeleteFailedException) GoString() string {
 21885  	return s.String()
 21886  }
 21887  
 21888  func newErrorLastDeliveryChannelDeleteFailedException(v protocol.ResponseMetadata) error {
 21889  	return &LastDeliveryChannelDeleteFailedException{
 21890  		RespMetadata: v,
 21891  	}
 21892  }
 21893  
 21894  // Code returns the exception type name.
 21895  func (s *LastDeliveryChannelDeleteFailedException) Code() string {
 21896  	return "LastDeliveryChannelDeleteFailedException"
 21897  }
 21898  
 21899  // Message returns the exception's message.
 21900  func (s *LastDeliveryChannelDeleteFailedException) Message() string {
 21901  	if s.Message_ != nil {
 21902  		return *s.Message_
 21903  	}
 21904  	return ""
 21905  }
 21906  
 21907  // OrigErr always returns nil, satisfies awserr.Error interface.
 21908  func (s *LastDeliveryChannelDeleteFailedException) OrigErr() error {
 21909  	return nil
 21910  }
 21911  
 21912  func (s *LastDeliveryChannelDeleteFailedException) Error() string {
 21913  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21914  }
 21915  
 21916  // Status code returns the HTTP status code for the request's response error.
 21917  func (s *LastDeliveryChannelDeleteFailedException) StatusCode() int {
 21918  	return s.RespMetadata.StatusCode
 21919  }
 21920  
 21921  // RequestID returns the service's response RequestID for request.
 21922  func (s *LastDeliveryChannelDeleteFailedException) RequestID() string {
 21923  	return s.RespMetadata.RequestID
 21924  }
 21925  
 21926  // For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
 21927  // is in progress or if you call the StartConfigRulesEvaluation API more than
 21928  // once per minute.
 21929  //
 21930  // For PutConfigurationAggregator API, this exception is thrown if the number
 21931  // of accounts and aggregators exceeds the limit.
 21932  type LimitExceededException struct {
 21933  	_            struct{}                  `type:"structure"`
 21934  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 21935  
 21936  	Message_ *string `locationName:"message" type:"string"`
 21937  }
 21938  
 21939  // String returns the string representation.
 21940  //
 21941  // API parameter values that are decorated as "sensitive" in the API will not
 21942  // be included in the string output. The member name will be present, but the
 21943  // value will be replaced with "sensitive".
 21944  func (s LimitExceededException) String() string {
 21945  	return awsutil.Prettify(s)
 21946  }
 21947  
 21948  // GoString returns the string representation.
 21949  //
 21950  // API parameter values that are decorated as "sensitive" in the API will not
 21951  // be included in the string output. The member name will be present, but the
 21952  // value will be replaced with "sensitive".
 21953  func (s LimitExceededException) GoString() string {
 21954  	return s.String()
 21955  }
 21956  
 21957  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 21958  	return &LimitExceededException{
 21959  		RespMetadata: v,
 21960  	}
 21961  }
 21962  
 21963  // Code returns the exception type name.
 21964  func (s *LimitExceededException) Code() string {
 21965  	return "LimitExceededException"
 21966  }
 21967  
 21968  // Message returns the exception's message.
 21969  func (s *LimitExceededException) Message() string {
 21970  	if s.Message_ != nil {
 21971  		return *s.Message_
 21972  	}
 21973  	return ""
 21974  }
 21975  
 21976  // OrigErr always returns nil, satisfies awserr.Error interface.
 21977  func (s *LimitExceededException) OrigErr() error {
 21978  	return nil
 21979  }
 21980  
 21981  func (s *LimitExceededException) Error() string {
 21982  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 21983  }
 21984  
 21985  // Status code returns the HTTP status code for the request's response error.
 21986  func (s *LimitExceededException) StatusCode() int {
 21987  	return s.RespMetadata.StatusCode
 21988  }
 21989  
 21990  // RequestID returns the service's response RequestID for request.
 21991  func (s *LimitExceededException) RequestID() string {
 21992  	return s.RespMetadata.RequestID
 21993  }
 21994  
 21995  type ListAggregateDiscoveredResourcesInput struct {
 21996  	_ struct{} `type:"structure"`
 21997  
 21998  	// The name of the configuration aggregator.
 21999  	//
 22000  	// ConfigurationAggregatorName is a required field
 22001  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 22002  
 22003  	// Filters the results based on the ResourceFilters object.
 22004  	Filters *ResourceFilters `type:"structure"`
 22005  
 22006  	// The maximum number of resource identifiers returned on each page. You cannot
 22007  	// specify a number greater than 100. If you specify 0, Config uses the default.
 22008  	Limit *int64 `type:"integer"`
 22009  
 22010  	// The nextToken string returned on a previous page that you use to get the
 22011  	// next page of results in a paginated response.
 22012  	NextToken *string `type:"string"`
 22013  
 22014  	// The type of resources that you want Config to list in the response.
 22015  	//
 22016  	// ResourceType is a required field
 22017  	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
 22018  }
 22019  
 22020  // String returns the string representation.
 22021  //
 22022  // API parameter values that are decorated as "sensitive" in the API will not
 22023  // be included in the string output. The member name will be present, but the
 22024  // value will be replaced with "sensitive".
 22025  func (s ListAggregateDiscoveredResourcesInput) String() string {
 22026  	return awsutil.Prettify(s)
 22027  }
 22028  
 22029  // GoString returns the string representation.
 22030  //
 22031  // API parameter values that are decorated as "sensitive" in the API will not
 22032  // be included in the string output. The member name will be present, but the
 22033  // value will be replaced with "sensitive".
 22034  func (s ListAggregateDiscoveredResourcesInput) GoString() string {
 22035  	return s.String()
 22036  }
 22037  
 22038  // Validate inspects the fields of the type to determine if they are valid.
 22039  func (s *ListAggregateDiscoveredResourcesInput) Validate() error {
 22040  	invalidParams := request.ErrInvalidParams{Context: "ListAggregateDiscoveredResourcesInput"}
 22041  	if s.ConfigurationAggregatorName == nil {
 22042  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 22043  	}
 22044  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 22045  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 22046  	}
 22047  	if s.ResourceType == nil {
 22048  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 22049  	}
 22050  	if s.Filters != nil {
 22051  		if err := s.Filters.Validate(); err != nil {
 22052  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 22053  		}
 22054  	}
 22055  
 22056  	if invalidParams.Len() > 0 {
 22057  		return invalidParams
 22058  	}
 22059  	return nil
 22060  }
 22061  
 22062  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 22063  func (s *ListAggregateDiscoveredResourcesInput) SetConfigurationAggregatorName(v string) *ListAggregateDiscoveredResourcesInput {
 22064  	s.ConfigurationAggregatorName = &v
 22065  	return s
 22066  }
 22067  
 22068  // SetFilters sets the Filters field's value.
 22069  func (s *ListAggregateDiscoveredResourcesInput) SetFilters(v *ResourceFilters) *ListAggregateDiscoveredResourcesInput {
 22070  	s.Filters = v
 22071  	return s
 22072  }
 22073  
 22074  // SetLimit sets the Limit field's value.
 22075  func (s *ListAggregateDiscoveredResourcesInput) SetLimit(v int64) *ListAggregateDiscoveredResourcesInput {
 22076  	s.Limit = &v
 22077  	return s
 22078  }
 22079  
 22080  // SetNextToken sets the NextToken field's value.
 22081  func (s *ListAggregateDiscoveredResourcesInput) SetNextToken(v string) *ListAggregateDiscoveredResourcesInput {
 22082  	s.NextToken = &v
 22083  	return s
 22084  }
 22085  
 22086  // SetResourceType sets the ResourceType field's value.
 22087  func (s *ListAggregateDiscoveredResourcesInput) SetResourceType(v string) *ListAggregateDiscoveredResourcesInput {
 22088  	s.ResourceType = &v
 22089  	return s
 22090  }
 22091  
 22092  type ListAggregateDiscoveredResourcesOutput struct {
 22093  	_ struct{} `type:"structure"`
 22094  
 22095  	// The nextToken string returned on a previous page that you use to get the
 22096  	// next page of results in a paginated response.
 22097  	NextToken *string `type:"string"`
 22098  
 22099  	// Returns a list of ResourceIdentifiers objects.
 22100  	ResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
 22101  }
 22102  
 22103  // String returns the string representation.
 22104  //
 22105  // API parameter values that are decorated as "sensitive" in the API will not
 22106  // be included in the string output. The member name will be present, but the
 22107  // value will be replaced with "sensitive".
 22108  func (s ListAggregateDiscoveredResourcesOutput) String() string {
 22109  	return awsutil.Prettify(s)
 22110  }
 22111  
 22112  // GoString returns the string representation.
 22113  //
 22114  // API parameter values that are decorated as "sensitive" in the API will not
 22115  // be included in the string output. The member name will be present, but the
 22116  // value will be replaced with "sensitive".
 22117  func (s ListAggregateDiscoveredResourcesOutput) GoString() string {
 22118  	return s.String()
 22119  }
 22120  
 22121  // SetNextToken sets the NextToken field's value.
 22122  func (s *ListAggregateDiscoveredResourcesOutput) SetNextToken(v string) *ListAggregateDiscoveredResourcesOutput {
 22123  	s.NextToken = &v
 22124  	return s
 22125  }
 22126  
 22127  // SetResourceIdentifiers sets the ResourceIdentifiers field's value.
 22128  func (s *ListAggregateDiscoveredResourcesOutput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *ListAggregateDiscoveredResourcesOutput {
 22129  	s.ResourceIdentifiers = v
 22130  	return s
 22131  }
 22132  
 22133  type ListDiscoveredResourcesInput struct {
 22134  	_ struct{} `type:"structure"`
 22135  
 22136  	// Specifies whether Config includes deleted resources in the results. By default,
 22137  	// deleted resources are not included.
 22138  	IncludeDeletedResources *bool `locationName:"includeDeletedResources" type:"boolean"`
 22139  
 22140  	// The maximum number of resource identifiers returned on each page. The default
 22141  	// is 100. You cannot specify a number greater than 100. If you specify 0, Config
 22142  	// uses the default.
 22143  	Limit *int64 `locationName:"limit" type:"integer"`
 22144  
 22145  	// The nextToken string returned on a previous page that you use to get the
 22146  	// next page of results in a paginated response.
 22147  	NextToken *string `locationName:"nextToken" type:"string"`
 22148  
 22149  	// The IDs of only those resources that you want Config to list in the response.
 22150  	// If you do not specify this parameter, Config lists all resources of the specified
 22151  	// type that it has discovered.
 22152  	ResourceIds []*string `locationName:"resourceIds" type:"list"`
 22153  
 22154  	// The custom name of only those resources that you want Config to list in the
 22155  	// response. If you do not specify this parameter, Config lists all resources
 22156  	// of the specified type that it has discovered.
 22157  	ResourceName *string `locationName:"resourceName" type:"string"`
 22158  
 22159  	// The type of resources that you want Config to list in the response.
 22160  	//
 22161  	// ResourceType is a required field
 22162  	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
 22163  }
 22164  
 22165  // String returns the string representation.
 22166  //
 22167  // API parameter values that are decorated as "sensitive" in the API will not
 22168  // be included in the string output. The member name will be present, but the
 22169  // value will be replaced with "sensitive".
 22170  func (s ListDiscoveredResourcesInput) String() string {
 22171  	return awsutil.Prettify(s)
 22172  }
 22173  
 22174  // GoString returns the string representation.
 22175  //
 22176  // API parameter values that are decorated as "sensitive" in the API will not
 22177  // be included in the string output. The member name will be present, but the
 22178  // value will be replaced with "sensitive".
 22179  func (s ListDiscoveredResourcesInput) GoString() string {
 22180  	return s.String()
 22181  }
 22182  
 22183  // Validate inspects the fields of the type to determine if they are valid.
 22184  func (s *ListDiscoveredResourcesInput) Validate() error {
 22185  	invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
 22186  	if s.ResourceType == nil {
 22187  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 22188  	}
 22189  
 22190  	if invalidParams.Len() > 0 {
 22191  		return invalidParams
 22192  	}
 22193  	return nil
 22194  }
 22195  
 22196  // SetIncludeDeletedResources sets the IncludeDeletedResources field's value.
 22197  func (s *ListDiscoveredResourcesInput) SetIncludeDeletedResources(v bool) *ListDiscoveredResourcesInput {
 22198  	s.IncludeDeletedResources = &v
 22199  	return s
 22200  }
 22201  
 22202  // SetLimit sets the Limit field's value.
 22203  func (s *ListDiscoveredResourcesInput) SetLimit(v int64) *ListDiscoveredResourcesInput {
 22204  	s.Limit = &v
 22205  	return s
 22206  }
 22207  
 22208  // SetNextToken sets the NextToken field's value.
 22209  func (s *ListDiscoveredResourcesInput) SetNextToken(v string) *ListDiscoveredResourcesInput {
 22210  	s.NextToken = &v
 22211  	return s
 22212  }
 22213  
 22214  // SetResourceIds sets the ResourceIds field's value.
 22215  func (s *ListDiscoveredResourcesInput) SetResourceIds(v []*string) *ListDiscoveredResourcesInput {
 22216  	s.ResourceIds = v
 22217  	return s
 22218  }
 22219  
 22220  // SetResourceName sets the ResourceName field's value.
 22221  func (s *ListDiscoveredResourcesInput) SetResourceName(v string) *ListDiscoveredResourcesInput {
 22222  	s.ResourceName = &v
 22223  	return s
 22224  }
 22225  
 22226  // SetResourceType sets the ResourceType field's value.
 22227  func (s *ListDiscoveredResourcesInput) SetResourceType(v string) *ListDiscoveredResourcesInput {
 22228  	s.ResourceType = &v
 22229  	return s
 22230  }
 22231  
 22232  type ListDiscoveredResourcesOutput struct {
 22233  	_ struct{} `type:"structure"`
 22234  
 22235  	// The string that you use in a subsequent request to get the next page of results
 22236  	// in a paginated response.
 22237  	NextToken *string `locationName:"nextToken" type:"string"`
 22238  
 22239  	// The details that identify a resource that is discovered by Config, including
 22240  	// the resource type, ID, and (if available) the custom resource name.
 22241  	ResourceIdentifiers []*ResourceIdentifier `locationName:"resourceIdentifiers" type:"list"`
 22242  }
 22243  
 22244  // String returns the string representation.
 22245  //
 22246  // API parameter values that are decorated as "sensitive" in the API will not
 22247  // be included in the string output. The member name will be present, but the
 22248  // value will be replaced with "sensitive".
 22249  func (s ListDiscoveredResourcesOutput) String() string {
 22250  	return awsutil.Prettify(s)
 22251  }
 22252  
 22253  // GoString returns the string representation.
 22254  //
 22255  // API parameter values that are decorated as "sensitive" in the API will not
 22256  // be included in the string output. The member name will be present, but the
 22257  // value will be replaced with "sensitive".
 22258  func (s ListDiscoveredResourcesOutput) GoString() string {
 22259  	return s.String()
 22260  }
 22261  
 22262  // SetNextToken sets the NextToken field's value.
 22263  func (s *ListDiscoveredResourcesOutput) SetNextToken(v string) *ListDiscoveredResourcesOutput {
 22264  	s.NextToken = &v
 22265  	return s
 22266  }
 22267  
 22268  // SetResourceIdentifiers sets the ResourceIdentifiers field's value.
 22269  func (s *ListDiscoveredResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListDiscoveredResourcesOutput {
 22270  	s.ResourceIdentifiers = v
 22271  	return s
 22272  }
 22273  
 22274  type ListStoredQueriesInput struct {
 22275  	_ struct{} `type:"structure"`
 22276  
 22277  	// The maximum number of results to be returned with a single call.
 22278  	MaxResults *int64 `type:"integer"`
 22279  
 22280  	// The nextToken string returned in a previous request that you use to request
 22281  	// the next page of results in a paginated response.
 22282  	NextToken *string `type:"string"`
 22283  }
 22284  
 22285  // String returns the string representation.
 22286  //
 22287  // API parameter values that are decorated as "sensitive" in the API will not
 22288  // be included in the string output. The member name will be present, but the
 22289  // value will be replaced with "sensitive".
 22290  func (s ListStoredQueriesInput) String() string {
 22291  	return awsutil.Prettify(s)
 22292  }
 22293  
 22294  // GoString returns the string representation.
 22295  //
 22296  // API parameter values that are decorated as "sensitive" in the API will not
 22297  // be included in the string output. The member name will be present, but the
 22298  // value will be replaced with "sensitive".
 22299  func (s ListStoredQueriesInput) GoString() string {
 22300  	return s.String()
 22301  }
 22302  
 22303  // SetMaxResults sets the MaxResults field's value.
 22304  func (s *ListStoredQueriesInput) SetMaxResults(v int64) *ListStoredQueriesInput {
 22305  	s.MaxResults = &v
 22306  	return s
 22307  }
 22308  
 22309  // SetNextToken sets the NextToken field's value.
 22310  func (s *ListStoredQueriesInput) SetNextToken(v string) *ListStoredQueriesInput {
 22311  	s.NextToken = &v
 22312  	return s
 22313  }
 22314  
 22315  type ListStoredQueriesOutput struct {
 22316  	_ struct{} `type:"structure"`
 22317  
 22318  	// If the previous paginated request didn't return all of the remaining results,
 22319  	// the response object's NextToken parameter value is set to a token. To retrieve
 22320  	// the next set of results, call this action again and assign that token to
 22321  	// the request object's NextToken parameter. If there are no remaining results,
 22322  	// the previous response object's NextToken parameter is set to null.
 22323  	NextToken *string `type:"string"`
 22324  
 22325  	// A list of StoredQueryMetadata objects.
 22326  	StoredQueryMetadata []*StoredQueryMetadata `type:"list"`
 22327  }
 22328  
 22329  // String returns the string representation.
 22330  //
 22331  // API parameter values that are decorated as "sensitive" in the API will not
 22332  // be included in the string output. The member name will be present, but the
 22333  // value will be replaced with "sensitive".
 22334  func (s ListStoredQueriesOutput) String() string {
 22335  	return awsutil.Prettify(s)
 22336  }
 22337  
 22338  // GoString returns the string representation.
 22339  //
 22340  // API parameter values that are decorated as "sensitive" in the API will not
 22341  // be included in the string output. The member name will be present, but the
 22342  // value will be replaced with "sensitive".
 22343  func (s ListStoredQueriesOutput) GoString() string {
 22344  	return s.String()
 22345  }
 22346  
 22347  // SetNextToken sets the NextToken field's value.
 22348  func (s *ListStoredQueriesOutput) SetNextToken(v string) *ListStoredQueriesOutput {
 22349  	s.NextToken = &v
 22350  	return s
 22351  }
 22352  
 22353  // SetStoredQueryMetadata sets the StoredQueryMetadata field's value.
 22354  func (s *ListStoredQueriesOutput) SetStoredQueryMetadata(v []*StoredQueryMetadata) *ListStoredQueriesOutput {
 22355  	s.StoredQueryMetadata = v
 22356  	return s
 22357  }
 22358  
 22359  type ListTagsForResourceInput struct {
 22360  	_ struct{} `type:"structure"`
 22361  
 22362  	// The maximum number of tags returned on each page. The limit maximum is 50.
 22363  	// You cannot specify a number greater than 50. If you specify 0, Config uses
 22364  	// the default.
 22365  	Limit *int64 `type:"integer"`
 22366  
 22367  	// The nextToken string returned on a previous page that you use to get the
 22368  	// next page of results in a paginated response.
 22369  	NextToken *string `type:"string"`
 22370  
 22371  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 22372  	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
 22373  	// and AggregatorAuthorization.
 22374  	//
 22375  	// ResourceArn is a required field
 22376  	ResourceArn *string `min:"1" type:"string" required:"true"`
 22377  }
 22378  
 22379  // String returns the string representation.
 22380  //
 22381  // API parameter values that are decorated as "sensitive" in the API will not
 22382  // be included in the string output. The member name will be present, but the
 22383  // value will be replaced with "sensitive".
 22384  func (s ListTagsForResourceInput) String() string {
 22385  	return awsutil.Prettify(s)
 22386  }
 22387  
 22388  // GoString returns the string representation.
 22389  //
 22390  // API parameter values that are decorated as "sensitive" in the API will not
 22391  // be included in the string output. The member name will be present, but the
 22392  // value will be replaced with "sensitive".
 22393  func (s ListTagsForResourceInput) GoString() string {
 22394  	return s.String()
 22395  }
 22396  
 22397  // Validate inspects the fields of the type to determine if they are valid.
 22398  func (s *ListTagsForResourceInput) Validate() error {
 22399  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 22400  	if s.ResourceArn == nil {
 22401  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 22402  	}
 22403  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 22404  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 22405  	}
 22406  
 22407  	if invalidParams.Len() > 0 {
 22408  		return invalidParams
 22409  	}
 22410  	return nil
 22411  }
 22412  
 22413  // SetLimit sets the Limit field's value.
 22414  func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
 22415  	s.Limit = &v
 22416  	return s
 22417  }
 22418  
 22419  // SetNextToken sets the NextToken field's value.
 22420  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
 22421  	s.NextToken = &v
 22422  	return s
 22423  }
 22424  
 22425  // SetResourceArn sets the ResourceArn field's value.
 22426  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 22427  	s.ResourceArn = &v
 22428  	return s
 22429  }
 22430  
 22431  type ListTagsForResourceOutput struct {
 22432  	_ struct{} `type:"structure"`
 22433  
 22434  	// The nextToken string returned on a previous page that you use to get the
 22435  	// next page of results in a paginated response.
 22436  	NextToken *string `type:"string"`
 22437  
 22438  	// The tags for the resource.
 22439  	Tags []*Tag `min:"1" type:"list"`
 22440  }
 22441  
 22442  // String returns the string representation.
 22443  //
 22444  // API parameter values that are decorated as "sensitive" in the API will not
 22445  // be included in the string output. The member name will be present, but the
 22446  // value will be replaced with "sensitive".
 22447  func (s ListTagsForResourceOutput) String() string {
 22448  	return awsutil.Prettify(s)
 22449  }
 22450  
 22451  // GoString returns the string representation.
 22452  //
 22453  // API parameter values that are decorated as "sensitive" in the API will not
 22454  // be included in the string output. The member name will be present, but the
 22455  // value will be replaced with "sensitive".
 22456  func (s ListTagsForResourceOutput) GoString() string {
 22457  	return s.String()
 22458  }
 22459  
 22460  // SetNextToken sets the NextToken field's value.
 22461  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
 22462  	s.NextToken = &v
 22463  	return s
 22464  }
 22465  
 22466  // SetTags sets the Tags field's value.
 22467  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 22468  	s.Tags = v
 22469  	return s
 22470  }
 22471  
 22472  // You have reached the limit (100,000) of active custom resource types in your
 22473  // account. Delete unused resources using DeleteResourceConfig.
 22474  type MaxActiveResourcesExceededException struct {
 22475  	_            struct{}                  `type:"structure"`
 22476  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22477  
 22478  	Message_ *string `locationName:"message" type:"string"`
 22479  }
 22480  
 22481  // String returns the string representation.
 22482  //
 22483  // API parameter values that are decorated as "sensitive" in the API will not
 22484  // be included in the string output. The member name will be present, but the
 22485  // value will be replaced with "sensitive".
 22486  func (s MaxActiveResourcesExceededException) String() string {
 22487  	return awsutil.Prettify(s)
 22488  }
 22489  
 22490  // GoString returns the string representation.
 22491  //
 22492  // API parameter values that are decorated as "sensitive" in the API will not
 22493  // be included in the string output. The member name will be present, but the
 22494  // value will be replaced with "sensitive".
 22495  func (s MaxActiveResourcesExceededException) GoString() string {
 22496  	return s.String()
 22497  }
 22498  
 22499  func newErrorMaxActiveResourcesExceededException(v protocol.ResponseMetadata) error {
 22500  	return &MaxActiveResourcesExceededException{
 22501  		RespMetadata: v,
 22502  	}
 22503  }
 22504  
 22505  // Code returns the exception type name.
 22506  func (s *MaxActiveResourcesExceededException) Code() string {
 22507  	return "MaxActiveResourcesExceededException"
 22508  }
 22509  
 22510  // Message returns the exception's message.
 22511  func (s *MaxActiveResourcesExceededException) Message() string {
 22512  	if s.Message_ != nil {
 22513  		return *s.Message_
 22514  	}
 22515  	return ""
 22516  }
 22517  
 22518  // OrigErr always returns nil, satisfies awserr.Error interface.
 22519  func (s *MaxActiveResourcesExceededException) OrigErr() error {
 22520  	return nil
 22521  }
 22522  
 22523  func (s *MaxActiveResourcesExceededException) Error() string {
 22524  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22525  }
 22526  
 22527  // Status code returns the HTTP status code for the request's response error.
 22528  func (s *MaxActiveResourcesExceededException) StatusCode() int {
 22529  	return s.RespMetadata.StatusCode
 22530  }
 22531  
 22532  // RequestID returns the service's response RequestID for request.
 22533  func (s *MaxActiveResourcesExceededException) RequestID() string {
 22534  	return s.RespMetadata.RequestID
 22535  }
 22536  
 22537  // Failed to add the Config rule because the account already contains the maximum
 22538  // number of 150 rules. Consider deleting any deactivated rules before you add
 22539  // new rules.
 22540  type MaxNumberOfConfigRulesExceededException struct {
 22541  	_            struct{}                  `type:"structure"`
 22542  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22543  
 22544  	Message_ *string `locationName:"message" type:"string"`
 22545  }
 22546  
 22547  // String returns the string representation.
 22548  //
 22549  // API parameter values that are decorated as "sensitive" in the API will not
 22550  // be included in the string output. The member name will be present, but the
 22551  // value will be replaced with "sensitive".
 22552  func (s MaxNumberOfConfigRulesExceededException) String() string {
 22553  	return awsutil.Prettify(s)
 22554  }
 22555  
 22556  // GoString returns the string representation.
 22557  //
 22558  // API parameter values that are decorated as "sensitive" in the API will not
 22559  // be included in the string output. The member name will be present, but the
 22560  // value will be replaced with "sensitive".
 22561  func (s MaxNumberOfConfigRulesExceededException) GoString() string {
 22562  	return s.String()
 22563  }
 22564  
 22565  func newErrorMaxNumberOfConfigRulesExceededException(v protocol.ResponseMetadata) error {
 22566  	return &MaxNumberOfConfigRulesExceededException{
 22567  		RespMetadata: v,
 22568  	}
 22569  }
 22570  
 22571  // Code returns the exception type name.
 22572  func (s *MaxNumberOfConfigRulesExceededException) Code() string {
 22573  	return "MaxNumberOfConfigRulesExceededException"
 22574  }
 22575  
 22576  // Message returns the exception's message.
 22577  func (s *MaxNumberOfConfigRulesExceededException) Message() string {
 22578  	if s.Message_ != nil {
 22579  		return *s.Message_
 22580  	}
 22581  	return ""
 22582  }
 22583  
 22584  // OrigErr always returns nil, satisfies awserr.Error interface.
 22585  func (s *MaxNumberOfConfigRulesExceededException) OrigErr() error {
 22586  	return nil
 22587  }
 22588  
 22589  func (s *MaxNumberOfConfigRulesExceededException) Error() string {
 22590  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22591  }
 22592  
 22593  // Status code returns the HTTP status code for the request's response error.
 22594  func (s *MaxNumberOfConfigRulesExceededException) StatusCode() int {
 22595  	return s.RespMetadata.StatusCode
 22596  }
 22597  
 22598  // RequestID returns the service's response RequestID for request.
 22599  func (s *MaxNumberOfConfigRulesExceededException) RequestID() string {
 22600  	return s.RespMetadata.RequestID
 22601  }
 22602  
 22603  // You have reached the limit of the number of recorders you can create.
 22604  type MaxNumberOfConfigurationRecordersExceededException struct {
 22605  	_            struct{}                  `type:"structure"`
 22606  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22607  
 22608  	Message_ *string `locationName:"message" type:"string"`
 22609  }
 22610  
 22611  // String returns the string representation.
 22612  //
 22613  // API parameter values that are decorated as "sensitive" in the API will not
 22614  // be included in the string output. The member name will be present, but the
 22615  // value will be replaced with "sensitive".
 22616  func (s MaxNumberOfConfigurationRecordersExceededException) String() string {
 22617  	return awsutil.Prettify(s)
 22618  }
 22619  
 22620  // GoString returns the string representation.
 22621  //
 22622  // API parameter values that are decorated as "sensitive" in the API will not
 22623  // be included in the string output. The member name will be present, but the
 22624  // value will be replaced with "sensitive".
 22625  func (s MaxNumberOfConfigurationRecordersExceededException) GoString() string {
 22626  	return s.String()
 22627  }
 22628  
 22629  func newErrorMaxNumberOfConfigurationRecordersExceededException(v protocol.ResponseMetadata) error {
 22630  	return &MaxNumberOfConfigurationRecordersExceededException{
 22631  		RespMetadata: v,
 22632  	}
 22633  }
 22634  
 22635  // Code returns the exception type name.
 22636  func (s *MaxNumberOfConfigurationRecordersExceededException) Code() string {
 22637  	return "MaxNumberOfConfigurationRecordersExceededException"
 22638  }
 22639  
 22640  // Message returns the exception's message.
 22641  func (s *MaxNumberOfConfigurationRecordersExceededException) Message() string {
 22642  	if s.Message_ != nil {
 22643  		return *s.Message_
 22644  	}
 22645  	return ""
 22646  }
 22647  
 22648  // OrigErr always returns nil, satisfies awserr.Error interface.
 22649  func (s *MaxNumberOfConfigurationRecordersExceededException) OrigErr() error {
 22650  	return nil
 22651  }
 22652  
 22653  func (s *MaxNumberOfConfigurationRecordersExceededException) Error() string {
 22654  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22655  }
 22656  
 22657  // Status code returns the HTTP status code for the request's response error.
 22658  func (s *MaxNumberOfConfigurationRecordersExceededException) StatusCode() int {
 22659  	return s.RespMetadata.StatusCode
 22660  }
 22661  
 22662  // RequestID returns the service's response RequestID for request.
 22663  func (s *MaxNumberOfConfigurationRecordersExceededException) RequestID() string {
 22664  	return s.RespMetadata.RequestID
 22665  }
 22666  
 22667  // You have reached the limit (6) of the number of conformance packs in an account
 22668  // (6 conformance pack with 25 Config rules per pack).
 22669  type MaxNumberOfConformancePacksExceededException struct {
 22670  	_            struct{}                  `type:"structure"`
 22671  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22672  
 22673  	Message_ *string `locationName:"message" type:"string"`
 22674  }
 22675  
 22676  // String returns the string representation.
 22677  //
 22678  // API parameter values that are decorated as "sensitive" in the API will not
 22679  // be included in the string output. The member name will be present, but the
 22680  // value will be replaced with "sensitive".
 22681  func (s MaxNumberOfConformancePacksExceededException) String() string {
 22682  	return awsutil.Prettify(s)
 22683  }
 22684  
 22685  // GoString returns the string representation.
 22686  //
 22687  // API parameter values that are decorated as "sensitive" in the API will not
 22688  // be included in the string output. The member name will be present, but the
 22689  // value will be replaced with "sensitive".
 22690  func (s MaxNumberOfConformancePacksExceededException) GoString() string {
 22691  	return s.String()
 22692  }
 22693  
 22694  func newErrorMaxNumberOfConformancePacksExceededException(v protocol.ResponseMetadata) error {
 22695  	return &MaxNumberOfConformancePacksExceededException{
 22696  		RespMetadata: v,
 22697  	}
 22698  }
 22699  
 22700  // Code returns the exception type name.
 22701  func (s *MaxNumberOfConformancePacksExceededException) Code() string {
 22702  	return "MaxNumberOfConformancePacksExceededException"
 22703  }
 22704  
 22705  // Message returns the exception's message.
 22706  func (s *MaxNumberOfConformancePacksExceededException) Message() string {
 22707  	if s.Message_ != nil {
 22708  		return *s.Message_
 22709  	}
 22710  	return ""
 22711  }
 22712  
 22713  // OrigErr always returns nil, satisfies awserr.Error interface.
 22714  func (s *MaxNumberOfConformancePacksExceededException) OrigErr() error {
 22715  	return nil
 22716  }
 22717  
 22718  func (s *MaxNumberOfConformancePacksExceededException) Error() string {
 22719  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22720  }
 22721  
 22722  // Status code returns the HTTP status code for the request's response error.
 22723  func (s *MaxNumberOfConformancePacksExceededException) StatusCode() int {
 22724  	return s.RespMetadata.StatusCode
 22725  }
 22726  
 22727  // RequestID returns the service's response RequestID for request.
 22728  func (s *MaxNumberOfConformancePacksExceededException) RequestID() string {
 22729  	return s.RespMetadata.RequestID
 22730  }
 22731  
 22732  // You have reached the limit of the number of delivery channels you can create.
 22733  type MaxNumberOfDeliveryChannelsExceededException struct {
 22734  	_            struct{}                  `type:"structure"`
 22735  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22736  
 22737  	Message_ *string `locationName:"message" type:"string"`
 22738  }
 22739  
 22740  // String returns the string representation.
 22741  //
 22742  // API parameter values that are decorated as "sensitive" in the API will not
 22743  // be included in the string output. The member name will be present, but the
 22744  // value will be replaced with "sensitive".
 22745  func (s MaxNumberOfDeliveryChannelsExceededException) String() string {
 22746  	return awsutil.Prettify(s)
 22747  }
 22748  
 22749  // GoString returns the string representation.
 22750  //
 22751  // API parameter values that are decorated as "sensitive" in the API will not
 22752  // be included in the string output. The member name will be present, but the
 22753  // value will be replaced with "sensitive".
 22754  func (s MaxNumberOfDeliveryChannelsExceededException) GoString() string {
 22755  	return s.String()
 22756  }
 22757  
 22758  func newErrorMaxNumberOfDeliveryChannelsExceededException(v protocol.ResponseMetadata) error {
 22759  	return &MaxNumberOfDeliveryChannelsExceededException{
 22760  		RespMetadata: v,
 22761  	}
 22762  }
 22763  
 22764  // Code returns the exception type name.
 22765  func (s *MaxNumberOfDeliveryChannelsExceededException) Code() string {
 22766  	return "MaxNumberOfDeliveryChannelsExceededException"
 22767  }
 22768  
 22769  // Message returns the exception's message.
 22770  func (s *MaxNumberOfDeliveryChannelsExceededException) Message() string {
 22771  	if s.Message_ != nil {
 22772  		return *s.Message_
 22773  	}
 22774  	return ""
 22775  }
 22776  
 22777  // OrigErr always returns nil, satisfies awserr.Error interface.
 22778  func (s *MaxNumberOfDeliveryChannelsExceededException) OrigErr() error {
 22779  	return nil
 22780  }
 22781  
 22782  func (s *MaxNumberOfDeliveryChannelsExceededException) Error() string {
 22783  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22784  }
 22785  
 22786  // Status code returns the HTTP status code for the request's response error.
 22787  func (s *MaxNumberOfDeliveryChannelsExceededException) StatusCode() int {
 22788  	return s.RespMetadata.StatusCode
 22789  }
 22790  
 22791  // RequestID returns the service's response RequestID for request.
 22792  func (s *MaxNumberOfDeliveryChannelsExceededException) RequestID() string {
 22793  	return s.RespMetadata.RequestID
 22794  }
 22795  
 22796  // You have reached the limit of the number of organization config rules you
 22797  // can create.
 22798  type MaxNumberOfOrganizationConfigRulesExceededException struct {
 22799  	_            struct{}                  `type:"structure"`
 22800  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22801  
 22802  	Message_ *string `locationName:"message" type:"string"`
 22803  }
 22804  
 22805  // String returns the string representation.
 22806  //
 22807  // API parameter values that are decorated as "sensitive" in the API will not
 22808  // be included in the string output. The member name will be present, but the
 22809  // value will be replaced with "sensitive".
 22810  func (s MaxNumberOfOrganizationConfigRulesExceededException) String() string {
 22811  	return awsutil.Prettify(s)
 22812  }
 22813  
 22814  // GoString returns the string representation.
 22815  //
 22816  // API parameter values that are decorated as "sensitive" in the API will not
 22817  // be included in the string output. The member name will be present, but the
 22818  // value will be replaced with "sensitive".
 22819  func (s MaxNumberOfOrganizationConfigRulesExceededException) GoString() string {
 22820  	return s.String()
 22821  }
 22822  
 22823  func newErrorMaxNumberOfOrganizationConfigRulesExceededException(v protocol.ResponseMetadata) error {
 22824  	return &MaxNumberOfOrganizationConfigRulesExceededException{
 22825  		RespMetadata: v,
 22826  	}
 22827  }
 22828  
 22829  // Code returns the exception type name.
 22830  func (s *MaxNumberOfOrganizationConfigRulesExceededException) Code() string {
 22831  	return "MaxNumberOfOrganizationConfigRulesExceededException"
 22832  }
 22833  
 22834  // Message returns the exception's message.
 22835  func (s *MaxNumberOfOrganizationConfigRulesExceededException) Message() string {
 22836  	if s.Message_ != nil {
 22837  		return *s.Message_
 22838  	}
 22839  	return ""
 22840  }
 22841  
 22842  // OrigErr always returns nil, satisfies awserr.Error interface.
 22843  func (s *MaxNumberOfOrganizationConfigRulesExceededException) OrigErr() error {
 22844  	return nil
 22845  }
 22846  
 22847  func (s *MaxNumberOfOrganizationConfigRulesExceededException) Error() string {
 22848  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22849  }
 22850  
 22851  // Status code returns the HTTP status code for the request's response error.
 22852  func (s *MaxNumberOfOrganizationConfigRulesExceededException) StatusCode() int {
 22853  	return s.RespMetadata.StatusCode
 22854  }
 22855  
 22856  // RequestID returns the service's response RequestID for request.
 22857  func (s *MaxNumberOfOrganizationConfigRulesExceededException) RequestID() string {
 22858  	return s.RespMetadata.RequestID
 22859  }
 22860  
 22861  // You have reached the limit (6) of the number of organization conformance
 22862  // packs in an account (6 conformance pack with 25 Config rules per pack per
 22863  // account).
 22864  type MaxNumberOfOrganizationConformancePacksExceededException struct {
 22865  	_            struct{}                  `type:"structure"`
 22866  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22867  
 22868  	Message_ *string `locationName:"message" type:"string"`
 22869  }
 22870  
 22871  // String returns the string representation.
 22872  //
 22873  // API parameter values that are decorated as "sensitive" in the API will not
 22874  // be included in the string output. The member name will be present, but the
 22875  // value will be replaced with "sensitive".
 22876  func (s MaxNumberOfOrganizationConformancePacksExceededException) String() string {
 22877  	return awsutil.Prettify(s)
 22878  }
 22879  
 22880  // GoString returns the string representation.
 22881  //
 22882  // API parameter values that are decorated as "sensitive" in the API will not
 22883  // be included in the string output. The member name will be present, but the
 22884  // value will be replaced with "sensitive".
 22885  func (s MaxNumberOfOrganizationConformancePacksExceededException) GoString() string {
 22886  	return s.String()
 22887  }
 22888  
 22889  func newErrorMaxNumberOfOrganizationConformancePacksExceededException(v protocol.ResponseMetadata) error {
 22890  	return &MaxNumberOfOrganizationConformancePacksExceededException{
 22891  		RespMetadata: v,
 22892  	}
 22893  }
 22894  
 22895  // Code returns the exception type name.
 22896  func (s *MaxNumberOfOrganizationConformancePacksExceededException) Code() string {
 22897  	return "MaxNumberOfOrganizationConformancePacksExceededException"
 22898  }
 22899  
 22900  // Message returns the exception's message.
 22901  func (s *MaxNumberOfOrganizationConformancePacksExceededException) Message() string {
 22902  	if s.Message_ != nil {
 22903  		return *s.Message_
 22904  	}
 22905  	return ""
 22906  }
 22907  
 22908  // OrigErr always returns nil, satisfies awserr.Error interface.
 22909  func (s *MaxNumberOfOrganizationConformancePacksExceededException) OrigErr() error {
 22910  	return nil
 22911  }
 22912  
 22913  func (s *MaxNumberOfOrganizationConformancePacksExceededException) Error() string {
 22914  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22915  }
 22916  
 22917  // Status code returns the HTTP status code for the request's response error.
 22918  func (s *MaxNumberOfOrganizationConformancePacksExceededException) StatusCode() int {
 22919  	return s.RespMetadata.StatusCode
 22920  }
 22921  
 22922  // RequestID returns the service's response RequestID for request.
 22923  func (s *MaxNumberOfOrganizationConformancePacksExceededException) RequestID() string {
 22924  	return s.RespMetadata.RequestID
 22925  }
 22926  
 22927  // Failed to add the retention configuration because a retention configuration
 22928  // with that name already exists.
 22929  type MaxNumberOfRetentionConfigurationsExceededException struct {
 22930  	_            struct{}                  `type:"structure"`
 22931  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22932  
 22933  	Message_ *string `locationName:"message" type:"string"`
 22934  }
 22935  
 22936  // String returns the string representation.
 22937  //
 22938  // API parameter values that are decorated as "sensitive" in the API will not
 22939  // be included in the string output. The member name will be present, but the
 22940  // value will be replaced with "sensitive".
 22941  func (s MaxNumberOfRetentionConfigurationsExceededException) String() string {
 22942  	return awsutil.Prettify(s)
 22943  }
 22944  
 22945  // GoString returns the string representation.
 22946  //
 22947  // API parameter values that are decorated as "sensitive" in the API will not
 22948  // be included in the string output. The member name will be present, but the
 22949  // value will be replaced with "sensitive".
 22950  func (s MaxNumberOfRetentionConfigurationsExceededException) GoString() string {
 22951  	return s.String()
 22952  }
 22953  
 22954  func newErrorMaxNumberOfRetentionConfigurationsExceededException(v protocol.ResponseMetadata) error {
 22955  	return &MaxNumberOfRetentionConfigurationsExceededException{
 22956  		RespMetadata: v,
 22957  	}
 22958  }
 22959  
 22960  // Code returns the exception type name.
 22961  func (s *MaxNumberOfRetentionConfigurationsExceededException) Code() string {
 22962  	return "MaxNumberOfRetentionConfigurationsExceededException"
 22963  }
 22964  
 22965  // Message returns the exception's message.
 22966  func (s *MaxNumberOfRetentionConfigurationsExceededException) Message() string {
 22967  	if s.Message_ != nil {
 22968  		return *s.Message_
 22969  	}
 22970  	return ""
 22971  }
 22972  
 22973  // OrigErr always returns nil, satisfies awserr.Error interface.
 22974  func (s *MaxNumberOfRetentionConfigurationsExceededException) OrigErr() error {
 22975  	return nil
 22976  }
 22977  
 22978  func (s *MaxNumberOfRetentionConfigurationsExceededException) Error() string {
 22979  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22980  }
 22981  
 22982  // Status code returns the HTTP status code for the request's response error.
 22983  func (s *MaxNumberOfRetentionConfigurationsExceededException) StatusCode() int {
 22984  	return s.RespMetadata.StatusCode
 22985  }
 22986  
 22987  // RequestID returns the service's response RequestID for request.
 22988  func (s *MaxNumberOfRetentionConfigurationsExceededException) RequestID() string {
 22989  	return s.RespMetadata.RequestID
 22990  }
 22991  
 22992  // Organization config rule creation or deletion status in each member account.
 22993  // This includes the name of the rule, the status, error code and error message
 22994  // when the rule creation or deletion failed.
 22995  type MemberAccountStatus struct {
 22996  	_ struct{} `type:"structure"`
 22997  
 22998  	// The 12-digit account ID of a member account.
 22999  	//
 23000  	// AccountId is a required field
 23001  	AccountId *string `type:"string" required:"true"`
 23002  
 23003  	// The name of config rule deployed in the member account.
 23004  	//
 23005  	// ConfigRuleName is a required field
 23006  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 23007  
 23008  	// An error code that is returned when config rule creation or deletion failed
 23009  	// in the member account.
 23010  	ErrorCode *string `type:"string"`
 23011  
 23012  	// An error message indicating that config rule account creation or deletion
 23013  	// has failed due to an error in the member account.
 23014  	ErrorMessage *string `type:"string"`
 23015  
 23016  	// The timestamp of the last status update.
 23017  	LastUpdateTime *time.Time `type:"timestamp"`
 23018  
 23019  	// Indicates deployment status for config rule in the member account. When master
 23020  	// account calls PutOrganizationConfigRule action for the first time, config
 23021  	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
 23022  	// action for the second time, config rule status is updated in the member account.
 23023  	// Config rule status is deleted when the master account deletes OrganizationConfigRule
 23024  	// and disables service access for config-multiaccountsetup.amazonaws.com.
 23025  	//
 23026  	// Config sets the state of the rule to:
 23027  	//
 23028  	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
 23029  	//
 23030  	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
 23031  	//
 23032  	//    * CREATE_FAILED when config rule creation has failed in the member account.
 23033  	//
 23034  	//    * DELETE_FAILED when config rule deletion has failed in the member account.
 23035  	//
 23036  	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
 23037  	//
 23038  	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
 23039  	//
 23040  	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
 23041  	//
 23042  	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
 23043  	//
 23044  	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
 23045  	//
 23046  	// MemberAccountRuleStatus is a required field
 23047  	MemberAccountRuleStatus *string `type:"string" required:"true" enum:"MemberAccountRuleStatus"`
 23048  }
 23049  
 23050  // String returns the string representation.
 23051  //
 23052  // API parameter values that are decorated as "sensitive" in the API will not
 23053  // be included in the string output. The member name will be present, but the
 23054  // value will be replaced with "sensitive".
 23055  func (s MemberAccountStatus) String() string {
 23056  	return awsutil.Prettify(s)
 23057  }
 23058  
 23059  // GoString returns the string representation.
 23060  //
 23061  // API parameter values that are decorated as "sensitive" in the API will not
 23062  // be included in the string output. The member name will be present, but the
 23063  // value will be replaced with "sensitive".
 23064  func (s MemberAccountStatus) GoString() string {
 23065  	return s.String()
 23066  }
 23067  
 23068  // SetAccountId sets the AccountId field's value.
 23069  func (s *MemberAccountStatus) SetAccountId(v string) *MemberAccountStatus {
 23070  	s.AccountId = &v
 23071  	return s
 23072  }
 23073  
 23074  // SetConfigRuleName sets the ConfigRuleName field's value.
 23075  func (s *MemberAccountStatus) SetConfigRuleName(v string) *MemberAccountStatus {
 23076  	s.ConfigRuleName = &v
 23077  	return s
 23078  }
 23079  
 23080  // SetErrorCode sets the ErrorCode field's value.
 23081  func (s *MemberAccountStatus) SetErrorCode(v string) *MemberAccountStatus {
 23082  	s.ErrorCode = &v
 23083  	return s
 23084  }
 23085  
 23086  // SetErrorMessage sets the ErrorMessage field's value.
 23087  func (s *MemberAccountStatus) SetErrorMessage(v string) *MemberAccountStatus {
 23088  	s.ErrorMessage = &v
 23089  	return s
 23090  }
 23091  
 23092  // SetLastUpdateTime sets the LastUpdateTime field's value.
 23093  func (s *MemberAccountStatus) SetLastUpdateTime(v time.Time) *MemberAccountStatus {
 23094  	s.LastUpdateTime = &v
 23095  	return s
 23096  }
 23097  
 23098  // SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
 23099  func (s *MemberAccountStatus) SetMemberAccountRuleStatus(v string) *MemberAccountStatus {
 23100  	s.MemberAccountRuleStatus = &v
 23101  	return s
 23102  }
 23103  
 23104  // There are no configuration recorders available to provide the role needed
 23105  // to describe your resources. Create a configuration recorder.
 23106  type NoAvailableConfigurationRecorderException struct {
 23107  	_            struct{}                  `type:"structure"`
 23108  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23109  
 23110  	Message_ *string `locationName:"message" type:"string"`
 23111  }
 23112  
 23113  // String returns the string representation.
 23114  //
 23115  // API parameter values that are decorated as "sensitive" in the API will not
 23116  // be included in the string output. The member name will be present, but the
 23117  // value will be replaced with "sensitive".
 23118  func (s NoAvailableConfigurationRecorderException) String() string {
 23119  	return awsutil.Prettify(s)
 23120  }
 23121  
 23122  // GoString returns the string representation.
 23123  //
 23124  // API parameter values that are decorated as "sensitive" in the API will not
 23125  // be included in the string output. The member name will be present, but the
 23126  // value will be replaced with "sensitive".
 23127  func (s NoAvailableConfigurationRecorderException) GoString() string {
 23128  	return s.String()
 23129  }
 23130  
 23131  func newErrorNoAvailableConfigurationRecorderException(v protocol.ResponseMetadata) error {
 23132  	return &NoAvailableConfigurationRecorderException{
 23133  		RespMetadata: v,
 23134  	}
 23135  }
 23136  
 23137  // Code returns the exception type name.
 23138  func (s *NoAvailableConfigurationRecorderException) Code() string {
 23139  	return "NoAvailableConfigurationRecorderException"
 23140  }
 23141  
 23142  // Message returns the exception's message.
 23143  func (s *NoAvailableConfigurationRecorderException) Message() string {
 23144  	if s.Message_ != nil {
 23145  		return *s.Message_
 23146  	}
 23147  	return ""
 23148  }
 23149  
 23150  // OrigErr always returns nil, satisfies awserr.Error interface.
 23151  func (s *NoAvailableConfigurationRecorderException) OrigErr() error {
 23152  	return nil
 23153  }
 23154  
 23155  func (s *NoAvailableConfigurationRecorderException) Error() string {
 23156  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23157  }
 23158  
 23159  // Status code returns the HTTP status code for the request's response error.
 23160  func (s *NoAvailableConfigurationRecorderException) StatusCode() int {
 23161  	return s.RespMetadata.StatusCode
 23162  }
 23163  
 23164  // RequestID returns the service's response RequestID for request.
 23165  func (s *NoAvailableConfigurationRecorderException) RequestID() string {
 23166  	return s.RespMetadata.RequestID
 23167  }
 23168  
 23169  // There is no delivery channel available to record configurations.
 23170  type NoAvailableDeliveryChannelException struct {
 23171  	_            struct{}                  `type:"structure"`
 23172  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23173  
 23174  	Message_ *string `locationName:"message" type:"string"`
 23175  }
 23176  
 23177  // String returns the string representation.
 23178  //
 23179  // API parameter values that are decorated as "sensitive" in the API will not
 23180  // be included in the string output. The member name will be present, but the
 23181  // value will be replaced with "sensitive".
 23182  func (s NoAvailableDeliveryChannelException) String() string {
 23183  	return awsutil.Prettify(s)
 23184  }
 23185  
 23186  // GoString returns the string representation.
 23187  //
 23188  // API parameter values that are decorated as "sensitive" in the API will not
 23189  // be included in the string output. The member name will be present, but the
 23190  // value will be replaced with "sensitive".
 23191  func (s NoAvailableDeliveryChannelException) GoString() string {
 23192  	return s.String()
 23193  }
 23194  
 23195  func newErrorNoAvailableDeliveryChannelException(v protocol.ResponseMetadata) error {
 23196  	return &NoAvailableDeliveryChannelException{
 23197  		RespMetadata: v,
 23198  	}
 23199  }
 23200  
 23201  // Code returns the exception type name.
 23202  func (s *NoAvailableDeliveryChannelException) Code() string {
 23203  	return "NoAvailableDeliveryChannelException"
 23204  }
 23205  
 23206  // Message returns the exception's message.
 23207  func (s *NoAvailableDeliveryChannelException) Message() string {
 23208  	if s.Message_ != nil {
 23209  		return *s.Message_
 23210  	}
 23211  	return ""
 23212  }
 23213  
 23214  // OrigErr always returns nil, satisfies awserr.Error interface.
 23215  func (s *NoAvailableDeliveryChannelException) OrigErr() error {
 23216  	return nil
 23217  }
 23218  
 23219  func (s *NoAvailableDeliveryChannelException) Error() string {
 23220  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23221  }
 23222  
 23223  // Status code returns the HTTP status code for the request's response error.
 23224  func (s *NoAvailableDeliveryChannelException) StatusCode() int {
 23225  	return s.RespMetadata.StatusCode
 23226  }
 23227  
 23228  // RequestID returns the service's response RequestID for request.
 23229  func (s *NoAvailableDeliveryChannelException) RequestID() string {
 23230  	return s.RespMetadata.RequestID
 23231  }
 23232  
 23233  // Organization is no longer available.
 23234  type NoAvailableOrganizationException struct {
 23235  	_            struct{}                  `type:"structure"`
 23236  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23237  
 23238  	Message_ *string `locationName:"message" type:"string"`
 23239  }
 23240  
 23241  // String returns the string representation.
 23242  //
 23243  // API parameter values that are decorated as "sensitive" in the API will not
 23244  // be included in the string output. The member name will be present, but the
 23245  // value will be replaced with "sensitive".
 23246  func (s NoAvailableOrganizationException) String() string {
 23247  	return awsutil.Prettify(s)
 23248  }
 23249  
 23250  // GoString returns the string representation.
 23251  //
 23252  // API parameter values that are decorated as "sensitive" in the API will not
 23253  // be included in the string output. The member name will be present, but the
 23254  // value will be replaced with "sensitive".
 23255  func (s NoAvailableOrganizationException) GoString() string {
 23256  	return s.String()
 23257  }
 23258  
 23259  func newErrorNoAvailableOrganizationException(v protocol.ResponseMetadata) error {
 23260  	return &NoAvailableOrganizationException{
 23261  		RespMetadata: v,
 23262  	}
 23263  }
 23264  
 23265  // Code returns the exception type name.
 23266  func (s *NoAvailableOrganizationException) Code() string {
 23267  	return "NoAvailableOrganizationException"
 23268  }
 23269  
 23270  // Message returns the exception's message.
 23271  func (s *NoAvailableOrganizationException) Message() string {
 23272  	if s.Message_ != nil {
 23273  		return *s.Message_
 23274  	}
 23275  	return ""
 23276  }
 23277  
 23278  // OrigErr always returns nil, satisfies awserr.Error interface.
 23279  func (s *NoAvailableOrganizationException) OrigErr() error {
 23280  	return nil
 23281  }
 23282  
 23283  func (s *NoAvailableOrganizationException) Error() string {
 23284  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23285  }
 23286  
 23287  // Status code returns the HTTP status code for the request's response error.
 23288  func (s *NoAvailableOrganizationException) StatusCode() int {
 23289  	return s.RespMetadata.StatusCode
 23290  }
 23291  
 23292  // RequestID returns the service's response RequestID for request.
 23293  func (s *NoAvailableOrganizationException) RequestID() string {
 23294  	return s.RespMetadata.RequestID
 23295  }
 23296  
 23297  // There is no configuration recorder running.
 23298  type NoRunningConfigurationRecorderException struct {
 23299  	_            struct{}                  `type:"structure"`
 23300  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23301  
 23302  	Message_ *string `locationName:"message" type:"string"`
 23303  }
 23304  
 23305  // String returns the string representation.
 23306  //
 23307  // API parameter values that are decorated as "sensitive" in the API will not
 23308  // be included in the string output. The member name will be present, but the
 23309  // value will be replaced with "sensitive".
 23310  func (s NoRunningConfigurationRecorderException) String() string {
 23311  	return awsutil.Prettify(s)
 23312  }
 23313  
 23314  // GoString returns the string representation.
 23315  //
 23316  // API parameter values that are decorated as "sensitive" in the API will not
 23317  // be included in the string output. The member name will be present, but the
 23318  // value will be replaced with "sensitive".
 23319  func (s NoRunningConfigurationRecorderException) GoString() string {
 23320  	return s.String()
 23321  }
 23322  
 23323  func newErrorNoRunningConfigurationRecorderException(v protocol.ResponseMetadata) error {
 23324  	return &NoRunningConfigurationRecorderException{
 23325  		RespMetadata: v,
 23326  	}
 23327  }
 23328  
 23329  // Code returns the exception type name.
 23330  func (s *NoRunningConfigurationRecorderException) Code() string {
 23331  	return "NoRunningConfigurationRecorderException"
 23332  }
 23333  
 23334  // Message returns the exception's message.
 23335  func (s *NoRunningConfigurationRecorderException) Message() string {
 23336  	if s.Message_ != nil {
 23337  		return *s.Message_
 23338  	}
 23339  	return ""
 23340  }
 23341  
 23342  // OrigErr always returns nil, satisfies awserr.Error interface.
 23343  func (s *NoRunningConfigurationRecorderException) OrigErr() error {
 23344  	return nil
 23345  }
 23346  
 23347  func (s *NoRunningConfigurationRecorderException) Error() string {
 23348  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23349  }
 23350  
 23351  // Status code returns the HTTP status code for the request's response error.
 23352  func (s *NoRunningConfigurationRecorderException) StatusCode() int {
 23353  	return s.RespMetadata.StatusCode
 23354  }
 23355  
 23356  // RequestID returns the service's response RequestID for request.
 23357  func (s *NoRunningConfigurationRecorderException) RequestID() string {
 23358  	return s.RespMetadata.RequestID
 23359  }
 23360  
 23361  // The specified Amazon S3 bucket does not exist.
 23362  type NoSuchBucketException struct {
 23363  	_            struct{}                  `type:"structure"`
 23364  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23365  
 23366  	Message_ *string `locationName:"message" type:"string"`
 23367  }
 23368  
 23369  // String returns the string representation.
 23370  //
 23371  // API parameter values that are decorated as "sensitive" in the API will not
 23372  // be included in the string output. The member name will be present, but the
 23373  // value will be replaced with "sensitive".
 23374  func (s NoSuchBucketException) String() string {
 23375  	return awsutil.Prettify(s)
 23376  }
 23377  
 23378  // GoString returns the string representation.
 23379  //
 23380  // API parameter values that are decorated as "sensitive" in the API will not
 23381  // be included in the string output. The member name will be present, but the
 23382  // value will be replaced with "sensitive".
 23383  func (s NoSuchBucketException) GoString() string {
 23384  	return s.String()
 23385  }
 23386  
 23387  func newErrorNoSuchBucketException(v protocol.ResponseMetadata) error {
 23388  	return &NoSuchBucketException{
 23389  		RespMetadata: v,
 23390  	}
 23391  }
 23392  
 23393  // Code returns the exception type name.
 23394  func (s *NoSuchBucketException) Code() string {
 23395  	return "NoSuchBucketException"
 23396  }
 23397  
 23398  // Message returns the exception's message.
 23399  func (s *NoSuchBucketException) Message() string {
 23400  	if s.Message_ != nil {
 23401  		return *s.Message_
 23402  	}
 23403  	return ""
 23404  }
 23405  
 23406  // OrigErr always returns nil, satisfies awserr.Error interface.
 23407  func (s *NoSuchBucketException) OrigErr() error {
 23408  	return nil
 23409  }
 23410  
 23411  func (s *NoSuchBucketException) Error() string {
 23412  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23413  }
 23414  
 23415  // Status code returns the HTTP status code for the request's response error.
 23416  func (s *NoSuchBucketException) StatusCode() int {
 23417  	return s.RespMetadata.StatusCode
 23418  }
 23419  
 23420  // RequestID returns the service's response RequestID for request.
 23421  func (s *NoSuchBucketException) RequestID() string {
 23422  	return s.RespMetadata.RequestID
 23423  }
 23424  
 23425  // One or more Config rules in the request are invalid. Verify that the rule
 23426  // names are correct and try again.
 23427  type NoSuchConfigRuleException struct {
 23428  	_            struct{}                  `type:"structure"`
 23429  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23430  
 23431  	Message_ *string `locationName:"message" type:"string"`
 23432  }
 23433  
 23434  // String returns the string representation.
 23435  //
 23436  // API parameter values that are decorated as "sensitive" in the API will not
 23437  // be included in the string output. The member name will be present, but the
 23438  // value will be replaced with "sensitive".
 23439  func (s NoSuchConfigRuleException) String() string {
 23440  	return awsutil.Prettify(s)
 23441  }
 23442  
 23443  // GoString returns the string representation.
 23444  //
 23445  // API parameter values that are decorated as "sensitive" in the API will not
 23446  // be included in the string output. The member name will be present, but the
 23447  // value will be replaced with "sensitive".
 23448  func (s NoSuchConfigRuleException) GoString() string {
 23449  	return s.String()
 23450  }
 23451  
 23452  func newErrorNoSuchConfigRuleException(v protocol.ResponseMetadata) error {
 23453  	return &NoSuchConfigRuleException{
 23454  		RespMetadata: v,
 23455  	}
 23456  }
 23457  
 23458  // Code returns the exception type name.
 23459  func (s *NoSuchConfigRuleException) Code() string {
 23460  	return "NoSuchConfigRuleException"
 23461  }
 23462  
 23463  // Message returns the exception's message.
 23464  func (s *NoSuchConfigRuleException) Message() string {
 23465  	if s.Message_ != nil {
 23466  		return *s.Message_
 23467  	}
 23468  	return ""
 23469  }
 23470  
 23471  // OrigErr always returns nil, satisfies awserr.Error interface.
 23472  func (s *NoSuchConfigRuleException) OrigErr() error {
 23473  	return nil
 23474  }
 23475  
 23476  func (s *NoSuchConfigRuleException) Error() string {
 23477  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23478  }
 23479  
 23480  // Status code returns the HTTP status code for the request's response error.
 23481  func (s *NoSuchConfigRuleException) StatusCode() int {
 23482  	return s.RespMetadata.StatusCode
 23483  }
 23484  
 23485  // RequestID returns the service's response RequestID for request.
 23486  func (s *NoSuchConfigRuleException) RequestID() string {
 23487  	return s.RespMetadata.RequestID
 23488  }
 23489  
 23490  // Config rule that you passed in the filter does not exist.
 23491  type NoSuchConfigRuleInConformancePackException struct {
 23492  	_            struct{}                  `type:"structure"`
 23493  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23494  
 23495  	Message_ *string `locationName:"message" type:"string"`
 23496  }
 23497  
 23498  // String returns the string representation.
 23499  //
 23500  // API parameter values that are decorated as "sensitive" in the API will not
 23501  // be included in the string output. The member name will be present, but the
 23502  // value will be replaced with "sensitive".
 23503  func (s NoSuchConfigRuleInConformancePackException) String() string {
 23504  	return awsutil.Prettify(s)
 23505  }
 23506  
 23507  // GoString returns the string representation.
 23508  //
 23509  // API parameter values that are decorated as "sensitive" in the API will not
 23510  // be included in the string output. The member name will be present, but the
 23511  // value will be replaced with "sensitive".
 23512  func (s NoSuchConfigRuleInConformancePackException) GoString() string {
 23513  	return s.String()
 23514  }
 23515  
 23516  func newErrorNoSuchConfigRuleInConformancePackException(v protocol.ResponseMetadata) error {
 23517  	return &NoSuchConfigRuleInConformancePackException{
 23518  		RespMetadata: v,
 23519  	}
 23520  }
 23521  
 23522  // Code returns the exception type name.
 23523  func (s *NoSuchConfigRuleInConformancePackException) Code() string {
 23524  	return "NoSuchConfigRuleInConformancePackException"
 23525  }
 23526  
 23527  // Message returns the exception's message.
 23528  func (s *NoSuchConfigRuleInConformancePackException) Message() string {
 23529  	if s.Message_ != nil {
 23530  		return *s.Message_
 23531  	}
 23532  	return ""
 23533  }
 23534  
 23535  // OrigErr always returns nil, satisfies awserr.Error interface.
 23536  func (s *NoSuchConfigRuleInConformancePackException) OrigErr() error {
 23537  	return nil
 23538  }
 23539  
 23540  func (s *NoSuchConfigRuleInConformancePackException) Error() string {
 23541  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23542  }
 23543  
 23544  // Status code returns the HTTP status code for the request's response error.
 23545  func (s *NoSuchConfigRuleInConformancePackException) StatusCode() int {
 23546  	return s.RespMetadata.StatusCode
 23547  }
 23548  
 23549  // RequestID returns the service's response RequestID for request.
 23550  func (s *NoSuchConfigRuleInConformancePackException) RequestID() string {
 23551  	return s.RespMetadata.RequestID
 23552  }
 23553  
 23554  // You have specified a configuration aggregator that does not exist.
 23555  type NoSuchConfigurationAggregatorException struct {
 23556  	_            struct{}                  `type:"structure"`
 23557  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23558  
 23559  	Message_ *string `locationName:"message" type:"string"`
 23560  }
 23561  
 23562  // String returns the string representation.
 23563  //
 23564  // API parameter values that are decorated as "sensitive" in the API will not
 23565  // be included in the string output. The member name will be present, but the
 23566  // value will be replaced with "sensitive".
 23567  func (s NoSuchConfigurationAggregatorException) String() string {
 23568  	return awsutil.Prettify(s)
 23569  }
 23570  
 23571  // GoString returns the string representation.
 23572  //
 23573  // API parameter values that are decorated as "sensitive" in the API will not
 23574  // be included in the string output. The member name will be present, but the
 23575  // value will be replaced with "sensitive".
 23576  func (s NoSuchConfigurationAggregatorException) GoString() string {
 23577  	return s.String()
 23578  }
 23579  
 23580  func newErrorNoSuchConfigurationAggregatorException(v protocol.ResponseMetadata) error {
 23581  	return &NoSuchConfigurationAggregatorException{
 23582  		RespMetadata: v,
 23583  	}
 23584  }
 23585  
 23586  // Code returns the exception type name.
 23587  func (s *NoSuchConfigurationAggregatorException) Code() string {
 23588  	return "NoSuchConfigurationAggregatorException"
 23589  }
 23590  
 23591  // Message returns the exception's message.
 23592  func (s *NoSuchConfigurationAggregatorException) Message() string {
 23593  	if s.Message_ != nil {
 23594  		return *s.Message_
 23595  	}
 23596  	return ""
 23597  }
 23598  
 23599  // OrigErr always returns nil, satisfies awserr.Error interface.
 23600  func (s *NoSuchConfigurationAggregatorException) OrigErr() error {
 23601  	return nil
 23602  }
 23603  
 23604  func (s *NoSuchConfigurationAggregatorException) Error() string {
 23605  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23606  }
 23607  
 23608  // Status code returns the HTTP status code for the request's response error.
 23609  func (s *NoSuchConfigurationAggregatorException) StatusCode() int {
 23610  	return s.RespMetadata.StatusCode
 23611  }
 23612  
 23613  // RequestID returns the service's response RequestID for request.
 23614  func (s *NoSuchConfigurationAggregatorException) RequestID() string {
 23615  	return s.RespMetadata.RequestID
 23616  }
 23617  
 23618  // You have specified a configuration recorder that does not exist.
 23619  type NoSuchConfigurationRecorderException struct {
 23620  	_            struct{}                  `type:"structure"`
 23621  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23622  
 23623  	Message_ *string `locationName:"message" type:"string"`
 23624  }
 23625  
 23626  // String returns the string representation.
 23627  //
 23628  // API parameter values that are decorated as "sensitive" in the API will not
 23629  // be included in the string output. The member name will be present, but the
 23630  // value will be replaced with "sensitive".
 23631  func (s NoSuchConfigurationRecorderException) String() string {
 23632  	return awsutil.Prettify(s)
 23633  }
 23634  
 23635  // GoString returns the string representation.
 23636  //
 23637  // API parameter values that are decorated as "sensitive" in the API will not
 23638  // be included in the string output. The member name will be present, but the
 23639  // value will be replaced with "sensitive".
 23640  func (s NoSuchConfigurationRecorderException) GoString() string {
 23641  	return s.String()
 23642  }
 23643  
 23644  func newErrorNoSuchConfigurationRecorderException(v protocol.ResponseMetadata) error {
 23645  	return &NoSuchConfigurationRecorderException{
 23646  		RespMetadata: v,
 23647  	}
 23648  }
 23649  
 23650  // Code returns the exception type name.
 23651  func (s *NoSuchConfigurationRecorderException) Code() string {
 23652  	return "NoSuchConfigurationRecorderException"
 23653  }
 23654  
 23655  // Message returns the exception's message.
 23656  func (s *NoSuchConfigurationRecorderException) Message() string {
 23657  	if s.Message_ != nil {
 23658  		return *s.Message_
 23659  	}
 23660  	return ""
 23661  }
 23662  
 23663  // OrigErr always returns nil, satisfies awserr.Error interface.
 23664  func (s *NoSuchConfigurationRecorderException) OrigErr() error {
 23665  	return nil
 23666  }
 23667  
 23668  func (s *NoSuchConfigurationRecorderException) Error() string {
 23669  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23670  }
 23671  
 23672  // Status code returns the HTTP status code for the request's response error.
 23673  func (s *NoSuchConfigurationRecorderException) StatusCode() int {
 23674  	return s.RespMetadata.StatusCode
 23675  }
 23676  
 23677  // RequestID returns the service's response RequestID for request.
 23678  func (s *NoSuchConfigurationRecorderException) RequestID() string {
 23679  	return s.RespMetadata.RequestID
 23680  }
 23681  
 23682  // You specified one or more conformance packs that do not exist.
 23683  type NoSuchConformancePackException struct {
 23684  	_            struct{}                  `type:"structure"`
 23685  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23686  
 23687  	Message_ *string `locationName:"message" type:"string"`
 23688  }
 23689  
 23690  // String returns the string representation.
 23691  //
 23692  // API parameter values that are decorated as "sensitive" in the API will not
 23693  // be included in the string output. The member name will be present, but the
 23694  // value will be replaced with "sensitive".
 23695  func (s NoSuchConformancePackException) String() string {
 23696  	return awsutil.Prettify(s)
 23697  }
 23698  
 23699  // GoString returns the string representation.
 23700  //
 23701  // API parameter values that are decorated as "sensitive" in the API will not
 23702  // be included in the string output. The member name will be present, but the
 23703  // value will be replaced with "sensitive".
 23704  func (s NoSuchConformancePackException) GoString() string {
 23705  	return s.String()
 23706  }
 23707  
 23708  func newErrorNoSuchConformancePackException(v protocol.ResponseMetadata) error {
 23709  	return &NoSuchConformancePackException{
 23710  		RespMetadata: v,
 23711  	}
 23712  }
 23713  
 23714  // Code returns the exception type name.
 23715  func (s *NoSuchConformancePackException) Code() string {
 23716  	return "NoSuchConformancePackException"
 23717  }
 23718  
 23719  // Message returns the exception's message.
 23720  func (s *NoSuchConformancePackException) Message() string {
 23721  	if s.Message_ != nil {
 23722  		return *s.Message_
 23723  	}
 23724  	return ""
 23725  }
 23726  
 23727  // OrigErr always returns nil, satisfies awserr.Error interface.
 23728  func (s *NoSuchConformancePackException) OrigErr() error {
 23729  	return nil
 23730  }
 23731  
 23732  func (s *NoSuchConformancePackException) Error() string {
 23733  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23734  }
 23735  
 23736  // Status code returns the HTTP status code for the request's response error.
 23737  func (s *NoSuchConformancePackException) StatusCode() int {
 23738  	return s.RespMetadata.StatusCode
 23739  }
 23740  
 23741  // RequestID returns the service's response RequestID for request.
 23742  func (s *NoSuchConformancePackException) RequestID() string {
 23743  	return s.RespMetadata.RequestID
 23744  }
 23745  
 23746  // You have specified a delivery channel that does not exist.
 23747  type NoSuchDeliveryChannelException struct {
 23748  	_            struct{}                  `type:"structure"`
 23749  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23750  
 23751  	Message_ *string `locationName:"message" type:"string"`
 23752  }
 23753  
 23754  // String returns the string representation.
 23755  //
 23756  // API parameter values that are decorated as "sensitive" in the API will not
 23757  // be included in the string output. The member name will be present, but the
 23758  // value will be replaced with "sensitive".
 23759  func (s NoSuchDeliveryChannelException) String() string {
 23760  	return awsutil.Prettify(s)
 23761  }
 23762  
 23763  // GoString returns the string representation.
 23764  //
 23765  // API parameter values that are decorated as "sensitive" in the API will not
 23766  // be included in the string output. The member name will be present, but the
 23767  // value will be replaced with "sensitive".
 23768  func (s NoSuchDeliveryChannelException) GoString() string {
 23769  	return s.String()
 23770  }
 23771  
 23772  func newErrorNoSuchDeliveryChannelException(v protocol.ResponseMetadata) error {
 23773  	return &NoSuchDeliveryChannelException{
 23774  		RespMetadata: v,
 23775  	}
 23776  }
 23777  
 23778  // Code returns the exception type name.
 23779  func (s *NoSuchDeliveryChannelException) Code() string {
 23780  	return "NoSuchDeliveryChannelException"
 23781  }
 23782  
 23783  // Message returns the exception's message.
 23784  func (s *NoSuchDeliveryChannelException) Message() string {
 23785  	if s.Message_ != nil {
 23786  		return *s.Message_
 23787  	}
 23788  	return ""
 23789  }
 23790  
 23791  // OrigErr always returns nil, satisfies awserr.Error interface.
 23792  func (s *NoSuchDeliveryChannelException) OrigErr() error {
 23793  	return nil
 23794  }
 23795  
 23796  func (s *NoSuchDeliveryChannelException) Error() string {
 23797  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23798  }
 23799  
 23800  // Status code returns the HTTP status code for the request's response error.
 23801  func (s *NoSuchDeliveryChannelException) StatusCode() int {
 23802  	return s.RespMetadata.StatusCode
 23803  }
 23804  
 23805  // RequestID returns the service's response RequestID for request.
 23806  func (s *NoSuchDeliveryChannelException) RequestID() string {
 23807  	return s.RespMetadata.RequestID
 23808  }
 23809  
 23810  // You specified one or more organization config rules that do not exist.
 23811  type NoSuchOrganizationConfigRuleException struct {
 23812  	_            struct{}                  `type:"structure"`
 23813  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23814  
 23815  	Message_ *string `locationName:"message" type:"string"`
 23816  }
 23817  
 23818  // String returns the string representation.
 23819  //
 23820  // API parameter values that are decorated as "sensitive" in the API will not
 23821  // be included in the string output. The member name will be present, but the
 23822  // value will be replaced with "sensitive".
 23823  func (s NoSuchOrganizationConfigRuleException) String() string {
 23824  	return awsutil.Prettify(s)
 23825  }
 23826  
 23827  // GoString returns the string representation.
 23828  //
 23829  // API parameter values that are decorated as "sensitive" in the API will not
 23830  // be included in the string output. The member name will be present, but the
 23831  // value will be replaced with "sensitive".
 23832  func (s NoSuchOrganizationConfigRuleException) GoString() string {
 23833  	return s.String()
 23834  }
 23835  
 23836  func newErrorNoSuchOrganizationConfigRuleException(v protocol.ResponseMetadata) error {
 23837  	return &NoSuchOrganizationConfigRuleException{
 23838  		RespMetadata: v,
 23839  	}
 23840  }
 23841  
 23842  // Code returns the exception type name.
 23843  func (s *NoSuchOrganizationConfigRuleException) Code() string {
 23844  	return "NoSuchOrganizationConfigRuleException"
 23845  }
 23846  
 23847  // Message returns the exception's message.
 23848  func (s *NoSuchOrganizationConfigRuleException) Message() string {
 23849  	if s.Message_ != nil {
 23850  		return *s.Message_
 23851  	}
 23852  	return ""
 23853  }
 23854  
 23855  // OrigErr always returns nil, satisfies awserr.Error interface.
 23856  func (s *NoSuchOrganizationConfigRuleException) OrigErr() error {
 23857  	return nil
 23858  }
 23859  
 23860  func (s *NoSuchOrganizationConfigRuleException) Error() string {
 23861  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23862  }
 23863  
 23864  // Status code returns the HTTP status code for the request's response error.
 23865  func (s *NoSuchOrganizationConfigRuleException) StatusCode() int {
 23866  	return s.RespMetadata.StatusCode
 23867  }
 23868  
 23869  // RequestID returns the service's response RequestID for request.
 23870  func (s *NoSuchOrganizationConfigRuleException) RequestID() string {
 23871  	return s.RespMetadata.RequestID
 23872  }
 23873  
 23874  // Config organization conformance pack that you passed in the filter does not
 23875  // exist.
 23876  //
 23877  // For DeleteOrganizationConformancePack, you tried to delete an organization
 23878  // conformance pack that does not exist.
 23879  type NoSuchOrganizationConformancePackException struct {
 23880  	_            struct{}                  `type:"structure"`
 23881  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23882  
 23883  	Message_ *string `locationName:"message" type:"string"`
 23884  }
 23885  
 23886  // String returns the string representation.
 23887  //
 23888  // API parameter values that are decorated as "sensitive" in the API will not
 23889  // be included in the string output. The member name will be present, but the
 23890  // value will be replaced with "sensitive".
 23891  func (s NoSuchOrganizationConformancePackException) String() string {
 23892  	return awsutil.Prettify(s)
 23893  }
 23894  
 23895  // GoString returns the string representation.
 23896  //
 23897  // API parameter values that are decorated as "sensitive" in the API will not
 23898  // be included in the string output. The member name will be present, but the
 23899  // value will be replaced with "sensitive".
 23900  func (s NoSuchOrganizationConformancePackException) GoString() string {
 23901  	return s.String()
 23902  }
 23903  
 23904  func newErrorNoSuchOrganizationConformancePackException(v protocol.ResponseMetadata) error {
 23905  	return &NoSuchOrganizationConformancePackException{
 23906  		RespMetadata: v,
 23907  	}
 23908  }
 23909  
 23910  // Code returns the exception type name.
 23911  func (s *NoSuchOrganizationConformancePackException) Code() string {
 23912  	return "NoSuchOrganizationConformancePackException"
 23913  }
 23914  
 23915  // Message returns the exception's message.
 23916  func (s *NoSuchOrganizationConformancePackException) Message() string {
 23917  	if s.Message_ != nil {
 23918  		return *s.Message_
 23919  	}
 23920  	return ""
 23921  }
 23922  
 23923  // OrigErr always returns nil, satisfies awserr.Error interface.
 23924  func (s *NoSuchOrganizationConformancePackException) OrigErr() error {
 23925  	return nil
 23926  }
 23927  
 23928  func (s *NoSuchOrganizationConformancePackException) Error() string {
 23929  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23930  }
 23931  
 23932  // Status code returns the HTTP status code for the request's response error.
 23933  func (s *NoSuchOrganizationConformancePackException) StatusCode() int {
 23934  	return s.RespMetadata.StatusCode
 23935  }
 23936  
 23937  // RequestID returns the service's response RequestID for request.
 23938  func (s *NoSuchOrganizationConformancePackException) RequestID() string {
 23939  	return s.RespMetadata.RequestID
 23940  }
 23941  
 23942  // You specified an Config rule without a remediation configuration.
 23943  type NoSuchRemediationConfigurationException struct {
 23944  	_            struct{}                  `type:"structure"`
 23945  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23946  
 23947  	Message_ *string `locationName:"message" type:"string"`
 23948  }
 23949  
 23950  // String returns the string representation.
 23951  //
 23952  // API parameter values that are decorated as "sensitive" in the API will not
 23953  // be included in the string output. The member name will be present, but the
 23954  // value will be replaced with "sensitive".
 23955  func (s NoSuchRemediationConfigurationException) String() string {
 23956  	return awsutil.Prettify(s)
 23957  }
 23958  
 23959  // GoString returns the string representation.
 23960  //
 23961  // API parameter values that are decorated as "sensitive" in the API will not
 23962  // be included in the string output. The member name will be present, but the
 23963  // value will be replaced with "sensitive".
 23964  func (s NoSuchRemediationConfigurationException) GoString() string {
 23965  	return s.String()
 23966  }
 23967  
 23968  func newErrorNoSuchRemediationConfigurationException(v protocol.ResponseMetadata) error {
 23969  	return &NoSuchRemediationConfigurationException{
 23970  		RespMetadata: v,
 23971  	}
 23972  }
 23973  
 23974  // Code returns the exception type name.
 23975  func (s *NoSuchRemediationConfigurationException) Code() string {
 23976  	return "NoSuchRemediationConfigurationException"
 23977  }
 23978  
 23979  // Message returns the exception's message.
 23980  func (s *NoSuchRemediationConfigurationException) Message() string {
 23981  	if s.Message_ != nil {
 23982  		return *s.Message_
 23983  	}
 23984  	return ""
 23985  }
 23986  
 23987  // OrigErr always returns nil, satisfies awserr.Error interface.
 23988  func (s *NoSuchRemediationConfigurationException) OrigErr() error {
 23989  	return nil
 23990  }
 23991  
 23992  func (s *NoSuchRemediationConfigurationException) Error() string {
 23993  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23994  }
 23995  
 23996  // Status code returns the HTTP status code for the request's response error.
 23997  func (s *NoSuchRemediationConfigurationException) StatusCode() int {
 23998  	return s.RespMetadata.StatusCode
 23999  }
 24000  
 24001  // RequestID returns the service's response RequestID for request.
 24002  func (s *NoSuchRemediationConfigurationException) RequestID() string {
 24003  	return s.RespMetadata.RequestID
 24004  }
 24005  
 24006  // You tried to delete a remediation exception that does not exist.
 24007  type NoSuchRemediationExceptionException struct {
 24008  	_            struct{}                  `type:"structure"`
 24009  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24010  
 24011  	Message_ *string `locationName:"message" type:"string"`
 24012  }
 24013  
 24014  // String returns the string representation.
 24015  //
 24016  // API parameter values that are decorated as "sensitive" in the API will not
 24017  // be included in the string output. The member name will be present, but the
 24018  // value will be replaced with "sensitive".
 24019  func (s NoSuchRemediationExceptionException) String() string {
 24020  	return awsutil.Prettify(s)
 24021  }
 24022  
 24023  // GoString returns the string representation.
 24024  //
 24025  // API parameter values that are decorated as "sensitive" in the API will not
 24026  // be included in the string output. The member name will be present, but the
 24027  // value will be replaced with "sensitive".
 24028  func (s NoSuchRemediationExceptionException) GoString() string {
 24029  	return s.String()
 24030  }
 24031  
 24032  func newErrorNoSuchRemediationExceptionException(v protocol.ResponseMetadata) error {
 24033  	return &NoSuchRemediationExceptionException{
 24034  		RespMetadata: v,
 24035  	}
 24036  }
 24037  
 24038  // Code returns the exception type name.
 24039  func (s *NoSuchRemediationExceptionException) Code() string {
 24040  	return "NoSuchRemediationExceptionException"
 24041  }
 24042  
 24043  // Message returns the exception's message.
 24044  func (s *NoSuchRemediationExceptionException) Message() string {
 24045  	if s.Message_ != nil {
 24046  		return *s.Message_
 24047  	}
 24048  	return ""
 24049  }
 24050  
 24051  // OrigErr always returns nil, satisfies awserr.Error interface.
 24052  func (s *NoSuchRemediationExceptionException) OrigErr() error {
 24053  	return nil
 24054  }
 24055  
 24056  func (s *NoSuchRemediationExceptionException) Error() string {
 24057  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24058  }
 24059  
 24060  // Status code returns the HTTP status code for the request's response error.
 24061  func (s *NoSuchRemediationExceptionException) StatusCode() int {
 24062  	return s.RespMetadata.StatusCode
 24063  }
 24064  
 24065  // RequestID returns the service's response RequestID for request.
 24066  func (s *NoSuchRemediationExceptionException) RequestID() string {
 24067  	return s.RespMetadata.RequestID
 24068  }
 24069  
 24070  // You have specified a retention configuration that does not exist.
 24071  type NoSuchRetentionConfigurationException struct {
 24072  	_            struct{}                  `type:"structure"`
 24073  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24074  
 24075  	Message_ *string `locationName:"message" type:"string"`
 24076  }
 24077  
 24078  // String returns the string representation.
 24079  //
 24080  // API parameter values that are decorated as "sensitive" in the API will not
 24081  // be included in the string output. The member name will be present, but the
 24082  // value will be replaced with "sensitive".
 24083  func (s NoSuchRetentionConfigurationException) String() string {
 24084  	return awsutil.Prettify(s)
 24085  }
 24086  
 24087  // GoString returns the string representation.
 24088  //
 24089  // API parameter values that are decorated as "sensitive" in the API will not
 24090  // be included in the string output. The member name will be present, but the
 24091  // value will be replaced with "sensitive".
 24092  func (s NoSuchRetentionConfigurationException) GoString() string {
 24093  	return s.String()
 24094  }
 24095  
 24096  func newErrorNoSuchRetentionConfigurationException(v protocol.ResponseMetadata) error {
 24097  	return &NoSuchRetentionConfigurationException{
 24098  		RespMetadata: v,
 24099  	}
 24100  }
 24101  
 24102  // Code returns the exception type name.
 24103  func (s *NoSuchRetentionConfigurationException) Code() string {
 24104  	return "NoSuchRetentionConfigurationException"
 24105  }
 24106  
 24107  // Message returns the exception's message.
 24108  func (s *NoSuchRetentionConfigurationException) Message() string {
 24109  	if s.Message_ != nil {
 24110  		return *s.Message_
 24111  	}
 24112  	return ""
 24113  }
 24114  
 24115  // OrigErr always returns nil, satisfies awserr.Error interface.
 24116  func (s *NoSuchRetentionConfigurationException) OrigErr() error {
 24117  	return nil
 24118  }
 24119  
 24120  func (s *NoSuchRetentionConfigurationException) Error() string {
 24121  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24122  }
 24123  
 24124  // Status code returns the HTTP status code for the request's response error.
 24125  func (s *NoSuchRetentionConfigurationException) StatusCode() int {
 24126  	return s.RespMetadata.StatusCode
 24127  }
 24128  
 24129  // RequestID returns the service's response RequestID for request.
 24130  func (s *NoSuchRetentionConfigurationException) RequestID() string {
 24131  	return s.RespMetadata.RequestID
 24132  }
 24133  
 24134  // For PutConfigurationAggregator API, you can see this exception for the following
 24135  // reasons:
 24136  //
 24137  //    * No permission to call EnableAWSServiceAccess API
 24138  //
 24139  //    * The configuration aggregator cannot be updated because your Amazon Web
 24140  //    Services Organization management account or the delegated administrator
 24141  //    role changed. Delete this aggregator and create a new one with the current
 24142  //    Amazon Web Services Organization.
 24143  //
 24144  //    * The configuration aggregator is associated with a previous Amazon Web
 24145  //    Services Organization and Config cannot aggregate data with current Amazon
 24146  //    Web Services Organization. Delete this aggregator and create a new one
 24147  //    with the current Amazon Web Services Organization.
 24148  //
 24149  //    * You are not a registered delegated administrator for Config with permissions
 24150  //    to call ListDelegatedAdministrators API. Ensure that the management account
 24151  //    registers delagated administrator for Config service principle name before
 24152  //    the delegated administrator creates an aggregator.
 24153  //
 24154  // For all OrganizationConfigRule and OrganizationConformancePack APIs, Config
 24155  // throws an exception if APIs are called from member accounts. All APIs must
 24156  // be called from organization master account.
 24157  type OrganizationAccessDeniedException struct {
 24158  	_            struct{}                  `type:"structure"`
 24159  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24160  
 24161  	Message_ *string `locationName:"message" type:"string"`
 24162  }
 24163  
 24164  // String returns the string representation.
 24165  //
 24166  // API parameter values that are decorated as "sensitive" in the API will not
 24167  // be included in the string output. The member name will be present, but the
 24168  // value will be replaced with "sensitive".
 24169  func (s OrganizationAccessDeniedException) String() string {
 24170  	return awsutil.Prettify(s)
 24171  }
 24172  
 24173  // GoString returns the string representation.
 24174  //
 24175  // API parameter values that are decorated as "sensitive" in the API will not
 24176  // be included in the string output. The member name will be present, but the
 24177  // value will be replaced with "sensitive".
 24178  func (s OrganizationAccessDeniedException) GoString() string {
 24179  	return s.String()
 24180  }
 24181  
 24182  func newErrorOrganizationAccessDeniedException(v protocol.ResponseMetadata) error {
 24183  	return &OrganizationAccessDeniedException{
 24184  		RespMetadata: v,
 24185  	}
 24186  }
 24187  
 24188  // Code returns the exception type name.
 24189  func (s *OrganizationAccessDeniedException) Code() string {
 24190  	return "OrganizationAccessDeniedException"
 24191  }
 24192  
 24193  // Message returns the exception's message.
 24194  func (s *OrganizationAccessDeniedException) Message() string {
 24195  	if s.Message_ != nil {
 24196  		return *s.Message_
 24197  	}
 24198  	return ""
 24199  }
 24200  
 24201  // OrigErr always returns nil, satisfies awserr.Error interface.
 24202  func (s *OrganizationAccessDeniedException) OrigErr() error {
 24203  	return nil
 24204  }
 24205  
 24206  func (s *OrganizationAccessDeniedException) Error() string {
 24207  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24208  }
 24209  
 24210  // Status code returns the HTTP status code for the request's response error.
 24211  func (s *OrganizationAccessDeniedException) StatusCode() int {
 24212  	return s.RespMetadata.StatusCode
 24213  }
 24214  
 24215  // RequestID returns the service's response RequestID for request.
 24216  func (s *OrganizationAccessDeniedException) RequestID() string {
 24217  	return s.RespMetadata.RequestID
 24218  }
 24219  
 24220  // This object contains regions to set up the aggregator and an IAM role to
 24221  // retrieve organization details.
 24222  type OrganizationAggregationSource struct {
 24223  	_ struct{} `type:"structure"`
 24224  
 24225  	// If true, aggregate existing Config regions and future regions.
 24226  	AllAwsRegions *bool `type:"boolean"`
 24227  
 24228  	// The source regions being aggregated.
 24229  	AwsRegions []*string `min:"1" type:"list"`
 24230  
 24231  	// ARN of the IAM role used to retrieve Amazon Web Services Organization details
 24232  	// associated with the aggregator account.
 24233  	//
 24234  	// RoleArn is a required field
 24235  	RoleArn *string `type:"string" required:"true"`
 24236  }
 24237  
 24238  // String returns the string representation.
 24239  //
 24240  // API parameter values that are decorated as "sensitive" in the API will not
 24241  // be included in the string output. The member name will be present, but the
 24242  // value will be replaced with "sensitive".
 24243  func (s OrganizationAggregationSource) String() string {
 24244  	return awsutil.Prettify(s)
 24245  }
 24246  
 24247  // GoString returns the string representation.
 24248  //
 24249  // API parameter values that are decorated as "sensitive" in the API will not
 24250  // be included in the string output. The member name will be present, but the
 24251  // value will be replaced with "sensitive".
 24252  func (s OrganizationAggregationSource) GoString() string {
 24253  	return s.String()
 24254  }
 24255  
 24256  // Validate inspects the fields of the type to determine if they are valid.
 24257  func (s *OrganizationAggregationSource) Validate() error {
 24258  	invalidParams := request.ErrInvalidParams{Context: "OrganizationAggregationSource"}
 24259  	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
 24260  		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
 24261  	}
 24262  	if s.RoleArn == nil {
 24263  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 24264  	}
 24265  
 24266  	if invalidParams.Len() > 0 {
 24267  		return invalidParams
 24268  	}
 24269  	return nil
 24270  }
 24271  
 24272  // SetAllAwsRegions sets the AllAwsRegions field's value.
 24273  func (s *OrganizationAggregationSource) SetAllAwsRegions(v bool) *OrganizationAggregationSource {
 24274  	s.AllAwsRegions = &v
 24275  	return s
 24276  }
 24277  
 24278  // SetAwsRegions sets the AwsRegions field's value.
 24279  func (s *OrganizationAggregationSource) SetAwsRegions(v []*string) *OrganizationAggregationSource {
 24280  	s.AwsRegions = v
 24281  	return s
 24282  }
 24283  
 24284  // SetRoleArn sets the RoleArn field's value.
 24285  func (s *OrganizationAggregationSource) SetRoleArn(v string) *OrganizationAggregationSource {
 24286  	s.RoleArn = &v
 24287  	return s
 24288  }
 24289  
 24290  // Config resource cannot be created because your organization does not have
 24291  // all features enabled.
 24292  type OrganizationAllFeaturesNotEnabledException struct {
 24293  	_            struct{}                  `type:"structure"`
 24294  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24295  
 24296  	Message_ *string `locationName:"message" type:"string"`
 24297  }
 24298  
 24299  // String returns the string representation.
 24300  //
 24301  // API parameter values that are decorated as "sensitive" in the API will not
 24302  // be included in the string output. The member name will be present, but the
 24303  // value will be replaced with "sensitive".
 24304  func (s OrganizationAllFeaturesNotEnabledException) String() string {
 24305  	return awsutil.Prettify(s)
 24306  }
 24307  
 24308  // GoString returns the string representation.
 24309  //
 24310  // API parameter values that are decorated as "sensitive" in the API will not
 24311  // be included in the string output. The member name will be present, but the
 24312  // value will be replaced with "sensitive".
 24313  func (s OrganizationAllFeaturesNotEnabledException) GoString() string {
 24314  	return s.String()
 24315  }
 24316  
 24317  func newErrorOrganizationAllFeaturesNotEnabledException(v protocol.ResponseMetadata) error {
 24318  	return &OrganizationAllFeaturesNotEnabledException{
 24319  		RespMetadata: v,
 24320  	}
 24321  }
 24322  
 24323  // Code returns the exception type name.
 24324  func (s *OrganizationAllFeaturesNotEnabledException) Code() string {
 24325  	return "OrganizationAllFeaturesNotEnabledException"
 24326  }
 24327  
 24328  // Message returns the exception's message.
 24329  func (s *OrganizationAllFeaturesNotEnabledException) Message() string {
 24330  	if s.Message_ != nil {
 24331  		return *s.Message_
 24332  	}
 24333  	return ""
 24334  }
 24335  
 24336  // OrigErr always returns nil, satisfies awserr.Error interface.
 24337  func (s *OrganizationAllFeaturesNotEnabledException) OrigErr() error {
 24338  	return nil
 24339  }
 24340  
 24341  func (s *OrganizationAllFeaturesNotEnabledException) Error() string {
 24342  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24343  }
 24344  
 24345  // Status code returns the HTTP status code for the request's response error.
 24346  func (s *OrganizationAllFeaturesNotEnabledException) StatusCode() int {
 24347  	return s.RespMetadata.StatusCode
 24348  }
 24349  
 24350  // RequestID returns the service's response RequestID for request.
 24351  func (s *OrganizationAllFeaturesNotEnabledException) RequestID() string {
 24352  	return s.RespMetadata.RequestID
 24353  }
 24354  
 24355  // An organization config rule that has information about config rules that
 24356  // Config creates in member accounts.
 24357  type OrganizationConfigRule struct {
 24358  	_ struct{} `type:"structure"`
 24359  
 24360  	// A comma-separated list of accounts excluded from organization config rule.
 24361  	ExcludedAccounts []*string `type:"list"`
 24362  
 24363  	// The timestamp of the last update.
 24364  	LastUpdateTime *time.Time `type:"timestamp"`
 24365  
 24366  	// Amazon Resource Name (ARN) of organization config rule.
 24367  	//
 24368  	// OrganizationConfigRuleArn is a required field
 24369  	OrganizationConfigRuleArn *string `min:"1" type:"string" required:"true"`
 24370  
 24371  	// The name that you assign to organization config rule.
 24372  	//
 24373  	// OrganizationConfigRuleName is a required field
 24374  	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
 24375  
 24376  	// An OrganizationCustomRuleMetadata object.
 24377  	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
 24378  
 24379  	// An OrganizationManagedRuleMetadata object.
 24380  	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
 24381  }
 24382  
 24383  // String returns the string representation.
 24384  //
 24385  // API parameter values that are decorated as "sensitive" in the API will not
 24386  // be included in the string output. The member name will be present, but the
 24387  // value will be replaced with "sensitive".
 24388  func (s OrganizationConfigRule) String() string {
 24389  	return awsutil.Prettify(s)
 24390  }
 24391  
 24392  // GoString returns the string representation.
 24393  //
 24394  // API parameter values that are decorated as "sensitive" in the API will not
 24395  // be included in the string output. The member name will be present, but the
 24396  // value will be replaced with "sensitive".
 24397  func (s OrganizationConfigRule) GoString() string {
 24398  	return s.String()
 24399  }
 24400  
 24401  // SetExcludedAccounts sets the ExcludedAccounts field's value.
 24402  func (s *OrganizationConfigRule) SetExcludedAccounts(v []*string) *OrganizationConfigRule {
 24403  	s.ExcludedAccounts = v
 24404  	return s
 24405  }
 24406  
 24407  // SetLastUpdateTime sets the LastUpdateTime field's value.
 24408  func (s *OrganizationConfigRule) SetLastUpdateTime(v time.Time) *OrganizationConfigRule {
 24409  	s.LastUpdateTime = &v
 24410  	return s
 24411  }
 24412  
 24413  // SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
 24414  func (s *OrganizationConfigRule) SetOrganizationConfigRuleArn(v string) *OrganizationConfigRule {
 24415  	s.OrganizationConfigRuleArn = &v
 24416  	return s
 24417  }
 24418  
 24419  // SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
 24420  func (s *OrganizationConfigRule) SetOrganizationConfigRuleName(v string) *OrganizationConfigRule {
 24421  	s.OrganizationConfigRuleName = &v
 24422  	return s
 24423  }
 24424  
 24425  // SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
 24426  func (s *OrganizationConfigRule) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *OrganizationConfigRule {
 24427  	s.OrganizationCustomRuleMetadata = v
 24428  	return s
 24429  }
 24430  
 24431  // SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
 24432  func (s *OrganizationConfigRule) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *OrganizationConfigRule {
 24433  	s.OrganizationManagedRuleMetadata = v
 24434  	return s
 24435  }
 24436  
 24437  // Returns the status for an organization config rule in an organization.
 24438  type OrganizationConfigRuleStatus struct {
 24439  	_ struct{} `type:"structure"`
 24440  
 24441  	// An error code that is returned when organization config rule creation or
 24442  	// deletion has failed.
 24443  	ErrorCode *string `type:"string"`
 24444  
 24445  	// An error message indicating that organization config rule creation or deletion
 24446  	// failed due to an error.
 24447  	ErrorMessage *string `type:"string"`
 24448  
 24449  	// The timestamp of the last update.
 24450  	LastUpdateTime *time.Time `type:"timestamp"`
 24451  
 24452  	// The name that you assign to organization config rule.
 24453  	//
 24454  	// OrganizationConfigRuleName is a required field
 24455  	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
 24456  
 24457  	// Indicates deployment status of an organization config rule. When master account
 24458  	// calls PutOrganizationConfigRule action for the first time, config rule status
 24459  	// is created in all the member accounts. When master account calls PutOrganizationConfigRule
 24460  	// action for the second time, config rule status is updated in all the member
 24461  	// accounts. Additionally, config rule status is updated when one or more member
 24462  	// accounts join or leave an organization. Config rule status is deleted when
 24463  	// the master account deletes OrganizationConfigRule in all the member accounts
 24464  	// and disables service access for config-multiaccountsetup.amazonaws.com.
 24465  	//
 24466  	// Config sets the state of the rule to:
 24467  	//
 24468  	//    * CREATE_SUCCESSFUL when an organization config rule has been successfully
 24469  	//    created in all the member accounts.
 24470  	//
 24471  	//    * CREATE_IN_PROGRESS when an organization config rule creation is in progress.
 24472  	//
 24473  	//    * CREATE_FAILED when an organization config rule creation failed in one
 24474  	//    or more member accounts within that organization.
 24475  	//
 24476  	//    * DELETE_FAILED when an organization config rule deletion failed in one
 24477  	//    or more member accounts within that organization.
 24478  	//
 24479  	//    * DELETE_IN_PROGRESS when an organization config rule deletion is in progress.
 24480  	//
 24481  	//    * DELETE_SUCCESSFUL when an organization config rule has been successfully
 24482  	//    deleted from all the member accounts.
 24483  	//
 24484  	//    * UPDATE_SUCCESSFUL when an organization config rule has been successfully
 24485  	//    updated in all the member accounts.
 24486  	//
 24487  	//    * UPDATE_IN_PROGRESS when an organization config rule update is in progress.
 24488  	//
 24489  	//    * UPDATE_FAILED when an organization config rule update failed in one
 24490  	//    or more member accounts within that organization.
 24491  	//
 24492  	// OrganizationRuleStatus is a required field
 24493  	OrganizationRuleStatus *string `type:"string" required:"true" enum:"OrganizationRuleStatus"`
 24494  }
 24495  
 24496  // String returns the string representation.
 24497  //
 24498  // API parameter values that are decorated as "sensitive" in the API will not
 24499  // be included in the string output. The member name will be present, but the
 24500  // value will be replaced with "sensitive".
 24501  func (s OrganizationConfigRuleStatus) String() string {
 24502  	return awsutil.Prettify(s)
 24503  }
 24504  
 24505  // GoString returns the string representation.
 24506  //
 24507  // API parameter values that are decorated as "sensitive" in the API will not
 24508  // be included in the string output. The member name will be present, but the
 24509  // value will be replaced with "sensitive".
 24510  func (s OrganizationConfigRuleStatus) GoString() string {
 24511  	return s.String()
 24512  }
 24513  
 24514  // SetErrorCode sets the ErrorCode field's value.
 24515  func (s *OrganizationConfigRuleStatus) SetErrorCode(v string) *OrganizationConfigRuleStatus {
 24516  	s.ErrorCode = &v
 24517  	return s
 24518  }
 24519  
 24520  // SetErrorMessage sets the ErrorMessage field's value.
 24521  func (s *OrganizationConfigRuleStatus) SetErrorMessage(v string) *OrganizationConfigRuleStatus {
 24522  	s.ErrorMessage = &v
 24523  	return s
 24524  }
 24525  
 24526  // SetLastUpdateTime sets the LastUpdateTime field's value.
 24527  func (s *OrganizationConfigRuleStatus) SetLastUpdateTime(v time.Time) *OrganizationConfigRuleStatus {
 24528  	s.LastUpdateTime = &v
 24529  	return s
 24530  }
 24531  
 24532  // SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
 24533  func (s *OrganizationConfigRuleStatus) SetOrganizationConfigRuleName(v string) *OrganizationConfigRuleStatus {
 24534  	s.OrganizationConfigRuleName = &v
 24535  	return s
 24536  }
 24537  
 24538  // SetOrganizationRuleStatus sets the OrganizationRuleStatus field's value.
 24539  func (s *OrganizationConfigRuleStatus) SetOrganizationRuleStatus(v string) *OrganizationConfigRuleStatus {
 24540  	s.OrganizationRuleStatus = &v
 24541  	return s
 24542  }
 24543  
 24544  // An organization conformance pack that has information about conformance packs
 24545  // that Config creates in member accounts.
 24546  type OrganizationConformancePack struct {
 24547  	_ struct{} `type:"structure"`
 24548  
 24549  	// A list of ConformancePackInputParameter objects.
 24550  	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
 24551  
 24552  	// The name of the Amazon S3 bucket where Config stores conformance pack templates.
 24553  	//
 24554  	// This field is optional.
 24555  	DeliveryS3Bucket *string `type:"string"`
 24556  
 24557  	// Any folder structure you want to add to an Amazon S3 bucket.
 24558  	//
 24559  	// This field is optional.
 24560  	DeliveryS3KeyPrefix *string `type:"string"`
 24561  
 24562  	// A comma-separated list of accounts excluded from organization conformance
 24563  	// pack.
 24564  	ExcludedAccounts []*string `type:"list"`
 24565  
 24566  	// Last time when organization conformation pack was updated.
 24567  	//
 24568  	// LastUpdateTime is a required field
 24569  	LastUpdateTime *time.Time `type:"timestamp" required:"true"`
 24570  
 24571  	// Amazon Resource Name (ARN) of organization conformance pack.
 24572  	//
 24573  	// OrganizationConformancePackArn is a required field
 24574  	OrganizationConformancePackArn *string `min:"1" type:"string" required:"true"`
 24575  
 24576  	// The name you assign to an organization conformance pack.
 24577  	//
 24578  	// OrganizationConformancePackName is a required field
 24579  	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
 24580  }
 24581  
 24582  // String returns the string representation.
 24583  //
 24584  // API parameter values that are decorated as "sensitive" in the API will not
 24585  // be included in the string output. The member name will be present, but the
 24586  // value will be replaced with "sensitive".
 24587  func (s OrganizationConformancePack) String() string {
 24588  	return awsutil.Prettify(s)
 24589  }
 24590  
 24591  // GoString returns the string representation.
 24592  //
 24593  // API parameter values that are decorated as "sensitive" in the API will not
 24594  // be included in the string output. The member name will be present, but the
 24595  // value will be replaced with "sensitive".
 24596  func (s OrganizationConformancePack) GoString() string {
 24597  	return s.String()
 24598  }
 24599  
 24600  // SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
 24601  func (s *OrganizationConformancePack) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *OrganizationConformancePack {
 24602  	s.ConformancePackInputParameters = v
 24603  	return s
 24604  }
 24605  
 24606  // SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
 24607  func (s *OrganizationConformancePack) SetDeliveryS3Bucket(v string) *OrganizationConformancePack {
 24608  	s.DeliveryS3Bucket = &v
 24609  	return s
 24610  }
 24611  
 24612  // SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
 24613  func (s *OrganizationConformancePack) SetDeliveryS3KeyPrefix(v string) *OrganizationConformancePack {
 24614  	s.DeliveryS3KeyPrefix = &v
 24615  	return s
 24616  }
 24617  
 24618  // SetExcludedAccounts sets the ExcludedAccounts field's value.
 24619  func (s *OrganizationConformancePack) SetExcludedAccounts(v []*string) *OrganizationConformancePack {
 24620  	s.ExcludedAccounts = v
 24621  	return s
 24622  }
 24623  
 24624  // SetLastUpdateTime sets the LastUpdateTime field's value.
 24625  func (s *OrganizationConformancePack) SetLastUpdateTime(v time.Time) *OrganizationConformancePack {
 24626  	s.LastUpdateTime = &v
 24627  	return s
 24628  }
 24629  
 24630  // SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
 24631  func (s *OrganizationConformancePack) SetOrganizationConformancePackArn(v string) *OrganizationConformancePack {
 24632  	s.OrganizationConformancePackArn = &v
 24633  	return s
 24634  }
 24635  
 24636  // SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
 24637  func (s *OrganizationConformancePack) SetOrganizationConformancePackName(v string) *OrganizationConformancePack {
 24638  	s.OrganizationConformancePackName = &v
 24639  	return s
 24640  }
 24641  
 24642  // Organization conformance pack creation or deletion status in each member
 24643  // account. This includes the name of the conformance pack, the status, error
 24644  // code and error message when the conformance pack creation or deletion failed.
 24645  type OrganizationConformancePackDetailedStatus struct {
 24646  	_ struct{} `type:"structure"`
 24647  
 24648  	// The 12-digit account ID of a member account.
 24649  	//
 24650  	// AccountId is a required field
 24651  	AccountId *string `type:"string" required:"true"`
 24652  
 24653  	// The name of conformance pack deployed in the member account.
 24654  	//
 24655  	// ConformancePackName is a required field
 24656  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 24657  
 24658  	// An error code that is returned when conformance pack creation or deletion
 24659  	// failed in the member account.
 24660  	ErrorCode *string `type:"string"`
 24661  
 24662  	// An error message indicating that conformance pack account creation or deletion
 24663  	// has failed due to an error in the member account.
 24664  	ErrorMessage *string `type:"string"`
 24665  
 24666  	// The timestamp of the last status update.
 24667  	LastUpdateTime *time.Time `type:"timestamp"`
 24668  
 24669  	// Indicates deployment status for conformance pack in a member account. When
 24670  	// master account calls PutOrganizationConformancePack action for the first
 24671  	// time, conformance pack status is created in the member account. When master
 24672  	// account calls PutOrganizationConformancePack action for the second time,
 24673  	// conformance pack status is updated in the member account. Conformance pack
 24674  	// status is deleted when the master account deletes OrganizationConformancePack
 24675  	// and disables service access for config-multiaccountsetup.amazonaws.com.
 24676  	//
 24677  	// Config sets the state of the conformance pack to:
 24678  	//
 24679  	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
 24680  	//    account.
 24681  	//
 24682  	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
 24683  	//    account.
 24684  	//
 24685  	//    * CREATE_FAILED when conformance pack creation has failed in the member
 24686  	//    account.
 24687  	//
 24688  	//    * DELETE_FAILED when conformance pack deletion has failed in the member
 24689  	//    account.
 24690  	//
 24691  	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
 24692  	//    account.
 24693  	//
 24694  	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
 24695  	//    account.
 24696  	//
 24697  	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
 24698  	//    account.
 24699  	//
 24700  	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
 24701  	//    account.
 24702  	//
 24703  	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
 24704  	//    account.
 24705  	//
 24706  	// Status is a required field
 24707  	Status *string `type:"string" required:"true" enum:"OrganizationResourceDetailedStatus"`
 24708  }
 24709  
 24710  // String returns the string representation.
 24711  //
 24712  // API parameter values that are decorated as "sensitive" in the API will not
 24713  // be included in the string output. The member name will be present, but the
 24714  // value will be replaced with "sensitive".
 24715  func (s OrganizationConformancePackDetailedStatus) String() string {
 24716  	return awsutil.Prettify(s)
 24717  }
 24718  
 24719  // GoString returns the string representation.
 24720  //
 24721  // API parameter values that are decorated as "sensitive" in the API will not
 24722  // be included in the string output. The member name will be present, but the
 24723  // value will be replaced with "sensitive".
 24724  func (s OrganizationConformancePackDetailedStatus) GoString() string {
 24725  	return s.String()
 24726  }
 24727  
 24728  // SetAccountId sets the AccountId field's value.
 24729  func (s *OrganizationConformancePackDetailedStatus) SetAccountId(v string) *OrganizationConformancePackDetailedStatus {
 24730  	s.AccountId = &v
 24731  	return s
 24732  }
 24733  
 24734  // SetConformancePackName sets the ConformancePackName field's value.
 24735  func (s *OrganizationConformancePackDetailedStatus) SetConformancePackName(v string) *OrganizationConformancePackDetailedStatus {
 24736  	s.ConformancePackName = &v
 24737  	return s
 24738  }
 24739  
 24740  // SetErrorCode sets the ErrorCode field's value.
 24741  func (s *OrganizationConformancePackDetailedStatus) SetErrorCode(v string) *OrganizationConformancePackDetailedStatus {
 24742  	s.ErrorCode = &v
 24743  	return s
 24744  }
 24745  
 24746  // SetErrorMessage sets the ErrorMessage field's value.
 24747  func (s *OrganizationConformancePackDetailedStatus) SetErrorMessage(v string) *OrganizationConformancePackDetailedStatus {
 24748  	s.ErrorMessage = &v
 24749  	return s
 24750  }
 24751  
 24752  // SetLastUpdateTime sets the LastUpdateTime field's value.
 24753  func (s *OrganizationConformancePackDetailedStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackDetailedStatus {
 24754  	s.LastUpdateTime = &v
 24755  	return s
 24756  }
 24757  
 24758  // SetStatus sets the Status field's value.
 24759  func (s *OrganizationConformancePackDetailedStatus) SetStatus(v string) *OrganizationConformancePackDetailedStatus {
 24760  	s.Status = &v
 24761  	return s
 24762  }
 24763  
 24764  // Returns the status for an organization conformance pack in an organization.
 24765  type OrganizationConformancePackStatus struct {
 24766  	_ struct{} `type:"structure"`
 24767  
 24768  	// An error code that is returned when organization conformance pack creation
 24769  	// or deletion has failed in a member account.
 24770  	ErrorCode *string `type:"string"`
 24771  
 24772  	// An error message indicating that organization conformance pack creation or
 24773  	// deletion failed due to an error.
 24774  	ErrorMessage *string `type:"string"`
 24775  
 24776  	// The timestamp of the last update.
 24777  	LastUpdateTime *time.Time `type:"timestamp"`
 24778  
 24779  	// The name that you assign to organization conformance pack.
 24780  	//
 24781  	// OrganizationConformancePackName is a required field
 24782  	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
 24783  
 24784  	// Indicates deployment status of an organization conformance pack. When master
 24785  	// account calls PutOrganizationConformancePack for the first time, conformance
 24786  	// pack status is created in all the member accounts. When master account calls
 24787  	// PutOrganizationConformancePack for the second time, conformance pack status
 24788  	// is updated in all the member accounts. Additionally, conformance pack status
 24789  	// is updated when one or more member accounts join or leave an organization.
 24790  	// Conformance pack status is deleted when the master account deletes OrganizationConformancePack
 24791  	// in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.
 24792  	//
 24793  	// Config sets the state of the conformance pack to:
 24794  	//
 24795  	//    * CREATE_SUCCESSFUL when an organization conformance pack has been successfully
 24796  	//    created in all the member accounts.
 24797  	//
 24798  	//    * CREATE_IN_PROGRESS when an organization conformance pack creation is
 24799  	//    in progress.
 24800  	//
 24801  	//    * CREATE_FAILED when an organization conformance pack creation failed
 24802  	//    in one or more member accounts within that organization.
 24803  	//
 24804  	//    * DELETE_FAILED when an organization conformance pack deletion failed
 24805  	//    in one or more member accounts within that organization.
 24806  	//
 24807  	//    * DELETE_IN_PROGRESS when an organization conformance pack deletion is
 24808  	//    in progress.
 24809  	//
 24810  	//    * DELETE_SUCCESSFUL when an organization conformance pack has been successfully
 24811  	//    deleted from all the member accounts.
 24812  	//
 24813  	//    * UPDATE_SUCCESSFUL when an organization conformance pack has been successfully
 24814  	//    updated in all the member accounts.
 24815  	//
 24816  	//    * UPDATE_IN_PROGRESS when an organization conformance pack update is in
 24817  	//    progress.
 24818  	//
 24819  	//    * UPDATE_FAILED when an organization conformance pack update failed in
 24820  	//    one or more member accounts within that organization.
 24821  	//
 24822  	// Status is a required field
 24823  	Status *string `type:"string" required:"true" enum:"OrganizationResourceStatus"`
 24824  }
 24825  
 24826  // String returns the string representation.
 24827  //
 24828  // API parameter values that are decorated as "sensitive" in the API will not
 24829  // be included in the string output. The member name will be present, but the
 24830  // value will be replaced with "sensitive".
 24831  func (s OrganizationConformancePackStatus) String() string {
 24832  	return awsutil.Prettify(s)
 24833  }
 24834  
 24835  // GoString returns the string representation.
 24836  //
 24837  // API parameter values that are decorated as "sensitive" in the API will not
 24838  // be included in the string output. The member name will be present, but the
 24839  // value will be replaced with "sensitive".
 24840  func (s OrganizationConformancePackStatus) GoString() string {
 24841  	return s.String()
 24842  }
 24843  
 24844  // SetErrorCode sets the ErrorCode field's value.
 24845  func (s *OrganizationConformancePackStatus) SetErrorCode(v string) *OrganizationConformancePackStatus {
 24846  	s.ErrorCode = &v
 24847  	return s
 24848  }
 24849  
 24850  // SetErrorMessage sets the ErrorMessage field's value.
 24851  func (s *OrganizationConformancePackStatus) SetErrorMessage(v string) *OrganizationConformancePackStatus {
 24852  	s.ErrorMessage = &v
 24853  	return s
 24854  }
 24855  
 24856  // SetLastUpdateTime sets the LastUpdateTime field's value.
 24857  func (s *OrganizationConformancePackStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackStatus {
 24858  	s.LastUpdateTime = &v
 24859  	return s
 24860  }
 24861  
 24862  // SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
 24863  func (s *OrganizationConformancePackStatus) SetOrganizationConformancePackName(v string) *OrganizationConformancePackStatus {
 24864  	s.OrganizationConformancePackName = &v
 24865  	return s
 24866  }
 24867  
 24868  // SetStatus sets the Status field's value.
 24869  func (s *OrganizationConformancePackStatus) SetStatus(v string) *OrganizationConformancePackStatus {
 24870  	s.Status = &v
 24871  	return s
 24872  }
 24873  
 24874  // You have specified a template that is not valid or supported.
 24875  type OrganizationConformancePackTemplateValidationException struct {
 24876  	_            struct{}                  `type:"structure"`
 24877  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24878  
 24879  	Message_ *string `locationName:"message" type:"string"`
 24880  }
 24881  
 24882  // String returns the string representation.
 24883  //
 24884  // API parameter values that are decorated as "sensitive" in the API will not
 24885  // be included in the string output. The member name will be present, but the
 24886  // value will be replaced with "sensitive".
 24887  func (s OrganizationConformancePackTemplateValidationException) String() string {
 24888  	return awsutil.Prettify(s)
 24889  }
 24890  
 24891  // GoString returns the string representation.
 24892  //
 24893  // API parameter values that are decorated as "sensitive" in the API will not
 24894  // be included in the string output. The member name will be present, but the
 24895  // value will be replaced with "sensitive".
 24896  func (s OrganizationConformancePackTemplateValidationException) GoString() string {
 24897  	return s.String()
 24898  }
 24899  
 24900  func newErrorOrganizationConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
 24901  	return &OrganizationConformancePackTemplateValidationException{
 24902  		RespMetadata: v,
 24903  	}
 24904  }
 24905  
 24906  // Code returns the exception type name.
 24907  func (s *OrganizationConformancePackTemplateValidationException) Code() string {
 24908  	return "OrganizationConformancePackTemplateValidationException"
 24909  }
 24910  
 24911  // Message returns the exception's message.
 24912  func (s *OrganizationConformancePackTemplateValidationException) Message() string {
 24913  	if s.Message_ != nil {
 24914  		return *s.Message_
 24915  	}
 24916  	return ""
 24917  }
 24918  
 24919  // OrigErr always returns nil, satisfies awserr.Error interface.
 24920  func (s *OrganizationConformancePackTemplateValidationException) OrigErr() error {
 24921  	return nil
 24922  }
 24923  
 24924  func (s *OrganizationConformancePackTemplateValidationException) Error() string {
 24925  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24926  }
 24927  
 24928  // Status code returns the HTTP status code for the request's response error.
 24929  func (s *OrganizationConformancePackTemplateValidationException) StatusCode() int {
 24930  	return s.RespMetadata.StatusCode
 24931  }
 24932  
 24933  // RequestID returns the service's response RequestID for request.
 24934  func (s *OrganizationConformancePackTemplateValidationException) RequestID() string {
 24935  	return s.RespMetadata.RequestID
 24936  }
 24937  
 24938  // An object that specifies organization custom rule metadata such as resource
 24939  // type, resource ID of Amazon Web Services resource, Lambda function ARN, and
 24940  // organization trigger types that trigger Config to evaluate your Amazon Web
 24941  // Services resources against a rule. It also provides the frequency with which
 24942  // you want Config to run evaluations for the rule if the trigger type is periodic.
 24943  type OrganizationCustomRuleMetadata struct {
 24944  	_ struct{} `type:"structure"`
 24945  
 24946  	// The description that you provide for organization config rule.
 24947  	Description *string `type:"string"`
 24948  
 24949  	// A string, in JSON format, that is passed to organization config rule Lambda
 24950  	// function.
 24951  	InputParameters *string `min:"1" type:"string"`
 24952  
 24953  	// The lambda function ARN.
 24954  	//
 24955  	// LambdaFunctionArn is a required field
 24956  	LambdaFunctionArn *string `min:"1" type:"string" required:"true"`
 24957  
 24958  	// The maximum frequency with which Config runs evaluations for a rule. Your
 24959  	// custom rule is triggered when Config delivers the configuration snapshot.
 24960  	// For more information, see ConfigSnapshotDeliveryProperties.
 24961  	//
 24962  	// By default, rules with a periodic trigger are evaluated every 24 hours. To
 24963  	// change the frequency, specify a valid value for the MaximumExecutionFrequency
 24964  	// parameter.
 24965  	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
 24966  
 24967  	// The type of notification that triggers Config to run an evaluation for a
 24968  	// rule. You can specify the following notification types:
 24969  	//
 24970  	//    * ConfigurationItemChangeNotification - Triggers an evaluation when Config
 24971  	//    delivers a configuration item as a result of a resource change.
 24972  	//
 24973  	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
 24974  	//    when Config delivers an oversized configuration item. Config may generate
 24975  	//    this notification type when a resource changes and the notification exceeds
 24976  	//    the maximum size allowed by Amazon SNS.
 24977  	//
 24978  	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
 24979  	//    specified for MaximumExecutionFrequency.
 24980  	//
 24981  	// OrganizationConfigRuleTriggerTypes is a required field
 24982  	OrganizationConfigRuleTriggerTypes []*string `type:"list" required:"true"`
 24983  
 24984  	// The ID of the Amazon Web Services resource that was evaluated.
 24985  	ResourceIdScope *string `min:"1" type:"string"`
 24986  
 24987  	// The type of the Amazon Web Services resource that was evaluated.
 24988  	ResourceTypesScope []*string `type:"list"`
 24989  
 24990  	// One part of a key-value pair that make up a tag. A key is a general label
 24991  	// that acts like a category for more specific tag values.
 24992  	TagKeyScope *string `min:"1" type:"string"`
 24993  
 24994  	// The optional part of a key-value pair that make up a tag. A value acts as
 24995  	// a descriptor within a tag category (key).
 24996  	TagValueScope *string `min:"1" type:"string"`
 24997  }
 24998  
 24999  // String returns the string representation.
 25000  //
 25001  // API parameter values that are decorated as "sensitive" in the API will not
 25002  // be included in the string output. The member name will be present, but the
 25003  // value will be replaced with "sensitive".
 25004  func (s OrganizationCustomRuleMetadata) String() string {
 25005  	return awsutil.Prettify(s)
 25006  }
 25007  
 25008  // GoString returns the string representation.
 25009  //
 25010  // API parameter values that are decorated as "sensitive" in the API will not
 25011  // be included in the string output. The member name will be present, but the
 25012  // value will be replaced with "sensitive".
 25013  func (s OrganizationCustomRuleMetadata) GoString() string {
 25014  	return s.String()
 25015  }
 25016  
 25017  // Validate inspects the fields of the type to determine if they are valid.
 25018  func (s *OrganizationCustomRuleMetadata) Validate() error {
 25019  	invalidParams := request.ErrInvalidParams{Context: "OrganizationCustomRuleMetadata"}
 25020  	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
 25021  		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
 25022  	}
 25023  	if s.LambdaFunctionArn == nil {
 25024  		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
 25025  	}
 25026  	if s.LambdaFunctionArn != nil && len(*s.LambdaFunctionArn) < 1 {
 25027  		invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionArn", 1))
 25028  	}
 25029  	if s.OrganizationConfigRuleTriggerTypes == nil {
 25030  		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleTriggerTypes"))
 25031  	}
 25032  	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
 25033  		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
 25034  	}
 25035  	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
 25036  		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
 25037  	}
 25038  	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
 25039  		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
 25040  	}
 25041  
 25042  	if invalidParams.Len() > 0 {
 25043  		return invalidParams
 25044  	}
 25045  	return nil
 25046  }
 25047  
 25048  // SetDescription sets the Description field's value.
 25049  func (s *OrganizationCustomRuleMetadata) SetDescription(v string) *OrganizationCustomRuleMetadata {
 25050  	s.Description = &v
 25051  	return s
 25052  }
 25053  
 25054  // SetInputParameters sets the InputParameters field's value.
 25055  func (s *OrganizationCustomRuleMetadata) SetInputParameters(v string) *OrganizationCustomRuleMetadata {
 25056  	s.InputParameters = &v
 25057  	return s
 25058  }
 25059  
 25060  // SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
 25061  func (s *OrganizationCustomRuleMetadata) SetLambdaFunctionArn(v string) *OrganizationCustomRuleMetadata {
 25062  	s.LambdaFunctionArn = &v
 25063  	return s
 25064  }
 25065  
 25066  // SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
 25067  func (s *OrganizationCustomRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationCustomRuleMetadata {
 25068  	s.MaximumExecutionFrequency = &v
 25069  	return s
 25070  }
 25071  
 25072  // SetOrganizationConfigRuleTriggerTypes sets the OrganizationConfigRuleTriggerTypes field's value.
 25073  func (s *OrganizationCustomRuleMetadata) SetOrganizationConfigRuleTriggerTypes(v []*string) *OrganizationCustomRuleMetadata {
 25074  	s.OrganizationConfigRuleTriggerTypes = v
 25075  	return s
 25076  }
 25077  
 25078  // SetResourceIdScope sets the ResourceIdScope field's value.
 25079  func (s *OrganizationCustomRuleMetadata) SetResourceIdScope(v string) *OrganizationCustomRuleMetadata {
 25080  	s.ResourceIdScope = &v
 25081  	return s
 25082  }
 25083  
 25084  // SetResourceTypesScope sets the ResourceTypesScope field's value.
 25085  func (s *OrganizationCustomRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationCustomRuleMetadata {
 25086  	s.ResourceTypesScope = v
 25087  	return s
 25088  }
 25089  
 25090  // SetTagKeyScope sets the TagKeyScope field's value.
 25091  func (s *OrganizationCustomRuleMetadata) SetTagKeyScope(v string) *OrganizationCustomRuleMetadata {
 25092  	s.TagKeyScope = &v
 25093  	return s
 25094  }
 25095  
 25096  // SetTagValueScope sets the TagValueScope field's value.
 25097  func (s *OrganizationCustomRuleMetadata) SetTagValueScope(v string) *OrganizationCustomRuleMetadata {
 25098  	s.TagValueScope = &v
 25099  	return s
 25100  }
 25101  
 25102  // An object that specifies organization managed rule metadata such as resource
 25103  // type and ID of Amazon Web Services resource along with the rule identifier.
 25104  // It also provides the frequency with which you want Config to run evaluations
 25105  // for the rule if the trigger type is periodic.
 25106  type OrganizationManagedRuleMetadata struct {
 25107  	_ struct{} `type:"structure"`
 25108  
 25109  	// The description that you provide for organization config rule.
 25110  	Description *string `type:"string"`
 25111  
 25112  	// A string, in JSON format, that is passed to organization config rule Lambda
 25113  	// function.
 25114  	InputParameters *string `min:"1" type:"string"`
 25115  
 25116  	// The maximum frequency with which Config runs evaluations for a rule. You
 25117  	// are using an Config managed rule that is triggered at a periodic frequency.
 25118  	//
 25119  	// By default, rules with a periodic trigger are evaluated every 24 hours. To
 25120  	// change the frequency, specify a valid value for the MaximumExecutionFrequency
 25121  	// parameter.
 25122  	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
 25123  
 25124  	// The ID of the Amazon Web Services resource that was evaluated.
 25125  	ResourceIdScope *string `min:"1" type:"string"`
 25126  
 25127  	// The type of the Amazon Web Services resource that was evaluated.
 25128  	ResourceTypesScope []*string `type:"list"`
 25129  
 25130  	// For organization config managed rules, a predefined identifier from a list.
 25131  	// For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed
 25132  	// rule, see Using Config managed rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
 25133  	//
 25134  	// RuleIdentifier is a required field
 25135  	RuleIdentifier *string `min:"1" type:"string" required:"true"`
 25136  
 25137  	// One part of a key-value pair that make up a tag. A key is a general label
 25138  	// that acts like a category for more specific tag values.
 25139  	TagKeyScope *string `min:"1" type:"string"`
 25140  
 25141  	// The optional part of a key-value pair that make up a tag. A value acts as
 25142  	// a descriptor within a tag category (key).
 25143  	TagValueScope *string `min:"1" type:"string"`
 25144  }
 25145  
 25146  // String returns the string representation.
 25147  //
 25148  // API parameter values that are decorated as "sensitive" in the API will not
 25149  // be included in the string output. The member name will be present, but the
 25150  // value will be replaced with "sensitive".
 25151  func (s OrganizationManagedRuleMetadata) String() string {
 25152  	return awsutil.Prettify(s)
 25153  }
 25154  
 25155  // GoString returns the string representation.
 25156  //
 25157  // API parameter values that are decorated as "sensitive" in the API will not
 25158  // be included in the string output. The member name will be present, but the
 25159  // value will be replaced with "sensitive".
 25160  func (s OrganizationManagedRuleMetadata) GoString() string {
 25161  	return s.String()
 25162  }
 25163  
 25164  // Validate inspects the fields of the type to determine if they are valid.
 25165  func (s *OrganizationManagedRuleMetadata) Validate() error {
 25166  	invalidParams := request.ErrInvalidParams{Context: "OrganizationManagedRuleMetadata"}
 25167  	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
 25168  		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
 25169  	}
 25170  	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
 25171  		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
 25172  	}
 25173  	if s.RuleIdentifier == nil {
 25174  		invalidParams.Add(request.NewErrParamRequired("RuleIdentifier"))
 25175  	}
 25176  	if s.RuleIdentifier != nil && len(*s.RuleIdentifier) < 1 {
 25177  		invalidParams.Add(request.NewErrParamMinLen("RuleIdentifier", 1))
 25178  	}
 25179  	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
 25180  		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
 25181  	}
 25182  	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
 25183  		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
 25184  	}
 25185  
 25186  	if invalidParams.Len() > 0 {
 25187  		return invalidParams
 25188  	}
 25189  	return nil
 25190  }
 25191  
 25192  // SetDescription sets the Description field's value.
 25193  func (s *OrganizationManagedRuleMetadata) SetDescription(v string) *OrganizationManagedRuleMetadata {
 25194  	s.Description = &v
 25195  	return s
 25196  }
 25197  
 25198  // SetInputParameters sets the InputParameters field's value.
 25199  func (s *OrganizationManagedRuleMetadata) SetInputParameters(v string) *OrganizationManagedRuleMetadata {
 25200  	s.InputParameters = &v
 25201  	return s
 25202  }
 25203  
 25204  // SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
 25205  func (s *OrganizationManagedRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationManagedRuleMetadata {
 25206  	s.MaximumExecutionFrequency = &v
 25207  	return s
 25208  }
 25209  
 25210  // SetResourceIdScope sets the ResourceIdScope field's value.
 25211  func (s *OrganizationManagedRuleMetadata) SetResourceIdScope(v string) *OrganizationManagedRuleMetadata {
 25212  	s.ResourceIdScope = &v
 25213  	return s
 25214  }
 25215  
 25216  // SetResourceTypesScope sets the ResourceTypesScope field's value.
 25217  func (s *OrganizationManagedRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationManagedRuleMetadata {
 25218  	s.ResourceTypesScope = v
 25219  	return s
 25220  }
 25221  
 25222  // SetRuleIdentifier sets the RuleIdentifier field's value.
 25223  func (s *OrganizationManagedRuleMetadata) SetRuleIdentifier(v string) *OrganizationManagedRuleMetadata {
 25224  	s.RuleIdentifier = &v
 25225  	return s
 25226  }
 25227  
 25228  // SetTagKeyScope sets the TagKeyScope field's value.
 25229  func (s *OrganizationManagedRuleMetadata) SetTagKeyScope(v string) *OrganizationManagedRuleMetadata {
 25230  	s.TagKeyScope = &v
 25231  	return s
 25232  }
 25233  
 25234  // SetTagValueScope sets the TagValueScope field's value.
 25235  func (s *OrganizationManagedRuleMetadata) SetTagValueScope(v string) *OrganizationManagedRuleMetadata {
 25236  	s.TagValueScope = &v
 25237  	return s
 25238  }
 25239  
 25240  // Status filter object to filter results based on specific member account ID
 25241  // or status type for an organization conformance pack.
 25242  type OrganizationResourceDetailedStatusFilters struct {
 25243  	_ struct{} `type:"structure"`
 25244  
 25245  	// The 12-digit account ID of the member account within an organization.
 25246  	AccountId *string `type:"string"`
 25247  
 25248  	// Indicates deployment status for conformance pack in a member account. When
 25249  	// master account calls PutOrganizationConformancePack action for the first
 25250  	// time, conformance pack status is created in the member account. When master
 25251  	// account calls PutOrganizationConformancePack action for the second time,
 25252  	// conformance pack status is updated in the member account. Conformance pack
 25253  	// status is deleted when the master account deletes OrganizationConformancePack
 25254  	// and disables service access for config-multiaccountsetup.amazonaws.com.
 25255  	//
 25256  	// Config sets the state of the conformance pack to:
 25257  	//
 25258  	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
 25259  	//    account.
 25260  	//
 25261  	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
 25262  	//    account.
 25263  	//
 25264  	//    * CREATE_FAILED when conformance pack creation has failed in the member
 25265  	//    account.
 25266  	//
 25267  	//    * DELETE_FAILED when conformance pack deletion has failed in the member
 25268  	//    account.
 25269  	//
 25270  	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
 25271  	//    account.
 25272  	//
 25273  	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
 25274  	//    account.
 25275  	//
 25276  	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
 25277  	//    account.
 25278  	//
 25279  	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
 25280  	//    account.
 25281  	//
 25282  	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
 25283  	//    account.
 25284  	Status *string `type:"string" enum:"OrganizationResourceDetailedStatus"`
 25285  }
 25286  
 25287  // String returns the string representation.
 25288  //
 25289  // API parameter values that are decorated as "sensitive" in the API will not
 25290  // be included in the string output. The member name will be present, but the
 25291  // value will be replaced with "sensitive".
 25292  func (s OrganizationResourceDetailedStatusFilters) String() string {
 25293  	return awsutil.Prettify(s)
 25294  }
 25295  
 25296  // GoString returns the string representation.
 25297  //
 25298  // API parameter values that are decorated as "sensitive" in the API will not
 25299  // be included in the string output. The member name will be present, but the
 25300  // value will be replaced with "sensitive".
 25301  func (s OrganizationResourceDetailedStatusFilters) GoString() string {
 25302  	return s.String()
 25303  }
 25304  
 25305  // SetAccountId sets the AccountId field's value.
 25306  func (s *OrganizationResourceDetailedStatusFilters) SetAccountId(v string) *OrganizationResourceDetailedStatusFilters {
 25307  	s.AccountId = &v
 25308  	return s
 25309  }
 25310  
 25311  // SetStatus sets the Status field's value.
 25312  func (s *OrganizationResourceDetailedStatusFilters) SetStatus(v string) *OrganizationResourceDetailedStatusFilters {
 25313  	s.Status = &v
 25314  	return s
 25315  }
 25316  
 25317  // The configuration item size is outside the allowable range.
 25318  type OversizedConfigurationItemException struct {
 25319  	_            struct{}                  `type:"structure"`
 25320  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25321  
 25322  	Message_ *string `locationName:"message" type:"string"`
 25323  }
 25324  
 25325  // String returns the string representation.
 25326  //
 25327  // API parameter values that are decorated as "sensitive" in the API will not
 25328  // be included in the string output. The member name will be present, but the
 25329  // value will be replaced with "sensitive".
 25330  func (s OversizedConfigurationItemException) String() string {
 25331  	return awsutil.Prettify(s)
 25332  }
 25333  
 25334  // GoString returns the string representation.
 25335  //
 25336  // API parameter values that are decorated as "sensitive" in the API will not
 25337  // be included in the string output. The member name will be present, but the
 25338  // value will be replaced with "sensitive".
 25339  func (s OversizedConfigurationItemException) GoString() string {
 25340  	return s.String()
 25341  }
 25342  
 25343  func newErrorOversizedConfigurationItemException(v protocol.ResponseMetadata) error {
 25344  	return &OversizedConfigurationItemException{
 25345  		RespMetadata: v,
 25346  	}
 25347  }
 25348  
 25349  // Code returns the exception type name.
 25350  func (s *OversizedConfigurationItemException) Code() string {
 25351  	return "OversizedConfigurationItemException"
 25352  }
 25353  
 25354  // Message returns the exception's message.
 25355  func (s *OversizedConfigurationItemException) Message() string {
 25356  	if s.Message_ != nil {
 25357  		return *s.Message_
 25358  	}
 25359  	return ""
 25360  }
 25361  
 25362  // OrigErr always returns nil, satisfies awserr.Error interface.
 25363  func (s *OversizedConfigurationItemException) OrigErr() error {
 25364  	return nil
 25365  }
 25366  
 25367  func (s *OversizedConfigurationItemException) Error() string {
 25368  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25369  }
 25370  
 25371  // Status code returns the HTTP status code for the request's response error.
 25372  func (s *OversizedConfigurationItemException) StatusCode() int {
 25373  	return s.RespMetadata.StatusCode
 25374  }
 25375  
 25376  // RequestID returns the service's response RequestID for request.
 25377  func (s *OversizedConfigurationItemException) RequestID() string {
 25378  	return s.RespMetadata.RequestID
 25379  }
 25380  
 25381  // An object that represents the account ID and region of an aggregator account
 25382  // that is requesting authorization but is not yet authorized.
 25383  type PendingAggregationRequest struct {
 25384  	_ struct{} `type:"structure"`
 25385  
 25386  	// The 12-digit account ID of the account requesting to aggregate data.
 25387  	RequesterAccountId *string `type:"string"`
 25388  
 25389  	// The region requesting to aggregate data.
 25390  	RequesterAwsRegion *string `min:"1" type:"string"`
 25391  }
 25392  
 25393  // String returns the string representation.
 25394  //
 25395  // API parameter values that are decorated as "sensitive" in the API will not
 25396  // be included in the string output. The member name will be present, but the
 25397  // value will be replaced with "sensitive".
 25398  func (s PendingAggregationRequest) String() string {
 25399  	return awsutil.Prettify(s)
 25400  }
 25401  
 25402  // GoString returns the string representation.
 25403  //
 25404  // API parameter values that are decorated as "sensitive" in the API will not
 25405  // be included in the string output. The member name will be present, but the
 25406  // value will be replaced with "sensitive".
 25407  func (s PendingAggregationRequest) GoString() string {
 25408  	return s.String()
 25409  }
 25410  
 25411  // SetRequesterAccountId sets the RequesterAccountId field's value.
 25412  func (s *PendingAggregationRequest) SetRequesterAccountId(v string) *PendingAggregationRequest {
 25413  	s.RequesterAccountId = &v
 25414  	return s
 25415  }
 25416  
 25417  // SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
 25418  func (s *PendingAggregationRequest) SetRequesterAwsRegion(v string) *PendingAggregationRequest {
 25419  	s.RequesterAwsRegion = &v
 25420  	return s
 25421  }
 25422  
 25423  type PutAggregationAuthorizationInput struct {
 25424  	_ struct{} `type:"structure"`
 25425  
 25426  	// The 12-digit account ID of the account authorized to aggregate data.
 25427  	//
 25428  	// AuthorizedAccountId is a required field
 25429  	AuthorizedAccountId *string `type:"string" required:"true"`
 25430  
 25431  	// The region authorized to collect aggregated data.
 25432  	//
 25433  	// AuthorizedAwsRegion is a required field
 25434  	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
 25435  
 25436  	// An array of tag object.
 25437  	Tags []*Tag `type:"list"`
 25438  }
 25439  
 25440  // String returns the string representation.
 25441  //
 25442  // API parameter values that are decorated as "sensitive" in the API will not
 25443  // be included in the string output. The member name will be present, but the
 25444  // value will be replaced with "sensitive".
 25445  func (s PutAggregationAuthorizationInput) String() string {
 25446  	return awsutil.Prettify(s)
 25447  }
 25448  
 25449  // GoString returns the string representation.
 25450  //
 25451  // API parameter values that are decorated as "sensitive" in the API will not
 25452  // be included in the string output. The member name will be present, but the
 25453  // value will be replaced with "sensitive".
 25454  func (s PutAggregationAuthorizationInput) GoString() string {
 25455  	return s.String()
 25456  }
 25457  
 25458  // Validate inspects the fields of the type to determine if they are valid.
 25459  func (s *PutAggregationAuthorizationInput) Validate() error {
 25460  	invalidParams := request.ErrInvalidParams{Context: "PutAggregationAuthorizationInput"}
 25461  	if s.AuthorizedAccountId == nil {
 25462  		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
 25463  	}
 25464  	if s.AuthorizedAwsRegion == nil {
 25465  		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
 25466  	}
 25467  	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
 25468  		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
 25469  	}
 25470  	if s.Tags != nil {
 25471  		for i, v := range s.Tags {
 25472  			if v == nil {
 25473  				continue
 25474  			}
 25475  			if err := v.Validate(); err != nil {
 25476  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 25477  			}
 25478  		}
 25479  	}
 25480  
 25481  	if invalidParams.Len() > 0 {
 25482  		return invalidParams
 25483  	}
 25484  	return nil
 25485  }
 25486  
 25487  // SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
 25488  func (s *PutAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *PutAggregationAuthorizationInput {
 25489  	s.AuthorizedAccountId = &v
 25490  	return s
 25491  }
 25492  
 25493  // SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
 25494  func (s *PutAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *PutAggregationAuthorizationInput {
 25495  	s.AuthorizedAwsRegion = &v
 25496  	return s
 25497  }
 25498  
 25499  // SetTags sets the Tags field's value.
 25500  func (s *PutAggregationAuthorizationInput) SetTags(v []*Tag) *PutAggregationAuthorizationInput {
 25501  	s.Tags = v
 25502  	return s
 25503  }
 25504  
 25505  type PutAggregationAuthorizationOutput struct {
 25506  	_ struct{} `type:"structure"`
 25507  
 25508  	// Returns an AggregationAuthorization object.
 25509  	AggregationAuthorization *AggregationAuthorization `type:"structure"`
 25510  }
 25511  
 25512  // String returns the string representation.
 25513  //
 25514  // API parameter values that are decorated as "sensitive" in the API will not
 25515  // be included in the string output. The member name will be present, but the
 25516  // value will be replaced with "sensitive".
 25517  func (s PutAggregationAuthorizationOutput) String() string {
 25518  	return awsutil.Prettify(s)
 25519  }
 25520  
 25521  // GoString returns the string representation.
 25522  //
 25523  // API parameter values that are decorated as "sensitive" in the API will not
 25524  // be included in the string output. The member name will be present, but the
 25525  // value will be replaced with "sensitive".
 25526  func (s PutAggregationAuthorizationOutput) GoString() string {
 25527  	return s.String()
 25528  }
 25529  
 25530  // SetAggregationAuthorization sets the AggregationAuthorization field's value.
 25531  func (s *PutAggregationAuthorizationOutput) SetAggregationAuthorization(v *AggregationAuthorization) *PutAggregationAuthorizationOutput {
 25532  	s.AggregationAuthorization = v
 25533  	return s
 25534  }
 25535  
 25536  type PutConfigRuleInput struct {
 25537  	_ struct{} `type:"structure"`
 25538  
 25539  	// The rule that you want to add to your account.
 25540  	//
 25541  	// ConfigRule is a required field
 25542  	ConfigRule *ConfigRule `type:"structure" required:"true"`
 25543  
 25544  	// An array of tag object.
 25545  	Tags []*Tag `type:"list"`
 25546  }
 25547  
 25548  // String returns the string representation.
 25549  //
 25550  // API parameter values that are decorated as "sensitive" in the API will not
 25551  // be included in the string output. The member name will be present, but the
 25552  // value will be replaced with "sensitive".
 25553  func (s PutConfigRuleInput) String() string {
 25554  	return awsutil.Prettify(s)
 25555  }
 25556  
 25557  // GoString returns the string representation.
 25558  //
 25559  // API parameter values that are decorated as "sensitive" in the API will not
 25560  // be included in the string output. The member name will be present, but the
 25561  // value will be replaced with "sensitive".
 25562  func (s PutConfigRuleInput) GoString() string {
 25563  	return s.String()
 25564  }
 25565  
 25566  // Validate inspects the fields of the type to determine if they are valid.
 25567  func (s *PutConfigRuleInput) Validate() error {
 25568  	invalidParams := request.ErrInvalidParams{Context: "PutConfigRuleInput"}
 25569  	if s.ConfigRule == nil {
 25570  		invalidParams.Add(request.NewErrParamRequired("ConfigRule"))
 25571  	}
 25572  	if s.ConfigRule != nil {
 25573  		if err := s.ConfigRule.Validate(); err != nil {
 25574  			invalidParams.AddNested("ConfigRule", err.(request.ErrInvalidParams))
 25575  		}
 25576  	}
 25577  	if s.Tags != nil {
 25578  		for i, v := range s.Tags {
 25579  			if v == nil {
 25580  				continue
 25581  			}
 25582  			if err := v.Validate(); err != nil {
 25583  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 25584  			}
 25585  		}
 25586  	}
 25587  
 25588  	if invalidParams.Len() > 0 {
 25589  		return invalidParams
 25590  	}
 25591  	return nil
 25592  }
 25593  
 25594  // SetConfigRule sets the ConfigRule field's value.
 25595  func (s *PutConfigRuleInput) SetConfigRule(v *ConfigRule) *PutConfigRuleInput {
 25596  	s.ConfigRule = v
 25597  	return s
 25598  }
 25599  
 25600  // SetTags sets the Tags field's value.
 25601  func (s *PutConfigRuleInput) SetTags(v []*Tag) *PutConfigRuleInput {
 25602  	s.Tags = v
 25603  	return s
 25604  }
 25605  
 25606  type PutConfigRuleOutput struct {
 25607  	_ struct{} `type:"structure"`
 25608  }
 25609  
 25610  // String returns the string representation.
 25611  //
 25612  // API parameter values that are decorated as "sensitive" in the API will not
 25613  // be included in the string output. The member name will be present, but the
 25614  // value will be replaced with "sensitive".
 25615  func (s PutConfigRuleOutput) String() string {
 25616  	return awsutil.Prettify(s)
 25617  }
 25618  
 25619  // GoString returns the string representation.
 25620  //
 25621  // API parameter values that are decorated as "sensitive" in the API will not
 25622  // be included in the string output. The member name will be present, but the
 25623  // value will be replaced with "sensitive".
 25624  func (s PutConfigRuleOutput) GoString() string {
 25625  	return s.String()
 25626  }
 25627  
 25628  type PutConfigurationAggregatorInput struct {
 25629  	_ struct{} `type:"structure"`
 25630  
 25631  	// A list of AccountAggregationSource object.
 25632  	AccountAggregationSources []*AccountAggregationSource `type:"list"`
 25633  
 25634  	// The name of the configuration aggregator.
 25635  	//
 25636  	// ConfigurationAggregatorName is a required field
 25637  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 25638  
 25639  	// An OrganizationAggregationSource object.
 25640  	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
 25641  
 25642  	// An array of tag object.
 25643  	Tags []*Tag `type:"list"`
 25644  }
 25645  
 25646  // String returns the string representation.
 25647  //
 25648  // API parameter values that are decorated as "sensitive" in the API will not
 25649  // be included in the string output. The member name will be present, but the
 25650  // value will be replaced with "sensitive".
 25651  func (s PutConfigurationAggregatorInput) String() string {
 25652  	return awsutil.Prettify(s)
 25653  }
 25654  
 25655  // GoString returns the string representation.
 25656  //
 25657  // API parameter values that are decorated as "sensitive" in the API will not
 25658  // be included in the string output. The member name will be present, but the
 25659  // value will be replaced with "sensitive".
 25660  func (s PutConfigurationAggregatorInput) GoString() string {
 25661  	return s.String()
 25662  }
 25663  
 25664  // Validate inspects the fields of the type to determine if they are valid.
 25665  func (s *PutConfigurationAggregatorInput) Validate() error {
 25666  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationAggregatorInput"}
 25667  	if s.ConfigurationAggregatorName == nil {
 25668  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 25669  	}
 25670  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 25671  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 25672  	}
 25673  	if s.AccountAggregationSources != nil {
 25674  		for i, v := range s.AccountAggregationSources {
 25675  			if v == nil {
 25676  				continue
 25677  			}
 25678  			if err := v.Validate(); err != nil {
 25679  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountAggregationSources", i), err.(request.ErrInvalidParams))
 25680  			}
 25681  		}
 25682  	}
 25683  	if s.OrganizationAggregationSource != nil {
 25684  		if err := s.OrganizationAggregationSource.Validate(); err != nil {
 25685  			invalidParams.AddNested("OrganizationAggregationSource", err.(request.ErrInvalidParams))
 25686  		}
 25687  	}
 25688  	if s.Tags != nil {
 25689  		for i, v := range s.Tags {
 25690  			if v == nil {
 25691  				continue
 25692  			}
 25693  			if err := v.Validate(); err != nil {
 25694  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 25695  			}
 25696  		}
 25697  	}
 25698  
 25699  	if invalidParams.Len() > 0 {
 25700  		return invalidParams
 25701  	}
 25702  	return nil
 25703  }
 25704  
 25705  // SetAccountAggregationSources sets the AccountAggregationSources field's value.
 25706  func (s *PutConfigurationAggregatorInput) SetAccountAggregationSources(v []*AccountAggregationSource) *PutConfigurationAggregatorInput {
 25707  	s.AccountAggregationSources = v
 25708  	return s
 25709  }
 25710  
 25711  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 25712  func (s *PutConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *PutConfigurationAggregatorInput {
 25713  	s.ConfigurationAggregatorName = &v
 25714  	return s
 25715  }
 25716  
 25717  // SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
 25718  func (s *PutConfigurationAggregatorInput) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *PutConfigurationAggregatorInput {
 25719  	s.OrganizationAggregationSource = v
 25720  	return s
 25721  }
 25722  
 25723  // SetTags sets the Tags field's value.
 25724  func (s *PutConfigurationAggregatorInput) SetTags(v []*Tag) *PutConfigurationAggregatorInput {
 25725  	s.Tags = v
 25726  	return s
 25727  }
 25728  
 25729  type PutConfigurationAggregatorOutput struct {
 25730  	_ struct{} `type:"structure"`
 25731  
 25732  	// Returns a ConfigurationAggregator object.
 25733  	ConfigurationAggregator *ConfigurationAggregator `type:"structure"`
 25734  }
 25735  
 25736  // String returns the string representation.
 25737  //
 25738  // API parameter values that are decorated as "sensitive" in the API will not
 25739  // be included in the string output. The member name will be present, but the
 25740  // value will be replaced with "sensitive".
 25741  func (s PutConfigurationAggregatorOutput) String() string {
 25742  	return awsutil.Prettify(s)
 25743  }
 25744  
 25745  // GoString returns the string representation.
 25746  //
 25747  // API parameter values that are decorated as "sensitive" in the API will not
 25748  // be included in the string output. The member name will be present, but the
 25749  // value will be replaced with "sensitive".
 25750  func (s PutConfigurationAggregatorOutput) GoString() string {
 25751  	return s.String()
 25752  }
 25753  
 25754  // SetConfigurationAggregator sets the ConfigurationAggregator field's value.
 25755  func (s *PutConfigurationAggregatorOutput) SetConfigurationAggregator(v *ConfigurationAggregator) *PutConfigurationAggregatorOutput {
 25756  	s.ConfigurationAggregator = v
 25757  	return s
 25758  }
 25759  
 25760  // The input for the PutConfigurationRecorder action.
 25761  type PutConfigurationRecorderInput struct {
 25762  	_ struct{} `type:"structure"`
 25763  
 25764  	// The configuration recorder object that records each configuration change
 25765  	// made to the resources.
 25766  	//
 25767  	// ConfigurationRecorder is a required field
 25768  	ConfigurationRecorder *ConfigurationRecorder `type:"structure" required:"true"`
 25769  }
 25770  
 25771  // String returns the string representation.
 25772  //
 25773  // API parameter values that are decorated as "sensitive" in the API will not
 25774  // be included in the string output. The member name will be present, but the
 25775  // value will be replaced with "sensitive".
 25776  func (s PutConfigurationRecorderInput) String() string {
 25777  	return awsutil.Prettify(s)
 25778  }
 25779  
 25780  // GoString returns the string representation.
 25781  //
 25782  // API parameter values that are decorated as "sensitive" in the API will not
 25783  // be included in the string output. The member name will be present, but the
 25784  // value will be replaced with "sensitive".
 25785  func (s PutConfigurationRecorderInput) GoString() string {
 25786  	return s.String()
 25787  }
 25788  
 25789  // Validate inspects the fields of the type to determine if they are valid.
 25790  func (s *PutConfigurationRecorderInput) Validate() error {
 25791  	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationRecorderInput"}
 25792  	if s.ConfigurationRecorder == nil {
 25793  		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorder"))
 25794  	}
 25795  	if s.ConfigurationRecorder != nil {
 25796  		if err := s.ConfigurationRecorder.Validate(); err != nil {
 25797  			invalidParams.AddNested("ConfigurationRecorder", err.(request.ErrInvalidParams))
 25798  		}
 25799  	}
 25800  
 25801  	if invalidParams.Len() > 0 {
 25802  		return invalidParams
 25803  	}
 25804  	return nil
 25805  }
 25806  
 25807  // SetConfigurationRecorder sets the ConfigurationRecorder field's value.
 25808  func (s *PutConfigurationRecorderInput) SetConfigurationRecorder(v *ConfigurationRecorder) *PutConfigurationRecorderInput {
 25809  	s.ConfigurationRecorder = v
 25810  	return s
 25811  }
 25812  
 25813  type PutConfigurationRecorderOutput struct {
 25814  	_ struct{} `type:"structure"`
 25815  }
 25816  
 25817  // String returns the string representation.
 25818  //
 25819  // API parameter values that are decorated as "sensitive" in the API will not
 25820  // be included in the string output. The member name will be present, but the
 25821  // value will be replaced with "sensitive".
 25822  func (s PutConfigurationRecorderOutput) String() string {
 25823  	return awsutil.Prettify(s)
 25824  }
 25825  
 25826  // GoString returns the string representation.
 25827  //
 25828  // API parameter values that are decorated as "sensitive" in the API will not
 25829  // be included in the string output. The member name will be present, but the
 25830  // value will be replaced with "sensitive".
 25831  func (s PutConfigurationRecorderOutput) GoString() string {
 25832  	return s.String()
 25833  }
 25834  
 25835  type PutConformancePackInput struct {
 25836  	_ struct{} `type:"structure"`
 25837  
 25838  	// A list of ConformancePackInputParameter objects.
 25839  	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
 25840  
 25841  	// Name of the conformance pack you want to create.
 25842  	//
 25843  	// ConformancePackName is a required field
 25844  	ConformancePackName *string `min:"1" type:"string" required:"true"`
 25845  
 25846  	// The name of the Amazon S3 bucket where Config stores conformance pack templates.
 25847  	//
 25848  	// This field is optional.
 25849  	DeliveryS3Bucket *string `type:"string"`
 25850  
 25851  	// The prefix for the Amazon S3 bucket.
 25852  	//
 25853  	// This field is optional.
 25854  	DeliveryS3KeyPrefix *string `type:"string"`
 25855  
 25856  	// A string containing full conformance pack template body. Structure containing
 25857  	// the template body with a minimum length of 1 byte and a maximum length of
 25858  	// 51,200 bytes.
 25859  	//
 25860  	// You can only use a YAML template with one resource type, that is, config
 25861  	// rule and a remediation action.
 25862  	TemplateBody *string `min:"1" type:"string"`
 25863  
 25864  	// Location of file containing the template body (s3://bucketname/prefix). The
 25865  	// uri must point to the conformance pack template (max size: 300 KB) that is
 25866  	// located in an Amazon S3 bucket in the same region as the conformance pack.
 25867  	//
 25868  	// You must have access to read Amazon S3 bucket.
 25869  	TemplateS3Uri *string `min:"1" type:"string"`
 25870  }
 25871  
 25872  // String returns the string representation.
 25873  //
 25874  // API parameter values that are decorated as "sensitive" in the API will not
 25875  // be included in the string output. The member name will be present, but the
 25876  // value will be replaced with "sensitive".
 25877  func (s PutConformancePackInput) String() string {
 25878  	return awsutil.Prettify(s)
 25879  }
 25880  
 25881  // GoString returns the string representation.
 25882  //
 25883  // API parameter values that are decorated as "sensitive" in the API will not
 25884  // be included in the string output. The member name will be present, but the
 25885  // value will be replaced with "sensitive".
 25886  func (s PutConformancePackInput) GoString() string {
 25887  	return s.String()
 25888  }
 25889  
 25890  // Validate inspects the fields of the type to determine if they are valid.
 25891  func (s *PutConformancePackInput) Validate() error {
 25892  	invalidParams := request.ErrInvalidParams{Context: "PutConformancePackInput"}
 25893  	if s.ConformancePackName == nil {
 25894  		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
 25895  	}
 25896  	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
 25897  		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
 25898  	}
 25899  	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
 25900  		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
 25901  	}
 25902  	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
 25903  		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
 25904  	}
 25905  	if s.ConformancePackInputParameters != nil {
 25906  		for i, v := range s.ConformancePackInputParameters {
 25907  			if v == nil {
 25908  				continue
 25909  			}
 25910  			if err := v.Validate(); err != nil {
 25911  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
 25912  			}
 25913  		}
 25914  	}
 25915  
 25916  	if invalidParams.Len() > 0 {
 25917  		return invalidParams
 25918  	}
 25919  	return nil
 25920  }
 25921  
 25922  // SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
 25923  func (s *PutConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutConformancePackInput {
 25924  	s.ConformancePackInputParameters = v
 25925  	return s
 25926  }
 25927  
 25928  // SetConformancePackName sets the ConformancePackName field's value.
 25929  func (s *PutConformancePackInput) SetConformancePackName(v string) *PutConformancePackInput {
 25930  	s.ConformancePackName = &v
 25931  	return s
 25932  }
 25933  
 25934  // SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
 25935  func (s *PutConformancePackInput) SetDeliveryS3Bucket(v string) *PutConformancePackInput {
 25936  	s.DeliveryS3Bucket = &v
 25937  	return s
 25938  }
 25939  
 25940  // SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
 25941  func (s *PutConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutConformancePackInput {
 25942  	s.DeliveryS3KeyPrefix = &v
 25943  	return s
 25944  }
 25945  
 25946  // SetTemplateBody sets the TemplateBody field's value.
 25947  func (s *PutConformancePackInput) SetTemplateBody(v string) *PutConformancePackInput {
 25948  	s.TemplateBody = &v
 25949  	return s
 25950  }
 25951  
 25952  // SetTemplateS3Uri sets the TemplateS3Uri field's value.
 25953  func (s *PutConformancePackInput) SetTemplateS3Uri(v string) *PutConformancePackInput {
 25954  	s.TemplateS3Uri = &v
 25955  	return s
 25956  }
 25957  
 25958  type PutConformancePackOutput struct {
 25959  	_ struct{} `type:"structure"`
 25960  
 25961  	// ARN of the conformance pack.
 25962  	ConformancePackArn *string `min:"1" type:"string"`
 25963  }
 25964  
 25965  // String returns the string representation.
 25966  //
 25967  // API parameter values that are decorated as "sensitive" in the API will not
 25968  // be included in the string output. The member name will be present, but the
 25969  // value will be replaced with "sensitive".
 25970  func (s PutConformancePackOutput) String() string {
 25971  	return awsutil.Prettify(s)
 25972  }
 25973  
 25974  // GoString returns the string representation.
 25975  //
 25976  // API parameter values that are decorated as "sensitive" in the API will not
 25977  // be included in the string output. The member name will be present, but the
 25978  // value will be replaced with "sensitive".
 25979  func (s PutConformancePackOutput) GoString() string {
 25980  	return s.String()
 25981  }
 25982  
 25983  // SetConformancePackArn sets the ConformancePackArn field's value.
 25984  func (s *PutConformancePackOutput) SetConformancePackArn(v string) *PutConformancePackOutput {
 25985  	s.ConformancePackArn = &v
 25986  	return s
 25987  }
 25988  
 25989  // The input for the PutDeliveryChannel action.
 25990  type PutDeliveryChannelInput struct {
 25991  	_ struct{} `type:"structure"`
 25992  
 25993  	// The configuration delivery channel object that delivers the configuration
 25994  	// information to an Amazon S3 bucket and to an Amazon SNS topic.
 25995  	//
 25996  	// DeliveryChannel is a required field
 25997  	DeliveryChannel *DeliveryChannel `type:"structure" required:"true"`
 25998  }
 25999  
 26000  // String returns the string representation.
 26001  //
 26002  // API parameter values that are decorated as "sensitive" in the API will not
 26003  // be included in the string output. The member name will be present, but the
 26004  // value will be replaced with "sensitive".
 26005  func (s PutDeliveryChannelInput) String() string {
 26006  	return awsutil.Prettify(s)
 26007  }
 26008  
 26009  // GoString returns the string representation.
 26010  //
 26011  // API parameter values that are decorated as "sensitive" in the API will not
 26012  // be included in the string output. The member name will be present, but the
 26013  // value will be replaced with "sensitive".
 26014  func (s PutDeliveryChannelInput) GoString() string {
 26015  	return s.String()
 26016  }
 26017  
 26018  // Validate inspects the fields of the type to determine if they are valid.
 26019  func (s *PutDeliveryChannelInput) Validate() error {
 26020  	invalidParams := request.ErrInvalidParams{Context: "PutDeliveryChannelInput"}
 26021  	if s.DeliveryChannel == nil {
 26022  		invalidParams.Add(request.NewErrParamRequired("DeliveryChannel"))
 26023  	}
 26024  	if s.DeliveryChannel != nil {
 26025  		if err := s.DeliveryChannel.Validate(); err != nil {
 26026  			invalidParams.AddNested("DeliveryChannel", err.(request.ErrInvalidParams))
 26027  		}
 26028  	}
 26029  
 26030  	if invalidParams.Len() > 0 {
 26031  		return invalidParams
 26032  	}
 26033  	return nil
 26034  }
 26035  
 26036  // SetDeliveryChannel sets the DeliveryChannel field's value.
 26037  func (s *PutDeliveryChannelInput) SetDeliveryChannel(v *DeliveryChannel) *PutDeliveryChannelInput {
 26038  	s.DeliveryChannel = v
 26039  	return s
 26040  }
 26041  
 26042  type PutDeliveryChannelOutput struct {
 26043  	_ struct{} `type:"structure"`
 26044  }
 26045  
 26046  // String returns the string representation.
 26047  //
 26048  // API parameter values that are decorated as "sensitive" in the API will not
 26049  // be included in the string output. The member name will be present, but the
 26050  // value will be replaced with "sensitive".
 26051  func (s PutDeliveryChannelOutput) String() string {
 26052  	return awsutil.Prettify(s)
 26053  }
 26054  
 26055  // GoString returns the string representation.
 26056  //
 26057  // API parameter values that are decorated as "sensitive" in the API will not
 26058  // be included in the string output. The member name will be present, but the
 26059  // value will be replaced with "sensitive".
 26060  func (s PutDeliveryChannelOutput) GoString() string {
 26061  	return s.String()
 26062  }
 26063  
 26064  type PutEvaluationsInput struct {
 26065  	_ struct{} `type:"structure"`
 26066  
 26067  	// The assessments that the Lambda function performs. Each evaluation identifies
 26068  	// an Amazon Web Services resource and indicates whether it complies with the
 26069  	// Config rule that invokes the Lambda function.
 26070  	Evaluations []*Evaluation `type:"list"`
 26071  
 26072  	// An encrypted token that associates an evaluation with an Config rule. Identifies
 26073  	// the rule and the event that triggered the evaluation.
 26074  	//
 26075  	// ResultToken is a required field
 26076  	ResultToken *string `type:"string" required:"true"`
 26077  
 26078  	// Use this parameter to specify a test run for PutEvaluations. You can verify
 26079  	// whether your Lambda function will deliver evaluation results to Config. No
 26080  	// updates occur to your existing evaluations, and evaluation results are not
 26081  	// sent to Config.
 26082  	//
 26083  	// When TestMode is true, PutEvaluations doesn't require a valid value for the
 26084  	// ResultToken parameter, but the value cannot be null.
 26085  	TestMode *bool `type:"boolean"`
 26086  }
 26087  
 26088  // String returns the string representation.
 26089  //
 26090  // API parameter values that are decorated as "sensitive" in the API will not
 26091  // be included in the string output. The member name will be present, but the
 26092  // value will be replaced with "sensitive".
 26093  func (s PutEvaluationsInput) String() string {
 26094  	return awsutil.Prettify(s)
 26095  }
 26096  
 26097  // GoString returns the string representation.
 26098  //
 26099  // API parameter values that are decorated as "sensitive" in the API will not
 26100  // be included in the string output. The member name will be present, but the
 26101  // value will be replaced with "sensitive".
 26102  func (s PutEvaluationsInput) GoString() string {
 26103  	return s.String()
 26104  }
 26105  
 26106  // Validate inspects the fields of the type to determine if they are valid.
 26107  func (s *PutEvaluationsInput) Validate() error {
 26108  	invalidParams := request.ErrInvalidParams{Context: "PutEvaluationsInput"}
 26109  	if s.ResultToken == nil {
 26110  		invalidParams.Add(request.NewErrParamRequired("ResultToken"))
 26111  	}
 26112  	if s.Evaluations != nil {
 26113  		for i, v := range s.Evaluations {
 26114  			if v == nil {
 26115  				continue
 26116  			}
 26117  			if err := v.Validate(); err != nil {
 26118  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Evaluations", i), err.(request.ErrInvalidParams))
 26119  			}
 26120  		}
 26121  	}
 26122  
 26123  	if invalidParams.Len() > 0 {
 26124  		return invalidParams
 26125  	}
 26126  	return nil
 26127  }
 26128  
 26129  // SetEvaluations sets the Evaluations field's value.
 26130  func (s *PutEvaluationsInput) SetEvaluations(v []*Evaluation) *PutEvaluationsInput {
 26131  	s.Evaluations = v
 26132  	return s
 26133  }
 26134  
 26135  // SetResultToken sets the ResultToken field's value.
 26136  func (s *PutEvaluationsInput) SetResultToken(v string) *PutEvaluationsInput {
 26137  	s.ResultToken = &v
 26138  	return s
 26139  }
 26140  
 26141  // SetTestMode sets the TestMode field's value.
 26142  func (s *PutEvaluationsInput) SetTestMode(v bool) *PutEvaluationsInput {
 26143  	s.TestMode = &v
 26144  	return s
 26145  }
 26146  
 26147  type PutEvaluationsOutput struct {
 26148  	_ struct{} `type:"structure"`
 26149  
 26150  	// Requests that failed because of a client or server error.
 26151  	FailedEvaluations []*Evaluation `type:"list"`
 26152  }
 26153  
 26154  // String returns the string representation.
 26155  //
 26156  // API parameter values that are decorated as "sensitive" in the API will not
 26157  // be included in the string output. The member name will be present, but the
 26158  // value will be replaced with "sensitive".
 26159  func (s PutEvaluationsOutput) String() string {
 26160  	return awsutil.Prettify(s)
 26161  }
 26162  
 26163  // GoString returns the string representation.
 26164  //
 26165  // API parameter values that are decorated as "sensitive" in the API will not
 26166  // be included in the string output. The member name will be present, but the
 26167  // value will be replaced with "sensitive".
 26168  func (s PutEvaluationsOutput) GoString() string {
 26169  	return s.String()
 26170  }
 26171  
 26172  // SetFailedEvaluations sets the FailedEvaluations field's value.
 26173  func (s *PutEvaluationsOutput) SetFailedEvaluations(v []*Evaluation) *PutEvaluationsOutput {
 26174  	s.FailedEvaluations = v
 26175  	return s
 26176  }
 26177  
 26178  type PutExternalEvaluationInput struct {
 26179  	_ struct{} `type:"structure"`
 26180  
 26181  	// The name of the Config rule.
 26182  	//
 26183  	// ConfigRuleName is a required field
 26184  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 26185  
 26186  	// An ExternalEvaluation object that provides details about compliance.
 26187  	//
 26188  	// ExternalEvaluation is a required field
 26189  	ExternalEvaluation *ExternalEvaluation `type:"structure" required:"true"`
 26190  }
 26191  
 26192  // String returns the string representation.
 26193  //
 26194  // API parameter values that are decorated as "sensitive" in the API will not
 26195  // be included in the string output. The member name will be present, but the
 26196  // value will be replaced with "sensitive".
 26197  func (s PutExternalEvaluationInput) String() string {
 26198  	return awsutil.Prettify(s)
 26199  }
 26200  
 26201  // GoString returns the string representation.
 26202  //
 26203  // API parameter values that are decorated as "sensitive" in the API will not
 26204  // be included in the string output. The member name will be present, but the
 26205  // value will be replaced with "sensitive".
 26206  func (s PutExternalEvaluationInput) GoString() string {
 26207  	return s.String()
 26208  }
 26209  
 26210  // Validate inspects the fields of the type to determine if they are valid.
 26211  func (s *PutExternalEvaluationInput) Validate() error {
 26212  	invalidParams := request.ErrInvalidParams{Context: "PutExternalEvaluationInput"}
 26213  	if s.ConfigRuleName == nil {
 26214  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 26215  	}
 26216  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 26217  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 26218  	}
 26219  	if s.ExternalEvaluation == nil {
 26220  		invalidParams.Add(request.NewErrParamRequired("ExternalEvaluation"))
 26221  	}
 26222  	if s.ExternalEvaluation != nil {
 26223  		if err := s.ExternalEvaluation.Validate(); err != nil {
 26224  			invalidParams.AddNested("ExternalEvaluation", err.(request.ErrInvalidParams))
 26225  		}
 26226  	}
 26227  
 26228  	if invalidParams.Len() > 0 {
 26229  		return invalidParams
 26230  	}
 26231  	return nil
 26232  }
 26233  
 26234  // SetConfigRuleName sets the ConfigRuleName field's value.
 26235  func (s *PutExternalEvaluationInput) SetConfigRuleName(v string) *PutExternalEvaluationInput {
 26236  	s.ConfigRuleName = &v
 26237  	return s
 26238  }
 26239  
 26240  // SetExternalEvaluation sets the ExternalEvaluation field's value.
 26241  func (s *PutExternalEvaluationInput) SetExternalEvaluation(v *ExternalEvaluation) *PutExternalEvaluationInput {
 26242  	s.ExternalEvaluation = v
 26243  	return s
 26244  }
 26245  
 26246  type PutExternalEvaluationOutput struct {
 26247  	_ struct{} `type:"structure"`
 26248  }
 26249  
 26250  // String returns the string representation.
 26251  //
 26252  // API parameter values that are decorated as "sensitive" in the API will not
 26253  // be included in the string output. The member name will be present, but the
 26254  // value will be replaced with "sensitive".
 26255  func (s PutExternalEvaluationOutput) String() string {
 26256  	return awsutil.Prettify(s)
 26257  }
 26258  
 26259  // GoString returns the string representation.
 26260  //
 26261  // API parameter values that are decorated as "sensitive" in the API will not
 26262  // be included in the string output. The member name will be present, but the
 26263  // value will be replaced with "sensitive".
 26264  func (s PutExternalEvaluationOutput) GoString() string {
 26265  	return s.String()
 26266  }
 26267  
 26268  type PutOrganizationConfigRuleInput struct {
 26269  	_ struct{} `type:"structure"`
 26270  
 26271  	// A comma-separated list of accounts that you want to exclude from an organization
 26272  	// config rule.
 26273  	ExcludedAccounts []*string `type:"list"`
 26274  
 26275  	// The name that you assign to an organization config rule.
 26276  	//
 26277  	// OrganizationConfigRuleName is a required field
 26278  	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
 26279  
 26280  	// An OrganizationCustomRuleMetadata object.
 26281  	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
 26282  
 26283  	// An OrganizationManagedRuleMetadata object.
 26284  	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
 26285  }
 26286  
 26287  // String returns the string representation.
 26288  //
 26289  // API parameter values that are decorated as "sensitive" in the API will not
 26290  // be included in the string output. The member name will be present, but the
 26291  // value will be replaced with "sensitive".
 26292  func (s PutOrganizationConfigRuleInput) String() string {
 26293  	return awsutil.Prettify(s)
 26294  }
 26295  
 26296  // GoString returns the string representation.
 26297  //
 26298  // API parameter values that are decorated as "sensitive" in the API will not
 26299  // be included in the string output. The member name will be present, but the
 26300  // value will be replaced with "sensitive".
 26301  func (s PutOrganizationConfigRuleInput) GoString() string {
 26302  	return s.String()
 26303  }
 26304  
 26305  // Validate inspects the fields of the type to determine if they are valid.
 26306  func (s *PutOrganizationConfigRuleInput) Validate() error {
 26307  	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConfigRuleInput"}
 26308  	if s.OrganizationConfigRuleName == nil {
 26309  		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
 26310  	}
 26311  	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
 26312  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
 26313  	}
 26314  	if s.OrganizationCustomRuleMetadata != nil {
 26315  		if err := s.OrganizationCustomRuleMetadata.Validate(); err != nil {
 26316  			invalidParams.AddNested("OrganizationCustomRuleMetadata", err.(request.ErrInvalidParams))
 26317  		}
 26318  	}
 26319  	if s.OrganizationManagedRuleMetadata != nil {
 26320  		if err := s.OrganizationManagedRuleMetadata.Validate(); err != nil {
 26321  			invalidParams.AddNested("OrganizationManagedRuleMetadata", err.(request.ErrInvalidParams))
 26322  		}
 26323  	}
 26324  
 26325  	if invalidParams.Len() > 0 {
 26326  		return invalidParams
 26327  	}
 26328  	return nil
 26329  }
 26330  
 26331  // SetExcludedAccounts sets the ExcludedAccounts field's value.
 26332  func (s *PutOrganizationConfigRuleInput) SetExcludedAccounts(v []*string) *PutOrganizationConfigRuleInput {
 26333  	s.ExcludedAccounts = v
 26334  	return s
 26335  }
 26336  
 26337  // SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
 26338  func (s *PutOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *PutOrganizationConfigRuleInput {
 26339  	s.OrganizationConfigRuleName = &v
 26340  	return s
 26341  }
 26342  
 26343  // SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
 26344  func (s *PutOrganizationConfigRuleInput) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *PutOrganizationConfigRuleInput {
 26345  	s.OrganizationCustomRuleMetadata = v
 26346  	return s
 26347  }
 26348  
 26349  // SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
 26350  func (s *PutOrganizationConfigRuleInput) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *PutOrganizationConfigRuleInput {
 26351  	s.OrganizationManagedRuleMetadata = v
 26352  	return s
 26353  }
 26354  
 26355  type PutOrganizationConfigRuleOutput struct {
 26356  	_ struct{} `type:"structure"`
 26357  
 26358  	// The Amazon Resource Name (ARN) of an organization config rule.
 26359  	OrganizationConfigRuleArn *string `min:"1" type:"string"`
 26360  }
 26361  
 26362  // String returns the string representation.
 26363  //
 26364  // API parameter values that are decorated as "sensitive" in the API will not
 26365  // be included in the string output. The member name will be present, but the
 26366  // value will be replaced with "sensitive".
 26367  func (s PutOrganizationConfigRuleOutput) String() string {
 26368  	return awsutil.Prettify(s)
 26369  }
 26370  
 26371  // GoString returns the string representation.
 26372  //
 26373  // API parameter values that are decorated as "sensitive" in the API will not
 26374  // be included in the string output. The member name will be present, but the
 26375  // value will be replaced with "sensitive".
 26376  func (s PutOrganizationConfigRuleOutput) GoString() string {
 26377  	return s.String()
 26378  }
 26379  
 26380  // SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
 26381  func (s *PutOrganizationConfigRuleOutput) SetOrganizationConfigRuleArn(v string) *PutOrganizationConfigRuleOutput {
 26382  	s.OrganizationConfigRuleArn = &v
 26383  	return s
 26384  }
 26385  
 26386  type PutOrganizationConformancePackInput struct {
 26387  	_ struct{} `type:"structure"`
 26388  
 26389  	// A list of ConformancePackInputParameter objects.
 26390  	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
 26391  
 26392  	// The name of the Amazon S3 bucket where Config stores conformance pack templates.
 26393  	//
 26394  	// This field is optional. If used, it must be prefixed with awsconfigconforms.
 26395  	DeliveryS3Bucket *string `type:"string"`
 26396  
 26397  	// The prefix for the Amazon S3 bucket.
 26398  	//
 26399  	// This field is optional.
 26400  	DeliveryS3KeyPrefix *string `type:"string"`
 26401  
 26402  	// A list of Amazon Web Services accounts to be excluded from an organization
 26403  	// conformance pack while deploying a conformance pack.
 26404  	ExcludedAccounts []*string `type:"list"`
 26405  
 26406  	// Name of the organization conformance pack you want to create.
 26407  	//
 26408  	// OrganizationConformancePackName is a required field
 26409  	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
 26410  
 26411  	// A string containing full conformance pack template body. Structure containing
 26412  	// the template body with a minimum length of 1 byte and a maximum length of
 26413  	// 51,200 bytes.
 26414  	TemplateBody *string `min:"1" type:"string"`
 26415  
 26416  	// Location of file containing the template body. The uri must point to the
 26417  	// conformance pack template (max size: 300 KB).
 26418  	//
 26419  	// You must have access to read Amazon S3 bucket.
 26420  	TemplateS3Uri *string `min:"1" type:"string"`
 26421  }
 26422  
 26423  // String returns the string representation.
 26424  //
 26425  // API parameter values that are decorated as "sensitive" in the API will not
 26426  // be included in the string output. The member name will be present, but the
 26427  // value will be replaced with "sensitive".
 26428  func (s PutOrganizationConformancePackInput) String() string {
 26429  	return awsutil.Prettify(s)
 26430  }
 26431  
 26432  // GoString returns the string representation.
 26433  //
 26434  // API parameter values that are decorated as "sensitive" in the API will not
 26435  // be included in the string output. The member name will be present, but the
 26436  // value will be replaced with "sensitive".
 26437  func (s PutOrganizationConformancePackInput) GoString() string {
 26438  	return s.String()
 26439  }
 26440  
 26441  // Validate inspects the fields of the type to determine if they are valid.
 26442  func (s *PutOrganizationConformancePackInput) Validate() error {
 26443  	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConformancePackInput"}
 26444  	if s.OrganizationConformancePackName == nil {
 26445  		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
 26446  	}
 26447  	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
 26448  		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
 26449  	}
 26450  	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
 26451  		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
 26452  	}
 26453  	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
 26454  		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
 26455  	}
 26456  	if s.ConformancePackInputParameters != nil {
 26457  		for i, v := range s.ConformancePackInputParameters {
 26458  			if v == nil {
 26459  				continue
 26460  			}
 26461  			if err := v.Validate(); err != nil {
 26462  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
 26463  			}
 26464  		}
 26465  	}
 26466  
 26467  	if invalidParams.Len() > 0 {
 26468  		return invalidParams
 26469  	}
 26470  	return nil
 26471  }
 26472  
 26473  // SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
 26474  func (s *PutOrganizationConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutOrganizationConformancePackInput {
 26475  	s.ConformancePackInputParameters = v
 26476  	return s
 26477  }
 26478  
 26479  // SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
 26480  func (s *PutOrganizationConformancePackInput) SetDeliveryS3Bucket(v string) *PutOrganizationConformancePackInput {
 26481  	s.DeliveryS3Bucket = &v
 26482  	return s
 26483  }
 26484  
 26485  // SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
 26486  func (s *PutOrganizationConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutOrganizationConformancePackInput {
 26487  	s.DeliveryS3KeyPrefix = &v
 26488  	return s
 26489  }
 26490  
 26491  // SetExcludedAccounts sets the ExcludedAccounts field's value.
 26492  func (s *PutOrganizationConformancePackInput) SetExcludedAccounts(v []*string) *PutOrganizationConformancePackInput {
 26493  	s.ExcludedAccounts = v
 26494  	return s
 26495  }
 26496  
 26497  // SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
 26498  func (s *PutOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *PutOrganizationConformancePackInput {
 26499  	s.OrganizationConformancePackName = &v
 26500  	return s
 26501  }
 26502  
 26503  // SetTemplateBody sets the TemplateBody field's value.
 26504  func (s *PutOrganizationConformancePackInput) SetTemplateBody(v string) *PutOrganizationConformancePackInput {
 26505  	s.TemplateBody = &v
 26506  	return s
 26507  }
 26508  
 26509  // SetTemplateS3Uri sets the TemplateS3Uri field's value.
 26510  func (s *PutOrganizationConformancePackInput) SetTemplateS3Uri(v string) *PutOrganizationConformancePackInput {
 26511  	s.TemplateS3Uri = &v
 26512  	return s
 26513  }
 26514  
 26515  type PutOrganizationConformancePackOutput struct {
 26516  	_ struct{} `type:"structure"`
 26517  
 26518  	// ARN of the organization conformance pack.
 26519  	OrganizationConformancePackArn *string `min:"1" type:"string"`
 26520  }
 26521  
 26522  // String returns the string representation.
 26523  //
 26524  // API parameter values that are decorated as "sensitive" in the API will not
 26525  // be included in the string output. The member name will be present, but the
 26526  // value will be replaced with "sensitive".
 26527  func (s PutOrganizationConformancePackOutput) String() string {
 26528  	return awsutil.Prettify(s)
 26529  }
 26530  
 26531  // GoString returns the string representation.
 26532  //
 26533  // API parameter values that are decorated as "sensitive" in the API will not
 26534  // be included in the string output. The member name will be present, but the
 26535  // value will be replaced with "sensitive".
 26536  func (s PutOrganizationConformancePackOutput) GoString() string {
 26537  	return s.String()
 26538  }
 26539  
 26540  // SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
 26541  func (s *PutOrganizationConformancePackOutput) SetOrganizationConformancePackArn(v string) *PutOrganizationConformancePackOutput {
 26542  	s.OrganizationConformancePackArn = &v
 26543  	return s
 26544  }
 26545  
 26546  type PutRemediationConfigurationsInput struct {
 26547  	_ struct{} `type:"structure"`
 26548  
 26549  	// A list of remediation configuration objects.
 26550  	//
 26551  	// RemediationConfigurations is a required field
 26552  	RemediationConfigurations []*RemediationConfiguration `type:"list" required:"true"`
 26553  }
 26554  
 26555  // String returns the string representation.
 26556  //
 26557  // API parameter values that are decorated as "sensitive" in the API will not
 26558  // be included in the string output. The member name will be present, but the
 26559  // value will be replaced with "sensitive".
 26560  func (s PutRemediationConfigurationsInput) String() string {
 26561  	return awsutil.Prettify(s)
 26562  }
 26563  
 26564  // GoString returns the string representation.
 26565  //
 26566  // API parameter values that are decorated as "sensitive" in the API will not
 26567  // be included in the string output. The member name will be present, but the
 26568  // value will be replaced with "sensitive".
 26569  func (s PutRemediationConfigurationsInput) GoString() string {
 26570  	return s.String()
 26571  }
 26572  
 26573  // Validate inspects the fields of the type to determine if they are valid.
 26574  func (s *PutRemediationConfigurationsInput) Validate() error {
 26575  	invalidParams := request.ErrInvalidParams{Context: "PutRemediationConfigurationsInput"}
 26576  	if s.RemediationConfigurations == nil {
 26577  		invalidParams.Add(request.NewErrParamRequired("RemediationConfigurations"))
 26578  	}
 26579  	if s.RemediationConfigurations != nil {
 26580  		for i, v := range s.RemediationConfigurations {
 26581  			if v == nil {
 26582  				continue
 26583  			}
 26584  			if err := v.Validate(); err != nil {
 26585  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemediationConfigurations", i), err.(request.ErrInvalidParams))
 26586  			}
 26587  		}
 26588  	}
 26589  
 26590  	if invalidParams.Len() > 0 {
 26591  		return invalidParams
 26592  	}
 26593  	return nil
 26594  }
 26595  
 26596  // SetRemediationConfigurations sets the RemediationConfigurations field's value.
 26597  func (s *PutRemediationConfigurationsInput) SetRemediationConfigurations(v []*RemediationConfiguration) *PutRemediationConfigurationsInput {
 26598  	s.RemediationConfigurations = v
 26599  	return s
 26600  }
 26601  
 26602  type PutRemediationConfigurationsOutput struct {
 26603  	_ struct{} `type:"structure"`
 26604  
 26605  	// Returns a list of failed remediation batch objects.
 26606  	FailedBatches []*FailedRemediationBatch `type:"list"`
 26607  }
 26608  
 26609  // String returns the string representation.
 26610  //
 26611  // API parameter values that are decorated as "sensitive" in the API will not
 26612  // be included in the string output. The member name will be present, but the
 26613  // value will be replaced with "sensitive".
 26614  func (s PutRemediationConfigurationsOutput) String() string {
 26615  	return awsutil.Prettify(s)
 26616  }
 26617  
 26618  // GoString returns the string representation.
 26619  //
 26620  // API parameter values that are decorated as "sensitive" in the API will not
 26621  // be included in the string output. The member name will be present, but the
 26622  // value will be replaced with "sensitive".
 26623  func (s PutRemediationConfigurationsOutput) GoString() string {
 26624  	return s.String()
 26625  }
 26626  
 26627  // SetFailedBatches sets the FailedBatches field's value.
 26628  func (s *PutRemediationConfigurationsOutput) SetFailedBatches(v []*FailedRemediationBatch) *PutRemediationConfigurationsOutput {
 26629  	s.FailedBatches = v
 26630  	return s
 26631  }
 26632  
 26633  type PutRemediationExceptionsInput struct {
 26634  	_ struct{} `type:"structure"`
 26635  
 26636  	// The name of the Config rule for which you want to create remediation exception.
 26637  	//
 26638  	// ConfigRuleName is a required field
 26639  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 26640  
 26641  	// The exception is automatically deleted after the expiration date.
 26642  	ExpirationTime *time.Time `type:"timestamp"`
 26643  
 26644  	// The message contains an explanation of the exception.
 26645  	Message *string `min:"1" type:"string"`
 26646  
 26647  	// An exception list of resource exception keys to be processed with the current
 26648  	// request. Config adds exception for each resource key. For example, Config
 26649  	// adds 3 exceptions for 3 resource keys.
 26650  	//
 26651  	// ResourceKeys is a required field
 26652  	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
 26653  }
 26654  
 26655  // String returns the string representation.
 26656  //
 26657  // API parameter values that are decorated as "sensitive" in the API will not
 26658  // be included in the string output. The member name will be present, but the
 26659  // value will be replaced with "sensitive".
 26660  func (s PutRemediationExceptionsInput) String() string {
 26661  	return awsutil.Prettify(s)
 26662  }
 26663  
 26664  // GoString returns the string representation.
 26665  //
 26666  // API parameter values that are decorated as "sensitive" in the API will not
 26667  // be included in the string output. The member name will be present, but the
 26668  // value will be replaced with "sensitive".
 26669  func (s PutRemediationExceptionsInput) GoString() string {
 26670  	return s.String()
 26671  }
 26672  
 26673  // Validate inspects the fields of the type to determine if they are valid.
 26674  func (s *PutRemediationExceptionsInput) Validate() error {
 26675  	invalidParams := request.ErrInvalidParams{Context: "PutRemediationExceptionsInput"}
 26676  	if s.ConfigRuleName == nil {
 26677  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 26678  	}
 26679  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 26680  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 26681  	}
 26682  	if s.Message != nil && len(*s.Message) < 1 {
 26683  		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
 26684  	}
 26685  	if s.ResourceKeys == nil {
 26686  		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
 26687  	}
 26688  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 26689  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 26690  	}
 26691  	if s.ResourceKeys != nil {
 26692  		for i, v := range s.ResourceKeys {
 26693  			if v == nil {
 26694  				continue
 26695  			}
 26696  			if err := v.Validate(); err != nil {
 26697  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 26698  			}
 26699  		}
 26700  	}
 26701  
 26702  	if invalidParams.Len() > 0 {
 26703  		return invalidParams
 26704  	}
 26705  	return nil
 26706  }
 26707  
 26708  // SetConfigRuleName sets the ConfigRuleName field's value.
 26709  func (s *PutRemediationExceptionsInput) SetConfigRuleName(v string) *PutRemediationExceptionsInput {
 26710  	s.ConfigRuleName = &v
 26711  	return s
 26712  }
 26713  
 26714  // SetExpirationTime sets the ExpirationTime field's value.
 26715  func (s *PutRemediationExceptionsInput) SetExpirationTime(v time.Time) *PutRemediationExceptionsInput {
 26716  	s.ExpirationTime = &v
 26717  	return s
 26718  }
 26719  
 26720  // SetMessage sets the Message field's value.
 26721  func (s *PutRemediationExceptionsInput) SetMessage(v string) *PutRemediationExceptionsInput {
 26722  	s.Message = &v
 26723  	return s
 26724  }
 26725  
 26726  // SetResourceKeys sets the ResourceKeys field's value.
 26727  func (s *PutRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *PutRemediationExceptionsInput {
 26728  	s.ResourceKeys = v
 26729  	return s
 26730  }
 26731  
 26732  type PutRemediationExceptionsOutput struct {
 26733  	_ struct{} `type:"structure"`
 26734  
 26735  	// Returns a list of failed remediation exceptions batch objects. Each object
 26736  	// in the batch consists of a list of failed items and failure messages.
 26737  	FailedBatches []*FailedRemediationExceptionBatch `type:"list"`
 26738  }
 26739  
 26740  // String returns the string representation.
 26741  //
 26742  // API parameter values that are decorated as "sensitive" in the API will not
 26743  // be included in the string output. The member name will be present, but the
 26744  // value will be replaced with "sensitive".
 26745  func (s PutRemediationExceptionsOutput) String() string {
 26746  	return awsutil.Prettify(s)
 26747  }
 26748  
 26749  // GoString returns the string representation.
 26750  //
 26751  // API parameter values that are decorated as "sensitive" in the API will not
 26752  // be included in the string output. The member name will be present, but the
 26753  // value will be replaced with "sensitive".
 26754  func (s PutRemediationExceptionsOutput) GoString() string {
 26755  	return s.String()
 26756  }
 26757  
 26758  // SetFailedBatches sets the FailedBatches field's value.
 26759  func (s *PutRemediationExceptionsOutput) SetFailedBatches(v []*FailedRemediationExceptionBatch) *PutRemediationExceptionsOutput {
 26760  	s.FailedBatches = v
 26761  	return s
 26762  }
 26763  
 26764  type PutResourceConfigInput struct {
 26765  	_ struct{} `type:"structure"`
 26766  
 26767  	// The configuration object of the resource in valid JSON format. It must match
 26768  	// the schema registered with CloudFormation.
 26769  	//
 26770  	// The configuration JSON must not exceed 64 KB.
 26771  	//
 26772  	// Configuration is a required field
 26773  	Configuration *string `type:"string" required:"true"`
 26774  
 26775  	// Unique identifier of the resource.
 26776  	//
 26777  	// ResourceId is a required field
 26778  	ResourceId *string `min:"1" type:"string" required:"true"`
 26779  
 26780  	// Name of the resource.
 26781  	ResourceName *string `type:"string"`
 26782  
 26783  	// The type of the resource. The custom resource type must be registered with
 26784  	// CloudFormation.
 26785  	//
 26786  	// You cannot use the organization names “amzn”, “amazon”, “alexa”,
 26787  	// “custom” with custom resource types. It is the first part of the ResourceType
 26788  	// up to the first ::.
 26789  	//
 26790  	// ResourceType is a required field
 26791  	ResourceType *string `min:"1" type:"string" required:"true"`
 26792  
 26793  	// Version of the schema registered for the ResourceType in CloudFormation.
 26794  	//
 26795  	// SchemaVersionId is a required field
 26796  	SchemaVersionId *string `min:"1" type:"string" required:"true"`
 26797  
 26798  	// Tags associated with the resource.
 26799  	Tags map[string]*string `type:"map"`
 26800  }
 26801  
 26802  // String returns the string representation.
 26803  //
 26804  // API parameter values that are decorated as "sensitive" in the API will not
 26805  // be included in the string output. The member name will be present, but the
 26806  // value will be replaced with "sensitive".
 26807  func (s PutResourceConfigInput) String() string {
 26808  	return awsutil.Prettify(s)
 26809  }
 26810  
 26811  // GoString returns the string representation.
 26812  //
 26813  // API parameter values that are decorated as "sensitive" in the API will not
 26814  // be included in the string output. The member name will be present, but the
 26815  // value will be replaced with "sensitive".
 26816  func (s PutResourceConfigInput) GoString() string {
 26817  	return s.String()
 26818  }
 26819  
 26820  // Validate inspects the fields of the type to determine if they are valid.
 26821  func (s *PutResourceConfigInput) Validate() error {
 26822  	invalidParams := request.ErrInvalidParams{Context: "PutResourceConfigInput"}
 26823  	if s.Configuration == nil {
 26824  		invalidParams.Add(request.NewErrParamRequired("Configuration"))
 26825  	}
 26826  	if s.ResourceId == nil {
 26827  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 26828  	}
 26829  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 26830  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 26831  	}
 26832  	if s.ResourceType == nil {
 26833  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 26834  	}
 26835  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 26836  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 26837  	}
 26838  	if s.SchemaVersionId == nil {
 26839  		invalidParams.Add(request.NewErrParamRequired("SchemaVersionId"))
 26840  	}
 26841  	if s.SchemaVersionId != nil && len(*s.SchemaVersionId) < 1 {
 26842  		invalidParams.Add(request.NewErrParamMinLen("SchemaVersionId", 1))
 26843  	}
 26844  
 26845  	if invalidParams.Len() > 0 {
 26846  		return invalidParams
 26847  	}
 26848  	return nil
 26849  }
 26850  
 26851  // SetConfiguration sets the Configuration field's value.
 26852  func (s *PutResourceConfigInput) SetConfiguration(v string) *PutResourceConfigInput {
 26853  	s.Configuration = &v
 26854  	return s
 26855  }
 26856  
 26857  // SetResourceId sets the ResourceId field's value.
 26858  func (s *PutResourceConfigInput) SetResourceId(v string) *PutResourceConfigInput {
 26859  	s.ResourceId = &v
 26860  	return s
 26861  }
 26862  
 26863  // SetResourceName sets the ResourceName field's value.
 26864  func (s *PutResourceConfigInput) SetResourceName(v string) *PutResourceConfigInput {
 26865  	s.ResourceName = &v
 26866  	return s
 26867  }
 26868  
 26869  // SetResourceType sets the ResourceType field's value.
 26870  func (s *PutResourceConfigInput) SetResourceType(v string) *PutResourceConfigInput {
 26871  	s.ResourceType = &v
 26872  	return s
 26873  }
 26874  
 26875  // SetSchemaVersionId sets the SchemaVersionId field's value.
 26876  func (s *PutResourceConfigInput) SetSchemaVersionId(v string) *PutResourceConfigInput {
 26877  	s.SchemaVersionId = &v
 26878  	return s
 26879  }
 26880  
 26881  // SetTags sets the Tags field's value.
 26882  func (s *PutResourceConfigInput) SetTags(v map[string]*string) *PutResourceConfigInput {
 26883  	s.Tags = v
 26884  	return s
 26885  }
 26886  
 26887  type PutResourceConfigOutput struct {
 26888  	_ struct{} `type:"structure"`
 26889  }
 26890  
 26891  // String returns the string representation.
 26892  //
 26893  // API parameter values that are decorated as "sensitive" in the API will not
 26894  // be included in the string output. The member name will be present, but the
 26895  // value will be replaced with "sensitive".
 26896  func (s PutResourceConfigOutput) String() string {
 26897  	return awsutil.Prettify(s)
 26898  }
 26899  
 26900  // GoString returns the string representation.
 26901  //
 26902  // API parameter values that are decorated as "sensitive" in the API will not
 26903  // be included in the string output. The member name will be present, but the
 26904  // value will be replaced with "sensitive".
 26905  func (s PutResourceConfigOutput) GoString() string {
 26906  	return s.String()
 26907  }
 26908  
 26909  type PutRetentionConfigurationInput struct {
 26910  	_ struct{} `type:"structure"`
 26911  
 26912  	// Number of days Config stores your historical information.
 26913  	//
 26914  	// Currently, only applicable to the configuration item history.
 26915  	//
 26916  	// RetentionPeriodInDays is a required field
 26917  	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
 26918  }
 26919  
 26920  // String returns the string representation.
 26921  //
 26922  // API parameter values that are decorated as "sensitive" in the API will not
 26923  // be included in the string output. The member name will be present, but the
 26924  // value will be replaced with "sensitive".
 26925  func (s PutRetentionConfigurationInput) String() string {
 26926  	return awsutil.Prettify(s)
 26927  }
 26928  
 26929  // GoString returns the string representation.
 26930  //
 26931  // API parameter values that are decorated as "sensitive" in the API will not
 26932  // be included in the string output. The member name will be present, but the
 26933  // value will be replaced with "sensitive".
 26934  func (s PutRetentionConfigurationInput) GoString() string {
 26935  	return s.String()
 26936  }
 26937  
 26938  // Validate inspects the fields of the type to determine if they are valid.
 26939  func (s *PutRetentionConfigurationInput) Validate() error {
 26940  	invalidParams := request.ErrInvalidParams{Context: "PutRetentionConfigurationInput"}
 26941  	if s.RetentionPeriodInDays == nil {
 26942  		invalidParams.Add(request.NewErrParamRequired("RetentionPeriodInDays"))
 26943  	}
 26944  	if s.RetentionPeriodInDays != nil && *s.RetentionPeriodInDays < 30 {
 26945  		invalidParams.Add(request.NewErrParamMinValue("RetentionPeriodInDays", 30))
 26946  	}
 26947  
 26948  	if invalidParams.Len() > 0 {
 26949  		return invalidParams
 26950  	}
 26951  	return nil
 26952  }
 26953  
 26954  // SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
 26955  func (s *PutRetentionConfigurationInput) SetRetentionPeriodInDays(v int64) *PutRetentionConfigurationInput {
 26956  	s.RetentionPeriodInDays = &v
 26957  	return s
 26958  }
 26959  
 26960  type PutRetentionConfigurationOutput struct {
 26961  	_ struct{} `type:"structure"`
 26962  
 26963  	// Returns a retention configuration object.
 26964  	RetentionConfiguration *RetentionConfiguration `type:"structure"`
 26965  }
 26966  
 26967  // String returns the string representation.
 26968  //
 26969  // API parameter values that are decorated as "sensitive" in the API will not
 26970  // be included in the string output. The member name will be present, but the
 26971  // value will be replaced with "sensitive".
 26972  func (s PutRetentionConfigurationOutput) String() string {
 26973  	return awsutil.Prettify(s)
 26974  }
 26975  
 26976  // GoString returns the string representation.
 26977  //
 26978  // API parameter values that are decorated as "sensitive" in the API will not
 26979  // be included in the string output. The member name will be present, but the
 26980  // value will be replaced with "sensitive".
 26981  func (s PutRetentionConfigurationOutput) GoString() string {
 26982  	return s.String()
 26983  }
 26984  
 26985  // SetRetentionConfiguration sets the RetentionConfiguration field's value.
 26986  func (s *PutRetentionConfigurationOutput) SetRetentionConfiguration(v *RetentionConfiguration) *PutRetentionConfigurationOutput {
 26987  	s.RetentionConfiguration = v
 26988  	return s
 26989  }
 26990  
 26991  type PutStoredQueryInput struct {
 26992  	_ struct{} `type:"structure"`
 26993  
 26994  	// A list of StoredQuery objects. The mandatory fields are QueryName and Expression.
 26995  	//
 26996  	// When you are creating a query, you must provide a query name and an expression.
 26997  	// When you are updating a query, you must provide a query name but updating
 26998  	// the description is optional.
 26999  	//
 27000  	// StoredQuery is a required field
 27001  	StoredQuery *StoredQuery `type:"structure" required:"true"`
 27002  
 27003  	// A list of Tags object.
 27004  	Tags []*Tag `type:"list"`
 27005  }
 27006  
 27007  // String returns the string representation.
 27008  //
 27009  // API parameter values that are decorated as "sensitive" in the API will not
 27010  // be included in the string output. The member name will be present, but the
 27011  // value will be replaced with "sensitive".
 27012  func (s PutStoredQueryInput) String() string {
 27013  	return awsutil.Prettify(s)
 27014  }
 27015  
 27016  // GoString returns the string representation.
 27017  //
 27018  // API parameter values that are decorated as "sensitive" in the API will not
 27019  // be included in the string output. The member name will be present, but the
 27020  // value will be replaced with "sensitive".
 27021  func (s PutStoredQueryInput) GoString() string {
 27022  	return s.String()
 27023  }
 27024  
 27025  // Validate inspects the fields of the type to determine if they are valid.
 27026  func (s *PutStoredQueryInput) Validate() error {
 27027  	invalidParams := request.ErrInvalidParams{Context: "PutStoredQueryInput"}
 27028  	if s.StoredQuery == nil {
 27029  		invalidParams.Add(request.NewErrParamRequired("StoredQuery"))
 27030  	}
 27031  	if s.StoredQuery != nil {
 27032  		if err := s.StoredQuery.Validate(); err != nil {
 27033  			invalidParams.AddNested("StoredQuery", err.(request.ErrInvalidParams))
 27034  		}
 27035  	}
 27036  	if s.Tags != nil {
 27037  		for i, v := range s.Tags {
 27038  			if v == nil {
 27039  				continue
 27040  			}
 27041  			if err := v.Validate(); err != nil {
 27042  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 27043  			}
 27044  		}
 27045  	}
 27046  
 27047  	if invalidParams.Len() > 0 {
 27048  		return invalidParams
 27049  	}
 27050  	return nil
 27051  }
 27052  
 27053  // SetStoredQuery sets the StoredQuery field's value.
 27054  func (s *PutStoredQueryInput) SetStoredQuery(v *StoredQuery) *PutStoredQueryInput {
 27055  	s.StoredQuery = v
 27056  	return s
 27057  }
 27058  
 27059  // SetTags sets the Tags field's value.
 27060  func (s *PutStoredQueryInput) SetTags(v []*Tag) *PutStoredQueryInput {
 27061  	s.Tags = v
 27062  	return s
 27063  }
 27064  
 27065  type PutStoredQueryOutput struct {
 27066  	_ struct{} `type:"structure"`
 27067  
 27068  	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
 27069  	QueryArn *string `min:"1" type:"string"`
 27070  }
 27071  
 27072  // String returns the string representation.
 27073  //
 27074  // API parameter values that are decorated as "sensitive" in the API will not
 27075  // be included in the string output. The member name will be present, but the
 27076  // value will be replaced with "sensitive".
 27077  func (s PutStoredQueryOutput) String() string {
 27078  	return awsutil.Prettify(s)
 27079  }
 27080  
 27081  // GoString returns the string representation.
 27082  //
 27083  // API parameter values that are decorated as "sensitive" in the API will not
 27084  // be included in the string output. The member name will be present, but the
 27085  // value will be replaced with "sensitive".
 27086  func (s PutStoredQueryOutput) GoString() string {
 27087  	return s.String()
 27088  }
 27089  
 27090  // SetQueryArn sets the QueryArn field's value.
 27091  func (s *PutStoredQueryOutput) SetQueryArn(v string) *PutStoredQueryOutput {
 27092  	s.QueryArn = &v
 27093  	return s
 27094  }
 27095  
 27096  // Details about the query.
 27097  type QueryInfo struct {
 27098  	_ struct{} `type:"structure"`
 27099  
 27100  	// Returns a FieldInfo object.
 27101  	SelectFields []*FieldInfo `type:"list"`
 27102  }
 27103  
 27104  // String returns the string representation.
 27105  //
 27106  // API parameter values that are decorated as "sensitive" in the API will not
 27107  // be included in the string output. The member name will be present, but the
 27108  // value will be replaced with "sensitive".
 27109  func (s QueryInfo) String() string {
 27110  	return awsutil.Prettify(s)
 27111  }
 27112  
 27113  // GoString returns the string representation.
 27114  //
 27115  // API parameter values that are decorated as "sensitive" in the API will not
 27116  // be included in the string output. The member name will be present, but the
 27117  // value will be replaced with "sensitive".
 27118  func (s QueryInfo) GoString() string {
 27119  	return s.String()
 27120  }
 27121  
 27122  // SetSelectFields sets the SelectFields field's value.
 27123  func (s *QueryInfo) SetSelectFields(v []*FieldInfo) *QueryInfo {
 27124  	s.SelectFields = v
 27125  	return s
 27126  }
 27127  
 27128  // Specifies the types of Amazon Web Services resource for which Config records
 27129  // configuration changes.
 27130  //
 27131  // In the recording group, you specify whether all supported types or specific
 27132  // types of resources are recorded.
 27133  //
 27134  // By default, Config records configuration changes for all supported types
 27135  // of regional resources that Config discovers in the region in which it is
 27136  // running. Regional resources are tied to a region and can be used only in
 27137  // that region. Examples of regional resources are EC2 instances and EBS volumes.
 27138  //
 27139  // You can also have Config record configuration changes for supported types
 27140  // of global resources (for example, IAM resources). Global resources are not
 27141  // tied to an individual region and can be used in all regions.
 27142  //
 27143  // The configuration details for any global resource are the same in all regions.
 27144  // If you customize Config in multiple regions to record global resources, it
 27145  // will create multiple configuration items each time a global resource changes:
 27146  // one configuration item for each region. These configuration items will contain
 27147  // identical data. To prevent duplicate configuration items, you should consider
 27148  // customizing Config in only one region to record global resources, unless
 27149  // you want the configuration items to be available in multiple regions.
 27150  //
 27151  // If you don't want Config to record all resources, you can specify which types
 27152  // of resources it will record with the resourceTypes parameter.
 27153  //
 27154  // For a list of supported resource types, see Supported Resource Types (https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
 27155  //
 27156  // For more information, see Selecting Which Resources Config Records (https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
 27157  type RecordingGroup struct {
 27158  	_ struct{} `type:"structure"`
 27159  
 27160  	// Specifies whether Config records configuration changes for every supported
 27161  	// type of regional resource.
 27162  	//
 27163  	// If you set this option to true, when Config adds support for a new type of
 27164  	// regional resource, it starts recording resources of that type automatically.
 27165  	//
 27166  	// If you set this option to true, you cannot enumerate a list of resourceTypes.
 27167  	AllSupported *bool `locationName:"allSupported" type:"boolean"`
 27168  
 27169  	// Specifies whether Config includes all supported types of global resources
 27170  	// (for example, IAM resources) with the resources that it records.
 27171  	//
 27172  	// Before you can set this option to true, you must set the allSupported option
 27173  	// to true.
 27174  	//
 27175  	// If you set this option to true, when Config adds support for a new type of
 27176  	// global resource, it starts recording resources of that type automatically.
 27177  	//
 27178  	// The configuration details for any global resource are the same in all regions.
 27179  	// To prevent duplicate configuration items, you should consider customizing
 27180  	// Config in only one region to record global resources.
 27181  	IncludeGlobalResourceTypes *bool `locationName:"includeGlobalResourceTypes" type:"boolean"`
 27182  
 27183  	// A comma-separated list that specifies the types of Amazon Web Services resources
 27184  	// for which Config records configuration changes (for example, AWS::EC2::Instance
 27185  	// or AWS::CloudTrail::Trail).
 27186  	//
 27187  	// To record all configuration changes, you must set the allSupported option
 27188  	// to true.
 27189  	//
 27190  	// If you set this option to false, when Config adds support for a new type
 27191  	// of resource, it will not record resources of that type unless you manually
 27192  	// add that type to your recording group.
 27193  	//
 27194  	// For a list of valid resourceTypes values, see the resourceType Value column
 27195  	// in Supported Amazon Web Services resource Types (https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
 27196  	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
 27197  }
 27198  
 27199  // String returns the string representation.
 27200  //
 27201  // API parameter values that are decorated as "sensitive" in the API will not
 27202  // be included in the string output. The member name will be present, but the
 27203  // value will be replaced with "sensitive".
 27204  func (s RecordingGroup) String() string {
 27205  	return awsutil.Prettify(s)
 27206  }
 27207  
 27208  // GoString returns the string representation.
 27209  //
 27210  // API parameter values that are decorated as "sensitive" in the API will not
 27211  // be included in the string output. The member name will be present, but the
 27212  // value will be replaced with "sensitive".
 27213  func (s RecordingGroup) GoString() string {
 27214  	return s.String()
 27215  }
 27216  
 27217  // SetAllSupported sets the AllSupported field's value.
 27218  func (s *RecordingGroup) SetAllSupported(v bool) *RecordingGroup {
 27219  	s.AllSupported = &v
 27220  	return s
 27221  }
 27222  
 27223  // SetIncludeGlobalResourceTypes sets the IncludeGlobalResourceTypes field's value.
 27224  func (s *RecordingGroup) SetIncludeGlobalResourceTypes(v bool) *RecordingGroup {
 27225  	s.IncludeGlobalResourceTypes = &v
 27226  	return s
 27227  }
 27228  
 27229  // SetResourceTypes sets the ResourceTypes field's value.
 27230  func (s *RecordingGroup) SetResourceTypes(v []*string) *RecordingGroup {
 27231  	s.ResourceTypes = v
 27232  	return s
 27233  }
 27234  
 27235  // The relationship of the related resource to the main resource.
 27236  type Relationship struct {
 27237  	_ struct{} `type:"structure"`
 27238  
 27239  	// The type of relationship with the related resource.
 27240  	RelationshipName *string `locationName:"relationshipName" type:"string"`
 27241  
 27242  	// The ID of the related resource (for example, sg-xxxxxx).
 27243  	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
 27244  
 27245  	// The custom name of the related resource, if available.
 27246  	ResourceName *string `locationName:"resourceName" type:"string"`
 27247  
 27248  	// The resource type of the related resource.
 27249  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 27250  }
 27251  
 27252  // String returns the string representation.
 27253  //
 27254  // API parameter values that are decorated as "sensitive" in the API will not
 27255  // be included in the string output. The member name will be present, but the
 27256  // value will be replaced with "sensitive".
 27257  func (s Relationship) String() string {
 27258  	return awsutil.Prettify(s)
 27259  }
 27260  
 27261  // GoString returns the string representation.
 27262  //
 27263  // API parameter values that are decorated as "sensitive" in the API will not
 27264  // be included in the string output. The member name will be present, but the
 27265  // value will be replaced with "sensitive".
 27266  func (s Relationship) GoString() string {
 27267  	return s.String()
 27268  }
 27269  
 27270  // SetRelationshipName sets the RelationshipName field's value.
 27271  func (s *Relationship) SetRelationshipName(v string) *Relationship {
 27272  	s.RelationshipName = &v
 27273  	return s
 27274  }
 27275  
 27276  // SetResourceId sets the ResourceId field's value.
 27277  func (s *Relationship) SetResourceId(v string) *Relationship {
 27278  	s.ResourceId = &v
 27279  	return s
 27280  }
 27281  
 27282  // SetResourceName sets the ResourceName field's value.
 27283  func (s *Relationship) SetResourceName(v string) *Relationship {
 27284  	s.ResourceName = &v
 27285  	return s
 27286  }
 27287  
 27288  // SetResourceType sets the ResourceType field's value.
 27289  func (s *Relationship) SetResourceType(v string) *Relationship {
 27290  	s.ResourceType = &v
 27291  	return s
 27292  }
 27293  
 27294  // An object that represents the details about the remediation configuration
 27295  // that includes the remediation action, parameters, and data to execute the
 27296  // action.
 27297  type RemediationConfiguration struct {
 27298  	_ struct{} `type:"structure"`
 27299  
 27300  	// Amazon Resource Name (ARN) of remediation configuration.
 27301  	Arn *string `min:"1" type:"string"`
 27302  
 27303  	// The remediation is triggered automatically.
 27304  	Automatic *bool `type:"boolean"`
 27305  
 27306  	// The name of the Config rule.
 27307  	//
 27308  	// ConfigRuleName is a required field
 27309  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 27310  
 27311  	// Name of the service that owns the service linked rule, if applicable.
 27312  	CreatedByService *string `min:"1" type:"string"`
 27313  
 27314  	// An ExecutionControls object.
 27315  	ExecutionControls *ExecutionControls `type:"structure"`
 27316  
 27317  	// The maximum number of failed attempts for auto-remediation. If you do not
 27318  	// select a number, the default is 5.
 27319  	//
 27320  	// For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds
 27321  	// as 50 seconds, Config will put a RemediationException on your behalf for
 27322  	// the failing resource after the 5th failed attempt within 50 seconds.
 27323  	MaximumAutomaticAttempts *int64 `min:"1" type:"integer"`
 27324  
 27325  	// An object of the RemediationParameterValue.
 27326  	Parameters map[string]*RemediationParameterValue `type:"map"`
 27327  
 27328  	// The type of a resource.
 27329  	ResourceType *string `type:"string"`
 27330  
 27331  	// Maximum time in seconds that Config runs auto-remediation. If you do not
 27332  	// select a number, the default is 60 seconds.
 27333  	//
 27334  	// For example, if you specify RetryAttemptSeconds as 50 seconds and MaximumAutomaticAttempts
 27335  	// as 5, Config will run auto-remediations 5 times within 50 seconds before
 27336  	// throwing an exception.
 27337  	RetryAttemptSeconds *int64 `min:"1" type:"long"`
 27338  
 27339  	// Target ID is the name of the public document.
 27340  	//
 27341  	// TargetId is a required field
 27342  	TargetId *string `min:"1" type:"string" required:"true"`
 27343  
 27344  	// The type of the target. Target executes remediation. For example, SSM document.
 27345  	//
 27346  	// TargetType is a required field
 27347  	TargetType *string `type:"string" required:"true" enum:"RemediationTargetType"`
 27348  
 27349  	// Version of the target. For example, version of the SSM document.
 27350  	//
 27351  	// If you make backward incompatible changes to the SSM document, you must call
 27352  	// PutRemediationConfiguration API again to ensure the remediations can run.
 27353  	TargetVersion *string `type:"string"`
 27354  }
 27355  
 27356  // String returns the string representation.
 27357  //
 27358  // API parameter values that are decorated as "sensitive" in the API will not
 27359  // be included in the string output. The member name will be present, but the
 27360  // value will be replaced with "sensitive".
 27361  func (s RemediationConfiguration) String() string {
 27362  	return awsutil.Prettify(s)
 27363  }
 27364  
 27365  // GoString returns the string representation.
 27366  //
 27367  // API parameter values that are decorated as "sensitive" in the API will not
 27368  // be included in the string output. The member name will be present, but the
 27369  // value will be replaced with "sensitive".
 27370  func (s RemediationConfiguration) GoString() string {
 27371  	return s.String()
 27372  }
 27373  
 27374  // Validate inspects the fields of the type to determine if they are valid.
 27375  func (s *RemediationConfiguration) Validate() error {
 27376  	invalidParams := request.ErrInvalidParams{Context: "RemediationConfiguration"}
 27377  	if s.Arn != nil && len(*s.Arn) < 1 {
 27378  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 27379  	}
 27380  	if s.ConfigRuleName == nil {
 27381  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 27382  	}
 27383  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 27384  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 27385  	}
 27386  	if s.CreatedByService != nil && len(*s.CreatedByService) < 1 {
 27387  		invalidParams.Add(request.NewErrParamMinLen("CreatedByService", 1))
 27388  	}
 27389  	if s.MaximumAutomaticAttempts != nil && *s.MaximumAutomaticAttempts < 1 {
 27390  		invalidParams.Add(request.NewErrParamMinValue("MaximumAutomaticAttempts", 1))
 27391  	}
 27392  	if s.RetryAttemptSeconds != nil && *s.RetryAttemptSeconds < 1 {
 27393  		invalidParams.Add(request.NewErrParamMinValue("RetryAttemptSeconds", 1))
 27394  	}
 27395  	if s.TargetId == nil {
 27396  		invalidParams.Add(request.NewErrParamRequired("TargetId"))
 27397  	}
 27398  	if s.TargetId != nil && len(*s.TargetId) < 1 {
 27399  		invalidParams.Add(request.NewErrParamMinLen("TargetId", 1))
 27400  	}
 27401  	if s.TargetType == nil {
 27402  		invalidParams.Add(request.NewErrParamRequired("TargetType"))
 27403  	}
 27404  	if s.ExecutionControls != nil {
 27405  		if err := s.ExecutionControls.Validate(); err != nil {
 27406  			invalidParams.AddNested("ExecutionControls", err.(request.ErrInvalidParams))
 27407  		}
 27408  	}
 27409  	if s.Parameters != nil {
 27410  		for i, v := range s.Parameters {
 27411  			if v == nil {
 27412  				continue
 27413  			}
 27414  			if err := v.Validate(); err != nil {
 27415  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
 27416  			}
 27417  		}
 27418  	}
 27419  
 27420  	if invalidParams.Len() > 0 {
 27421  		return invalidParams
 27422  	}
 27423  	return nil
 27424  }
 27425  
 27426  // SetArn sets the Arn field's value.
 27427  func (s *RemediationConfiguration) SetArn(v string) *RemediationConfiguration {
 27428  	s.Arn = &v
 27429  	return s
 27430  }
 27431  
 27432  // SetAutomatic sets the Automatic field's value.
 27433  func (s *RemediationConfiguration) SetAutomatic(v bool) *RemediationConfiguration {
 27434  	s.Automatic = &v
 27435  	return s
 27436  }
 27437  
 27438  // SetConfigRuleName sets the ConfigRuleName field's value.
 27439  func (s *RemediationConfiguration) SetConfigRuleName(v string) *RemediationConfiguration {
 27440  	s.ConfigRuleName = &v
 27441  	return s
 27442  }
 27443  
 27444  // SetCreatedByService sets the CreatedByService field's value.
 27445  func (s *RemediationConfiguration) SetCreatedByService(v string) *RemediationConfiguration {
 27446  	s.CreatedByService = &v
 27447  	return s
 27448  }
 27449  
 27450  // SetExecutionControls sets the ExecutionControls field's value.
 27451  func (s *RemediationConfiguration) SetExecutionControls(v *ExecutionControls) *RemediationConfiguration {
 27452  	s.ExecutionControls = v
 27453  	return s
 27454  }
 27455  
 27456  // SetMaximumAutomaticAttempts sets the MaximumAutomaticAttempts field's value.
 27457  func (s *RemediationConfiguration) SetMaximumAutomaticAttempts(v int64) *RemediationConfiguration {
 27458  	s.MaximumAutomaticAttempts = &v
 27459  	return s
 27460  }
 27461  
 27462  // SetParameters sets the Parameters field's value.
 27463  func (s *RemediationConfiguration) SetParameters(v map[string]*RemediationParameterValue) *RemediationConfiguration {
 27464  	s.Parameters = v
 27465  	return s
 27466  }
 27467  
 27468  // SetResourceType sets the ResourceType field's value.
 27469  func (s *RemediationConfiguration) SetResourceType(v string) *RemediationConfiguration {
 27470  	s.ResourceType = &v
 27471  	return s
 27472  }
 27473  
 27474  // SetRetryAttemptSeconds sets the RetryAttemptSeconds field's value.
 27475  func (s *RemediationConfiguration) SetRetryAttemptSeconds(v int64) *RemediationConfiguration {
 27476  	s.RetryAttemptSeconds = &v
 27477  	return s
 27478  }
 27479  
 27480  // SetTargetId sets the TargetId field's value.
 27481  func (s *RemediationConfiguration) SetTargetId(v string) *RemediationConfiguration {
 27482  	s.TargetId = &v
 27483  	return s
 27484  }
 27485  
 27486  // SetTargetType sets the TargetType field's value.
 27487  func (s *RemediationConfiguration) SetTargetType(v string) *RemediationConfiguration {
 27488  	s.TargetType = &v
 27489  	return s
 27490  }
 27491  
 27492  // SetTargetVersion sets the TargetVersion field's value.
 27493  func (s *RemediationConfiguration) SetTargetVersion(v string) *RemediationConfiguration {
 27494  	s.TargetVersion = &v
 27495  	return s
 27496  }
 27497  
 27498  // An object that represents the details about the remediation exception. The
 27499  // details include the rule name, an explanation of an exception, the time when
 27500  // the exception will be deleted, the resource ID, and resource type.
 27501  type RemediationException struct {
 27502  	_ struct{} `type:"structure"`
 27503  
 27504  	// The name of the Config rule.
 27505  	//
 27506  	// ConfigRuleName is a required field
 27507  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 27508  
 27509  	// The time when the remediation exception will be deleted.
 27510  	ExpirationTime *time.Time `type:"timestamp"`
 27511  
 27512  	// An explanation of an remediation exception.
 27513  	Message *string `min:"1" type:"string"`
 27514  
 27515  	// The ID of the resource (for example., sg-xxxxxx).
 27516  	//
 27517  	// ResourceId is a required field
 27518  	ResourceId *string `min:"1" type:"string" required:"true"`
 27519  
 27520  	// The type of a resource.
 27521  	//
 27522  	// ResourceType is a required field
 27523  	ResourceType *string `min:"1" type:"string" required:"true"`
 27524  }
 27525  
 27526  // String returns the string representation.
 27527  //
 27528  // API parameter values that are decorated as "sensitive" in the API will not
 27529  // be included in the string output. The member name will be present, but the
 27530  // value will be replaced with "sensitive".
 27531  func (s RemediationException) String() string {
 27532  	return awsutil.Prettify(s)
 27533  }
 27534  
 27535  // GoString returns the string representation.
 27536  //
 27537  // API parameter values that are decorated as "sensitive" in the API will not
 27538  // be included in the string output. The member name will be present, but the
 27539  // value will be replaced with "sensitive".
 27540  func (s RemediationException) GoString() string {
 27541  	return s.String()
 27542  }
 27543  
 27544  // SetConfigRuleName sets the ConfigRuleName field's value.
 27545  func (s *RemediationException) SetConfigRuleName(v string) *RemediationException {
 27546  	s.ConfigRuleName = &v
 27547  	return s
 27548  }
 27549  
 27550  // SetExpirationTime sets the ExpirationTime field's value.
 27551  func (s *RemediationException) SetExpirationTime(v time.Time) *RemediationException {
 27552  	s.ExpirationTime = &v
 27553  	return s
 27554  }
 27555  
 27556  // SetMessage sets the Message field's value.
 27557  func (s *RemediationException) SetMessage(v string) *RemediationException {
 27558  	s.Message = &v
 27559  	return s
 27560  }
 27561  
 27562  // SetResourceId sets the ResourceId field's value.
 27563  func (s *RemediationException) SetResourceId(v string) *RemediationException {
 27564  	s.ResourceId = &v
 27565  	return s
 27566  }
 27567  
 27568  // SetResourceType sets the ResourceType field's value.
 27569  func (s *RemediationException) SetResourceType(v string) *RemediationException {
 27570  	s.ResourceType = &v
 27571  	return s
 27572  }
 27573  
 27574  // The details that identify a resource within Config, including the resource
 27575  // type and resource ID.
 27576  type RemediationExceptionResourceKey struct {
 27577  	_ struct{} `type:"structure"`
 27578  
 27579  	// The ID of the resource (for example., sg-xxxxxx).
 27580  	ResourceId *string `min:"1" type:"string"`
 27581  
 27582  	// The type of a resource.
 27583  	ResourceType *string `min:"1" type:"string"`
 27584  }
 27585  
 27586  // String returns the string representation.
 27587  //
 27588  // API parameter values that are decorated as "sensitive" in the API will not
 27589  // be included in the string output. The member name will be present, but the
 27590  // value will be replaced with "sensitive".
 27591  func (s RemediationExceptionResourceKey) String() string {
 27592  	return awsutil.Prettify(s)
 27593  }
 27594  
 27595  // GoString returns the string representation.
 27596  //
 27597  // API parameter values that are decorated as "sensitive" in the API will not
 27598  // be included in the string output. The member name will be present, but the
 27599  // value will be replaced with "sensitive".
 27600  func (s RemediationExceptionResourceKey) GoString() string {
 27601  	return s.String()
 27602  }
 27603  
 27604  // Validate inspects the fields of the type to determine if they are valid.
 27605  func (s *RemediationExceptionResourceKey) Validate() error {
 27606  	invalidParams := request.ErrInvalidParams{Context: "RemediationExceptionResourceKey"}
 27607  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 27608  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 27609  	}
 27610  	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
 27611  		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
 27612  	}
 27613  
 27614  	if invalidParams.Len() > 0 {
 27615  		return invalidParams
 27616  	}
 27617  	return nil
 27618  }
 27619  
 27620  // SetResourceId sets the ResourceId field's value.
 27621  func (s *RemediationExceptionResourceKey) SetResourceId(v string) *RemediationExceptionResourceKey {
 27622  	s.ResourceId = &v
 27623  	return s
 27624  }
 27625  
 27626  // SetResourceType sets the ResourceType field's value.
 27627  func (s *RemediationExceptionResourceKey) SetResourceType(v string) *RemediationExceptionResourceKey {
 27628  	s.ResourceType = &v
 27629  	return s
 27630  }
 27631  
 27632  // Provides details of the current status of the invoked remediation action
 27633  // for that resource.
 27634  type RemediationExecutionStatus struct {
 27635  	_ struct{} `type:"structure"`
 27636  
 27637  	// Start time when the remediation was executed.
 27638  	InvocationTime *time.Time `type:"timestamp"`
 27639  
 27640  	// The time when the remediation execution was last updated.
 27641  	LastUpdatedTime *time.Time `type:"timestamp"`
 27642  
 27643  	// The details that identify a resource within Config, including the resource
 27644  	// type and resource ID.
 27645  	ResourceKey *ResourceKey `type:"structure"`
 27646  
 27647  	// ENUM of the values.
 27648  	State *string `type:"string" enum:"RemediationExecutionState"`
 27649  
 27650  	// Details of every step.
 27651  	StepDetails []*RemediationExecutionStep `type:"list"`
 27652  }
 27653  
 27654  // String returns the string representation.
 27655  //
 27656  // API parameter values that are decorated as "sensitive" in the API will not
 27657  // be included in the string output. The member name will be present, but the
 27658  // value will be replaced with "sensitive".
 27659  func (s RemediationExecutionStatus) String() string {
 27660  	return awsutil.Prettify(s)
 27661  }
 27662  
 27663  // GoString returns the string representation.
 27664  //
 27665  // API parameter values that are decorated as "sensitive" in the API will not
 27666  // be included in the string output. The member name will be present, but the
 27667  // value will be replaced with "sensitive".
 27668  func (s RemediationExecutionStatus) GoString() string {
 27669  	return s.String()
 27670  }
 27671  
 27672  // SetInvocationTime sets the InvocationTime field's value.
 27673  func (s *RemediationExecutionStatus) SetInvocationTime(v time.Time) *RemediationExecutionStatus {
 27674  	s.InvocationTime = &v
 27675  	return s
 27676  }
 27677  
 27678  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 27679  func (s *RemediationExecutionStatus) SetLastUpdatedTime(v time.Time) *RemediationExecutionStatus {
 27680  	s.LastUpdatedTime = &v
 27681  	return s
 27682  }
 27683  
 27684  // SetResourceKey sets the ResourceKey field's value.
 27685  func (s *RemediationExecutionStatus) SetResourceKey(v *ResourceKey) *RemediationExecutionStatus {
 27686  	s.ResourceKey = v
 27687  	return s
 27688  }
 27689  
 27690  // SetState sets the State field's value.
 27691  func (s *RemediationExecutionStatus) SetState(v string) *RemediationExecutionStatus {
 27692  	s.State = &v
 27693  	return s
 27694  }
 27695  
 27696  // SetStepDetails sets the StepDetails field's value.
 27697  func (s *RemediationExecutionStatus) SetStepDetails(v []*RemediationExecutionStep) *RemediationExecutionStatus {
 27698  	s.StepDetails = v
 27699  	return s
 27700  }
 27701  
 27702  // Name of the step from the SSM document.
 27703  type RemediationExecutionStep struct {
 27704  	_ struct{} `type:"structure"`
 27705  
 27706  	// An error message if the step was interrupted during execution.
 27707  	ErrorMessage *string `type:"string"`
 27708  
 27709  	// The details of the step.
 27710  	Name *string `type:"string"`
 27711  
 27712  	// The time when the step started.
 27713  	StartTime *time.Time `type:"timestamp"`
 27714  
 27715  	// The valid status of the step.
 27716  	State *string `type:"string" enum:"RemediationExecutionStepState"`
 27717  
 27718  	// The time when the step stopped.
 27719  	StopTime *time.Time `type:"timestamp"`
 27720  }
 27721  
 27722  // String returns the string representation.
 27723  //
 27724  // API parameter values that are decorated as "sensitive" in the API will not
 27725  // be included in the string output. The member name will be present, but the
 27726  // value will be replaced with "sensitive".
 27727  func (s RemediationExecutionStep) String() string {
 27728  	return awsutil.Prettify(s)
 27729  }
 27730  
 27731  // GoString returns the string representation.
 27732  //
 27733  // API parameter values that are decorated as "sensitive" in the API will not
 27734  // be included in the string output. The member name will be present, but the
 27735  // value will be replaced with "sensitive".
 27736  func (s RemediationExecutionStep) GoString() string {
 27737  	return s.String()
 27738  }
 27739  
 27740  // SetErrorMessage sets the ErrorMessage field's value.
 27741  func (s *RemediationExecutionStep) SetErrorMessage(v string) *RemediationExecutionStep {
 27742  	s.ErrorMessage = &v
 27743  	return s
 27744  }
 27745  
 27746  // SetName sets the Name field's value.
 27747  func (s *RemediationExecutionStep) SetName(v string) *RemediationExecutionStep {
 27748  	s.Name = &v
 27749  	return s
 27750  }
 27751  
 27752  // SetStartTime sets the StartTime field's value.
 27753  func (s *RemediationExecutionStep) SetStartTime(v time.Time) *RemediationExecutionStep {
 27754  	s.StartTime = &v
 27755  	return s
 27756  }
 27757  
 27758  // SetState sets the State field's value.
 27759  func (s *RemediationExecutionStep) SetState(v string) *RemediationExecutionStep {
 27760  	s.State = &v
 27761  	return s
 27762  }
 27763  
 27764  // SetStopTime sets the StopTime field's value.
 27765  func (s *RemediationExecutionStep) SetStopTime(v time.Time) *RemediationExecutionStep {
 27766  	s.StopTime = &v
 27767  	return s
 27768  }
 27769  
 27770  // Remediation action is in progress. You can either cancel execution in Amazon
 27771  // Web Services Systems Manager or wait and try again later.
 27772  type RemediationInProgressException struct {
 27773  	_            struct{}                  `type:"structure"`
 27774  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 27775  
 27776  	Message_ *string `locationName:"message" type:"string"`
 27777  }
 27778  
 27779  // String returns the string representation.
 27780  //
 27781  // API parameter values that are decorated as "sensitive" in the API will not
 27782  // be included in the string output. The member name will be present, but the
 27783  // value will be replaced with "sensitive".
 27784  func (s RemediationInProgressException) String() string {
 27785  	return awsutil.Prettify(s)
 27786  }
 27787  
 27788  // GoString returns the string representation.
 27789  //
 27790  // API parameter values that are decorated as "sensitive" in the API will not
 27791  // be included in the string output. The member name will be present, but the
 27792  // value will be replaced with "sensitive".
 27793  func (s RemediationInProgressException) GoString() string {
 27794  	return s.String()
 27795  }
 27796  
 27797  func newErrorRemediationInProgressException(v protocol.ResponseMetadata) error {
 27798  	return &RemediationInProgressException{
 27799  		RespMetadata: v,
 27800  	}
 27801  }
 27802  
 27803  // Code returns the exception type name.
 27804  func (s *RemediationInProgressException) Code() string {
 27805  	return "RemediationInProgressException"
 27806  }
 27807  
 27808  // Message returns the exception's message.
 27809  func (s *RemediationInProgressException) Message() string {
 27810  	if s.Message_ != nil {
 27811  		return *s.Message_
 27812  	}
 27813  	return ""
 27814  }
 27815  
 27816  // OrigErr always returns nil, satisfies awserr.Error interface.
 27817  func (s *RemediationInProgressException) OrigErr() error {
 27818  	return nil
 27819  }
 27820  
 27821  func (s *RemediationInProgressException) Error() string {
 27822  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 27823  }
 27824  
 27825  // Status code returns the HTTP status code for the request's response error.
 27826  func (s *RemediationInProgressException) StatusCode() int {
 27827  	return s.RespMetadata.StatusCode
 27828  }
 27829  
 27830  // RequestID returns the service's response RequestID for request.
 27831  func (s *RemediationInProgressException) RequestID() string {
 27832  	return s.RespMetadata.RequestID
 27833  }
 27834  
 27835  // The value is either a dynamic (resource) value or a static value. You must
 27836  // select either a dynamic value or a static value.
 27837  type RemediationParameterValue struct {
 27838  	_ struct{} `type:"structure"`
 27839  
 27840  	// The value is dynamic and changes at run-time.
 27841  	ResourceValue *ResourceValue `type:"structure"`
 27842  
 27843  	// The value is static and does not change at run-time.
 27844  	StaticValue *StaticValue `type:"structure"`
 27845  }
 27846  
 27847  // String returns the string representation.
 27848  //
 27849  // API parameter values that are decorated as "sensitive" in the API will not
 27850  // be included in the string output. The member name will be present, but the
 27851  // value will be replaced with "sensitive".
 27852  func (s RemediationParameterValue) String() string {
 27853  	return awsutil.Prettify(s)
 27854  }
 27855  
 27856  // GoString returns the string representation.
 27857  //
 27858  // API parameter values that are decorated as "sensitive" in the API will not
 27859  // be included in the string output. The member name will be present, but the
 27860  // value will be replaced with "sensitive".
 27861  func (s RemediationParameterValue) GoString() string {
 27862  	return s.String()
 27863  }
 27864  
 27865  // Validate inspects the fields of the type to determine if they are valid.
 27866  func (s *RemediationParameterValue) Validate() error {
 27867  	invalidParams := request.ErrInvalidParams{Context: "RemediationParameterValue"}
 27868  	if s.ResourceValue != nil {
 27869  		if err := s.ResourceValue.Validate(); err != nil {
 27870  			invalidParams.AddNested("ResourceValue", err.(request.ErrInvalidParams))
 27871  		}
 27872  	}
 27873  	if s.StaticValue != nil {
 27874  		if err := s.StaticValue.Validate(); err != nil {
 27875  			invalidParams.AddNested("StaticValue", err.(request.ErrInvalidParams))
 27876  		}
 27877  	}
 27878  
 27879  	if invalidParams.Len() > 0 {
 27880  		return invalidParams
 27881  	}
 27882  	return nil
 27883  }
 27884  
 27885  // SetResourceValue sets the ResourceValue field's value.
 27886  func (s *RemediationParameterValue) SetResourceValue(v *ResourceValue) *RemediationParameterValue {
 27887  	s.ResourceValue = v
 27888  	return s
 27889  }
 27890  
 27891  // SetStaticValue sets the StaticValue field's value.
 27892  func (s *RemediationParameterValue) SetStaticValue(v *StaticValue) *RemediationParameterValue {
 27893  	s.StaticValue = v
 27894  	return s
 27895  }
 27896  
 27897  // Two users are trying to modify the same query at the same time. Wait for
 27898  // a moment and try again.
 27899  type ResourceConcurrentModificationException struct {
 27900  	_            struct{}                  `type:"structure"`
 27901  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 27902  
 27903  	Message_ *string `locationName:"message" type:"string"`
 27904  }
 27905  
 27906  // String returns the string representation.
 27907  //
 27908  // API parameter values that are decorated as "sensitive" in the API will not
 27909  // be included in the string output. The member name will be present, but the
 27910  // value will be replaced with "sensitive".
 27911  func (s ResourceConcurrentModificationException) String() string {
 27912  	return awsutil.Prettify(s)
 27913  }
 27914  
 27915  // GoString returns the string representation.
 27916  //
 27917  // API parameter values that are decorated as "sensitive" in the API will not
 27918  // be included in the string output. The member name will be present, but the
 27919  // value will be replaced with "sensitive".
 27920  func (s ResourceConcurrentModificationException) GoString() string {
 27921  	return s.String()
 27922  }
 27923  
 27924  func newErrorResourceConcurrentModificationException(v protocol.ResponseMetadata) error {
 27925  	return &ResourceConcurrentModificationException{
 27926  		RespMetadata: v,
 27927  	}
 27928  }
 27929  
 27930  // Code returns the exception type name.
 27931  func (s *ResourceConcurrentModificationException) Code() string {
 27932  	return "ResourceConcurrentModificationException"
 27933  }
 27934  
 27935  // Message returns the exception's message.
 27936  func (s *ResourceConcurrentModificationException) Message() string {
 27937  	if s.Message_ != nil {
 27938  		return *s.Message_
 27939  	}
 27940  	return ""
 27941  }
 27942  
 27943  // OrigErr always returns nil, satisfies awserr.Error interface.
 27944  func (s *ResourceConcurrentModificationException) OrigErr() error {
 27945  	return nil
 27946  }
 27947  
 27948  func (s *ResourceConcurrentModificationException) Error() string {
 27949  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 27950  }
 27951  
 27952  // Status code returns the HTTP status code for the request's response error.
 27953  func (s *ResourceConcurrentModificationException) StatusCode() int {
 27954  	return s.RespMetadata.StatusCode
 27955  }
 27956  
 27957  // RequestID returns the service's response RequestID for request.
 27958  func (s *ResourceConcurrentModificationException) RequestID() string {
 27959  	return s.RespMetadata.RequestID
 27960  }
 27961  
 27962  // An object that contains the resource type and the number of resources.
 27963  type ResourceCount struct {
 27964  	_ struct{} `type:"structure"`
 27965  
 27966  	// The number of resources.
 27967  	Count *int64 `locationName:"count" type:"long"`
 27968  
 27969  	// The resource type (for example, "AWS::EC2::Instance").
 27970  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 27971  }
 27972  
 27973  // String returns the string representation.
 27974  //
 27975  // API parameter values that are decorated as "sensitive" in the API will not
 27976  // be included in the string output. The member name will be present, but the
 27977  // value will be replaced with "sensitive".
 27978  func (s ResourceCount) String() string {
 27979  	return awsutil.Prettify(s)
 27980  }
 27981  
 27982  // GoString returns the string representation.
 27983  //
 27984  // API parameter values that are decorated as "sensitive" in the API will not
 27985  // be included in the string output. The member name will be present, but the
 27986  // value will be replaced with "sensitive".
 27987  func (s ResourceCount) GoString() string {
 27988  	return s.String()
 27989  }
 27990  
 27991  // SetCount sets the Count field's value.
 27992  func (s *ResourceCount) SetCount(v int64) *ResourceCount {
 27993  	s.Count = &v
 27994  	return s
 27995  }
 27996  
 27997  // SetResourceType sets the ResourceType field's value.
 27998  func (s *ResourceCount) SetResourceType(v string) *ResourceCount {
 27999  	s.ResourceType = &v
 28000  	return s
 28001  }
 28002  
 28003  // Filters the resource count based on account ID, region, and resource type.
 28004  type ResourceCountFilters struct {
 28005  	_ struct{} `type:"structure"`
 28006  
 28007  	// The 12-digit ID of the account.
 28008  	AccountId *string `type:"string"`
 28009  
 28010  	// The region where the account is located.
 28011  	Region *string `min:"1" type:"string"`
 28012  
 28013  	// The type of the Amazon Web Services resource.
 28014  	ResourceType *string `type:"string" enum:"ResourceType"`
 28015  }
 28016  
 28017  // String returns the string representation.
 28018  //
 28019  // API parameter values that are decorated as "sensitive" in the API will not
 28020  // be included in the string output. The member name will be present, but the
 28021  // value will be replaced with "sensitive".
 28022  func (s ResourceCountFilters) String() string {
 28023  	return awsutil.Prettify(s)
 28024  }
 28025  
 28026  // GoString returns the string representation.
 28027  //
 28028  // API parameter values that are decorated as "sensitive" in the API will not
 28029  // be included in the string output. The member name will be present, but the
 28030  // value will be replaced with "sensitive".
 28031  func (s ResourceCountFilters) GoString() string {
 28032  	return s.String()
 28033  }
 28034  
 28035  // Validate inspects the fields of the type to determine if they are valid.
 28036  func (s *ResourceCountFilters) Validate() error {
 28037  	invalidParams := request.ErrInvalidParams{Context: "ResourceCountFilters"}
 28038  	if s.Region != nil && len(*s.Region) < 1 {
 28039  		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
 28040  	}
 28041  
 28042  	if invalidParams.Len() > 0 {
 28043  		return invalidParams
 28044  	}
 28045  	return nil
 28046  }
 28047  
 28048  // SetAccountId sets the AccountId field's value.
 28049  func (s *ResourceCountFilters) SetAccountId(v string) *ResourceCountFilters {
 28050  	s.AccountId = &v
 28051  	return s
 28052  }
 28053  
 28054  // SetRegion sets the Region field's value.
 28055  func (s *ResourceCountFilters) SetRegion(v string) *ResourceCountFilters {
 28056  	s.Region = &v
 28057  	return s
 28058  }
 28059  
 28060  // SetResourceType sets the ResourceType field's value.
 28061  func (s *ResourceCountFilters) SetResourceType(v string) *ResourceCountFilters {
 28062  	s.ResourceType = &v
 28063  	return s
 28064  }
 28065  
 28066  // Filters the results by resource account ID, region, resource ID, and resource
 28067  // name.
 28068  type ResourceFilters struct {
 28069  	_ struct{} `type:"structure"`
 28070  
 28071  	// The 12-digit source account ID.
 28072  	AccountId *string `type:"string"`
 28073  
 28074  	// The source region.
 28075  	Region *string `min:"1" type:"string"`
 28076  
 28077  	// The ID of the resource.
 28078  	ResourceId *string `min:"1" type:"string"`
 28079  
 28080  	// The name of the resource.
 28081  	ResourceName *string `type:"string"`
 28082  }
 28083  
 28084  // String returns the string representation.
 28085  //
 28086  // API parameter values that are decorated as "sensitive" in the API will not
 28087  // be included in the string output. The member name will be present, but the
 28088  // value will be replaced with "sensitive".
 28089  func (s ResourceFilters) String() string {
 28090  	return awsutil.Prettify(s)
 28091  }
 28092  
 28093  // GoString returns the string representation.
 28094  //
 28095  // API parameter values that are decorated as "sensitive" in the API will not
 28096  // be included in the string output. The member name will be present, but the
 28097  // value will be replaced with "sensitive".
 28098  func (s ResourceFilters) GoString() string {
 28099  	return s.String()
 28100  }
 28101  
 28102  // Validate inspects the fields of the type to determine if they are valid.
 28103  func (s *ResourceFilters) Validate() error {
 28104  	invalidParams := request.ErrInvalidParams{Context: "ResourceFilters"}
 28105  	if s.Region != nil && len(*s.Region) < 1 {
 28106  		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
 28107  	}
 28108  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 28109  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 28110  	}
 28111  
 28112  	if invalidParams.Len() > 0 {
 28113  		return invalidParams
 28114  	}
 28115  	return nil
 28116  }
 28117  
 28118  // SetAccountId sets the AccountId field's value.
 28119  func (s *ResourceFilters) SetAccountId(v string) *ResourceFilters {
 28120  	s.AccountId = &v
 28121  	return s
 28122  }
 28123  
 28124  // SetRegion sets the Region field's value.
 28125  func (s *ResourceFilters) SetRegion(v string) *ResourceFilters {
 28126  	s.Region = &v
 28127  	return s
 28128  }
 28129  
 28130  // SetResourceId sets the ResourceId field's value.
 28131  func (s *ResourceFilters) SetResourceId(v string) *ResourceFilters {
 28132  	s.ResourceId = &v
 28133  	return s
 28134  }
 28135  
 28136  // SetResourceName sets the ResourceName field's value.
 28137  func (s *ResourceFilters) SetResourceName(v string) *ResourceFilters {
 28138  	s.ResourceName = &v
 28139  	return s
 28140  }
 28141  
 28142  // The details that identify a resource that is discovered by Config, including
 28143  // the resource type, ID, and (if available) the custom resource name.
 28144  type ResourceIdentifier struct {
 28145  	_ struct{} `type:"structure"`
 28146  
 28147  	// The time that the resource was deleted.
 28148  	ResourceDeletionTime *time.Time `locationName:"resourceDeletionTime" type:"timestamp"`
 28149  
 28150  	// The ID of the resource (for example, sg-xxxxxx).
 28151  	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
 28152  
 28153  	// The custom name of the resource (if available).
 28154  	ResourceName *string `locationName:"resourceName" type:"string"`
 28155  
 28156  	// The type of resource.
 28157  	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
 28158  }
 28159  
 28160  // String returns the string representation.
 28161  //
 28162  // API parameter values that are decorated as "sensitive" in the API will not
 28163  // be included in the string output. The member name will be present, but the
 28164  // value will be replaced with "sensitive".
 28165  func (s ResourceIdentifier) String() string {
 28166  	return awsutil.Prettify(s)
 28167  }
 28168  
 28169  // GoString returns the string representation.
 28170  //
 28171  // API parameter values that are decorated as "sensitive" in the API will not
 28172  // be included in the string output. The member name will be present, but the
 28173  // value will be replaced with "sensitive".
 28174  func (s ResourceIdentifier) GoString() string {
 28175  	return s.String()
 28176  }
 28177  
 28178  // SetResourceDeletionTime sets the ResourceDeletionTime field's value.
 28179  func (s *ResourceIdentifier) SetResourceDeletionTime(v time.Time) *ResourceIdentifier {
 28180  	s.ResourceDeletionTime = &v
 28181  	return s
 28182  }
 28183  
 28184  // SetResourceId sets the ResourceId field's value.
 28185  func (s *ResourceIdentifier) SetResourceId(v string) *ResourceIdentifier {
 28186  	s.ResourceId = &v
 28187  	return s
 28188  }
 28189  
 28190  // SetResourceName sets the ResourceName field's value.
 28191  func (s *ResourceIdentifier) SetResourceName(v string) *ResourceIdentifier {
 28192  	s.ResourceName = &v
 28193  	return s
 28194  }
 28195  
 28196  // SetResourceType sets the ResourceType field's value.
 28197  func (s *ResourceIdentifier) SetResourceType(v string) *ResourceIdentifier {
 28198  	s.ResourceType = &v
 28199  	return s
 28200  }
 28201  
 28202  // You see this exception in the following cases:
 28203  //
 28204  //    * For DeleteConfigRule, Config is deleting this rule. Try your request
 28205  //    again later.
 28206  //
 28207  //    * For DeleteConfigRule, the rule is deleting your evaluation results.
 28208  //    Try your request again later.
 28209  //
 28210  //    * For DeleteConfigRule, a remediation action is associated with the rule
 28211  //    and Config cannot delete this rule. Delete the remediation action associated
 28212  //    with the rule before deleting the rule and try your request again later.
 28213  //
 28214  //    * For PutConfigOrganizationRule, organization config rule deletion is
 28215  //    in progress. Try your request again later.
 28216  //
 28217  //    * For DeleteOrganizationConfigRule, organization config rule creation
 28218  //    is in progress. Try your request again later.
 28219  //
 28220  //    * For PutConformancePack and PutOrganizationConformancePack, a conformance
 28221  //    pack creation, update, and deletion is in progress. Try your request again
 28222  //    later.
 28223  //
 28224  //    * For DeleteConformancePack, a conformance pack creation, update, and
 28225  //    deletion is in progress. Try your request again later.
 28226  type ResourceInUseException struct {
 28227  	_            struct{}                  `type:"structure"`
 28228  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28229  
 28230  	Message_ *string `locationName:"message" type:"string"`
 28231  }
 28232  
 28233  // String returns the string representation.
 28234  //
 28235  // API parameter values that are decorated as "sensitive" in the API will not
 28236  // be included in the string output. The member name will be present, but the
 28237  // value will be replaced with "sensitive".
 28238  func (s ResourceInUseException) String() string {
 28239  	return awsutil.Prettify(s)
 28240  }
 28241  
 28242  // GoString returns the string representation.
 28243  //
 28244  // API parameter values that are decorated as "sensitive" in the API will not
 28245  // be included in the string output. The member name will be present, but the
 28246  // value will be replaced with "sensitive".
 28247  func (s ResourceInUseException) GoString() string {
 28248  	return s.String()
 28249  }
 28250  
 28251  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 28252  	return &ResourceInUseException{
 28253  		RespMetadata: v,
 28254  	}
 28255  }
 28256  
 28257  // Code returns the exception type name.
 28258  func (s *ResourceInUseException) Code() string {
 28259  	return "ResourceInUseException"
 28260  }
 28261  
 28262  // Message returns the exception's message.
 28263  func (s *ResourceInUseException) Message() string {
 28264  	if s.Message_ != nil {
 28265  		return *s.Message_
 28266  	}
 28267  	return ""
 28268  }
 28269  
 28270  // OrigErr always returns nil, satisfies awserr.Error interface.
 28271  func (s *ResourceInUseException) OrigErr() error {
 28272  	return nil
 28273  }
 28274  
 28275  func (s *ResourceInUseException) Error() string {
 28276  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28277  }
 28278  
 28279  // Status code returns the HTTP status code for the request's response error.
 28280  func (s *ResourceInUseException) StatusCode() int {
 28281  	return s.RespMetadata.StatusCode
 28282  }
 28283  
 28284  // RequestID returns the service's response RequestID for request.
 28285  func (s *ResourceInUseException) RequestID() string {
 28286  	return s.RespMetadata.RequestID
 28287  }
 28288  
 28289  // The details that identify a resource within Config, including the resource
 28290  // type and resource ID.
 28291  type ResourceKey struct {
 28292  	_ struct{} `type:"structure"`
 28293  
 28294  	// The ID of the resource (for example., sg-xxxxxx).
 28295  	//
 28296  	// ResourceId is a required field
 28297  	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
 28298  
 28299  	// The resource type.
 28300  	//
 28301  	// ResourceType is a required field
 28302  	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
 28303  }
 28304  
 28305  // String returns the string representation.
 28306  //
 28307  // API parameter values that are decorated as "sensitive" in the API will not
 28308  // be included in the string output. The member name will be present, but the
 28309  // value will be replaced with "sensitive".
 28310  func (s ResourceKey) String() string {
 28311  	return awsutil.Prettify(s)
 28312  }
 28313  
 28314  // GoString returns the string representation.
 28315  //
 28316  // API parameter values that are decorated as "sensitive" in the API will not
 28317  // be included in the string output. The member name will be present, but the
 28318  // value will be replaced with "sensitive".
 28319  func (s ResourceKey) GoString() string {
 28320  	return s.String()
 28321  }
 28322  
 28323  // Validate inspects the fields of the type to determine if they are valid.
 28324  func (s *ResourceKey) Validate() error {
 28325  	invalidParams := request.ErrInvalidParams{Context: "ResourceKey"}
 28326  	if s.ResourceId == nil {
 28327  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 28328  	}
 28329  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
 28330  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
 28331  	}
 28332  	if s.ResourceType == nil {
 28333  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 28334  	}
 28335  
 28336  	if invalidParams.Len() > 0 {
 28337  		return invalidParams
 28338  	}
 28339  	return nil
 28340  }
 28341  
 28342  // SetResourceId sets the ResourceId field's value.
 28343  func (s *ResourceKey) SetResourceId(v string) *ResourceKey {
 28344  	s.ResourceId = &v
 28345  	return s
 28346  }
 28347  
 28348  // SetResourceType sets the ResourceType field's value.
 28349  func (s *ResourceKey) SetResourceType(v string) *ResourceKey {
 28350  	s.ResourceType = &v
 28351  	return s
 28352  }
 28353  
 28354  // You have specified a resource that is either unknown or has not been discovered.
 28355  type ResourceNotDiscoveredException struct {
 28356  	_            struct{}                  `type:"structure"`
 28357  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28358  
 28359  	Message_ *string `locationName:"message" type:"string"`
 28360  }
 28361  
 28362  // String returns the string representation.
 28363  //
 28364  // API parameter values that are decorated as "sensitive" in the API will not
 28365  // be included in the string output. The member name will be present, but the
 28366  // value will be replaced with "sensitive".
 28367  func (s ResourceNotDiscoveredException) String() string {
 28368  	return awsutil.Prettify(s)
 28369  }
 28370  
 28371  // GoString returns the string representation.
 28372  //
 28373  // API parameter values that are decorated as "sensitive" in the API will not
 28374  // be included in the string output. The member name will be present, but the
 28375  // value will be replaced with "sensitive".
 28376  func (s ResourceNotDiscoveredException) GoString() string {
 28377  	return s.String()
 28378  }
 28379  
 28380  func newErrorResourceNotDiscoveredException(v protocol.ResponseMetadata) error {
 28381  	return &ResourceNotDiscoveredException{
 28382  		RespMetadata: v,
 28383  	}
 28384  }
 28385  
 28386  // Code returns the exception type name.
 28387  func (s *ResourceNotDiscoveredException) Code() string {
 28388  	return "ResourceNotDiscoveredException"
 28389  }
 28390  
 28391  // Message returns the exception's message.
 28392  func (s *ResourceNotDiscoveredException) Message() string {
 28393  	if s.Message_ != nil {
 28394  		return *s.Message_
 28395  	}
 28396  	return ""
 28397  }
 28398  
 28399  // OrigErr always returns nil, satisfies awserr.Error interface.
 28400  func (s *ResourceNotDiscoveredException) OrigErr() error {
 28401  	return nil
 28402  }
 28403  
 28404  func (s *ResourceNotDiscoveredException) Error() string {
 28405  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28406  }
 28407  
 28408  // Status code returns the HTTP status code for the request's response error.
 28409  func (s *ResourceNotDiscoveredException) StatusCode() int {
 28410  	return s.RespMetadata.StatusCode
 28411  }
 28412  
 28413  // RequestID returns the service's response RequestID for request.
 28414  func (s *ResourceNotDiscoveredException) RequestID() string {
 28415  	return s.RespMetadata.RequestID
 28416  }
 28417  
 28418  // You have specified a resource that does not exist.
 28419  type ResourceNotFoundException struct {
 28420  	_            struct{}                  `type:"structure"`
 28421  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28422  
 28423  	Message_ *string `locationName:"message" type:"string"`
 28424  }
 28425  
 28426  // String returns the string representation.
 28427  //
 28428  // API parameter values that are decorated as "sensitive" in the API will not
 28429  // be included in the string output. The member name will be present, but the
 28430  // value will be replaced with "sensitive".
 28431  func (s ResourceNotFoundException) String() string {
 28432  	return awsutil.Prettify(s)
 28433  }
 28434  
 28435  // GoString returns the string representation.
 28436  //
 28437  // API parameter values that are decorated as "sensitive" in the API will not
 28438  // be included in the string output. The member name will be present, but the
 28439  // value will be replaced with "sensitive".
 28440  func (s ResourceNotFoundException) GoString() string {
 28441  	return s.String()
 28442  }
 28443  
 28444  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 28445  	return &ResourceNotFoundException{
 28446  		RespMetadata: v,
 28447  	}
 28448  }
 28449  
 28450  // Code returns the exception type name.
 28451  func (s *ResourceNotFoundException) Code() string {
 28452  	return "ResourceNotFoundException"
 28453  }
 28454  
 28455  // Message returns the exception's message.
 28456  func (s *ResourceNotFoundException) Message() string {
 28457  	if s.Message_ != nil {
 28458  		return *s.Message_
 28459  	}
 28460  	return ""
 28461  }
 28462  
 28463  // OrigErr always returns nil, satisfies awserr.Error interface.
 28464  func (s *ResourceNotFoundException) OrigErr() error {
 28465  	return nil
 28466  }
 28467  
 28468  func (s *ResourceNotFoundException) Error() string {
 28469  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28470  }
 28471  
 28472  // Status code returns the HTTP status code for the request's response error.
 28473  func (s *ResourceNotFoundException) StatusCode() int {
 28474  	return s.RespMetadata.StatusCode
 28475  }
 28476  
 28477  // RequestID returns the service's response RequestID for request.
 28478  func (s *ResourceNotFoundException) RequestID() string {
 28479  	return s.RespMetadata.RequestID
 28480  }
 28481  
 28482  // The dynamic value of the resource.
 28483  type ResourceValue struct {
 28484  	_ struct{} `type:"structure"`
 28485  
 28486  	// The value is a resource ID.
 28487  	//
 28488  	// Value is a required field
 28489  	Value *string `type:"string" required:"true" enum:"ResourceValueType"`
 28490  }
 28491  
 28492  // String returns the string representation.
 28493  //
 28494  // API parameter values that are decorated as "sensitive" in the API will not
 28495  // be included in the string output. The member name will be present, but the
 28496  // value will be replaced with "sensitive".
 28497  func (s ResourceValue) String() string {
 28498  	return awsutil.Prettify(s)
 28499  }
 28500  
 28501  // GoString returns the string representation.
 28502  //
 28503  // API parameter values that are decorated as "sensitive" in the API will not
 28504  // be included in the string output. The member name will be present, but the
 28505  // value will be replaced with "sensitive".
 28506  func (s ResourceValue) GoString() string {
 28507  	return s.String()
 28508  }
 28509  
 28510  // Validate inspects the fields of the type to determine if they are valid.
 28511  func (s *ResourceValue) Validate() error {
 28512  	invalidParams := request.ErrInvalidParams{Context: "ResourceValue"}
 28513  	if s.Value == nil {
 28514  		invalidParams.Add(request.NewErrParamRequired("Value"))
 28515  	}
 28516  
 28517  	if invalidParams.Len() > 0 {
 28518  		return invalidParams
 28519  	}
 28520  	return nil
 28521  }
 28522  
 28523  // SetValue sets the Value field's value.
 28524  func (s *ResourceValue) SetValue(v string) *ResourceValue {
 28525  	s.Value = &v
 28526  	return s
 28527  }
 28528  
 28529  // An object with the name of the retention configuration and the retention
 28530  // period in days. The object stores the configuration for data retention in
 28531  // Config.
 28532  type RetentionConfiguration struct {
 28533  	_ struct{} `type:"structure"`
 28534  
 28535  	// The name of the retention configuration object.
 28536  	//
 28537  	// Name is a required field
 28538  	Name *string `min:"1" type:"string" required:"true"`
 28539  
 28540  	// Number of days Config stores your historical information.
 28541  	//
 28542  	// Currently, only applicable to the configuration item history.
 28543  	//
 28544  	// RetentionPeriodInDays is a required field
 28545  	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
 28546  }
 28547  
 28548  // String returns the string representation.
 28549  //
 28550  // API parameter values that are decorated as "sensitive" in the API will not
 28551  // be included in the string output. The member name will be present, but the
 28552  // value will be replaced with "sensitive".
 28553  func (s RetentionConfiguration) String() string {
 28554  	return awsutil.Prettify(s)
 28555  }
 28556  
 28557  // GoString returns the string representation.
 28558  //
 28559  // API parameter values that are decorated as "sensitive" in the API will not
 28560  // be included in the string output. The member name will be present, but the
 28561  // value will be replaced with "sensitive".
 28562  func (s RetentionConfiguration) GoString() string {
 28563  	return s.String()
 28564  }
 28565  
 28566  // SetName sets the Name field's value.
 28567  func (s *RetentionConfiguration) SetName(v string) *RetentionConfiguration {
 28568  	s.Name = &v
 28569  	return s
 28570  }
 28571  
 28572  // SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
 28573  func (s *RetentionConfiguration) SetRetentionPeriodInDays(v int64) *RetentionConfiguration {
 28574  	s.RetentionPeriodInDays = &v
 28575  	return s
 28576  }
 28577  
 28578  // Defines which resources trigger an evaluation for an Config rule. The scope
 28579  // can include one or more resource types, a combination of a tag key and value,
 28580  // or a combination of one resource type and one resource ID. Specify a scope
 28581  // to constrain which resources trigger an evaluation for a rule. Otherwise,
 28582  // evaluations for the rule are triggered when any resource in your recording
 28583  // group changes in configuration.
 28584  type Scope struct {
 28585  	_ struct{} `type:"structure"`
 28586  
 28587  	// The ID of the only Amazon Web Services resource that you want to trigger
 28588  	// an evaluation for the rule. If you specify a resource ID, you must specify
 28589  	// one resource type for ComplianceResourceTypes.
 28590  	ComplianceResourceId *string `min:"1" type:"string"`
 28591  
 28592  	// The resource types of only those Amazon Web Services resources that you want
 28593  	// to trigger an evaluation for the rule. You can only specify one type if you
 28594  	// also specify a resource ID for ComplianceResourceId.
 28595  	ComplianceResourceTypes []*string `type:"list"`
 28596  
 28597  	// The tag key that is applied to only those Amazon Web Services resources that
 28598  	// you want to trigger an evaluation for the rule.
 28599  	TagKey *string `min:"1" type:"string"`
 28600  
 28601  	// The tag value applied to only those Amazon Web Services resources that you
 28602  	// want to trigger an evaluation for the rule. If you specify a value for TagValue,
 28603  	// you must also specify a value for TagKey.
 28604  	TagValue *string `min:"1" type:"string"`
 28605  }
 28606  
 28607  // String returns the string representation.
 28608  //
 28609  // API parameter values that are decorated as "sensitive" in the API will not
 28610  // be included in the string output. The member name will be present, but the
 28611  // value will be replaced with "sensitive".
 28612  func (s Scope) String() string {
 28613  	return awsutil.Prettify(s)
 28614  }
 28615  
 28616  // GoString returns the string representation.
 28617  //
 28618  // API parameter values that are decorated as "sensitive" in the API will not
 28619  // be included in the string output. The member name will be present, but the
 28620  // value will be replaced with "sensitive".
 28621  func (s Scope) GoString() string {
 28622  	return s.String()
 28623  }
 28624  
 28625  // Validate inspects the fields of the type to determine if they are valid.
 28626  func (s *Scope) Validate() error {
 28627  	invalidParams := request.ErrInvalidParams{Context: "Scope"}
 28628  	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
 28629  		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
 28630  	}
 28631  	if s.TagKey != nil && len(*s.TagKey) < 1 {
 28632  		invalidParams.Add(request.NewErrParamMinLen("TagKey", 1))
 28633  	}
 28634  	if s.TagValue != nil && len(*s.TagValue) < 1 {
 28635  		invalidParams.Add(request.NewErrParamMinLen("TagValue", 1))
 28636  	}
 28637  
 28638  	if invalidParams.Len() > 0 {
 28639  		return invalidParams
 28640  	}
 28641  	return nil
 28642  }
 28643  
 28644  // SetComplianceResourceId sets the ComplianceResourceId field's value.
 28645  func (s *Scope) SetComplianceResourceId(v string) *Scope {
 28646  	s.ComplianceResourceId = &v
 28647  	return s
 28648  }
 28649  
 28650  // SetComplianceResourceTypes sets the ComplianceResourceTypes field's value.
 28651  func (s *Scope) SetComplianceResourceTypes(v []*string) *Scope {
 28652  	s.ComplianceResourceTypes = v
 28653  	return s
 28654  }
 28655  
 28656  // SetTagKey sets the TagKey field's value.
 28657  func (s *Scope) SetTagKey(v string) *Scope {
 28658  	s.TagKey = &v
 28659  	return s
 28660  }
 28661  
 28662  // SetTagValue sets the TagValue field's value.
 28663  func (s *Scope) SetTagValue(v string) *Scope {
 28664  	s.TagValue = &v
 28665  	return s
 28666  }
 28667  
 28668  type SelectAggregateResourceConfigInput struct {
 28669  	_ struct{} `type:"structure"`
 28670  
 28671  	// The name of the configuration aggregator.
 28672  	//
 28673  	// ConfigurationAggregatorName is a required field
 28674  	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
 28675  
 28676  	// The SQL query SELECT command.
 28677  	//
 28678  	// Expression is a required field
 28679  	Expression *string `min:"1" type:"string" required:"true"`
 28680  
 28681  	// The maximum number of query results returned on each page.
 28682  	Limit *int64 `type:"integer"`
 28683  
 28684  	// The maximum number of query results returned on each page. Config also allows
 28685  	// the Limit request parameter.
 28686  	MaxResults *int64 `type:"integer"`
 28687  
 28688  	// The nextToken string returned in a previous request that you use to request
 28689  	// the next page of results in a paginated response.
 28690  	NextToken *string `type:"string"`
 28691  }
 28692  
 28693  // String returns the string representation.
 28694  //
 28695  // API parameter values that are decorated as "sensitive" in the API will not
 28696  // be included in the string output. The member name will be present, but the
 28697  // value will be replaced with "sensitive".
 28698  func (s SelectAggregateResourceConfigInput) String() string {
 28699  	return awsutil.Prettify(s)
 28700  }
 28701  
 28702  // GoString returns the string representation.
 28703  //
 28704  // API parameter values that are decorated as "sensitive" in the API will not
 28705  // be included in the string output. The member name will be present, but the
 28706  // value will be replaced with "sensitive".
 28707  func (s SelectAggregateResourceConfigInput) GoString() string {
 28708  	return s.String()
 28709  }
 28710  
 28711  // Validate inspects the fields of the type to determine if they are valid.
 28712  func (s *SelectAggregateResourceConfigInput) Validate() error {
 28713  	invalidParams := request.ErrInvalidParams{Context: "SelectAggregateResourceConfigInput"}
 28714  	if s.ConfigurationAggregatorName == nil {
 28715  		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
 28716  	}
 28717  	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
 28718  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
 28719  	}
 28720  	if s.Expression == nil {
 28721  		invalidParams.Add(request.NewErrParamRequired("Expression"))
 28722  	}
 28723  	if s.Expression != nil && len(*s.Expression) < 1 {
 28724  		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
 28725  	}
 28726  
 28727  	if invalidParams.Len() > 0 {
 28728  		return invalidParams
 28729  	}
 28730  	return nil
 28731  }
 28732  
 28733  // SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
 28734  func (s *SelectAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *SelectAggregateResourceConfigInput {
 28735  	s.ConfigurationAggregatorName = &v
 28736  	return s
 28737  }
 28738  
 28739  // SetExpression sets the Expression field's value.
 28740  func (s *SelectAggregateResourceConfigInput) SetExpression(v string) *SelectAggregateResourceConfigInput {
 28741  	s.Expression = &v
 28742  	return s
 28743  }
 28744  
 28745  // SetLimit sets the Limit field's value.
 28746  func (s *SelectAggregateResourceConfigInput) SetLimit(v int64) *SelectAggregateResourceConfigInput {
 28747  	s.Limit = &v
 28748  	return s
 28749  }
 28750  
 28751  // SetMaxResults sets the MaxResults field's value.
 28752  func (s *SelectAggregateResourceConfigInput) SetMaxResults(v int64) *SelectAggregateResourceConfigInput {
 28753  	s.MaxResults = &v
 28754  	return s
 28755  }
 28756  
 28757  // SetNextToken sets the NextToken field's value.
 28758  func (s *SelectAggregateResourceConfigInput) SetNextToken(v string) *SelectAggregateResourceConfigInput {
 28759  	s.NextToken = &v
 28760  	return s
 28761  }
 28762  
 28763  type SelectAggregateResourceConfigOutput struct {
 28764  	_ struct{} `type:"structure"`
 28765  
 28766  	// The nextToken string returned in a previous request that you use to request
 28767  	// the next page of results in a paginated response.
 28768  	NextToken *string `type:"string"`
 28769  
 28770  	// Details about the query.
 28771  	QueryInfo *QueryInfo `type:"structure"`
 28772  
 28773  	// Returns the results for the SQL query.
 28774  	Results []*string `type:"list"`
 28775  }
 28776  
 28777  // String returns the string representation.
 28778  //
 28779  // API parameter values that are decorated as "sensitive" in the API will not
 28780  // be included in the string output. The member name will be present, but the
 28781  // value will be replaced with "sensitive".
 28782  func (s SelectAggregateResourceConfigOutput) String() string {
 28783  	return awsutil.Prettify(s)
 28784  }
 28785  
 28786  // GoString returns the string representation.
 28787  //
 28788  // API parameter values that are decorated as "sensitive" in the API will not
 28789  // be included in the string output. The member name will be present, but the
 28790  // value will be replaced with "sensitive".
 28791  func (s SelectAggregateResourceConfigOutput) GoString() string {
 28792  	return s.String()
 28793  }
 28794  
 28795  // SetNextToken sets the NextToken field's value.
 28796  func (s *SelectAggregateResourceConfigOutput) SetNextToken(v string) *SelectAggregateResourceConfigOutput {
 28797  	s.NextToken = &v
 28798  	return s
 28799  }
 28800  
 28801  // SetQueryInfo sets the QueryInfo field's value.
 28802  func (s *SelectAggregateResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectAggregateResourceConfigOutput {
 28803  	s.QueryInfo = v
 28804  	return s
 28805  }
 28806  
 28807  // SetResults sets the Results field's value.
 28808  func (s *SelectAggregateResourceConfigOutput) SetResults(v []*string) *SelectAggregateResourceConfigOutput {
 28809  	s.Results = v
 28810  	return s
 28811  }
 28812  
 28813  type SelectResourceConfigInput struct {
 28814  	_ struct{} `type:"structure"`
 28815  
 28816  	// The SQL query SELECT command.
 28817  	//
 28818  	// Expression is a required field
 28819  	Expression *string `min:"1" type:"string" required:"true"`
 28820  
 28821  	// The maximum number of query results returned on each page.
 28822  	Limit *int64 `type:"integer"`
 28823  
 28824  	// The nextToken string returned in a previous request that you use to request
 28825  	// the next page of results in a paginated response.
 28826  	NextToken *string `type:"string"`
 28827  }
 28828  
 28829  // String returns the string representation.
 28830  //
 28831  // API parameter values that are decorated as "sensitive" in the API will not
 28832  // be included in the string output. The member name will be present, but the
 28833  // value will be replaced with "sensitive".
 28834  func (s SelectResourceConfigInput) String() string {
 28835  	return awsutil.Prettify(s)
 28836  }
 28837  
 28838  // GoString returns the string representation.
 28839  //
 28840  // API parameter values that are decorated as "sensitive" in the API will not
 28841  // be included in the string output. The member name will be present, but the
 28842  // value will be replaced with "sensitive".
 28843  func (s SelectResourceConfigInput) GoString() string {
 28844  	return s.String()
 28845  }
 28846  
 28847  // Validate inspects the fields of the type to determine if they are valid.
 28848  func (s *SelectResourceConfigInput) Validate() error {
 28849  	invalidParams := request.ErrInvalidParams{Context: "SelectResourceConfigInput"}
 28850  	if s.Expression == nil {
 28851  		invalidParams.Add(request.NewErrParamRequired("Expression"))
 28852  	}
 28853  	if s.Expression != nil && len(*s.Expression) < 1 {
 28854  		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
 28855  	}
 28856  
 28857  	if invalidParams.Len() > 0 {
 28858  		return invalidParams
 28859  	}
 28860  	return nil
 28861  }
 28862  
 28863  // SetExpression sets the Expression field's value.
 28864  func (s *SelectResourceConfigInput) SetExpression(v string) *SelectResourceConfigInput {
 28865  	s.Expression = &v
 28866  	return s
 28867  }
 28868  
 28869  // SetLimit sets the Limit field's value.
 28870  func (s *SelectResourceConfigInput) SetLimit(v int64) *SelectResourceConfigInput {
 28871  	s.Limit = &v
 28872  	return s
 28873  }
 28874  
 28875  // SetNextToken sets the NextToken field's value.
 28876  func (s *SelectResourceConfigInput) SetNextToken(v string) *SelectResourceConfigInput {
 28877  	s.NextToken = &v
 28878  	return s
 28879  }
 28880  
 28881  type SelectResourceConfigOutput struct {
 28882  	_ struct{} `type:"structure"`
 28883  
 28884  	// The nextToken string returned in a previous request that you use to request
 28885  	// the next page of results in a paginated response.
 28886  	NextToken *string `type:"string"`
 28887  
 28888  	// Returns the QueryInfo object.
 28889  	QueryInfo *QueryInfo `type:"structure"`
 28890  
 28891  	// Returns the results for the SQL query.
 28892  	Results []*string `type:"list"`
 28893  }
 28894  
 28895  // String returns the string representation.
 28896  //
 28897  // API parameter values that are decorated as "sensitive" in the API will not
 28898  // be included in the string output. The member name will be present, but the
 28899  // value will be replaced with "sensitive".
 28900  func (s SelectResourceConfigOutput) String() string {
 28901  	return awsutil.Prettify(s)
 28902  }
 28903  
 28904  // GoString returns the string representation.
 28905  //
 28906  // API parameter values that are decorated as "sensitive" in the API will not
 28907  // be included in the string output. The member name will be present, but the
 28908  // value will be replaced with "sensitive".
 28909  func (s SelectResourceConfigOutput) GoString() string {
 28910  	return s.String()
 28911  }
 28912  
 28913  // SetNextToken sets the NextToken field's value.
 28914  func (s *SelectResourceConfigOutput) SetNextToken(v string) *SelectResourceConfigOutput {
 28915  	s.NextToken = &v
 28916  	return s
 28917  }
 28918  
 28919  // SetQueryInfo sets the QueryInfo field's value.
 28920  func (s *SelectResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectResourceConfigOutput {
 28921  	s.QueryInfo = v
 28922  	return s
 28923  }
 28924  
 28925  // SetResults sets the Results field's value.
 28926  func (s *SelectResourceConfigOutput) SetResults(v []*string) *SelectResourceConfigOutput {
 28927  	s.Results = v
 28928  	return s
 28929  }
 28930  
 28931  // Provides the Config rule owner (Amazon Web Services or customer), the rule
 28932  // identifier, and the events that trigger the evaluation of your Amazon Web
 28933  // Services resources.
 28934  type Source struct {
 28935  	_ struct{} `type:"structure"`
 28936  
 28937  	// Indicates whether Amazon Web Services or the customer owns and manages the
 28938  	// Config rule.
 28939  	//
 28940  	// Owner is a required field
 28941  	Owner *string `type:"string" required:"true" enum:"Owner"`
 28942  
 28943  	// Provides the source and type of the event that causes Config to evaluate
 28944  	// your Amazon Web Services resources.
 28945  	SourceDetails []*SourceDetail `type:"list"`
 28946  
 28947  	// For Config managed rules, a predefined identifier from a list. For example,
 28948  	// IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using
 28949  	// Config managed rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
 28950  	//
 28951  	// For custom rules, the identifier is the Amazon Resource Name (ARN) of the
 28952  	// rule's Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.
 28953  	//
 28954  	// SourceIdentifier is a required field
 28955  	SourceIdentifier *string `min:"1" type:"string" required:"true"`
 28956  }
 28957  
 28958  // String returns the string representation.
 28959  //
 28960  // API parameter values that are decorated as "sensitive" in the API will not
 28961  // be included in the string output. The member name will be present, but the
 28962  // value will be replaced with "sensitive".
 28963  func (s Source) String() string {
 28964  	return awsutil.Prettify(s)
 28965  }
 28966  
 28967  // GoString returns the string representation.
 28968  //
 28969  // API parameter values that are decorated as "sensitive" in the API will not
 28970  // be included in the string output. The member name will be present, but the
 28971  // value will be replaced with "sensitive".
 28972  func (s Source) GoString() string {
 28973  	return s.String()
 28974  }
 28975  
 28976  // Validate inspects the fields of the type to determine if they are valid.
 28977  func (s *Source) Validate() error {
 28978  	invalidParams := request.ErrInvalidParams{Context: "Source"}
 28979  	if s.Owner == nil {
 28980  		invalidParams.Add(request.NewErrParamRequired("Owner"))
 28981  	}
 28982  	if s.SourceIdentifier == nil {
 28983  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 28984  	}
 28985  	if s.SourceIdentifier != nil && len(*s.SourceIdentifier) < 1 {
 28986  		invalidParams.Add(request.NewErrParamMinLen("SourceIdentifier", 1))
 28987  	}
 28988  
 28989  	if invalidParams.Len() > 0 {
 28990  		return invalidParams
 28991  	}
 28992  	return nil
 28993  }
 28994  
 28995  // SetOwner sets the Owner field's value.
 28996  func (s *Source) SetOwner(v string) *Source {
 28997  	s.Owner = &v
 28998  	return s
 28999  }
 29000  
 29001  // SetSourceDetails sets the SourceDetails field's value.
 29002  func (s *Source) SetSourceDetails(v []*SourceDetail) *Source {
 29003  	s.SourceDetails = v
 29004  	return s
 29005  }
 29006  
 29007  // SetSourceIdentifier sets the SourceIdentifier field's value.
 29008  func (s *Source) SetSourceIdentifier(v string) *Source {
 29009  	s.SourceIdentifier = &v
 29010  	return s
 29011  }
 29012  
 29013  // Provides the source and the message types that trigger Config to evaluate
 29014  // your Amazon Web Services resources against a rule. It also provides the frequency
 29015  // with which you want Config to run evaluations for the rule if the trigger
 29016  // type is periodic. You can specify the parameter values for SourceDetail only
 29017  // for custom rules.
 29018  type SourceDetail struct {
 29019  	_ struct{} `type:"structure"`
 29020  
 29021  	// The source of the event, such as an Amazon Web Services service, that triggers
 29022  	// Config to evaluate your Amazon Web Services resources.
 29023  	EventSource *string `type:"string" enum:"EventSource"`
 29024  
 29025  	// The frequency at which you want Config to run evaluations for a custom rule
 29026  	// with a periodic trigger. If you specify a value for MaximumExecutionFrequency,
 29027  	// then MessageType must use the ScheduledNotification value.
 29028  	//
 29029  	// By default, rules with a periodic trigger are evaluated every 24 hours. To
 29030  	// change the frequency, specify a valid value for the MaximumExecutionFrequency
 29031  	// parameter.
 29032  	//
 29033  	// Based on the valid value you choose, Config runs evaluations once for each
 29034  	// valid value. For example, if you choose Three_Hours, Config runs evaluations
 29035  	// once every three hours. In this case, Three_Hours is the frequency of this
 29036  	// rule.
 29037  	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
 29038  
 29039  	// The type of notification that triggers Config to run an evaluation for a
 29040  	// rule. You can specify the following notification types:
 29041  	//
 29042  	//    * ConfigurationItemChangeNotification - Triggers an evaluation when Config
 29043  	//    delivers a configuration item as a result of a resource change.
 29044  	//
 29045  	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
 29046  	//    when Config delivers an oversized configuration item. Config may generate
 29047  	//    this notification type when a resource changes and the notification exceeds
 29048  	//    the maximum size allowed by Amazon SNS.
 29049  	//
 29050  	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
 29051  	//    specified for MaximumExecutionFrequency.
 29052  	//
 29053  	//    * ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation
 29054  	//    when Config delivers a configuration snapshot.
 29055  	//
 29056  	// If you want your custom rule to be triggered by configuration changes, specify
 29057  	// two SourceDetail objects, one for ConfigurationItemChangeNotification and
 29058  	// one for OversizedConfigurationItemChangeNotification.
 29059  	MessageType *string `type:"string" enum:"MessageType"`
 29060  }
 29061  
 29062  // String returns the string representation.
 29063  //
 29064  // API parameter values that are decorated as "sensitive" in the API will not
 29065  // be included in the string output. The member name will be present, but the
 29066  // value will be replaced with "sensitive".
 29067  func (s SourceDetail) String() string {
 29068  	return awsutil.Prettify(s)
 29069  }
 29070  
 29071  // GoString returns the string representation.
 29072  //
 29073  // API parameter values that are decorated as "sensitive" in the API will not
 29074  // be included in the string output. The member name will be present, but the
 29075  // value will be replaced with "sensitive".
 29076  func (s SourceDetail) GoString() string {
 29077  	return s.String()
 29078  }
 29079  
 29080  // SetEventSource sets the EventSource field's value.
 29081  func (s *SourceDetail) SetEventSource(v string) *SourceDetail {
 29082  	s.EventSource = &v
 29083  	return s
 29084  }
 29085  
 29086  // SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
 29087  func (s *SourceDetail) SetMaximumExecutionFrequency(v string) *SourceDetail {
 29088  	s.MaximumExecutionFrequency = &v
 29089  	return s
 29090  }
 29091  
 29092  // SetMessageType sets the MessageType field's value.
 29093  func (s *SourceDetail) SetMessageType(v string) *SourceDetail {
 29094  	s.MessageType = &v
 29095  	return s
 29096  }
 29097  
 29098  // Amazon Web Services Systems Manager (SSM) specific remediation controls.
 29099  type SsmControls struct {
 29100  	_ struct{} `type:"structure"`
 29101  
 29102  	// The maximum percentage of remediation actions allowed to run in parallel
 29103  	// on the non-compliant resources for that specific rule. You can specify a
 29104  	// percentage, such as 10%. The default value is 10.
 29105  	ConcurrentExecutionRatePercentage *int64 `min:"1" type:"integer"`
 29106  
 29107  	// The percentage of errors that are allowed before SSM stops running automations
 29108  	// on non-compliant resources for that specific rule. You can specify a percentage
 29109  	// of errors, for example 10%. If you do not specifiy a percentage, the default
 29110  	// is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant
 29111  	// resources, then SSM stops running the automations when the fifth error is
 29112  	// received.
 29113  	ErrorPercentage *int64 `min:"1" type:"integer"`
 29114  }
 29115  
 29116  // String returns the string representation.
 29117  //
 29118  // API parameter values that are decorated as "sensitive" in the API will not
 29119  // be included in the string output. The member name will be present, but the
 29120  // value will be replaced with "sensitive".
 29121  func (s SsmControls) String() string {
 29122  	return awsutil.Prettify(s)
 29123  }
 29124  
 29125  // GoString returns the string representation.
 29126  //
 29127  // API parameter values that are decorated as "sensitive" in the API will not
 29128  // be included in the string output. The member name will be present, but the
 29129  // value will be replaced with "sensitive".
 29130  func (s SsmControls) GoString() string {
 29131  	return s.String()
 29132  }
 29133  
 29134  // Validate inspects the fields of the type to determine if they are valid.
 29135  func (s *SsmControls) Validate() error {
 29136  	invalidParams := request.ErrInvalidParams{Context: "SsmControls"}
 29137  	if s.ConcurrentExecutionRatePercentage != nil && *s.ConcurrentExecutionRatePercentage < 1 {
 29138  		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutionRatePercentage", 1))
 29139  	}
 29140  	if s.ErrorPercentage != nil && *s.ErrorPercentage < 1 {
 29141  		invalidParams.Add(request.NewErrParamMinValue("ErrorPercentage", 1))
 29142  	}
 29143  
 29144  	if invalidParams.Len() > 0 {
 29145  		return invalidParams
 29146  	}
 29147  	return nil
 29148  }
 29149  
 29150  // SetConcurrentExecutionRatePercentage sets the ConcurrentExecutionRatePercentage field's value.
 29151  func (s *SsmControls) SetConcurrentExecutionRatePercentage(v int64) *SsmControls {
 29152  	s.ConcurrentExecutionRatePercentage = &v
 29153  	return s
 29154  }
 29155  
 29156  // SetErrorPercentage sets the ErrorPercentage field's value.
 29157  func (s *SsmControls) SetErrorPercentage(v int64) *SsmControls {
 29158  	s.ErrorPercentage = &v
 29159  	return s
 29160  }
 29161  
 29162  type StartConfigRulesEvaluationInput struct {
 29163  	_ struct{} `type:"structure"`
 29164  
 29165  	// The list of names of Config rules that you want to run evaluations for.
 29166  	ConfigRuleNames []*string `min:"1" type:"list"`
 29167  }
 29168  
 29169  // String returns the string representation.
 29170  //
 29171  // API parameter values that are decorated as "sensitive" in the API will not
 29172  // be included in the string output. The member name will be present, but the
 29173  // value will be replaced with "sensitive".
 29174  func (s StartConfigRulesEvaluationInput) String() string {
 29175  	return awsutil.Prettify(s)
 29176  }
 29177  
 29178  // GoString returns the string representation.
 29179  //
 29180  // API parameter values that are decorated as "sensitive" in the API will not
 29181  // be included in the string output. The member name will be present, but the
 29182  // value will be replaced with "sensitive".
 29183  func (s StartConfigRulesEvaluationInput) GoString() string {
 29184  	return s.String()
 29185  }
 29186  
 29187  // Validate inspects the fields of the type to determine if they are valid.
 29188  func (s *StartConfigRulesEvaluationInput) Validate() error {
 29189  	invalidParams := request.ErrInvalidParams{Context: "StartConfigRulesEvaluationInput"}
 29190  	if s.ConfigRuleNames != nil && len(s.ConfigRuleNames) < 1 {
 29191  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleNames", 1))
 29192  	}
 29193  
 29194  	if invalidParams.Len() > 0 {
 29195  		return invalidParams
 29196  	}
 29197  	return nil
 29198  }
 29199  
 29200  // SetConfigRuleNames sets the ConfigRuleNames field's value.
 29201  func (s *StartConfigRulesEvaluationInput) SetConfigRuleNames(v []*string) *StartConfigRulesEvaluationInput {
 29202  	s.ConfigRuleNames = v
 29203  	return s
 29204  }
 29205  
 29206  // The output when you start the evaluation for the specified Config rule.
 29207  type StartConfigRulesEvaluationOutput struct {
 29208  	_ struct{} `type:"structure"`
 29209  }
 29210  
 29211  // String returns the string representation.
 29212  //
 29213  // API parameter values that are decorated as "sensitive" in the API will not
 29214  // be included in the string output. The member name will be present, but the
 29215  // value will be replaced with "sensitive".
 29216  func (s StartConfigRulesEvaluationOutput) String() string {
 29217  	return awsutil.Prettify(s)
 29218  }
 29219  
 29220  // GoString returns the string representation.
 29221  //
 29222  // API parameter values that are decorated as "sensitive" in the API will not
 29223  // be included in the string output. The member name will be present, but the
 29224  // value will be replaced with "sensitive".
 29225  func (s StartConfigRulesEvaluationOutput) GoString() string {
 29226  	return s.String()
 29227  }
 29228  
 29229  // The input for the StartConfigurationRecorder action.
 29230  type StartConfigurationRecorderInput struct {
 29231  	_ struct{} `type:"structure"`
 29232  
 29233  	// The name of the recorder object that records each configuration change made
 29234  	// to the resources.
 29235  	//
 29236  	// ConfigurationRecorderName is a required field
 29237  	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
 29238  }
 29239  
 29240  // String returns the string representation.
 29241  //
 29242  // API parameter values that are decorated as "sensitive" in the API will not
 29243  // be included in the string output. The member name will be present, but the
 29244  // value will be replaced with "sensitive".
 29245  func (s StartConfigurationRecorderInput) String() string {
 29246  	return awsutil.Prettify(s)
 29247  }
 29248  
 29249  // GoString returns the string representation.
 29250  //
 29251  // API parameter values that are decorated as "sensitive" in the API will not
 29252  // be included in the string output. The member name will be present, but the
 29253  // value will be replaced with "sensitive".
 29254  func (s StartConfigurationRecorderInput) GoString() string {
 29255  	return s.String()
 29256  }
 29257  
 29258  // Validate inspects the fields of the type to determine if they are valid.
 29259  func (s *StartConfigurationRecorderInput) Validate() error {
 29260  	invalidParams := request.ErrInvalidParams{Context: "StartConfigurationRecorderInput"}
 29261  	if s.ConfigurationRecorderName == nil {
 29262  		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
 29263  	}
 29264  	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
 29265  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
 29266  	}
 29267  
 29268  	if invalidParams.Len() > 0 {
 29269  		return invalidParams
 29270  	}
 29271  	return nil
 29272  }
 29273  
 29274  // SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
 29275  func (s *StartConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StartConfigurationRecorderInput {
 29276  	s.ConfigurationRecorderName = &v
 29277  	return s
 29278  }
 29279  
 29280  type StartConfigurationRecorderOutput struct {
 29281  	_ struct{} `type:"structure"`
 29282  }
 29283  
 29284  // String returns the string representation.
 29285  //
 29286  // API parameter values that are decorated as "sensitive" in the API will not
 29287  // be included in the string output. The member name will be present, but the
 29288  // value will be replaced with "sensitive".
 29289  func (s StartConfigurationRecorderOutput) String() string {
 29290  	return awsutil.Prettify(s)
 29291  }
 29292  
 29293  // GoString returns the string representation.
 29294  //
 29295  // API parameter values that are decorated as "sensitive" in the API will not
 29296  // be included in the string output. The member name will be present, but the
 29297  // value will be replaced with "sensitive".
 29298  func (s StartConfigurationRecorderOutput) GoString() string {
 29299  	return s.String()
 29300  }
 29301  
 29302  type StartRemediationExecutionInput struct {
 29303  	_ struct{} `type:"structure"`
 29304  
 29305  	// The list of names of Config rules that you want to run remediation execution
 29306  	// for.
 29307  	//
 29308  	// ConfigRuleName is a required field
 29309  	ConfigRuleName *string `min:"1" type:"string" required:"true"`
 29310  
 29311  	// A list of resource keys to be processed with the current request. Each element
 29312  	// in the list consists of the resource type and resource ID.
 29313  	//
 29314  	// ResourceKeys is a required field
 29315  	ResourceKeys []*ResourceKey `min:"1" type:"list" required:"true"`
 29316  }
 29317  
 29318  // String returns the string representation.
 29319  //
 29320  // API parameter values that are decorated as "sensitive" in the API will not
 29321  // be included in the string output. The member name will be present, but the
 29322  // value will be replaced with "sensitive".
 29323  func (s StartRemediationExecutionInput) String() string {
 29324  	return awsutil.Prettify(s)
 29325  }
 29326  
 29327  // GoString returns the string representation.
 29328  //
 29329  // API parameter values that are decorated as "sensitive" in the API will not
 29330  // be included in the string output. The member name will be present, but the
 29331  // value will be replaced with "sensitive".
 29332  func (s StartRemediationExecutionInput) GoString() string {
 29333  	return s.String()
 29334  }
 29335  
 29336  // Validate inspects the fields of the type to determine if they are valid.
 29337  func (s *StartRemediationExecutionInput) Validate() error {
 29338  	invalidParams := request.ErrInvalidParams{Context: "StartRemediationExecutionInput"}
 29339  	if s.ConfigRuleName == nil {
 29340  		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
 29341  	}
 29342  	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
 29343  		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
 29344  	}
 29345  	if s.ResourceKeys == nil {
 29346  		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
 29347  	}
 29348  	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
 29349  		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
 29350  	}
 29351  	if s.ResourceKeys != nil {
 29352  		for i, v := range s.ResourceKeys {
 29353  			if v == nil {
 29354  				continue
 29355  			}
 29356  			if err := v.Validate(); err != nil {
 29357  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
 29358  			}
 29359  		}
 29360  	}
 29361  
 29362  	if invalidParams.Len() > 0 {
 29363  		return invalidParams
 29364  	}
 29365  	return nil
 29366  }
 29367  
 29368  // SetConfigRuleName sets the ConfigRuleName field's value.
 29369  func (s *StartRemediationExecutionInput) SetConfigRuleName(v string) *StartRemediationExecutionInput {
 29370  	s.ConfigRuleName = &v
 29371  	return s
 29372  }
 29373  
 29374  // SetResourceKeys sets the ResourceKeys field's value.
 29375  func (s *StartRemediationExecutionInput) SetResourceKeys(v []*ResourceKey) *StartRemediationExecutionInput {
 29376  	s.ResourceKeys = v
 29377  	return s
 29378  }
 29379  
 29380  type StartRemediationExecutionOutput struct {
 29381  	_ struct{} `type:"structure"`
 29382  
 29383  	// For resources that have failed to start execution, the API returns a resource
 29384  	// key object.
 29385  	FailedItems []*ResourceKey `min:"1" type:"list"`
 29386  
 29387  	// Returns a failure message. For example, the resource is already compliant.
 29388  	FailureMessage *string `type:"string"`
 29389  }
 29390  
 29391  // String returns the string representation.
 29392  //
 29393  // API parameter values that are decorated as "sensitive" in the API will not
 29394  // be included in the string output. The member name will be present, but the
 29395  // value will be replaced with "sensitive".
 29396  func (s StartRemediationExecutionOutput) String() string {
 29397  	return awsutil.Prettify(s)
 29398  }
 29399  
 29400  // GoString returns the string representation.
 29401  //
 29402  // API parameter values that are decorated as "sensitive" in the API will not
 29403  // be included in the string output. The member name will be present, but the
 29404  // value will be replaced with "sensitive".
 29405  func (s StartRemediationExecutionOutput) GoString() string {
 29406  	return s.String()
 29407  }
 29408  
 29409  // SetFailedItems sets the FailedItems field's value.
 29410  func (s *StartRemediationExecutionOutput) SetFailedItems(v []*ResourceKey) *StartRemediationExecutionOutput {
 29411  	s.FailedItems = v
 29412  	return s
 29413  }
 29414  
 29415  // SetFailureMessage sets the FailureMessage field's value.
 29416  func (s *StartRemediationExecutionOutput) SetFailureMessage(v string) *StartRemediationExecutionOutput {
 29417  	s.FailureMessage = &v
 29418  	return s
 29419  }
 29420  
 29421  // The static value of the resource.
 29422  type StaticValue struct {
 29423  	_ struct{} `type:"structure"`
 29424  
 29425  	// A list of values. For example, the ARN of the assumed role.
 29426  	//
 29427  	// Values is a required field
 29428  	Values []*string `type:"list" required:"true"`
 29429  }
 29430  
 29431  // String returns the string representation.
 29432  //
 29433  // API parameter values that are decorated as "sensitive" in the API will not
 29434  // be included in the string output. The member name will be present, but the
 29435  // value will be replaced with "sensitive".
 29436  func (s StaticValue) String() string {
 29437  	return awsutil.Prettify(s)
 29438  }
 29439  
 29440  // GoString returns the string representation.
 29441  //
 29442  // API parameter values that are decorated as "sensitive" in the API will not
 29443  // be included in the string output. The member name will be present, but the
 29444  // value will be replaced with "sensitive".
 29445  func (s StaticValue) GoString() string {
 29446  	return s.String()
 29447  }
 29448  
 29449  // Validate inspects the fields of the type to determine if they are valid.
 29450  func (s *StaticValue) Validate() error {
 29451  	invalidParams := request.ErrInvalidParams{Context: "StaticValue"}
 29452  	if s.Values == nil {
 29453  		invalidParams.Add(request.NewErrParamRequired("Values"))
 29454  	}
 29455  
 29456  	if invalidParams.Len() > 0 {
 29457  		return invalidParams
 29458  	}
 29459  	return nil
 29460  }
 29461  
 29462  // SetValues sets the Values field's value.
 29463  func (s *StaticValue) SetValues(v []*string) *StaticValue {
 29464  	s.Values = v
 29465  	return s
 29466  }
 29467  
 29468  // Status filter object to filter results based on specific member account ID
 29469  // or status type for an organization config rule.
 29470  type StatusDetailFilters struct {
 29471  	_ struct{} `type:"structure"`
 29472  
 29473  	// The 12-digit account ID of the member account within an organization.
 29474  	AccountId *string `type:"string"`
 29475  
 29476  	// Indicates deployment status for config rule in the member account. When master
 29477  	// account calls PutOrganizationConfigRule action for the first time, config
 29478  	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
 29479  	// action for the second time, config rule status is updated in the member account.
 29480  	// Config rule status is deleted when the master account deletes OrganizationConfigRule
 29481  	// and disables service access for config-multiaccountsetup.amazonaws.com.
 29482  	//
 29483  	// Config sets the state of the rule to:
 29484  	//
 29485  	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
 29486  	//
 29487  	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
 29488  	//
 29489  	//    * CREATE_FAILED when config rule creation has failed in the member account.
 29490  	//
 29491  	//    * DELETE_FAILED when config rule deletion has failed in the member account.
 29492  	//
 29493  	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
 29494  	//
 29495  	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
 29496  	//
 29497  	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
 29498  	//
 29499  	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
 29500  	//
 29501  	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
 29502  	MemberAccountRuleStatus *string `type:"string" enum:"MemberAccountRuleStatus"`
 29503  }
 29504  
 29505  // String returns the string representation.
 29506  //
 29507  // API parameter values that are decorated as "sensitive" in the API will not
 29508  // be included in the string output. The member name will be present, but the
 29509  // value will be replaced with "sensitive".
 29510  func (s StatusDetailFilters) String() string {
 29511  	return awsutil.Prettify(s)
 29512  }
 29513  
 29514  // GoString returns the string representation.
 29515  //
 29516  // API parameter values that are decorated as "sensitive" in the API will not
 29517  // be included in the string output. The member name will be present, but the
 29518  // value will be replaced with "sensitive".
 29519  func (s StatusDetailFilters) GoString() string {
 29520  	return s.String()
 29521  }
 29522  
 29523  // SetAccountId sets the AccountId field's value.
 29524  func (s *StatusDetailFilters) SetAccountId(v string) *StatusDetailFilters {
 29525  	s.AccountId = &v
 29526  	return s
 29527  }
 29528  
 29529  // SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
 29530  func (s *StatusDetailFilters) SetMemberAccountRuleStatus(v string) *StatusDetailFilters {
 29531  	s.MemberAccountRuleStatus = &v
 29532  	return s
 29533  }
 29534  
 29535  // The input for the StopConfigurationRecorder action.
 29536  type StopConfigurationRecorderInput struct {
 29537  	_ struct{} `type:"structure"`
 29538  
 29539  	// The name of the recorder object that records each configuration change made
 29540  	// to the resources.
 29541  	//
 29542  	// ConfigurationRecorderName is a required field
 29543  	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
 29544  }
 29545  
 29546  // String returns the string representation.
 29547  //
 29548  // API parameter values that are decorated as "sensitive" in the API will not
 29549  // be included in the string output. The member name will be present, but the
 29550  // value will be replaced with "sensitive".
 29551  func (s StopConfigurationRecorderInput) String() string {
 29552  	return awsutil.Prettify(s)
 29553  }
 29554  
 29555  // GoString returns the string representation.
 29556  //
 29557  // API parameter values that are decorated as "sensitive" in the API will not
 29558  // be included in the string output. The member name will be present, but the
 29559  // value will be replaced with "sensitive".
 29560  func (s StopConfigurationRecorderInput) GoString() string {
 29561  	return s.String()
 29562  }
 29563  
 29564  // Validate inspects the fields of the type to determine if they are valid.
 29565  func (s *StopConfigurationRecorderInput) Validate() error {
 29566  	invalidParams := request.ErrInvalidParams{Context: "StopConfigurationRecorderInput"}
 29567  	if s.ConfigurationRecorderName == nil {
 29568  		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
 29569  	}
 29570  	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
 29571  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
 29572  	}
 29573  
 29574  	if invalidParams.Len() > 0 {
 29575  		return invalidParams
 29576  	}
 29577  	return nil
 29578  }
 29579  
 29580  // SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
 29581  func (s *StopConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StopConfigurationRecorderInput {
 29582  	s.ConfigurationRecorderName = &v
 29583  	return s
 29584  }
 29585  
 29586  type StopConfigurationRecorderOutput struct {
 29587  	_ struct{} `type:"structure"`
 29588  }
 29589  
 29590  // String returns the string representation.
 29591  //
 29592  // API parameter values that are decorated as "sensitive" in the API will not
 29593  // be included in the string output. The member name will be present, but the
 29594  // value will be replaced with "sensitive".
 29595  func (s StopConfigurationRecorderOutput) String() string {
 29596  	return awsutil.Prettify(s)
 29597  }
 29598  
 29599  // GoString returns the string representation.
 29600  //
 29601  // API parameter values that are decorated as "sensitive" in the API will not
 29602  // be included in the string output. The member name will be present, but the
 29603  // value will be replaced with "sensitive".
 29604  func (s StopConfigurationRecorderOutput) GoString() string {
 29605  	return s.String()
 29606  }
 29607  
 29608  // Provides the details of a stored query.
 29609  type StoredQuery struct {
 29610  	_ struct{} `type:"structure"`
 29611  
 29612  	// A unique description for the query.
 29613  	Description *string `type:"string"`
 29614  
 29615  	// The expression of the query. For example, SELECT resourceId, resourceType,
 29616  	// supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType
 29617  	// = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status
 29618  	// = 'Off'.
 29619  	Expression *string `min:"1" type:"string"`
 29620  
 29621  	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
 29622  	QueryArn *string `min:"1" type:"string"`
 29623  
 29624  	// The ID of the query.
 29625  	QueryId *string `min:"1" type:"string"`
 29626  
 29627  	// The name of the query.
 29628  	//
 29629  	// QueryName is a required field
 29630  	QueryName *string `min:"1" type:"string" required:"true"`
 29631  }
 29632  
 29633  // String returns the string representation.
 29634  //
 29635  // API parameter values that are decorated as "sensitive" in the API will not
 29636  // be included in the string output. The member name will be present, but the
 29637  // value will be replaced with "sensitive".
 29638  func (s StoredQuery) String() string {
 29639  	return awsutil.Prettify(s)
 29640  }
 29641  
 29642  // GoString returns the string representation.
 29643  //
 29644  // API parameter values that are decorated as "sensitive" in the API will not
 29645  // be included in the string output. The member name will be present, but the
 29646  // value will be replaced with "sensitive".
 29647  func (s StoredQuery) GoString() string {
 29648  	return s.String()
 29649  }
 29650  
 29651  // Validate inspects the fields of the type to determine if they are valid.
 29652  func (s *StoredQuery) Validate() error {
 29653  	invalidParams := request.ErrInvalidParams{Context: "StoredQuery"}
 29654  	if s.Expression != nil && len(*s.Expression) < 1 {
 29655  		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
 29656  	}
 29657  	if s.QueryArn != nil && len(*s.QueryArn) < 1 {
 29658  		invalidParams.Add(request.NewErrParamMinLen("QueryArn", 1))
 29659  	}
 29660  	if s.QueryId != nil && len(*s.QueryId) < 1 {
 29661  		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
 29662  	}
 29663  	if s.QueryName == nil {
 29664  		invalidParams.Add(request.NewErrParamRequired("QueryName"))
 29665  	}
 29666  	if s.QueryName != nil && len(*s.QueryName) < 1 {
 29667  		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
 29668  	}
 29669  
 29670  	if invalidParams.Len() > 0 {
 29671  		return invalidParams
 29672  	}
 29673  	return nil
 29674  }
 29675  
 29676  // SetDescription sets the Description field's value.
 29677  func (s *StoredQuery) SetDescription(v string) *StoredQuery {
 29678  	s.Description = &v
 29679  	return s
 29680  }
 29681  
 29682  // SetExpression sets the Expression field's value.
 29683  func (s *StoredQuery) SetExpression(v string) *StoredQuery {
 29684  	s.Expression = &v
 29685  	return s
 29686  }
 29687  
 29688  // SetQueryArn sets the QueryArn field's value.
 29689  func (s *StoredQuery) SetQueryArn(v string) *StoredQuery {
 29690  	s.QueryArn = &v
 29691  	return s
 29692  }
 29693  
 29694  // SetQueryId sets the QueryId field's value.
 29695  func (s *StoredQuery) SetQueryId(v string) *StoredQuery {
 29696  	s.QueryId = &v
 29697  	return s
 29698  }
 29699  
 29700  // SetQueryName sets the QueryName field's value.
 29701  func (s *StoredQuery) SetQueryName(v string) *StoredQuery {
 29702  	s.QueryName = &v
 29703  	return s
 29704  }
 29705  
 29706  // Returns details of a specific query.
 29707  type StoredQueryMetadata struct {
 29708  	_ struct{} `type:"structure"`
 29709  
 29710  	// A unique description for the query.
 29711  	Description *string `type:"string"`
 29712  
 29713  	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
 29714  	//
 29715  	// QueryArn is a required field
 29716  	QueryArn *string `min:"1" type:"string" required:"true"`
 29717  
 29718  	// The ID of the query.
 29719  	//
 29720  	// QueryId is a required field
 29721  	QueryId *string `min:"1" type:"string" required:"true"`
 29722  
 29723  	// The name of the query.
 29724  	//
 29725  	// QueryName is a required field
 29726  	QueryName *string `min:"1" type:"string" required:"true"`
 29727  }
 29728  
 29729  // String returns the string representation.
 29730  //
 29731  // API parameter values that are decorated as "sensitive" in the API will not
 29732  // be included in the string output. The member name will be present, but the
 29733  // value will be replaced with "sensitive".
 29734  func (s StoredQueryMetadata) String() string {
 29735  	return awsutil.Prettify(s)
 29736  }
 29737  
 29738  // GoString returns the string representation.
 29739  //
 29740  // API parameter values that are decorated as "sensitive" in the API will not
 29741  // be included in the string output. The member name will be present, but the
 29742  // value will be replaced with "sensitive".
 29743  func (s StoredQueryMetadata) GoString() string {
 29744  	return s.String()
 29745  }
 29746  
 29747  // SetDescription sets the Description field's value.
 29748  func (s *StoredQueryMetadata) SetDescription(v string) *StoredQueryMetadata {
 29749  	s.Description = &v
 29750  	return s
 29751  }
 29752  
 29753  // SetQueryArn sets the QueryArn field's value.
 29754  func (s *StoredQueryMetadata) SetQueryArn(v string) *StoredQueryMetadata {
 29755  	s.QueryArn = &v
 29756  	return s
 29757  }
 29758  
 29759  // SetQueryId sets the QueryId field's value.
 29760  func (s *StoredQueryMetadata) SetQueryId(v string) *StoredQueryMetadata {
 29761  	s.QueryId = &v
 29762  	return s
 29763  }
 29764  
 29765  // SetQueryName sets the QueryName field's value.
 29766  func (s *StoredQueryMetadata) SetQueryName(v string) *StoredQueryMetadata {
 29767  	s.QueryName = &v
 29768  	return s
 29769  }
 29770  
 29771  // The tags for the resource. The metadata that you apply to a resource to help
 29772  // you categorize and organize them. Each tag consists of a key and an optional
 29773  // value, both of which you define. Tag keys can have a maximum character length
 29774  // of 128 characters, and tag values can have a maximum length of 256 characters.
 29775  type Tag struct {
 29776  	_ struct{} `type:"structure"`
 29777  
 29778  	// One part of a key-value pair that make up a tag. A key is a general label
 29779  	// that acts like a category for more specific tag values.
 29780  	Key *string `min:"1" type:"string"`
 29781  
 29782  	// The optional part of a key-value pair that make up a tag. A value acts as
 29783  	// a descriptor within a tag category (key).
 29784  	Value *string `type:"string"`
 29785  }
 29786  
 29787  // String returns the string representation.
 29788  //
 29789  // API parameter values that are decorated as "sensitive" in the API will not
 29790  // be included in the string output. The member name will be present, but the
 29791  // value will be replaced with "sensitive".
 29792  func (s Tag) String() string {
 29793  	return awsutil.Prettify(s)
 29794  }
 29795  
 29796  // GoString returns the string representation.
 29797  //
 29798  // API parameter values that are decorated as "sensitive" in the API will not
 29799  // be included in the string output. The member name will be present, but the
 29800  // value will be replaced with "sensitive".
 29801  func (s Tag) GoString() string {
 29802  	return s.String()
 29803  }
 29804  
 29805  // Validate inspects the fields of the type to determine if they are valid.
 29806  func (s *Tag) Validate() error {
 29807  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 29808  	if s.Key != nil && len(*s.Key) < 1 {
 29809  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 29810  	}
 29811  
 29812  	if invalidParams.Len() > 0 {
 29813  		return invalidParams
 29814  	}
 29815  	return nil
 29816  }
 29817  
 29818  // SetKey sets the Key field's value.
 29819  func (s *Tag) SetKey(v string) *Tag {
 29820  	s.Key = &v
 29821  	return s
 29822  }
 29823  
 29824  // SetValue sets the Value field's value.
 29825  func (s *Tag) SetValue(v string) *Tag {
 29826  	s.Value = &v
 29827  	return s
 29828  }
 29829  
 29830  type TagResourceInput struct {
 29831  	_ struct{} `type:"structure"`
 29832  
 29833  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 29834  	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
 29835  	// and AggregatorAuthorization.
 29836  	//
 29837  	// ResourceArn is a required field
 29838  	ResourceArn *string `min:"1" type:"string" required:"true"`
 29839  
 29840  	// An array of tag object.
 29841  	//
 29842  	// Tags is a required field
 29843  	Tags []*Tag `min:"1" type:"list" required:"true"`
 29844  }
 29845  
 29846  // String returns the string representation.
 29847  //
 29848  // API parameter values that are decorated as "sensitive" in the API will not
 29849  // be included in the string output. The member name will be present, but the
 29850  // value will be replaced with "sensitive".
 29851  func (s TagResourceInput) String() string {
 29852  	return awsutil.Prettify(s)
 29853  }
 29854  
 29855  // GoString returns the string representation.
 29856  //
 29857  // API parameter values that are decorated as "sensitive" in the API will not
 29858  // be included in the string output. The member name will be present, but the
 29859  // value will be replaced with "sensitive".
 29860  func (s TagResourceInput) GoString() string {
 29861  	return s.String()
 29862  }
 29863  
 29864  // Validate inspects the fields of the type to determine if they are valid.
 29865  func (s *TagResourceInput) Validate() error {
 29866  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 29867  	if s.ResourceArn == nil {
 29868  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 29869  	}
 29870  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 29871  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 29872  	}
 29873  	if s.Tags == nil {
 29874  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 29875  	}
 29876  	if s.Tags != nil && len(s.Tags) < 1 {
 29877  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 29878  	}
 29879  	if s.Tags != nil {
 29880  		for i, v := range s.Tags {
 29881  			if v == nil {
 29882  				continue
 29883  			}
 29884  			if err := v.Validate(); err != nil {
 29885  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 29886  			}
 29887  		}
 29888  	}
 29889  
 29890  	if invalidParams.Len() > 0 {
 29891  		return invalidParams
 29892  	}
 29893  	return nil
 29894  }
 29895  
 29896  // SetResourceArn sets the ResourceArn field's value.
 29897  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 29898  	s.ResourceArn = &v
 29899  	return s
 29900  }
 29901  
 29902  // SetTags sets the Tags field's value.
 29903  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 29904  	s.Tags = v
 29905  	return s
 29906  }
 29907  
 29908  type TagResourceOutput struct {
 29909  	_ struct{} `type:"structure"`
 29910  }
 29911  
 29912  // String returns the string representation.
 29913  //
 29914  // API parameter values that are decorated as "sensitive" in the API will not
 29915  // be included in the string output. The member name will be present, but the
 29916  // value will be replaced with "sensitive".
 29917  func (s TagResourceOutput) String() string {
 29918  	return awsutil.Prettify(s)
 29919  }
 29920  
 29921  // GoString returns the string representation.
 29922  //
 29923  // API parameter values that are decorated as "sensitive" in the API will not
 29924  // be included in the string output. The member name will be present, but the
 29925  // value will be replaced with "sensitive".
 29926  func (s TagResourceOutput) GoString() string {
 29927  	return s.String()
 29928  }
 29929  
 29930  // You have reached the limit of the number of tags you can use. You have more
 29931  // than 50 tags.
 29932  type TooManyTagsException struct {
 29933  	_            struct{}                  `type:"structure"`
 29934  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29935  
 29936  	Message_ *string `locationName:"message" type:"string"`
 29937  }
 29938  
 29939  // String returns the string representation.
 29940  //
 29941  // API parameter values that are decorated as "sensitive" in the API will not
 29942  // be included in the string output. The member name will be present, but the
 29943  // value will be replaced with "sensitive".
 29944  func (s TooManyTagsException) String() string {
 29945  	return awsutil.Prettify(s)
 29946  }
 29947  
 29948  // GoString returns the string representation.
 29949  //
 29950  // API parameter values that are decorated as "sensitive" in the API will not
 29951  // be included in the string output. The member name will be present, but the
 29952  // value will be replaced with "sensitive".
 29953  func (s TooManyTagsException) GoString() string {
 29954  	return s.String()
 29955  }
 29956  
 29957  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 29958  	return &TooManyTagsException{
 29959  		RespMetadata: v,
 29960  	}
 29961  }
 29962  
 29963  // Code returns the exception type name.
 29964  func (s *TooManyTagsException) Code() string {
 29965  	return "TooManyTagsException"
 29966  }
 29967  
 29968  // Message returns the exception's message.
 29969  func (s *TooManyTagsException) Message() string {
 29970  	if s.Message_ != nil {
 29971  		return *s.Message_
 29972  	}
 29973  	return ""
 29974  }
 29975  
 29976  // OrigErr always returns nil, satisfies awserr.Error interface.
 29977  func (s *TooManyTagsException) OrigErr() error {
 29978  	return nil
 29979  }
 29980  
 29981  func (s *TooManyTagsException) Error() string {
 29982  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29983  }
 29984  
 29985  // Status code returns the HTTP status code for the request's response error.
 29986  func (s *TooManyTagsException) StatusCode() int {
 29987  	return s.RespMetadata.StatusCode
 29988  }
 29989  
 29990  // RequestID returns the service's response RequestID for request.
 29991  func (s *TooManyTagsException) RequestID() string {
 29992  	return s.RespMetadata.RequestID
 29993  }
 29994  
 29995  type UntagResourceInput struct {
 29996  	_ struct{} `type:"structure"`
 29997  
 29998  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 29999  	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
 30000  	// and AggregatorAuthorization.
 30001  	//
 30002  	// ResourceArn is a required field
 30003  	ResourceArn *string `min:"1" type:"string" required:"true"`
 30004  
 30005  	// The keys of the tags to be removed.
 30006  	//
 30007  	// TagKeys is a required field
 30008  	TagKeys []*string `min:"1" type:"list" required:"true"`
 30009  }
 30010  
 30011  // String returns the string representation.
 30012  //
 30013  // API parameter values that are decorated as "sensitive" in the API will not
 30014  // be included in the string output. The member name will be present, but the
 30015  // value will be replaced with "sensitive".
 30016  func (s UntagResourceInput) String() string {
 30017  	return awsutil.Prettify(s)
 30018  }
 30019  
 30020  // GoString returns the string representation.
 30021  //
 30022  // API parameter values that are decorated as "sensitive" in the API will not
 30023  // be included in the string output. The member name will be present, but the
 30024  // value will be replaced with "sensitive".
 30025  func (s UntagResourceInput) GoString() string {
 30026  	return s.String()
 30027  }
 30028  
 30029  // Validate inspects the fields of the type to determine if they are valid.
 30030  func (s *UntagResourceInput) Validate() error {
 30031  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 30032  	if s.ResourceArn == nil {
 30033  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 30034  	}
 30035  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 30036  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 30037  	}
 30038  	if s.TagKeys == nil {
 30039  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 30040  	}
 30041  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 30042  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 30043  	}
 30044  
 30045  	if invalidParams.Len() > 0 {
 30046  		return invalidParams
 30047  	}
 30048  	return nil
 30049  }
 30050  
 30051  // SetResourceArn sets the ResourceArn field's value.
 30052  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 30053  	s.ResourceArn = &v
 30054  	return s
 30055  }
 30056  
 30057  // SetTagKeys sets the TagKeys field's value.
 30058  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 30059  	s.TagKeys = v
 30060  	return s
 30061  }
 30062  
 30063  type UntagResourceOutput struct {
 30064  	_ struct{} `type:"structure"`
 30065  }
 30066  
 30067  // String returns the string representation.
 30068  //
 30069  // API parameter values that are decorated as "sensitive" in the API will not
 30070  // be included in the string output. The member name will be present, but the
 30071  // value will be replaced with "sensitive".
 30072  func (s UntagResourceOutput) String() string {
 30073  	return awsutil.Prettify(s)
 30074  }
 30075  
 30076  // GoString returns the string representation.
 30077  //
 30078  // API parameter values that are decorated as "sensitive" in the API will not
 30079  // be included in the string output. The member name will be present, but the
 30080  // value will be replaced with "sensitive".
 30081  func (s UntagResourceOutput) GoString() string {
 30082  	return s.String()
 30083  }
 30084  
 30085  // The requested action is not valid.
 30086  //
 30087  // For PutStoredQuery, you will see this exception if there are missing required
 30088  // fields or if the input value fails the validation, or if you are trying to
 30089  // create more than 300 queries.
 30090  //
 30091  // For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
 30092  // exception if there are missing required fields or if the input value fails
 30093  // the validation.
 30094  type ValidationException struct {
 30095  	_            struct{}                  `type:"structure"`
 30096  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 30097  
 30098  	Message_ *string `locationName:"message" type:"string"`
 30099  }
 30100  
 30101  // String returns the string representation.
 30102  //
 30103  // API parameter values that are decorated as "sensitive" in the API will not
 30104  // be included in the string output. The member name will be present, but the
 30105  // value will be replaced with "sensitive".
 30106  func (s ValidationException) String() string {
 30107  	return awsutil.Prettify(s)
 30108  }
 30109  
 30110  // GoString returns the string representation.
 30111  //
 30112  // API parameter values that are decorated as "sensitive" in the API will not
 30113  // be included in the string output. The member name will be present, but the
 30114  // value will be replaced with "sensitive".
 30115  func (s ValidationException) GoString() string {
 30116  	return s.String()
 30117  }
 30118  
 30119  func newErrorValidationException(v protocol.ResponseMetadata) error {
 30120  	return &ValidationException{
 30121  		RespMetadata: v,
 30122  	}
 30123  }
 30124  
 30125  // Code returns the exception type name.
 30126  func (s *ValidationException) Code() string {
 30127  	return "ValidationException"
 30128  }
 30129  
 30130  // Message returns the exception's message.
 30131  func (s *ValidationException) Message() string {
 30132  	if s.Message_ != nil {
 30133  		return *s.Message_
 30134  	}
 30135  	return ""
 30136  }
 30137  
 30138  // OrigErr always returns nil, satisfies awserr.Error interface.
 30139  func (s *ValidationException) OrigErr() error {
 30140  	return nil
 30141  }
 30142  
 30143  func (s *ValidationException) Error() string {
 30144  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 30145  }
 30146  
 30147  // Status code returns the HTTP status code for the request's response error.
 30148  func (s *ValidationException) StatusCode() int {
 30149  	return s.RespMetadata.StatusCode
 30150  }
 30151  
 30152  // RequestID returns the service's response RequestID for request.
 30153  func (s *ValidationException) RequestID() string {
 30154  	return s.RespMetadata.RequestID
 30155  }
 30156  
 30157  const (
 30158  	// AggregateConformancePackComplianceSummaryGroupKeyAccountId is a AggregateConformancePackComplianceSummaryGroupKey enum value
 30159  	AggregateConformancePackComplianceSummaryGroupKeyAccountId = "ACCOUNT_ID"
 30160  
 30161  	// AggregateConformancePackComplianceSummaryGroupKeyAwsRegion is a AggregateConformancePackComplianceSummaryGroupKey enum value
 30162  	AggregateConformancePackComplianceSummaryGroupKeyAwsRegion = "AWS_REGION"
 30163  )
 30164  
 30165  // AggregateConformancePackComplianceSummaryGroupKey_Values returns all elements of the AggregateConformancePackComplianceSummaryGroupKey enum
 30166  func AggregateConformancePackComplianceSummaryGroupKey_Values() []string {
 30167  	return []string{
 30168  		AggregateConformancePackComplianceSummaryGroupKeyAccountId,
 30169  		AggregateConformancePackComplianceSummaryGroupKeyAwsRegion,
 30170  	}
 30171  }
 30172  
 30173  const (
 30174  	// AggregatedSourceStatusTypeFailed is a AggregatedSourceStatusType enum value
 30175  	AggregatedSourceStatusTypeFailed = "FAILED"
 30176  
 30177  	// AggregatedSourceStatusTypeSucceeded is a AggregatedSourceStatusType enum value
 30178  	AggregatedSourceStatusTypeSucceeded = "SUCCEEDED"
 30179  
 30180  	// AggregatedSourceStatusTypeOutdated is a AggregatedSourceStatusType enum value
 30181  	AggregatedSourceStatusTypeOutdated = "OUTDATED"
 30182  )
 30183  
 30184  // AggregatedSourceStatusType_Values returns all elements of the AggregatedSourceStatusType enum
 30185  func AggregatedSourceStatusType_Values() []string {
 30186  	return []string{
 30187  		AggregatedSourceStatusTypeFailed,
 30188  		AggregatedSourceStatusTypeSucceeded,
 30189  		AggregatedSourceStatusTypeOutdated,
 30190  	}
 30191  }
 30192  
 30193  const (
 30194  	// AggregatedSourceTypeAccount is a AggregatedSourceType enum value
 30195  	AggregatedSourceTypeAccount = "ACCOUNT"
 30196  
 30197  	// AggregatedSourceTypeOrganization is a AggregatedSourceType enum value
 30198  	AggregatedSourceTypeOrganization = "ORGANIZATION"
 30199  )
 30200  
 30201  // AggregatedSourceType_Values returns all elements of the AggregatedSourceType enum
 30202  func AggregatedSourceType_Values() []string {
 30203  	return []string{
 30204  		AggregatedSourceTypeAccount,
 30205  		AggregatedSourceTypeOrganization,
 30206  	}
 30207  }
 30208  
 30209  const (
 30210  	// ChronologicalOrderReverse is a ChronologicalOrder enum value
 30211  	ChronologicalOrderReverse = "Reverse"
 30212  
 30213  	// ChronologicalOrderForward is a ChronologicalOrder enum value
 30214  	ChronologicalOrderForward = "Forward"
 30215  )
 30216  
 30217  // ChronologicalOrder_Values returns all elements of the ChronologicalOrder enum
 30218  func ChronologicalOrder_Values() []string {
 30219  	return []string{
 30220  		ChronologicalOrderReverse,
 30221  		ChronologicalOrderForward,
 30222  	}
 30223  }
 30224  
 30225  const (
 30226  	// ComplianceTypeCompliant is a ComplianceType enum value
 30227  	ComplianceTypeCompliant = "COMPLIANT"
 30228  
 30229  	// ComplianceTypeNonCompliant is a ComplianceType enum value
 30230  	ComplianceTypeNonCompliant = "NON_COMPLIANT"
 30231  
 30232  	// ComplianceTypeNotApplicable is a ComplianceType enum value
 30233  	ComplianceTypeNotApplicable = "NOT_APPLICABLE"
 30234  
 30235  	// ComplianceTypeInsufficientData is a ComplianceType enum value
 30236  	ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
 30237  )
 30238  
 30239  // ComplianceType_Values returns all elements of the ComplianceType enum
 30240  func ComplianceType_Values() []string {
 30241  	return []string{
 30242  		ComplianceTypeCompliant,
 30243  		ComplianceTypeNonCompliant,
 30244  		ComplianceTypeNotApplicable,
 30245  		ComplianceTypeInsufficientData,
 30246  	}
 30247  }
 30248  
 30249  const (
 30250  	// ConfigRuleComplianceSummaryGroupKeyAccountId is a ConfigRuleComplianceSummaryGroupKey enum value
 30251  	ConfigRuleComplianceSummaryGroupKeyAccountId = "ACCOUNT_ID"
 30252  
 30253  	// ConfigRuleComplianceSummaryGroupKeyAwsRegion is a ConfigRuleComplianceSummaryGroupKey enum value
 30254  	ConfigRuleComplianceSummaryGroupKeyAwsRegion = "AWS_REGION"
 30255  )
 30256  
 30257  // ConfigRuleComplianceSummaryGroupKey_Values returns all elements of the ConfigRuleComplianceSummaryGroupKey enum
 30258  func ConfigRuleComplianceSummaryGroupKey_Values() []string {
 30259  	return []string{
 30260  		ConfigRuleComplianceSummaryGroupKeyAccountId,
 30261  		ConfigRuleComplianceSummaryGroupKeyAwsRegion,
 30262  	}
 30263  }
 30264  
 30265  const (
 30266  	// ConfigRuleStateActive is a ConfigRuleState enum value
 30267  	ConfigRuleStateActive = "ACTIVE"
 30268  
 30269  	// ConfigRuleStateDeleting is a ConfigRuleState enum value
 30270  	ConfigRuleStateDeleting = "DELETING"
 30271  
 30272  	// ConfigRuleStateDeletingResults is a ConfigRuleState enum value
 30273  	ConfigRuleStateDeletingResults = "DELETING_RESULTS"
 30274  
 30275  	// ConfigRuleStateEvaluating is a ConfigRuleState enum value
 30276  	ConfigRuleStateEvaluating = "EVALUATING"
 30277  )
 30278  
 30279  // ConfigRuleState_Values returns all elements of the ConfigRuleState enum
 30280  func ConfigRuleState_Values() []string {
 30281  	return []string{
 30282  		ConfigRuleStateActive,
 30283  		ConfigRuleStateDeleting,
 30284  		ConfigRuleStateDeletingResults,
 30285  		ConfigRuleStateEvaluating,
 30286  	}
 30287  }
 30288  
 30289  const (
 30290  	// ConfigurationItemStatusOk is a ConfigurationItemStatus enum value
 30291  	ConfigurationItemStatusOk = "OK"
 30292  
 30293  	// ConfigurationItemStatusResourceDiscovered is a ConfigurationItemStatus enum value
 30294  	ConfigurationItemStatusResourceDiscovered = "ResourceDiscovered"
 30295  
 30296  	// ConfigurationItemStatusResourceNotRecorded is a ConfigurationItemStatus enum value
 30297  	ConfigurationItemStatusResourceNotRecorded = "ResourceNotRecorded"
 30298  
 30299  	// ConfigurationItemStatusResourceDeleted is a ConfigurationItemStatus enum value
 30300  	ConfigurationItemStatusResourceDeleted = "ResourceDeleted"
 30301  
 30302  	// ConfigurationItemStatusResourceDeletedNotRecorded is a ConfigurationItemStatus enum value
 30303  	ConfigurationItemStatusResourceDeletedNotRecorded = "ResourceDeletedNotRecorded"
 30304  )
 30305  
 30306  // ConfigurationItemStatus_Values returns all elements of the ConfigurationItemStatus enum
 30307  func ConfigurationItemStatus_Values() []string {
 30308  	return []string{
 30309  		ConfigurationItemStatusOk,
 30310  		ConfigurationItemStatusResourceDiscovered,
 30311  		ConfigurationItemStatusResourceNotRecorded,
 30312  		ConfigurationItemStatusResourceDeleted,
 30313  		ConfigurationItemStatusResourceDeletedNotRecorded,
 30314  	}
 30315  }
 30316  
 30317  const (
 30318  	// ConformancePackComplianceTypeCompliant is a ConformancePackComplianceType enum value
 30319  	ConformancePackComplianceTypeCompliant = "COMPLIANT"
 30320  
 30321  	// ConformancePackComplianceTypeNonCompliant is a ConformancePackComplianceType enum value
 30322  	ConformancePackComplianceTypeNonCompliant = "NON_COMPLIANT"
 30323  
 30324  	// ConformancePackComplianceTypeInsufficientData is a ConformancePackComplianceType enum value
 30325  	ConformancePackComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
 30326  )
 30327  
 30328  // ConformancePackComplianceType_Values returns all elements of the ConformancePackComplianceType enum
 30329  func ConformancePackComplianceType_Values() []string {
 30330  	return []string{
 30331  		ConformancePackComplianceTypeCompliant,
 30332  		ConformancePackComplianceTypeNonCompliant,
 30333  		ConformancePackComplianceTypeInsufficientData,
 30334  	}
 30335  }
 30336  
 30337  const (
 30338  	// ConformancePackStateCreateInProgress is a ConformancePackState enum value
 30339  	ConformancePackStateCreateInProgress = "CREATE_IN_PROGRESS"
 30340  
 30341  	// ConformancePackStateCreateComplete is a ConformancePackState enum value
 30342  	ConformancePackStateCreateComplete = "CREATE_COMPLETE"
 30343  
 30344  	// ConformancePackStateCreateFailed is a ConformancePackState enum value
 30345  	ConformancePackStateCreateFailed = "CREATE_FAILED"
 30346  
 30347  	// ConformancePackStateDeleteInProgress is a ConformancePackState enum value
 30348  	ConformancePackStateDeleteInProgress = "DELETE_IN_PROGRESS"
 30349  
 30350  	// ConformancePackStateDeleteFailed is a ConformancePackState enum value
 30351  	ConformancePackStateDeleteFailed = "DELETE_FAILED"
 30352  )
 30353  
 30354  // ConformancePackState_Values returns all elements of the ConformancePackState enum
 30355  func ConformancePackState_Values() []string {
 30356  	return []string{
 30357  		ConformancePackStateCreateInProgress,
 30358  		ConformancePackStateCreateComplete,
 30359  		ConformancePackStateCreateFailed,
 30360  		ConformancePackStateDeleteInProgress,
 30361  		ConformancePackStateDeleteFailed,
 30362  	}
 30363  }
 30364  
 30365  const (
 30366  	// DeliveryStatusSuccess is a DeliveryStatus enum value
 30367  	DeliveryStatusSuccess = "Success"
 30368  
 30369  	// DeliveryStatusFailure is a DeliveryStatus enum value
 30370  	DeliveryStatusFailure = "Failure"
 30371  
 30372  	// DeliveryStatusNotApplicable is a DeliveryStatus enum value
 30373  	DeliveryStatusNotApplicable = "Not_Applicable"
 30374  )
 30375  
 30376  // DeliveryStatus_Values returns all elements of the DeliveryStatus enum
 30377  func DeliveryStatus_Values() []string {
 30378  	return []string{
 30379  		DeliveryStatusSuccess,
 30380  		DeliveryStatusFailure,
 30381  		DeliveryStatusNotApplicable,
 30382  	}
 30383  }
 30384  
 30385  const (
 30386  	// EventSourceAwsConfig is a EventSource enum value
 30387  	EventSourceAwsConfig = "aws.config"
 30388  )
 30389  
 30390  // EventSource_Values returns all elements of the EventSource enum
 30391  func EventSource_Values() []string {
 30392  	return []string{
 30393  		EventSourceAwsConfig,
 30394  	}
 30395  }
 30396  
 30397  const (
 30398  	// MaximumExecutionFrequencyOneHour is a MaximumExecutionFrequency enum value
 30399  	MaximumExecutionFrequencyOneHour = "One_Hour"
 30400  
 30401  	// MaximumExecutionFrequencyThreeHours is a MaximumExecutionFrequency enum value
 30402  	MaximumExecutionFrequencyThreeHours = "Three_Hours"
 30403  
 30404  	// MaximumExecutionFrequencySixHours is a MaximumExecutionFrequency enum value
 30405  	MaximumExecutionFrequencySixHours = "Six_Hours"
 30406  
 30407  	// MaximumExecutionFrequencyTwelveHours is a MaximumExecutionFrequency enum value
 30408  	MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
 30409  
 30410  	// MaximumExecutionFrequencyTwentyFourHours is a MaximumExecutionFrequency enum value
 30411  	MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
 30412  )
 30413  
 30414  // MaximumExecutionFrequency_Values returns all elements of the MaximumExecutionFrequency enum
 30415  func MaximumExecutionFrequency_Values() []string {
 30416  	return []string{
 30417  		MaximumExecutionFrequencyOneHour,
 30418  		MaximumExecutionFrequencyThreeHours,
 30419  		MaximumExecutionFrequencySixHours,
 30420  		MaximumExecutionFrequencyTwelveHours,
 30421  		MaximumExecutionFrequencyTwentyFourHours,
 30422  	}
 30423  }
 30424  
 30425  const (
 30426  	// MemberAccountRuleStatusCreateSuccessful is a MemberAccountRuleStatus enum value
 30427  	MemberAccountRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
 30428  
 30429  	// MemberAccountRuleStatusCreateInProgress is a MemberAccountRuleStatus enum value
 30430  	MemberAccountRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
 30431  
 30432  	// MemberAccountRuleStatusCreateFailed is a MemberAccountRuleStatus enum value
 30433  	MemberAccountRuleStatusCreateFailed = "CREATE_FAILED"
 30434  
 30435  	// MemberAccountRuleStatusDeleteSuccessful is a MemberAccountRuleStatus enum value
 30436  	MemberAccountRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
 30437  
 30438  	// MemberAccountRuleStatusDeleteFailed is a MemberAccountRuleStatus enum value
 30439  	MemberAccountRuleStatusDeleteFailed = "DELETE_FAILED"
 30440  
 30441  	// MemberAccountRuleStatusDeleteInProgress is a MemberAccountRuleStatus enum value
 30442  	MemberAccountRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 30443  
 30444  	// MemberAccountRuleStatusUpdateSuccessful is a MemberAccountRuleStatus enum value
 30445  	MemberAccountRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
 30446  
 30447  	// MemberAccountRuleStatusUpdateInProgress is a MemberAccountRuleStatus enum value
 30448  	MemberAccountRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
 30449  
 30450  	// MemberAccountRuleStatusUpdateFailed is a MemberAccountRuleStatus enum value
 30451  	MemberAccountRuleStatusUpdateFailed = "UPDATE_FAILED"
 30452  )
 30453  
 30454  // MemberAccountRuleStatus_Values returns all elements of the MemberAccountRuleStatus enum
 30455  func MemberAccountRuleStatus_Values() []string {
 30456  	return []string{
 30457  		MemberAccountRuleStatusCreateSuccessful,
 30458  		MemberAccountRuleStatusCreateInProgress,
 30459  		MemberAccountRuleStatusCreateFailed,
 30460  		MemberAccountRuleStatusDeleteSuccessful,
 30461  		MemberAccountRuleStatusDeleteFailed,
 30462  		MemberAccountRuleStatusDeleteInProgress,
 30463  		MemberAccountRuleStatusUpdateSuccessful,
 30464  		MemberAccountRuleStatusUpdateInProgress,
 30465  		MemberAccountRuleStatusUpdateFailed,
 30466  	}
 30467  }
 30468  
 30469  const (
 30470  	// MessageTypeConfigurationItemChangeNotification is a MessageType enum value
 30471  	MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
 30472  
 30473  	// MessageTypeConfigurationSnapshotDeliveryCompleted is a MessageType enum value
 30474  	MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
 30475  
 30476  	// MessageTypeScheduledNotification is a MessageType enum value
 30477  	MessageTypeScheduledNotification = "ScheduledNotification"
 30478  
 30479  	// MessageTypeOversizedConfigurationItemChangeNotification is a MessageType enum value
 30480  	MessageTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
 30481  )
 30482  
 30483  // MessageType_Values returns all elements of the MessageType enum
 30484  func MessageType_Values() []string {
 30485  	return []string{
 30486  		MessageTypeConfigurationItemChangeNotification,
 30487  		MessageTypeConfigurationSnapshotDeliveryCompleted,
 30488  		MessageTypeScheduledNotification,
 30489  		MessageTypeOversizedConfigurationItemChangeNotification,
 30490  	}
 30491  }
 30492  
 30493  const (
 30494  	// OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
 30495  	OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
 30496  
 30497  	// OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
 30498  	OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
 30499  
 30500  	// OrganizationConfigRuleTriggerTypeScheduledNotification is a OrganizationConfigRuleTriggerType enum value
 30501  	OrganizationConfigRuleTriggerTypeScheduledNotification = "ScheduledNotification"
 30502  )
 30503  
 30504  // OrganizationConfigRuleTriggerType_Values returns all elements of the OrganizationConfigRuleTriggerType enum
 30505  func OrganizationConfigRuleTriggerType_Values() []string {
 30506  	return []string{
 30507  		OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification,
 30508  		OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification,
 30509  		OrganizationConfigRuleTriggerTypeScheduledNotification,
 30510  	}
 30511  }
 30512  
 30513  const (
 30514  	// OrganizationResourceDetailedStatusCreateSuccessful is a OrganizationResourceDetailedStatus enum value
 30515  	OrganizationResourceDetailedStatusCreateSuccessful = "CREATE_SUCCESSFUL"
 30516  
 30517  	// OrganizationResourceDetailedStatusCreateInProgress is a OrganizationResourceDetailedStatus enum value
 30518  	OrganizationResourceDetailedStatusCreateInProgress = "CREATE_IN_PROGRESS"
 30519  
 30520  	// OrganizationResourceDetailedStatusCreateFailed is a OrganizationResourceDetailedStatus enum value
 30521  	OrganizationResourceDetailedStatusCreateFailed = "CREATE_FAILED"
 30522  
 30523  	// OrganizationResourceDetailedStatusDeleteSuccessful is a OrganizationResourceDetailedStatus enum value
 30524  	OrganizationResourceDetailedStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
 30525  
 30526  	// OrganizationResourceDetailedStatusDeleteFailed is a OrganizationResourceDetailedStatus enum value
 30527  	OrganizationResourceDetailedStatusDeleteFailed = "DELETE_FAILED"
 30528  
 30529  	// OrganizationResourceDetailedStatusDeleteInProgress is a OrganizationResourceDetailedStatus enum value
 30530  	OrganizationResourceDetailedStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 30531  
 30532  	// OrganizationResourceDetailedStatusUpdateSuccessful is a OrganizationResourceDetailedStatus enum value
 30533  	OrganizationResourceDetailedStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
 30534  
 30535  	// OrganizationResourceDetailedStatusUpdateInProgress is a OrganizationResourceDetailedStatus enum value
 30536  	OrganizationResourceDetailedStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
 30537  
 30538  	// OrganizationResourceDetailedStatusUpdateFailed is a OrganizationResourceDetailedStatus enum value
 30539  	OrganizationResourceDetailedStatusUpdateFailed = "UPDATE_FAILED"
 30540  )
 30541  
 30542  // OrganizationResourceDetailedStatus_Values returns all elements of the OrganizationResourceDetailedStatus enum
 30543  func OrganizationResourceDetailedStatus_Values() []string {
 30544  	return []string{
 30545  		OrganizationResourceDetailedStatusCreateSuccessful,
 30546  		OrganizationResourceDetailedStatusCreateInProgress,
 30547  		OrganizationResourceDetailedStatusCreateFailed,
 30548  		OrganizationResourceDetailedStatusDeleteSuccessful,
 30549  		OrganizationResourceDetailedStatusDeleteFailed,
 30550  		OrganizationResourceDetailedStatusDeleteInProgress,
 30551  		OrganizationResourceDetailedStatusUpdateSuccessful,
 30552  		OrganizationResourceDetailedStatusUpdateInProgress,
 30553  		OrganizationResourceDetailedStatusUpdateFailed,
 30554  	}
 30555  }
 30556  
 30557  const (
 30558  	// OrganizationResourceStatusCreateSuccessful is a OrganizationResourceStatus enum value
 30559  	OrganizationResourceStatusCreateSuccessful = "CREATE_SUCCESSFUL"
 30560  
 30561  	// OrganizationResourceStatusCreateInProgress is a OrganizationResourceStatus enum value
 30562  	OrganizationResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
 30563  
 30564  	// OrganizationResourceStatusCreateFailed is a OrganizationResourceStatus enum value
 30565  	OrganizationResourceStatusCreateFailed = "CREATE_FAILED"
 30566  
 30567  	// OrganizationResourceStatusDeleteSuccessful is a OrganizationResourceStatus enum value
 30568  	OrganizationResourceStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
 30569  
 30570  	// OrganizationResourceStatusDeleteFailed is a OrganizationResourceStatus enum value
 30571  	OrganizationResourceStatusDeleteFailed = "DELETE_FAILED"
 30572  
 30573  	// OrganizationResourceStatusDeleteInProgress is a OrganizationResourceStatus enum value
 30574  	OrganizationResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 30575  
 30576  	// OrganizationResourceStatusUpdateSuccessful is a OrganizationResourceStatus enum value
 30577  	OrganizationResourceStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
 30578  
 30579  	// OrganizationResourceStatusUpdateInProgress is a OrganizationResourceStatus enum value
 30580  	OrganizationResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
 30581  
 30582  	// OrganizationResourceStatusUpdateFailed is a OrganizationResourceStatus enum value
 30583  	OrganizationResourceStatusUpdateFailed = "UPDATE_FAILED"
 30584  )
 30585  
 30586  // OrganizationResourceStatus_Values returns all elements of the OrganizationResourceStatus enum
 30587  func OrganizationResourceStatus_Values() []string {
 30588  	return []string{
 30589  		OrganizationResourceStatusCreateSuccessful,
 30590  		OrganizationResourceStatusCreateInProgress,
 30591  		OrganizationResourceStatusCreateFailed,
 30592  		OrganizationResourceStatusDeleteSuccessful,
 30593  		OrganizationResourceStatusDeleteFailed,
 30594  		OrganizationResourceStatusDeleteInProgress,
 30595  		OrganizationResourceStatusUpdateSuccessful,
 30596  		OrganizationResourceStatusUpdateInProgress,
 30597  		OrganizationResourceStatusUpdateFailed,
 30598  	}
 30599  }
 30600  
 30601  const (
 30602  	// OrganizationRuleStatusCreateSuccessful is a OrganizationRuleStatus enum value
 30603  	OrganizationRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
 30604  
 30605  	// OrganizationRuleStatusCreateInProgress is a OrganizationRuleStatus enum value
 30606  	OrganizationRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
 30607  
 30608  	// OrganizationRuleStatusCreateFailed is a OrganizationRuleStatus enum value
 30609  	OrganizationRuleStatusCreateFailed = "CREATE_FAILED"
 30610  
 30611  	// OrganizationRuleStatusDeleteSuccessful is a OrganizationRuleStatus enum value
 30612  	OrganizationRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
 30613  
 30614  	// OrganizationRuleStatusDeleteFailed is a OrganizationRuleStatus enum value
 30615  	OrganizationRuleStatusDeleteFailed = "DELETE_FAILED"
 30616  
 30617  	// OrganizationRuleStatusDeleteInProgress is a OrganizationRuleStatus enum value
 30618  	OrganizationRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 30619  
 30620  	// OrganizationRuleStatusUpdateSuccessful is a OrganizationRuleStatus enum value
 30621  	OrganizationRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
 30622  
 30623  	// OrganizationRuleStatusUpdateInProgress is a OrganizationRuleStatus enum value
 30624  	OrganizationRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
 30625  
 30626  	// OrganizationRuleStatusUpdateFailed is a OrganizationRuleStatus enum value
 30627  	OrganizationRuleStatusUpdateFailed = "UPDATE_FAILED"
 30628  )
 30629  
 30630  // OrganizationRuleStatus_Values returns all elements of the OrganizationRuleStatus enum
 30631  func OrganizationRuleStatus_Values() []string {
 30632  	return []string{
 30633  		OrganizationRuleStatusCreateSuccessful,
 30634  		OrganizationRuleStatusCreateInProgress,
 30635  		OrganizationRuleStatusCreateFailed,
 30636  		OrganizationRuleStatusDeleteSuccessful,
 30637  		OrganizationRuleStatusDeleteFailed,
 30638  		OrganizationRuleStatusDeleteInProgress,
 30639  		OrganizationRuleStatusUpdateSuccessful,
 30640  		OrganizationRuleStatusUpdateInProgress,
 30641  		OrganizationRuleStatusUpdateFailed,
 30642  	}
 30643  }
 30644  
 30645  const (
 30646  	// OwnerCustomLambda is a Owner enum value
 30647  	OwnerCustomLambda = "CUSTOM_LAMBDA"
 30648  
 30649  	// OwnerAws is a Owner enum value
 30650  	OwnerAws = "AWS"
 30651  )
 30652  
 30653  // Owner_Values returns all elements of the Owner enum
 30654  func Owner_Values() []string {
 30655  	return []string{
 30656  		OwnerCustomLambda,
 30657  		OwnerAws,
 30658  	}
 30659  }
 30660  
 30661  const (
 30662  	// RecorderStatusPending is a RecorderStatus enum value
 30663  	RecorderStatusPending = "Pending"
 30664  
 30665  	// RecorderStatusSuccess is a RecorderStatus enum value
 30666  	RecorderStatusSuccess = "Success"
 30667  
 30668  	// RecorderStatusFailure is a RecorderStatus enum value
 30669  	RecorderStatusFailure = "Failure"
 30670  )
 30671  
 30672  // RecorderStatus_Values returns all elements of the RecorderStatus enum
 30673  func RecorderStatus_Values() []string {
 30674  	return []string{
 30675  		RecorderStatusPending,
 30676  		RecorderStatusSuccess,
 30677  		RecorderStatusFailure,
 30678  	}
 30679  }
 30680  
 30681  const (
 30682  	// RemediationExecutionStateQueued is a RemediationExecutionState enum value
 30683  	RemediationExecutionStateQueued = "QUEUED"
 30684  
 30685  	// RemediationExecutionStateInProgress is a RemediationExecutionState enum value
 30686  	RemediationExecutionStateInProgress = "IN_PROGRESS"
 30687  
 30688  	// RemediationExecutionStateSucceeded is a RemediationExecutionState enum value
 30689  	RemediationExecutionStateSucceeded = "SUCCEEDED"
 30690  
 30691  	// RemediationExecutionStateFailed is a RemediationExecutionState enum value
 30692  	RemediationExecutionStateFailed = "FAILED"
 30693  )
 30694  
 30695  // RemediationExecutionState_Values returns all elements of the RemediationExecutionState enum
 30696  func RemediationExecutionState_Values() []string {
 30697  	return []string{
 30698  		RemediationExecutionStateQueued,
 30699  		RemediationExecutionStateInProgress,
 30700  		RemediationExecutionStateSucceeded,
 30701  		RemediationExecutionStateFailed,
 30702  	}
 30703  }
 30704  
 30705  const (
 30706  	// RemediationExecutionStepStateSucceeded is a RemediationExecutionStepState enum value
 30707  	RemediationExecutionStepStateSucceeded = "SUCCEEDED"
 30708  
 30709  	// RemediationExecutionStepStatePending is a RemediationExecutionStepState enum value
 30710  	RemediationExecutionStepStatePending = "PENDING"
 30711  
 30712  	// RemediationExecutionStepStateFailed is a RemediationExecutionStepState enum value
 30713  	RemediationExecutionStepStateFailed = "FAILED"
 30714  )
 30715  
 30716  // RemediationExecutionStepState_Values returns all elements of the RemediationExecutionStepState enum
 30717  func RemediationExecutionStepState_Values() []string {
 30718  	return []string{
 30719  		RemediationExecutionStepStateSucceeded,
 30720  		RemediationExecutionStepStatePending,
 30721  		RemediationExecutionStepStateFailed,
 30722  	}
 30723  }
 30724  
 30725  const (
 30726  	// RemediationTargetTypeSsmDocument is a RemediationTargetType enum value
 30727  	RemediationTargetTypeSsmDocument = "SSM_DOCUMENT"
 30728  )
 30729  
 30730  // RemediationTargetType_Values returns all elements of the RemediationTargetType enum
 30731  func RemediationTargetType_Values() []string {
 30732  	return []string{
 30733  		RemediationTargetTypeSsmDocument,
 30734  	}
 30735  }
 30736  
 30737  const (
 30738  	// ResourceCountGroupKeyResourceType is a ResourceCountGroupKey enum value
 30739  	ResourceCountGroupKeyResourceType = "RESOURCE_TYPE"
 30740  
 30741  	// ResourceCountGroupKeyAccountId is a ResourceCountGroupKey enum value
 30742  	ResourceCountGroupKeyAccountId = "ACCOUNT_ID"
 30743  
 30744  	// ResourceCountGroupKeyAwsRegion is a ResourceCountGroupKey enum value
 30745  	ResourceCountGroupKeyAwsRegion = "AWS_REGION"
 30746  )
 30747  
 30748  // ResourceCountGroupKey_Values returns all elements of the ResourceCountGroupKey enum
 30749  func ResourceCountGroupKey_Values() []string {
 30750  	return []string{
 30751  		ResourceCountGroupKeyResourceType,
 30752  		ResourceCountGroupKeyAccountId,
 30753  		ResourceCountGroupKeyAwsRegion,
 30754  	}
 30755  }
 30756  
 30757  const (
 30758  	// ResourceTypeAwsEc2CustomerGateway is a ResourceType enum value
 30759  	ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
 30760  
 30761  	// ResourceTypeAwsEc2Eip is a ResourceType enum value
 30762  	ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
 30763  
 30764  	// ResourceTypeAwsEc2Host is a ResourceType enum value
 30765  	ResourceTypeAwsEc2Host = "AWS::EC2::Host"
 30766  
 30767  	// ResourceTypeAwsEc2Instance is a ResourceType enum value
 30768  	ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
 30769  
 30770  	// ResourceTypeAwsEc2InternetGateway is a ResourceType enum value
 30771  	ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
 30772  
 30773  	// ResourceTypeAwsEc2NetworkAcl is a ResourceType enum value
 30774  	ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
 30775  
 30776  	// ResourceTypeAwsEc2NetworkInterface is a ResourceType enum value
 30777  	ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
 30778  
 30779  	// ResourceTypeAwsEc2RouteTable is a ResourceType enum value
 30780  	ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
 30781  
 30782  	// ResourceTypeAwsEc2SecurityGroup is a ResourceType enum value
 30783  	ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
 30784  
 30785  	// ResourceTypeAwsEc2Subnet is a ResourceType enum value
 30786  	ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
 30787  
 30788  	// ResourceTypeAwsCloudTrailTrail is a ResourceType enum value
 30789  	ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
 30790  
 30791  	// ResourceTypeAwsEc2Volume is a ResourceType enum value
 30792  	ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
 30793  
 30794  	// ResourceTypeAwsEc2Vpc is a ResourceType enum value
 30795  	ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
 30796  
 30797  	// ResourceTypeAwsEc2Vpnconnection is a ResourceType enum value
 30798  	ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
 30799  
 30800  	// ResourceTypeAwsEc2Vpngateway is a ResourceType enum value
 30801  	ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
 30802  
 30803  	// ResourceTypeAwsEc2RegisteredHainstance is a ResourceType enum value
 30804  	ResourceTypeAwsEc2RegisteredHainstance = "AWS::EC2::RegisteredHAInstance"
 30805  
 30806  	// ResourceTypeAwsEc2NatGateway is a ResourceType enum value
 30807  	ResourceTypeAwsEc2NatGateway = "AWS::EC2::NatGateway"
 30808  
 30809  	// ResourceTypeAwsEc2EgressOnlyInternetGateway is a ResourceType enum value
 30810  	ResourceTypeAwsEc2EgressOnlyInternetGateway = "AWS::EC2::EgressOnlyInternetGateway"
 30811  
 30812  	// ResourceTypeAwsEc2Vpcendpoint is a ResourceType enum value
 30813  	ResourceTypeAwsEc2Vpcendpoint = "AWS::EC2::VPCEndpoint"
 30814  
 30815  	// ResourceTypeAwsEc2VpcendpointService is a ResourceType enum value
 30816  	ResourceTypeAwsEc2VpcendpointService = "AWS::EC2::VPCEndpointService"
 30817  
 30818  	// ResourceTypeAwsEc2FlowLog is a ResourceType enum value
 30819  	ResourceTypeAwsEc2FlowLog = "AWS::EC2::FlowLog"
 30820  
 30821  	// ResourceTypeAwsEc2VpcpeeringConnection is a ResourceType enum value
 30822  	ResourceTypeAwsEc2VpcpeeringConnection = "AWS::EC2::VPCPeeringConnection"
 30823  
 30824  	// ResourceTypeAwsElasticsearchDomain is a ResourceType enum value
 30825  	ResourceTypeAwsElasticsearchDomain = "AWS::Elasticsearch::Domain"
 30826  
 30827  	// ResourceTypeAwsIamGroup is a ResourceType enum value
 30828  	ResourceTypeAwsIamGroup = "AWS::IAM::Group"
 30829  
 30830  	// ResourceTypeAwsIamPolicy is a ResourceType enum value
 30831  	ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
 30832  
 30833  	// ResourceTypeAwsIamRole is a ResourceType enum value
 30834  	ResourceTypeAwsIamRole = "AWS::IAM::Role"
 30835  
 30836  	// ResourceTypeAwsIamUser is a ResourceType enum value
 30837  	ResourceTypeAwsIamUser = "AWS::IAM::User"
 30838  
 30839  	// ResourceTypeAwsElasticLoadBalancingV2LoadBalancer is a ResourceType enum value
 30840  	ResourceTypeAwsElasticLoadBalancingV2LoadBalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer"
 30841  
 30842  	// ResourceTypeAwsAcmCertificate is a ResourceType enum value
 30843  	ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
 30844  
 30845  	// ResourceTypeAwsRdsDbinstance is a ResourceType enum value
 30846  	ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
 30847  
 30848  	// ResourceTypeAwsRdsDbsubnetGroup is a ResourceType enum value
 30849  	ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
 30850  
 30851  	// ResourceTypeAwsRdsDbsecurityGroup is a ResourceType enum value
 30852  	ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
 30853  
 30854  	// ResourceTypeAwsRdsDbsnapshot is a ResourceType enum value
 30855  	ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
 30856  
 30857  	// ResourceTypeAwsRdsDbcluster is a ResourceType enum value
 30858  	ResourceTypeAwsRdsDbcluster = "AWS::RDS::DBCluster"
 30859  
 30860  	// ResourceTypeAwsRdsDbclusterSnapshot is a ResourceType enum value
 30861  	ResourceTypeAwsRdsDbclusterSnapshot = "AWS::RDS::DBClusterSnapshot"
 30862  
 30863  	// ResourceTypeAwsRdsEventSubscription is a ResourceType enum value
 30864  	ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
 30865  
 30866  	// ResourceTypeAwsS3Bucket is a ResourceType enum value
 30867  	ResourceTypeAwsS3Bucket = "AWS::S3::Bucket"
 30868  
 30869  	// ResourceTypeAwsS3AccountPublicAccessBlock is a ResourceType enum value
 30870  	ResourceTypeAwsS3AccountPublicAccessBlock = "AWS::S3::AccountPublicAccessBlock"
 30871  
 30872  	// ResourceTypeAwsRedshiftCluster is a ResourceType enum value
 30873  	ResourceTypeAwsRedshiftCluster = "AWS::Redshift::Cluster"
 30874  
 30875  	// ResourceTypeAwsRedshiftClusterSnapshot is a ResourceType enum value
 30876  	ResourceTypeAwsRedshiftClusterSnapshot = "AWS::Redshift::ClusterSnapshot"
 30877  
 30878  	// ResourceTypeAwsRedshiftClusterParameterGroup is a ResourceType enum value
 30879  	ResourceTypeAwsRedshiftClusterParameterGroup = "AWS::Redshift::ClusterParameterGroup"
 30880  
 30881  	// ResourceTypeAwsRedshiftClusterSecurityGroup is a ResourceType enum value
 30882  	ResourceTypeAwsRedshiftClusterSecurityGroup = "AWS::Redshift::ClusterSecurityGroup"
 30883  
 30884  	// ResourceTypeAwsRedshiftClusterSubnetGroup is a ResourceType enum value
 30885  	ResourceTypeAwsRedshiftClusterSubnetGroup = "AWS::Redshift::ClusterSubnetGroup"
 30886  
 30887  	// ResourceTypeAwsRedshiftEventSubscription is a ResourceType enum value
 30888  	ResourceTypeAwsRedshiftEventSubscription = "AWS::Redshift::EventSubscription"
 30889  
 30890  	// ResourceTypeAwsSsmManagedInstanceInventory is a ResourceType enum value
 30891  	ResourceTypeAwsSsmManagedInstanceInventory = "AWS::SSM::ManagedInstanceInventory"
 30892  
 30893  	// ResourceTypeAwsCloudWatchAlarm is a ResourceType enum value
 30894  	ResourceTypeAwsCloudWatchAlarm = "AWS::CloudWatch::Alarm"
 30895  
 30896  	// ResourceTypeAwsCloudFormationStack is a ResourceType enum value
 30897  	ResourceTypeAwsCloudFormationStack = "AWS::CloudFormation::Stack"
 30898  
 30899  	// ResourceTypeAwsElasticLoadBalancingLoadBalancer is a ResourceType enum value
 30900  	ResourceTypeAwsElasticLoadBalancingLoadBalancer = "AWS::ElasticLoadBalancing::LoadBalancer"
 30901  
 30902  	// ResourceTypeAwsAutoScalingAutoScalingGroup is a ResourceType enum value
 30903  	ResourceTypeAwsAutoScalingAutoScalingGroup = "AWS::AutoScaling::AutoScalingGroup"
 30904  
 30905  	// ResourceTypeAwsAutoScalingLaunchConfiguration is a ResourceType enum value
 30906  	ResourceTypeAwsAutoScalingLaunchConfiguration = "AWS::AutoScaling::LaunchConfiguration"
 30907  
 30908  	// ResourceTypeAwsAutoScalingScalingPolicy is a ResourceType enum value
 30909  	ResourceTypeAwsAutoScalingScalingPolicy = "AWS::AutoScaling::ScalingPolicy"
 30910  
 30911  	// ResourceTypeAwsAutoScalingScheduledAction is a ResourceType enum value
 30912  	ResourceTypeAwsAutoScalingScheduledAction = "AWS::AutoScaling::ScheduledAction"
 30913  
 30914  	// ResourceTypeAwsDynamoDbTable is a ResourceType enum value
 30915  	ResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table"
 30916  
 30917  	// ResourceTypeAwsCodeBuildProject is a ResourceType enum value
 30918  	ResourceTypeAwsCodeBuildProject = "AWS::CodeBuild::Project"
 30919  
 30920  	// ResourceTypeAwsWafRateBasedRule is a ResourceType enum value
 30921  	ResourceTypeAwsWafRateBasedRule = "AWS::WAF::RateBasedRule"
 30922  
 30923  	// ResourceTypeAwsWafRule is a ResourceType enum value
 30924  	ResourceTypeAwsWafRule = "AWS::WAF::Rule"
 30925  
 30926  	// ResourceTypeAwsWafRuleGroup is a ResourceType enum value
 30927  	ResourceTypeAwsWafRuleGroup = "AWS::WAF::RuleGroup"
 30928  
 30929  	// ResourceTypeAwsWafWebAcl is a ResourceType enum value
 30930  	ResourceTypeAwsWafWebAcl = "AWS::WAF::WebACL"
 30931  
 30932  	// ResourceTypeAwsWafregionalRateBasedRule is a ResourceType enum value
 30933  	ResourceTypeAwsWafregionalRateBasedRule = "AWS::WAFRegional::RateBasedRule"
 30934  
 30935  	// ResourceTypeAwsWafregionalRule is a ResourceType enum value
 30936  	ResourceTypeAwsWafregionalRule = "AWS::WAFRegional::Rule"
 30937  
 30938  	// ResourceTypeAwsWafregionalRuleGroup is a ResourceType enum value
 30939  	ResourceTypeAwsWafregionalRuleGroup = "AWS::WAFRegional::RuleGroup"
 30940  
 30941  	// ResourceTypeAwsWafregionalWebAcl is a ResourceType enum value
 30942  	ResourceTypeAwsWafregionalWebAcl = "AWS::WAFRegional::WebACL"
 30943  
 30944  	// ResourceTypeAwsCloudFrontDistribution is a ResourceType enum value
 30945  	ResourceTypeAwsCloudFrontDistribution = "AWS::CloudFront::Distribution"
 30946  
 30947  	// ResourceTypeAwsCloudFrontStreamingDistribution is a ResourceType enum value
 30948  	ResourceTypeAwsCloudFrontStreamingDistribution = "AWS::CloudFront::StreamingDistribution"
 30949  
 30950  	// ResourceTypeAwsLambdaFunction is a ResourceType enum value
 30951  	ResourceTypeAwsLambdaFunction = "AWS::Lambda::Function"
 30952  
 30953  	// ResourceTypeAwsNetworkFirewallFirewall is a ResourceType enum value
 30954  	ResourceTypeAwsNetworkFirewallFirewall = "AWS::NetworkFirewall::Firewall"
 30955  
 30956  	// ResourceTypeAwsNetworkFirewallFirewallPolicy is a ResourceType enum value
 30957  	ResourceTypeAwsNetworkFirewallFirewallPolicy = "AWS::NetworkFirewall::FirewallPolicy"
 30958  
 30959  	// ResourceTypeAwsNetworkFirewallRuleGroup is a ResourceType enum value
 30960  	ResourceTypeAwsNetworkFirewallRuleGroup = "AWS::NetworkFirewall::RuleGroup"
 30961  
 30962  	// ResourceTypeAwsElasticBeanstalkApplication is a ResourceType enum value
 30963  	ResourceTypeAwsElasticBeanstalkApplication = "AWS::ElasticBeanstalk::Application"
 30964  
 30965  	// ResourceTypeAwsElasticBeanstalkApplicationVersion is a ResourceType enum value
 30966  	ResourceTypeAwsElasticBeanstalkApplicationVersion = "AWS::ElasticBeanstalk::ApplicationVersion"
 30967  
 30968  	// ResourceTypeAwsElasticBeanstalkEnvironment is a ResourceType enum value
 30969  	ResourceTypeAwsElasticBeanstalkEnvironment = "AWS::ElasticBeanstalk::Environment"
 30970  
 30971  	// ResourceTypeAwsWafv2WebAcl is a ResourceType enum value
 30972  	ResourceTypeAwsWafv2WebAcl = "AWS::WAFv2::WebACL"
 30973  
 30974  	// ResourceTypeAwsWafv2RuleGroup is a ResourceType enum value
 30975  	ResourceTypeAwsWafv2RuleGroup = "AWS::WAFv2::RuleGroup"
 30976  
 30977  	// ResourceTypeAwsWafv2Ipset is a ResourceType enum value
 30978  	ResourceTypeAwsWafv2Ipset = "AWS::WAFv2::IPSet"
 30979  
 30980  	// ResourceTypeAwsWafv2RegexPatternSet is a ResourceType enum value
 30981  	ResourceTypeAwsWafv2RegexPatternSet = "AWS::WAFv2::RegexPatternSet"
 30982  
 30983  	// ResourceTypeAwsWafv2ManagedRuleSet is a ResourceType enum value
 30984  	ResourceTypeAwsWafv2ManagedRuleSet = "AWS::WAFv2::ManagedRuleSet"
 30985  
 30986  	// ResourceTypeAwsXrayEncryptionConfig is a ResourceType enum value
 30987  	ResourceTypeAwsXrayEncryptionConfig = "AWS::XRay::EncryptionConfig"
 30988  
 30989  	// ResourceTypeAwsSsmAssociationCompliance is a ResourceType enum value
 30990  	ResourceTypeAwsSsmAssociationCompliance = "AWS::SSM::AssociationCompliance"
 30991  
 30992  	// ResourceTypeAwsSsmPatchCompliance is a ResourceType enum value
 30993  	ResourceTypeAwsSsmPatchCompliance = "AWS::SSM::PatchCompliance"
 30994  
 30995  	// ResourceTypeAwsShieldProtection is a ResourceType enum value
 30996  	ResourceTypeAwsShieldProtection = "AWS::Shield::Protection"
 30997  
 30998  	// ResourceTypeAwsShieldRegionalProtection is a ResourceType enum value
 30999  	ResourceTypeAwsShieldRegionalProtection = "AWS::ShieldRegional::Protection"
 31000  
 31001  	// ResourceTypeAwsConfigConformancePackCompliance is a ResourceType enum value
 31002  	ResourceTypeAwsConfigConformancePackCompliance = "AWS::Config::ConformancePackCompliance"
 31003  
 31004  	// ResourceTypeAwsConfigResourceCompliance is a ResourceType enum value
 31005  	ResourceTypeAwsConfigResourceCompliance = "AWS::Config::ResourceCompliance"
 31006  
 31007  	// ResourceTypeAwsApiGatewayStage is a ResourceType enum value
 31008  	ResourceTypeAwsApiGatewayStage = "AWS::ApiGateway::Stage"
 31009  
 31010  	// ResourceTypeAwsApiGatewayRestApi is a ResourceType enum value
 31011  	ResourceTypeAwsApiGatewayRestApi = "AWS::ApiGateway::RestApi"
 31012  
 31013  	// ResourceTypeAwsApiGatewayV2Stage is a ResourceType enum value
 31014  	ResourceTypeAwsApiGatewayV2Stage = "AWS::ApiGatewayV2::Stage"
 31015  
 31016  	// ResourceTypeAwsApiGatewayV2Api is a ResourceType enum value
 31017  	ResourceTypeAwsApiGatewayV2Api = "AWS::ApiGatewayV2::Api"
 31018  
 31019  	// ResourceTypeAwsCodePipelinePipeline is a ResourceType enum value
 31020  	ResourceTypeAwsCodePipelinePipeline = "AWS::CodePipeline::Pipeline"
 31021  
 31022  	// ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct is a ResourceType enum value
 31023  	ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct = "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
 31024  
 31025  	// ResourceTypeAwsServiceCatalogCloudFormationProduct is a ResourceType enum value
 31026  	ResourceTypeAwsServiceCatalogCloudFormationProduct = "AWS::ServiceCatalog::CloudFormationProduct"
 31027  
 31028  	// ResourceTypeAwsServiceCatalogPortfolio is a ResourceType enum value
 31029  	ResourceTypeAwsServiceCatalogPortfolio = "AWS::ServiceCatalog::Portfolio"
 31030  
 31031  	// ResourceTypeAwsSqsQueue is a ResourceType enum value
 31032  	ResourceTypeAwsSqsQueue = "AWS::SQS::Queue"
 31033  
 31034  	// ResourceTypeAwsKmsKey is a ResourceType enum value
 31035  	ResourceTypeAwsKmsKey = "AWS::KMS::Key"
 31036  
 31037  	// ResourceTypeAwsQldbLedger is a ResourceType enum value
 31038  	ResourceTypeAwsQldbLedger = "AWS::QLDB::Ledger"
 31039  
 31040  	// ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value
 31041  	ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret"
 31042  
 31043  	// ResourceTypeAwsSnsTopic is a ResourceType enum value
 31044  	ResourceTypeAwsSnsTopic = "AWS::SNS::Topic"
 31045  
 31046  	// ResourceTypeAwsSsmFileData is a ResourceType enum value
 31047  	ResourceTypeAwsSsmFileData = "AWS::SSM::FileData"
 31048  
 31049  	// ResourceTypeAwsBackupBackupPlan is a ResourceType enum value
 31050  	ResourceTypeAwsBackupBackupPlan = "AWS::Backup::BackupPlan"
 31051  
 31052  	// ResourceTypeAwsBackupBackupSelection is a ResourceType enum value
 31053  	ResourceTypeAwsBackupBackupSelection = "AWS::Backup::BackupSelection"
 31054  
 31055  	// ResourceTypeAwsBackupBackupVault is a ResourceType enum value
 31056  	ResourceTypeAwsBackupBackupVault = "AWS::Backup::BackupVault"
 31057  
 31058  	// ResourceTypeAwsBackupRecoveryPoint is a ResourceType enum value
 31059  	ResourceTypeAwsBackupRecoveryPoint = "AWS::Backup::RecoveryPoint"
 31060  
 31061  	// ResourceTypeAwsEcrRepository is a ResourceType enum value
 31062  	ResourceTypeAwsEcrRepository = "AWS::ECR::Repository"
 31063  
 31064  	// ResourceTypeAwsEcsCluster is a ResourceType enum value
 31065  	ResourceTypeAwsEcsCluster = "AWS::ECS::Cluster"
 31066  
 31067  	// ResourceTypeAwsEcsService is a ResourceType enum value
 31068  	ResourceTypeAwsEcsService = "AWS::ECS::Service"
 31069  
 31070  	// ResourceTypeAwsEcsTaskDefinition is a ResourceType enum value
 31071  	ResourceTypeAwsEcsTaskDefinition = "AWS::ECS::TaskDefinition"
 31072  
 31073  	// ResourceTypeAwsEfsAccessPoint is a ResourceType enum value
 31074  	ResourceTypeAwsEfsAccessPoint = "AWS::EFS::AccessPoint"
 31075  
 31076  	// ResourceTypeAwsEfsFileSystem is a ResourceType enum value
 31077  	ResourceTypeAwsEfsFileSystem = "AWS::EFS::FileSystem"
 31078  
 31079  	// ResourceTypeAwsEksCluster is a ResourceType enum value
 31080  	ResourceTypeAwsEksCluster = "AWS::EKS::Cluster"
 31081  )
 31082  
 31083  // ResourceType_Values returns all elements of the ResourceType enum
 31084  func ResourceType_Values() []string {
 31085  	return []string{
 31086  		ResourceTypeAwsEc2CustomerGateway,
 31087  		ResourceTypeAwsEc2Eip,
 31088  		ResourceTypeAwsEc2Host,
 31089  		ResourceTypeAwsEc2Instance,
 31090  		ResourceTypeAwsEc2InternetGateway,
 31091  		ResourceTypeAwsEc2NetworkAcl,
 31092  		ResourceTypeAwsEc2NetworkInterface,
 31093  		ResourceTypeAwsEc2RouteTable,
 31094  		ResourceTypeAwsEc2SecurityGroup,
 31095  		ResourceTypeAwsEc2Subnet,
 31096  		ResourceTypeAwsCloudTrailTrail,
 31097  		ResourceTypeAwsEc2Volume,
 31098  		ResourceTypeAwsEc2Vpc,
 31099  		ResourceTypeAwsEc2Vpnconnection,
 31100  		ResourceTypeAwsEc2Vpngateway,
 31101  		ResourceTypeAwsEc2RegisteredHainstance,
 31102  		ResourceTypeAwsEc2NatGateway,
 31103  		ResourceTypeAwsEc2EgressOnlyInternetGateway,
 31104  		ResourceTypeAwsEc2Vpcendpoint,
 31105  		ResourceTypeAwsEc2VpcendpointService,
 31106  		ResourceTypeAwsEc2FlowLog,
 31107  		ResourceTypeAwsEc2VpcpeeringConnection,
 31108  		ResourceTypeAwsElasticsearchDomain,
 31109  		ResourceTypeAwsIamGroup,
 31110  		ResourceTypeAwsIamPolicy,
 31111  		ResourceTypeAwsIamRole,
 31112  		ResourceTypeAwsIamUser,
 31113  		ResourceTypeAwsElasticLoadBalancingV2LoadBalancer,
 31114  		ResourceTypeAwsAcmCertificate,
 31115  		ResourceTypeAwsRdsDbinstance,
 31116  		ResourceTypeAwsRdsDbsubnetGroup,
 31117  		ResourceTypeAwsRdsDbsecurityGroup,
 31118  		ResourceTypeAwsRdsDbsnapshot,
 31119  		ResourceTypeAwsRdsDbcluster,
 31120  		ResourceTypeAwsRdsDbclusterSnapshot,
 31121  		ResourceTypeAwsRdsEventSubscription,
 31122  		ResourceTypeAwsS3Bucket,
 31123  		ResourceTypeAwsS3AccountPublicAccessBlock,
 31124  		ResourceTypeAwsRedshiftCluster,
 31125  		ResourceTypeAwsRedshiftClusterSnapshot,
 31126  		ResourceTypeAwsRedshiftClusterParameterGroup,
 31127  		ResourceTypeAwsRedshiftClusterSecurityGroup,
 31128  		ResourceTypeAwsRedshiftClusterSubnetGroup,
 31129  		ResourceTypeAwsRedshiftEventSubscription,
 31130  		ResourceTypeAwsSsmManagedInstanceInventory,
 31131  		ResourceTypeAwsCloudWatchAlarm,
 31132  		ResourceTypeAwsCloudFormationStack,
 31133  		ResourceTypeAwsElasticLoadBalancingLoadBalancer,
 31134  		ResourceTypeAwsAutoScalingAutoScalingGroup,
 31135  		ResourceTypeAwsAutoScalingLaunchConfiguration,
 31136  		ResourceTypeAwsAutoScalingScalingPolicy,
 31137  		ResourceTypeAwsAutoScalingScheduledAction,
 31138  		ResourceTypeAwsDynamoDbTable,
 31139  		ResourceTypeAwsCodeBuildProject,
 31140  		ResourceTypeAwsWafRateBasedRule,
 31141  		ResourceTypeAwsWafRule,
 31142  		ResourceTypeAwsWafRuleGroup,
 31143  		ResourceTypeAwsWafWebAcl,
 31144  		ResourceTypeAwsWafregionalRateBasedRule,
 31145  		ResourceTypeAwsWafregionalRule,
 31146  		ResourceTypeAwsWafregionalRuleGroup,
 31147  		ResourceTypeAwsWafregionalWebAcl,
 31148  		ResourceTypeAwsCloudFrontDistribution,
 31149  		ResourceTypeAwsCloudFrontStreamingDistribution,
 31150  		ResourceTypeAwsLambdaFunction,
 31151  		ResourceTypeAwsNetworkFirewallFirewall,
 31152  		ResourceTypeAwsNetworkFirewallFirewallPolicy,
 31153  		ResourceTypeAwsNetworkFirewallRuleGroup,
 31154  		ResourceTypeAwsElasticBeanstalkApplication,
 31155  		ResourceTypeAwsElasticBeanstalkApplicationVersion,
 31156  		ResourceTypeAwsElasticBeanstalkEnvironment,
 31157  		ResourceTypeAwsWafv2WebAcl,
 31158  		ResourceTypeAwsWafv2RuleGroup,
 31159  		ResourceTypeAwsWafv2Ipset,
 31160  		ResourceTypeAwsWafv2RegexPatternSet,
 31161  		ResourceTypeAwsWafv2ManagedRuleSet,
 31162  		ResourceTypeAwsXrayEncryptionConfig,
 31163  		ResourceTypeAwsSsmAssociationCompliance,
 31164  		ResourceTypeAwsSsmPatchCompliance,
 31165  		ResourceTypeAwsShieldProtection,
 31166  		ResourceTypeAwsShieldRegionalProtection,
 31167  		ResourceTypeAwsConfigConformancePackCompliance,
 31168  		ResourceTypeAwsConfigResourceCompliance,
 31169  		ResourceTypeAwsApiGatewayStage,
 31170  		ResourceTypeAwsApiGatewayRestApi,
 31171  		ResourceTypeAwsApiGatewayV2Stage,
 31172  		ResourceTypeAwsApiGatewayV2Api,
 31173  		ResourceTypeAwsCodePipelinePipeline,
 31174  		ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct,
 31175  		ResourceTypeAwsServiceCatalogCloudFormationProduct,
 31176  		ResourceTypeAwsServiceCatalogPortfolio,
 31177  		ResourceTypeAwsSqsQueue,
 31178  		ResourceTypeAwsKmsKey,
 31179  		ResourceTypeAwsQldbLedger,
 31180  		ResourceTypeAwsSecretsManagerSecret,
 31181  		ResourceTypeAwsSnsTopic,
 31182  		ResourceTypeAwsSsmFileData,
 31183  		ResourceTypeAwsBackupBackupPlan,
 31184  		ResourceTypeAwsBackupBackupSelection,
 31185  		ResourceTypeAwsBackupBackupVault,
 31186  		ResourceTypeAwsBackupRecoveryPoint,
 31187  		ResourceTypeAwsEcrRepository,
 31188  		ResourceTypeAwsEcsCluster,
 31189  		ResourceTypeAwsEcsService,
 31190  		ResourceTypeAwsEcsTaskDefinition,
 31191  		ResourceTypeAwsEfsAccessPoint,
 31192  		ResourceTypeAwsEfsFileSystem,
 31193  		ResourceTypeAwsEksCluster,
 31194  	}
 31195  }
 31196  
 31197  const (
 31198  	// ResourceValueTypeResourceId is a ResourceValueType enum value
 31199  	ResourceValueTypeResourceId = "RESOURCE_ID"
 31200  )
 31201  
 31202  // ResourceValueType_Values returns all elements of the ResourceValueType enum
 31203  func ResourceValueType_Values() []string {
 31204  	return []string{
 31205  		ResourceValueTypeResourceId,
 31206  	}
 31207  }