1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package configservice
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const 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
42func (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 AWS Config aggregator. The operation also returns a list of resources
62// that are not processed in the current request. If there are no unprocessed
63// resources, the operation returns an empty unprocessedResourceIdentifiers
64// list.
65//
66//    * The API does not return results for deleted resources.
67//
68//    * The API does not return tags and relationships.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS Config's
75// API operation BatchGetAggregateResourceConfig for usage and error information.
76//
77// Returned Error Types:
78//   * ValidationException
79//   The requested action is not valid.
80//
81//   For PutStoredQuery, you will see this exception if there are missing required
82//   fields or if the input value fails the validation, or if you are trying to
83//   create more than 300 queries.
84//
85//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
86//   exception if there are missing required fields or if the input value fails
87//   the validation.
88//
89//   * NoSuchConfigurationAggregatorException
90//   You have specified a configuration aggregator that does not exist.
91//
92// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfig
93func (c *ConfigService) BatchGetAggregateResourceConfig(input *BatchGetAggregateResourceConfigInput) (*BatchGetAggregateResourceConfigOutput, error) {
94	req, out := c.BatchGetAggregateResourceConfigRequest(input)
95	return out, req.Send()
96}
97
98// BatchGetAggregateResourceConfigWithContext is the same as BatchGetAggregateResourceConfig with the addition of
99// the ability to pass a context and additional request options.
100//
101// See BatchGetAggregateResourceConfig for details on how to use this API operation.
102//
103// The context must be non-nil and will be used for request cancellation. If
104// the context is nil a panic will occur. In the future the SDK may create
105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
106// for more information on using Contexts.
107func (c *ConfigService) BatchGetAggregateResourceConfigWithContext(ctx aws.Context, input *BatchGetAggregateResourceConfigInput, opts ...request.Option) (*BatchGetAggregateResourceConfigOutput, error) {
108	req, out := c.BatchGetAggregateResourceConfigRequest(input)
109	req.SetContext(ctx)
110	req.ApplyOptions(opts...)
111	return out, req.Send()
112}
113
114const opBatchGetResourceConfig = "BatchGetResourceConfig"
115
116// BatchGetResourceConfigRequest generates a "aws/request.Request" representing the
117// client's request for the BatchGetResourceConfig operation. The "output" return
118// value will be populated with the request's response once the request completes
119// successfully.
120//
121// Use "Send" method on the returned Request to send the API call to the service.
122// the "output" return value is not valid until after Send returns without error.
123//
124// See BatchGetResourceConfig for more information on using the BatchGetResourceConfig
125// API call, and error handling.
126//
127// This method is useful when you want to inject custom logic or configuration
128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
129//
130//
131//    // Example sending a request using the BatchGetResourceConfigRequest method.
132//    req, resp := client.BatchGetResourceConfigRequest(params)
133//
134//    err := req.Send()
135//    if err == nil { // resp is now filled
136//        fmt.Println(resp)
137//    }
138//
139// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
140func (c *ConfigService) BatchGetResourceConfigRequest(input *BatchGetResourceConfigInput) (req *request.Request, output *BatchGetResourceConfigOutput) {
141	op := &request.Operation{
142		Name:       opBatchGetResourceConfig,
143		HTTPMethod: "POST",
144		HTTPPath:   "/",
145	}
146
147	if input == nil {
148		input = &BatchGetResourceConfigInput{}
149	}
150
151	output = &BatchGetResourceConfigOutput{}
152	req = c.newRequest(op, input, output)
153	return
154}
155
156// BatchGetResourceConfig API operation for AWS Config.
157//
158// Returns the current configuration for one or more requested resources. The
159// operation also returns a list of resources that are not processed in the
160// current request. If there are no unprocessed resources, the operation returns
161// an empty unprocessedResourceKeys list.
162//
163//    * The API does not return results for deleted resources.
164//
165//    * The API does not return any tags for the requested resources. This information
166//    is filtered out of the supplementaryConfiguration section of the API response.
167//
168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
169// with awserr.Error's Code and Message methods to get detailed information about
170// the error.
171//
172// See the AWS API reference guide for AWS Config's
173// API operation BatchGetResourceConfig for usage and error information.
174//
175// Returned Error Types:
176//   * ValidationException
177//   The requested action is not valid.
178//
179//   For PutStoredQuery, you will see this exception if there are missing required
180//   fields or if the input value fails the validation, or if you are trying to
181//   create more than 300 queries.
182//
183//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
184//   exception if there are missing required fields or if the input value fails
185//   the validation.
186//
187//   * NoAvailableConfigurationRecorderException
188//   There are no configuration recorders available to provide the role needed
189//   to describe your resources. Create a configuration recorder.
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
192func (c *ConfigService) BatchGetResourceConfig(input *BatchGetResourceConfigInput) (*BatchGetResourceConfigOutput, error) {
193	req, out := c.BatchGetResourceConfigRequest(input)
194	return out, req.Send()
195}
196
197// BatchGetResourceConfigWithContext is the same as BatchGetResourceConfig with the addition of
198// the ability to pass a context and additional request options.
199//
200// See BatchGetResourceConfig for details on how to use this API operation.
201//
202// The context must be non-nil and will be used for request cancellation. If
203// the context is nil a panic will occur. In the future the SDK may create
204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
205// for more information on using Contexts.
206func (c *ConfigService) BatchGetResourceConfigWithContext(ctx aws.Context, input *BatchGetResourceConfigInput, opts ...request.Option) (*BatchGetResourceConfigOutput, error) {
207	req, out := c.BatchGetResourceConfigRequest(input)
208	req.SetContext(ctx)
209	req.ApplyOptions(opts...)
210	return out, req.Send()
211}
212
213const opDeleteAggregationAuthorization = "DeleteAggregationAuthorization"
214
215// DeleteAggregationAuthorizationRequest generates a "aws/request.Request" representing the
216// client's request for the DeleteAggregationAuthorization operation. The "output" return
217// value will be populated with the request's response once the request completes
218// successfully.
219//
220// Use "Send" method on the returned Request to send the API call to the service.
221// the "output" return value is not valid until after Send returns without error.
222//
223// See DeleteAggregationAuthorization for more information on using the DeleteAggregationAuthorization
224// API call, and error handling.
225//
226// This method is useful when you want to inject custom logic or configuration
227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
228//
229//
230//    // Example sending a request using the DeleteAggregationAuthorizationRequest method.
231//    req, resp := client.DeleteAggregationAuthorizationRequest(params)
232//
233//    err := req.Send()
234//    if err == nil { // resp is now filled
235//        fmt.Println(resp)
236//    }
237//
238// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
239func (c *ConfigService) DeleteAggregationAuthorizationRequest(input *DeleteAggregationAuthorizationInput) (req *request.Request, output *DeleteAggregationAuthorizationOutput) {
240	op := &request.Operation{
241		Name:       opDeleteAggregationAuthorization,
242		HTTPMethod: "POST",
243		HTTPPath:   "/",
244	}
245
246	if input == nil {
247		input = &DeleteAggregationAuthorizationInput{}
248	}
249
250	output = &DeleteAggregationAuthorizationOutput{}
251	req = c.newRequest(op, input, output)
252	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
253	return
254}
255
256// DeleteAggregationAuthorization API operation for AWS Config.
257//
258// Deletes the authorization granted to the specified configuration aggregator
259// account in a specified region.
260//
261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
262// with awserr.Error's Code and Message methods to get detailed information about
263// the error.
264//
265// See the AWS API reference guide for AWS Config's
266// API operation DeleteAggregationAuthorization for usage and error information.
267//
268// Returned Error Types:
269//   * InvalidParameterValueException
270//   One or more of the specified parameters are invalid. Verify that your parameters
271//   are valid and try again.
272//
273// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
274func (c *ConfigService) DeleteAggregationAuthorization(input *DeleteAggregationAuthorizationInput) (*DeleteAggregationAuthorizationOutput, error) {
275	req, out := c.DeleteAggregationAuthorizationRequest(input)
276	return out, req.Send()
277}
278
279// DeleteAggregationAuthorizationWithContext is the same as DeleteAggregationAuthorization with the addition of
280// the ability to pass a context and additional request options.
281//
282// See DeleteAggregationAuthorization for details on how to use this API operation.
283//
284// The context must be non-nil and will be used for request cancellation. If
285// the context is nil a panic will occur. In the future the SDK may create
286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
287// for more information on using Contexts.
288func (c *ConfigService) DeleteAggregationAuthorizationWithContext(ctx aws.Context, input *DeleteAggregationAuthorizationInput, opts ...request.Option) (*DeleteAggregationAuthorizationOutput, error) {
289	req, out := c.DeleteAggregationAuthorizationRequest(input)
290	req.SetContext(ctx)
291	req.ApplyOptions(opts...)
292	return out, req.Send()
293}
294
295const opDeleteConfigRule = "DeleteConfigRule"
296
297// DeleteConfigRuleRequest generates a "aws/request.Request" representing the
298// client's request for the DeleteConfigRule operation. The "output" return
299// value will be populated with the request's response once the request completes
300// successfully.
301//
302// Use "Send" method on the returned Request to send the API call to the service.
303// the "output" return value is not valid until after Send returns without error.
304//
305// See DeleteConfigRule for more information on using the DeleteConfigRule
306// API call, and error handling.
307//
308// This method is useful when you want to inject custom logic or configuration
309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
310//
311//
312//    // Example sending a request using the DeleteConfigRuleRequest method.
313//    req, resp := client.DeleteConfigRuleRequest(params)
314//
315//    err := req.Send()
316//    if err == nil { // resp is now filled
317//        fmt.Println(resp)
318//    }
319//
320// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
321func (c *ConfigService) DeleteConfigRuleRequest(input *DeleteConfigRuleInput) (req *request.Request, output *DeleteConfigRuleOutput) {
322	op := &request.Operation{
323		Name:       opDeleteConfigRule,
324		HTTPMethod: "POST",
325		HTTPPath:   "/",
326	}
327
328	if input == nil {
329		input = &DeleteConfigRuleInput{}
330	}
331
332	output = &DeleteConfigRuleOutput{}
333	req = c.newRequest(op, input, output)
334	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
335	return
336}
337
338// DeleteConfigRule API operation for AWS Config.
339//
340// Deletes the specified AWS Config rule and all of its evaluation results.
341//
342// AWS Config sets the state of a rule to DELETING until the deletion is complete.
343// You cannot update a rule while it is in this state. If you make a PutConfigRule
344// or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
345//
346// You can check the state of a rule by using the DescribeConfigRules request.
347//
348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
349// with awserr.Error's Code and Message methods to get detailed information about
350// the error.
351//
352// See the AWS API reference guide for AWS Config's
353// API operation DeleteConfigRule for usage and error information.
354//
355// Returned Error Types:
356//   * NoSuchConfigRuleException
357//   One or more AWS Config rules in the request are invalid. Verify that the
358//   rule names are correct and try again.
359//
360//   * ResourceInUseException
361//   You see this exception in the following cases:
362//
363//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
364//      again later.
365//
366//      * For DeleteConfigRule, the rule is deleting your evaluation results.
367//      Try your request again later.
368//
369//      * For DeleteConfigRule, a remediation action is associated with the rule
370//      and AWS Config cannot delete this rule. Delete the remediation action
371//      associated with the rule before deleting the rule and try your request
372//      again later.
373//
374//      * For PutConfigOrganizationRule, organization config rule deletion is
375//      in progress. Try your request again later.
376//
377//      * For DeleteOrganizationConfigRule, organization config rule creation
378//      is in progress. Try your request again later.
379//
380//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
381//      pack creation, update, and deletion is in progress. Try your request again
382//      later.
383//
384//      * For DeleteConformancePack, a conformance pack creation, update, and
385//      deletion is in progress. Try your request again later.
386//
387// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
388func (c *ConfigService) DeleteConfigRule(input *DeleteConfigRuleInput) (*DeleteConfigRuleOutput, error) {
389	req, out := c.DeleteConfigRuleRequest(input)
390	return out, req.Send()
391}
392
393// DeleteConfigRuleWithContext is the same as DeleteConfigRule with the addition of
394// the ability to pass a context and additional request options.
395//
396// See DeleteConfigRule for details on how to use this API operation.
397//
398// The context must be non-nil and will be used for request cancellation. If
399// the context is nil a panic will occur. In the future the SDK may create
400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
401// for more information on using Contexts.
402func (c *ConfigService) DeleteConfigRuleWithContext(ctx aws.Context, input *DeleteConfigRuleInput, opts ...request.Option) (*DeleteConfigRuleOutput, error) {
403	req, out := c.DeleteConfigRuleRequest(input)
404	req.SetContext(ctx)
405	req.ApplyOptions(opts...)
406	return out, req.Send()
407}
408
409const opDeleteConfigurationAggregator = "DeleteConfigurationAggregator"
410
411// DeleteConfigurationAggregatorRequest generates a "aws/request.Request" representing the
412// client's request for the DeleteConfigurationAggregator operation. The "output" return
413// value will be populated with the request's response once the request completes
414// successfully.
415//
416// Use "Send" method on the returned Request to send the API call to the service.
417// the "output" return value is not valid until after Send returns without error.
418//
419// See DeleteConfigurationAggregator for more information on using the DeleteConfigurationAggregator
420// API call, and error handling.
421//
422// This method is useful when you want to inject custom logic or configuration
423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
424//
425//
426//    // Example sending a request using the DeleteConfigurationAggregatorRequest method.
427//    req, resp := client.DeleteConfigurationAggregatorRequest(params)
428//
429//    err := req.Send()
430//    if err == nil { // resp is now filled
431//        fmt.Println(resp)
432//    }
433//
434// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
435func (c *ConfigService) DeleteConfigurationAggregatorRequest(input *DeleteConfigurationAggregatorInput) (req *request.Request, output *DeleteConfigurationAggregatorOutput) {
436	op := &request.Operation{
437		Name:       opDeleteConfigurationAggregator,
438		HTTPMethod: "POST",
439		HTTPPath:   "/",
440	}
441
442	if input == nil {
443		input = &DeleteConfigurationAggregatorInput{}
444	}
445
446	output = &DeleteConfigurationAggregatorOutput{}
447	req = c.newRequest(op, input, output)
448	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
449	return
450}
451
452// DeleteConfigurationAggregator API operation for AWS Config.
453//
454// Deletes the specified configuration aggregator and the aggregated data associated
455// with the aggregator.
456//
457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
458// with awserr.Error's Code and Message methods to get detailed information about
459// the error.
460//
461// See the AWS API reference guide for AWS Config's
462// API operation DeleteConfigurationAggregator for usage and error information.
463//
464// Returned Error Types:
465//   * NoSuchConfigurationAggregatorException
466//   You have specified a configuration aggregator that does not exist.
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
469func (c *ConfigService) DeleteConfigurationAggregator(input *DeleteConfigurationAggregatorInput) (*DeleteConfigurationAggregatorOutput, error) {
470	req, out := c.DeleteConfigurationAggregatorRequest(input)
471	return out, req.Send()
472}
473
474// DeleteConfigurationAggregatorWithContext is the same as DeleteConfigurationAggregator with the addition of
475// the ability to pass a context and additional request options.
476//
477// See DeleteConfigurationAggregator for details on how to use this API operation.
478//
479// The context must be non-nil and will be used for request cancellation. If
480// the context is nil a panic will occur. In the future the SDK may create
481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
482// for more information on using Contexts.
483func (c *ConfigService) DeleteConfigurationAggregatorWithContext(ctx aws.Context, input *DeleteConfigurationAggregatorInput, opts ...request.Option) (*DeleteConfigurationAggregatorOutput, error) {
484	req, out := c.DeleteConfigurationAggregatorRequest(input)
485	req.SetContext(ctx)
486	req.ApplyOptions(opts...)
487	return out, req.Send()
488}
489
490const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
491
492// DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
493// client's request for the DeleteConfigurationRecorder operation. The "output" return
494// value will be populated with the request's response once the request completes
495// successfully.
496//
497// Use "Send" method on the returned Request to send the API call to the service.
498// the "output" return value is not valid until after Send returns without error.
499//
500// See DeleteConfigurationRecorder for more information on using the DeleteConfigurationRecorder
501// API call, and error handling.
502//
503// This method is useful when you want to inject custom logic or configuration
504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
505//
506//
507//    // Example sending a request using the DeleteConfigurationRecorderRequest method.
508//    req, resp := client.DeleteConfigurationRecorderRequest(params)
509//
510//    err := req.Send()
511//    if err == nil { // resp is now filled
512//        fmt.Println(resp)
513//    }
514//
515// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
516func (c *ConfigService) DeleteConfigurationRecorderRequest(input *DeleteConfigurationRecorderInput) (req *request.Request, output *DeleteConfigurationRecorderOutput) {
517	op := &request.Operation{
518		Name:       opDeleteConfigurationRecorder,
519		HTTPMethod: "POST",
520		HTTPPath:   "/",
521	}
522
523	if input == nil {
524		input = &DeleteConfigurationRecorderInput{}
525	}
526
527	output = &DeleteConfigurationRecorderOutput{}
528	req = c.newRequest(op, input, output)
529	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
530	return
531}
532
533// DeleteConfigurationRecorder API operation for AWS Config.
534//
535// Deletes the configuration recorder.
536//
537// After the configuration recorder is deleted, AWS Config will not record resource
538// configuration changes until you create a new configuration recorder.
539//
540// This action does not delete the configuration information that was previously
541// recorded. You will be able to access the previously recorded information
542// by using the GetResourceConfigHistory action, but you will not be able to
543// access this information in the AWS Config console until you create a new
544// configuration recorder.
545//
546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
547// with awserr.Error's Code and Message methods to get detailed information about
548// the error.
549//
550// See the AWS API reference guide for AWS Config's
551// API operation DeleteConfigurationRecorder for usage and error information.
552//
553// Returned Error Types:
554//   * NoSuchConfigurationRecorderException
555//   You have specified a configuration recorder that does not exist.
556//
557// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
558func (c *ConfigService) DeleteConfigurationRecorder(input *DeleteConfigurationRecorderInput) (*DeleteConfigurationRecorderOutput, error) {
559	req, out := c.DeleteConfigurationRecorderRequest(input)
560	return out, req.Send()
561}
562
563// DeleteConfigurationRecorderWithContext is the same as DeleteConfigurationRecorder with the addition of
564// the ability to pass a context and additional request options.
565//
566// See DeleteConfigurationRecorder for details on how to use this API operation.
567//
568// The context must be non-nil and will be used for request cancellation. If
569// the context is nil a panic will occur. In the future the SDK may create
570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
571// for more information on using Contexts.
572func (c *ConfigService) DeleteConfigurationRecorderWithContext(ctx aws.Context, input *DeleteConfigurationRecorderInput, opts ...request.Option) (*DeleteConfigurationRecorderOutput, error) {
573	req, out := c.DeleteConfigurationRecorderRequest(input)
574	req.SetContext(ctx)
575	req.ApplyOptions(opts...)
576	return out, req.Send()
577}
578
579const opDeleteConformancePack = "DeleteConformancePack"
580
581// DeleteConformancePackRequest generates a "aws/request.Request" representing the
582// client's request for the DeleteConformancePack operation. The "output" return
583// value will be populated with the request's response once the request completes
584// successfully.
585//
586// Use "Send" method on the returned Request to send the API call to the service.
587// the "output" return value is not valid until after Send returns without error.
588//
589// See DeleteConformancePack for more information on using the DeleteConformancePack
590// API call, and error handling.
591//
592// This method is useful when you want to inject custom logic or configuration
593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
594//
595//
596//    // Example sending a request using the DeleteConformancePackRequest method.
597//    req, resp := client.DeleteConformancePackRequest(params)
598//
599//    err := req.Send()
600//    if err == nil { // resp is now filled
601//        fmt.Println(resp)
602//    }
603//
604// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
605func (c *ConfigService) DeleteConformancePackRequest(input *DeleteConformancePackInput) (req *request.Request, output *DeleteConformancePackOutput) {
606	op := &request.Operation{
607		Name:       opDeleteConformancePack,
608		HTTPMethod: "POST",
609		HTTPPath:   "/",
610	}
611
612	if input == nil {
613		input = &DeleteConformancePackInput{}
614	}
615
616	output = &DeleteConformancePackOutput{}
617	req = c.newRequest(op, input, output)
618	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
619	return
620}
621
622// DeleteConformancePack API operation for AWS Config.
623//
624// Deletes the specified conformance pack and all the AWS Config rules, remediation
625// actions, and all evaluation results within that conformance pack.
626//
627// AWS Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion
628// is complete. You cannot update a conformance pack while it is in this state.
629//
630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
631// with awserr.Error's Code and Message methods to get detailed information about
632// the error.
633//
634// See the AWS API reference guide for AWS Config's
635// API operation DeleteConformancePack for usage and error information.
636//
637// Returned Error Types:
638//   * NoSuchConformancePackException
639//   You specified one or more conformance packs that do not exist.
640//
641//   * ResourceInUseException
642//   You see this exception in the following cases:
643//
644//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
645//      again later.
646//
647//      * For DeleteConfigRule, the rule is deleting your evaluation results.
648//      Try your request again later.
649//
650//      * For DeleteConfigRule, a remediation action is associated with the rule
651//      and AWS Config cannot delete this rule. Delete the remediation action
652//      associated with the rule before deleting the rule and try your request
653//      again later.
654//
655//      * For PutConfigOrganizationRule, organization config rule deletion is
656//      in progress. Try your request again later.
657//
658//      * For DeleteOrganizationConfigRule, organization config rule creation
659//      is in progress. Try your request again later.
660//
661//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
662//      pack creation, update, and deletion is in progress. Try your request again
663//      later.
664//
665//      * For DeleteConformancePack, a conformance pack creation, update, and
666//      deletion is in progress. Try your request again later.
667//
668// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
669func (c *ConfigService) DeleteConformancePack(input *DeleteConformancePackInput) (*DeleteConformancePackOutput, error) {
670	req, out := c.DeleteConformancePackRequest(input)
671	return out, req.Send()
672}
673
674// DeleteConformancePackWithContext is the same as DeleteConformancePack with the addition of
675// the ability to pass a context and additional request options.
676//
677// See DeleteConformancePack for details on how to use this API operation.
678//
679// The context must be non-nil and will be used for request cancellation. If
680// the context is nil a panic will occur. In the future the SDK may create
681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
682// for more information on using Contexts.
683func (c *ConfigService) DeleteConformancePackWithContext(ctx aws.Context, input *DeleteConformancePackInput, opts ...request.Option) (*DeleteConformancePackOutput, error) {
684	req, out := c.DeleteConformancePackRequest(input)
685	req.SetContext(ctx)
686	req.ApplyOptions(opts...)
687	return out, req.Send()
688}
689
690const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
691
692// DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
693// client's request for the DeleteDeliveryChannel operation. The "output" return
694// value will be populated with the request's response once the request completes
695// successfully.
696//
697// Use "Send" method on the returned Request to send the API call to the service.
698// the "output" return value is not valid until after Send returns without error.
699//
700// See DeleteDeliveryChannel for more information on using the DeleteDeliveryChannel
701// API call, and error handling.
702//
703// This method is useful when you want to inject custom logic or configuration
704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
705//
706//
707//    // Example sending a request using the DeleteDeliveryChannelRequest method.
708//    req, resp := client.DeleteDeliveryChannelRequest(params)
709//
710//    err := req.Send()
711//    if err == nil { // resp is now filled
712//        fmt.Println(resp)
713//    }
714//
715// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
716func (c *ConfigService) DeleteDeliveryChannelRequest(input *DeleteDeliveryChannelInput) (req *request.Request, output *DeleteDeliveryChannelOutput) {
717	op := &request.Operation{
718		Name:       opDeleteDeliveryChannel,
719		HTTPMethod: "POST",
720		HTTPPath:   "/",
721	}
722
723	if input == nil {
724		input = &DeleteDeliveryChannelInput{}
725	}
726
727	output = &DeleteDeliveryChannelOutput{}
728	req = c.newRequest(op, input, output)
729	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
730	return
731}
732
733// DeleteDeliveryChannel API operation for AWS Config.
734//
735// Deletes the delivery channel.
736//
737// Before you can delete the delivery channel, you must stop the configuration
738// recorder by using the StopConfigurationRecorder action.
739//
740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
741// with awserr.Error's Code and Message methods to get detailed information about
742// the error.
743//
744// See the AWS API reference guide for AWS Config's
745// API operation DeleteDeliveryChannel for usage and error information.
746//
747// Returned Error Types:
748//   * NoSuchDeliveryChannelException
749//   You have specified a delivery channel that does not exist.
750//
751//   * LastDeliveryChannelDeleteFailedException
752//   You cannot delete the delivery channel you specified because the configuration
753//   recorder is running.
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
756func (c *ConfigService) DeleteDeliveryChannel(input *DeleteDeliveryChannelInput) (*DeleteDeliveryChannelOutput, error) {
757	req, out := c.DeleteDeliveryChannelRequest(input)
758	return out, req.Send()
759}
760
761// DeleteDeliveryChannelWithContext is the same as DeleteDeliveryChannel with the addition of
762// the ability to pass a context and additional request options.
763//
764// See DeleteDeliveryChannel for details on how to use this API operation.
765//
766// The context must be non-nil and will be used for request cancellation. If
767// the context is nil a panic will occur. In the future the SDK may create
768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
769// for more information on using Contexts.
770func (c *ConfigService) DeleteDeliveryChannelWithContext(ctx aws.Context, input *DeleteDeliveryChannelInput, opts ...request.Option) (*DeleteDeliveryChannelOutput, error) {
771	req, out := c.DeleteDeliveryChannelRequest(input)
772	req.SetContext(ctx)
773	req.ApplyOptions(opts...)
774	return out, req.Send()
775}
776
777const opDeleteEvaluationResults = "DeleteEvaluationResults"
778
779// DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
780// client's request for the DeleteEvaluationResults operation. The "output" return
781// value will be populated with the request's response once the request completes
782// successfully.
783//
784// Use "Send" method on the returned Request to send the API call to the service.
785// the "output" return value is not valid until after Send returns without error.
786//
787// See DeleteEvaluationResults for more information on using the DeleteEvaluationResults
788// API call, and error handling.
789//
790// This method is useful when you want to inject custom logic or configuration
791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
792//
793//
794//    // Example sending a request using the DeleteEvaluationResultsRequest method.
795//    req, resp := client.DeleteEvaluationResultsRequest(params)
796//
797//    err := req.Send()
798//    if err == nil { // resp is now filled
799//        fmt.Println(resp)
800//    }
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
803func (c *ConfigService) DeleteEvaluationResultsRequest(input *DeleteEvaluationResultsInput) (req *request.Request, output *DeleteEvaluationResultsOutput) {
804	op := &request.Operation{
805		Name:       opDeleteEvaluationResults,
806		HTTPMethod: "POST",
807		HTTPPath:   "/",
808	}
809
810	if input == nil {
811		input = &DeleteEvaluationResultsInput{}
812	}
813
814	output = &DeleteEvaluationResultsOutput{}
815	req = c.newRequest(op, input, output)
816	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
817	return
818}
819
820// DeleteEvaluationResults API operation for AWS Config.
821//
822// Deletes the evaluation results for the specified AWS Config rule. You can
823// specify one AWS Config rule per request. After you delete the evaluation
824// results, you can call the StartConfigRulesEvaluation API to start evaluating
825// your AWS resources against the rule.
826//
827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
828// with awserr.Error's Code and Message methods to get detailed information about
829// the error.
830//
831// See the AWS API reference guide for AWS Config's
832// API operation DeleteEvaluationResults for usage and error information.
833//
834// Returned Error Types:
835//   * NoSuchConfigRuleException
836//   One or more AWS Config rules in the request are invalid. Verify that the
837//   rule names are correct and try again.
838//
839//   * ResourceInUseException
840//   You see this exception in the following cases:
841//
842//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
843//      again later.
844//
845//      * For DeleteConfigRule, the rule is deleting your evaluation results.
846//      Try your request again later.
847//
848//      * For DeleteConfigRule, a remediation action is associated with the rule
849//      and AWS Config cannot delete this rule. Delete the remediation action
850//      associated with the rule before deleting the rule and try your request
851//      again later.
852//
853//      * For PutConfigOrganizationRule, organization config rule deletion is
854//      in progress. Try your request again later.
855//
856//      * For DeleteOrganizationConfigRule, organization config rule creation
857//      is in progress. Try your request again later.
858//
859//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
860//      pack creation, update, and deletion is in progress. Try your request again
861//      later.
862//
863//      * For DeleteConformancePack, a conformance pack creation, update, and
864//      deletion is in progress. Try your request again later.
865//
866// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
867func (c *ConfigService) DeleteEvaluationResults(input *DeleteEvaluationResultsInput) (*DeleteEvaluationResultsOutput, error) {
868	req, out := c.DeleteEvaluationResultsRequest(input)
869	return out, req.Send()
870}
871
872// DeleteEvaluationResultsWithContext is the same as DeleteEvaluationResults with the addition of
873// the ability to pass a context and additional request options.
874//
875// See DeleteEvaluationResults for details on how to use this API operation.
876//
877// The context must be non-nil and will be used for request cancellation. If
878// the context is nil a panic will occur. In the future the SDK may create
879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
880// for more information on using Contexts.
881func (c *ConfigService) DeleteEvaluationResultsWithContext(ctx aws.Context, input *DeleteEvaluationResultsInput, opts ...request.Option) (*DeleteEvaluationResultsOutput, error) {
882	req, out := c.DeleteEvaluationResultsRequest(input)
883	req.SetContext(ctx)
884	req.ApplyOptions(opts...)
885	return out, req.Send()
886}
887
888const opDeleteOrganizationConfigRule = "DeleteOrganizationConfigRule"
889
890// DeleteOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
891// client's request for the DeleteOrganizationConfigRule operation. The "output" return
892// value will be populated with the request's response once the request completes
893// successfully.
894//
895// Use "Send" method on the returned Request to send the API call to the service.
896// the "output" return value is not valid until after Send returns without error.
897//
898// See DeleteOrganizationConfigRule for more information on using the DeleteOrganizationConfigRule
899// API call, and error handling.
900//
901// This method is useful when you want to inject custom logic or configuration
902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
903//
904//
905//    // Example sending a request using the DeleteOrganizationConfigRuleRequest method.
906//    req, resp := client.DeleteOrganizationConfigRuleRequest(params)
907//
908//    err := req.Send()
909//    if err == nil { // resp is now filled
910//        fmt.Println(resp)
911//    }
912//
913// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
914func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganizationConfigRuleInput) (req *request.Request, output *DeleteOrganizationConfigRuleOutput) {
915	op := &request.Operation{
916		Name:       opDeleteOrganizationConfigRule,
917		HTTPMethod: "POST",
918		HTTPPath:   "/",
919	}
920
921	if input == nil {
922		input = &DeleteOrganizationConfigRuleInput{}
923	}
924
925	output = &DeleteOrganizationConfigRuleOutput{}
926	req = c.newRequest(op, input, output)
927	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
928	return
929}
930
931// DeleteOrganizationConfigRule API operation for AWS Config.
932//
933// Deletes the specified organization config rule and all of its evaluation
934// results from all member accounts in that organization.
935//
936// Only a master account and a delegated administrator account can delete an
937// organization config rule. When calling this API with a delegated administrator,
938// you must ensure AWS Organizations ListDelegatedAdministrator permissions
939// are added.
940//
941// AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion
942// is complete. You cannot update a rule while it is in this state.
943//
944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
945// with awserr.Error's Code and Message methods to get detailed information about
946// the error.
947//
948// See the AWS API reference guide for AWS Config's
949// API operation DeleteOrganizationConfigRule for usage and error information.
950//
951// Returned Error Types:
952//   * NoSuchOrganizationConfigRuleException
953//   You specified one or more organization config rules that do not exist.
954//
955//   * ResourceInUseException
956//   You see this exception in the following cases:
957//
958//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
959//      again later.
960//
961//      * For DeleteConfigRule, the rule is deleting your evaluation results.
962//      Try your request again later.
963//
964//      * For DeleteConfigRule, a remediation action is associated with the rule
965//      and AWS Config cannot delete this rule. Delete the remediation action
966//      associated with the rule before deleting the rule and try your request
967//      again later.
968//
969//      * For PutConfigOrganizationRule, organization config rule deletion is
970//      in progress. Try your request again later.
971//
972//      * For DeleteOrganizationConfigRule, organization config rule creation
973//      is in progress. Try your request again later.
974//
975//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
976//      pack creation, update, and deletion is in progress. Try your request again
977//      later.
978//
979//      * For DeleteConformancePack, a conformance pack creation, update, and
980//      deletion is in progress. Try your request again later.
981//
982//   * OrganizationAccessDeniedException
983//   For PutConfigurationAggregator API, you can see this exception for the following
984//   reasons:
985//
986//      * No permission to call EnableAWSServiceAccess API
987//
988//      * The configuration aggregator cannot be updated because your AWS Organization
989//      management account or the delegated administrator role changed. Delete
990//      this aggregator and create a new one with the current AWS Organization.
991//
992//      * The configuration aggregator is associated with a previous AWS Organization
993//      and AWS Config cannot aggregate data with current AWS Organization. Delete
994//      this aggregator and create a new one with the current AWS Organization.
995//
996//      * You are not a registered delegated administrator for AWS Config with
997//      permissions to call ListDelegatedAdministrators API. Ensure that the management
998//      account registers delagated administrator for AWS Config service principle
999//      name before the delegated administrator creates an aggregator.
1000//
1001//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
1002//   Config throws an exception if APIs are called from member accounts. All APIs
1003//   must be called from organization master account.
1004//
1005// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
1006func (c *ConfigService) DeleteOrganizationConfigRule(input *DeleteOrganizationConfigRuleInput) (*DeleteOrganizationConfigRuleOutput, error) {
1007	req, out := c.DeleteOrganizationConfigRuleRequest(input)
1008	return out, req.Send()
1009}
1010
1011// DeleteOrganizationConfigRuleWithContext is the same as DeleteOrganizationConfigRule with the addition of
1012// the ability to pass a context and additional request options.
1013//
1014// See DeleteOrganizationConfigRule for details on how to use this API operation.
1015//
1016// The context must be non-nil and will be used for request cancellation. If
1017// the context is nil a panic will occur. In the future the SDK may create
1018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1019// for more information on using Contexts.
1020func (c *ConfigService) DeleteOrganizationConfigRuleWithContext(ctx aws.Context, input *DeleteOrganizationConfigRuleInput, opts ...request.Option) (*DeleteOrganizationConfigRuleOutput, error) {
1021	req, out := c.DeleteOrganizationConfigRuleRequest(input)
1022	req.SetContext(ctx)
1023	req.ApplyOptions(opts...)
1024	return out, req.Send()
1025}
1026
1027const opDeleteOrganizationConformancePack = "DeleteOrganizationConformancePack"
1028
1029// DeleteOrganizationConformancePackRequest generates a "aws/request.Request" representing the
1030// client's request for the DeleteOrganizationConformancePack operation. The "output" return
1031// value will be populated with the request's response once the request completes
1032// successfully.
1033//
1034// Use "Send" method on the returned Request to send the API call to the service.
1035// the "output" return value is not valid until after Send returns without error.
1036//
1037// See DeleteOrganizationConformancePack for more information on using the DeleteOrganizationConformancePack
1038// API call, and error handling.
1039//
1040// This method is useful when you want to inject custom logic or configuration
1041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1042//
1043//
1044//    // Example sending a request using the DeleteOrganizationConformancePackRequest method.
1045//    req, resp := client.DeleteOrganizationConformancePackRequest(params)
1046//
1047//    err := req.Send()
1048//    if err == nil { // resp is now filled
1049//        fmt.Println(resp)
1050//    }
1051//
1052// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
1053func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOrganizationConformancePackInput) (req *request.Request, output *DeleteOrganizationConformancePackOutput) {
1054	op := &request.Operation{
1055		Name:       opDeleteOrganizationConformancePack,
1056		HTTPMethod: "POST",
1057		HTTPPath:   "/",
1058	}
1059
1060	if input == nil {
1061		input = &DeleteOrganizationConformancePackInput{}
1062	}
1063
1064	output = &DeleteOrganizationConformancePackOutput{}
1065	req = c.newRequest(op, input, output)
1066	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1067	return
1068}
1069
1070// DeleteOrganizationConformancePack API operation for AWS Config.
1071//
1072// Deletes the specified organization conformance pack and all of the config
1073// rules and remediation actions from all member accounts in that organization.
1074//
1075// Only a master account or a delegated administrator account can delete an
1076// organization conformance pack. When calling this API with a delegated administrator,
1077// you must ensure AWS Organizations ListDelegatedAdministrator permissions
1078// are added.
1079//
1080// AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until
1081// the deletion is complete. You cannot update a conformance pack while it is
1082// in this state.
1083//
1084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1085// with awserr.Error's Code and Message methods to get detailed information about
1086// the error.
1087//
1088// See the AWS API reference guide for AWS Config's
1089// API operation DeleteOrganizationConformancePack for usage and error information.
1090//
1091// Returned Error Types:
1092//   * NoSuchOrganizationConformancePackException
1093//   AWS Config organization conformance pack that you passed in the filter does
1094//   not exist.
1095//
1096//   For DeleteOrganizationConformancePack, you tried to delete an organization
1097//   conformance pack that does not exist.
1098//
1099//   * ResourceInUseException
1100//   You see this exception in the following cases:
1101//
1102//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
1103//      again later.
1104//
1105//      * For DeleteConfigRule, the rule is deleting your evaluation results.
1106//      Try your request again later.
1107//
1108//      * For DeleteConfigRule, a remediation action is associated with the rule
1109//      and AWS Config cannot delete this rule. Delete the remediation action
1110//      associated with the rule before deleting the rule and try your request
1111//      again later.
1112//
1113//      * For PutConfigOrganizationRule, organization config rule deletion is
1114//      in progress. Try your request again later.
1115//
1116//      * For DeleteOrganizationConfigRule, organization config rule creation
1117//      is in progress. Try your request again later.
1118//
1119//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
1120//      pack creation, update, and deletion is in progress. Try your request again
1121//      later.
1122//
1123//      * For DeleteConformancePack, a conformance pack creation, update, and
1124//      deletion is in progress. Try your request again later.
1125//
1126//   * OrganizationAccessDeniedException
1127//   For PutConfigurationAggregator API, you can see this exception for the following
1128//   reasons:
1129//
1130//      * No permission to call EnableAWSServiceAccess API
1131//
1132//      * The configuration aggregator cannot be updated because your AWS Organization
1133//      management account or the delegated administrator role changed. Delete
1134//      this aggregator and create a new one with the current AWS Organization.
1135//
1136//      * The configuration aggregator is associated with a previous AWS Organization
1137//      and AWS Config cannot aggregate data with current AWS Organization. Delete
1138//      this aggregator and create a new one with the current AWS Organization.
1139//
1140//      * You are not a registered delegated administrator for AWS Config with
1141//      permissions to call ListDelegatedAdministrators API. Ensure that the management
1142//      account registers delagated administrator for AWS Config service principle
1143//      name before the delegated administrator creates an aggregator.
1144//
1145//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
1146//   Config throws an exception if APIs are called from member accounts. All APIs
1147//   must be called from organization master account.
1148//
1149// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
1150func (c *ConfigService) DeleteOrganizationConformancePack(input *DeleteOrganizationConformancePackInput) (*DeleteOrganizationConformancePackOutput, error) {
1151	req, out := c.DeleteOrganizationConformancePackRequest(input)
1152	return out, req.Send()
1153}
1154
1155// DeleteOrganizationConformancePackWithContext is the same as DeleteOrganizationConformancePack with the addition of
1156// the ability to pass a context and additional request options.
1157//
1158// See DeleteOrganizationConformancePack for details on how to use this API operation.
1159//
1160// The context must be non-nil and will be used for request cancellation. If
1161// the context is nil a panic will occur. In the future the SDK may create
1162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1163// for more information on using Contexts.
1164func (c *ConfigService) DeleteOrganizationConformancePackWithContext(ctx aws.Context, input *DeleteOrganizationConformancePackInput, opts ...request.Option) (*DeleteOrganizationConformancePackOutput, error) {
1165	req, out := c.DeleteOrganizationConformancePackRequest(input)
1166	req.SetContext(ctx)
1167	req.ApplyOptions(opts...)
1168	return out, req.Send()
1169}
1170
1171const opDeletePendingAggregationRequest = "DeletePendingAggregationRequest"
1172
1173// DeletePendingAggregationRequestRequest generates a "aws/request.Request" representing the
1174// client's request for the DeletePendingAggregationRequest operation. The "output" return
1175// value will be populated with the request's response once the request completes
1176// successfully.
1177//
1178// Use "Send" method on the returned Request to send the API call to the service.
1179// the "output" return value is not valid until after Send returns without error.
1180//
1181// See DeletePendingAggregationRequest for more information on using the DeletePendingAggregationRequest
1182// API call, and error handling.
1183//
1184// This method is useful when you want to inject custom logic or configuration
1185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1186//
1187//
1188//    // Example sending a request using the DeletePendingAggregationRequestRequest method.
1189//    req, resp := client.DeletePendingAggregationRequestRequest(params)
1190//
1191//    err := req.Send()
1192//    if err == nil { // resp is now filled
1193//        fmt.Println(resp)
1194//    }
1195//
1196// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
1197func (c *ConfigService) DeletePendingAggregationRequestRequest(input *DeletePendingAggregationRequestInput) (req *request.Request, output *DeletePendingAggregationRequestOutput) {
1198	op := &request.Operation{
1199		Name:       opDeletePendingAggregationRequest,
1200		HTTPMethod: "POST",
1201		HTTPPath:   "/",
1202	}
1203
1204	if input == nil {
1205		input = &DeletePendingAggregationRequestInput{}
1206	}
1207
1208	output = &DeletePendingAggregationRequestOutput{}
1209	req = c.newRequest(op, input, output)
1210	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1211	return
1212}
1213
1214// DeletePendingAggregationRequest API operation for AWS Config.
1215//
1216// Deletes pending authorization requests for a specified aggregator account
1217// in a specified region.
1218//
1219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1220// with awserr.Error's Code and Message methods to get detailed information about
1221// the error.
1222//
1223// See the AWS API reference guide for AWS Config's
1224// API operation DeletePendingAggregationRequest for usage and error information.
1225//
1226// Returned Error Types:
1227//   * InvalidParameterValueException
1228//   One or more of the specified parameters are invalid. Verify that your parameters
1229//   are valid and try again.
1230//
1231// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
1232func (c *ConfigService) DeletePendingAggregationRequest(input *DeletePendingAggregationRequestInput) (*DeletePendingAggregationRequestOutput, error) {
1233	req, out := c.DeletePendingAggregationRequestRequest(input)
1234	return out, req.Send()
1235}
1236
1237// DeletePendingAggregationRequestWithContext is the same as DeletePendingAggregationRequest with the addition of
1238// the ability to pass a context and additional request options.
1239//
1240// See DeletePendingAggregationRequest for details on how to use this API operation.
1241//
1242// The context must be non-nil and will be used for request cancellation. If
1243// the context is nil a panic will occur. In the future the SDK may create
1244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1245// for more information on using Contexts.
1246func (c *ConfigService) DeletePendingAggregationRequestWithContext(ctx aws.Context, input *DeletePendingAggregationRequestInput, opts ...request.Option) (*DeletePendingAggregationRequestOutput, error) {
1247	req, out := c.DeletePendingAggregationRequestRequest(input)
1248	req.SetContext(ctx)
1249	req.ApplyOptions(opts...)
1250	return out, req.Send()
1251}
1252
1253const opDeleteRemediationConfiguration = "DeleteRemediationConfiguration"
1254
1255// DeleteRemediationConfigurationRequest generates a "aws/request.Request" representing the
1256// client's request for the DeleteRemediationConfiguration operation. The "output" return
1257// value will be populated with the request's response once the request completes
1258// successfully.
1259//
1260// Use "Send" method on the returned Request to send the API call to the service.
1261// the "output" return value is not valid until after Send returns without error.
1262//
1263// See DeleteRemediationConfiguration for more information on using the DeleteRemediationConfiguration
1264// API call, and error handling.
1265//
1266// This method is useful when you want to inject custom logic or configuration
1267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1268//
1269//
1270//    // Example sending a request using the DeleteRemediationConfigurationRequest method.
1271//    req, resp := client.DeleteRemediationConfigurationRequest(params)
1272//
1273//    err := req.Send()
1274//    if err == nil { // resp is now filled
1275//        fmt.Println(resp)
1276//    }
1277//
1278// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
1279func (c *ConfigService) DeleteRemediationConfigurationRequest(input *DeleteRemediationConfigurationInput) (req *request.Request, output *DeleteRemediationConfigurationOutput) {
1280	op := &request.Operation{
1281		Name:       opDeleteRemediationConfiguration,
1282		HTTPMethod: "POST",
1283		HTTPPath:   "/",
1284	}
1285
1286	if input == nil {
1287		input = &DeleteRemediationConfigurationInput{}
1288	}
1289
1290	output = &DeleteRemediationConfigurationOutput{}
1291	req = c.newRequest(op, input, output)
1292	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1293	return
1294}
1295
1296// DeleteRemediationConfiguration API operation for AWS Config.
1297//
1298// Deletes the remediation configuration.
1299//
1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1301// with awserr.Error's Code and Message methods to get detailed information about
1302// the error.
1303//
1304// See the AWS API reference guide for AWS Config's
1305// API operation DeleteRemediationConfiguration for usage and error information.
1306//
1307// Returned Error Types:
1308//   * NoSuchRemediationConfigurationException
1309//   You specified an AWS Config rule without a remediation configuration.
1310//
1311//   * RemediationInProgressException
1312//   Remediation action is in progress. You can either cancel execution in AWS
1313//   Systems Manager or wait and try again later.
1314//
1315//   * InsufficientPermissionsException
1316//   Indicates one of the following errors:
1317//
1318//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
1319//      to AWS Config lacks permissions to perform the config:Put* action.
1320//
1321//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
1322//      the function ARN, and check the function's permissions.
1323//
1324//      * For PutOrganizationConfigRule, organization config rule cannot be created
1325//      because you do not have permissions to call IAM GetRole action or create
1326//      a service linked role.
1327//
1328//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
1329//      pack cannot be created because you do not have permissions: To call IAM
1330//      GetRole action or create a service linked role. To read Amazon S3 bucket.
1331//
1332//   * InvalidParameterValueException
1333//   One or more of the specified parameters are invalid. Verify that your parameters
1334//   are valid and try again.
1335//
1336// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
1337func (c *ConfigService) DeleteRemediationConfiguration(input *DeleteRemediationConfigurationInput) (*DeleteRemediationConfigurationOutput, error) {
1338	req, out := c.DeleteRemediationConfigurationRequest(input)
1339	return out, req.Send()
1340}
1341
1342// DeleteRemediationConfigurationWithContext is the same as DeleteRemediationConfiguration with the addition of
1343// the ability to pass a context and additional request options.
1344//
1345// See DeleteRemediationConfiguration for details on how to use this API operation.
1346//
1347// The context must be non-nil and will be used for request cancellation. If
1348// the context is nil a panic will occur. In the future the SDK may create
1349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1350// for more information on using Contexts.
1351func (c *ConfigService) DeleteRemediationConfigurationWithContext(ctx aws.Context, input *DeleteRemediationConfigurationInput, opts ...request.Option) (*DeleteRemediationConfigurationOutput, error) {
1352	req, out := c.DeleteRemediationConfigurationRequest(input)
1353	req.SetContext(ctx)
1354	req.ApplyOptions(opts...)
1355	return out, req.Send()
1356}
1357
1358const opDeleteRemediationExceptions = "DeleteRemediationExceptions"
1359
1360// DeleteRemediationExceptionsRequest generates a "aws/request.Request" representing the
1361// client's request for the DeleteRemediationExceptions operation. The "output" return
1362// value will be populated with the request's response once the request completes
1363// successfully.
1364//
1365// Use "Send" method on the returned Request to send the API call to the service.
1366// the "output" return value is not valid until after Send returns without error.
1367//
1368// See DeleteRemediationExceptions for more information on using the DeleteRemediationExceptions
1369// API call, and error handling.
1370//
1371// This method is useful when you want to inject custom logic or configuration
1372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1373//
1374//
1375//    // Example sending a request using the DeleteRemediationExceptionsRequest method.
1376//    req, resp := client.DeleteRemediationExceptionsRequest(params)
1377//
1378//    err := req.Send()
1379//    if err == nil { // resp is now filled
1380//        fmt.Println(resp)
1381//    }
1382//
1383// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
1384func (c *ConfigService) DeleteRemediationExceptionsRequest(input *DeleteRemediationExceptionsInput) (req *request.Request, output *DeleteRemediationExceptionsOutput) {
1385	op := &request.Operation{
1386		Name:       opDeleteRemediationExceptions,
1387		HTTPMethod: "POST",
1388		HTTPPath:   "/",
1389	}
1390
1391	if input == nil {
1392		input = &DeleteRemediationExceptionsInput{}
1393	}
1394
1395	output = &DeleteRemediationExceptionsOutput{}
1396	req = c.newRequest(op, input, output)
1397	return
1398}
1399
1400// DeleteRemediationExceptions API operation for AWS Config.
1401//
1402// Deletes one or more remediation exceptions mentioned in the resource keys.
1403//
1404// AWS Config generates a remediation exception when a problem occurs executing
1405// a remediation action to a specific resource. Remediation exceptions blocks
1406// auto-remediation until the exception is cleared.
1407//
1408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1409// with awserr.Error's Code and Message methods to get detailed information about
1410// the error.
1411//
1412// See the AWS API reference guide for AWS Config's
1413// API operation DeleteRemediationExceptions for usage and error information.
1414//
1415// Returned Error Types:
1416//   * NoSuchRemediationExceptionException
1417//   You tried to delete a remediation exception that does not exist.
1418//
1419// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
1420func (c *ConfigService) DeleteRemediationExceptions(input *DeleteRemediationExceptionsInput) (*DeleteRemediationExceptionsOutput, error) {
1421	req, out := c.DeleteRemediationExceptionsRequest(input)
1422	return out, req.Send()
1423}
1424
1425// DeleteRemediationExceptionsWithContext is the same as DeleteRemediationExceptions with the addition of
1426// the ability to pass a context and additional request options.
1427//
1428// See DeleteRemediationExceptions for details on how to use this API operation.
1429//
1430// The context must be non-nil and will be used for request cancellation. If
1431// the context is nil a panic will occur. In the future the SDK may create
1432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1433// for more information on using Contexts.
1434func (c *ConfigService) DeleteRemediationExceptionsWithContext(ctx aws.Context, input *DeleteRemediationExceptionsInput, opts ...request.Option) (*DeleteRemediationExceptionsOutput, error) {
1435	req, out := c.DeleteRemediationExceptionsRequest(input)
1436	req.SetContext(ctx)
1437	req.ApplyOptions(opts...)
1438	return out, req.Send()
1439}
1440
1441const opDeleteResourceConfig = "DeleteResourceConfig"
1442
1443// DeleteResourceConfigRequest generates a "aws/request.Request" representing the
1444// client's request for the DeleteResourceConfig operation. The "output" return
1445// value will be populated with the request's response once the request completes
1446// successfully.
1447//
1448// Use "Send" method on the returned Request to send the API call to the service.
1449// the "output" return value is not valid until after Send returns without error.
1450//
1451// See DeleteResourceConfig for more information on using the DeleteResourceConfig
1452// API call, and error handling.
1453//
1454// This method is useful when you want to inject custom logic or configuration
1455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1456//
1457//
1458//    // Example sending a request using the DeleteResourceConfigRequest method.
1459//    req, resp := client.DeleteResourceConfigRequest(params)
1460//
1461//    err := req.Send()
1462//    if err == nil { // resp is now filled
1463//        fmt.Println(resp)
1464//    }
1465//
1466// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
1467func (c *ConfigService) DeleteResourceConfigRequest(input *DeleteResourceConfigInput) (req *request.Request, output *DeleteResourceConfigOutput) {
1468	op := &request.Operation{
1469		Name:       opDeleteResourceConfig,
1470		HTTPMethod: "POST",
1471		HTTPPath:   "/",
1472	}
1473
1474	if input == nil {
1475		input = &DeleteResourceConfigInput{}
1476	}
1477
1478	output = &DeleteResourceConfigOutput{}
1479	req = c.newRequest(op, input, output)
1480	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1481	return
1482}
1483
1484// DeleteResourceConfig API operation for AWS Config.
1485//
1486// Records the configuration state for a custom resource that has been deleted.
1487// This API records a new ConfigurationItem with a ResourceDeleted status. You
1488// can retrieve the ConfigurationItems recorded for this resource in your AWS
1489// Config History.
1490//
1491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1492// with awserr.Error's Code and Message methods to get detailed information about
1493// the error.
1494//
1495// See the AWS API reference guide for AWS Config's
1496// API operation DeleteResourceConfig for usage and error information.
1497//
1498// Returned Error Types:
1499//   * ValidationException
1500//   The requested action is not valid.
1501//
1502//   For PutStoredQuery, you will see this exception if there are missing required
1503//   fields or if the input value fails the validation, or if you are trying to
1504//   create more than 300 queries.
1505//
1506//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
1507//   exception if there are missing required fields or if the input value fails
1508//   the validation.
1509//
1510//   * NoRunningConfigurationRecorderException
1511//   There is no configuration recorder running.
1512//
1513// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
1514func (c *ConfigService) DeleteResourceConfig(input *DeleteResourceConfigInput) (*DeleteResourceConfigOutput, error) {
1515	req, out := c.DeleteResourceConfigRequest(input)
1516	return out, req.Send()
1517}
1518
1519// DeleteResourceConfigWithContext is the same as DeleteResourceConfig with the addition of
1520// the ability to pass a context and additional request options.
1521//
1522// See DeleteResourceConfig for details on how to use this API operation.
1523//
1524// The context must be non-nil and will be used for request cancellation. If
1525// the context is nil a panic will occur. In the future the SDK may create
1526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1527// for more information on using Contexts.
1528func (c *ConfigService) DeleteResourceConfigWithContext(ctx aws.Context, input *DeleteResourceConfigInput, opts ...request.Option) (*DeleteResourceConfigOutput, error) {
1529	req, out := c.DeleteResourceConfigRequest(input)
1530	req.SetContext(ctx)
1531	req.ApplyOptions(opts...)
1532	return out, req.Send()
1533}
1534
1535const opDeleteRetentionConfiguration = "DeleteRetentionConfiguration"
1536
1537// DeleteRetentionConfigurationRequest generates a "aws/request.Request" representing the
1538// client's request for the DeleteRetentionConfiguration operation. The "output" return
1539// value will be populated with the request's response once the request completes
1540// successfully.
1541//
1542// Use "Send" method on the returned Request to send the API call to the service.
1543// the "output" return value is not valid until after Send returns without error.
1544//
1545// See DeleteRetentionConfiguration for more information on using the DeleteRetentionConfiguration
1546// API call, and error handling.
1547//
1548// This method is useful when you want to inject custom logic or configuration
1549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1550//
1551//
1552//    // Example sending a request using the DeleteRetentionConfigurationRequest method.
1553//    req, resp := client.DeleteRetentionConfigurationRequest(params)
1554//
1555//    err := req.Send()
1556//    if err == nil { // resp is now filled
1557//        fmt.Println(resp)
1558//    }
1559//
1560// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
1561func (c *ConfigService) DeleteRetentionConfigurationRequest(input *DeleteRetentionConfigurationInput) (req *request.Request, output *DeleteRetentionConfigurationOutput) {
1562	op := &request.Operation{
1563		Name:       opDeleteRetentionConfiguration,
1564		HTTPMethod: "POST",
1565		HTTPPath:   "/",
1566	}
1567
1568	if input == nil {
1569		input = &DeleteRetentionConfigurationInput{}
1570	}
1571
1572	output = &DeleteRetentionConfigurationOutput{}
1573	req = c.newRequest(op, input, output)
1574	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1575	return
1576}
1577
1578// DeleteRetentionConfiguration API operation for AWS Config.
1579//
1580// Deletes the retention configuration.
1581//
1582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1583// with awserr.Error's Code and Message methods to get detailed information about
1584// the error.
1585//
1586// See the AWS API reference guide for AWS Config's
1587// API operation DeleteRetentionConfiguration for usage and error information.
1588//
1589// Returned Error Types:
1590//   * InvalidParameterValueException
1591//   One or more of the specified parameters are invalid. Verify that your parameters
1592//   are valid and try again.
1593//
1594//   * NoSuchRetentionConfigurationException
1595//   You have specified a retention configuration that does not exist.
1596//
1597// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
1598func (c *ConfigService) DeleteRetentionConfiguration(input *DeleteRetentionConfigurationInput) (*DeleteRetentionConfigurationOutput, error) {
1599	req, out := c.DeleteRetentionConfigurationRequest(input)
1600	return out, req.Send()
1601}
1602
1603// DeleteRetentionConfigurationWithContext is the same as DeleteRetentionConfiguration with the addition of
1604// the ability to pass a context and additional request options.
1605//
1606// See DeleteRetentionConfiguration for details on how to use this API operation.
1607//
1608// The context must be non-nil and will be used for request cancellation. If
1609// the context is nil a panic will occur. In the future the SDK may create
1610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1611// for more information on using Contexts.
1612func (c *ConfigService) DeleteRetentionConfigurationWithContext(ctx aws.Context, input *DeleteRetentionConfigurationInput, opts ...request.Option) (*DeleteRetentionConfigurationOutput, error) {
1613	req, out := c.DeleteRetentionConfigurationRequest(input)
1614	req.SetContext(ctx)
1615	req.ApplyOptions(opts...)
1616	return out, req.Send()
1617}
1618
1619const opDeleteStoredQuery = "DeleteStoredQuery"
1620
1621// DeleteStoredQueryRequest generates a "aws/request.Request" representing the
1622// client's request for the DeleteStoredQuery operation. The "output" return
1623// value will be populated with the request's response once the request completes
1624// successfully.
1625//
1626// Use "Send" method on the returned Request to send the API call to the service.
1627// the "output" return value is not valid until after Send returns without error.
1628//
1629// See DeleteStoredQuery for more information on using the DeleteStoredQuery
1630// API call, and error handling.
1631//
1632// This method is useful when you want to inject custom logic or configuration
1633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1634//
1635//
1636//    // Example sending a request using the DeleteStoredQueryRequest method.
1637//    req, resp := client.DeleteStoredQueryRequest(params)
1638//
1639//    err := req.Send()
1640//    if err == nil { // resp is now filled
1641//        fmt.Println(resp)
1642//    }
1643//
1644// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
1645func (c *ConfigService) DeleteStoredQueryRequest(input *DeleteStoredQueryInput) (req *request.Request, output *DeleteStoredQueryOutput) {
1646	op := &request.Operation{
1647		Name:       opDeleteStoredQuery,
1648		HTTPMethod: "POST",
1649		HTTPPath:   "/",
1650	}
1651
1652	if input == nil {
1653		input = &DeleteStoredQueryInput{}
1654	}
1655
1656	output = &DeleteStoredQueryOutput{}
1657	req = c.newRequest(op, input, output)
1658	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1659	return
1660}
1661
1662// DeleteStoredQuery API operation for AWS Config.
1663//
1664// Deletes the stored query for a single AWS account and a single AWS Region.
1665//
1666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1667// with awserr.Error's Code and Message methods to get detailed information about
1668// the error.
1669//
1670// See the AWS API reference guide for AWS Config's
1671// API operation DeleteStoredQuery for usage and error information.
1672//
1673// Returned Error Types:
1674//   * ValidationException
1675//   The requested action is not valid.
1676//
1677//   For PutStoredQuery, you will see this exception if there are missing required
1678//   fields or if the input value fails the validation, or if you are trying to
1679//   create more than 300 queries.
1680//
1681//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
1682//   exception if there are missing required fields or if the input value fails
1683//   the validation.
1684//
1685//   * ResourceNotFoundException
1686//   You have specified a resource that does not exist.
1687//
1688// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
1689func (c *ConfigService) DeleteStoredQuery(input *DeleteStoredQueryInput) (*DeleteStoredQueryOutput, error) {
1690	req, out := c.DeleteStoredQueryRequest(input)
1691	return out, req.Send()
1692}
1693
1694// DeleteStoredQueryWithContext is the same as DeleteStoredQuery with the addition of
1695// the ability to pass a context and additional request options.
1696//
1697// See DeleteStoredQuery for details on how to use this API operation.
1698//
1699// The context must be non-nil and will be used for request cancellation. If
1700// the context is nil a panic will occur. In the future the SDK may create
1701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1702// for more information on using Contexts.
1703func (c *ConfigService) DeleteStoredQueryWithContext(ctx aws.Context, input *DeleteStoredQueryInput, opts ...request.Option) (*DeleteStoredQueryOutput, error) {
1704	req, out := c.DeleteStoredQueryRequest(input)
1705	req.SetContext(ctx)
1706	req.ApplyOptions(opts...)
1707	return out, req.Send()
1708}
1709
1710const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
1711
1712// DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
1713// client's request for the DeliverConfigSnapshot operation. The "output" return
1714// value will be populated with the request's response once the request completes
1715// successfully.
1716//
1717// Use "Send" method on the returned Request to send the API call to the service.
1718// the "output" return value is not valid until after Send returns without error.
1719//
1720// See DeliverConfigSnapshot for more information on using the DeliverConfigSnapshot
1721// API call, and error handling.
1722//
1723// This method is useful when you want to inject custom logic or configuration
1724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1725//
1726//
1727//    // Example sending a request using the DeliverConfigSnapshotRequest method.
1728//    req, resp := client.DeliverConfigSnapshotRequest(params)
1729//
1730//    err := req.Send()
1731//    if err == nil { // resp is now filled
1732//        fmt.Println(resp)
1733//    }
1734//
1735// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
1736func (c *ConfigService) DeliverConfigSnapshotRequest(input *DeliverConfigSnapshotInput) (req *request.Request, output *DeliverConfigSnapshotOutput) {
1737	op := &request.Operation{
1738		Name:       opDeliverConfigSnapshot,
1739		HTTPMethod: "POST",
1740		HTTPPath:   "/",
1741	}
1742
1743	if input == nil {
1744		input = &DeliverConfigSnapshotInput{}
1745	}
1746
1747	output = &DeliverConfigSnapshotOutput{}
1748	req = c.newRequest(op, input, output)
1749	return
1750}
1751
1752// DeliverConfigSnapshot API operation for AWS Config.
1753//
1754// Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
1755// the specified delivery channel. After the delivery has started, AWS Config
1756// sends the following notifications using an Amazon SNS topic that you have
1757// specified.
1758//
1759//    * Notification of the start of the delivery.
1760//
1761//    * Notification of the completion of the delivery, if the delivery was
1762//    successfully completed.
1763//
1764//    * Notification of delivery failure, if the delivery failed.
1765//
1766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1767// with awserr.Error's Code and Message methods to get detailed information about
1768// the error.
1769//
1770// See the AWS API reference guide for AWS Config's
1771// API operation DeliverConfigSnapshot for usage and error information.
1772//
1773// Returned Error Types:
1774//   * NoSuchDeliveryChannelException
1775//   You have specified a delivery channel that does not exist.
1776//
1777//   * NoAvailableConfigurationRecorderException
1778//   There are no configuration recorders available to provide the role needed
1779//   to describe your resources. Create a configuration recorder.
1780//
1781//   * NoRunningConfigurationRecorderException
1782//   There is no configuration recorder running.
1783//
1784// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
1785func (c *ConfigService) DeliverConfigSnapshot(input *DeliverConfigSnapshotInput) (*DeliverConfigSnapshotOutput, error) {
1786	req, out := c.DeliverConfigSnapshotRequest(input)
1787	return out, req.Send()
1788}
1789
1790// DeliverConfigSnapshotWithContext is the same as DeliverConfigSnapshot with the addition of
1791// the ability to pass a context and additional request options.
1792//
1793// See DeliverConfigSnapshot for details on how to use this API operation.
1794//
1795// The context must be non-nil and will be used for request cancellation. If
1796// the context is nil a panic will occur. In the future the SDK may create
1797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1798// for more information on using Contexts.
1799func (c *ConfigService) DeliverConfigSnapshotWithContext(ctx aws.Context, input *DeliverConfigSnapshotInput, opts ...request.Option) (*DeliverConfigSnapshotOutput, error) {
1800	req, out := c.DeliverConfigSnapshotRequest(input)
1801	req.SetContext(ctx)
1802	req.ApplyOptions(opts...)
1803	return out, req.Send()
1804}
1805
1806const opDescribeAggregateComplianceByConfigRules = "DescribeAggregateComplianceByConfigRules"
1807
1808// DescribeAggregateComplianceByConfigRulesRequest generates a "aws/request.Request" representing the
1809// client's request for the DescribeAggregateComplianceByConfigRules operation. The "output" return
1810// value will be populated with the request's response once the request completes
1811// successfully.
1812//
1813// Use "Send" method on the returned Request to send the API call to the service.
1814// the "output" return value is not valid until after Send returns without error.
1815//
1816// See DescribeAggregateComplianceByConfigRules for more information on using the DescribeAggregateComplianceByConfigRules
1817// API call, and error handling.
1818//
1819// This method is useful when you want to inject custom logic or configuration
1820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1821//
1822//
1823//    // Example sending a request using the DescribeAggregateComplianceByConfigRulesRequest method.
1824//    req, resp := client.DescribeAggregateComplianceByConfigRulesRequest(params)
1825//
1826//    err := req.Send()
1827//    if err == nil { // resp is now filled
1828//        fmt.Println(resp)
1829//    }
1830//
1831// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
1832func (c *ConfigService) DescribeAggregateComplianceByConfigRulesRequest(input *DescribeAggregateComplianceByConfigRulesInput) (req *request.Request, output *DescribeAggregateComplianceByConfigRulesOutput) {
1833	op := &request.Operation{
1834		Name:       opDescribeAggregateComplianceByConfigRules,
1835		HTTPMethod: "POST",
1836		HTTPPath:   "/",
1837	}
1838
1839	if input == nil {
1840		input = &DescribeAggregateComplianceByConfigRulesInput{}
1841	}
1842
1843	output = &DescribeAggregateComplianceByConfigRulesOutput{}
1844	req = c.newRequest(op, input, output)
1845	return
1846}
1847
1848// DescribeAggregateComplianceByConfigRules API operation for AWS Config.
1849//
1850// Returns a list of compliant and noncompliant rules with the number of resources
1851// for compliant and noncompliant rules.
1852//
1853// The results can return an empty result page, but if you have a nextToken,
1854// the results are displayed on the next page.
1855//
1856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1857// with awserr.Error's Code and Message methods to get detailed information about
1858// the error.
1859//
1860// See the AWS API reference guide for AWS Config's
1861// API operation DescribeAggregateComplianceByConfigRules for usage and error information.
1862//
1863// Returned Error Types:
1864//   * ValidationException
1865//   The requested action is not valid.
1866//
1867//   For PutStoredQuery, you will see this exception if there are missing required
1868//   fields or if the input value fails the validation, or if you are trying to
1869//   create more than 300 queries.
1870//
1871//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
1872//   exception if there are missing required fields or if the input value fails
1873//   the validation.
1874//
1875//   * InvalidLimitException
1876//   The specified limit is outside the allowable range.
1877//
1878//   * InvalidNextTokenException
1879//   The specified next token is invalid. Specify the nextToken string that was
1880//   returned in the previous response to get the next page of results.
1881//
1882//   * NoSuchConfigurationAggregatorException
1883//   You have specified a configuration aggregator that does not exist.
1884//
1885// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
1886func (c *ConfigService) DescribeAggregateComplianceByConfigRules(input *DescribeAggregateComplianceByConfigRulesInput) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
1887	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
1888	return out, req.Send()
1889}
1890
1891// DescribeAggregateComplianceByConfigRulesWithContext is the same as DescribeAggregateComplianceByConfigRules with the addition of
1892// the ability to pass a context and additional request options.
1893//
1894// See DescribeAggregateComplianceByConfigRules for details on how to use this API operation.
1895//
1896// The context must be non-nil and will be used for request cancellation. If
1897// the context is nil a panic will occur. In the future the SDK may create
1898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1899// for more information on using Contexts.
1900func (c *ConfigService) DescribeAggregateComplianceByConfigRulesWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConfigRulesInput, opts ...request.Option) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
1901	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
1902	req.SetContext(ctx)
1903	req.ApplyOptions(opts...)
1904	return out, req.Send()
1905}
1906
1907const opDescribeAggregateComplianceByConformancePacks = "DescribeAggregateComplianceByConformancePacks"
1908
1909// DescribeAggregateComplianceByConformancePacksRequest generates a "aws/request.Request" representing the
1910// client's request for the DescribeAggregateComplianceByConformancePacks operation. The "output" return
1911// value will be populated with the request's response once the request completes
1912// successfully.
1913//
1914// Use "Send" method on the returned Request to send the API call to the service.
1915// the "output" return value is not valid until after Send returns without error.
1916//
1917// See DescribeAggregateComplianceByConformancePacks for more information on using the DescribeAggregateComplianceByConformancePacks
1918// API call, and error handling.
1919//
1920// This method is useful when you want to inject custom logic or configuration
1921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1922//
1923//
1924//    // Example sending a request using the DescribeAggregateComplianceByConformancePacksRequest method.
1925//    req, resp := client.DescribeAggregateComplianceByConformancePacksRequest(params)
1926//
1927//    err := req.Send()
1928//    if err == nil { // resp is now filled
1929//        fmt.Println(resp)
1930//    }
1931//
1932// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConformancePacks
1933func (c *ConfigService) DescribeAggregateComplianceByConformancePacksRequest(input *DescribeAggregateComplianceByConformancePacksInput) (req *request.Request, output *DescribeAggregateComplianceByConformancePacksOutput) {
1934	op := &request.Operation{
1935		Name:       opDescribeAggregateComplianceByConformancePacks,
1936		HTTPMethod: "POST",
1937		HTTPPath:   "/",
1938	}
1939
1940	if input == nil {
1941		input = &DescribeAggregateComplianceByConformancePacksInput{}
1942	}
1943
1944	output = &DescribeAggregateComplianceByConformancePacksOutput{}
1945	req = c.newRequest(op, input, output)
1946	return
1947}
1948
1949// DescribeAggregateComplianceByConformancePacks API operation for AWS Config.
1950//
1951// Returns a list of the conformance packs and their associated compliance status
1952// with the count of compliant and noncompliant AWS Config rules within each
1953// conformance pack. Also returns the total rule count which includes compliant
1954// rules, noncompliant rules, and rules that cannot be evaluated due to insufficient
1955// data.
1956//
1957// The results can return an empty result page, but if you have a nextToken,
1958// the results are displayed on the next page.
1959//
1960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1961// with awserr.Error's Code and Message methods to get detailed information about
1962// the error.
1963//
1964// See the AWS API reference guide for AWS Config's
1965// API operation DescribeAggregateComplianceByConformancePacks for usage and error information.
1966//
1967// Returned Error Types:
1968//   * ValidationException
1969//   The requested action is not valid.
1970//
1971//   For PutStoredQuery, you will see this exception if there are missing required
1972//   fields or if the input value fails the validation, or if you are trying to
1973//   create more than 300 queries.
1974//
1975//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
1976//   exception if there are missing required fields or if the input value fails
1977//   the validation.
1978//
1979//   * InvalidLimitException
1980//   The specified limit is outside the allowable range.
1981//
1982//   * InvalidNextTokenException
1983//   The specified next token is invalid. Specify the nextToken string that was
1984//   returned in the previous response to get the next page of results.
1985//
1986//   * NoSuchConfigurationAggregatorException
1987//   You have specified a configuration aggregator that does not exist.
1988//
1989// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConformancePacks
1990func (c *ConfigService) DescribeAggregateComplianceByConformancePacks(input *DescribeAggregateComplianceByConformancePacksInput) (*DescribeAggregateComplianceByConformancePacksOutput, error) {
1991	req, out := c.DescribeAggregateComplianceByConformancePacksRequest(input)
1992	return out, req.Send()
1993}
1994
1995// DescribeAggregateComplianceByConformancePacksWithContext is the same as DescribeAggregateComplianceByConformancePacks with the addition of
1996// the ability to pass a context and additional request options.
1997//
1998// See DescribeAggregateComplianceByConformancePacks for details on how to use this API operation.
1999//
2000// The context must be non-nil and will be used for request cancellation. If
2001// the context is nil a panic will occur. In the future the SDK may create
2002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2003// for more information on using Contexts.
2004func (c *ConfigService) DescribeAggregateComplianceByConformancePacksWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConformancePacksInput, opts ...request.Option) (*DescribeAggregateComplianceByConformancePacksOutput, error) {
2005	req, out := c.DescribeAggregateComplianceByConformancePacksRequest(input)
2006	req.SetContext(ctx)
2007	req.ApplyOptions(opts...)
2008	return out, req.Send()
2009}
2010
2011const opDescribeAggregationAuthorizations = "DescribeAggregationAuthorizations"
2012
2013// DescribeAggregationAuthorizationsRequest generates a "aws/request.Request" representing the
2014// client's request for the DescribeAggregationAuthorizations operation. The "output" return
2015// value will be populated with the request's response once the request completes
2016// successfully.
2017//
2018// Use "Send" method on the returned Request to send the API call to the service.
2019// the "output" return value is not valid until after Send returns without error.
2020//
2021// See DescribeAggregationAuthorizations for more information on using the DescribeAggregationAuthorizations
2022// API call, and error handling.
2023//
2024// This method is useful when you want to inject custom logic or configuration
2025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2026//
2027//
2028//    // Example sending a request using the DescribeAggregationAuthorizationsRequest method.
2029//    req, resp := client.DescribeAggregationAuthorizationsRequest(params)
2030//
2031//    err := req.Send()
2032//    if err == nil { // resp is now filled
2033//        fmt.Println(resp)
2034//    }
2035//
2036// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
2037func (c *ConfigService) DescribeAggregationAuthorizationsRequest(input *DescribeAggregationAuthorizationsInput) (req *request.Request, output *DescribeAggregationAuthorizationsOutput) {
2038	op := &request.Operation{
2039		Name:       opDescribeAggregationAuthorizations,
2040		HTTPMethod: "POST",
2041		HTTPPath:   "/",
2042	}
2043
2044	if input == nil {
2045		input = &DescribeAggregationAuthorizationsInput{}
2046	}
2047
2048	output = &DescribeAggregationAuthorizationsOutput{}
2049	req = c.newRequest(op, input, output)
2050	return
2051}
2052
2053// DescribeAggregationAuthorizations API operation for AWS Config.
2054//
2055// Returns a list of authorizations granted to various aggregator accounts and
2056// regions.
2057//
2058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2059// with awserr.Error's Code and Message methods to get detailed information about
2060// the error.
2061//
2062// See the AWS API reference guide for AWS Config's
2063// API operation DescribeAggregationAuthorizations for usage and error information.
2064//
2065// Returned Error Types:
2066//   * InvalidParameterValueException
2067//   One or more of the specified parameters are invalid. Verify that your parameters
2068//   are valid and try again.
2069//
2070//   * InvalidNextTokenException
2071//   The specified next token is invalid. Specify the nextToken string that was
2072//   returned in the previous response to get the next page of results.
2073//
2074//   * InvalidLimitException
2075//   The specified limit is outside the allowable range.
2076//
2077// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
2078func (c *ConfigService) DescribeAggregationAuthorizations(input *DescribeAggregationAuthorizationsInput) (*DescribeAggregationAuthorizationsOutput, error) {
2079	req, out := c.DescribeAggregationAuthorizationsRequest(input)
2080	return out, req.Send()
2081}
2082
2083// DescribeAggregationAuthorizationsWithContext is the same as DescribeAggregationAuthorizations with the addition of
2084// the ability to pass a context and additional request options.
2085//
2086// See DescribeAggregationAuthorizations for details on how to use this API operation.
2087//
2088// The context must be non-nil and will be used for request cancellation. If
2089// the context is nil a panic will occur. In the future the SDK may create
2090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2091// for more information on using Contexts.
2092func (c *ConfigService) DescribeAggregationAuthorizationsWithContext(ctx aws.Context, input *DescribeAggregationAuthorizationsInput, opts ...request.Option) (*DescribeAggregationAuthorizationsOutput, error) {
2093	req, out := c.DescribeAggregationAuthorizationsRequest(input)
2094	req.SetContext(ctx)
2095	req.ApplyOptions(opts...)
2096	return out, req.Send()
2097}
2098
2099const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
2100
2101// DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
2102// client's request for the DescribeComplianceByConfigRule operation. The "output" return
2103// value will be populated with the request's response once the request completes
2104// successfully.
2105//
2106// Use "Send" method on the returned Request to send the API call to the service.
2107// the "output" return value is not valid until after Send returns without error.
2108//
2109// See DescribeComplianceByConfigRule for more information on using the DescribeComplianceByConfigRule
2110// API call, and error handling.
2111//
2112// This method is useful when you want to inject custom logic or configuration
2113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2114//
2115//
2116//    // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
2117//    req, resp := client.DescribeComplianceByConfigRuleRequest(params)
2118//
2119//    err := req.Send()
2120//    if err == nil { // resp is now filled
2121//        fmt.Println(resp)
2122//    }
2123//
2124// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
2125func (c *ConfigService) DescribeComplianceByConfigRuleRequest(input *DescribeComplianceByConfigRuleInput) (req *request.Request, output *DescribeComplianceByConfigRuleOutput) {
2126	op := &request.Operation{
2127		Name:       opDescribeComplianceByConfigRule,
2128		HTTPMethod: "POST",
2129		HTTPPath:   "/",
2130	}
2131
2132	if input == nil {
2133		input = &DescribeComplianceByConfigRuleInput{}
2134	}
2135
2136	output = &DescribeComplianceByConfigRuleOutput{}
2137	req = c.newRequest(op, input, output)
2138	return
2139}
2140
2141// DescribeComplianceByConfigRule API operation for AWS Config.
2142//
2143// Indicates whether the specified AWS Config rules are compliant. If a rule
2144// is noncompliant, this action returns the number of AWS resources that do
2145// not comply with the rule.
2146//
2147// A rule is compliant if all of the evaluated resources comply with it. It
2148// is noncompliant if any of these resources do not comply.
2149//
2150// If AWS Config has no current evaluation results for the rule, it returns
2151// INSUFFICIENT_DATA. This result might indicate one of the following conditions:
2152//
2153//    * AWS Config has never invoked an evaluation for the rule. To check whether
2154//    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
2155//    and LastFailedInvocationTime.
2156//
2157//    * The rule's AWS Lambda function is failing to send evaluation results
2158//    to AWS Config. Verify that the role you assigned to your configuration
2159//    recorder includes the config:PutEvaluations permission. If the rule is
2160//    a custom rule, verify that the AWS Lambda execution role includes the
2161//    config:PutEvaluations permission.
2162//
2163//    * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
2164//    results. This can occur if the resources were deleted or removed from
2165//    the rule's scope.
2166//
2167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2168// with awserr.Error's Code and Message methods to get detailed information about
2169// the error.
2170//
2171// See the AWS API reference guide for AWS Config's
2172// API operation DescribeComplianceByConfigRule for usage and error information.
2173//
2174// Returned Error Types:
2175//   * InvalidParameterValueException
2176//   One or more of the specified parameters are invalid. Verify that your parameters
2177//   are valid and try again.
2178//
2179//   * NoSuchConfigRuleException
2180//   One or more AWS Config rules in the request are invalid. Verify that the
2181//   rule names are correct and try again.
2182//
2183//   * InvalidNextTokenException
2184//   The specified next token is invalid. Specify the nextToken string that was
2185//   returned in the previous response to get the next page of results.
2186//
2187// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
2188func (c *ConfigService) DescribeComplianceByConfigRule(input *DescribeComplianceByConfigRuleInput) (*DescribeComplianceByConfigRuleOutput, error) {
2189	req, out := c.DescribeComplianceByConfigRuleRequest(input)
2190	return out, req.Send()
2191}
2192
2193// DescribeComplianceByConfigRuleWithContext is the same as DescribeComplianceByConfigRule with the addition of
2194// the ability to pass a context and additional request options.
2195//
2196// See DescribeComplianceByConfigRule for details on how to use this API operation.
2197//
2198// The context must be non-nil and will be used for request cancellation. If
2199// the context is nil a panic will occur. In the future the SDK may create
2200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2201// for more information on using Contexts.
2202func (c *ConfigService) DescribeComplianceByConfigRuleWithContext(ctx aws.Context, input *DescribeComplianceByConfigRuleInput, opts ...request.Option) (*DescribeComplianceByConfigRuleOutput, error) {
2203	req, out := c.DescribeComplianceByConfigRuleRequest(input)
2204	req.SetContext(ctx)
2205	req.ApplyOptions(opts...)
2206	return out, req.Send()
2207}
2208
2209const opDescribeComplianceByResource = "DescribeComplianceByResource"
2210
2211// DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
2212// client's request for the DescribeComplianceByResource operation. The "output" return
2213// value will be populated with the request's response once the request completes
2214// successfully.
2215//
2216// Use "Send" method on the returned Request to send the API call to the service.
2217// the "output" return value is not valid until after Send returns without error.
2218//
2219// See DescribeComplianceByResource for more information on using the DescribeComplianceByResource
2220// API call, and error handling.
2221//
2222// This method is useful when you want to inject custom logic or configuration
2223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2224//
2225//
2226//    // Example sending a request using the DescribeComplianceByResourceRequest method.
2227//    req, resp := client.DescribeComplianceByResourceRequest(params)
2228//
2229//    err := req.Send()
2230//    if err == nil { // resp is now filled
2231//        fmt.Println(resp)
2232//    }
2233//
2234// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
2235func (c *ConfigService) DescribeComplianceByResourceRequest(input *DescribeComplianceByResourceInput) (req *request.Request, output *DescribeComplianceByResourceOutput) {
2236	op := &request.Operation{
2237		Name:       opDescribeComplianceByResource,
2238		HTTPMethod: "POST",
2239		HTTPPath:   "/",
2240	}
2241
2242	if input == nil {
2243		input = &DescribeComplianceByResourceInput{}
2244	}
2245
2246	output = &DescribeComplianceByResourceOutput{}
2247	req = c.newRequest(op, input, output)
2248	return
2249}
2250
2251// DescribeComplianceByResource API operation for AWS Config.
2252//
2253// Indicates whether the specified AWS resources are compliant. If a resource
2254// is noncompliant, this action returns the number of AWS Config rules that
2255// the resource does not comply with.
2256//
2257// A resource is compliant if it complies with all the AWS Config rules that
2258// evaluate it. It is noncompliant if it does not comply with one or more of
2259// these rules.
2260//
2261// If AWS Config has no current evaluation results for the resource, it returns
2262// INSUFFICIENT_DATA. This result might indicate one of the following conditions
2263// about the rules that evaluate the resource:
2264//
2265//    * AWS Config has never invoked an evaluation for the rule. To check whether
2266//    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
2267//    and LastFailedInvocationTime.
2268//
2269//    * The rule's AWS Lambda function is failing to send evaluation results
2270//    to AWS Config. Verify that the role that you assigned to your configuration
2271//    recorder includes the config:PutEvaluations permission. If the rule is
2272//    a custom rule, verify that the AWS Lambda execution role includes the
2273//    config:PutEvaluations permission.
2274//
2275//    * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
2276//    results. This can occur if the resources were deleted or removed from
2277//    the rule's scope.
2278//
2279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2280// with awserr.Error's Code and Message methods to get detailed information about
2281// the error.
2282//
2283// See the AWS API reference guide for AWS Config's
2284// API operation DescribeComplianceByResource for usage and error information.
2285//
2286// Returned Error Types:
2287//   * InvalidParameterValueException
2288//   One or more of the specified parameters are invalid. Verify that your parameters
2289//   are valid and try again.
2290//
2291//   * InvalidNextTokenException
2292//   The specified next token is invalid. Specify the nextToken string that was
2293//   returned in the previous response to get the next page of results.
2294//
2295// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
2296func (c *ConfigService) DescribeComplianceByResource(input *DescribeComplianceByResourceInput) (*DescribeComplianceByResourceOutput, error) {
2297	req, out := c.DescribeComplianceByResourceRequest(input)
2298	return out, req.Send()
2299}
2300
2301// DescribeComplianceByResourceWithContext is the same as DescribeComplianceByResource with the addition of
2302// the ability to pass a context and additional request options.
2303//
2304// See DescribeComplianceByResource for details on how to use this API operation.
2305//
2306// The context must be non-nil and will be used for request cancellation. If
2307// the context is nil a panic will occur. In the future the SDK may create
2308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2309// for more information on using Contexts.
2310func (c *ConfigService) DescribeComplianceByResourceWithContext(ctx aws.Context, input *DescribeComplianceByResourceInput, opts ...request.Option) (*DescribeComplianceByResourceOutput, error) {
2311	req, out := c.DescribeComplianceByResourceRequest(input)
2312	req.SetContext(ctx)
2313	req.ApplyOptions(opts...)
2314	return out, req.Send()
2315}
2316
2317const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
2318
2319// DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
2320// client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
2321// value will be populated with the request's response once the request completes
2322// successfully.
2323//
2324// Use "Send" method on the returned Request to send the API call to the service.
2325// the "output" return value is not valid until after Send returns without error.
2326//
2327// See DescribeConfigRuleEvaluationStatus for more information on using the DescribeConfigRuleEvaluationStatus
2328// API call, and error handling.
2329//
2330// This method is useful when you want to inject custom logic or configuration
2331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2332//
2333//
2334//    // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
2335//    req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
2336//
2337//    err := req.Send()
2338//    if err == nil { // resp is now filled
2339//        fmt.Println(resp)
2340//    }
2341//
2342// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
2343func (c *ConfigService) DescribeConfigRuleEvaluationStatusRequest(input *DescribeConfigRuleEvaluationStatusInput) (req *request.Request, output *DescribeConfigRuleEvaluationStatusOutput) {
2344	op := &request.Operation{
2345		Name:       opDescribeConfigRuleEvaluationStatus,
2346		HTTPMethod: "POST",
2347		HTTPPath:   "/",
2348	}
2349
2350	if input == nil {
2351		input = &DescribeConfigRuleEvaluationStatusInput{}
2352	}
2353
2354	output = &DescribeConfigRuleEvaluationStatusOutput{}
2355	req = c.newRequest(op, input, output)
2356	return
2357}
2358
2359// DescribeConfigRuleEvaluationStatus API operation for AWS Config.
2360//
2361// Returns status information for each of your AWS managed Config rules. The
2362// status includes information such as the last time AWS Config invoked the
2363// rule, the last time AWS Config failed to invoke the rule, and the related
2364// error for the last failure.
2365//
2366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2367// with awserr.Error's Code and Message methods to get detailed information about
2368// the error.
2369//
2370// See the AWS API reference guide for AWS Config's
2371// API operation DescribeConfigRuleEvaluationStatus for usage and error information.
2372//
2373// Returned Error Types:
2374//   * NoSuchConfigRuleException
2375//   One or more AWS Config rules in the request are invalid. Verify that the
2376//   rule names are correct and try again.
2377//
2378//   * InvalidParameterValueException
2379//   One or more of the specified parameters are invalid. Verify that your parameters
2380//   are valid and try again.
2381//
2382//   * InvalidNextTokenException
2383//   The specified next token is invalid. Specify the nextToken string that was
2384//   returned in the previous response to get the next page of results.
2385//
2386// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
2387func (c *ConfigService) DescribeConfigRuleEvaluationStatus(input *DescribeConfigRuleEvaluationStatusInput) (*DescribeConfigRuleEvaluationStatusOutput, error) {
2388	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
2389	return out, req.Send()
2390}
2391
2392// DescribeConfigRuleEvaluationStatusWithContext is the same as DescribeConfigRuleEvaluationStatus with the addition of
2393// the ability to pass a context and additional request options.
2394//
2395// See DescribeConfigRuleEvaluationStatus for details on how to use this API operation.
2396//
2397// The context must be non-nil and will be used for request cancellation. If
2398// the context is nil a panic will occur. In the future the SDK may create
2399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2400// for more information on using Contexts.
2401func (c *ConfigService) DescribeConfigRuleEvaluationStatusWithContext(ctx aws.Context, input *DescribeConfigRuleEvaluationStatusInput, opts ...request.Option) (*DescribeConfigRuleEvaluationStatusOutput, error) {
2402	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
2403	req.SetContext(ctx)
2404	req.ApplyOptions(opts...)
2405	return out, req.Send()
2406}
2407
2408const opDescribeConfigRules = "DescribeConfigRules"
2409
2410// DescribeConfigRulesRequest generates a "aws/request.Request" representing the
2411// client's request for the DescribeConfigRules operation. The "output" return
2412// value will be populated with the request's response once the request completes
2413// successfully.
2414//
2415// Use "Send" method on the returned Request to send the API call to the service.
2416// the "output" return value is not valid until after Send returns without error.
2417//
2418// See DescribeConfigRules for more information on using the DescribeConfigRules
2419// API call, and error handling.
2420//
2421// This method is useful when you want to inject custom logic or configuration
2422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2423//
2424//
2425//    // Example sending a request using the DescribeConfigRulesRequest method.
2426//    req, resp := client.DescribeConfigRulesRequest(params)
2427//
2428//    err := req.Send()
2429//    if err == nil { // resp is now filled
2430//        fmt.Println(resp)
2431//    }
2432//
2433// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
2434func (c *ConfigService) DescribeConfigRulesRequest(input *DescribeConfigRulesInput) (req *request.Request, output *DescribeConfigRulesOutput) {
2435	op := &request.Operation{
2436		Name:       opDescribeConfigRules,
2437		HTTPMethod: "POST",
2438		HTTPPath:   "/",
2439	}
2440
2441	if input == nil {
2442		input = &DescribeConfigRulesInput{}
2443	}
2444
2445	output = &DescribeConfigRulesOutput{}
2446	req = c.newRequest(op, input, output)
2447	return
2448}
2449
2450// DescribeConfigRules API operation for AWS Config.
2451//
2452// Returns details about your AWS Config rules.
2453//
2454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2455// with awserr.Error's Code and Message methods to get detailed information about
2456// the error.
2457//
2458// See the AWS API reference guide for AWS Config's
2459// API operation DescribeConfigRules for usage and error information.
2460//
2461// Returned Error Types:
2462//   * NoSuchConfigRuleException
2463//   One or more AWS Config rules in the request are invalid. Verify that the
2464//   rule names are correct and try again.
2465//
2466//   * InvalidNextTokenException
2467//   The specified next token is invalid. Specify the nextToken string that was
2468//   returned in the previous response to get the next page of results.
2469//
2470// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
2471func (c *ConfigService) DescribeConfigRules(input *DescribeConfigRulesInput) (*DescribeConfigRulesOutput, error) {
2472	req, out := c.DescribeConfigRulesRequest(input)
2473	return out, req.Send()
2474}
2475
2476// DescribeConfigRulesWithContext is the same as DescribeConfigRules with the addition of
2477// the ability to pass a context and additional request options.
2478//
2479// See DescribeConfigRules for details on how to use this API operation.
2480//
2481// The context must be non-nil and will be used for request cancellation. If
2482// the context is nil a panic will occur. In the future the SDK may create
2483// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2484// for more information on using Contexts.
2485func (c *ConfigService) DescribeConfigRulesWithContext(ctx aws.Context, input *DescribeConfigRulesInput, opts ...request.Option) (*DescribeConfigRulesOutput, error) {
2486	req, out := c.DescribeConfigRulesRequest(input)
2487	req.SetContext(ctx)
2488	req.ApplyOptions(opts...)
2489	return out, req.Send()
2490}
2491
2492const opDescribeConfigurationAggregatorSourcesStatus = "DescribeConfigurationAggregatorSourcesStatus"
2493
2494// DescribeConfigurationAggregatorSourcesStatusRequest generates a "aws/request.Request" representing the
2495// client's request for the DescribeConfigurationAggregatorSourcesStatus operation. The "output" return
2496// value will be populated with the request's response once the request completes
2497// successfully.
2498//
2499// Use "Send" method on the returned Request to send the API call to the service.
2500// the "output" return value is not valid until after Send returns without error.
2501//
2502// See DescribeConfigurationAggregatorSourcesStatus for more information on using the DescribeConfigurationAggregatorSourcesStatus
2503// API call, and error handling.
2504//
2505// This method is useful when you want to inject custom logic or configuration
2506// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2507//
2508//
2509//    // Example sending a request using the DescribeConfigurationAggregatorSourcesStatusRequest method.
2510//    req, resp := client.DescribeConfigurationAggregatorSourcesStatusRequest(params)
2511//
2512//    err := req.Send()
2513//    if err == nil { // resp is now filled
2514//        fmt.Println(resp)
2515//    }
2516//
2517// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
2518func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusRequest(input *DescribeConfigurationAggregatorSourcesStatusInput) (req *request.Request, output *DescribeConfigurationAggregatorSourcesStatusOutput) {
2519	op := &request.Operation{
2520		Name:       opDescribeConfigurationAggregatorSourcesStatus,
2521		HTTPMethod: "POST",
2522		HTTPPath:   "/",
2523	}
2524
2525	if input == nil {
2526		input = &DescribeConfigurationAggregatorSourcesStatusInput{}
2527	}
2528
2529	output = &DescribeConfigurationAggregatorSourcesStatusOutput{}
2530	req = c.newRequest(op, input, output)
2531	return
2532}
2533
2534// DescribeConfigurationAggregatorSourcesStatus API operation for AWS Config.
2535//
2536// Returns status information for sources within an aggregator. The status includes
2537// information about the last time AWS Config verified authorization between
2538// the source account and an aggregator account. In case of a failure, the status
2539// contains the related error code or message.
2540//
2541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2542// with awserr.Error's Code and Message methods to get detailed information about
2543// the error.
2544//
2545// See the AWS API reference guide for AWS Config's
2546// API operation DescribeConfigurationAggregatorSourcesStatus for usage and error information.
2547//
2548// Returned Error Types:
2549//   * InvalidParameterValueException
2550//   One or more of the specified parameters are invalid. Verify that your parameters
2551//   are valid and try again.
2552//
2553//   * NoSuchConfigurationAggregatorException
2554//   You have specified a configuration aggregator that does not exist.
2555//
2556//   * InvalidNextTokenException
2557//   The specified next token is invalid. Specify the nextToken string that was
2558//   returned in the previous response to get the next page of results.
2559//
2560//   * InvalidLimitException
2561//   The specified limit is outside the allowable range.
2562//
2563// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
2564func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatus(input *DescribeConfigurationAggregatorSourcesStatusInput) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
2565	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
2566	return out, req.Send()
2567}
2568
2569// DescribeConfigurationAggregatorSourcesStatusWithContext is the same as DescribeConfigurationAggregatorSourcesStatus with the addition of
2570// the ability to pass a context and additional request options.
2571//
2572// See DescribeConfigurationAggregatorSourcesStatus for details on how to use this API operation.
2573//
2574// The context must be non-nil and will be used for request cancellation. If
2575// the context is nil a panic will occur. In the future the SDK may create
2576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2577// for more information on using Contexts.
2578func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorSourcesStatusInput, opts ...request.Option) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
2579	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
2580	req.SetContext(ctx)
2581	req.ApplyOptions(opts...)
2582	return out, req.Send()
2583}
2584
2585const opDescribeConfigurationAggregators = "DescribeConfigurationAggregators"
2586
2587// DescribeConfigurationAggregatorsRequest generates a "aws/request.Request" representing the
2588// client's request for the DescribeConfigurationAggregators operation. The "output" return
2589// value will be populated with the request's response once the request completes
2590// successfully.
2591//
2592// Use "Send" method on the returned Request to send the API call to the service.
2593// the "output" return value is not valid until after Send returns without error.
2594//
2595// See DescribeConfigurationAggregators for more information on using the DescribeConfigurationAggregators
2596// API call, and error handling.
2597//
2598// This method is useful when you want to inject custom logic or configuration
2599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2600//
2601//
2602//    // Example sending a request using the DescribeConfigurationAggregatorsRequest method.
2603//    req, resp := client.DescribeConfigurationAggregatorsRequest(params)
2604//
2605//    err := req.Send()
2606//    if err == nil { // resp is now filled
2607//        fmt.Println(resp)
2608//    }
2609//
2610// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
2611func (c *ConfigService) DescribeConfigurationAggregatorsRequest(input *DescribeConfigurationAggregatorsInput) (req *request.Request, output *DescribeConfigurationAggregatorsOutput) {
2612	op := &request.Operation{
2613		Name:       opDescribeConfigurationAggregators,
2614		HTTPMethod: "POST",
2615		HTTPPath:   "/",
2616	}
2617
2618	if input == nil {
2619		input = &DescribeConfigurationAggregatorsInput{}
2620	}
2621
2622	output = &DescribeConfigurationAggregatorsOutput{}
2623	req = c.newRequest(op, input, output)
2624	return
2625}
2626
2627// DescribeConfigurationAggregators API operation for AWS Config.
2628//
2629// Returns the details of one or more configuration aggregators. If the configuration
2630// aggregator is not specified, this action returns the details for all the
2631// configuration aggregators associated with the account.
2632//
2633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2634// with awserr.Error's Code and Message methods to get detailed information about
2635// the error.
2636//
2637// See the AWS API reference guide for AWS Config's
2638// API operation DescribeConfigurationAggregators for usage and error information.
2639//
2640// Returned Error Types:
2641//   * InvalidParameterValueException
2642//   One or more of the specified parameters are invalid. Verify that your parameters
2643//   are valid and try again.
2644//
2645//   * NoSuchConfigurationAggregatorException
2646//   You have specified a configuration aggregator that does not exist.
2647//
2648//   * InvalidNextTokenException
2649//   The specified next token is invalid. Specify the nextToken string that was
2650//   returned in the previous response to get the next page of results.
2651//
2652//   * InvalidLimitException
2653//   The specified limit is outside the allowable range.
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
2656func (c *ConfigService) DescribeConfigurationAggregators(input *DescribeConfigurationAggregatorsInput) (*DescribeConfigurationAggregatorsOutput, error) {
2657	req, out := c.DescribeConfigurationAggregatorsRequest(input)
2658	return out, req.Send()
2659}
2660
2661// DescribeConfigurationAggregatorsWithContext is the same as DescribeConfigurationAggregators with the addition of
2662// the ability to pass a context and additional request options.
2663//
2664// See DescribeConfigurationAggregators for details on how to use this API operation.
2665//
2666// The context must be non-nil and will be used for request cancellation. If
2667// the context is nil a panic will occur. In the future the SDK may create
2668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2669// for more information on using Contexts.
2670func (c *ConfigService) DescribeConfigurationAggregatorsWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorsInput, opts ...request.Option) (*DescribeConfigurationAggregatorsOutput, error) {
2671	req, out := c.DescribeConfigurationAggregatorsRequest(input)
2672	req.SetContext(ctx)
2673	req.ApplyOptions(opts...)
2674	return out, req.Send()
2675}
2676
2677const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
2678
2679// DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
2680// client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
2681// value will be populated with the request's response once the request completes
2682// successfully.
2683//
2684// Use "Send" method on the returned Request to send the API call to the service.
2685// the "output" return value is not valid until after Send returns without error.
2686//
2687// See DescribeConfigurationRecorderStatus for more information on using the DescribeConfigurationRecorderStatus
2688// API call, and error handling.
2689//
2690// This method is useful when you want to inject custom logic or configuration
2691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2692//
2693//
2694//    // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
2695//    req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
2696//
2697//    err := req.Send()
2698//    if err == nil { // resp is now filled
2699//        fmt.Println(resp)
2700//    }
2701//
2702// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
2703func (c *ConfigService) DescribeConfigurationRecorderStatusRequest(input *DescribeConfigurationRecorderStatusInput) (req *request.Request, output *DescribeConfigurationRecorderStatusOutput) {
2704	op := &request.Operation{
2705		Name:       opDescribeConfigurationRecorderStatus,
2706		HTTPMethod: "POST",
2707		HTTPPath:   "/",
2708	}
2709
2710	if input == nil {
2711		input = &DescribeConfigurationRecorderStatusInput{}
2712	}
2713
2714	output = &DescribeConfigurationRecorderStatusOutput{}
2715	req = c.newRequest(op, input, output)
2716	return
2717}
2718
2719// DescribeConfigurationRecorderStatus API operation for AWS Config.
2720//
2721// Returns the current status of the specified configuration recorder. If a
2722// configuration recorder is not specified, this action returns the status of
2723// all configuration recorders associated with the account.
2724//
2725// Currently, you can specify only one configuration recorder per region in
2726// your account.
2727//
2728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2729// with awserr.Error's Code and Message methods to get detailed information about
2730// the error.
2731//
2732// See the AWS API reference guide for AWS Config's
2733// API operation DescribeConfigurationRecorderStatus for usage and error information.
2734//
2735// Returned Error Types:
2736//   * NoSuchConfigurationRecorderException
2737//   You have specified a configuration recorder that does not exist.
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
2740func (c *ConfigService) DescribeConfigurationRecorderStatus(input *DescribeConfigurationRecorderStatusInput) (*DescribeConfigurationRecorderStatusOutput, error) {
2741	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
2742	return out, req.Send()
2743}
2744
2745// DescribeConfigurationRecorderStatusWithContext is the same as DescribeConfigurationRecorderStatus with the addition of
2746// the ability to pass a context and additional request options.
2747//
2748// See DescribeConfigurationRecorderStatus for details on how to use this API operation.
2749//
2750// The context must be non-nil and will be used for request cancellation. If
2751// the context is nil a panic will occur. In the future the SDK may create
2752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2753// for more information on using Contexts.
2754func (c *ConfigService) DescribeConfigurationRecorderStatusWithContext(ctx aws.Context, input *DescribeConfigurationRecorderStatusInput, opts ...request.Option) (*DescribeConfigurationRecorderStatusOutput, error) {
2755	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
2756	req.SetContext(ctx)
2757	req.ApplyOptions(opts...)
2758	return out, req.Send()
2759}
2760
2761const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
2762
2763// DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
2764// client's request for the DescribeConfigurationRecorders operation. The "output" return
2765// value will be populated with the request's response once the request completes
2766// successfully.
2767//
2768// Use "Send" method on the returned Request to send the API call to the service.
2769// the "output" return value is not valid until after Send returns without error.
2770//
2771// See DescribeConfigurationRecorders for more information on using the DescribeConfigurationRecorders
2772// API call, and error handling.
2773//
2774// This method is useful when you want to inject custom logic or configuration
2775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2776//
2777//
2778//    // Example sending a request using the DescribeConfigurationRecordersRequest method.
2779//    req, resp := client.DescribeConfigurationRecordersRequest(params)
2780//
2781//    err := req.Send()
2782//    if err == nil { // resp is now filled
2783//        fmt.Println(resp)
2784//    }
2785//
2786// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
2787func (c *ConfigService) DescribeConfigurationRecordersRequest(input *DescribeConfigurationRecordersInput) (req *request.Request, output *DescribeConfigurationRecordersOutput) {
2788	op := &request.Operation{
2789		Name:       opDescribeConfigurationRecorders,
2790		HTTPMethod: "POST",
2791		HTTPPath:   "/",
2792	}
2793
2794	if input == nil {
2795		input = &DescribeConfigurationRecordersInput{}
2796	}
2797
2798	output = &DescribeConfigurationRecordersOutput{}
2799	req = c.newRequest(op, input, output)
2800	return
2801}
2802
2803// DescribeConfigurationRecorders API operation for AWS Config.
2804//
2805// Returns the details for the specified configuration recorders. If the configuration
2806// recorder is not specified, this action returns the details for all configuration
2807// recorders associated with the account.
2808//
2809// Currently, you can specify only one configuration recorder per region in
2810// your account.
2811//
2812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2813// with awserr.Error's Code and Message methods to get detailed information about
2814// the error.
2815//
2816// See the AWS API reference guide for AWS Config's
2817// API operation DescribeConfigurationRecorders for usage and error information.
2818//
2819// Returned Error Types:
2820//   * NoSuchConfigurationRecorderException
2821//   You have specified a configuration recorder that does not exist.
2822//
2823// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
2824func (c *ConfigService) DescribeConfigurationRecorders(input *DescribeConfigurationRecordersInput) (*DescribeConfigurationRecordersOutput, error) {
2825	req, out := c.DescribeConfigurationRecordersRequest(input)
2826	return out, req.Send()
2827}
2828
2829// DescribeConfigurationRecordersWithContext is the same as DescribeConfigurationRecorders with the addition of
2830// the ability to pass a context and additional request options.
2831//
2832// See DescribeConfigurationRecorders for details on how to use this API operation.
2833//
2834// The context must be non-nil and will be used for request cancellation. If
2835// the context is nil a panic will occur. In the future the SDK may create
2836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2837// for more information on using Contexts.
2838func (c *ConfigService) DescribeConfigurationRecordersWithContext(ctx aws.Context, input *DescribeConfigurationRecordersInput, opts ...request.Option) (*DescribeConfigurationRecordersOutput, error) {
2839	req, out := c.DescribeConfigurationRecordersRequest(input)
2840	req.SetContext(ctx)
2841	req.ApplyOptions(opts...)
2842	return out, req.Send()
2843}
2844
2845const opDescribeConformancePackCompliance = "DescribeConformancePackCompliance"
2846
2847// DescribeConformancePackComplianceRequest generates a "aws/request.Request" representing the
2848// client's request for the DescribeConformancePackCompliance operation. The "output" return
2849// value will be populated with the request's response once the request completes
2850// successfully.
2851//
2852// Use "Send" method on the returned Request to send the API call to the service.
2853// the "output" return value is not valid until after Send returns without error.
2854//
2855// See DescribeConformancePackCompliance for more information on using the DescribeConformancePackCompliance
2856// API call, and error handling.
2857//
2858// This method is useful when you want to inject custom logic or configuration
2859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2860//
2861//
2862//    // Example sending a request using the DescribeConformancePackComplianceRequest method.
2863//    req, resp := client.DescribeConformancePackComplianceRequest(params)
2864//
2865//    err := req.Send()
2866//    if err == nil { // resp is now filled
2867//        fmt.Println(resp)
2868//    }
2869//
2870// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
2871func (c *ConfigService) DescribeConformancePackComplianceRequest(input *DescribeConformancePackComplianceInput) (req *request.Request, output *DescribeConformancePackComplianceOutput) {
2872	op := &request.Operation{
2873		Name:       opDescribeConformancePackCompliance,
2874		HTTPMethod: "POST",
2875		HTTPPath:   "/",
2876	}
2877
2878	if input == nil {
2879		input = &DescribeConformancePackComplianceInput{}
2880	}
2881
2882	output = &DescribeConformancePackComplianceOutput{}
2883	req = c.newRequest(op, input, output)
2884	return
2885}
2886
2887// DescribeConformancePackCompliance API operation for AWS Config.
2888//
2889// Returns compliance details for each rule in that conformance pack.
2890//
2891// You must provide exact rule names.
2892//
2893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2894// with awserr.Error's Code and Message methods to get detailed information about
2895// the error.
2896//
2897// See the AWS API reference guide for AWS Config's
2898// API operation DescribeConformancePackCompliance for usage and error information.
2899//
2900// Returned Error Types:
2901//   * InvalidLimitException
2902//   The specified limit is outside the allowable range.
2903//
2904//   * InvalidNextTokenException
2905//   The specified next token is invalid. Specify the nextToken string that was
2906//   returned in the previous response to get the next page of results.
2907//
2908//   * InvalidParameterValueException
2909//   One or more of the specified parameters are invalid. Verify that your parameters
2910//   are valid and try again.
2911//
2912//   * NoSuchConfigRuleInConformancePackException
2913//   AWS Config rule that you passed in the filter does not exist.
2914//
2915//   * NoSuchConformancePackException
2916//   You specified one or more conformance packs that do not exist.
2917//
2918// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
2919func (c *ConfigService) DescribeConformancePackCompliance(input *DescribeConformancePackComplianceInput) (*DescribeConformancePackComplianceOutput, error) {
2920	req, out := c.DescribeConformancePackComplianceRequest(input)
2921	return out, req.Send()
2922}
2923
2924// DescribeConformancePackComplianceWithContext is the same as DescribeConformancePackCompliance with the addition of
2925// the ability to pass a context and additional request options.
2926//
2927// See DescribeConformancePackCompliance for details on how to use this API operation.
2928//
2929// The context must be non-nil and will be used for request cancellation. If
2930// the context is nil a panic will occur. In the future the SDK may create
2931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2932// for more information on using Contexts.
2933func (c *ConfigService) DescribeConformancePackComplianceWithContext(ctx aws.Context, input *DescribeConformancePackComplianceInput, opts ...request.Option) (*DescribeConformancePackComplianceOutput, error) {
2934	req, out := c.DescribeConformancePackComplianceRequest(input)
2935	req.SetContext(ctx)
2936	req.ApplyOptions(opts...)
2937	return out, req.Send()
2938}
2939
2940const opDescribeConformancePackStatus = "DescribeConformancePackStatus"
2941
2942// DescribeConformancePackStatusRequest generates a "aws/request.Request" representing the
2943// client's request for the DescribeConformancePackStatus operation. The "output" return
2944// value will be populated with the request's response once the request completes
2945// successfully.
2946//
2947// Use "Send" method on the returned Request to send the API call to the service.
2948// the "output" return value is not valid until after Send returns without error.
2949//
2950// See DescribeConformancePackStatus for more information on using the DescribeConformancePackStatus
2951// API call, and error handling.
2952//
2953// This method is useful when you want to inject custom logic or configuration
2954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2955//
2956//
2957//    // Example sending a request using the DescribeConformancePackStatusRequest method.
2958//    req, resp := client.DescribeConformancePackStatusRequest(params)
2959//
2960//    err := req.Send()
2961//    if err == nil { // resp is now filled
2962//        fmt.Println(resp)
2963//    }
2964//
2965// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
2966func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConformancePackStatusInput) (req *request.Request, output *DescribeConformancePackStatusOutput) {
2967	op := &request.Operation{
2968		Name:       opDescribeConformancePackStatus,
2969		HTTPMethod: "POST",
2970		HTTPPath:   "/",
2971	}
2972
2973	if input == nil {
2974		input = &DescribeConformancePackStatusInput{}
2975	}
2976
2977	output = &DescribeConformancePackStatusOutput{}
2978	req = c.newRequest(op, input, output)
2979	return
2980}
2981
2982// DescribeConformancePackStatus API operation for AWS Config.
2983//
2984// Provides one or more conformance packs deployment status.
2985//
2986// If there are no conformance packs then you will see an empty result.
2987//
2988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2989// with awserr.Error's Code and Message methods to get detailed information about
2990// the error.
2991//
2992// See the AWS API reference guide for AWS Config's
2993// API operation DescribeConformancePackStatus for usage and error information.
2994//
2995// Returned Error Types:
2996//   * InvalidLimitException
2997//   The specified limit is outside the allowable range.
2998//
2999//   * InvalidNextTokenException
3000//   The specified next token is invalid. Specify the nextToken string that was
3001//   returned in the previous response to get the next page of results.
3002//
3003//   * InvalidParameterValueException
3004//   One or more of the specified parameters are invalid. Verify that your parameters
3005//   are valid and try again.
3006//
3007// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
3008func (c *ConfigService) DescribeConformancePackStatus(input *DescribeConformancePackStatusInput) (*DescribeConformancePackStatusOutput, error) {
3009	req, out := c.DescribeConformancePackStatusRequest(input)
3010	return out, req.Send()
3011}
3012
3013// DescribeConformancePackStatusWithContext is the same as DescribeConformancePackStatus with the addition of
3014// the ability to pass a context and additional request options.
3015//
3016// See DescribeConformancePackStatus for details on how to use this API operation.
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.
3022func (c *ConfigService) DescribeConformancePackStatusWithContext(ctx aws.Context, input *DescribeConformancePackStatusInput, opts ...request.Option) (*DescribeConformancePackStatusOutput, error) {
3023	req, out := c.DescribeConformancePackStatusRequest(input)
3024	req.SetContext(ctx)
3025	req.ApplyOptions(opts...)
3026	return out, req.Send()
3027}
3028
3029const opDescribeConformancePacks = "DescribeConformancePacks"
3030
3031// DescribeConformancePacksRequest generates a "aws/request.Request" representing the
3032// client's request for the DescribeConformancePacks operation. The "output" return
3033// value will be populated with the request's response once the request completes
3034// successfully.
3035//
3036// Use "Send" method on the returned Request to send the API call to the service.
3037// the "output" return value is not valid until after Send returns without error.
3038//
3039// See DescribeConformancePacks for more information on using the DescribeConformancePacks
3040// API call, and error handling.
3041//
3042// This method is useful when you want to inject custom logic or configuration
3043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3044//
3045//
3046//    // Example sending a request using the DescribeConformancePacksRequest method.
3047//    req, resp := client.DescribeConformancePacksRequest(params)
3048//
3049//    err := req.Send()
3050//    if err == nil { // resp is now filled
3051//        fmt.Println(resp)
3052//    }
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
3055func (c *ConfigService) DescribeConformancePacksRequest(input *DescribeConformancePacksInput) (req *request.Request, output *DescribeConformancePacksOutput) {
3056	op := &request.Operation{
3057		Name:       opDescribeConformancePacks,
3058		HTTPMethod: "POST",
3059		HTTPPath:   "/",
3060	}
3061
3062	if input == nil {
3063		input = &DescribeConformancePacksInput{}
3064	}
3065
3066	output = &DescribeConformancePacksOutput{}
3067	req = c.newRequest(op, input, output)
3068	return
3069}
3070
3071// DescribeConformancePacks API operation for AWS Config.
3072//
3073// Returns a list of one or more conformance packs.
3074//
3075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3076// with awserr.Error's Code and Message methods to get detailed information about
3077// the error.
3078//
3079// See the AWS API reference guide for AWS Config's
3080// API operation DescribeConformancePacks for usage and error information.
3081//
3082// Returned Error Types:
3083//   * NoSuchConformancePackException
3084//   You specified one or more conformance packs that do not exist.
3085//
3086//   * InvalidLimitException
3087//   The specified limit is outside the allowable range.
3088//
3089//   * InvalidNextTokenException
3090//   The specified next token is invalid. Specify the nextToken string that was
3091//   returned in the previous response to get the next page of results.
3092//
3093//   * InvalidParameterValueException
3094//   One or more of the specified parameters are invalid. Verify that your parameters
3095//   are valid and try again.
3096//
3097// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
3098func (c *ConfigService) DescribeConformancePacks(input *DescribeConformancePacksInput) (*DescribeConformancePacksOutput, error) {
3099	req, out := c.DescribeConformancePacksRequest(input)
3100	return out, req.Send()
3101}
3102
3103// DescribeConformancePacksWithContext is the same as DescribeConformancePacks with the addition of
3104// the ability to pass a context and additional request options.
3105//
3106// See DescribeConformancePacks for details on how to use this API operation.
3107//
3108// The context must be non-nil and will be used for request cancellation. If
3109// the context is nil a panic will occur. In the future the SDK may create
3110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3111// for more information on using Contexts.
3112func (c *ConfigService) DescribeConformancePacksWithContext(ctx aws.Context, input *DescribeConformancePacksInput, opts ...request.Option) (*DescribeConformancePacksOutput, error) {
3113	req, out := c.DescribeConformancePacksRequest(input)
3114	req.SetContext(ctx)
3115	req.ApplyOptions(opts...)
3116	return out, req.Send()
3117}
3118
3119const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
3120
3121// DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
3122// client's request for the DescribeDeliveryChannelStatus operation. The "output" return
3123// value will be populated with the request's response once the request completes
3124// successfully.
3125//
3126// Use "Send" method on the returned Request to send the API call to the service.
3127// the "output" return value is not valid until after Send returns without error.
3128//
3129// See DescribeDeliveryChannelStatus for more information on using the DescribeDeliveryChannelStatus
3130// API call, and error handling.
3131//
3132// This method is useful when you want to inject custom logic or configuration
3133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3134//
3135//
3136//    // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
3137//    req, resp := client.DescribeDeliveryChannelStatusRequest(params)
3138//
3139//    err := req.Send()
3140//    if err == nil { // resp is now filled
3141//        fmt.Println(resp)
3142//    }
3143//
3144// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
3145func (c *ConfigService) DescribeDeliveryChannelStatusRequest(input *DescribeDeliveryChannelStatusInput) (req *request.Request, output *DescribeDeliveryChannelStatusOutput) {
3146	op := &request.Operation{
3147		Name:       opDescribeDeliveryChannelStatus,
3148		HTTPMethod: "POST",
3149		HTTPPath:   "/",
3150	}
3151
3152	if input == nil {
3153		input = &DescribeDeliveryChannelStatusInput{}
3154	}
3155
3156	output = &DescribeDeliveryChannelStatusOutput{}
3157	req = c.newRequest(op, input, output)
3158	return
3159}
3160
3161// DescribeDeliveryChannelStatus API operation for AWS Config.
3162//
3163// Returns the current status of the specified delivery channel. If a delivery
3164// channel is not specified, this action returns the current status of all delivery
3165// channels associated with the account.
3166//
3167// Currently, you can specify only one delivery channel per region in your account.
3168//
3169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3170// with awserr.Error's Code and Message methods to get detailed information about
3171// the error.
3172//
3173// See the AWS API reference guide for AWS Config's
3174// API operation DescribeDeliveryChannelStatus for usage and error information.
3175//
3176// Returned Error Types:
3177//   * NoSuchDeliveryChannelException
3178//   You have specified a delivery channel that does not exist.
3179//
3180// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
3181func (c *ConfigService) DescribeDeliveryChannelStatus(input *DescribeDeliveryChannelStatusInput) (*DescribeDeliveryChannelStatusOutput, error) {
3182	req, out := c.DescribeDeliveryChannelStatusRequest(input)
3183	return out, req.Send()
3184}
3185
3186// DescribeDeliveryChannelStatusWithContext is the same as DescribeDeliveryChannelStatus with the addition of
3187// the ability to pass a context and additional request options.
3188//
3189// See DescribeDeliveryChannelStatus for details on how to use this API operation.
3190//
3191// The context must be non-nil and will be used for request cancellation. If
3192// the context is nil a panic will occur. In the future the SDK may create
3193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3194// for more information on using Contexts.
3195func (c *ConfigService) DescribeDeliveryChannelStatusWithContext(ctx aws.Context, input *DescribeDeliveryChannelStatusInput, opts ...request.Option) (*DescribeDeliveryChannelStatusOutput, error) {
3196	req, out := c.DescribeDeliveryChannelStatusRequest(input)
3197	req.SetContext(ctx)
3198	req.ApplyOptions(opts...)
3199	return out, req.Send()
3200}
3201
3202const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
3203
3204// DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
3205// client's request for the DescribeDeliveryChannels operation. The "output" return
3206// value will be populated with the request's response once the request completes
3207// successfully.
3208//
3209// Use "Send" method on the returned Request to send the API call to the service.
3210// the "output" return value is not valid until after Send returns without error.
3211//
3212// See DescribeDeliveryChannels for more information on using the DescribeDeliveryChannels
3213// API call, and error handling.
3214//
3215// This method is useful when you want to inject custom logic or configuration
3216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3217//
3218//
3219//    // Example sending a request using the DescribeDeliveryChannelsRequest method.
3220//    req, resp := client.DescribeDeliveryChannelsRequest(params)
3221//
3222//    err := req.Send()
3223//    if err == nil { // resp is now filled
3224//        fmt.Println(resp)
3225//    }
3226//
3227// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
3228func (c *ConfigService) DescribeDeliveryChannelsRequest(input *DescribeDeliveryChannelsInput) (req *request.Request, output *DescribeDeliveryChannelsOutput) {
3229	op := &request.Operation{
3230		Name:       opDescribeDeliveryChannels,
3231		HTTPMethod: "POST",
3232		HTTPPath:   "/",
3233	}
3234
3235	if input == nil {
3236		input = &DescribeDeliveryChannelsInput{}
3237	}
3238
3239	output = &DescribeDeliveryChannelsOutput{}
3240	req = c.newRequest(op, input, output)
3241	return
3242}
3243
3244// DescribeDeliveryChannels API operation for AWS Config.
3245//
3246// Returns details about the specified delivery channel. If a delivery channel
3247// is not specified, this action returns the details of all delivery channels
3248// associated with the account.
3249//
3250// Currently, you can specify only one delivery channel per region in your account.
3251//
3252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3253// with awserr.Error's Code and Message methods to get detailed information about
3254// the error.
3255//
3256// See the AWS API reference guide for AWS Config's
3257// API operation DescribeDeliveryChannels for usage and error information.
3258//
3259// Returned Error Types:
3260//   * NoSuchDeliveryChannelException
3261//   You have specified a delivery channel that does not exist.
3262//
3263// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
3264func (c *ConfigService) DescribeDeliveryChannels(input *DescribeDeliveryChannelsInput) (*DescribeDeliveryChannelsOutput, error) {
3265	req, out := c.DescribeDeliveryChannelsRequest(input)
3266	return out, req.Send()
3267}
3268
3269// DescribeDeliveryChannelsWithContext is the same as DescribeDeliveryChannels with the addition of
3270// the ability to pass a context and additional request options.
3271//
3272// See DescribeDeliveryChannels for details on how to use this API operation.
3273//
3274// The context must be non-nil and will be used for request cancellation. If
3275// the context is nil a panic will occur. In the future the SDK may create
3276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3277// for more information on using Contexts.
3278func (c *ConfigService) DescribeDeliveryChannelsWithContext(ctx aws.Context, input *DescribeDeliveryChannelsInput, opts ...request.Option) (*DescribeDeliveryChannelsOutput, error) {
3279	req, out := c.DescribeDeliveryChannelsRequest(input)
3280	req.SetContext(ctx)
3281	req.ApplyOptions(opts...)
3282	return out, req.Send()
3283}
3284
3285const opDescribeOrganizationConfigRuleStatuses = "DescribeOrganizationConfigRuleStatuses"
3286
3287// DescribeOrganizationConfigRuleStatusesRequest generates a "aws/request.Request" representing the
3288// client's request for the DescribeOrganizationConfigRuleStatuses operation. The "output" return
3289// value will be populated with the request's response once the request completes
3290// successfully.
3291//
3292// Use "Send" method on the returned Request to send the API call to the service.
3293// the "output" return value is not valid until after Send returns without error.
3294//
3295// See DescribeOrganizationConfigRuleStatuses for more information on using the DescribeOrganizationConfigRuleStatuses
3296// API call, and error handling.
3297//
3298// This method is useful when you want to inject custom logic or configuration
3299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3300//
3301//
3302//    // Example sending a request using the DescribeOrganizationConfigRuleStatusesRequest method.
3303//    req, resp := client.DescribeOrganizationConfigRuleStatusesRequest(params)
3304//
3305//    err := req.Send()
3306//    if err == nil { // resp is now filled
3307//        fmt.Println(resp)
3308//    }
3309//
3310// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
3311func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *DescribeOrganizationConfigRuleStatusesInput) (req *request.Request, output *DescribeOrganizationConfigRuleStatusesOutput) {
3312	op := &request.Operation{
3313		Name:       opDescribeOrganizationConfigRuleStatuses,
3314		HTTPMethod: "POST",
3315		HTTPPath:   "/",
3316	}
3317
3318	if input == nil {
3319		input = &DescribeOrganizationConfigRuleStatusesInput{}
3320	}
3321
3322	output = &DescribeOrganizationConfigRuleStatusesOutput{}
3323	req = c.newRequest(op, input, output)
3324	return
3325}
3326
3327// DescribeOrganizationConfigRuleStatuses API operation for AWS Config.
3328//
3329// Provides organization config rule deployment status for an organization.
3330//
3331// The status is not considered successful until organization config rule is
3332// successfully deployed in all the member accounts with an exception of excluded
3333// accounts.
3334//
3335// When you specify the limit and the next token, you receive a paginated response.
3336// Limit and next token are not applicable if you specify organization config
3337// rule names. It is only applicable, when you request all the organization
3338// config rules.
3339//
3340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3341// with awserr.Error's Code and Message methods to get detailed information about
3342// the error.
3343//
3344// See the AWS API reference guide for AWS Config's
3345// API operation DescribeOrganizationConfigRuleStatuses for usage and error information.
3346//
3347// Returned Error Types:
3348//   * NoSuchOrganizationConfigRuleException
3349//   You specified one or more organization config rules that do not exist.
3350//
3351//   * InvalidLimitException
3352//   The specified limit is outside the allowable range.
3353//
3354//   * InvalidNextTokenException
3355//   The specified next token is invalid. Specify the nextToken string that was
3356//   returned in the previous response to get the next page of results.
3357//
3358//   * OrganizationAccessDeniedException
3359//   For PutConfigurationAggregator API, you can see this exception for the following
3360//   reasons:
3361//
3362//      * No permission to call EnableAWSServiceAccess API
3363//
3364//      * The configuration aggregator cannot be updated because your AWS Organization
3365//      management account or the delegated administrator role changed. Delete
3366//      this aggregator and create a new one with the current AWS Organization.
3367//
3368//      * The configuration aggregator is associated with a previous AWS Organization
3369//      and AWS Config cannot aggregate data with current AWS Organization. Delete
3370//      this aggregator and create a new one with the current AWS Organization.
3371//
3372//      * You are not a registered delegated administrator for AWS Config with
3373//      permissions to call ListDelegatedAdministrators API. Ensure that the management
3374//      account registers delagated administrator for AWS Config service principle
3375//      name before the delegated administrator creates an aggregator.
3376//
3377//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3378//   Config throws an exception if APIs are called from member accounts. All APIs
3379//   must be called from organization master account.
3380//
3381// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
3382func (c *ConfigService) DescribeOrganizationConfigRuleStatuses(input *DescribeOrganizationConfigRuleStatusesInput) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
3383	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
3384	return out, req.Send()
3385}
3386
3387// DescribeOrganizationConfigRuleStatusesWithContext is the same as DescribeOrganizationConfigRuleStatuses with the addition of
3388// the ability to pass a context and additional request options.
3389//
3390// See DescribeOrganizationConfigRuleStatuses for details on how to use this API operation.
3391//
3392// The context must be non-nil and will be used for request cancellation. If
3393// the context is nil a panic will occur. In the future the SDK may create
3394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3395// for more information on using Contexts.
3396func (c *ConfigService) DescribeOrganizationConfigRuleStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRuleStatusesInput, opts ...request.Option) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
3397	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
3398	req.SetContext(ctx)
3399	req.ApplyOptions(opts...)
3400	return out, req.Send()
3401}
3402
3403const opDescribeOrganizationConfigRules = "DescribeOrganizationConfigRules"
3404
3405// DescribeOrganizationConfigRulesRequest generates a "aws/request.Request" representing the
3406// client's request for the DescribeOrganizationConfigRules operation. The "output" return
3407// value will be populated with the request's response once the request completes
3408// successfully.
3409//
3410// Use "Send" method on the returned Request to send the API call to the service.
3411// the "output" return value is not valid until after Send returns without error.
3412//
3413// See DescribeOrganizationConfigRules for more information on using the DescribeOrganizationConfigRules
3414// API call, and error handling.
3415//
3416// This method is useful when you want to inject custom logic or configuration
3417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3418//
3419//
3420//    // Example sending a request using the DescribeOrganizationConfigRulesRequest method.
3421//    req, resp := client.DescribeOrganizationConfigRulesRequest(params)
3422//
3423//    err := req.Send()
3424//    if err == nil { // resp is now filled
3425//        fmt.Println(resp)
3426//    }
3427//
3428// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
3429func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOrganizationConfigRulesInput) (req *request.Request, output *DescribeOrganizationConfigRulesOutput) {
3430	op := &request.Operation{
3431		Name:       opDescribeOrganizationConfigRules,
3432		HTTPMethod: "POST",
3433		HTTPPath:   "/",
3434	}
3435
3436	if input == nil {
3437		input = &DescribeOrganizationConfigRulesInput{}
3438	}
3439
3440	output = &DescribeOrganizationConfigRulesOutput{}
3441	req = c.newRequest(op, input, output)
3442	return
3443}
3444
3445// DescribeOrganizationConfigRules API operation for AWS Config.
3446//
3447// Returns a list of organization config rules.
3448//
3449// When you specify the limit and the next token, you receive a paginated response.
3450// Limit and next token are not applicable if you specify organization config
3451// rule names. It is only applicable, when you request all the organization
3452// config rules.
3453//
3454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3455// with awserr.Error's Code and Message methods to get detailed information about
3456// the error.
3457//
3458// See the AWS API reference guide for AWS Config's
3459// API operation DescribeOrganizationConfigRules for usage and error information.
3460//
3461// Returned Error Types:
3462//   * NoSuchOrganizationConfigRuleException
3463//   You specified one or more organization config rules that do not exist.
3464//
3465//   * InvalidNextTokenException
3466//   The specified next token is invalid. Specify the nextToken string that was
3467//   returned in the previous response to get the next page of results.
3468//
3469//   * InvalidLimitException
3470//   The specified limit is outside the allowable range.
3471//
3472//   * OrganizationAccessDeniedException
3473//   For PutConfigurationAggregator API, you can see this exception for the following
3474//   reasons:
3475//
3476//      * No permission to call EnableAWSServiceAccess API
3477//
3478//      * The configuration aggregator cannot be updated because your AWS Organization
3479//      management account or the delegated administrator role changed. Delete
3480//      this aggregator and create a new one with the current AWS Organization.
3481//
3482//      * The configuration aggregator is associated with a previous AWS Organization
3483//      and AWS Config cannot aggregate data with current AWS Organization. Delete
3484//      this aggregator and create a new one with the current AWS Organization.
3485//
3486//      * You are not a registered delegated administrator for AWS Config with
3487//      permissions to call ListDelegatedAdministrators API. Ensure that the management
3488//      account registers delagated administrator for AWS Config service principle
3489//      name before the delegated administrator creates an aggregator.
3490//
3491//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3492//   Config throws an exception if APIs are called from member accounts. All APIs
3493//   must be called from organization master account.
3494//
3495// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
3496func (c *ConfigService) DescribeOrganizationConfigRules(input *DescribeOrganizationConfigRulesInput) (*DescribeOrganizationConfigRulesOutput, error) {
3497	req, out := c.DescribeOrganizationConfigRulesRequest(input)
3498	return out, req.Send()
3499}
3500
3501// DescribeOrganizationConfigRulesWithContext is the same as DescribeOrganizationConfigRules with the addition of
3502// the ability to pass a context and additional request options.
3503//
3504// See DescribeOrganizationConfigRules for details on how to use this API operation.
3505//
3506// The context must be non-nil and will be used for request cancellation. If
3507// the context is nil a panic will occur. In the future the SDK may create
3508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3509// for more information on using Contexts.
3510func (c *ConfigService) DescribeOrganizationConfigRulesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRulesInput, opts ...request.Option) (*DescribeOrganizationConfigRulesOutput, error) {
3511	req, out := c.DescribeOrganizationConfigRulesRequest(input)
3512	req.SetContext(ctx)
3513	req.ApplyOptions(opts...)
3514	return out, req.Send()
3515}
3516
3517const opDescribeOrganizationConformancePackStatuses = "DescribeOrganizationConformancePackStatuses"
3518
3519// DescribeOrganizationConformancePackStatusesRequest generates a "aws/request.Request" representing the
3520// client's request for the DescribeOrganizationConformancePackStatuses 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 DescribeOrganizationConformancePackStatuses for more information on using the DescribeOrganizationConformancePackStatuses
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 DescribeOrganizationConformancePackStatusesRequest method.
3535//    req, resp := client.DescribeOrganizationConformancePackStatusesRequest(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/DescribeOrganizationConformancePackStatuses
3543func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input *DescribeOrganizationConformancePackStatusesInput) (req *request.Request, output *DescribeOrganizationConformancePackStatusesOutput) {
3544	op := &request.Operation{
3545		Name:       opDescribeOrganizationConformancePackStatuses,
3546		HTTPMethod: "POST",
3547		HTTPPath:   "/",
3548	}
3549
3550	if input == nil {
3551		input = &DescribeOrganizationConformancePackStatusesInput{}
3552	}
3553
3554	output = &DescribeOrganizationConformancePackStatusesOutput{}
3555	req = c.newRequest(op, input, output)
3556	return
3557}
3558
3559// DescribeOrganizationConformancePackStatuses API operation for AWS Config.
3560//
3561// Provides organization conformance pack deployment status for an organization.
3562//
3563// The status is not considered successful until organization conformance pack
3564// is successfully deployed in all the member accounts with an exception of
3565// excluded accounts.
3566//
3567// When you specify the limit and the next token, you receive a paginated response.
3568// Limit and next token are not applicable if you specify organization conformance
3569// pack names. They are only applicable, when you request all the organization
3570// conformance packs.
3571//
3572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3573// with awserr.Error's Code and Message methods to get detailed information about
3574// the error.
3575//
3576// See the AWS API reference guide for AWS Config's
3577// API operation DescribeOrganizationConformancePackStatuses for usage and error information.
3578//
3579// Returned Error Types:
3580//   * NoSuchOrganizationConformancePackException
3581//   AWS Config organization conformance pack that you passed in the filter does
3582//   not exist.
3583//
3584//   For DeleteOrganizationConformancePack, you tried to delete an organization
3585//   conformance pack that does not exist.
3586//
3587//   * InvalidLimitException
3588//   The specified limit is outside the allowable range.
3589//
3590//   * InvalidNextTokenException
3591//   The specified next token is invalid. Specify the nextToken string that was
3592//   returned in the previous response to get the next page of results.
3593//
3594//   * OrganizationAccessDeniedException
3595//   For PutConfigurationAggregator API, you can see this exception for the following
3596//   reasons:
3597//
3598//      * No permission to call EnableAWSServiceAccess API
3599//
3600//      * The configuration aggregator cannot be updated because your AWS Organization
3601//      management account or the delegated administrator role changed. Delete
3602//      this aggregator and create a new one with the current AWS Organization.
3603//
3604//      * The configuration aggregator is associated with a previous AWS Organization
3605//      and AWS Config cannot aggregate data with current AWS Organization. Delete
3606//      this aggregator and create a new one with the current AWS Organization.
3607//
3608//      * You are not a registered delegated administrator for AWS Config with
3609//      permissions to call ListDelegatedAdministrators API. Ensure that the management
3610//      account registers delagated administrator for AWS Config service principle
3611//      name before the delegated administrator creates an aggregator.
3612//
3613//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3614//   Config throws an exception if APIs are called from member accounts. All APIs
3615//   must be called from organization master account.
3616//
3617// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePackStatuses
3618func (c *ConfigService) DescribeOrganizationConformancePackStatuses(input *DescribeOrganizationConformancePackStatusesInput) (*DescribeOrganizationConformancePackStatusesOutput, error) {
3619	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
3620	return out, req.Send()
3621}
3622
3623// DescribeOrganizationConformancePackStatusesWithContext is the same as DescribeOrganizationConformancePackStatuses with the addition of
3624// the ability to pass a context and additional request options.
3625//
3626// See DescribeOrganizationConformancePackStatuses for details on how to use this API operation.
3627//
3628// The context must be non-nil and will be used for request cancellation. If
3629// the context is nil a panic will occur. In the future the SDK may create
3630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3631// for more information on using Contexts.
3632func (c *ConfigService) DescribeOrganizationConformancePackStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConformancePackStatusesInput, opts ...request.Option) (*DescribeOrganizationConformancePackStatusesOutput, error) {
3633	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
3634	req.SetContext(ctx)
3635	req.ApplyOptions(opts...)
3636	return out, req.Send()
3637}
3638
3639const opDescribeOrganizationConformancePacks = "DescribeOrganizationConformancePacks"
3640
3641// DescribeOrganizationConformancePacksRequest generates a "aws/request.Request" representing the
3642// client's request for the DescribeOrganizationConformancePacks operation. The "output" return
3643// value will be populated with the request's response once the request completes
3644// successfully.
3645//
3646// Use "Send" method on the returned Request to send the API call to the service.
3647// the "output" return value is not valid until after Send returns without error.
3648//
3649// See DescribeOrganizationConformancePacks for more information on using the DescribeOrganizationConformancePacks
3650// API call, and error handling.
3651//
3652// This method is useful when you want to inject custom logic or configuration
3653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3654//
3655//
3656//    // Example sending a request using the DescribeOrganizationConformancePacksRequest method.
3657//    req, resp := client.DescribeOrganizationConformancePacksRequest(params)
3658//
3659//    err := req.Send()
3660//    if err == nil { // resp is now filled
3661//        fmt.Println(resp)
3662//    }
3663//
3664// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
3665func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *DescribeOrganizationConformancePacksInput) (req *request.Request, output *DescribeOrganizationConformancePacksOutput) {
3666	op := &request.Operation{
3667		Name:       opDescribeOrganizationConformancePacks,
3668		HTTPMethod: "POST",
3669		HTTPPath:   "/",
3670	}
3671
3672	if input == nil {
3673		input = &DescribeOrganizationConformancePacksInput{}
3674	}
3675
3676	output = &DescribeOrganizationConformancePacksOutput{}
3677	req = c.newRequest(op, input, output)
3678	return
3679}
3680
3681// DescribeOrganizationConformancePacks API operation for AWS Config.
3682//
3683// Returns a list of organization conformance packs.
3684//
3685// When you specify the limit and the next token, you receive a paginated response.
3686//
3687// Limit and next token are not applicable if you specify organization conformance
3688// packs names. They are only applicable, when you request all the organization
3689// conformance packs.
3690//
3691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3692// with awserr.Error's Code and Message methods to get detailed information about
3693// the error.
3694//
3695// See the AWS API reference guide for AWS Config's
3696// API operation DescribeOrganizationConformancePacks for usage and error information.
3697//
3698// Returned Error Types:
3699//   * NoSuchOrganizationConformancePackException
3700//   AWS Config organization conformance pack that you passed in the filter does
3701//   not exist.
3702//
3703//   For DeleteOrganizationConformancePack, you tried to delete an organization
3704//   conformance pack that does not exist.
3705//
3706//   * InvalidNextTokenException
3707//   The specified next token is invalid. Specify the nextToken string that was
3708//   returned in the previous response to get the next page of results.
3709//
3710//   * InvalidLimitException
3711//   The specified limit is outside the allowable range.
3712//
3713//   * OrganizationAccessDeniedException
3714//   For PutConfigurationAggregator API, you can see this exception for the following
3715//   reasons:
3716//
3717//      * No permission to call EnableAWSServiceAccess API
3718//
3719//      * The configuration aggregator cannot be updated because your AWS Organization
3720//      management account or the delegated administrator role changed. Delete
3721//      this aggregator and create a new one with the current AWS Organization.
3722//
3723//      * The configuration aggregator is associated with a previous AWS Organization
3724//      and AWS Config cannot aggregate data with current AWS Organization. Delete
3725//      this aggregator and create a new one with the current AWS Organization.
3726//
3727//      * You are not a registered delegated administrator for AWS Config with
3728//      permissions to call ListDelegatedAdministrators API. Ensure that the management
3729//      account registers delagated administrator for AWS Config service principle
3730//      name before the delegated administrator creates an aggregator.
3731//
3732//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3733//   Config throws an exception if APIs are called from member accounts. All APIs
3734//   must be called from organization master account.
3735//
3736// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
3737func (c *ConfigService) DescribeOrganizationConformancePacks(input *DescribeOrganizationConformancePacksInput) (*DescribeOrganizationConformancePacksOutput, error) {
3738	req, out := c.DescribeOrganizationConformancePacksRequest(input)
3739	return out, req.Send()
3740}
3741
3742// DescribeOrganizationConformancePacksWithContext is the same as DescribeOrganizationConformancePacks with the addition of
3743// the ability to pass a context and additional request options.
3744//
3745// See DescribeOrganizationConformancePacks for details on how to use this API operation.
3746//
3747// The context must be non-nil and will be used for request cancellation. If
3748// the context is nil a panic will occur. In the future the SDK may create
3749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3750// for more information on using Contexts.
3751func (c *ConfigService) DescribeOrganizationConformancePacksWithContext(ctx aws.Context, input *DescribeOrganizationConformancePacksInput, opts ...request.Option) (*DescribeOrganizationConformancePacksOutput, error) {
3752	req, out := c.DescribeOrganizationConformancePacksRequest(input)
3753	req.SetContext(ctx)
3754	req.ApplyOptions(opts...)
3755	return out, req.Send()
3756}
3757
3758const opDescribePendingAggregationRequests = "DescribePendingAggregationRequests"
3759
3760// DescribePendingAggregationRequestsRequest generates a "aws/request.Request" representing the
3761// client's request for the DescribePendingAggregationRequests operation. The "output" return
3762// value will be populated with the request's response once the request completes
3763// successfully.
3764//
3765// Use "Send" method on the returned Request to send the API call to the service.
3766// the "output" return value is not valid until after Send returns without error.
3767//
3768// See DescribePendingAggregationRequests for more information on using the DescribePendingAggregationRequests
3769// API call, and error handling.
3770//
3771// This method is useful when you want to inject custom logic or configuration
3772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3773//
3774//
3775//    // Example sending a request using the DescribePendingAggregationRequestsRequest method.
3776//    req, resp := client.DescribePendingAggregationRequestsRequest(params)
3777//
3778//    err := req.Send()
3779//    if err == nil { // resp is now filled
3780//        fmt.Println(resp)
3781//    }
3782//
3783// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
3784func (c *ConfigService) DescribePendingAggregationRequestsRequest(input *DescribePendingAggregationRequestsInput) (req *request.Request, output *DescribePendingAggregationRequestsOutput) {
3785	op := &request.Operation{
3786		Name:       opDescribePendingAggregationRequests,
3787		HTTPMethod: "POST",
3788		HTTPPath:   "/",
3789	}
3790
3791	if input == nil {
3792		input = &DescribePendingAggregationRequestsInput{}
3793	}
3794
3795	output = &DescribePendingAggregationRequestsOutput{}
3796	req = c.newRequest(op, input, output)
3797	return
3798}
3799
3800// DescribePendingAggregationRequests API operation for AWS Config.
3801//
3802// Returns a list of all pending aggregation requests.
3803//
3804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3805// with awserr.Error's Code and Message methods to get detailed information about
3806// the error.
3807//
3808// See the AWS API reference guide for AWS Config's
3809// API operation DescribePendingAggregationRequests for usage and error information.
3810//
3811// Returned Error Types:
3812//   * InvalidParameterValueException
3813//   One or more of the specified parameters are invalid. Verify that your parameters
3814//   are valid and try again.
3815//
3816//   * InvalidNextTokenException
3817//   The specified next token is invalid. Specify the nextToken string that was
3818//   returned in the previous response to get the next page of results.
3819//
3820//   * InvalidLimitException
3821//   The specified limit is outside the allowable range.
3822//
3823// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
3824func (c *ConfigService) DescribePendingAggregationRequests(input *DescribePendingAggregationRequestsInput) (*DescribePendingAggregationRequestsOutput, error) {
3825	req, out := c.DescribePendingAggregationRequestsRequest(input)
3826	return out, req.Send()
3827}
3828
3829// DescribePendingAggregationRequestsWithContext is the same as DescribePendingAggregationRequests with the addition of
3830// the ability to pass a context and additional request options.
3831//
3832// See DescribePendingAggregationRequests for details on how to use this API operation.
3833//
3834// The context must be non-nil and will be used for request cancellation. If
3835// the context is nil a panic will occur. In the future the SDK may create
3836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3837// for more information on using Contexts.
3838func (c *ConfigService) DescribePendingAggregationRequestsWithContext(ctx aws.Context, input *DescribePendingAggregationRequestsInput, opts ...request.Option) (*DescribePendingAggregationRequestsOutput, error) {
3839	req, out := c.DescribePendingAggregationRequestsRequest(input)
3840	req.SetContext(ctx)
3841	req.ApplyOptions(opts...)
3842	return out, req.Send()
3843}
3844
3845const opDescribeRemediationConfigurations = "DescribeRemediationConfigurations"
3846
3847// DescribeRemediationConfigurationsRequest generates a "aws/request.Request" representing the
3848// client's request for the DescribeRemediationConfigurations operation. The "output" return
3849// value will be populated with the request's response once the request completes
3850// successfully.
3851//
3852// Use "Send" method on the returned Request to send the API call to the service.
3853// the "output" return value is not valid until after Send returns without error.
3854//
3855// See DescribeRemediationConfigurations for more information on using the DescribeRemediationConfigurations
3856// API call, and error handling.
3857//
3858// This method is useful when you want to inject custom logic or configuration
3859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3860//
3861//
3862//    // Example sending a request using the DescribeRemediationConfigurationsRequest method.
3863//    req, resp := client.DescribeRemediationConfigurationsRequest(params)
3864//
3865//    err := req.Send()
3866//    if err == nil { // resp is now filled
3867//        fmt.Println(resp)
3868//    }
3869//
3870// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
3871func (c *ConfigService) DescribeRemediationConfigurationsRequest(input *DescribeRemediationConfigurationsInput) (req *request.Request, output *DescribeRemediationConfigurationsOutput) {
3872	op := &request.Operation{
3873		Name:       opDescribeRemediationConfigurations,
3874		HTTPMethod: "POST",
3875		HTTPPath:   "/",
3876	}
3877
3878	if input == nil {
3879		input = &DescribeRemediationConfigurationsInput{}
3880	}
3881
3882	output = &DescribeRemediationConfigurationsOutput{}
3883	req = c.newRequest(op, input, output)
3884	return
3885}
3886
3887// DescribeRemediationConfigurations API operation for AWS Config.
3888//
3889// Returns the details of one or more remediation configurations.
3890//
3891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3892// with awserr.Error's Code and Message methods to get detailed information about
3893// the error.
3894//
3895// See the AWS API reference guide for AWS Config's
3896// API operation DescribeRemediationConfigurations for usage and error information.
3897// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
3898func (c *ConfigService) DescribeRemediationConfigurations(input *DescribeRemediationConfigurationsInput) (*DescribeRemediationConfigurationsOutput, error) {
3899	req, out := c.DescribeRemediationConfigurationsRequest(input)
3900	return out, req.Send()
3901}
3902
3903// DescribeRemediationConfigurationsWithContext is the same as DescribeRemediationConfigurations with the addition of
3904// the ability to pass a context and additional request options.
3905//
3906// See DescribeRemediationConfigurations for details on how to use this API operation.
3907//
3908// The context must be non-nil and will be used for request cancellation. If
3909// the context is nil a panic will occur. In the future the SDK may create
3910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3911// for more information on using Contexts.
3912func (c *ConfigService) DescribeRemediationConfigurationsWithContext(ctx aws.Context, input *DescribeRemediationConfigurationsInput, opts ...request.Option) (*DescribeRemediationConfigurationsOutput, error) {
3913	req, out := c.DescribeRemediationConfigurationsRequest(input)
3914	req.SetContext(ctx)
3915	req.ApplyOptions(opts...)
3916	return out, req.Send()
3917}
3918
3919const opDescribeRemediationExceptions = "DescribeRemediationExceptions"
3920
3921// DescribeRemediationExceptionsRequest generates a "aws/request.Request" representing the
3922// client's request for the DescribeRemediationExceptions operation. The "output" return
3923// value will be populated with the request's response once the request completes
3924// successfully.
3925//
3926// Use "Send" method on the returned Request to send the API call to the service.
3927// the "output" return value is not valid until after Send returns without error.
3928//
3929// See DescribeRemediationExceptions for more information on using the DescribeRemediationExceptions
3930// API call, and error handling.
3931//
3932// This method is useful when you want to inject custom logic or configuration
3933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3934//
3935//
3936//    // Example sending a request using the DescribeRemediationExceptionsRequest method.
3937//    req, resp := client.DescribeRemediationExceptionsRequest(params)
3938//
3939//    err := req.Send()
3940//    if err == nil { // resp is now filled
3941//        fmt.Println(resp)
3942//    }
3943//
3944// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
3945func (c *ConfigService) DescribeRemediationExceptionsRequest(input *DescribeRemediationExceptionsInput) (req *request.Request, output *DescribeRemediationExceptionsOutput) {
3946	op := &request.Operation{
3947		Name:       opDescribeRemediationExceptions,
3948		HTTPMethod: "POST",
3949		HTTPPath:   "/",
3950		Paginator: &request.Paginator{
3951			InputTokens:     []string{"NextToken"},
3952			OutputTokens:    []string{"NextToken"},
3953			LimitToken:      "Limit",
3954			TruncationToken: "",
3955		},
3956	}
3957
3958	if input == nil {
3959		input = &DescribeRemediationExceptionsInput{}
3960	}
3961
3962	output = &DescribeRemediationExceptionsOutput{}
3963	req = c.newRequest(op, input, output)
3964	return
3965}
3966
3967// DescribeRemediationExceptions API operation for AWS Config.
3968//
3969// Returns the details of one or more remediation exceptions. A detailed view
3970// of a remediation exception for a set of resources that includes an explanation
3971// of an exception and the time when the exception will be deleted. When you
3972// specify the limit and the next token, you receive a paginated response.
3973//
3974// AWS Config generates a remediation exception when a problem occurs executing
3975// a remediation action to a specific resource. Remediation exceptions blocks
3976// auto-remediation until the exception is cleared.
3977//
3978// When you specify the limit and the next token, you receive a paginated response.
3979//
3980// Limit and next token are not applicable if you request resources in batch.
3981// It is only applicable, when you request all resources.
3982//
3983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3984// with awserr.Error's Code and Message methods to get detailed information about
3985// the error.
3986//
3987// See the AWS API reference guide for AWS Config's
3988// API operation DescribeRemediationExceptions for usage and error information.
3989//
3990// Returned Error Types:
3991//   * InvalidNextTokenException
3992//   The specified next token is invalid. Specify the nextToken string that was
3993//   returned in the previous response to get the next page of results.
3994//
3995//   * InvalidParameterValueException
3996//   One or more of the specified parameters are invalid. Verify that your parameters
3997//   are valid and try again.
3998//
3999// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
4000func (c *ConfigService) DescribeRemediationExceptions(input *DescribeRemediationExceptionsInput) (*DescribeRemediationExceptionsOutput, error) {
4001	req, out := c.DescribeRemediationExceptionsRequest(input)
4002	return out, req.Send()
4003}
4004
4005// DescribeRemediationExceptionsWithContext is the same as DescribeRemediationExceptions with the addition of
4006// the ability to pass a context and additional request options.
4007//
4008// See DescribeRemediationExceptions for details on how to use this API operation.
4009//
4010// The context must be non-nil and will be used for request cancellation. If
4011// the context is nil a panic will occur. In the future the SDK may create
4012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4013// for more information on using Contexts.
4014func (c *ConfigService) DescribeRemediationExceptionsWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, opts ...request.Option) (*DescribeRemediationExceptionsOutput, error) {
4015	req, out := c.DescribeRemediationExceptionsRequest(input)
4016	req.SetContext(ctx)
4017	req.ApplyOptions(opts...)
4018	return out, req.Send()
4019}
4020
4021// DescribeRemediationExceptionsPages iterates over the pages of a DescribeRemediationExceptions operation,
4022// calling the "fn" function with the response data for each page. To stop
4023// iterating, return false from the fn function.
4024//
4025// See DescribeRemediationExceptions method for more information on how to use this operation.
4026//
4027// Note: This operation can generate multiple requests to a service.
4028//
4029//    // Example iterating over at most 3 pages of a DescribeRemediationExceptions operation.
4030//    pageNum := 0
4031//    err := client.DescribeRemediationExceptionsPages(params,
4032//        func(page *configservice.DescribeRemediationExceptionsOutput, lastPage bool) bool {
4033//            pageNum++
4034//            fmt.Println(page)
4035//            return pageNum <= 3
4036//        })
4037//
4038func (c *ConfigService) DescribeRemediationExceptionsPages(input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool) error {
4039	return c.DescribeRemediationExceptionsPagesWithContext(aws.BackgroundContext(), input, fn)
4040}
4041
4042// DescribeRemediationExceptionsPagesWithContext same as DescribeRemediationExceptionsPages except
4043// it takes a Context and allows setting request options on the pages.
4044//
4045// The context must be non-nil and will be used for request cancellation. If
4046// the context is nil a panic will occur. In the future the SDK may create
4047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4048// for more information on using Contexts.
4049func (c *ConfigService) DescribeRemediationExceptionsPagesWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool, opts ...request.Option) error {
4050	p := request.Pagination{
4051		NewRequest: func() (*request.Request, error) {
4052			var inCpy *DescribeRemediationExceptionsInput
4053			if input != nil {
4054				tmp := *input
4055				inCpy = &tmp
4056			}
4057			req, _ := c.DescribeRemediationExceptionsRequest(inCpy)
4058			req.SetContext(ctx)
4059			req.ApplyOptions(opts...)
4060			return req, nil
4061		},
4062	}
4063
4064	for p.Next() {
4065		if !fn(p.Page().(*DescribeRemediationExceptionsOutput), !p.HasNextPage()) {
4066			break
4067		}
4068	}
4069
4070	return p.Err()
4071}
4072
4073const opDescribeRemediationExecutionStatus = "DescribeRemediationExecutionStatus"
4074
4075// DescribeRemediationExecutionStatusRequest generates a "aws/request.Request" representing the
4076// client's request for the DescribeRemediationExecutionStatus operation. The "output" return
4077// value will be populated with the request's response once the request completes
4078// successfully.
4079//
4080// Use "Send" method on the returned Request to send the API call to the service.
4081// the "output" return value is not valid until after Send returns without error.
4082//
4083// See DescribeRemediationExecutionStatus for more information on using the DescribeRemediationExecutionStatus
4084// API call, and error handling.
4085//
4086// This method is useful when you want to inject custom logic or configuration
4087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4088//
4089//
4090//    // Example sending a request using the DescribeRemediationExecutionStatusRequest method.
4091//    req, resp := client.DescribeRemediationExecutionStatusRequest(params)
4092//
4093//    err := req.Send()
4094//    if err == nil { // resp is now filled
4095//        fmt.Println(resp)
4096//    }
4097//
4098// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
4099func (c *ConfigService) DescribeRemediationExecutionStatusRequest(input *DescribeRemediationExecutionStatusInput) (req *request.Request, output *DescribeRemediationExecutionStatusOutput) {
4100	op := &request.Operation{
4101		Name:       opDescribeRemediationExecutionStatus,
4102		HTTPMethod: "POST",
4103		HTTPPath:   "/",
4104		Paginator: &request.Paginator{
4105			InputTokens:     []string{"NextToken"},
4106			OutputTokens:    []string{"NextToken"},
4107			LimitToken:      "Limit",
4108			TruncationToken: "",
4109		},
4110	}
4111
4112	if input == nil {
4113		input = &DescribeRemediationExecutionStatusInput{}
4114	}
4115
4116	output = &DescribeRemediationExecutionStatusOutput{}
4117	req = c.newRequest(op, input, output)
4118	return
4119}
4120
4121// DescribeRemediationExecutionStatus API operation for AWS Config.
4122//
4123// Provides a detailed view of a Remediation Execution for a set of resources
4124// including state, timestamps for when steps for the remediation execution
4125// occur, and any error messages for steps that have failed. When you specify
4126// the limit and the next token, you receive a paginated response.
4127//
4128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4129// with awserr.Error's Code and Message methods to get detailed information about
4130// the error.
4131//
4132// See the AWS API reference guide for AWS Config's
4133// API operation DescribeRemediationExecutionStatus for usage and error information.
4134//
4135// Returned Error Types:
4136//   * NoSuchRemediationConfigurationException
4137//   You specified an AWS Config rule without a remediation configuration.
4138//
4139//   * InvalidNextTokenException
4140//   The specified next token is invalid. Specify the nextToken string that was
4141//   returned in the previous response to get the next page of results.
4142//
4143//   * InvalidParameterValueException
4144//   One or more of the specified parameters are invalid. Verify that your parameters
4145//   are valid and try again.
4146//
4147// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
4148func (c *ConfigService) DescribeRemediationExecutionStatus(input *DescribeRemediationExecutionStatusInput) (*DescribeRemediationExecutionStatusOutput, error) {
4149	req, out := c.DescribeRemediationExecutionStatusRequest(input)
4150	return out, req.Send()
4151}
4152
4153// DescribeRemediationExecutionStatusWithContext is the same as DescribeRemediationExecutionStatus with the addition of
4154// the ability to pass a context and additional request options.
4155//
4156// See DescribeRemediationExecutionStatus for details on how to use this API operation.
4157//
4158// The context must be non-nil and will be used for request cancellation. If
4159// the context is nil a panic will occur. In the future the SDK may create
4160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4161// for more information on using Contexts.
4162func (c *ConfigService) DescribeRemediationExecutionStatusWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, opts ...request.Option) (*DescribeRemediationExecutionStatusOutput, error) {
4163	req, out := c.DescribeRemediationExecutionStatusRequest(input)
4164	req.SetContext(ctx)
4165	req.ApplyOptions(opts...)
4166	return out, req.Send()
4167}
4168
4169// DescribeRemediationExecutionStatusPages iterates over the pages of a DescribeRemediationExecutionStatus operation,
4170// calling the "fn" function with the response data for each page. To stop
4171// iterating, return false from the fn function.
4172//
4173// See DescribeRemediationExecutionStatus method for more information on how to use this operation.
4174//
4175// Note: This operation can generate multiple requests to a service.
4176//
4177//    // Example iterating over at most 3 pages of a DescribeRemediationExecutionStatus operation.
4178//    pageNum := 0
4179//    err := client.DescribeRemediationExecutionStatusPages(params,
4180//        func(page *configservice.DescribeRemediationExecutionStatusOutput, lastPage bool) bool {
4181//            pageNum++
4182//            fmt.Println(page)
4183//            return pageNum <= 3
4184//        })
4185//
4186func (c *ConfigService) DescribeRemediationExecutionStatusPages(input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool) error {
4187	return c.DescribeRemediationExecutionStatusPagesWithContext(aws.BackgroundContext(), input, fn)
4188}
4189
4190// DescribeRemediationExecutionStatusPagesWithContext same as DescribeRemediationExecutionStatusPages except
4191// it takes a Context and allows setting request options on the pages.
4192//
4193// The context must be non-nil and will be used for request cancellation. If
4194// the context is nil a panic will occur. In the future the SDK may create
4195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4196// for more information on using Contexts.
4197func (c *ConfigService) DescribeRemediationExecutionStatusPagesWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool, opts ...request.Option) error {
4198	p := request.Pagination{
4199		NewRequest: func() (*request.Request, error) {
4200			var inCpy *DescribeRemediationExecutionStatusInput
4201			if input != nil {
4202				tmp := *input
4203				inCpy = &tmp
4204			}
4205			req, _ := c.DescribeRemediationExecutionStatusRequest(inCpy)
4206			req.SetContext(ctx)
4207			req.ApplyOptions(opts...)
4208			return req, nil
4209		},
4210	}
4211
4212	for p.Next() {
4213		if !fn(p.Page().(*DescribeRemediationExecutionStatusOutput), !p.HasNextPage()) {
4214			break
4215		}
4216	}
4217
4218	return p.Err()
4219}
4220
4221const opDescribeRetentionConfigurations = "DescribeRetentionConfigurations"
4222
4223// DescribeRetentionConfigurationsRequest generates a "aws/request.Request" representing the
4224// client's request for the DescribeRetentionConfigurations operation. The "output" return
4225// value will be populated with the request's response once the request completes
4226// successfully.
4227//
4228// Use "Send" method on the returned Request to send the API call to the service.
4229// the "output" return value is not valid until after Send returns without error.
4230//
4231// See DescribeRetentionConfigurations for more information on using the DescribeRetentionConfigurations
4232// API call, and error handling.
4233//
4234// This method is useful when you want to inject custom logic or configuration
4235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4236//
4237//
4238//    // Example sending a request using the DescribeRetentionConfigurationsRequest method.
4239//    req, resp := client.DescribeRetentionConfigurationsRequest(params)
4240//
4241//    err := req.Send()
4242//    if err == nil { // resp is now filled
4243//        fmt.Println(resp)
4244//    }
4245//
4246// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
4247func (c *ConfigService) DescribeRetentionConfigurationsRequest(input *DescribeRetentionConfigurationsInput) (req *request.Request, output *DescribeRetentionConfigurationsOutput) {
4248	op := &request.Operation{
4249		Name:       opDescribeRetentionConfigurations,
4250		HTTPMethod: "POST",
4251		HTTPPath:   "/",
4252	}
4253
4254	if input == nil {
4255		input = &DescribeRetentionConfigurationsInput{}
4256	}
4257
4258	output = &DescribeRetentionConfigurationsOutput{}
4259	req = c.newRequest(op, input, output)
4260	return
4261}
4262
4263// DescribeRetentionConfigurations API operation for AWS Config.
4264//
4265// Returns the details of one or more retention configurations. If the retention
4266// configuration name is not specified, this action returns the details for
4267// all the retention configurations for that account.
4268//
4269// Currently, AWS Config supports only one retention configuration per region
4270// in your account.
4271//
4272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4273// with awserr.Error's Code and Message methods to get detailed information about
4274// the error.
4275//
4276// See the AWS API reference guide for AWS Config's
4277// API operation DescribeRetentionConfigurations for usage and error information.
4278//
4279// Returned Error Types:
4280//   * InvalidParameterValueException
4281//   One or more of the specified parameters are invalid. Verify that your parameters
4282//   are valid and try again.
4283//
4284//   * NoSuchRetentionConfigurationException
4285//   You have specified a retention configuration that does not exist.
4286//
4287//   * InvalidNextTokenException
4288//   The specified next token is invalid. Specify the nextToken string that was
4289//   returned in the previous response to get the next page of results.
4290//
4291// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
4292func (c *ConfigService) DescribeRetentionConfigurations(input *DescribeRetentionConfigurationsInput) (*DescribeRetentionConfigurationsOutput, error) {
4293	req, out := c.DescribeRetentionConfigurationsRequest(input)
4294	return out, req.Send()
4295}
4296
4297// DescribeRetentionConfigurationsWithContext is the same as DescribeRetentionConfigurations with the addition of
4298// the ability to pass a context and additional request options.
4299//
4300// See DescribeRetentionConfigurations for details on how to use this API operation.
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.
4306func (c *ConfigService) DescribeRetentionConfigurationsWithContext(ctx aws.Context, input *DescribeRetentionConfigurationsInput, opts ...request.Option) (*DescribeRetentionConfigurationsOutput, error) {
4307	req, out := c.DescribeRetentionConfigurationsRequest(input)
4308	req.SetContext(ctx)
4309	req.ApplyOptions(opts...)
4310	return out, req.Send()
4311}
4312
4313const opGetAggregateComplianceDetailsByConfigRule = "GetAggregateComplianceDetailsByConfigRule"
4314
4315// GetAggregateComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
4316// client's request for the GetAggregateComplianceDetailsByConfigRule operation. The "output" return
4317// value will be populated with the request's response once the request completes
4318// successfully.
4319//
4320// Use "Send" method on the returned Request to send the API call to the service.
4321// the "output" return value is not valid until after Send returns without error.
4322//
4323// See GetAggregateComplianceDetailsByConfigRule for more information on using the GetAggregateComplianceDetailsByConfigRule
4324// API call, and error handling.
4325//
4326// This method is useful when you want to inject custom logic or configuration
4327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4328//
4329//
4330//    // Example sending a request using the GetAggregateComplianceDetailsByConfigRuleRequest method.
4331//    req, resp := client.GetAggregateComplianceDetailsByConfigRuleRequest(params)
4332//
4333//    err := req.Send()
4334//    if err == nil { // resp is now filled
4335//        fmt.Println(resp)
4336//    }
4337//
4338// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
4339func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleRequest(input *GetAggregateComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetAggregateComplianceDetailsByConfigRuleOutput) {
4340	op := &request.Operation{
4341		Name:       opGetAggregateComplianceDetailsByConfigRule,
4342		HTTPMethod: "POST",
4343		HTTPPath:   "/",
4344	}
4345
4346	if input == nil {
4347		input = &GetAggregateComplianceDetailsByConfigRuleInput{}
4348	}
4349
4350	output = &GetAggregateComplianceDetailsByConfigRuleOutput{}
4351	req = c.newRequest(op, input, output)
4352	return
4353}
4354
4355// GetAggregateComplianceDetailsByConfigRule API operation for AWS Config.
4356//
4357// Returns the evaluation results for the specified AWS Config rule for a specific
4358// resource in a rule. The results indicate which AWS resources were evaluated
4359// by the rule, when each resource was last evaluated, and whether each resource
4360// complies with the rule.
4361//
4362// The results can return an empty result page. But if you have a nextToken,
4363// the results are displayed on the next page.
4364//
4365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4366// with awserr.Error's Code and Message methods to get detailed information about
4367// the error.
4368//
4369// See the AWS API reference guide for AWS Config's
4370// API operation GetAggregateComplianceDetailsByConfigRule for usage and error information.
4371//
4372// Returned Error Types:
4373//   * ValidationException
4374//   The requested action is not valid.
4375//
4376//   For PutStoredQuery, you will see this exception if there are missing required
4377//   fields or if the input value fails the validation, or if you are trying to
4378//   create more than 300 queries.
4379//
4380//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
4381//   exception if there are missing required fields or if the input value fails
4382//   the validation.
4383//
4384//   * InvalidLimitException
4385//   The specified limit is outside the allowable range.
4386//
4387//   * InvalidNextTokenException
4388//   The specified next token is invalid. Specify the nextToken string that was
4389//   returned in the previous response to get the next page of results.
4390//
4391//   * NoSuchConfigurationAggregatorException
4392//   You have specified a configuration aggregator that does not exist.
4393//
4394// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
4395func (c *ConfigService) GetAggregateComplianceDetailsByConfigRule(input *GetAggregateComplianceDetailsByConfigRuleInput) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
4396	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
4397	return out, req.Send()
4398}
4399
4400// GetAggregateComplianceDetailsByConfigRuleWithContext is the same as GetAggregateComplianceDetailsByConfigRule with the addition of
4401// the ability to pass a context and additional request options.
4402//
4403// See GetAggregateComplianceDetailsByConfigRule for details on how to use this API operation.
4404//
4405// The context must be non-nil and will be used for request cancellation. If
4406// the context is nil a panic will occur. In the future the SDK may create
4407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4408// for more information on using Contexts.
4409func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetAggregateComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
4410	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
4411	req.SetContext(ctx)
4412	req.ApplyOptions(opts...)
4413	return out, req.Send()
4414}
4415
4416const opGetAggregateConfigRuleComplianceSummary = "GetAggregateConfigRuleComplianceSummary"
4417
4418// GetAggregateConfigRuleComplianceSummaryRequest generates a "aws/request.Request" representing the
4419// client's request for the GetAggregateConfigRuleComplianceSummary operation. The "output" return
4420// value will be populated with the request's response once the request completes
4421// successfully.
4422//
4423// Use "Send" method on the returned Request to send the API call to the service.
4424// the "output" return value is not valid until after Send returns without error.
4425//
4426// See GetAggregateConfigRuleComplianceSummary for more information on using the GetAggregateConfigRuleComplianceSummary
4427// API call, and error handling.
4428//
4429// This method is useful when you want to inject custom logic or configuration
4430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4431//
4432//
4433//    // Example sending a request using the GetAggregateConfigRuleComplianceSummaryRequest method.
4434//    req, resp := client.GetAggregateConfigRuleComplianceSummaryRequest(params)
4435//
4436//    err := req.Send()
4437//    if err == nil { // resp is now filled
4438//        fmt.Println(resp)
4439//    }
4440//
4441// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
4442func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryRequest(input *GetAggregateConfigRuleComplianceSummaryInput) (req *request.Request, output *GetAggregateConfigRuleComplianceSummaryOutput) {
4443	op := &request.Operation{
4444		Name:       opGetAggregateConfigRuleComplianceSummary,
4445		HTTPMethod: "POST",
4446		HTTPPath:   "/",
4447	}
4448
4449	if input == nil {
4450		input = &GetAggregateConfigRuleComplianceSummaryInput{}
4451	}
4452
4453	output = &GetAggregateConfigRuleComplianceSummaryOutput{}
4454	req = c.newRequest(op, input, output)
4455	return
4456}
4457
4458// GetAggregateConfigRuleComplianceSummary API operation for AWS Config.
4459//
4460// Returns the number of compliant and noncompliant rules for one or more accounts
4461// and regions in an aggregator.
4462//
4463// The results can return an empty result page, but if you have a nextToken,
4464// the results are displayed on the next page.
4465//
4466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4467// with awserr.Error's Code and Message methods to get detailed information about
4468// the error.
4469//
4470// See the AWS API reference guide for AWS Config's
4471// API operation GetAggregateConfigRuleComplianceSummary for usage and error information.
4472//
4473// Returned Error Types:
4474//   * ValidationException
4475//   The requested action is not valid.
4476//
4477//   For PutStoredQuery, you will see this exception if there are missing required
4478//   fields or if the input value fails the validation, or if you are trying to
4479//   create more than 300 queries.
4480//
4481//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
4482//   exception if there are missing required fields or if the input value fails
4483//   the validation.
4484//
4485//   * InvalidLimitException
4486//   The specified limit is outside the allowable range.
4487//
4488//   * InvalidNextTokenException
4489//   The specified next token is invalid. Specify the nextToken string that was
4490//   returned in the previous response to get the next page of results.
4491//
4492//   * NoSuchConfigurationAggregatorException
4493//   You have specified a configuration aggregator that does not exist.
4494//
4495// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
4496func (c *ConfigService) GetAggregateConfigRuleComplianceSummary(input *GetAggregateConfigRuleComplianceSummaryInput) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
4497	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
4498	return out, req.Send()
4499}
4500
4501// GetAggregateConfigRuleComplianceSummaryWithContext is the same as GetAggregateConfigRuleComplianceSummary with the addition of
4502// the ability to pass a context and additional request options.
4503//
4504// See GetAggregateConfigRuleComplianceSummary for details on how to use this API operation.
4505//
4506// The context must be non-nil and will be used for request cancellation. If
4507// the context is nil a panic will occur. In the future the SDK may create
4508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4509// for more information on using Contexts.
4510func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryWithContext(ctx aws.Context, input *GetAggregateConfigRuleComplianceSummaryInput, opts ...request.Option) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
4511	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
4512	req.SetContext(ctx)
4513	req.ApplyOptions(opts...)
4514	return out, req.Send()
4515}
4516
4517const opGetAggregateConformancePackComplianceSummary = "GetAggregateConformancePackComplianceSummary"
4518
4519// GetAggregateConformancePackComplianceSummaryRequest generates a "aws/request.Request" representing the
4520// client's request for the GetAggregateConformancePackComplianceSummary operation. The "output" return
4521// value will be populated with the request's response once the request completes
4522// successfully.
4523//
4524// Use "Send" method on the returned Request to send the API call to the service.
4525// the "output" return value is not valid until after Send returns without error.
4526//
4527// See GetAggregateConformancePackComplianceSummary for more information on using the GetAggregateConformancePackComplianceSummary
4528// API call, and error handling.
4529//
4530// This method is useful when you want to inject custom logic or configuration
4531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4532//
4533//
4534//    // Example sending a request using the GetAggregateConformancePackComplianceSummaryRequest method.
4535//    req, resp := client.GetAggregateConformancePackComplianceSummaryRequest(params)
4536//
4537//    err := req.Send()
4538//    if err == nil { // resp is now filled
4539//        fmt.Println(resp)
4540//    }
4541//
4542// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConformancePackComplianceSummary
4543func (c *ConfigService) GetAggregateConformancePackComplianceSummaryRequest(input *GetAggregateConformancePackComplianceSummaryInput) (req *request.Request, output *GetAggregateConformancePackComplianceSummaryOutput) {
4544	op := &request.Operation{
4545		Name:       opGetAggregateConformancePackComplianceSummary,
4546		HTTPMethod: "POST",
4547		HTTPPath:   "/",
4548	}
4549
4550	if input == nil {
4551		input = &GetAggregateConformancePackComplianceSummaryInput{}
4552	}
4553
4554	output = &GetAggregateConformancePackComplianceSummaryOutput{}
4555	req = c.newRequest(op, input, output)
4556	return
4557}
4558
4559// GetAggregateConformancePackComplianceSummary API operation for AWS Config.
4560//
4561// Returns the count of compliant and noncompliant conformance packs across
4562// all AWS Accounts and AWS Regions in an aggregator. You can filter based on
4563// AWS Account ID or AWS Region.
4564//
4565// The results can return an empty result page, but if you have a nextToken,
4566// the results are displayed on the next page.
4567//
4568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4569// with awserr.Error's Code and Message methods to get detailed information about
4570// the error.
4571//
4572// See the AWS API reference guide for AWS Config's
4573// API operation GetAggregateConformancePackComplianceSummary for usage and error information.
4574//
4575// Returned Error Types:
4576//   * ValidationException
4577//   The requested action is not valid.
4578//
4579//   For PutStoredQuery, you will see this exception if there are missing required
4580//   fields or if the input value fails the validation, or if you are trying to
4581//   create more than 300 queries.
4582//
4583//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
4584//   exception if there are missing required fields or if the input value fails
4585//   the validation.
4586//
4587//   * InvalidLimitException
4588//   The specified limit is outside the allowable range.
4589//
4590//   * InvalidNextTokenException
4591//   The specified next token is invalid. Specify the nextToken string that was
4592//   returned in the previous response to get the next page of results.
4593//
4594//   * NoSuchConfigurationAggregatorException
4595//   You have specified a configuration aggregator that does not exist.
4596//
4597// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConformancePackComplianceSummary
4598func (c *ConfigService) GetAggregateConformancePackComplianceSummary(input *GetAggregateConformancePackComplianceSummaryInput) (*GetAggregateConformancePackComplianceSummaryOutput, error) {
4599	req, out := c.GetAggregateConformancePackComplianceSummaryRequest(input)
4600	return out, req.Send()
4601}
4602
4603// GetAggregateConformancePackComplianceSummaryWithContext is the same as GetAggregateConformancePackComplianceSummary with the addition of
4604// the ability to pass a context and additional request options.
4605//
4606// See GetAggregateConformancePackComplianceSummary for details on how to use this API operation.
4607//
4608// The context must be non-nil and will be used for request cancellation. If
4609// the context is nil a panic will occur. In the future the SDK may create
4610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4611// for more information on using Contexts.
4612func (c *ConfigService) GetAggregateConformancePackComplianceSummaryWithContext(ctx aws.Context, input *GetAggregateConformancePackComplianceSummaryInput, opts ...request.Option) (*GetAggregateConformancePackComplianceSummaryOutput, error) {
4613	req, out := c.GetAggregateConformancePackComplianceSummaryRequest(input)
4614	req.SetContext(ctx)
4615	req.ApplyOptions(opts...)
4616	return out, req.Send()
4617}
4618
4619const opGetAggregateDiscoveredResourceCounts = "GetAggregateDiscoveredResourceCounts"
4620
4621// GetAggregateDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
4622// client's request for the GetAggregateDiscoveredResourceCounts operation. The "output" return
4623// value will be populated with the request's response once the request completes
4624// successfully.
4625//
4626// Use "Send" method on the returned Request to send the API call to the service.
4627// the "output" return value is not valid until after Send returns without error.
4628//
4629// See GetAggregateDiscoveredResourceCounts for more information on using the GetAggregateDiscoveredResourceCounts
4630// API call, and error handling.
4631//
4632// This method is useful when you want to inject custom logic or configuration
4633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4634//
4635//
4636//    // Example sending a request using the GetAggregateDiscoveredResourceCountsRequest method.
4637//    req, resp := client.GetAggregateDiscoveredResourceCountsRequest(params)
4638//
4639//    err := req.Send()
4640//    if err == nil { // resp is now filled
4641//        fmt.Println(resp)
4642//    }
4643//
4644// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
4645func (c *ConfigService) GetAggregateDiscoveredResourceCountsRequest(input *GetAggregateDiscoveredResourceCountsInput) (req *request.Request, output *GetAggregateDiscoveredResourceCountsOutput) {
4646	op := &request.Operation{
4647		Name:       opGetAggregateDiscoveredResourceCounts,
4648		HTTPMethod: "POST",
4649		HTTPPath:   "/",
4650	}
4651
4652	if input == nil {
4653		input = &GetAggregateDiscoveredResourceCountsInput{}
4654	}
4655
4656	output = &GetAggregateDiscoveredResourceCountsOutput{}
4657	req = c.newRequest(op, input, output)
4658	return
4659}
4660
4661// GetAggregateDiscoveredResourceCounts API operation for AWS Config.
4662//
4663// Returns the resource counts across accounts and regions that are present
4664// in your AWS Config aggregator. You can request the resource counts by providing
4665// filters and GroupByKey.
4666//
4667// For example, if the input contains accountID 12345678910 and region us-east-1
4668// in filters, the API returns the count of resources in account ID 12345678910
4669// and region us-east-1. If the input contains ACCOUNT_ID as a GroupByKey, the
4670// API returns resource counts for all source accounts that are present in your
4671// aggregator.
4672//
4673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4674// with awserr.Error's Code and Message methods to get detailed information about
4675// the error.
4676//
4677// See the AWS API reference guide for AWS Config's
4678// API operation GetAggregateDiscoveredResourceCounts for usage and error information.
4679//
4680// Returned Error Types:
4681//   * ValidationException
4682//   The requested action is not valid.
4683//
4684//   For PutStoredQuery, you will see this exception if there are missing required
4685//   fields or if the input value fails the validation, or if you are trying to
4686//   create more than 300 queries.
4687//
4688//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
4689//   exception if there are missing required fields or if the input value fails
4690//   the validation.
4691//
4692//   * InvalidLimitException
4693//   The specified limit is outside the allowable range.
4694//
4695//   * InvalidNextTokenException
4696//   The specified next token is invalid. Specify the nextToken string that was
4697//   returned in the previous response to get the next page of results.
4698//
4699//   * NoSuchConfigurationAggregatorException
4700//   You have specified a configuration aggregator that does not exist.
4701//
4702// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
4703func (c *ConfigService) GetAggregateDiscoveredResourceCounts(input *GetAggregateDiscoveredResourceCountsInput) (*GetAggregateDiscoveredResourceCountsOutput, error) {
4704	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
4705	return out, req.Send()
4706}
4707
4708// GetAggregateDiscoveredResourceCountsWithContext is the same as GetAggregateDiscoveredResourceCounts with the addition of
4709// the ability to pass a context and additional request options.
4710//
4711// See GetAggregateDiscoveredResourceCounts for details on how to use this API operation.
4712//
4713// The context must be non-nil and will be used for request cancellation. If
4714// the context is nil a panic will occur. In the future the SDK may create
4715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4716// for more information on using Contexts.
4717func (c *ConfigService) GetAggregateDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetAggregateDiscoveredResourceCountsInput, opts ...request.Option) (*GetAggregateDiscoveredResourceCountsOutput, error) {
4718	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
4719	req.SetContext(ctx)
4720	req.ApplyOptions(opts...)
4721	return out, req.Send()
4722}
4723
4724const opGetAggregateResourceConfig = "GetAggregateResourceConfig"
4725
4726// GetAggregateResourceConfigRequest generates a "aws/request.Request" representing the
4727// client's request for the GetAggregateResourceConfig operation. The "output" return
4728// value will be populated with the request's response once the request completes
4729// successfully.
4730//
4731// Use "Send" method on the returned Request to send the API call to the service.
4732// the "output" return value is not valid until after Send returns without error.
4733//
4734// See GetAggregateResourceConfig for more information on using the GetAggregateResourceConfig
4735// API call, and error handling.
4736//
4737// This method is useful when you want to inject custom logic or configuration
4738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4739//
4740//
4741//    // Example sending a request using the GetAggregateResourceConfigRequest method.
4742//    req, resp := client.GetAggregateResourceConfigRequest(params)
4743//
4744//    err := req.Send()
4745//    if err == nil { // resp is now filled
4746//        fmt.Println(resp)
4747//    }
4748//
4749// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
4750func (c *ConfigService) GetAggregateResourceConfigRequest(input *GetAggregateResourceConfigInput) (req *request.Request, output *GetAggregateResourceConfigOutput) {
4751	op := &request.Operation{
4752		Name:       opGetAggregateResourceConfig,
4753		HTTPMethod: "POST",
4754		HTTPPath:   "/",
4755	}
4756
4757	if input == nil {
4758		input = &GetAggregateResourceConfigInput{}
4759	}
4760
4761	output = &GetAggregateResourceConfigOutput{}
4762	req = c.newRequest(op, input, output)
4763	return
4764}
4765
4766// GetAggregateResourceConfig API operation for AWS Config.
4767//
4768// Returns configuration item that is aggregated for your specific resource
4769// in a specific source account and region.
4770//
4771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4772// with awserr.Error's Code and Message methods to get detailed information about
4773// the error.
4774//
4775// See the AWS API reference guide for AWS Config's
4776// API operation GetAggregateResourceConfig for usage and error information.
4777//
4778// Returned Error Types:
4779//   * ValidationException
4780//   The requested action is not valid.
4781//
4782//   For PutStoredQuery, you will see this exception if there are missing required
4783//   fields or if the input value fails the validation, or if you are trying to
4784//   create more than 300 queries.
4785//
4786//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
4787//   exception if there are missing required fields or if the input value fails
4788//   the validation.
4789//
4790//   * NoSuchConfigurationAggregatorException
4791//   You have specified a configuration aggregator that does not exist.
4792//
4793//   * OversizedConfigurationItemException
4794//   The configuration item size is outside the allowable range.
4795//
4796//   * ResourceNotDiscoveredException
4797//   You have specified a resource that is either unknown or has not been discovered.
4798//
4799// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
4800func (c *ConfigService) GetAggregateResourceConfig(input *GetAggregateResourceConfigInput) (*GetAggregateResourceConfigOutput, error) {
4801	req, out := c.GetAggregateResourceConfigRequest(input)
4802	return out, req.Send()
4803}
4804
4805// GetAggregateResourceConfigWithContext is the same as GetAggregateResourceConfig with the addition of
4806// the ability to pass a context and additional request options.
4807//
4808// See GetAggregateResourceConfig for details on how to use this API operation.
4809//
4810// The context must be non-nil and will be used for request cancellation. If
4811// the context is nil a panic will occur. In the future the SDK may create
4812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4813// for more information on using Contexts.
4814func (c *ConfigService) GetAggregateResourceConfigWithContext(ctx aws.Context, input *GetAggregateResourceConfigInput, opts ...request.Option) (*GetAggregateResourceConfigOutput, error) {
4815	req, out := c.GetAggregateResourceConfigRequest(input)
4816	req.SetContext(ctx)
4817	req.ApplyOptions(opts...)
4818	return out, req.Send()
4819}
4820
4821const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
4822
4823// GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
4824// client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
4825// value will be populated with the request's response once the request completes
4826// successfully.
4827//
4828// Use "Send" method on the returned Request to send the API call to the service.
4829// the "output" return value is not valid until after Send returns without error.
4830//
4831// See GetComplianceDetailsByConfigRule for more information on using the GetComplianceDetailsByConfigRule
4832// API call, and error handling.
4833//
4834// This method is useful when you want to inject custom logic or configuration
4835// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4836//
4837//
4838//    // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
4839//    req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
4840//
4841//    err := req.Send()
4842//    if err == nil { // resp is now filled
4843//        fmt.Println(resp)
4844//    }
4845//
4846// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
4847func (c *ConfigService) GetComplianceDetailsByConfigRuleRequest(input *GetComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetComplianceDetailsByConfigRuleOutput) {
4848	op := &request.Operation{
4849		Name:       opGetComplianceDetailsByConfigRule,
4850		HTTPMethod: "POST",
4851		HTTPPath:   "/",
4852	}
4853
4854	if input == nil {
4855		input = &GetComplianceDetailsByConfigRuleInput{}
4856	}
4857
4858	output = &GetComplianceDetailsByConfigRuleOutput{}
4859	req = c.newRequest(op, input, output)
4860	return
4861}
4862
4863// GetComplianceDetailsByConfigRule API operation for AWS Config.
4864//
4865// Returns the evaluation results for the specified AWS Config rule. The results
4866// indicate which AWS resources were evaluated by the rule, when each resource
4867// was last evaluated, and whether each resource complies with the rule.
4868//
4869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4870// with awserr.Error's Code and Message methods to get detailed information about
4871// the error.
4872//
4873// See the AWS API reference guide for AWS Config's
4874// API operation GetComplianceDetailsByConfigRule for usage and error information.
4875//
4876// Returned Error Types:
4877//   * InvalidParameterValueException
4878//   One or more of the specified parameters are invalid. Verify that your parameters
4879//   are valid and try again.
4880//
4881//   * InvalidNextTokenException
4882//   The specified next token is invalid. Specify the nextToken string that was
4883//   returned in the previous response to get the next page of results.
4884//
4885//   * NoSuchConfigRuleException
4886//   One or more AWS Config rules in the request are invalid. Verify that the
4887//   rule names are correct and try again.
4888//
4889// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
4890func (c *ConfigService) GetComplianceDetailsByConfigRule(input *GetComplianceDetailsByConfigRuleInput) (*GetComplianceDetailsByConfigRuleOutput, error) {
4891	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
4892	return out, req.Send()
4893}
4894
4895// GetComplianceDetailsByConfigRuleWithContext is the same as GetComplianceDetailsByConfigRule with the addition of
4896// the ability to pass a context and additional request options.
4897//
4898// See GetComplianceDetailsByConfigRule for details on how to use this API operation.
4899//
4900// The context must be non-nil and will be used for request cancellation. If
4901// the context is nil a panic will occur. In the future the SDK may create
4902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4903// for more information on using Contexts.
4904func (c *ConfigService) GetComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetComplianceDetailsByConfigRuleOutput, error) {
4905	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
4906	req.SetContext(ctx)
4907	req.ApplyOptions(opts...)
4908	return out, req.Send()
4909}
4910
4911const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
4912
4913// GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
4914// client's request for the GetComplianceDetailsByResource operation. The "output" return
4915// value will be populated with the request's response once the request completes
4916// successfully.
4917//
4918// Use "Send" method on the returned Request to send the API call to the service.
4919// the "output" return value is not valid until after Send returns without error.
4920//
4921// See GetComplianceDetailsByResource for more information on using the GetComplianceDetailsByResource
4922// API call, and error handling.
4923//
4924// This method is useful when you want to inject custom logic or configuration
4925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4926//
4927//
4928//    // Example sending a request using the GetComplianceDetailsByResourceRequest method.
4929//    req, resp := client.GetComplianceDetailsByResourceRequest(params)
4930//
4931//    err := req.Send()
4932//    if err == nil { // resp is now filled
4933//        fmt.Println(resp)
4934//    }
4935//
4936// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
4937func (c *ConfigService) GetComplianceDetailsByResourceRequest(input *GetComplianceDetailsByResourceInput) (req *request.Request, output *GetComplianceDetailsByResourceOutput) {
4938	op := &request.Operation{
4939		Name:       opGetComplianceDetailsByResource,
4940		HTTPMethod: "POST",
4941		HTTPPath:   "/",
4942	}
4943
4944	if input == nil {
4945		input = &GetComplianceDetailsByResourceInput{}
4946	}
4947
4948	output = &GetComplianceDetailsByResourceOutput{}
4949	req = c.newRequest(op, input, output)
4950	return
4951}
4952
4953// GetComplianceDetailsByResource API operation for AWS Config.
4954//
4955// Returns the evaluation results for the specified AWS resource. The results
4956// indicate which AWS Config rules were used to evaluate the resource, when
4957// each rule was last used, and whether the resource complies with each rule.
4958//
4959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4960// with awserr.Error's Code and Message methods to get detailed information about
4961// the error.
4962//
4963// See the AWS API reference guide for AWS Config's
4964// API operation GetComplianceDetailsByResource for usage and error information.
4965//
4966// Returned Error Types:
4967//   * InvalidParameterValueException
4968//   One or more of the specified parameters are invalid. Verify that your parameters
4969//   are valid and try again.
4970//
4971// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
4972func (c *ConfigService) GetComplianceDetailsByResource(input *GetComplianceDetailsByResourceInput) (*GetComplianceDetailsByResourceOutput, error) {
4973	req, out := c.GetComplianceDetailsByResourceRequest(input)
4974	return out, req.Send()
4975}
4976
4977// GetComplianceDetailsByResourceWithContext is the same as GetComplianceDetailsByResource with the addition of
4978// the ability to pass a context and additional request options.
4979//
4980// See GetComplianceDetailsByResource for details on how to use this API operation.
4981//
4982// The context must be non-nil and will be used for request cancellation. If
4983// the context is nil a panic will occur. In the future the SDK may create
4984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4985// for more information on using Contexts.
4986func (c *ConfigService) GetComplianceDetailsByResourceWithContext(ctx aws.Context, input *GetComplianceDetailsByResourceInput, opts ...request.Option) (*GetComplianceDetailsByResourceOutput, error) {
4987	req, out := c.GetComplianceDetailsByResourceRequest(input)
4988	req.SetContext(ctx)
4989	req.ApplyOptions(opts...)
4990	return out, req.Send()
4991}
4992
4993const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
4994
4995// GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
4996// client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
4997// value will be populated with the request's response once the request completes
4998// successfully.
4999//
5000// Use "Send" method on the returned Request to send the API call to the service.
5001// the "output" return value is not valid until after Send returns without error.
5002//
5003// See GetComplianceSummaryByConfigRule for more information on using the GetComplianceSummaryByConfigRule
5004// API call, and error handling.
5005//
5006// This method is useful when you want to inject custom logic or configuration
5007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5008//
5009//
5010//    // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
5011//    req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
5012//
5013//    err := req.Send()
5014//    if err == nil { // resp is now filled
5015//        fmt.Println(resp)
5016//    }
5017//
5018// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
5019func (c *ConfigService) GetComplianceSummaryByConfigRuleRequest(input *GetComplianceSummaryByConfigRuleInput) (req *request.Request, output *GetComplianceSummaryByConfigRuleOutput) {
5020	op := &request.Operation{
5021		Name:       opGetComplianceSummaryByConfigRule,
5022		HTTPMethod: "POST",
5023		HTTPPath:   "/",
5024	}
5025
5026	if input == nil {
5027		input = &GetComplianceSummaryByConfigRuleInput{}
5028	}
5029
5030	output = &GetComplianceSummaryByConfigRuleOutput{}
5031	req = c.newRequest(op, input, output)
5032	return
5033}
5034
5035// GetComplianceSummaryByConfigRule API operation for AWS Config.
5036//
5037// Returns the number of AWS Config rules that are compliant and noncompliant,
5038// up to a maximum of 25 for each.
5039//
5040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5041// with awserr.Error's Code and Message methods to get detailed information about
5042// the error.
5043//
5044// See the AWS API reference guide for AWS Config's
5045// API operation GetComplianceSummaryByConfigRule for usage and error information.
5046// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
5047func (c *ConfigService) GetComplianceSummaryByConfigRule(input *GetComplianceSummaryByConfigRuleInput) (*GetComplianceSummaryByConfigRuleOutput, error) {
5048	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
5049	return out, req.Send()
5050}
5051
5052// GetComplianceSummaryByConfigRuleWithContext is the same as GetComplianceSummaryByConfigRule with the addition of
5053// the ability to pass a context and additional request options.
5054//
5055// See GetComplianceSummaryByConfigRule for details on how to use this API operation.
5056//
5057// The context must be non-nil and will be used for request cancellation. If
5058// the context is nil a panic will occur. In the future the SDK may create
5059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5060// for more information on using Contexts.
5061func (c *ConfigService) GetComplianceSummaryByConfigRuleWithContext(ctx aws.Context, input *GetComplianceSummaryByConfigRuleInput, opts ...request.Option) (*GetComplianceSummaryByConfigRuleOutput, error) {
5062	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
5063	req.SetContext(ctx)
5064	req.ApplyOptions(opts...)
5065	return out, req.Send()
5066}
5067
5068const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
5069
5070// GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
5071// client's request for the GetComplianceSummaryByResourceType operation. The "output" return
5072// value will be populated with the request's response once the request completes
5073// successfully.
5074//
5075// Use "Send" method on the returned Request to send the API call to the service.
5076// the "output" return value is not valid until after Send returns without error.
5077//
5078// See GetComplianceSummaryByResourceType for more information on using the GetComplianceSummaryByResourceType
5079// API call, and error handling.
5080//
5081// This method is useful when you want to inject custom logic or configuration
5082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5083//
5084//
5085//    // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
5086//    req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
5087//
5088//    err := req.Send()
5089//    if err == nil { // resp is now filled
5090//        fmt.Println(resp)
5091//    }
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
5094func (c *ConfigService) GetComplianceSummaryByResourceTypeRequest(input *GetComplianceSummaryByResourceTypeInput) (req *request.Request, output *GetComplianceSummaryByResourceTypeOutput) {
5095	op := &request.Operation{
5096		Name:       opGetComplianceSummaryByResourceType,
5097		HTTPMethod: "POST",
5098		HTTPPath:   "/",
5099	}
5100
5101	if input == nil {
5102		input = &GetComplianceSummaryByResourceTypeInput{}
5103	}
5104
5105	output = &GetComplianceSummaryByResourceTypeOutput{}
5106	req = c.newRequest(op, input, output)
5107	return
5108}
5109
5110// GetComplianceSummaryByResourceType API operation for AWS Config.
5111//
5112// Returns the number of resources that are compliant and the number that are
5113// noncompliant. You can specify one or more resource types to get these numbers
5114// for each resource type. The maximum number returned is 100.
5115//
5116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5117// with awserr.Error's Code and Message methods to get detailed information about
5118// the error.
5119//
5120// See the AWS API reference guide for AWS Config's
5121// API operation GetComplianceSummaryByResourceType for usage and error information.
5122//
5123// Returned Error Types:
5124//   * InvalidParameterValueException
5125//   One or more of the specified parameters are invalid. Verify that your parameters
5126//   are valid and try again.
5127//
5128// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
5129func (c *ConfigService) GetComplianceSummaryByResourceType(input *GetComplianceSummaryByResourceTypeInput) (*GetComplianceSummaryByResourceTypeOutput, error) {
5130	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
5131	return out, req.Send()
5132}
5133
5134// GetComplianceSummaryByResourceTypeWithContext is the same as GetComplianceSummaryByResourceType with the addition of
5135// the ability to pass a context and additional request options.
5136//
5137// See GetComplianceSummaryByResourceType for details on how to use this API operation.
5138//
5139// The context must be non-nil and will be used for request cancellation. If
5140// the context is nil a panic will occur. In the future the SDK may create
5141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5142// for more information on using Contexts.
5143func (c *ConfigService) GetComplianceSummaryByResourceTypeWithContext(ctx aws.Context, input *GetComplianceSummaryByResourceTypeInput, opts ...request.Option) (*GetComplianceSummaryByResourceTypeOutput, error) {
5144	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
5145	req.SetContext(ctx)
5146	req.ApplyOptions(opts...)
5147	return out, req.Send()
5148}
5149
5150const opGetConformancePackComplianceDetails = "GetConformancePackComplianceDetails"
5151
5152// GetConformancePackComplianceDetailsRequest generates a "aws/request.Request" representing the
5153// client's request for the GetConformancePackComplianceDetails operation. The "output" return
5154// value will be populated with the request's response once the request completes
5155// successfully.
5156//
5157// Use "Send" method on the returned Request to send the API call to the service.
5158// the "output" return value is not valid until after Send returns without error.
5159//
5160// See GetConformancePackComplianceDetails for more information on using the GetConformancePackComplianceDetails
5161// API call, and error handling.
5162//
5163// This method is useful when you want to inject custom logic or configuration
5164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5165//
5166//
5167//    // Example sending a request using the GetConformancePackComplianceDetailsRequest method.
5168//    req, resp := client.GetConformancePackComplianceDetailsRequest(params)
5169//
5170//    err := req.Send()
5171//    if err == nil { // resp is now filled
5172//        fmt.Println(resp)
5173//    }
5174//
5175// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
5176func (c *ConfigService) GetConformancePackComplianceDetailsRequest(input *GetConformancePackComplianceDetailsInput) (req *request.Request, output *GetConformancePackComplianceDetailsOutput) {
5177	op := &request.Operation{
5178		Name:       opGetConformancePackComplianceDetails,
5179		HTTPMethod: "POST",
5180		HTTPPath:   "/",
5181	}
5182
5183	if input == nil {
5184		input = &GetConformancePackComplianceDetailsInput{}
5185	}
5186
5187	output = &GetConformancePackComplianceDetailsOutput{}
5188	req = c.newRequest(op, input, output)
5189	return
5190}
5191
5192// GetConformancePackComplianceDetails API operation for AWS Config.
5193//
5194// Returns compliance details of a conformance pack for all AWS resources that
5195// are monitered by conformance pack.
5196//
5197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5198// with awserr.Error's Code and Message methods to get detailed information about
5199// the error.
5200//
5201// See the AWS API reference guide for AWS Config's
5202// API operation GetConformancePackComplianceDetails for usage and error information.
5203//
5204// Returned Error Types:
5205//   * InvalidLimitException
5206//   The specified limit is outside the allowable range.
5207//
5208//   * InvalidNextTokenException
5209//   The specified next token is invalid. Specify the nextToken string that was
5210//   returned in the previous response to get the next page of results.
5211//
5212//   * NoSuchConformancePackException
5213//   You specified one or more conformance packs that do not exist.
5214//
5215//   * NoSuchConfigRuleInConformancePackException
5216//   AWS Config rule that you passed in the filter does not exist.
5217//
5218//   * InvalidParameterValueException
5219//   One or more of the specified parameters are invalid. Verify that your parameters
5220//   are valid and try again.
5221//
5222// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
5223func (c *ConfigService) GetConformancePackComplianceDetails(input *GetConformancePackComplianceDetailsInput) (*GetConformancePackComplianceDetailsOutput, error) {
5224	req, out := c.GetConformancePackComplianceDetailsRequest(input)
5225	return out, req.Send()
5226}
5227
5228// GetConformancePackComplianceDetailsWithContext is the same as GetConformancePackComplianceDetails with the addition of
5229// the ability to pass a context and additional request options.
5230//
5231// See GetConformancePackComplianceDetails for details on how to use this API operation.
5232//
5233// The context must be non-nil and will be used for request cancellation. If
5234// the context is nil a panic will occur. In the future the SDK may create
5235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5236// for more information on using Contexts.
5237func (c *ConfigService) GetConformancePackComplianceDetailsWithContext(ctx aws.Context, input *GetConformancePackComplianceDetailsInput, opts ...request.Option) (*GetConformancePackComplianceDetailsOutput, error) {
5238	req, out := c.GetConformancePackComplianceDetailsRequest(input)
5239	req.SetContext(ctx)
5240	req.ApplyOptions(opts...)
5241	return out, req.Send()
5242}
5243
5244const opGetConformancePackComplianceSummary = "GetConformancePackComplianceSummary"
5245
5246// GetConformancePackComplianceSummaryRequest generates a "aws/request.Request" representing the
5247// client's request for the GetConformancePackComplianceSummary operation. The "output" return
5248// value will be populated with the request's response once the request completes
5249// successfully.
5250//
5251// Use "Send" method on the returned Request to send the API call to the service.
5252// the "output" return value is not valid until after Send returns without error.
5253//
5254// See GetConformancePackComplianceSummary for more information on using the GetConformancePackComplianceSummary
5255// API call, and error handling.
5256//
5257// This method is useful when you want to inject custom logic or configuration
5258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5259//
5260//
5261//    // Example sending a request using the GetConformancePackComplianceSummaryRequest method.
5262//    req, resp := client.GetConformancePackComplianceSummaryRequest(params)
5263//
5264//    err := req.Send()
5265//    if err == nil { // resp is now filled
5266//        fmt.Println(resp)
5267//    }
5268//
5269// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
5270func (c *ConfigService) GetConformancePackComplianceSummaryRequest(input *GetConformancePackComplianceSummaryInput) (req *request.Request, output *GetConformancePackComplianceSummaryOutput) {
5271	op := &request.Operation{
5272		Name:       opGetConformancePackComplianceSummary,
5273		HTTPMethod: "POST",
5274		HTTPPath:   "/",
5275	}
5276
5277	if input == nil {
5278		input = &GetConformancePackComplianceSummaryInput{}
5279	}
5280
5281	output = &GetConformancePackComplianceSummaryOutput{}
5282	req = c.newRequest(op, input, output)
5283	return
5284}
5285
5286// GetConformancePackComplianceSummary API operation for AWS Config.
5287//
5288// Returns compliance details for the conformance pack based on the cumulative
5289// compliance results of all the rules in that conformance pack.
5290//
5291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5292// with awserr.Error's Code and Message methods to get detailed information about
5293// the error.
5294//
5295// See the AWS API reference guide for AWS Config's
5296// API operation GetConformancePackComplianceSummary for usage and error information.
5297//
5298// Returned Error Types:
5299//   * NoSuchConformancePackException
5300//   You specified one or more conformance packs that do not exist.
5301//
5302//   * InvalidLimitException
5303//   The specified limit is outside the allowable range.
5304//
5305//   * InvalidNextTokenException
5306//   The specified next token is invalid. Specify the nextToken string that was
5307//   returned in the previous response to get the next page of results.
5308//
5309// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
5310func (c *ConfigService) GetConformancePackComplianceSummary(input *GetConformancePackComplianceSummaryInput) (*GetConformancePackComplianceSummaryOutput, error) {
5311	req, out := c.GetConformancePackComplianceSummaryRequest(input)
5312	return out, req.Send()
5313}
5314
5315// GetConformancePackComplianceSummaryWithContext is the same as GetConformancePackComplianceSummary with the addition of
5316// the ability to pass a context and additional request options.
5317//
5318// See GetConformancePackComplianceSummary for details on how to use this API operation.
5319//
5320// The context must be non-nil and will be used for request cancellation. If
5321// the context is nil a panic will occur. In the future the SDK may create
5322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5323// for more information on using Contexts.
5324func (c *ConfigService) GetConformancePackComplianceSummaryWithContext(ctx aws.Context, input *GetConformancePackComplianceSummaryInput, opts ...request.Option) (*GetConformancePackComplianceSummaryOutput, error) {
5325	req, out := c.GetConformancePackComplianceSummaryRequest(input)
5326	req.SetContext(ctx)
5327	req.ApplyOptions(opts...)
5328	return out, req.Send()
5329}
5330
5331const opGetDiscoveredResourceCounts = "GetDiscoveredResourceCounts"
5332
5333// GetDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
5334// client's request for the GetDiscoveredResourceCounts operation. The "output" return
5335// value will be populated with the request's response once the request completes
5336// successfully.
5337//
5338// Use "Send" method on the returned Request to send the API call to the service.
5339// the "output" return value is not valid until after Send returns without error.
5340//
5341// See GetDiscoveredResourceCounts for more information on using the GetDiscoveredResourceCounts
5342// API call, and error handling.
5343//
5344// This method is useful when you want to inject custom logic or configuration
5345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5346//
5347//
5348//    // Example sending a request using the GetDiscoveredResourceCountsRequest method.
5349//    req, resp := client.GetDiscoveredResourceCountsRequest(params)
5350//
5351//    err := req.Send()
5352//    if err == nil { // resp is now filled
5353//        fmt.Println(resp)
5354//    }
5355//
5356// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
5357func (c *ConfigService) GetDiscoveredResourceCountsRequest(input *GetDiscoveredResourceCountsInput) (req *request.Request, output *GetDiscoveredResourceCountsOutput) {
5358	op := &request.Operation{
5359		Name:       opGetDiscoveredResourceCounts,
5360		HTTPMethod: "POST",
5361		HTTPPath:   "/",
5362	}
5363
5364	if input == nil {
5365		input = &GetDiscoveredResourceCountsInput{}
5366	}
5367
5368	output = &GetDiscoveredResourceCountsOutput{}
5369	req = c.newRequest(op, input, output)
5370	return
5371}
5372
5373// GetDiscoveredResourceCounts API operation for AWS Config.
5374//
5375// Returns the resource types, the number of each resource type, and the total
5376// number of resources that AWS Config is recording in this region for your
5377// AWS account.
5378//
5379// Example
5380//
5381// AWS Config is recording three resource types in the US East (Ohio) Region
5382// for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.
5383//
5384// You make a call to the GetDiscoveredResourceCounts action and specify that
5385// you want all resource types.
5386//
5387// AWS Config returns the following:
5388//
5389//    * The resource types (EC2 instances, IAM users, and S3 buckets).
5390//
5391//    * The number of each resource type (25, 20, and 15).
5392//
5393//    * The total number of all resources (60).
5394//
5395// The response is paginated. By default, AWS Config lists 100 ResourceCount
5396// objects on each page. You can customize this number with the limit parameter.
5397// The response includes a nextToken string. To get the next page of results,
5398// run the request again and specify the string for the nextToken parameter.
5399//
5400// If you make a call to the GetDiscoveredResourceCounts action, you might not
5401// immediately receive resource counts in the following situations:
5402//
5403//    * You are a new AWS Config customer.
5404//
5405//    * You just enabled resource recording.
5406//
5407// It might take a few minutes for AWS Config to record and count your resources.
5408// Wait a few minutes and then retry the GetDiscoveredResourceCounts action.
5409//
5410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5411// with awserr.Error's Code and Message methods to get detailed information about
5412// the error.
5413//
5414// See the AWS API reference guide for AWS Config's
5415// API operation GetDiscoveredResourceCounts for usage and error information.
5416//
5417// Returned Error Types:
5418//   * ValidationException
5419//   The requested action is not valid.
5420//
5421//   For PutStoredQuery, you will see this exception if there are missing required
5422//   fields or if the input value fails the validation, or if you are trying to
5423//   create more than 300 queries.
5424//
5425//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
5426//   exception if there are missing required fields or if the input value fails
5427//   the validation.
5428//
5429//   * InvalidLimitException
5430//   The specified limit is outside the allowable range.
5431//
5432//   * InvalidNextTokenException
5433//   The specified next token is invalid. Specify the nextToken string that was
5434//   returned in the previous response to get the next page of results.
5435//
5436// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
5437func (c *ConfigService) GetDiscoveredResourceCounts(input *GetDiscoveredResourceCountsInput) (*GetDiscoveredResourceCountsOutput, error) {
5438	req, out := c.GetDiscoveredResourceCountsRequest(input)
5439	return out, req.Send()
5440}
5441
5442// GetDiscoveredResourceCountsWithContext is the same as GetDiscoveredResourceCounts with the addition of
5443// the ability to pass a context and additional request options.
5444//
5445// See GetDiscoveredResourceCounts for details on how to use this API operation.
5446//
5447// The context must be non-nil and will be used for request cancellation. If
5448// the context is nil a panic will occur. In the future the SDK may create
5449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5450// for more information on using Contexts.
5451func (c *ConfigService) GetDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetDiscoveredResourceCountsInput, opts ...request.Option) (*GetDiscoveredResourceCountsOutput, error) {
5452	req, out := c.GetDiscoveredResourceCountsRequest(input)
5453	req.SetContext(ctx)
5454	req.ApplyOptions(opts...)
5455	return out, req.Send()
5456}
5457
5458const opGetOrganizationConfigRuleDetailedStatus = "GetOrganizationConfigRuleDetailedStatus"
5459
5460// GetOrganizationConfigRuleDetailedStatusRequest generates a "aws/request.Request" representing the
5461// client's request for the GetOrganizationConfigRuleDetailedStatus operation. The "output" return
5462// value will be populated with the request's response once the request completes
5463// successfully.
5464//
5465// Use "Send" method on the returned Request to send the API call to the service.
5466// the "output" return value is not valid until after Send returns without error.
5467//
5468// See GetOrganizationConfigRuleDetailedStatus for more information on using the GetOrganizationConfigRuleDetailedStatus
5469// API call, and error handling.
5470//
5471// This method is useful when you want to inject custom logic or configuration
5472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5473//
5474//
5475//    // Example sending a request using the GetOrganizationConfigRuleDetailedStatusRequest method.
5476//    req, resp := client.GetOrganizationConfigRuleDetailedStatusRequest(params)
5477//
5478//    err := req.Send()
5479//    if err == nil { // resp is now filled
5480//        fmt.Println(resp)
5481//    }
5482//
5483// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
5484func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *GetOrganizationConfigRuleDetailedStatusInput) (req *request.Request, output *GetOrganizationConfigRuleDetailedStatusOutput) {
5485	op := &request.Operation{
5486		Name:       opGetOrganizationConfigRuleDetailedStatus,
5487		HTTPMethod: "POST",
5488		HTTPPath:   "/",
5489	}
5490
5491	if input == nil {
5492		input = &GetOrganizationConfigRuleDetailedStatusInput{}
5493	}
5494
5495	output = &GetOrganizationConfigRuleDetailedStatusOutput{}
5496	req = c.newRequest(op, input, output)
5497	return
5498}
5499
5500// GetOrganizationConfigRuleDetailedStatus API operation for AWS Config.
5501//
5502// Returns detailed status for each member account within an organization for
5503// a given organization config rule.
5504//
5505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5506// with awserr.Error's Code and Message methods to get detailed information about
5507// the error.
5508//
5509// See the AWS API reference guide for AWS Config's
5510// API operation GetOrganizationConfigRuleDetailedStatus for usage and error information.
5511//
5512// Returned Error Types:
5513//   * NoSuchOrganizationConfigRuleException
5514//   You specified one or more organization config rules that do not exist.
5515//
5516//   * InvalidLimitException
5517//   The specified limit is outside the allowable range.
5518//
5519//   * InvalidNextTokenException
5520//   The specified next token is invalid. Specify the nextToken string that was
5521//   returned in the previous response to get the next page of results.
5522//
5523//   * OrganizationAccessDeniedException
5524//   For PutConfigurationAggregator API, you can see this exception for the following
5525//   reasons:
5526//
5527//      * No permission to call EnableAWSServiceAccess API
5528//
5529//      * The configuration aggregator cannot be updated because your AWS Organization
5530//      management account or the delegated administrator role changed. Delete
5531//      this aggregator and create a new one with the current AWS Organization.
5532//
5533//      * The configuration aggregator is associated with a previous AWS Organization
5534//      and AWS Config cannot aggregate data with current AWS Organization. Delete
5535//      this aggregator and create a new one with the current AWS Organization.
5536//
5537//      * You are not a registered delegated administrator for AWS Config with
5538//      permissions to call ListDelegatedAdministrators API. Ensure that the management
5539//      account registers delagated administrator for AWS Config service principle
5540//      name before the delegated administrator creates an aggregator.
5541//
5542//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
5543//   Config throws an exception if APIs are called from member accounts. All APIs
5544//   must be called from organization master account.
5545//
5546// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
5547func (c *ConfigService) GetOrganizationConfigRuleDetailedStatus(input *GetOrganizationConfigRuleDetailedStatusInput) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
5548	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
5549	return out, req.Send()
5550}
5551
5552// GetOrganizationConfigRuleDetailedStatusWithContext is the same as GetOrganizationConfigRuleDetailedStatus with the addition of
5553// the ability to pass a context and additional request options.
5554//
5555// See GetOrganizationConfigRuleDetailedStatus for details on how to use this API operation.
5556//
5557// The context must be non-nil and will be used for request cancellation. If
5558// the context is nil a panic will occur. In the future the SDK may create
5559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5560// for more information on using Contexts.
5561func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConfigRuleDetailedStatusInput, opts ...request.Option) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
5562	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
5563	req.SetContext(ctx)
5564	req.ApplyOptions(opts...)
5565	return out, req.Send()
5566}
5567
5568const opGetOrganizationConformancePackDetailedStatus = "GetOrganizationConformancePackDetailedStatus"
5569
5570// GetOrganizationConformancePackDetailedStatusRequest generates a "aws/request.Request" representing the
5571// client's request for the GetOrganizationConformancePackDetailedStatus operation. The "output" return
5572// value will be populated with the request's response once the request completes
5573// successfully.
5574//
5575// Use "Send" method on the returned Request to send the API call to the service.
5576// the "output" return value is not valid until after Send returns without error.
5577//
5578// See GetOrganizationConformancePackDetailedStatus for more information on using the GetOrganizationConformancePackDetailedStatus
5579// API call, and error handling.
5580//
5581// This method is useful when you want to inject custom logic or configuration
5582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5583//
5584//
5585//    // Example sending a request using the GetOrganizationConformancePackDetailedStatusRequest method.
5586//    req, resp := client.GetOrganizationConformancePackDetailedStatusRequest(params)
5587//
5588//    err := req.Send()
5589//    if err == nil { // resp is now filled
5590//        fmt.Println(resp)
5591//    }
5592//
5593// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
5594func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(input *GetOrganizationConformancePackDetailedStatusInput) (req *request.Request, output *GetOrganizationConformancePackDetailedStatusOutput) {
5595	op := &request.Operation{
5596		Name:       opGetOrganizationConformancePackDetailedStatus,
5597		HTTPMethod: "POST",
5598		HTTPPath:   "/",
5599	}
5600
5601	if input == nil {
5602		input = &GetOrganizationConformancePackDetailedStatusInput{}
5603	}
5604
5605	output = &GetOrganizationConformancePackDetailedStatusOutput{}
5606	req = c.newRequest(op, input, output)
5607	return
5608}
5609
5610// GetOrganizationConformancePackDetailedStatus API operation for AWS Config.
5611//
5612// Returns detailed status for each member account within an organization for
5613// a given organization conformance pack.
5614//
5615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5616// with awserr.Error's Code and Message methods to get detailed information about
5617// the error.
5618//
5619// See the AWS API reference guide for AWS Config's
5620// API operation GetOrganizationConformancePackDetailedStatus for usage and error information.
5621//
5622// Returned Error Types:
5623//   * NoSuchOrganizationConformancePackException
5624//   AWS Config organization conformance pack that you passed in the filter does
5625//   not exist.
5626//
5627//   For DeleteOrganizationConformancePack, you tried to delete an organization
5628//   conformance pack that does not exist.
5629//
5630//   * InvalidLimitException
5631//   The specified limit is outside the allowable range.
5632//
5633//   * InvalidNextTokenException
5634//   The specified next token is invalid. Specify the nextToken string that was
5635//   returned in the previous response to get the next page of results.
5636//
5637//   * OrganizationAccessDeniedException
5638//   For PutConfigurationAggregator API, you can see this exception for the following
5639//   reasons:
5640//
5641//      * No permission to call EnableAWSServiceAccess API
5642//
5643//      * The configuration aggregator cannot be updated because your AWS Organization
5644//      management account or the delegated administrator role changed. Delete
5645//      this aggregator and create a new one with the current AWS Organization.
5646//
5647//      * The configuration aggregator is associated with a previous AWS Organization
5648//      and AWS Config cannot aggregate data with current AWS Organization. Delete
5649//      this aggregator and create a new one with the current AWS Organization.
5650//
5651//      * You are not a registered delegated administrator for AWS Config with
5652//      permissions to call ListDelegatedAdministrators API. Ensure that the management
5653//      account registers delagated administrator for AWS Config service principle
5654//      name before the delegated administrator creates an aggregator.
5655//
5656//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
5657//   Config throws an exception if APIs are called from member accounts. All APIs
5658//   must be called from organization master account.
5659//
5660// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
5661func (c *ConfigService) GetOrganizationConformancePackDetailedStatus(input *GetOrganizationConformancePackDetailedStatusInput) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
5662	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
5663	return out, req.Send()
5664}
5665
5666// GetOrganizationConformancePackDetailedStatusWithContext is the same as GetOrganizationConformancePackDetailedStatus with the addition of
5667// the ability to pass a context and additional request options.
5668//
5669// See GetOrganizationConformancePackDetailedStatus for details on how to use this API operation.
5670//
5671// The context must be non-nil and will be used for request cancellation. If
5672// the context is nil a panic will occur. In the future the SDK may create
5673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5674// for more information on using Contexts.
5675func (c *ConfigService) GetOrganizationConformancePackDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConformancePackDetailedStatusInput, opts ...request.Option) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
5676	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
5677	req.SetContext(ctx)
5678	req.ApplyOptions(opts...)
5679	return out, req.Send()
5680}
5681
5682const opGetResourceConfigHistory = "GetResourceConfigHistory"
5683
5684// GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
5685// client's request for the GetResourceConfigHistory 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 GetResourceConfigHistory for more information on using the GetResourceConfigHistory
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 GetResourceConfigHistoryRequest method.
5700//    req, resp := client.GetResourceConfigHistoryRequest(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/GetResourceConfigHistory
5708func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfigHistoryInput) (req *request.Request, output *GetResourceConfigHistoryOutput) {
5709	op := &request.Operation{
5710		Name:       opGetResourceConfigHistory,
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 = &GetResourceConfigHistoryInput{}
5723	}
5724
5725	output = &GetResourceConfigHistoryOutput{}
5726	req = c.newRequest(op, input, output)
5727	return
5728}
5729
5730// GetResourceConfigHistory API operation for AWS Config.
5731//
5732// Returns a list of configuration items for the specified resource. The list
5733// contains details about each state of the resource during the specified time
5734// interval. If you specified a retention period to retain your ConfigurationItems
5735// between a minimum of 30 days and a maximum of 7 years (2557 days), AWS Config
5736// returns the ConfigurationItems for the specified retention period.
5737//
5738// The response is paginated. By default, AWS Config returns a limit of 10 configuration
5739// items per page. You can customize this number with the limit parameter. The
5740// response includes a nextToken string. To get the next page of results, run
5741// the request again and specify the string for the nextToken parameter.
5742//
5743// Each call to the API is limited to span a duration of seven days. It is likely
5744// that the number of records returned is smaller than the specified limit.
5745// In such cases, you can make another call, using the nextToken.
5746//
5747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5748// with awserr.Error's Code and Message methods to get detailed information about
5749// the error.
5750//
5751// See the AWS API reference guide for AWS Config's
5752// API operation GetResourceConfigHistory for usage and error information.
5753//
5754// Returned Error Types:
5755//   * ValidationException
5756//   The requested action is not valid.
5757//
5758//   For PutStoredQuery, you will see this exception if there are missing required
5759//   fields or if the input value fails the validation, or if you are trying to
5760//   create more than 300 queries.
5761//
5762//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
5763//   exception if there are missing required fields or if the input value fails
5764//   the validation.
5765//
5766//   * InvalidTimeRangeException
5767//   The specified time range is not valid. The earlier time is not chronologically
5768//   before the later time.
5769//
5770//   * InvalidLimitException
5771//   The specified limit is outside the allowable range.
5772//
5773//   * InvalidNextTokenException
5774//   The specified next token is invalid. Specify the nextToken string that was
5775//   returned in the previous response to get the next page of results.
5776//
5777//   * NoAvailableConfigurationRecorderException
5778//   There are no configuration recorders available to provide the role needed
5779//   to describe your resources. Create a configuration recorder.
5780//
5781//   * ResourceNotDiscoveredException
5782//   You have specified a resource that is either unknown or has not been discovered.
5783//
5784// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
5785func (c *ConfigService) GetResourceConfigHistory(input *GetResourceConfigHistoryInput) (*GetResourceConfigHistoryOutput, error) {
5786	req, out := c.GetResourceConfigHistoryRequest(input)
5787	return out, req.Send()
5788}
5789
5790// GetResourceConfigHistoryWithContext is the same as GetResourceConfigHistory with the addition of
5791// the ability to pass a context and additional request options.
5792//
5793// See GetResourceConfigHistory for details on how to use this API operation.
5794//
5795// The context must be non-nil and will be used for request cancellation. If
5796// the context is nil a panic will occur. In the future the SDK may create
5797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5798// for more information on using Contexts.
5799func (c *ConfigService) GetResourceConfigHistoryWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, opts ...request.Option) (*GetResourceConfigHistoryOutput, error) {
5800	req, out := c.GetResourceConfigHistoryRequest(input)
5801	req.SetContext(ctx)
5802	req.ApplyOptions(opts...)
5803	return out, req.Send()
5804}
5805
5806// GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
5807// calling the "fn" function with the response data for each page. To stop
5808// iterating, return false from the fn function.
5809//
5810// See GetResourceConfigHistory method for more information on how to use this operation.
5811//
5812// Note: This operation can generate multiple requests to a service.
5813//
5814//    // Example iterating over at most 3 pages of a GetResourceConfigHistory operation.
5815//    pageNum := 0
5816//    err := client.GetResourceConfigHistoryPages(params,
5817//        func(page *configservice.GetResourceConfigHistoryOutput, lastPage bool) bool {
5818//            pageNum++
5819//            fmt.Println(page)
5820//            return pageNum <= 3
5821//        })
5822//
5823func (c *ConfigService) GetResourceConfigHistoryPages(input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool) error {
5824	return c.GetResourceConfigHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
5825}
5826
5827// GetResourceConfigHistoryPagesWithContext same as GetResourceConfigHistoryPages except
5828// it takes a Context and allows setting request options on the pages.
5829//
5830// The context must be non-nil and will be used for request cancellation. If
5831// the context is nil a panic will occur. In the future the SDK may create
5832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5833// for more information on using Contexts.
5834func (c *ConfigService) GetResourceConfigHistoryPagesWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool, opts ...request.Option) error {
5835	p := request.Pagination{
5836		NewRequest: func() (*request.Request, error) {
5837			var inCpy *GetResourceConfigHistoryInput
5838			if input != nil {
5839				tmp := *input
5840				inCpy = &tmp
5841			}
5842			req, _ := c.GetResourceConfigHistoryRequest(inCpy)
5843			req.SetContext(ctx)
5844			req.ApplyOptions(opts...)
5845			return req, nil
5846		},
5847	}
5848
5849	for p.Next() {
5850		if !fn(p.Page().(*GetResourceConfigHistoryOutput), !p.HasNextPage()) {
5851			break
5852		}
5853	}
5854
5855	return p.Err()
5856}
5857
5858const opGetStoredQuery = "GetStoredQuery"
5859
5860// GetStoredQueryRequest generates a "aws/request.Request" representing the
5861// client's request for the GetStoredQuery operation. The "output" return
5862// value will be populated with the request's response once the request completes
5863// successfully.
5864//
5865// Use "Send" method on the returned Request to send the API call to the service.
5866// the "output" return value is not valid until after Send returns without error.
5867//
5868// See GetStoredQuery for more information on using the GetStoredQuery
5869// API call, and error handling.
5870//
5871// This method is useful when you want to inject custom logic or configuration
5872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5873//
5874//
5875//    // Example sending a request using the GetStoredQueryRequest method.
5876//    req, resp := client.GetStoredQueryRequest(params)
5877//
5878//    err := req.Send()
5879//    if err == nil { // resp is now filled
5880//        fmt.Println(resp)
5881//    }
5882//
5883// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
5884func (c *ConfigService) GetStoredQueryRequest(input *GetStoredQueryInput) (req *request.Request, output *GetStoredQueryOutput) {
5885	op := &request.Operation{
5886		Name:       opGetStoredQuery,
5887		HTTPMethod: "POST",
5888		HTTPPath:   "/",
5889	}
5890
5891	if input == nil {
5892		input = &GetStoredQueryInput{}
5893	}
5894
5895	output = &GetStoredQueryOutput{}
5896	req = c.newRequest(op, input, output)
5897	return
5898}
5899
5900// GetStoredQuery API operation for AWS Config.
5901//
5902// Returns the details of a specific stored query.
5903//
5904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5905// with awserr.Error's Code and Message methods to get detailed information about
5906// the error.
5907//
5908// See the AWS API reference guide for AWS Config's
5909// API operation GetStoredQuery for usage and error information.
5910//
5911// Returned Error Types:
5912//   * ValidationException
5913//   The requested action is not valid.
5914//
5915//   For PutStoredQuery, you will see this exception if there are missing required
5916//   fields or if the input value fails the validation, or if you are trying to
5917//   create more than 300 queries.
5918//
5919//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
5920//   exception if there are missing required fields or if the input value fails
5921//   the validation.
5922//
5923//   * ResourceNotFoundException
5924//   You have specified a resource that does not exist.
5925//
5926// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
5927func (c *ConfigService) GetStoredQuery(input *GetStoredQueryInput) (*GetStoredQueryOutput, error) {
5928	req, out := c.GetStoredQueryRequest(input)
5929	return out, req.Send()
5930}
5931
5932// GetStoredQueryWithContext is the same as GetStoredQuery with the addition of
5933// the ability to pass a context and additional request options.
5934//
5935// See GetStoredQuery for details on how to use this API operation.
5936//
5937// The context must be non-nil and will be used for request cancellation. If
5938// the context is nil a panic will occur. In the future the SDK may create
5939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5940// for more information on using Contexts.
5941func (c *ConfigService) GetStoredQueryWithContext(ctx aws.Context, input *GetStoredQueryInput, opts ...request.Option) (*GetStoredQueryOutput, error) {
5942	req, out := c.GetStoredQueryRequest(input)
5943	req.SetContext(ctx)
5944	req.ApplyOptions(opts...)
5945	return out, req.Send()
5946}
5947
5948const opListAggregateDiscoveredResources = "ListAggregateDiscoveredResources"
5949
5950// ListAggregateDiscoveredResourcesRequest generates a "aws/request.Request" representing the
5951// client's request for the ListAggregateDiscoveredResources operation. The "output" return
5952// value will be populated with the request's response once the request completes
5953// successfully.
5954//
5955// Use "Send" method on the returned Request to send the API call to the service.
5956// the "output" return value is not valid until after Send returns without error.
5957//
5958// See ListAggregateDiscoveredResources for more information on using the ListAggregateDiscoveredResources
5959// API call, and error handling.
5960//
5961// This method is useful when you want to inject custom logic or configuration
5962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5963//
5964//
5965//    // Example sending a request using the ListAggregateDiscoveredResourcesRequest method.
5966//    req, resp := client.ListAggregateDiscoveredResourcesRequest(params)
5967//
5968//    err := req.Send()
5969//    if err == nil { // resp is now filled
5970//        fmt.Println(resp)
5971//    }
5972//
5973// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
5974func (c *ConfigService) ListAggregateDiscoveredResourcesRequest(input *ListAggregateDiscoveredResourcesInput) (req *request.Request, output *ListAggregateDiscoveredResourcesOutput) {
5975	op := &request.Operation{
5976		Name:       opListAggregateDiscoveredResources,
5977		HTTPMethod: "POST",
5978		HTTPPath:   "/",
5979	}
5980
5981	if input == nil {
5982		input = &ListAggregateDiscoveredResourcesInput{}
5983	}
5984
5985	output = &ListAggregateDiscoveredResourcesOutput{}
5986	req = c.newRequest(op, input, output)
5987	return
5988}
5989
5990// ListAggregateDiscoveredResources API operation for AWS Config.
5991//
5992// Accepts a resource type and returns a list of resource identifiers that are
5993// aggregated for a specific resource type across accounts and regions. A resource
5994// identifier includes the resource type, ID, (if available) the custom resource
5995// name, source account, and source region. You can narrow the results to include
5996// only resources that have specific resource IDs, or a resource name, or source
5997// account ID, or source region.
5998//
5999// For example, if the input consists of accountID 12345678910 and the region
6000// is us-east-1 for resource type AWS::EC2::Instance then the API returns all
6001// the EC2 instance identifiers of accountID 12345678910 and region us-east-1.
6002//
6003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6004// with awserr.Error's Code and Message methods to get detailed information about
6005// the error.
6006//
6007// See the AWS API reference guide for AWS Config's
6008// API operation ListAggregateDiscoveredResources for usage and error information.
6009//
6010// Returned Error Types:
6011//   * ValidationException
6012//   The requested action is not valid.
6013//
6014//   For PutStoredQuery, you will see this exception if there are missing required
6015//   fields or if the input value fails the validation, or if you are trying to
6016//   create more than 300 queries.
6017//
6018//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
6019//   exception if there are missing required fields or if the input value fails
6020//   the validation.
6021//
6022//   * InvalidLimitException
6023//   The specified limit is outside the allowable range.
6024//
6025//   * InvalidNextTokenException
6026//   The specified next token is invalid. Specify the nextToken string that was
6027//   returned in the previous response to get the next page of results.
6028//
6029//   * NoSuchConfigurationAggregatorException
6030//   You have specified a configuration aggregator that does not exist.
6031//
6032// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
6033func (c *ConfigService) ListAggregateDiscoveredResources(input *ListAggregateDiscoveredResourcesInput) (*ListAggregateDiscoveredResourcesOutput, error) {
6034	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
6035	return out, req.Send()
6036}
6037
6038// ListAggregateDiscoveredResourcesWithContext is the same as ListAggregateDiscoveredResources with the addition of
6039// the ability to pass a context and additional request options.
6040//
6041// See ListAggregateDiscoveredResources for details on how to use this API operation.
6042//
6043// The context must be non-nil and will be used for request cancellation. If
6044// the context is nil a panic will occur. In the future the SDK may create
6045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6046// for more information on using Contexts.
6047func (c *ConfigService) ListAggregateDiscoveredResourcesWithContext(ctx aws.Context, input *ListAggregateDiscoveredResourcesInput, opts ...request.Option) (*ListAggregateDiscoveredResourcesOutput, error) {
6048	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
6049	req.SetContext(ctx)
6050	req.ApplyOptions(opts...)
6051	return out, req.Send()
6052}
6053
6054const opListDiscoveredResources = "ListDiscoveredResources"
6055
6056// ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
6057// client's request for the ListDiscoveredResources operation. The "output" return
6058// value will be populated with the request's response once the request completes
6059// successfully.
6060//
6061// Use "Send" method on the returned Request to send the API call to the service.
6062// the "output" return value is not valid until after Send returns without error.
6063//
6064// See ListDiscoveredResources for more information on using the ListDiscoveredResources
6065// API call, and error handling.
6066//
6067// This method is useful when you want to inject custom logic or configuration
6068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6069//
6070//
6071//    // Example sending a request using the ListDiscoveredResourcesRequest method.
6072//    req, resp := client.ListDiscoveredResourcesRequest(params)
6073//
6074//    err := req.Send()
6075//    if err == nil { // resp is now filled
6076//        fmt.Println(resp)
6077//    }
6078//
6079// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
6080func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
6081	op := &request.Operation{
6082		Name:       opListDiscoveredResources,
6083		HTTPMethod: "POST",
6084		HTTPPath:   "/",
6085	}
6086
6087	if input == nil {
6088		input = &ListDiscoveredResourcesInput{}
6089	}
6090
6091	output = &ListDiscoveredResourcesOutput{}
6092	req = c.newRequest(op, input, output)
6093	return
6094}
6095
6096// ListDiscoveredResources API operation for AWS Config.
6097//
6098// Accepts a resource type and returns a list of resource identifiers for the
6099// resources of that type. A resource identifier includes the resource type,
6100// ID, and (if available) the custom resource name. The results consist of resources
6101// that AWS Config has discovered, including those that AWS Config is not currently
6102// recording. You can narrow the results to include only resources that have
6103// specific resource IDs or a resource name.
6104//
6105// You can specify either resource IDs or a resource name, but not both, in
6106// the same request.
6107//
6108// The response is paginated. By default, AWS Config lists 100 resource identifiers
6109// on each page. You can customize this number with the limit parameter. The
6110// response includes a nextToken string. To get the next page of results, run
6111// the request again and specify the string for the nextToken parameter.
6112//
6113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6114// with awserr.Error's Code and Message methods to get detailed information about
6115// the error.
6116//
6117// See the AWS API reference guide for AWS Config's
6118// API operation ListDiscoveredResources for usage and error information.
6119//
6120// Returned Error Types:
6121//   * ValidationException
6122//   The requested action is not valid.
6123//
6124//   For PutStoredQuery, you will see this exception if there are missing required
6125//   fields or if the input value fails the validation, or if you are trying to
6126//   create more than 300 queries.
6127//
6128//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
6129//   exception if there are missing required fields or if the input value fails
6130//   the validation.
6131//
6132//   * InvalidLimitException
6133//   The specified limit is outside the allowable range.
6134//
6135//   * InvalidNextTokenException
6136//   The specified next token is invalid. Specify the nextToken string that was
6137//   returned in the previous response to get the next page of results.
6138//
6139//   * NoAvailableConfigurationRecorderException
6140//   There are no configuration recorders available to provide the role needed
6141//   to describe your resources. Create a configuration recorder.
6142//
6143// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
6144func (c *ConfigService) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
6145	req, out := c.ListDiscoveredResourcesRequest(input)
6146	return out, req.Send()
6147}
6148
6149// ListDiscoveredResourcesWithContext is the same as ListDiscoveredResources with the addition of
6150// the ability to pass a context and additional request options.
6151//
6152// See ListDiscoveredResources for details on how to use this API operation.
6153//
6154// The context must be non-nil and will be used for request cancellation. If
6155// the context is nil a panic will occur. In the future the SDK may create
6156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6157// for more information on using Contexts.
6158func (c *ConfigService) ListDiscoveredResourcesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, opts ...request.Option) (*ListDiscoveredResourcesOutput, error) {
6159	req, out := c.ListDiscoveredResourcesRequest(input)
6160	req.SetContext(ctx)
6161	req.ApplyOptions(opts...)
6162	return out, req.Send()
6163}
6164
6165const opListStoredQueries = "ListStoredQueries"
6166
6167// ListStoredQueriesRequest generates a "aws/request.Request" representing the
6168// client's request for the ListStoredQueries operation. The "output" return
6169// value will be populated with the request's response once the request completes
6170// successfully.
6171//
6172// Use "Send" method on the returned Request to send the API call to the service.
6173// the "output" return value is not valid until after Send returns without error.
6174//
6175// See ListStoredQueries for more information on using the ListStoredQueries
6176// API call, and error handling.
6177//
6178// This method is useful when you want to inject custom logic or configuration
6179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6180//
6181//
6182//    // Example sending a request using the ListStoredQueriesRequest method.
6183//    req, resp := client.ListStoredQueriesRequest(params)
6184//
6185//    err := req.Send()
6186//    if err == nil { // resp is now filled
6187//        fmt.Println(resp)
6188//    }
6189//
6190// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
6191func (c *ConfigService) ListStoredQueriesRequest(input *ListStoredQueriesInput) (req *request.Request, output *ListStoredQueriesOutput) {
6192	op := &request.Operation{
6193		Name:       opListStoredQueries,
6194		HTTPMethod: "POST",
6195		HTTPPath:   "/",
6196		Paginator: &request.Paginator{
6197			InputTokens:     []string{"NextToken"},
6198			OutputTokens:    []string{"NextToken"},
6199			LimitToken:      "MaxResults",
6200			TruncationToken: "",
6201		},
6202	}
6203
6204	if input == nil {
6205		input = &ListStoredQueriesInput{}
6206	}
6207
6208	output = &ListStoredQueriesOutput{}
6209	req = c.newRequest(op, input, output)
6210	return
6211}
6212
6213// ListStoredQueries API operation for AWS Config.
6214//
6215// Lists the stored queries for a single AWS account and a single AWS Region.
6216// The default is 100.
6217//
6218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6219// with awserr.Error's Code and Message methods to get detailed information about
6220// the error.
6221//
6222// See the AWS API reference guide for AWS Config's
6223// API operation ListStoredQueries for usage and error information.
6224//
6225// Returned Error Types:
6226//   * ValidationException
6227//   The requested action is not valid.
6228//
6229//   For PutStoredQuery, you will see this exception if there are missing required
6230//   fields or if the input value fails the validation, or if you are trying to
6231//   create more than 300 queries.
6232//
6233//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
6234//   exception if there are missing required fields or if the input value fails
6235//   the validation.
6236//
6237//   * InvalidNextTokenException
6238//   The specified next token is invalid. Specify the nextToken string that was
6239//   returned in the previous response to get the next page of results.
6240//
6241// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
6242func (c *ConfigService) ListStoredQueries(input *ListStoredQueriesInput) (*ListStoredQueriesOutput, error) {
6243	req, out := c.ListStoredQueriesRequest(input)
6244	return out, req.Send()
6245}
6246
6247// ListStoredQueriesWithContext is the same as ListStoredQueries with the addition of
6248// the ability to pass a context and additional request options.
6249//
6250// See ListStoredQueries for details on how to use this API operation.
6251//
6252// The context must be non-nil and will be used for request cancellation. If
6253// the context is nil a panic will occur. In the future the SDK may create
6254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6255// for more information on using Contexts.
6256func (c *ConfigService) ListStoredQueriesWithContext(ctx aws.Context, input *ListStoredQueriesInput, opts ...request.Option) (*ListStoredQueriesOutput, error) {
6257	req, out := c.ListStoredQueriesRequest(input)
6258	req.SetContext(ctx)
6259	req.ApplyOptions(opts...)
6260	return out, req.Send()
6261}
6262
6263// ListStoredQueriesPages iterates over the pages of a ListStoredQueries operation,
6264// calling the "fn" function with the response data for each page. To stop
6265// iterating, return false from the fn function.
6266//
6267// See ListStoredQueries method for more information on how to use this operation.
6268//
6269// Note: This operation can generate multiple requests to a service.
6270//
6271//    // Example iterating over at most 3 pages of a ListStoredQueries operation.
6272//    pageNum := 0
6273//    err := client.ListStoredQueriesPages(params,
6274//        func(page *configservice.ListStoredQueriesOutput, lastPage bool) bool {
6275//            pageNum++
6276//            fmt.Println(page)
6277//            return pageNum <= 3
6278//        })
6279//
6280func (c *ConfigService) ListStoredQueriesPages(input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool) error {
6281	return c.ListStoredQueriesPagesWithContext(aws.BackgroundContext(), input, fn)
6282}
6283
6284// ListStoredQueriesPagesWithContext same as ListStoredQueriesPages except
6285// it takes a Context and allows setting request options on the pages.
6286//
6287// The context must be non-nil and will be used for request cancellation. If
6288// the context is nil a panic will occur. In the future the SDK may create
6289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6290// for more information on using Contexts.
6291func (c *ConfigService) ListStoredQueriesPagesWithContext(ctx aws.Context, input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool, opts ...request.Option) error {
6292	p := request.Pagination{
6293		NewRequest: func() (*request.Request, error) {
6294			var inCpy *ListStoredQueriesInput
6295			if input != nil {
6296				tmp := *input
6297				inCpy = &tmp
6298			}
6299			req, _ := c.ListStoredQueriesRequest(inCpy)
6300			req.SetContext(ctx)
6301			req.ApplyOptions(opts...)
6302			return req, nil
6303		},
6304	}
6305
6306	for p.Next() {
6307		if !fn(p.Page().(*ListStoredQueriesOutput), !p.HasNextPage()) {
6308			break
6309		}
6310	}
6311
6312	return p.Err()
6313}
6314
6315const opListTagsForResource = "ListTagsForResource"
6316
6317// ListTagsForResourceRequest generates a "aws/request.Request" representing the
6318// client's request for the ListTagsForResource operation. The "output" return
6319// value will be populated with the request's response once the request completes
6320// successfully.
6321//
6322// Use "Send" method on the returned Request to send the API call to the service.
6323// the "output" return value is not valid until after Send returns without error.
6324//
6325// See ListTagsForResource for more information on using the ListTagsForResource
6326// API call, and error handling.
6327//
6328// This method is useful when you want to inject custom logic or configuration
6329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6330//
6331//
6332//    // Example sending a request using the ListTagsForResourceRequest method.
6333//    req, resp := client.ListTagsForResourceRequest(params)
6334//
6335//    err := req.Send()
6336//    if err == nil { // resp is now filled
6337//        fmt.Println(resp)
6338//    }
6339//
6340// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
6341func (c *ConfigService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6342	op := &request.Operation{
6343		Name:       opListTagsForResource,
6344		HTTPMethod: "POST",
6345		HTTPPath:   "/",
6346	}
6347
6348	if input == nil {
6349		input = &ListTagsForResourceInput{}
6350	}
6351
6352	output = &ListTagsForResourceOutput{}
6353	req = c.newRequest(op, input, output)
6354	return
6355}
6356
6357// ListTagsForResource API operation for AWS Config.
6358//
6359// List the tags for AWS Config resource.
6360//
6361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6362// with awserr.Error's Code and Message methods to get detailed information about
6363// the error.
6364//
6365// See the AWS API reference guide for AWS Config's
6366// API operation ListTagsForResource for usage and error information.
6367//
6368// Returned Error Types:
6369//   * ResourceNotFoundException
6370//   You have specified a resource that does not exist.
6371//
6372//   * ValidationException
6373//   The requested action is not valid.
6374//
6375//   For PutStoredQuery, you will see this exception if there are missing required
6376//   fields or if the input value fails the validation, or if you are trying to
6377//   create more than 300 queries.
6378//
6379//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
6380//   exception if there are missing required fields or if the input value fails
6381//   the validation.
6382//
6383//   * InvalidLimitException
6384//   The specified limit is outside the allowable range.
6385//
6386//   * InvalidNextTokenException
6387//   The specified next token is invalid. Specify the nextToken string that was
6388//   returned in the previous response to get the next page of results.
6389//
6390// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
6391func (c *ConfigService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6392	req, out := c.ListTagsForResourceRequest(input)
6393	return out, req.Send()
6394}
6395
6396// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6397// the ability to pass a context and additional request options.
6398//
6399// See ListTagsForResource for details on how to use this API operation.
6400//
6401// The context must be non-nil and will be used for request cancellation. If
6402// the context is nil a panic will occur. In the future the SDK may create
6403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6404// for more information on using Contexts.
6405func (c *ConfigService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6406	req, out := c.ListTagsForResourceRequest(input)
6407	req.SetContext(ctx)
6408	req.ApplyOptions(opts...)
6409	return out, req.Send()
6410}
6411
6412const opPutAggregationAuthorization = "PutAggregationAuthorization"
6413
6414// PutAggregationAuthorizationRequest generates a "aws/request.Request" representing the
6415// client's request for the PutAggregationAuthorization operation. The "output" return
6416// value will be populated with the request's response once the request completes
6417// successfully.
6418//
6419// Use "Send" method on the returned Request to send the API call to the service.
6420// the "output" return value is not valid until after Send returns without error.
6421//
6422// See PutAggregationAuthorization for more information on using the PutAggregationAuthorization
6423// API call, and error handling.
6424//
6425// This method is useful when you want to inject custom logic or configuration
6426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6427//
6428//
6429//    // Example sending a request using the PutAggregationAuthorizationRequest method.
6430//    req, resp := client.PutAggregationAuthorizationRequest(params)
6431//
6432//    err := req.Send()
6433//    if err == nil { // resp is now filled
6434//        fmt.Println(resp)
6435//    }
6436//
6437// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
6438func (c *ConfigService) PutAggregationAuthorizationRequest(input *PutAggregationAuthorizationInput) (req *request.Request, output *PutAggregationAuthorizationOutput) {
6439	op := &request.Operation{
6440		Name:       opPutAggregationAuthorization,
6441		HTTPMethod: "POST",
6442		HTTPPath:   "/",
6443	}
6444
6445	if input == nil {
6446		input = &PutAggregationAuthorizationInput{}
6447	}
6448
6449	output = &PutAggregationAuthorizationOutput{}
6450	req = c.newRequest(op, input, output)
6451	return
6452}
6453
6454// PutAggregationAuthorization API operation for AWS Config.
6455//
6456// Authorizes the aggregator account and region to collect data from the source
6457// account and region.
6458//
6459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6460// with awserr.Error's Code and Message methods to get detailed information about
6461// the error.
6462//
6463// See the AWS API reference guide for AWS Config's
6464// API operation PutAggregationAuthorization for usage and error information.
6465//
6466// Returned Error Types:
6467//   * InvalidParameterValueException
6468//   One or more of the specified parameters are invalid. Verify that your parameters
6469//   are valid and try again.
6470//
6471// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
6472func (c *ConfigService) PutAggregationAuthorization(input *PutAggregationAuthorizationInput) (*PutAggregationAuthorizationOutput, error) {
6473	req, out := c.PutAggregationAuthorizationRequest(input)
6474	return out, req.Send()
6475}
6476
6477// PutAggregationAuthorizationWithContext is the same as PutAggregationAuthorization with the addition of
6478// the ability to pass a context and additional request options.
6479//
6480// See PutAggregationAuthorization for details on how to use this API operation.
6481//
6482// The context must be non-nil and will be used for request cancellation. If
6483// the context is nil a panic will occur. In the future the SDK may create
6484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6485// for more information on using Contexts.
6486func (c *ConfigService) PutAggregationAuthorizationWithContext(ctx aws.Context, input *PutAggregationAuthorizationInput, opts ...request.Option) (*PutAggregationAuthorizationOutput, error) {
6487	req, out := c.PutAggregationAuthorizationRequest(input)
6488	req.SetContext(ctx)
6489	req.ApplyOptions(opts...)
6490	return out, req.Send()
6491}
6492
6493const opPutConfigRule = "PutConfigRule"
6494
6495// PutConfigRuleRequest generates a "aws/request.Request" representing the
6496// client's request for the PutConfigRule operation. The "output" return
6497// value will be populated with the request's response once the request completes
6498// successfully.
6499//
6500// Use "Send" method on the returned Request to send the API call to the service.
6501// the "output" return value is not valid until after Send returns without error.
6502//
6503// See PutConfigRule for more information on using the PutConfigRule
6504// API call, and error handling.
6505//
6506// This method is useful when you want to inject custom logic or configuration
6507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6508//
6509//
6510//    // Example sending a request using the PutConfigRuleRequest method.
6511//    req, resp := client.PutConfigRuleRequest(params)
6512//
6513//    err := req.Send()
6514//    if err == nil { // resp is now filled
6515//        fmt.Println(resp)
6516//    }
6517//
6518// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
6519func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *request.Request, output *PutConfigRuleOutput) {
6520	op := &request.Operation{
6521		Name:       opPutConfigRule,
6522		HTTPMethod: "POST",
6523		HTTPPath:   "/",
6524	}
6525
6526	if input == nil {
6527		input = &PutConfigRuleInput{}
6528	}
6529
6530	output = &PutConfigRuleOutput{}
6531	req = c.newRequest(op, input, output)
6532	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6533	return
6534}
6535
6536// PutConfigRule API operation for AWS Config.
6537//
6538// Adds or updates an AWS Config rule for evaluating whether your AWS resources
6539// comply with your desired configurations.
6540//
6541// You can use this action for custom AWS Config rules and AWS managed Config
6542// rules. A custom AWS Config rule is a rule that you develop and maintain.
6543// An AWS managed Config rule is a customizable, predefined rule that AWS Config
6544// provides.
6545//
6546// If you are adding a new custom AWS Config rule, you must first create the
6547// AWS Lambda function that the rule invokes to evaluate your resources. When
6548// you use the PutConfigRule action to add the rule to AWS Config, you must
6549// specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function.
6550// Specify the ARN for the SourceIdentifier key. This key is part of the Source
6551// object, which is part of the ConfigRule object.
6552//
6553// If you are adding an AWS managed Config rule, specify the rule's identifier
6554// for the SourceIdentifier key. To reference AWS managed Config rule identifiers,
6555// see About AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
6556//
6557// For any new rule that you add, specify the ConfigRuleName in the ConfigRule
6558// object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
6559// are generated by AWS Config for new rules.
6560//
6561// If you are updating a rule that you added previously, you can specify the
6562// rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule
6563// data type that you use in this request.
6564//
6565// The maximum number of rules that AWS Config supports is 150.
6566//
6567// For information about requesting a rule limit increase, see AWS Config Limits
6568// (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
6569// in the AWS General Reference Guide.
6570//
6571// For more information about developing and using AWS Config rules, see Evaluating
6572// AWS Resource Configurations with AWS Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
6573// in the AWS Config Developer Guide.
6574//
6575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6576// with awserr.Error's Code and Message methods to get detailed information about
6577// the error.
6578//
6579// See the AWS API reference guide for AWS Config's
6580// API operation PutConfigRule for usage and error information.
6581//
6582// Returned Error Types:
6583//   * InvalidParameterValueException
6584//   One or more of the specified parameters are invalid. Verify that your parameters
6585//   are valid and try again.
6586//
6587//   * MaxNumberOfConfigRulesExceededException
6588//   Failed to add the AWS Config rule because the account already contains the
6589//   maximum number of 150 rules. Consider deleting any deactivated rules before
6590//   you add new rules.
6591//
6592//   * ResourceInUseException
6593//   You see this exception in the following cases:
6594//
6595//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
6596//      again later.
6597//
6598//      * For DeleteConfigRule, the rule is deleting your evaluation results.
6599//      Try your request again later.
6600//
6601//      * For DeleteConfigRule, a remediation action is associated with the rule
6602//      and AWS Config cannot delete this rule. Delete the remediation action
6603//      associated with the rule before deleting the rule and try your request
6604//      again later.
6605//
6606//      * For PutConfigOrganizationRule, organization config rule deletion is
6607//      in progress. Try your request again later.
6608//
6609//      * For DeleteOrganizationConfigRule, organization config rule creation
6610//      is in progress. Try your request again later.
6611//
6612//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6613//      pack creation, update, and deletion is in progress. Try your request again
6614//      later.
6615//
6616//      * For DeleteConformancePack, a conformance pack creation, update, and
6617//      deletion is in progress. Try your request again later.
6618//
6619//   * InsufficientPermissionsException
6620//   Indicates one of the following errors:
6621//
6622//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
6623//      to AWS Config lacks permissions to perform the config:Put* action.
6624//
6625//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
6626//      the function ARN, and check the function's permissions.
6627//
6628//      * For PutOrganizationConfigRule, organization config rule cannot be created
6629//      because you do not have permissions to call IAM GetRole action or create
6630//      a service linked role.
6631//
6632//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6633//      pack cannot be created because you do not have permissions: To call IAM
6634//      GetRole action or create a service linked role. To read Amazon S3 bucket.
6635//
6636//   * NoAvailableConfigurationRecorderException
6637//   There are no configuration recorders available to provide the role needed
6638//   to describe your resources. Create a configuration recorder.
6639//
6640// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
6641func (c *ConfigService) PutConfigRule(input *PutConfigRuleInput) (*PutConfigRuleOutput, error) {
6642	req, out := c.PutConfigRuleRequest(input)
6643	return out, req.Send()
6644}
6645
6646// PutConfigRuleWithContext is the same as PutConfigRule with the addition of
6647// the ability to pass a context and additional request options.
6648//
6649// See PutConfigRule for details on how to use this API operation.
6650//
6651// The context must be non-nil and will be used for request cancellation. If
6652// the context is nil a panic will occur. In the future the SDK may create
6653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6654// for more information on using Contexts.
6655func (c *ConfigService) PutConfigRuleWithContext(ctx aws.Context, input *PutConfigRuleInput, opts ...request.Option) (*PutConfigRuleOutput, error) {
6656	req, out := c.PutConfigRuleRequest(input)
6657	req.SetContext(ctx)
6658	req.ApplyOptions(opts...)
6659	return out, req.Send()
6660}
6661
6662const opPutConfigurationAggregator = "PutConfigurationAggregator"
6663
6664// PutConfigurationAggregatorRequest generates a "aws/request.Request" representing the
6665// client's request for the PutConfigurationAggregator operation. The "output" return
6666// value will be populated with the request's response once the request completes
6667// successfully.
6668//
6669// Use "Send" method on the returned Request to send the API call to the service.
6670// the "output" return value is not valid until after Send returns without error.
6671//
6672// See PutConfigurationAggregator for more information on using the PutConfigurationAggregator
6673// API call, and error handling.
6674//
6675// This method is useful when you want to inject custom logic or configuration
6676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6677//
6678//
6679//    // Example sending a request using the PutConfigurationAggregatorRequest method.
6680//    req, resp := client.PutConfigurationAggregatorRequest(params)
6681//
6682//    err := req.Send()
6683//    if err == nil { // resp is now filled
6684//        fmt.Println(resp)
6685//    }
6686//
6687// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
6688func (c *ConfigService) PutConfigurationAggregatorRequest(input *PutConfigurationAggregatorInput) (req *request.Request, output *PutConfigurationAggregatorOutput) {
6689	op := &request.Operation{
6690		Name:       opPutConfigurationAggregator,
6691		HTTPMethod: "POST",
6692		HTTPPath:   "/",
6693	}
6694
6695	if input == nil {
6696		input = &PutConfigurationAggregatorInput{}
6697	}
6698
6699	output = &PutConfigurationAggregatorOutput{}
6700	req = c.newRequest(op, input, output)
6701	return
6702}
6703
6704// PutConfigurationAggregator API operation for AWS Config.
6705//
6706// Creates and updates the configuration aggregator with the selected source
6707// accounts and regions. The source account can be individual account(s) or
6708// an organization.
6709//
6710// accountIds that are passed will be replaced with existing accounts. If you
6711// want to add additional accounts into the aggregator, call DescribeAggregator
6712// to get the previous accounts and then append new ones.
6713//
6714// AWS Config should be enabled in source accounts and regions you want to aggregate.
6715//
6716// If your source type is an organization, you must be signed in to the management
6717// account or a registered delegated administrator and all the features must
6718// be enabled in your organization. If the caller is a management account, AWS
6719// Config calls EnableAwsServiceAccess API to enable integration between AWS
6720// Config and AWS Organizations. If the caller is a registered delegated administrator,
6721// AWS Config calls ListDelegatedAdministrators API to verify whether the caller
6722// is a valid delegated administrator.
6723//
6724// To register a delegated administrator, see Register a Delegated Administrator
6725// (https://docs.aws.amazon.com/config/latest/developerguide/set-up-aggregator-cli.html#register-a-delegated-administrator-cli)
6726// in the AWS Config developer guide.
6727//
6728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6729// with awserr.Error's Code and Message methods to get detailed information about
6730// the error.
6731//
6732// See the AWS API reference guide for AWS Config's
6733// API operation PutConfigurationAggregator for usage and error information.
6734//
6735// Returned Error Types:
6736//   * InvalidParameterValueException
6737//   One or more of the specified parameters are invalid. Verify that your parameters
6738//   are valid and try again.
6739//
6740//   * LimitExceededException
6741//   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
6742//   is in progress or if you call the StartConfigRulesEvaluation API more than
6743//   once per minute.
6744//
6745//   For PutConfigurationAggregator API, this exception is thrown if the number
6746//   of accounts and aggregators exceeds the limit.
6747//
6748//   * InvalidRoleException
6749//   You have provided a null or empty role ARN.
6750//
6751//   * OrganizationAccessDeniedException
6752//   For PutConfigurationAggregator API, you can see this exception for the following
6753//   reasons:
6754//
6755//      * No permission to call EnableAWSServiceAccess API
6756//
6757//      * The configuration aggregator cannot be updated because your AWS Organization
6758//      management account or the delegated administrator role changed. Delete
6759//      this aggregator and create a new one with the current AWS Organization.
6760//
6761//      * The configuration aggregator is associated with a previous AWS Organization
6762//      and AWS Config cannot aggregate data with current AWS Organization. Delete
6763//      this aggregator and create a new one with the current AWS Organization.
6764//
6765//      * You are not a registered delegated administrator for AWS Config with
6766//      permissions to call ListDelegatedAdministrators API. Ensure that the management
6767//      account registers delagated administrator for AWS Config service principle
6768//      name before the delegated administrator creates an aggregator.
6769//
6770//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
6771//   Config throws an exception if APIs are called from member accounts. All APIs
6772//   must be called from organization master account.
6773//
6774//   * NoAvailableOrganizationException
6775//   Organization is no longer available.
6776//
6777//   * OrganizationAllFeaturesNotEnabledException
6778//   AWS Config resource cannot be created because your organization does not
6779//   have all features enabled.
6780//
6781// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
6782func (c *ConfigService) PutConfigurationAggregator(input *PutConfigurationAggregatorInput) (*PutConfigurationAggregatorOutput, error) {
6783	req, out := c.PutConfigurationAggregatorRequest(input)
6784	return out, req.Send()
6785}
6786
6787// PutConfigurationAggregatorWithContext is the same as PutConfigurationAggregator with the addition of
6788// the ability to pass a context and additional request options.
6789//
6790// See PutConfigurationAggregator for details on how to use this API operation.
6791//
6792// The context must be non-nil and will be used for request cancellation. If
6793// the context is nil a panic will occur. In the future the SDK may create
6794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6795// for more information on using Contexts.
6796func (c *ConfigService) PutConfigurationAggregatorWithContext(ctx aws.Context, input *PutConfigurationAggregatorInput, opts ...request.Option) (*PutConfigurationAggregatorOutput, error) {
6797	req, out := c.PutConfigurationAggregatorRequest(input)
6798	req.SetContext(ctx)
6799	req.ApplyOptions(opts...)
6800	return out, req.Send()
6801}
6802
6803const opPutConfigurationRecorder = "PutConfigurationRecorder"
6804
6805// PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
6806// client's request for the PutConfigurationRecorder operation. The "output" return
6807// value will be populated with the request's response once the request completes
6808// successfully.
6809//
6810// Use "Send" method on the returned Request to send the API call to the service.
6811// the "output" return value is not valid until after Send returns without error.
6812//
6813// See PutConfigurationRecorder for more information on using the PutConfigurationRecorder
6814// API call, and error handling.
6815//
6816// This method is useful when you want to inject custom logic or configuration
6817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6818//
6819//
6820//    // Example sending a request using the PutConfigurationRecorderRequest method.
6821//    req, resp := client.PutConfigurationRecorderRequest(params)
6822//
6823//    err := req.Send()
6824//    if err == nil { // resp is now filled
6825//        fmt.Println(resp)
6826//    }
6827//
6828// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
6829func (c *ConfigService) PutConfigurationRecorderRequest(input *PutConfigurationRecorderInput) (req *request.Request, output *PutConfigurationRecorderOutput) {
6830	op := &request.Operation{
6831		Name:       opPutConfigurationRecorder,
6832		HTTPMethod: "POST",
6833		HTTPPath:   "/",
6834	}
6835
6836	if input == nil {
6837		input = &PutConfigurationRecorderInput{}
6838	}
6839
6840	output = &PutConfigurationRecorderOutput{}
6841	req = c.newRequest(op, input, output)
6842	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6843	return
6844}
6845
6846// PutConfigurationRecorder API operation for AWS Config.
6847//
6848// Creates a new configuration recorder to record the selected resource configurations.
6849//
6850// You can use this action to change the role roleARN or the recordingGroup
6851// of an existing recorder. To change the role, call the action on the existing
6852// configuration recorder and specify a role.
6853//
6854// Currently, you can specify only one configuration recorder per region in
6855// your account.
6856//
6857// If ConfigurationRecorder does not have the recordingGroup parameter specified,
6858// the default is to record all supported resource types.
6859//
6860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6861// with awserr.Error's Code and Message methods to get detailed information about
6862// the error.
6863//
6864// See the AWS API reference guide for AWS Config's
6865// API operation PutConfigurationRecorder for usage and error information.
6866//
6867// Returned Error Types:
6868//   * MaxNumberOfConfigurationRecordersExceededException
6869//   You have reached the limit of the number of recorders you can create.
6870//
6871//   * InvalidConfigurationRecorderNameException
6872//   You have provided a configuration recorder name that is not valid.
6873//
6874//   * InvalidRoleException
6875//   You have provided a null or empty role ARN.
6876//
6877//   * InvalidRecordingGroupException
6878//   AWS Config throws an exception if the recording group does not contain a
6879//   valid list of resource types. Invalid values might also be incorrectly formatted.
6880//
6881// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
6882func (c *ConfigService) PutConfigurationRecorder(input *PutConfigurationRecorderInput) (*PutConfigurationRecorderOutput, error) {
6883	req, out := c.PutConfigurationRecorderRequest(input)
6884	return out, req.Send()
6885}
6886
6887// PutConfigurationRecorderWithContext is the same as PutConfigurationRecorder with the addition of
6888// the ability to pass a context and additional request options.
6889//
6890// See PutConfigurationRecorder for details on how to use this API operation.
6891//
6892// The context must be non-nil and will be used for request cancellation. If
6893// the context is nil a panic will occur. In the future the SDK may create
6894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6895// for more information on using Contexts.
6896func (c *ConfigService) PutConfigurationRecorderWithContext(ctx aws.Context, input *PutConfigurationRecorderInput, opts ...request.Option) (*PutConfigurationRecorderOutput, error) {
6897	req, out := c.PutConfigurationRecorderRequest(input)
6898	req.SetContext(ctx)
6899	req.ApplyOptions(opts...)
6900	return out, req.Send()
6901}
6902
6903const opPutConformancePack = "PutConformancePack"
6904
6905// PutConformancePackRequest generates a "aws/request.Request" representing the
6906// client's request for the PutConformancePack operation. The "output" return
6907// value will be populated with the request's response once the request completes
6908// successfully.
6909//
6910// Use "Send" method on the returned Request to send the API call to the service.
6911// the "output" return value is not valid until after Send returns without error.
6912//
6913// See PutConformancePack for more information on using the PutConformancePack
6914// API call, and error handling.
6915//
6916// This method is useful when you want to inject custom logic or configuration
6917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6918//
6919//
6920//    // Example sending a request using the PutConformancePackRequest method.
6921//    req, resp := client.PutConformancePackRequest(params)
6922//
6923//    err := req.Send()
6924//    if err == nil { // resp is now filled
6925//        fmt.Println(resp)
6926//    }
6927//
6928// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
6929func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput) (req *request.Request, output *PutConformancePackOutput) {
6930	op := &request.Operation{
6931		Name:       opPutConformancePack,
6932		HTTPMethod: "POST",
6933		HTTPPath:   "/",
6934	}
6935
6936	if input == nil {
6937		input = &PutConformancePackInput{}
6938	}
6939
6940	output = &PutConformancePackOutput{}
6941	req = c.newRequest(op, input, output)
6942	return
6943}
6944
6945// PutConformancePack API operation for AWS Config.
6946//
6947// Creates or updates a conformance pack. A conformance pack is a collection
6948// of AWS Config rules that can be easily deployed in an account and a region
6949// and across AWS Organization.
6950//
6951// This API creates a service linked role AWSServiceRoleForConfigConforms in
6952// your account. The service linked role is created only when the role does
6953// not exist in your account.
6954//
6955// You must specify either the TemplateS3Uri or the TemplateBody parameter,
6956// but not both. If you provide both AWS Config uses the TemplateS3Uri parameter
6957// and ignores the TemplateBody parameter.
6958//
6959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6960// with awserr.Error's Code and Message methods to get detailed information about
6961// the error.
6962//
6963// See the AWS API reference guide for AWS Config's
6964// API operation PutConformancePack for usage and error information.
6965//
6966// Returned Error Types:
6967//   * InsufficientPermissionsException
6968//   Indicates one of the following errors:
6969//
6970//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
6971//      to AWS Config lacks permissions to perform the config:Put* action.
6972//
6973//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
6974//      the function ARN, and check the function's permissions.
6975//
6976//      * For PutOrganizationConfigRule, organization config rule cannot be created
6977//      because you do not have permissions to call IAM GetRole action or create
6978//      a service linked role.
6979//
6980//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6981//      pack cannot be created because you do not have permissions: To call IAM
6982//      GetRole action or create a service linked role. To read Amazon S3 bucket.
6983//
6984//   * ConformancePackTemplateValidationException
6985//   You have specified a template that is not valid or supported.
6986//
6987//   * ResourceInUseException
6988//   You see this exception in the following cases:
6989//
6990//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
6991//      again later.
6992//
6993//      * For DeleteConfigRule, the rule is deleting your evaluation results.
6994//      Try your request again later.
6995//
6996//      * For DeleteConfigRule, a remediation action is associated with the rule
6997//      and AWS Config cannot delete this rule. Delete the remediation action
6998//      associated with the rule before deleting the rule and try your request
6999//      again later.
7000//
7001//      * For PutConfigOrganizationRule, organization config rule deletion is
7002//      in progress. Try your request again later.
7003//
7004//      * For DeleteOrganizationConfigRule, organization config rule creation
7005//      is in progress. Try your request again later.
7006//
7007//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7008//      pack creation, update, and deletion is in progress. Try your request again
7009//      later.
7010//
7011//      * For DeleteConformancePack, a conformance pack creation, update, and
7012//      deletion is in progress. Try your request again later.
7013//
7014//   * InvalidParameterValueException
7015//   One or more of the specified parameters are invalid. Verify that your parameters
7016//   are valid and try again.
7017//
7018//   * MaxNumberOfConformancePacksExceededException
7019//   You have reached the limit (6) of the number of conformance packs in an account
7020//   (6 conformance pack with 25 AWS Config rules per pack).
7021//
7022// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
7023func (c *ConfigService) PutConformancePack(input *PutConformancePackInput) (*PutConformancePackOutput, error) {
7024	req, out := c.PutConformancePackRequest(input)
7025	return out, req.Send()
7026}
7027
7028// PutConformancePackWithContext is the same as PutConformancePack with the addition of
7029// the ability to pass a context and additional request options.
7030//
7031// See PutConformancePack for details on how to use this API operation.
7032//
7033// The context must be non-nil and will be used for request cancellation. If
7034// the context is nil a panic will occur. In the future the SDK may create
7035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7036// for more information on using Contexts.
7037func (c *ConfigService) PutConformancePackWithContext(ctx aws.Context, input *PutConformancePackInput, opts ...request.Option) (*PutConformancePackOutput, error) {
7038	req, out := c.PutConformancePackRequest(input)
7039	req.SetContext(ctx)
7040	req.ApplyOptions(opts...)
7041	return out, req.Send()
7042}
7043
7044const opPutDeliveryChannel = "PutDeliveryChannel"
7045
7046// PutDeliveryChannelRequest generates a "aws/request.Request" representing the
7047// client's request for the PutDeliveryChannel operation. The "output" return
7048// value will be populated with the request's response once the request completes
7049// successfully.
7050//
7051// Use "Send" method on the returned Request to send the API call to the service.
7052// the "output" return value is not valid until after Send returns without error.
7053//
7054// See PutDeliveryChannel for more information on using the PutDeliveryChannel
7055// API call, and error handling.
7056//
7057// This method is useful when you want to inject custom logic or configuration
7058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7059//
7060//
7061//    // Example sending a request using the PutDeliveryChannelRequest method.
7062//    req, resp := client.PutDeliveryChannelRequest(params)
7063//
7064//    err := req.Send()
7065//    if err == nil { // resp is now filled
7066//        fmt.Println(resp)
7067//    }
7068//
7069// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
7070func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput) (req *request.Request, output *PutDeliveryChannelOutput) {
7071	op := &request.Operation{
7072		Name:       opPutDeliveryChannel,
7073		HTTPMethod: "POST",
7074		HTTPPath:   "/",
7075	}
7076
7077	if input == nil {
7078		input = &PutDeliveryChannelInput{}
7079	}
7080
7081	output = &PutDeliveryChannelOutput{}
7082	req = c.newRequest(op, input, output)
7083	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7084	return
7085}
7086
7087// PutDeliveryChannel API operation for AWS Config.
7088//
7089// Creates a delivery channel object to deliver configuration information to
7090// an Amazon S3 bucket and Amazon SNS topic.
7091//
7092// Before you can create a delivery channel, you must create a configuration
7093// recorder.
7094//
7095// You can use this action to change the Amazon S3 bucket or an Amazon SNS topic
7096// of the existing delivery channel. To change the Amazon S3 bucket or an Amazon
7097// SNS topic, call this action and specify the changed values for the S3 bucket
7098// and the SNS topic. If you specify a different value for either the S3 bucket
7099// or the SNS topic, this action will keep the existing value for the parameter
7100// that is not changed.
7101//
7102// You can have only one delivery channel per region in your account.
7103//
7104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7105// with awserr.Error's Code and Message methods to get detailed information about
7106// the error.
7107//
7108// See the AWS API reference guide for AWS Config's
7109// API operation PutDeliveryChannel for usage and error information.
7110//
7111// Returned Error Types:
7112//   * MaxNumberOfDeliveryChannelsExceededException
7113//   You have reached the limit of the number of delivery channels you can create.
7114//
7115//   * NoAvailableConfigurationRecorderException
7116//   There are no configuration recorders available to provide the role needed
7117//   to describe your resources. Create a configuration recorder.
7118//
7119//   * InvalidDeliveryChannelNameException
7120//   The specified delivery channel name is not valid.
7121//
7122//   * NoSuchBucketException
7123//   The specified Amazon S3 bucket does not exist.
7124//
7125//   * InvalidS3KeyPrefixException
7126//   The specified Amazon S3 key prefix is not valid.
7127//
7128//   * InvalidS3KmsKeyArnException
7129//   The specified Amazon KMS Key ARN is not valid.
7130//
7131//   * InvalidSNSTopicARNException
7132//   The specified Amazon SNS topic does not exist.
7133//
7134//   * InsufficientDeliveryPolicyException
7135//   Your Amazon S3 bucket policy does not permit AWS Config to write to it.
7136//
7137// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
7138func (c *ConfigService) PutDeliveryChannel(input *PutDeliveryChannelInput) (*PutDeliveryChannelOutput, error) {
7139	req, out := c.PutDeliveryChannelRequest(input)
7140	return out, req.Send()
7141}
7142
7143// PutDeliveryChannelWithContext is the same as PutDeliveryChannel with the addition of
7144// the ability to pass a context and additional request options.
7145//
7146// See PutDeliveryChannel for details on how to use this API operation.
7147//
7148// The context must be non-nil and will be used for request cancellation. If
7149// the context is nil a panic will occur. In the future the SDK may create
7150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7151// for more information on using Contexts.
7152func (c *ConfigService) PutDeliveryChannelWithContext(ctx aws.Context, input *PutDeliveryChannelInput, opts ...request.Option) (*PutDeliveryChannelOutput, error) {
7153	req, out := c.PutDeliveryChannelRequest(input)
7154	req.SetContext(ctx)
7155	req.ApplyOptions(opts...)
7156	return out, req.Send()
7157}
7158
7159const opPutEvaluations = "PutEvaluations"
7160
7161// PutEvaluationsRequest generates a "aws/request.Request" representing the
7162// client's request for the PutEvaluations operation. The "output" return
7163// value will be populated with the request's response once the request completes
7164// successfully.
7165//
7166// Use "Send" method on the returned Request to send the API call to the service.
7167// the "output" return value is not valid until after Send returns without error.
7168//
7169// See PutEvaluations for more information on using the PutEvaluations
7170// API call, and error handling.
7171//
7172// This method is useful when you want to inject custom logic or configuration
7173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7174//
7175//
7176//    // Example sending a request using the PutEvaluationsRequest method.
7177//    req, resp := client.PutEvaluationsRequest(params)
7178//
7179//    err := req.Send()
7180//    if err == nil { // resp is now filled
7181//        fmt.Println(resp)
7182//    }
7183//
7184// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
7185func (c *ConfigService) PutEvaluationsRequest(input *PutEvaluationsInput) (req *request.Request, output *PutEvaluationsOutput) {
7186	op := &request.Operation{
7187		Name:       opPutEvaluations,
7188		HTTPMethod: "POST",
7189		HTTPPath:   "/",
7190	}
7191
7192	if input == nil {
7193		input = &PutEvaluationsInput{}
7194	}
7195
7196	output = &PutEvaluationsOutput{}
7197	req = c.newRequest(op, input, output)
7198	return
7199}
7200
7201// PutEvaluations API operation for AWS Config.
7202//
7203// Used by an AWS Lambda function to deliver evaluation results to AWS Config.
7204// This action is required in every AWS Lambda function that is invoked by an
7205// AWS Config rule.
7206//
7207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7208// with awserr.Error's Code and Message methods to get detailed information about
7209// the error.
7210//
7211// See the AWS API reference guide for AWS Config's
7212// API operation PutEvaluations for usage and error information.
7213//
7214// Returned Error Types:
7215//   * InvalidParameterValueException
7216//   One or more of the specified parameters are invalid. Verify that your parameters
7217//   are valid and try again.
7218//
7219//   * InvalidResultTokenException
7220//   The specified ResultToken is invalid.
7221//
7222//   * NoSuchConfigRuleException
7223//   One or more AWS Config rules in the request are invalid. Verify that the
7224//   rule names are correct and try again.
7225//
7226// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
7227func (c *ConfigService) PutEvaluations(input *PutEvaluationsInput) (*PutEvaluationsOutput, error) {
7228	req, out := c.PutEvaluationsRequest(input)
7229	return out, req.Send()
7230}
7231
7232// PutEvaluationsWithContext is the same as PutEvaluations with the addition of
7233// the ability to pass a context and additional request options.
7234//
7235// See PutEvaluations for details on how to use this API operation.
7236//
7237// The context must be non-nil and will be used for request cancellation. If
7238// the context is nil a panic will occur. In the future the SDK may create
7239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7240// for more information on using Contexts.
7241func (c *ConfigService) PutEvaluationsWithContext(ctx aws.Context, input *PutEvaluationsInput, opts ...request.Option) (*PutEvaluationsOutput, error) {
7242	req, out := c.PutEvaluationsRequest(input)
7243	req.SetContext(ctx)
7244	req.ApplyOptions(opts...)
7245	return out, req.Send()
7246}
7247
7248const opPutExternalEvaluation = "PutExternalEvaluation"
7249
7250// PutExternalEvaluationRequest generates a "aws/request.Request" representing the
7251// client's request for the PutExternalEvaluation operation. The "output" return
7252// value will be populated with the request's response once the request completes
7253// successfully.
7254//
7255// Use "Send" method on the returned Request to send the API call to the service.
7256// the "output" return value is not valid until after Send returns without error.
7257//
7258// See PutExternalEvaluation for more information on using the PutExternalEvaluation
7259// API call, and error handling.
7260//
7261// This method is useful when you want to inject custom logic or configuration
7262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7263//
7264//
7265//    // Example sending a request using the PutExternalEvaluationRequest method.
7266//    req, resp := client.PutExternalEvaluationRequest(params)
7267//
7268//    err := req.Send()
7269//    if err == nil { // resp is now filled
7270//        fmt.Println(resp)
7271//    }
7272//
7273// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
7274func (c *ConfigService) PutExternalEvaluationRequest(input *PutExternalEvaluationInput) (req *request.Request, output *PutExternalEvaluationOutput) {
7275	op := &request.Operation{
7276		Name:       opPutExternalEvaluation,
7277		HTTPMethod: "POST",
7278		HTTPPath:   "/",
7279	}
7280
7281	if input == nil {
7282		input = &PutExternalEvaluationInput{}
7283	}
7284
7285	output = &PutExternalEvaluationOutput{}
7286	req = c.newRequest(op, input, output)
7287	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7288	return
7289}
7290
7291// PutExternalEvaluation API operation for AWS Config.
7292//
7293// Add or updates the evaluations for process checks. This API checks if the
7294// rule is a process check when the name of the AWS Config rule is provided.
7295//
7296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7297// with awserr.Error's Code and Message methods to get detailed information about
7298// the error.
7299//
7300// See the AWS API reference guide for AWS Config's
7301// API operation PutExternalEvaluation for usage and error information.
7302//
7303// Returned Error Types:
7304//   * NoSuchConfigRuleException
7305//   One or more AWS Config rules in the request are invalid. Verify that the
7306//   rule names are correct and try again.
7307//
7308//   * InvalidParameterValueException
7309//   One or more of the specified parameters are invalid. Verify that your parameters
7310//   are valid and try again.
7311//
7312// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
7313func (c *ConfigService) PutExternalEvaluation(input *PutExternalEvaluationInput) (*PutExternalEvaluationOutput, error) {
7314	req, out := c.PutExternalEvaluationRequest(input)
7315	return out, req.Send()
7316}
7317
7318// PutExternalEvaluationWithContext is the same as PutExternalEvaluation with the addition of
7319// the ability to pass a context and additional request options.
7320//
7321// See PutExternalEvaluation for details on how to use this API operation.
7322//
7323// The context must be non-nil and will be used for request cancellation. If
7324// the context is nil a panic will occur. In the future the SDK may create
7325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7326// for more information on using Contexts.
7327func (c *ConfigService) PutExternalEvaluationWithContext(ctx aws.Context, input *PutExternalEvaluationInput, opts ...request.Option) (*PutExternalEvaluationOutput, error) {
7328	req, out := c.PutExternalEvaluationRequest(input)
7329	req.SetContext(ctx)
7330	req.ApplyOptions(opts...)
7331	return out, req.Send()
7332}
7333
7334const opPutOrganizationConfigRule = "PutOrganizationConfigRule"
7335
7336// PutOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
7337// client's request for the PutOrganizationConfigRule operation. The "output" return
7338// value will be populated with the request's response once the request completes
7339// successfully.
7340//
7341// Use "Send" method on the returned Request to send the API call to the service.
7342// the "output" return value is not valid until after Send returns without error.
7343//
7344// See PutOrganizationConfigRule for more information on using the PutOrganizationConfigRule
7345// API call, and error handling.
7346//
7347// This method is useful when you want to inject custom logic or configuration
7348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7349//
7350//
7351//    // Example sending a request using the PutOrganizationConfigRuleRequest method.
7352//    req, resp := client.PutOrganizationConfigRuleRequest(params)
7353//
7354//    err := req.Send()
7355//    if err == nil { // resp is now filled
7356//        fmt.Println(resp)
7357//    }
7358//
7359// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
7360func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationConfigRuleInput) (req *request.Request, output *PutOrganizationConfigRuleOutput) {
7361	op := &request.Operation{
7362		Name:       opPutOrganizationConfigRule,
7363		HTTPMethod: "POST",
7364		HTTPPath:   "/",
7365	}
7366
7367	if input == nil {
7368		input = &PutOrganizationConfigRuleInput{}
7369	}
7370
7371	output = &PutOrganizationConfigRuleOutput{}
7372	req = c.newRequest(op, input, output)
7373	return
7374}
7375
7376// PutOrganizationConfigRule API operation for AWS Config.
7377//
7378// Adds or updates organization config rule for your entire organization evaluating
7379// whether your AWS resources comply with your desired configurations.
7380//
7381// Only a master account and a delegated administrator can create or update
7382// an organization config rule. When calling this API with a delegated administrator,
7383// you must ensure AWS Organizations ListDelegatedAdministrator permissions
7384// are added.
7385//
7386// This API enables organization service access through the EnableAWSServiceAccess
7387// action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup
7388// in the master or delegated administrator account of your organization. The
7389// service linked role is created only when the role does not exist in the caller
7390// account. AWS Config verifies the existence of role with GetRole action.
7391//
7392// To use this API with delegated administrator, register a delegated administrator
7393// by calling AWS Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com.
7394//
7395// You can use this action to create both custom AWS Config rules and AWS managed
7396// Config rules. If you are adding a new custom AWS Config rule, you must first
7397// create AWS Lambda function in the master account or a delegated administrator
7398// that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule
7399// action to add the rule to AWS Config, you must specify the Amazon Resource
7400// Name (ARN) that AWS Lambda assigns to the function. If you are adding an
7401// AWS managed Config rule, specify the rule's identifier for the RuleIdentifier
7402// key.
7403//
7404// The maximum number of organization config rules that AWS Config supports
7405// is 150 and 3 delegated administrator per organization.
7406//
7407// Prerequisite: Ensure you call EnableAllFeatures API to enable all features
7408// in an organization.
7409//
7410// Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata.
7411//
7412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7413// with awserr.Error's Code and Message methods to get detailed information about
7414// the error.
7415//
7416// See the AWS API reference guide for AWS Config's
7417// API operation PutOrganizationConfigRule for usage and error information.
7418//
7419// Returned Error Types:
7420//   * MaxNumberOfOrganizationConfigRulesExceededException
7421//   You have reached the limit of the number of organization config rules you
7422//   can create.
7423//
7424//   * ResourceInUseException
7425//   You see this exception in the following cases:
7426//
7427//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
7428//      again later.
7429//
7430//      * For DeleteConfigRule, the rule is deleting your evaluation results.
7431//      Try your request again later.
7432//
7433//      * For DeleteConfigRule, a remediation action is associated with the rule
7434//      and AWS Config cannot delete this rule. Delete the remediation action
7435//      associated with the rule before deleting the rule and try your request
7436//      again later.
7437//
7438//      * For PutConfigOrganizationRule, organization config rule deletion is
7439//      in progress. Try your request again later.
7440//
7441//      * For DeleteOrganizationConfigRule, organization config rule creation
7442//      is in progress. Try your request again later.
7443//
7444//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7445//      pack creation, update, and deletion is in progress. Try your request again
7446//      later.
7447//
7448//      * For DeleteConformancePack, a conformance pack creation, update, and
7449//      deletion is in progress. Try your request again later.
7450//
7451//   * InvalidParameterValueException
7452//   One or more of the specified parameters are invalid. Verify that your parameters
7453//   are valid and try again.
7454//
7455//   * ValidationException
7456//   The requested action is not valid.
7457//
7458//   For PutStoredQuery, you will see this exception if there are missing required
7459//   fields or if the input value fails the validation, or if you are trying to
7460//   create more than 300 queries.
7461//
7462//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
7463//   exception if there are missing required fields or if the input value fails
7464//   the validation.
7465//
7466//   * OrganizationAccessDeniedException
7467//   For PutConfigurationAggregator API, you can see this exception for the following
7468//   reasons:
7469//
7470//      * No permission to call EnableAWSServiceAccess API
7471//
7472//      * The configuration aggregator cannot be updated because your AWS Organization
7473//      management account or the delegated administrator role changed. Delete
7474//      this aggregator and create a new one with the current AWS Organization.
7475//
7476//      * The configuration aggregator is associated with a previous AWS Organization
7477//      and AWS Config cannot aggregate data with current AWS Organization. Delete
7478//      this aggregator and create a new one with the current AWS Organization.
7479//
7480//      * You are not a registered delegated administrator for AWS Config with
7481//      permissions to call ListDelegatedAdministrators API. Ensure that the management
7482//      account registers delagated administrator for AWS Config service principle
7483//      name before the delegated administrator creates an aggregator.
7484//
7485//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
7486//   Config throws an exception if APIs are called from member accounts. All APIs
7487//   must be called from organization master account.
7488//
7489//   * NoAvailableOrganizationException
7490//   Organization is no longer available.
7491//
7492//   * OrganizationAllFeaturesNotEnabledException
7493//   AWS Config resource cannot be created because your organization does not
7494//   have all features enabled.
7495//
7496//   * InsufficientPermissionsException
7497//   Indicates one of the following errors:
7498//
7499//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7500//      to AWS Config lacks permissions to perform the config:Put* action.
7501//
7502//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7503//      the function ARN, and check the function's permissions.
7504//
7505//      * For PutOrganizationConfigRule, organization config rule cannot be created
7506//      because you do not have permissions to call IAM GetRole action or create
7507//      a service linked role.
7508//
7509//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7510//      pack cannot be created because you do not have permissions: To call IAM
7511//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7512//
7513// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
7514func (c *ConfigService) PutOrganizationConfigRule(input *PutOrganizationConfigRuleInput) (*PutOrganizationConfigRuleOutput, error) {
7515	req, out := c.PutOrganizationConfigRuleRequest(input)
7516	return out, req.Send()
7517}
7518
7519// PutOrganizationConfigRuleWithContext is the same as PutOrganizationConfigRule with the addition of
7520// the ability to pass a context and additional request options.
7521//
7522// See PutOrganizationConfigRule for details on how to use this API operation.
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.
7528func (c *ConfigService) PutOrganizationConfigRuleWithContext(ctx aws.Context, input *PutOrganizationConfigRuleInput, opts ...request.Option) (*PutOrganizationConfigRuleOutput, error) {
7529	req, out := c.PutOrganizationConfigRuleRequest(input)
7530	req.SetContext(ctx)
7531	req.ApplyOptions(opts...)
7532	return out, req.Send()
7533}
7534
7535const opPutOrganizationConformancePack = "PutOrganizationConformancePack"
7536
7537// PutOrganizationConformancePackRequest generates a "aws/request.Request" representing the
7538// client's request for the PutOrganizationConformancePack operation. The "output" return
7539// value will be populated with the request's response once the request completes
7540// successfully.
7541//
7542// Use "Send" method on the returned Request to send the API call to the service.
7543// the "output" return value is not valid until after Send returns without error.
7544//
7545// See PutOrganizationConformancePack for more information on using the PutOrganizationConformancePack
7546// API call, and error handling.
7547//
7548// This method is useful when you want to inject custom logic or configuration
7549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7550//
7551//
7552//    // Example sending a request using the PutOrganizationConformancePackRequest method.
7553//    req, resp := client.PutOrganizationConformancePackRequest(params)
7554//
7555//    err := req.Send()
7556//    if err == nil { // resp is now filled
7557//        fmt.Println(resp)
7558//    }
7559//
7560// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
7561func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganizationConformancePackInput) (req *request.Request, output *PutOrganizationConformancePackOutput) {
7562	op := &request.Operation{
7563		Name:       opPutOrganizationConformancePack,
7564		HTTPMethod: "POST",
7565		HTTPPath:   "/",
7566	}
7567
7568	if input == nil {
7569		input = &PutOrganizationConformancePackInput{}
7570	}
7571
7572	output = &PutOrganizationConformancePackOutput{}
7573	req = c.newRequest(op, input, output)
7574	return
7575}
7576
7577// PutOrganizationConformancePack API operation for AWS Config.
7578//
7579// Deploys conformance packs across member accounts in an AWS Organization.
7580//
7581// Only a master account and a delegated administrator can call this API. When
7582// calling this API with a delegated administrator, you must ensure AWS Organizations
7583// ListDelegatedAdministrator permissions are added.
7584//
7585// This API enables organization service access for config-multiaccountsetup.amazonaws.com
7586// through the EnableAWSServiceAccess action and creates a service linked role
7587// AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator
7588// account of your organization. The service linked role is created only when
7589// the role does not exist in the caller account. To use this API with delegated
7590// administrator, register a delegated administrator by calling AWS Organization
7591// register-delegate-admin for config-multiaccountsetup.amazonaws.com.
7592//
7593// Prerequisite: Ensure you call EnableAllFeatures API to enable all features
7594// in an organization.
7595//
7596// You must specify either the TemplateS3Uri or the TemplateBody parameter,
7597// but not both. If you provide both AWS Config uses the TemplateS3Uri parameter
7598// and ignores the TemplateBody parameter.
7599//
7600// AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and
7601// UPDATE_IN_PROGRESS until the conformance pack is created or updated. You
7602// cannot update a conformance pack while it is in this state.
7603//
7604// You can create 50 conformance packs with 25 AWS Config rules in each pack
7605// and 3 delegated administrator per organization.
7606//
7607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7608// with awserr.Error's Code and Message methods to get detailed information about
7609// the error.
7610//
7611// See the AWS API reference guide for AWS Config's
7612// API operation PutOrganizationConformancePack for usage and error information.
7613//
7614// Returned Error Types:
7615//   * MaxNumberOfOrganizationConformancePacksExceededException
7616//   You have reached the limit (6) of the number of organization conformance
7617//   packs in an account (6 conformance pack with 25 AWS Config rules per pack
7618//   per account).
7619//
7620//   * ResourceInUseException
7621//   You see this exception in the following cases:
7622//
7623//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
7624//      again later.
7625//
7626//      * For DeleteConfigRule, the rule is deleting your evaluation results.
7627//      Try your request again later.
7628//
7629//      * For DeleteConfigRule, a remediation action is associated with the rule
7630//      and AWS Config cannot delete this rule. Delete the remediation action
7631//      associated with the rule before deleting the rule and try your request
7632//      again later.
7633//
7634//      * For PutConfigOrganizationRule, organization config rule deletion is
7635//      in progress. Try your request again later.
7636//
7637//      * For DeleteOrganizationConfigRule, organization config rule creation
7638//      is in progress. Try your request again later.
7639//
7640//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7641//      pack creation, update, and deletion is in progress. Try your request again
7642//      later.
7643//
7644//      * For DeleteConformancePack, a conformance pack creation, update, and
7645//      deletion is in progress. Try your request again later.
7646//
7647//   * ValidationException
7648//   The requested action is not valid.
7649//
7650//   For PutStoredQuery, you will see this exception if there are missing required
7651//   fields or if the input value fails the validation, or if you are trying to
7652//   create more than 300 queries.
7653//
7654//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
7655//   exception if there are missing required fields or if the input value fails
7656//   the validation.
7657//
7658//   * OrganizationAccessDeniedException
7659//   For PutConfigurationAggregator API, you can see this exception for the following
7660//   reasons:
7661//
7662//      * No permission to call EnableAWSServiceAccess API
7663//
7664//      * The configuration aggregator cannot be updated because your AWS Organization
7665//      management account or the delegated administrator role changed. Delete
7666//      this aggregator and create a new one with the current AWS Organization.
7667//
7668//      * The configuration aggregator is associated with a previous AWS Organization
7669//      and AWS Config cannot aggregate data with current AWS Organization. Delete
7670//      this aggregator and create a new one with the current AWS Organization.
7671//
7672//      * You are not a registered delegated administrator for AWS Config with
7673//      permissions to call ListDelegatedAdministrators API. Ensure that the management
7674//      account registers delagated administrator for AWS Config service principle
7675//      name before the delegated administrator creates an aggregator.
7676//
7677//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
7678//   Config throws an exception if APIs are called from member accounts. All APIs
7679//   must be called from organization master account.
7680//
7681//   * InsufficientPermissionsException
7682//   Indicates one of the following errors:
7683//
7684//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7685//      to AWS Config lacks permissions to perform the config:Put* action.
7686//
7687//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7688//      the function ARN, and check the function's permissions.
7689//
7690//      * For PutOrganizationConfigRule, organization config rule cannot be created
7691//      because you do not have permissions to call IAM GetRole action or create
7692//      a service linked role.
7693//
7694//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7695//      pack cannot be created because you do not have permissions: To call IAM
7696//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7697//
7698//   * OrganizationConformancePackTemplateValidationException
7699//   You have specified a template that is not valid or supported.
7700//
7701//   * OrganizationAllFeaturesNotEnabledException
7702//   AWS Config resource cannot be created because your organization does not
7703//   have all features enabled.
7704//
7705//   * NoAvailableOrganizationException
7706//   Organization is no longer available.
7707//
7708// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
7709func (c *ConfigService) PutOrganizationConformancePack(input *PutOrganizationConformancePackInput) (*PutOrganizationConformancePackOutput, error) {
7710	req, out := c.PutOrganizationConformancePackRequest(input)
7711	return out, req.Send()
7712}
7713
7714// PutOrganizationConformancePackWithContext is the same as PutOrganizationConformancePack with the addition of
7715// the ability to pass a context and additional request options.
7716//
7717// See PutOrganizationConformancePack for details on how to use this API operation.
7718//
7719// The context must be non-nil and will be used for request cancellation. If
7720// the context is nil a panic will occur. In the future the SDK may create
7721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7722// for more information on using Contexts.
7723func (c *ConfigService) PutOrganizationConformancePackWithContext(ctx aws.Context, input *PutOrganizationConformancePackInput, opts ...request.Option) (*PutOrganizationConformancePackOutput, error) {
7724	req, out := c.PutOrganizationConformancePackRequest(input)
7725	req.SetContext(ctx)
7726	req.ApplyOptions(opts...)
7727	return out, req.Send()
7728}
7729
7730const opPutRemediationConfigurations = "PutRemediationConfigurations"
7731
7732// PutRemediationConfigurationsRequest generates a "aws/request.Request" representing the
7733// client's request for the PutRemediationConfigurations operation. The "output" return
7734// value will be populated with the request's response once the request completes
7735// successfully.
7736//
7737// Use "Send" method on the returned Request to send the API call to the service.
7738// the "output" return value is not valid until after Send returns without error.
7739//
7740// See PutRemediationConfigurations for more information on using the PutRemediationConfigurations
7741// API call, and error handling.
7742//
7743// This method is useful when you want to inject custom logic or configuration
7744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7745//
7746//
7747//    // Example sending a request using the PutRemediationConfigurationsRequest method.
7748//    req, resp := client.PutRemediationConfigurationsRequest(params)
7749//
7750//    err := req.Send()
7751//    if err == nil { // resp is now filled
7752//        fmt.Println(resp)
7753//    }
7754//
7755// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
7756func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediationConfigurationsInput) (req *request.Request, output *PutRemediationConfigurationsOutput) {
7757	op := &request.Operation{
7758		Name:       opPutRemediationConfigurations,
7759		HTTPMethod: "POST",
7760		HTTPPath:   "/",
7761	}
7762
7763	if input == nil {
7764		input = &PutRemediationConfigurationsInput{}
7765	}
7766
7767	output = &PutRemediationConfigurationsOutput{}
7768	req = c.newRequest(op, input, output)
7769	return
7770}
7771
7772// PutRemediationConfigurations API operation for AWS Config.
7773//
7774// Adds or updates the remediation configuration with a specific AWS Config
7775// rule with the selected target or action. The API creates the RemediationConfiguration
7776// object for the AWS Config rule. The AWS Config rule must already exist for
7777// you to add a remediation configuration. The target (SSM document) must exist
7778// and have permissions to use the target.
7779//
7780// If you make backward incompatible changes to the SSM document, you must call
7781// this again to ensure the remediations can run.
7782//
7783// This API does not support adding remediation configurations for service-linked
7784// AWS Config Rules such as Organization Config rules, the rules deployed by
7785// conformance packs, and rules deployed by AWS Security Hub.
7786//
7787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7788// with awserr.Error's Code and Message methods to get detailed information about
7789// the error.
7790//
7791// See the AWS API reference guide for AWS Config's
7792// API operation PutRemediationConfigurations for usage and error information.
7793//
7794// Returned Error Types:
7795//   * InsufficientPermissionsException
7796//   Indicates one of the following errors:
7797//
7798//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7799//      to AWS Config lacks permissions to perform the config:Put* action.
7800//
7801//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7802//      the function ARN, and check the function's permissions.
7803//
7804//      * For PutOrganizationConfigRule, organization config rule cannot be created
7805//      because you do not have permissions to call IAM GetRole action or create
7806//      a service linked role.
7807//
7808//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7809//      pack cannot be created because you do not have permissions: To call IAM
7810//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7811//
7812//   * InvalidParameterValueException
7813//   One or more of the specified parameters are invalid. Verify that your parameters
7814//   are valid and try again.
7815//
7816// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
7817func (c *ConfigService) PutRemediationConfigurations(input *PutRemediationConfigurationsInput) (*PutRemediationConfigurationsOutput, error) {
7818	req, out := c.PutRemediationConfigurationsRequest(input)
7819	return out, req.Send()
7820}
7821
7822// PutRemediationConfigurationsWithContext is the same as PutRemediationConfigurations with the addition of
7823// the ability to pass a context and additional request options.
7824//
7825// See PutRemediationConfigurations for details on how to use this API operation.
7826//
7827// The context must be non-nil and will be used for request cancellation. If
7828// the context is nil a panic will occur. In the future the SDK may create
7829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7830// for more information on using Contexts.
7831func (c *ConfigService) PutRemediationConfigurationsWithContext(ctx aws.Context, input *PutRemediationConfigurationsInput, opts ...request.Option) (*PutRemediationConfigurationsOutput, error) {
7832	req, out := c.PutRemediationConfigurationsRequest(input)
7833	req.SetContext(ctx)
7834	req.ApplyOptions(opts...)
7835	return out, req.Send()
7836}
7837
7838const opPutRemediationExceptions = "PutRemediationExceptions"
7839
7840// PutRemediationExceptionsRequest generates a "aws/request.Request" representing the
7841// client's request for the PutRemediationExceptions operation. The "output" return
7842// value will be populated with the request's response once the request completes
7843// successfully.
7844//
7845// Use "Send" method on the returned Request to send the API call to the service.
7846// the "output" return value is not valid until after Send returns without error.
7847//
7848// See PutRemediationExceptions for more information on using the PutRemediationExceptions
7849// API call, and error handling.
7850//
7851// This method is useful when you want to inject custom logic or configuration
7852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7853//
7854//
7855//    // Example sending a request using the PutRemediationExceptionsRequest method.
7856//    req, resp := client.PutRemediationExceptionsRequest(params)
7857//
7858//    err := req.Send()
7859//    if err == nil { // resp is now filled
7860//        fmt.Println(resp)
7861//    }
7862//
7863// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
7864func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExceptionsInput) (req *request.Request, output *PutRemediationExceptionsOutput) {
7865	op := &request.Operation{
7866		Name:       opPutRemediationExceptions,
7867		HTTPMethod: "POST",
7868		HTTPPath:   "/",
7869	}
7870
7871	if input == nil {
7872		input = &PutRemediationExceptionsInput{}
7873	}
7874
7875	output = &PutRemediationExceptionsOutput{}
7876	req = c.newRequest(op, input, output)
7877	return
7878}
7879
7880// PutRemediationExceptions API operation for AWS Config.
7881//
7882// A remediation exception is when a specific resource is no longer considered
7883// for auto-remediation. This API adds a new exception or updates an existing
7884// exception for a specific resource with a specific AWS Config rule.
7885//
7886// AWS Config generates a remediation exception when a problem occurs executing
7887// a remediation action to a specific resource. Remediation exceptions blocks
7888// auto-remediation until the exception is cleared.
7889//
7890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7891// with awserr.Error's Code and Message methods to get detailed information about
7892// the error.
7893//
7894// See the AWS API reference guide for AWS Config's
7895// API operation PutRemediationExceptions for usage and error information.
7896//
7897// Returned Error Types:
7898//   * InvalidParameterValueException
7899//   One or more of the specified parameters are invalid. Verify that your parameters
7900//   are valid and try again.
7901//
7902//   * InsufficientPermissionsException
7903//   Indicates one of the following errors:
7904//
7905//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7906//      to AWS Config lacks permissions to perform the config:Put* action.
7907//
7908//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7909//      the function ARN, and check the function's permissions.
7910//
7911//      * For PutOrganizationConfigRule, organization config rule cannot be created
7912//      because you do not have permissions to call IAM GetRole action or create
7913//      a service linked role.
7914//
7915//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7916//      pack cannot be created because you do not have permissions: To call IAM
7917//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7918//
7919// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
7920func (c *ConfigService) PutRemediationExceptions(input *PutRemediationExceptionsInput) (*PutRemediationExceptionsOutput, error) {
7921	req, out := c.PutRemediationExceptionsRequest(input)
7922	return out, req.Send()
7923}
7924
7925// PutRemediationExceptionsWithContext is the same as PutRemediationExceptions with the addition of
7926// the ability to pass a context and additional request options.
7927//
7928// See PutRemediationExceptions for details on how to use this API operation.
7929//
7930// The context must be non-nil and will be used for request cancellation. If
7931// the context is nil a panic will occur. In the future the SDK may create
7932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7933// for more information on using Contexts.
7934func (c *ConfigService) PutRemediationExceptionsWithContext(ctx aws.Context, input *PutRemediationExceptionsInput, opts ...request.Option) (*PutRemediationExceptionsOutput, error) {
7935	req, out := c.PutRemediationExceptionsRequest(input)
7936	req.SetContext(ctx)
7937	req.ApplyOptions(opts...)
7938	return out, req.Send()
7939}
7940
7941const opPutResourceConfig = "PutResourceConfig"
7942
7943// PutResourceConfigRequest generates a "aws/request.Request" representing the
7944// client's request for the PutResourceConfig operation. The "output" return
7945// value will be populated with the request's response once the request completes
7946// successfully.
7947//
7948// Use "Send" method on the returned Request to send the API call to the service.
7949// the "output" return value is not valid until after Send returns without error.
7950//
7951// See PutResourceConfig for more information on using the PutResourceConfig
7952// API call, and error handling.
7953//
7954// This method is useful when you want to inject custom logic or configuration
7955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7956//
7957//
7958//    // Example sending a request using the PutResourceConfigRequest method.
7959//    req, resp := client.PutResourceConfigRequest(params)
7960//
7961//    err := req.Send()
7962//    if err == nil { // resp is now filled
7963//        fmt.Println(resp)
7964//    }
7965//
7966// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
7967func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) (req *request.Request, output *PutResourceConfigOutput) {
7968	op := &request.Operation{
7969		Name:       opPutResourceConfig,
7970		HTTPMethod: "POST",
7971		HTTPPath:   "/",
7972	}
7973
7974	if input == nil {
7975		input = &PutResourceConfigInput{}
7976	}
7977
7978	output = &PutResourceConfigOutput{}
7979	req = c.newRequest(op, input, output)
7980	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7981	return
7982}
7983
7984// PutResourceConfig API operation for AWS Config.
7985//
7986// Records the configuration state for the resource provided in the request.
7987// The configuration state of a resource is represented in AWS Config as Configuration
7988// Items. Once this API records the configuration item, you can retrieve the
7989// list of configuration items for the custom resource type using existing AWS
7990// Config APIs.
7991//
7992// The custom resource type must be registered with AWS CloudFormation. This
7993// API accepts the configuration item registered with AWS CloudFormation.
7994//
7995// When you call this API, AWS Config only stores configuration state of the
7996// resource provided in the request. This API does not change or remediate the
7997// configuration of the resource.
7998//
7999// Write-only schema properites are not recorded as part of the published configuration
8000// item.
8001//
8002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8003// with awserr.Error's Code and Message methods to get detailed information about
8004// the error.
8005//
8006// See the AWS API reference guide for AWS Config's
8007// API operation PutResourceConfig for usage and error information.
8008//
8009// Returned Error Types:
8010//   * ValidationException
8011//   The requested action is not valid.
8012//
8013//   For PutStoredQuery, you will see this exception if there are missing required
8014//   fields or if the input value fails the validation, or if you are trying to
8015//   create more than 300 queries.
8016//
8017//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
8018//   exception if there are missing required fields or if the input value fails
8019//   the validation.
8020//
8021//   * InsufficientPermissionsException
8022//   Indicates one of the following errors:
8023//
8024//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
8025//      to AWS Config lacks permissions to perform the config:Put* action.
8026//
8027//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
8028//      the function ARN, and check the function's permissions.
8029//
8030//      * For PutOrganizationConfigRule, organization config rule cannot be created
8031//      because you do not have permissions to call IAM GetRole action or create
8032//      a service linked role.
8033//
8034//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
8035//      pack cannot be created because you do not have permissions: To call IAM
8036//      GetRole action or create a service linked role. To read Amazon S3 bucket.
8037//
8038//   * NoRunningConfigurationRecorderException
8039//   There is no configuration recorder running.
8040//
8041//   * MaxActiveResourcesExceededException
8042//   You have reached the limit (100,000) of active custom resource types in your
8043//   account. Delete unused resources using DeleteResourceConfig.
8044//
8045// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
8046func (c *ConfigService) PutResourceConfig(input *PutResourceConfigInput) (*PutResourceConfigOutput, error) {
8047	req, out := c.PutResourceConfigRequest(input)
8048	return out, req.Send()
8049}
8050
8051// PutResourceConfigWithContext is the same as PutResourceConfig with the addition of
8052// the ability to pass a context and additional request options.
8053//
8054// See PutResourceConfig for details on how to use this API operation.
8055//
8056// The context must be non-nil and will be used for request cancellation. If
8057// the context is nil a panic will occur. In the future the SDK may create
8058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8059// for more information on using Contexts.
8060func (c *ConfigService) PutResourceConfigWithContext(ctx aws.Context, input *PutResourceConfigInput, opts ...request.Option) (*PutResourceConfigOutput, error) {
8061	req, out := c.PutResourceConfigRequest(input)
8062	req.SetContext(ctx)
8063	req.ApplyOptions(opts...)
8064	return out, req.Send()
8065}
8066
8067const opPutRetentionConfiguration = "PutRetentionConfiguration"
8068
8069// PutRetentionConfigurationRequest generates a "aws/request.Request" representing the
8070// client's request for the PutRetentionConfiguration operation. The "output" return
8071// value will be populated with the request's response once the request completes
8072// successfully.
8073//
8074// Use "Send" method on the returned Request to send the API call to the service.
8075// the "output" return value is not valid until after Send returns without error.
8076//
8077// See PutRetentionConfiguration for more information on using the PutRetentionConfiguration
8078// API call, and error handling.
8079//
8080// This method is useful when you want to inject custom logic or configuration
8081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8082//
8083//
8084//    // Example sending a request using the PutRetentionConfigurationRequest method.
8085//    req, resp := client.PutRetentionConfigurationRequest(params)
8086//
8087//    err := req.Send()
8088//    if err == nil { // resp is now filled
8089//        fmt.Println(resp)
8090//    }
8091//
8092// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
8093func (c *ConfigService) PutRetentionConfigurationRequest(input *PutRetentionConfigurationInput) (req *request.Request, output *PutRetentionConfigurationOutput) {
8094	op := &request.Operation{
8095		Name:       opPutRetentionConfiguration,
8096		HTTPMethod: "POST",
8097		HTTPPath:   "/",
8098	}
8099
8100	if input == nil {
8101		input = &PutRetentionConfigurationInput{}
8102	}
8103
8104	output = &PutRetentionConfigurationOutput{}
8105	req = c.newRequest(op, input, output)
8106	return
8107}
8108
8109// PutRetentionConfiguration API operation for AWS Config.
8110//
8111// Creates and updates the retention configuration with details about retention
8112// period (number of days) that AWS Config stores your historical information.
8113// The API creates the RetentionConfiguration object and names the object as
8114// default. When you have a RetentionConfiguration object named default, calling
8115// the API modifies the default object.
8116//
8117// Currently, AWS Config supports only one retention configuration per region
8118// in your account.
8119//
8120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8121// with awserr.Error's Code and Message methods to get detailed information about
8122// the error.
8123//
8124// See the AWS API reference guide for AWS Config's
8125// API operation PutRetentionConfiguration for usage and error information.
8126//
8127// Returned Error Types:
8128//   * InvalidParameterValueException
8129//   One or more of the specified parameters are invalid. Verify that your parameters
8130//   are valid and try again.
8131//
8132//   * MaxNumberOfRetentionConfigurationsExceededException
8133//   Failed to add the retention configuration because a retention configuration
8134//   with that name already exists.
8135//
8136// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
8137func (c *ConfigService) PutRetentionConfiguration(input *PutRetentionConfigurationInput) (*PutRetentionConfigurationOutput, error) {
8138	req, out := c.PutRetentionConfigurationRequest(input)
8139	return out, req.Send()
8140}
8141
8142// PutRetentionConfigurationWithContext is the same as PutRetentionConfiguration with the addition of
8143// the ability to pass a context and additional request options.
8144//
8145// See PutRetentionConfiguration for details on how to use this API operation.
8146//
8147// The context must be non-nil and will be used for request cancellation. If
8148// the context is nil a panic will occur. In the future the SDK may create
8149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8150// for more information on using Contexts.
8151func (c *ConfigService) PutRetentionConfigurationWithContext(ctx aws.Context, input *PutRetentionConfigurationInput, opts ...request.Option) (*PutRetentionConfigurationOutput, error) {
8152	req, out := c.PutRetentionConfigurationRequest(input)
8153	req.SetContext(ctx)
8154	req.ApplyOptions(opts...)
8155	return out, req.Send()
8156}
8157
8158const opPutStoredQuery = "PutStoredQuery"
8159
8160// PutStoredQueryRequest generates a "aws/request.Request" representing the
8161// client's request for the PutStoredQuery operation. The "output" return
8162// value will be populated with the request's response once the request completes
8163// successfully.
8164//
8165// Use "Send" method on the returned Request to send the API call to the service.
8166// the "output" return value is not valid until after Send returns without error.
8167//
8168// See PutStoredQuery for more information on using the PutStoredQuery
8169// API call, and error handling.
8170//
8171// This method is useful when you want to inject custom logic or configuration
8172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8173//
8174//
8175//    // Example sending a request using the PutStoredQueryRequest method.
8176//    req, resp := client.PutStoredQueryRequest(params)
8177//
8178//    err := req.Send()
8179//    if err == nil { // resp is now filled
8180//        fmt.Println(resp)
8181//    }
8182//
8183// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
8184func (c *ConfigService) PutStoredQueryRequest(input *PutStoredQueryInput) (req *request.Request, output *PutStoredQueryOutput) {
8185	op := &request.Operation{
8186		Name:       opPutStoredQuery,
8187		HTTPMethod: "POST",
8188		HTTPPath:   "/",
8189	}
8190
8191	if input == nil {
8192		input = &PutStoredQueryInput{}
8193	}
8194
8195	output = &PutStoredQueryOutput{}
8196	req = c.newRequest(op, input, output)
8197	return
8198}
8199
8200// PutStoredQuery API operation for AWS Config.
8201//
8202// Saves a new query or updates an existing saved query. The QueryName must
8203// be unique for a single AWS account and a single AWS Region. You can create
8204// upto 300 queries in a single AWS account and a single AWS Region.
8205//
8206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8207// with awserr.Error's Code and Message methods to get detailed information about
8208// the error.
8209//
8210// See the AWS API reference guide for AWS Config's
8211// API operation PutStoredQuery for usage and error information.
8212//
8213// Returned Error Types:
8214//   * ValidationException
8215//   The requested action is not valid.
8216//
8217//   For PutStoredQuery, you will see this exception if there are missing required
8218//   fields or if the input value fails the validation, or if you are trying to
8219//   create more than 300 queries.
8220//
8221//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
8222//   exception if there are missing required fields or if the input value fails
8223//   the validation.
8224//
8225//   * TooManyTagsException
8226//   You have reached the limit of the number of tags you can use. You have more
8227//   than 50 tags.
8228//
8229//   * ResourceConcurrentModificationException
8230//   Two users are trying to modify the same query at the same time. Wait for
8231//   a moment and try again.
8232//
8233// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
8234func (c *ConfigService) PutStoredQuery(input *PutStoredQueryInput) (*PutStoredQueryOutput, error) {
8235	req, out := c.PutStoredQueryRequest(input)
8236	return out, req.Send()
8237}
8238
8239// PutStoredQueryWithContext is the same as PutStoredQuery with the addition of
8240// the ability to pass a context and additional request options.
8241//
8242// See PutStoredQuery for details on how to use this API operation.
8243//
8244// The context must be non-nil and will be used for request cancellation. If
8245// the context is nil a panic will occur. In the future the SDK may create
8246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8247// for more information on using Contexts.
8248func (c *ConfigService) PutStoredQueryWithContext(ctx aws.Context, input *PutStoredQueryInput, opts ...request.Option) (*PutStoredQueryOutput, error) {
8249	req, out := c.PutStoredQueryRequest(input)
8250	req.SetContext(ctx)
8251	req.ApplyOptions(opts...)
8252	return out, req.Send()
8253}
8254
8255const opSelectAggregateResourceConfig = "SelectAggregateResourceConfig"
8256
8257// SelectAggregateResourceConfigRequest generates a "aws/request.Request" representing the
8258// client's request for the SelectAggregateResourceConfig operation. The "output" return
8259// value will be populated with the request's response once the request completes
8260// successfully.
8261//
8262// Use "Send" method on the returned Request to send the API call to the service.
8263// the "output" return value is not valid until after Send returns without error.
8264//
8265// See SelectAggregateResourceConfig for more information on using the SelectAggregateResourceConfig
8266// API call, and error handling.
8267//
8268// This method is useful when you want to inject custom logic or configuration
8269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8270//
8271//
8272//    // Example sending a request using the SelectAggregateResourceConfigRequest method.
8273//    req, resp := client.SelectAggregateResourceConfigRequest(params)
8274//
8275//    err := req.Send()
8276//    if err == nil { // resp is now filled
8277//        fmt.Println(resp)
8278//    }
8279//
8280// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
8281func (c *ConfigService) SelectAggregateResourceConfigRequest(input *SelectAggregateResourceConfigInput) (req *request.Request, output *SelectAggregateResourceConfigOutput) {
8282	op := &request.Operation{
8283		Name:       opSelectAggregateResourceConfig,
8284		HTTPMethod: "POST",
8285		HTTPPath:   "/",
8286		Paginator: &request.Paginator{
8287			InputTokens:     []string{"NextToken"},
8288			OutputTokens:    []string{"NextToken"},
8289			LimitToken:      "MaxResults",
8290			TruncationToken: "",
8291		},
8292	}
8293
8294	if input == nil {
8295		input = &SelectAggregateResourceConfigInput{}
8296	}
8297
8298	output = &SelectAggregateResourceConfigOutput{}
8299	req = c.newRequest(op, input, output)
8300	return
8301}
8302
8303// SelectAggregateResourceConfig API operation for AWS Config.
8304//
8305// Accepts a structured query language (SQL) SELECT command and an aggregator
8306// to query configuration state of AWS resources across multiple accounts and
8307// regions, performs the corresponding search, and returns resource configurations
8308// matching the properties.
8309//
8310// For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
8311// section in the AWS Config Developer Guide.
8312//
8313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8314// with awserr.Error's Code and Message methods to get detailed information about
8315// the error.
8316//
8317// See the AWS API reference guide for AWS Config's
8318// API operation SelectAggregateResourceConfig for usage and error information.
8319//
8320// Returned Error Types:
8321//   * InvalidExpressionException
8322//   The syntax of the query is incorrect.
8323//
8324//   * NoSuchConfigurationAggregatorException
8325//   You have specified a configuration aggregator that does not exist.
8326//
8327//   * InvalidLimitException
8328//   The specified limit is outside the allowable range.
8329//
8330//   * InvalidNextTokenException
8331//   The specified next token is invalid. Specify the nextToken string that was
8332//   returned in the previous response to get the next page of results.
8333//
8334// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
8335func (c *ConfigService) SelectAggregateResourceConfig(input *SelectAggregateResourceConfigInput) (*SelectAggregateResourceConfigOutput, error) {
8336	req, out := c.SelectAggregateResourceConfigRequest(input)
8337	return out, req.Send()
8338}
8339
8340// SelectAggregateResourceConfigWithContext is the same as SelectAggregateResourceConfig with the addition of
8341// the ability to pass a context and additional request options.
8342//
8343// See SelectAggregateResourceConfig for details on how to use this API operation.
8344//
8345// The context must be non-nil and will be used for request cancellation. If
8346// the context is nil a panic will occur. In the future the SDK may create
8347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8348// for more information on using Contexts.
8349func (c *ConfigService) SelectAggregateResourceConfigWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, opts ...request.Option) (*SelectAggregateResourceConfigOutput, error) {
8350	req, out := c.SelectAggregateResourceConfigRequest(input)
8351	req.SetContext(ctx)
8352	req.ApplyOptions(opts...)
8353	return out, req.Send()
8354}
8355
8356// SelectAggregateResourceConfigPages iterates over the pages of a SelectAggregateResourceConfig operation,
8357// calling the "fn" function with the response data for each page. To stop
8358// iterating, return false from the fn function.
8359//
8360// See SelectAggregateResourceConfig method for more information on how to use this operation.
8361//
8362// Note: This operation can generate multiple requests to a service.
8363//
8364//    // Example iterating over at most 3 pages of a SelectAggregateResourceConfig operation.
8365//    pageNum := 0
8366//    err := client.SelectAggregateResourceConfigPages(params,
8367//        func(page *configservice.SelectAggregateResourceConfigOutput, lastPage bool) bool {
8368//            pageNum++
8369//            fmt.Println(page)
8370//            return pageNum <= 3
8371//        })
8372//
8373func (c *ConfigService) SelectAggregateResourceConfigPages(input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool) error {
8374	return c.SelectAggregateResourceConfigPagesWithContext(aws.BackgroundContext(), input, fn)
8375}
8376
8377// SelectAggregateResourceConfigPagesWithContext same as SelectAggregateResourceConfigPages except
8378// it takes a Context and allows setting request options on the pages.
8379//
8380// The context must be non-nil and will be used for request cancellation. If
8381// the context is nil a panic will occur. In the future the SDK may create
8382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8383// for more information on using Contexts.
8384func (c *ConfigService) SelectAggregateResourceConfigPagesWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool, opts ...request.Option) error {
8385	p := request.Pagination{
8386		NewRequest: func() (*request.Request, error) {
8387			var inCpy *SelectAggregateResourceConfigInput
8388			if input != nil {
8389				tmp := *input
8390				inCpy = &tmp
8391			}
8392			req, _ := c.SelectAggregateResourceConfigRequest(inCpy)
8393			req.SetContext(ctx)
8394			req.ApplyOptions(opts...)
8395			return req, nil
8396		},
8397	}
8398
8399	for p.Next() {
8400		if !fn(p.Page().(*SelectAggregateResourceConfigOutput), !p.HasNextPage()) {
8401			break
8402		}
8403	}
8404
8405	return p.Err()
8406}
8407
8408const opSelectResourceConfig = "SelectResourceConfig"
8409
8410// SelectResourceConfigRequest generates a "aws/request.Request" representing the
8411// client's request for the SelectResourceConfig operation. The "output" return
8412// value will be populated with the request's response once the request completes
8413// successfully.
8414//
8415// Use "Send" method on the returned Request to send the API call to the service.
8416// the "output" return value is not valid until after Send returns without error.
8417//
8418// See SelectResourceConfig for more information on using the SelectResourceConfig
8419// API call, and error handling.
8420//
8421// This method is useful when you want to inject custom logic or configuration
8422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8423//
8424//
8425//    // Example sending a request using the SelectResourceConfigRequest method.
8426//    req, resp := client.SelectResourceConfigRequest(params)
8427//
8428//    err := req.Send()
8429//    if err == nil { // resp is now filled
8430//        fmt.Println(resp)
8431//    }
8432//
8433// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
8434func (c *ConfigService) SelectResourceConfigRequest(input *SelectResourceConfigInput) (req *request.Request, output *SelectResourceConfigOutput) {
8435	op := &request.Operation{
8436		Name:       opSelectResourceConfig,
8437		HTTPMethod: "POST",
8438		HTTPPath:   "/",
8439	}
8440
8441	if input == nil {
8442		input = &SelectResourceConfigInput{}
8443	}
8444
8445	output = &SelectResourceConfigOutput{}
8446	req = c.newRequest(op, input, output)
8447	return
8448}
8449
8450// SelectResourceConfig API operation for AWS Config.
8451//
8452// Accepts a structured query language (SQL) SELECT command, performs the corresponding
8453// search, and returns resource configurations matching the properties.
8454//
8455// For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
8456// section in the AWS Config Developer Guide.
8457//
8458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8459// with awserr.Error's Code and Message methods to get detailed information about
8460// the error.
8461//
8462// See the AWS API reference guide for AWS Config's
8463// API operation SelectResourceConfig for usage and error information.
8464//
8465// Returned Error Types:
8466//   * InvalidExpressionException
8467//   The syntax of the query is incorrect.
8468//
8469//   * InvalidLimitException
8470//   The specified limit is outside the allowable range.
8471//
8472//   * InvalidNextTokenException
8473//   The specified next token is invalid. Specify the nextToken string that was
8474//   returned in the previous response to get the next page of results.
8475//
8476// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
8477func (c *ConfigService) SelectResourceConfig(input *SelectResourceConfigInput) (*SelectResourceConfigOutput, error) {
8478	req, out := c.SelectResourceConfigRequest(input)
8479	return out, req.Send()
8480}
8481
8482// SelectResourceConfigWithContext is the same as SelectResourceConfig with the addition of
8483// the ability to pass a context and additional request options.
8484//
8485// See SelectResourceConfig for details on how to use this API operation.
8486//
8487// The context must be non-nil and will be used for request cancellation. If
8488// the context is nil a panic will occur. In the future the SDK may create
8489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8490// for more information on using Contexts.
8491func (c *ConfigService) SelectResourceConfigWithContext(ctx aws.Context, input *SelectResourceConfigInput, opts ...request.Option) (*SelectResourceConfigOutput, error) {
8492	req, out := c.SelectResourceConfigRequest(input)
8493	req.SetContext(ctx)
8494	req.ApplyOptions(opts...)
8495	return out, req.Send()
8496}
8497
8498const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
8499
8500// StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
8501// client's request for the StartConfigRulesEvaluation operation. The "output" return
8502// value will be populated with the request's response once the request completes
8503// successfully.
8504//
8505// Use "Send" method on the returned Request to send the API call to the service.
8506// the "output" return value is not valid until after Send returns without error.
8507//
8508// See StartConfigRulesEvaluation for more information on using the StartConfigRulesEvaluation
8509// API call, and error handling.
8510//
8511// This method is useful when you want to inject custom logic or configuration
8512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8513//
8514//
8515//    // Example sending a request using the StartConfigRulesEvaluationRequest method.
8516//    req, resp := client.StartConfigRulesEvaluationRequest(params)
8517//
8518//    err := req.Send()
8519//    if err == nil { // resp is now filled
8520//        fmt.Println(resp)
8521//    }
8522//
8523// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
8524func (c *ConfigService) StartConfigRulesEvaluationRequest(input *StartConfigRulesEvaluationInput) (req *request.Request, output *StartConfigRulesEvaluationOutput) {
8525	op := &request.Operation{
8526		Name:       opStartConfigRulesEvaluation,
8527		HTTPMethod: "POST",
8528		HTTPPath:   "/",
8529	}
8530
8531	if input == nil {
8532		input = &StartConfigRulesEvaluationInput{}
8533	}
8534
8535	output = &StartConfigRulesEvaluationOutput{}
8536	req = c.newRequest(op, input, output)
8537	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8538	return
8539}
8540
8541// StartConfigRulesEvaluation API operation for AWS Config.
8542//
8543// Runs an on-demand evaluation for the specified AWS Config rules against the
8544// last known configuration state of the resources. Use StartConfigRulesEvaluation
8545// when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation
8546// does not re-record the latest configuration state for your resources. It
8547// re-runs an evaluation against the last known state of your resources.
8548//
8549// You can specify up to 25 AWS Config rules per request.
8550//
8551// An existing StartConfigRulesEvaluation call for the specified rules must
8552// complete before you can call the API again. If you chose to have AWS Config
8553// stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted
8554// notification when the evaluation starts.
8555//
8556// You don't need to call the StartConfigRulesEvaluation API to run an evaluation
8557// for a new rule. When you create a rule, AWS Config evaluates your resources
8558// against the rule automatically.
8559//
8560// The StartConfigRulesEvaluation API is useful if you want to run on-demand
8561// evaluations, such as the following example:
8562//
8563// You have a custom rule that evaluates your IAM resources every 24 hours.
8564//
8565// You update your Lambda function to add additional conditions to your rule.
8566//
8567// Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation
8568// API.
8569//
8570// AWS Config invokes your Lambda function and evaluates your IAM resources.
8571//
8572// Your custom rule will still run periodic evaluations every 24 hours.
8573//
8574// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8575// with awserr.Error's Code and Message methods to get detailed information about
8576// the error.
8577//
8578// See the AWS API reference guide for AWS Config's
8579// API operation StartConfigRulesEvaluation for usage and error information.
8580//
8581// Returned Error Types:
8582//   * NoSuchConfigRuleException
8583//   One or more AWS Config rules in the request are invalid. Verify that the
8584//   rule names are correct and try again.
8585//
8586//   * LimitExceededException
8587//   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
8588//   is in progress or if you call the StartConfigRulesEvaluation API more than
8589//   once per minute.
8590//
8591//   For PutConfigurationAggregator API, this exception is thrown if the number
8592//   of accounts and aggregators exceeds the limit.
8593//
8594//   * ResourceInUseException
8595//   You see this exception in the following cases:
8596//
8597//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
8598//      again later.
8599//
8600//      * For DeleteConfigRule, the rule is deleting your evaluation results.
8601//      Try your request again later.
8602//
8603//      * For DeleteConfigRule, a remediation action is associated with the rule
8604//      and AWS Config cannot delete this rule. Delete the remediation action
8605//      associated with the rule before deleting the rule and try your request
8606//      again later.
8607//
8608//      * For PutConfigOrganizationRule, organization config rule deletion is
8609//      in progress. Try your request again later.
8610//
8611//      * For DeleteOrganizationConfigRule, organization config rule creation
8612//      is in progress. Try your request again later.
8613//
8614//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
8615//      pack creation, update, and deletion is in progress. Try your request again
8616//      later.
8617//
8618//      * For DeleteConformancePack, a conformance pack creation, update, and
8619//      deletion is in progress. Try your request again later.
8620//
8621//   * InvalidParameterValueException
8622//   One or more of the specified parameters are invalid. Verify that your parameters
8623//   are valid and try again.
8624//
8625// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
8626func (c *ConfigService) StartConfigRulesEvaluation(input *StartConfigRulesEvaluationInput) (*StartConfigRulesEvaluationOutput, error) {
8627	req, out := c.StartConfigRulesEvaluationRequest(input)
8628	return out, req.Send()
8629}
8630
8631// StartConfigRulesEvaluationWithContext is the same as StartConfigRulesEvaluation with the addition of
8632// the ability to pass a context and additional request options.
8633//
8634// See StartConfigRulesEvaluation for details on how to use this API operation.
8635//
8636// The context must be non-nil and will be used for request cancellation. If
8637// the context is nil a panic will occur. In the future the SDK may create
8638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8639// for more information on using Contexts.
8640func (c *ConfigService) StartConfigRulesEvaluationWithContext(ctx aws.Context, input *StartConfigRulesEvaluationInput, opts ...request.Option) (*StartConfigRulesEvaluationOutput, error) {
8641	req, out := c.StartConfigRulesEvaluationRequest(input)
8642	req.SetContext(ctx)
8643	req.ApplyOptions(opts...)
8644	return out, req.Send()
8645}
8646
8647const opStartConfigurationRecorder = "StartConfigurationRecorder"
8648
8649// StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
8650// client's request for the StartConfigurationRecorder operation. The "output" return
8651// value will be populated with the request's response once the request completes
8652// successfully.
8653//
8654// Use "Send" method on the returned Request to send the API call to the service.
8655// the "output" return value is not valid until after Send returns without error.
8656//
8657// See StartConfigurationRecorder for more information on using the StartConfigurationRecorder
8658// API call, and error handling.
8659//
8660// This method is useful when you want to inject custom logic or configuration
8661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8662//
8663//
8664//    // Example sending a request using the StartConfigurationRecorderRequest method.
8665//    req, resp := client.StartConfigurationRecorderRequest(params)
8666//
8667//    err := req.Send()
8668//    if err == nil { // resp is now filled
8669//        fmt.Println(resp)
8670//    }
8671//
8672// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
8673func (c *ConfigService) StartConfigurationRecorderRequest(input *StartConfigurationRecorderInput) (req *request.Request, output *StartConfigurationRecorderOutput) {
8674	op := &request.Operation{
8675		Name:       opStartConfigurationRecorder,
8676		HTTPMethod: "POST",
8677		HTTPPath:   "/",
8678	}
8679
8680	if input == nil {
8681		input = &StartConfigurationRecorderInput{}
8682	}
8683
8684	output = &StartConfigurationRecorderOutput{}
8685	req = c.newRequest(op, input, output)
8686	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8687	return
8688}
8689
8690// StartConfigurationRecorder API operation for AWS Config.
8691//
8692// Starts recording configurations of the AWS resources you have selected to
8693// record in your AWS account.
8694//
8695// You must have created at least one delivery channel to successfully start
8696// the configuration recorder.
8697//
8698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8699// with awserr.Error's Code and Message methods to get detailed information about
8700// the error.
8701//
8702// See the AWS API reference guide for AWS Config's
8703// API operation StartConfigurationRecorder for usage and error information.
8704//
8705// Returned Error Types:
8706//   * NoSuchConfigurationRecorderException
8707//   You have specified a configuration recorder that does not exist.
8708//
8709//   * NoAvailableDeliveryChannelException
8710//   There is no delivery channel available to record configurations.
8711//
8712// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
8713func (c *ConfigService) StartConfigurationRecorder(input *StartConfigurationRecorderInput) (*StartConfigurationRecorderOutput, error) {
8714	req, out := c.StartConfigurationRecorderRequest(input)
8715	return out, req.Send()
8716}
8717
8718// StartConfigurationRecorderWithContext is the same as StartConfigurationRecorder with the addition of
8719// the ability to pass a context and additional request options.
8720//
8721// See StartConfigurationRecorder for details on how to use this API operation.
8722//
8723// The context must be non-nil and will be used for request cancellation. If
8724// the context is nil a panic will occur. In the future the SDK may create
8725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8726// for more information on using Contexts.
8727func (c *ConfigService) StartConfigurationRecorderWithContext(ctx aws.Context, input *StartConfigurationRecorderInput, opts ...request.Option) (*StartConfigurationRecorderOutput, error) {
8728	req, out := c.StartConfigurationRecorderRequest(input)
8729	req.SetContext(ctx)
8730	req.ApplyOptions(opts...)
8731	return out, req.Send()
8732}
8733
8734const opStartRemediationExecution = "StartRemediationExecution"
8735
8736// StartRemediationExecutionRequest generates a "aws/request.Request" representing the
8737// client's request for the StartRemediationExecution operation. The "output" return
8738// value will be populated with the request's response once the request completes
8739// successfully.
8740//
8741// Use "Send" method on the returned Request to send the API call to the service.
8742// the "output" return value is not valid until after Send returns without error.
8743//
8744// See StartRemediationExecution for more information on using the StartRemediationExecution
8745// API call, and error handling.
8746//
8747// This method is useful when you want to inject custom logic or configuration
8748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8749//
8750//
8751//    // Example sending a request using the StartRemediationExecutionRequest method.
8752//    req, resp := client.StartRemediationExecutionRequest(params)
8753//
8754//    err := req.Send()
8755//    if err == nil { // resp is now filled
8756//        fmt.Println(resp)
8757//    }
8758//
8759// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
8760func (c *ConfigService) StartRemediationExecutionRequest(input *StartRemediationExecutionInput) (req *request.Request, output *StartRemediationExecutionOutput) {
8761	op := &request.Operation{
8762		Name:       opStartRemediationExecution,
8763		HTTPMethod: "POST",
8764		HTTPPath:   "/",
8765	}
8766
8767	if input == nil {
8768		input = &StartRemediationExecutionInput{}
8769	}
8770
8771	output = &StartRemediationExecutionOutput{}
8772	req = c.newRequest(op, input, output)
8773	return
8774}
8775
8776// StartRemediationExecution API operation for AWS Config.
8777//
8778// Runs an on-demand remediation for the specified AWS Config rules against
8779// the last known remediation configuration. It runs an execution against the
8780// current state of your resources. Remediation execution is asynchronous.
8781//
8782// You can specify up to 100 resource keys per request. An existing StartRemediationExecution
8783// call for the specified resource keys must complete before you can call the
8784// API again.
8785//
8786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8787// with awserr.Error's Code and Message methods to get detailed information about
8788// the error.
8789//
8790// See the AWS API reference guide for AWS Config's
8791// API operation StartRemediationExecution for usage and error information.
8792//
8793// Returned Error Types:
8794//   * InvalidParameterValueException
8795//   One or more of the specified parameters are invalid. Verify that your parameters
8796//   are valid and try again.
8797//
8798//   * InsufficientPermissionsException
8799//   Indicates one of the following errors:
8800//
8801//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
8802//      to AWS Config lacks permissions to perform the config:Put* action.
8803//
8804//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
8805//      the function ARN, and check the function's permissions.
8806//
8807//      * For PutOrganizationConfigRule, organization config rule cannot be created
8808//      because you do not have permissions to call IAM GetRole action or create
8809//      a service linked role.
8810//
8811//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
8812//      pack cannot be created because you do not have permissions: To call IAM
8813//      GetRole action or create a service linked role. To read Amazon S3 bucket.
8814//
8815//   * NoSuchRemediationConfigurationException
8816//   You specified an AWS Config rule without a remediation configuration.
8817//
8818// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
8819func (c *ConfigService) StartRemediationExecution(input *StartRemediationExecutionInput) (*StartRemediationExecutionOutput, error) {
8820	req, out := c.StartRemediationExecutionRequest(input)
8821	return out, req.Send()
8822}
8823
8824// StartRemediationExecutionWithContext is the same as StartRemediationExecution with the addition of
8825// the ability to pass a context and additional request options.
8826//
8827// See StartRemediationExecution for details on how to use this API operation.
8828//
8829// The context must be non-nil and will be used for request cancellation. If
8830// the context is nil a panic will occur. In the future the SDK may create
8831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8832// for more information on using Contexts.
8833func (c *ConfigService) StartRemediationExecutionWithContext(ctx aws.Context, input *StartRemediationExecutionInput, opts ...request.Option) (*StartRemediationExecutionOutput, error) {
8834	req, out := c.StartRemediationExecutionRequest(input)
8835	req.SetContext(ctx)
8836	req.ApplyOptions(opts...)
8837	return out, req.Send()
8838}
8839
8840const opStopConfigurationRecorder = "StopConfigurationRecorder"
8841
8842// StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
8843// client's request for the StopConfigurationRecorder operation. The "output" return
8844// value will be populated with the request's response once the request completes
8845// successfully.
8846//
8847// Use "Send" method on the returned Request to send the API call to the service.
8848// the "output" return value is not valid until after Send returns without error.
8849//
8850// See StopConfigurationRecorder for more information on using the StopConfigurationRecorder
8851// API call, and error handling.
8852//
8853// This method is useful when you want to inject custom logic or configuration
8854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8855//
8856//
8857//    // Example sending a request using the StopConfigurationRecorderRequest method.
8858//    req, resp := client.StopConfigurationRecorderRequest(params)
8859//
8860//    err := req.Send()
8861//    if err == nil { // resp is now filled
8862//        fmt.Println(resp)
8863//    }
8864//
8865// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
8866func (c *ConfigService) StopConfigurationRecorderRequest(input *StopConfigurationRecorderInput) (req *request.Request, output *StopConfigurationRecorderOutput) {
8867	op := &request.Operation{
8868		Name:       opStopConfigurationRecorder,
8869		HTTPMethod: "POST",
8870		HTTPPath:   "/",
8871	}
8872
8873	if input == nil {
8874		input = &StopConfigurationRecorderInput{}
8875	}
8876
8877	output = &StopConfigurationRecorderOutput{}
8878	req = c.newRequest(op, input, output)
8879	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8880	return
8881}
8882
8883// StopConfigurationRecorder API operation for AWS Config.
8884//
8885// Stops recording configurations of the AWS resources you have selected to
8886// record in your AWS account.
8887//
8888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8889// with awserr.Error's Code and Message methods to get detailed information about
8890// the error.
8891//
8892// See the AWS API reference guide for AWS Config's
8893// API operation StopConfigurationRecorder for usage and error information.
8894//
8895// Returned Error Types:
8896//   * NoSuchConfigurationRecorderException
8897//   You have specified a configuration recorder that does not exist.
8898//
8899// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
8900func (c *ConfigService) StopConfigurationRecorder(input *StopConfigurationRecorderInput) (*StopConfigurationRecorderOutput, error) {
8901	req, out := c.StopConfigurationRecorderRequest(input)
8902	return out, req.Send()
8903}
8904
8905// StopConfigurationRecorderWithContext is the same as StopConfigurationRecorder with the addition of
8906// the ability to pass a context and additional request options.
8907//
8908// See StopConfigurationRecorder for details on how to use this API operation.
8909//
8910// The context must be non-nil and will be used for request cancellation. If
8911// the context is nil a panic will occur. In the future the SDK may create
8912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8913// for more information on using Contexts.
8914func (c *ConfigService) StopConfigurationRecorderWithContext(ctx aws.Context, input *StopConfigurationRecorderInput, opts ...request.Option) (*StopConfigurationRecorderOutput, error) {
8915	req, out := c.StopConfigurationRecorderRequest(input)
8916	req.SetContext(ctx)
8917	req.ApplyOptions(opts...)
8918	return out, req.Send()
8919}
8920
8921const opTagResource = "TagResource"
8922
8923// TagResourceRequest generates a "aws/request.Request" representing the
8924// client's request for the TagResource operation. The "output" return
8925// value will be populated with the request's response once the request completes
8926// successfully.
8927//
8928// Use "Send" method on the returned Request to send the API call to the service.
8929// the "output" return value is not valid until after Send returns without error.
8930//
8931// See TagResource for more information on using the TagResource
8932// API call, and error handling.
8933//
8934// This method is useful when you want to inject custom logic or configuration
8935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8936//
8937//
8938//    // Example sending a request using the TagResourceRequest method.
8939//    req, resp := client.TagResourceRequest(params)
8940//
8941//    err := req.Send()
8942//    if err == nil { // resp is now filled
8943//        fmt.Println(resp)
8944//    }
8945//
8946// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
8947func (c *ConfigService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
8948	op := &request.Operation{
8949		Name:       opTagResource,
8950		HTTPMethod: "POST",
8951		HTTPPath:   "/",
8952	}
8953
8954	if input == nil {
8955		input = &TagResourceInput{}
8956	}
8957
8958	output = &TagResourceOutput{}
8959	req = c.newRequest(op, input, output)
8960	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8961	return
8962}
8963
8964// TagResource API operation for AWS Config.
8965//
8966// Associates the specified tags to a resource with the specified resourceArn.
8967// If existing tags on a resource are not specified in the request parameters,
8968// they are not changed. When a resource is deleted, the tags associated with
8969// that resource are deleted as well.
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 TagResource for usage and error information.
8977//
8978// Returned Error Types:
8979//   * ValidationException
8980//   The requested action is not valid.
8981//
8982//   For PutStoredQuery, you will see this exception if there are missing required
8983//   fields or if the input value fails the validation, or if you are trying to
8984//   create more than 300 queries.
8985//
8986//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
8987//   exception if there are missing required fields or if the input value fails
8988//   the validation.
8989//
8990//   * ResourceNotFoundException
8991//   You have specified a resource that does not exist.
8992//
8993//   * TooManyTagsException
8994//   You have reached the limit of the number of tags you can use. You have more
8995//   than 50 tags.
8996//
8997// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
8998func (c *ConfigService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
8999	req, out := c.TagResourceRequest(input)
9000	return out, req.Send()
9001}
9002
9003// TagResourceWithContext is the same as TagResource with the addition of
9004// the ability to pass a context and additional request options.
9005//
9006// See TagResource for details on how to use this API operation.
9007//
9008// The context must be non-nil and will be used for request cancellation. If
9009// the context is nil a panic will occur. In the future the SDK may create
9010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9011// for more information on using Contexts.
9012func (c *ConfigService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
9013	req, out := c.TagResourceRequest(input)
9014	req.SetContext(ctx)
9015	req.ApplyOptions(opts...)
9016	return out, req.Send()
9017}
9018
9019const opUntagResource = "UntagResource"
9020
9021// UntagResourceRequest generates a "aws/request.Request" representing the
9022// client's request for the UntagResource operation. The "output" return
9023// value will be populated with the request's response once the request completes
9024// successfully.
9025//
9026// Use "Send" method on the returned Request to send the API call to the service.
9027// the "output" return value is not valid until after Send returns without error.
9028//
9029// See UntagResource for more information on using the UntagResource
9030// API call, and error handling.
9031//
9032// This method is useful when you want to inject custom logic or configuration
9033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9034//
9035//
9036//    // Example sending a request using the UntagResourceRequest method.
9037//    req, resp := client.UntagResourceRequest(params)
9038//
9039//    err := req.Send()
9040//    if err == nil { // resp is now filled
9041//        fmt.Println(resp)
9042//    }
9043//
9044// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
9045func (c *ConfigService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
9046	op := &request.Operation{
9047		Name:       opUntagResource,
9048		HTTPMethod: "POST",
9049		HTTPPath:   "/",
9050	}
9051
9052	if input == nil {
9053		input = &UntagResourceInput{}
9054	}
9055
9056	output = &UntagResourceOutput{}
9057	req = c.newRequest(op, input, output)
9058	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9059	return
9060}
9061
9062// UntagResource API operation for AWS Config.
9063//
9064// Deletes specified tags from a resource.
9065//
9066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9067// with awserr.Error's Code and Message methods to get detailed information about
9068// the error.
9069//
9070// See the AWS API reference guide for AWS Config's
9071// API operation UntagResource for usage and error information.
9072//
9073// Returned Error Types:
9074//   * ValidationException
9075//   The requested action is not valid.
9076//
9077//   For PutStoredQuery, you will see this exception if there are missing required
9078//   fields or if the input value fails the validation, or if you are trying to
9079//   create more than 300 queries.
9080//
9081//   For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
9082//   exception if there are missing required fields or if the input value fails
9083//   the validation.
9084//
9085//   * ResourceNotFoundException
9086//   You have specified a resource that does not exist.
9087//
9088// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
9089func (c *ConfigService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
9090	req, out := c.UntagResourceRequest(input)
9091	return out, req.Send()
9092}
9093
9094// UntagResourceWithContext is the same as UntagResource with the addition of
9095// the ability to pass a context and additional request options.
9096//
9097// See UntagResource for details on how to use this API operation.
9098//
9099// The context must be non-nil and will be used for request cancellation. If
9100// the context is nil a panic will occur. In the future the SDK may create
9101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9102// for more information on using Contexts.
9103func (c *ConfigService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
9104	req, out := c.UntagResourceRequest(input)
9105	req.SetContext(ctx)
9106	req.ApplyOptions(opts...)
9107	return out, req.Send()
9108}
9109
9110// A collection of accounts and regions.
9111type AccountAggregationSource struct {
9112	_ struct{} `type:"structure"`
9113
9114	// The 12-digit account ID of the account being aggregated.
9115	//
9116	// AccountIds is a required field
9117	AccountIds []*string `min:"1" type:"list" required:"true"`
9118
9119	// If true, aggregate existing AWS Config regions and future regions.
9120	AllAwsRegions *bool `type:"boolean"`
9121
9122	// The source regions being aggregated.
9123	AwsRegions []*string `min:"1" type:"list"`
9124}
9125
9126// String returns the string representation
9127func (s AccountAggregationSource) String() string {
9128	return awsutil.Prettify(s)
9129}
9130
9131// GoString returns the string representation
9132func (s AccountAggregationSource) GoString() string {
9133	return s.String()
9134}
9135
9136// Validate inspects the fields of the type to determine if they are valid.
9137func (s *AccountAggregationSource) Validate() error {
9138	invalidParams := request.ErrInvalidParams{Context: "AccountAggregationSource"}
9139	if s.AccountIds == nil {
9140		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9141	}
9142	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9143		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9144	}
9145	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
9146		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
9147	}
9148
9149	if invalidParams.Len() > 0 {
9150		return invalidParams
9151	}
9152	return nil
9153}
9154
9155// SetAccountIds sets the AccountIds field's value.
9156func (s *AccountAggregationSource) SetAccountIds(v []*string) *AccountAggregationSource {
9157	s.AccountIds = v
9158	return s
9159}
9160
9161// SetAllAwsRegions sets the AllAwsRegions field's value.
9162func (s *AccountAggregationSource) SetAllAwsRegions(v bool) *AccountAggregationSource {
9163	s.AllAwsRegions = &v
9164	return s
9165}
9166
9167// SetAwsRegions sets the AwsRegions field's value.
9168func (s *AccountAggregationSource) SetAwsRegions(v []*string) *AccountAggregationSource {
9169	s.AwsRegions = v
9170	return s
9171}
9172
9173// Indicates whether an AWS Config rule is compliant based on account ID, region,
9174// compliance, and rule name.
9175//
9176// A rule is compliant if all of the resources that the rule evaluated comply
9177// with it. It is noncompliant if any of these resources do not comply.
9178type AggregateComplianceByConfigRule struct {
9179	_ struct{} `type:"structure"`
9180
9181	// The 12-digit account ID of the source account.
9182	AccountId *string `type:"string"`
9183
9184	// The source region from where the data is aggregated.
9185	AwsRegion *string `min:"1" type:"string"`
9186
9187	// Indicates whether an AWS resource or AWS Config rule is compliant and provides
9188	// the number of contributors that affect the compliance.
9189	Compliance *Compliance `type:"structure"`
9190
9191	// The name of the AWS Config rule.
9192	ConfigRuleName *string `min:"1" type:"string"`
9193}
9194
9195// String returns the string representation
9196func (s AggregateComplianceByConfigRule) String() string {
9197	return awsutil.Prettify(s)
9198}
9199
9200// GoString returns the string representation
9201func (s AggregateComplianceByConfigRule) GoString() string {
9202	return s.String()
9203}
9204
9205// SetAccountId sets the AccountId field's value.
9206func (s *AggregateComplianceByConfigRule) SetAccountId(v string) *AggregateComplianceByConfigRule {
9207	s.AccountId = &v
9208	return s
9209}
9210
9211// SetAwsRegion sets the AwsRegion field's value.
9212func (s *AggregateComplianceByConfigRule) SetAwsRegion(v string) *AggregateComplianceByConfigRule {
9213	s.AwsRegion = &v
9214	return s
9215}
9216
9217// SetCompliance sets the Compliance field's value.
9218func (s *AggregateComplianceByConfigRule) SetCompliance(v *Compliance) *AggregateComplianceByConfigRule {
9219	s.Compliance = v
9220	return s
9221}
9222
9223// SetConfigRuleName sets the ConfigRuleName field's value.
9224func (s *AggregateComplianceByConfigRule) SetConfigRuleName(v string) *AggregateComplianceByConfigRule {
9225	s.ConfigRuleName = &v
9226	return s
9227}
9228
9229// Provides aggregate compliance of the conformance pack. Indicates whether
9230// a conformance pack is compliant based on the name of the conformance pack,
9231// account ID, and region.
9232//
9233// A conformance pack is compliant if all of the rules in a conformance packs
9234// are compliant. It is noncompliant if any of the rules are not compliant.
9235// The compliance status of a conformance pack is INSUFFICIENT_DATA only if
9236// all rules within a conformance pack cannot be evaluated due to insufficient
9237// data. If some of the rules in a conformance pack are compliant but the compliance
9238// status of other rules in that same conformance pack is INSUFFICIENT_DATA,
9239// the conformance pack shows compliant.
9240type AggregateComplianceByConformancePack struct {
9241	_ struct{} `type:"structure"`
9242
9243	// The 12-digit AWS account ID of the source account.
9244	AccountId *string `type:"string"`
9245
9246	// The source AWS Region from where the data is aggregated.
9247	AwsRegion *string `min:"1" type:"string"`
9248
9249	// The compliance status of the conformance pack.
9250	Compliance *AggregateConformancePackCompliance `type:"structure"`
9251
9252	// The name of the conformance pack.
9253	ConformancePackName *string `min:"1" type:"string"`
9254}
9255
9256// String returns the string representation
9257func (s AggregateComplianceByConformancePack) String() string {
9258	return awsutil.Prettify(s)
9259}
9260
9261// GoString returns the string representation
9262func (s AggregateComplianceByConformancePack) GoString() string {
9263	return s.String()
9264}
9265
9266// SetAccountId sets the AccountId field's value.
9267func (s *AggregateComplianceByConformancePack) SetAccountId(v string) *AggregateComplianceByConformancePack {
9268	s.AccountId = &v
9269	return s
9270}
9271
9272// SetAwsRegion sets the AwsRegion field's value.
9273func (s *AggregateComplianceByConformancePack) SetAwsRegion(v string) *AggregateComplianceByConformancePack {
9274	s.AwsRegion = &v
9275	return s
9276}
9277
9278// SetCompliance sets the Compliance field's value.
9279func (s *AggregateComplianceByConformancePack) SetCompliance(v *AggregateConformancePackCompliance) *AggregateComplianceByConformancePack {
9280	s.Compliance = v
9281	return s
9282}
9283
9284// SetConformancePackName sets the ConformancePackName field's value.
9285func (s *AggregateComplianceByConformancePack) SetConformancePackName(v string) *AggregateComplianceByConformancePack {
9286	s.ConformancePackName = &v
9287	return s
9288}
9289
9290// Returns the number of compliant and noncompliant rules for one or more accounts
9291// and regions in an aggregator.
9292type AggregateComplianceCount struct {
9293	_ struct{} `type:"structure"`
9294
9295	// The number of compliant and noncompliant AWS Config rules.
9296	ComplianceSummary *ComplianceSummary `type:"structure"`
9297
9298	// The 12-digit account ID or region based on the GroupByKey value.
9299	GroupName *string `min:"1" type:"string"`
9300}
9301
9302// String returns the string representation
9303func (s AggregateComplianceCount) String() string {
9304	return awsutil.Prettify(s)
9305}
9306
9307// GoString returns the string representation
9308func (s AggregateComplianceCount) GoString() string {
9309	return s.String()
9310}
9311
9312// SetComplianceSummary sets the ComplianceSummary field's value.
9313func (s *AggregateComplianceCount) SetComplianceSummary(v *ComplianceSummary) *AggregateComplianceCount {
9314	s.ComplianceSummary = v
9315	return s
9316}
9317
9318// SetGroupName sets the GroupName field's value.
9319func (s *AggregateComplianceCount) SetGroupName(v string) *AggregateComplianceCount {
9320	s.GroupName = &v
9321	return s
9322}
9323
9324// Provides the number of compliant and noncompliant rules within a conformance
9325// pack. Also provides the compliance status of the conformance pack and the
9326// total rule count which includes compliant rules, noncompliant rules, and
9327// rules that cannot be evaluated due to insufficient data.
9328//
9329// A conformance pack is compliant if all of the rules in a conformance packs
9330// are compliant. It is noncompliant if any of the rules are not compliant.
9331// The compliance status of a conformance pack is INSUFFICIENT_DATA only if
9332// all rules within a conformance pack cannot be evaluated due to insufficient
9333// data. If some of the rules in a conformance pack are compliant but the compliance
9334// status of other rules in that same conformance pack is INSUFFICIENT_DATA,
9335// the conformance pack shows compliant.
9336type AggregateConformancePackCompliance struct {
9337	_ struct{} `type:"structure"`
9338
9339	// The compliance status of the conformance pack.
9340	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
9341
9342	// The number of compliant AWS Config Rules.
9343	CompliantRuleCount *int64 `type:"integer"`
9344
9345	// The number of noncompliant AWS Config Rules.
9346	NonCompliantRuleCount *int64 `type:"integer"`
9347
9348	// Total number of compliant rules, noncompliant rules, and the rules that do
9349	// not have any applicable resources to evaluate upon resulting in insufficient
9350	// data.
9351	TotalRuleCount *int64 `type:"integer"`
9352}
9353
9354// String returns the string representation
9355func (s AggregateConformancePackCompliance) String() string {
9356	return awsutil.Prettify(s)
9357}
9358
9359// GoString returns the string representation
9360func (s AggregateConformancePackCompliance) GoString() string {
9361	return s.String()
9362}
9363
9364// SetComplianceType sets the ComplianceType field's value.
9365func (s *AggregateConformancePackCompliance) SetComplianceType(v string) *AggregateConformancePackCompliance {
9366	s.ComplianceType = &v
9367	return s
9368}
9369
9370// SetCompliantRuleCount sets the CompliantRuleCount field's value.
9371func (s *AggregateConformancePackCompliance) SetCompliantRuleCount(v int64) *AggregateConformancePackCompliance {
9372	s.CompliantRuleCount = &v
9373	return s
9374}
9375
9376// SetNonCompliantRuleCount sets the NonCompliantRuleCount field's value.
9377func (s *AggregateConformancePackCompliance) SetNonCompliantRuleCount(v int64) *AggregateConformancePackCompliance {
9378	s.NonCompliantRuleCount = &v
9379	return s
9380}
9381
9382// SetTotalRuleCount sets the TotalRuleCount field's value.
9383func (s *AggregateConformancePackCompliance) SetTotalRuleCount(v int64) *AggregateConformancePackCompliance {
9384	s.TotalRuleCount = &v
9385	return s
9386}
9387
9388// The number of conformance packs that are compliant and noncompliant.
9389type AggregateConformancePackComplianceCount struct {
9390	_ struct{} `type:"structure"`
9391
9392	// Number of compliant conformance packs.
9393	CompliantConformancePackCount *int64 `type:"integer"`
9394
9395	// Number of noncompliant conformance packs.
9396	NonCompliantConformancePackCount *int64 `type:"integer"`
9397}
9398
9399// String returns the string representation
9400func (s AggregateConformancePackComplianceCount) String() string {
9401	return awsutil.Prettify(s)
9402}
9403
9404// GoString returns the string representation
9405func (s AggregateConformancePackComplianceCount) GoString() string {
9406	return s.String()
9407}
9408
9409// SetCompliantConformancePackCount sets the CompliantConformancePackCount field's value.
9410func (s *AggregateConformancePackComplianceCount) SetCompliantConformancePackCount(v int64) *AggregateConformancePackComplianceCount {
9411	s.CompliantConformancePackCount = &v
9412	return s
9413}
9414
9415// SetNonCompliantConformancePackCount sets the NonCompliantConformancePackCount field's value.
9416func (s *AggregateConformancePackComplianceCount) SetNonCompliantConformancePackCount(v int64) *AggregateConformancePackComplianceCount {
9417	s.NonCompliantConformancePackCount = &v
9418	return s
9419}
9420
9421// Filters the conformance packs based on an account ID, region, compliance
9422// type, and the name of the conformance pack.
9423type AggregateConformancePackComplianceFilters struct {
9424	_ struct{} `type:"structure"`
9425
9426	// The 12-digit AWS account ID of the source account.
9427	AccountId *string `type:"string"`
9428
9429	// The source AWS Region from where the data is aggregated.
9430	AwsRegion *string `min:"1" type:"string"`
9431
9432	// The compliance status of the conformance pack.
9433	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
9434
9435	// The name of the conformance pack.
9436	ConformancePackName *string `min:"1" type:"string"`
9437}
9438
9439// String returns the string representation
9440func (s AggregateConformancePackComplianceFilters) String() string {
9441	return awsutil.Prettify(s)
9442}
9443
9444// GoString returns the string representation
9445func (s AggregateConformancePackComplianceFilters) GoString() string {
9446	return s.String()
9447}
9448
9449// Validate inspects the fields of the type to determine if they are valid.
9450func (s *AggregateConformancePackComplianceFilters) Validate() error {
9451	invalidParams := request.ErrInvalidParams{Context: "AggregateConformancePackComplianceFilters"}
9452	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
9453		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
9454	}
9455	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
9456		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
9457	}
9458
9459	if invalidParams.Len() > 0 {
9460		return invalidParams
9461	}
9462	return nil
9463}
9464
9465// SetAccountId sets the AccountId field's value.
9466func (s *AggregateConformancePackComplianceFilters) SetAccountId(v string) *AggregateConformancePackComplianceFilters {
9467	s.AccountId = &v
9468	return s
9469}
9470
9471// SetAwsRegion sets the AwsRegion field's value.
9472func (s *AggregateConformancePackComplianceFilters) SetAwsRegion(v string) *AggregateConformancePackComplianceFilters {
9473	s.AwsRegion = &v
9474	return s
9475}
9476
9477// SetComplianceType sets the ComplianceType field's value.
9478func (s *AggregateConformancePackComplianceFilters) SetComplianceType(v string) *AggregateConformancePackComplianceFilters {
9479	s.ComplianceType = &v
9480	return s
9481}
9482
9483// SetConformancePackName sets the ConformancePackName field's value.
9484func (s *AggregateConformancePackComplianceFilters) SetConformancePackName(v string) *AggregateConformancePackComplianceFilters {
9485	s.ConformancePackName = &v
9486	return s
9487}
9488
9489// Provides a summary of compliance based on either account ID or region.
9490type AggregateConformancePackComplianceSummary struct {
9491	_ struct{} `type:"structure"`
9492
9493	// Returns an AggregateConformancePackComplianceCount object.
9494	ComplianceSummary *AggregateConformancePackComplianceCount `type:"structure"`
9495
9496	// Groups the result based on AWS Account ID or AWS Region.
9497	GroupName *string `min:"1" type:"string"`
9498}
9499
9500// String returns the string representation
9501func (s AggregateConformancePackComplianceSummary) String() string {
9502	return awsutil.Prettify(s)
9503}
9504
9505// GoString returns the string representation
9506func (s AggregateConformancePackComplianceSummary) GoString() string {
9507	return s.String()
9508}
9509
9510// SetComplianceSummary sets the ComplianceSummary field's value.
9511func (s *AggregateConformancePackComplianceSummary) SetComplianceSummary(v *AggregateConformancePackComplianceCount) *AggregateConformancePackComplianceSummary {
9512	s.ComplianceSummary = v
9513	return s
9514}
9515
9516// SetGroupName sets the GroupName field's value.
9517func (s *AggregateConformancePackComplianceSummary) SetGroupName(v string) *AggregateConformancePackComplianceSummary {
9518	s.GroupName = &v
9519	return s
9520}
9521
9522// Filters the results based on account ID and region.
9523type AggregateConformancePackComplianceSummaryFilters struct {
9524	_ struct{} `type:"structure"`
9525
9526	// The 12-digit AWS account ID of the source account.
9527	AccountId *string `type:"string"`
9528
9529	// The source AWS Region from where the data is aggregated.
9530	AwsRegion *string `min:"1" type:"string"`
9531}
9532
9533// String returns the string representation
9534func (s AggregateConformancePackComplianceSummaryFilters) String() string {
9535	return awsutil.Prettify(s)
9536}
9537
9538// GoString returns the string representation
9539func (s AggregateConformancePackComplianceSummaryFilters) GoString() string {
9540	return s.String()
9541}
9542
9543// Validate inspects the fields of the type to determine if they are valid.
9544func (s *AggregateConformancePackComplianceSummaryFilters) Validate() error {
9545	invalidParams := request.ErrInvalidParams{Context: "AggregateConformancePackComplianceSummaryFilters"}
9546	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
9547		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
9548	}
9549
9550	if invalidParams.Len() > 0 {
9551		return invalidParams
9552	}
9553	return nil
9554}
9555
9556// SetAccountId sets the AccountId field's value.
9557func (s *AggregateConformancePackComplianceSummaryFilters) SetAccountId(v string) *AggregateConformancePackComplianceSummaryFilters {
9558	s.AccountId = &v
9559	return s
9560}
9561
9562// SetAwsRegion sets the AwsRegion field's value.
9563func (s *AggregateConformancePackComplianceSummaryFilters) SetAwsRegion(v string) *AggregateConformancePackComplianceSummaryFilters {
9564	s.AwsRegion = &v
9565	return s
9566}
9567
9568// The details of an AWS Config evaluation for an account ID and region in an
9569// aggregator. Provides the AWS resource that was evaluated, the compliance
9570// of the resource, related time stamps, and supplementary information.
9571type AggregateEvaluationResult struct {
9572	_ struct{} `type:"structure"`
9573
9574	// The 12-digit account ID of the source account.
9575	AccountId *string `type:"string"`
9576
9577	// Supplementary information about how the agrregate evaluation determined the
9578	// compliance.
9579	Annotation *string `min:"1" type:"string"`
9580
9581	// The source region from where the data is aggregated.
9582	AwsRegion *string `min:"1" type:"string"`
9583
9584	// The resource compliance status.
9585	//
9586	// For the AggregationEvaluationResult data type, AWS Config supports only the
9587	// COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE
9588	// and INSUFFICIENT_DATA value.
9589	ComplianceType *string `type:"string" enum:"ComplianceType"`
9590
9591	// The time when the AWS Config rule evaluated the AWS resource.
9592	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
9593
9594	// Uniquely identifies the evaluation result.
9595	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
9596
9597	// The time when AWS Config recorded the aggregate evaluation result.
9598	ResultRecordedTime *time.Time `type:"timestamp"`
9599}
9600
9601// String returns the string representation
9602func (s AggregateEvaluationResult) String() string {
9603	return awsutil.Prettify(s)
9604}
9605
9606// GoString returns the string representation
9607func (s AggregateEvaluationResult) GoString() string {
9608	return s.String()
9609}
9610
9611// SetAccountId sets the AccountId field's value.
9612func (s *AggregateEvaluationResult) SetAccountId(v string) *AggregateEvaluationResult {
9613	s.AccountId = &v
9614	return s
9615}
9616
9617// SetAnnotation sets the Annotation field's value.
9618func (s *AggregateEvaluationResult) SetAnnotation(v string) *AggregateEvaluationResult {
9619	s.Annotation = &v
9620	return s
9621}
9622
9623// SetAwsRegion sets the AwsRegion field's value.
9624func (s *AggregateEvaluationResult) SetAwsRegion(v string) *AggregateEvaluationResult {
9625	s.AwsRegion = &v
9626	return s
9627}
9628
9629// SetComplianceType sets the ComplianceType field's value.
9630func (s *AggregateEvaluationResult) SetComplianceType(v string) *AggregateEvaluationResult {
9631	s.ComplianceType = &v
9632	return s
9633}
9634
9635// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
9636func (s *AggregateEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *AggregateEvaluationResult {
9637	s.ConfigRuleInvokedTime = &v
9638	return s
9639}
9640
9641// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
9642func (s *AggregateEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *AggregateEvaluationResult {
9643	s.EvaluationResultIdentifier = v
9644	return s
9645}
9646
9647// SetResultRecordedTime sets the ResultRecordedTime field's value.
9648func (s *AggregateEvaluationResult) SetResultRecordedTime(v time.Time) *AggregateEvaluationResult {
9649	s.ResultRecordedTime = &v
9650	return s
9651}
9652
9653// The details that identify a resource that is collected by AWS Config aggregator,
9654// including the resource type, ID, (if available) the custom resource name,
9655// the source account, and source region.
9656type AggregateResourceIdentifier struct {
9657	_ struct{} `type:"structure"`
9658
9659	// The ID of the AWS resource.
9660	//
9661	// ResourceId is a required field
9662	ResourceId *string `min:"1" type:"string" required:"true"`
9663
9664	// The name of the AWS resource.
9665	ResourceName *string `type:"string"`
9666
9667	// The type of the AWS resource.
9668	//
9669	// ResourceType is a required field
9670	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
9671
9672	// The 12-digit account ID of the source account.
9673	//
9674	// SourceAccountId is a required field
9675	SourceAccountId *string `type:"string" required:"true"`
9676
9677	// The source region where data is aggregated.
9678	//
9679	// SourceRegion is a required field
9680	SourceRegion *string `min:"1" type:"string" required:"true"`
9681}
9682
9683// String returns the string representation
9684func (s AggregateResourceIdentifier) String() string {
9685	return awsutil.Prettify(s)
9686}
9687
9688// GoString returns the string representation
9689func (s AggregateResourceIdentifier) GoString() string {
9690	return s.String()
9691}
9692
9693// Validate inspects the fields of the type to determine if they are valid.
9694func (s *AggregateResourceIdentifier) Validate() error {
9695	invalidParams := request.ErrInvalidParams{Context: "AggregateResourceIdentifier"}
9696	if s.ResourceId == nil {
9697		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
9698	}
9699	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
9700		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
9701	}
9702	if s.ResourceType == nil {
9703		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
9704	}
9705	if s.SourceAccountId == nil {
9706		invalidParams.Add(request.NewErrParamRequired("SourceAccountId"))
9707	}
9708	if s.SourceRegion == nil {
9709		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
9710	}
9711	if s.SourceRegion != nil && len(*s.SourceRegion) < 1 {
9712		invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1))
9713	}
9714
9715	if invalidParams.Len() > 0 {
9716		return invalidParams
9717	}
9718	return nil
9719}
9720
9721// SetResourceId sets the ResourceId field's value.
9722func (s *AggregateResourceIdentifier) SetResourceId(v string) *AggregateResourceIdentifier {
9723	s.ResourceId = &v
9724	return s
9725}
9726
9727// SetResourceName sets the ResourceName field's value.
9728func (s *AggregateResourceIdentifier) SetResourceName(v string) *AggregateResourceIdentifier {
9729	s.ResourceName = &v
9730	return s
9731}
9732
9733// SetResourceType sets the ResourceType field's value.
9734func (s *AggregateResourceIdentifier) SetResourceType(v string) *AggregateResourceIdentifier {
9735	s.ResourceType = &v
9736	return s
9737}
9738
9739// SetSourceAccountId sets the SourceAccountId field's value.
9740func (s *AggregateResourceIdentifier) SetSourceAccountId(v string) *AggregateResourceIdentifier {
9741	s.SourceAccountId = &v
9742	return s
9743}
9744
9745// SetSourceRegion sets the SourceRegion field's value.
9746func (s *AggregateResourceIdentifier) SetSourceRegion(v string) *AggregateResourceIdentifier {
9747	s.SourceRegion = &v
9748	return s
9749}
9750
9751// The current sync status between the source and the aggregator account.
9752type AggregatedSourceStatus struct {
9753	_ struct{} `type:"structure"`
9754
9755	// The region authorized to collect aggregated data.
9756	AwsRegion *string `min:"1" type:"string"`
9757
9758	// The error code that AWS Config returned when the source account aggregation
9759	// last failed.
9760	LastErrorCode *string `type:"string"`
9761
9762	// The message indicating that the source account aggregation failed due to
9763	// an error.
9764	LastErrorMessage *string `type:"string"`
9765
9766	// Filters the last updated status type.
9767	//
9768	//    * Valid value FAILED indicates errors while moving data.
9769	//
9770	//    * Valid value SUCCEEDED indicates the data was successfully moved.
9771	//
9772	//    * Valid value OUTDATED indicates the data is not the most recent.
9773	LastUpdateStatus *string `type:"string" enum:"AggregatedSourceStatusType"`
9774
9775	// The time of the last update.
9776	LastUpdateTime *time.Time `type:"timestamp"`
9777
9778	// The source account ID or an organization.
9779	SourceId *string `type:"string"`
9780
9781	// The source account or an organization.
9782	SourceType *string `type:"string" enum:"AggregatedSourceType"`
9783}
9784
9785// String returns the string representation
9786func (s AggregatedSourceStatus) String() string {
9787	return awsutil.Prettify(s)
9788}
9789
9790// GoString returns the string representation
9791func (s AggregatedSourceStatus) GoString() string {
9792	return s.String()
9793}
9794
9795// SetAwsRegion sets the AwsRegion field's value.
9796func (s *AggregatedSourceStatus) SetAwsRegion(v string) *AggregatedSourceStatus {
9797	s.AwsRegion = &v
9798	return s
9799}
9800
9801// SetLastErrorCode sets the LastErrorCode field's value.
9802func (s *AggregatedSourceStatus) SetLastErrorCode(v string) *AggregatedSourceStatus {
9803	s.LastErrorCode = &v
9804	return s
9805}
9806
9807// SetLastErrorMessage sets the LastErrorMessage field's value.
9808func (s *AggregatedSourceStatus) SetLastErrorMessage(v string) *AggregatedSourceStatus {
9809	s.LastErrorMessage = &v
9810	return s
9811}
9812
9813// SetLastUpdateStatus sets the LastUpdateStatus field's value.
9814func (s *AggregatedSourceStatus) SetLastUpdateStatus(v string) *AggregatedSourceStatus {
9815	s.LastUpdateStatus = &v
9816	return s
9817}
9818
9819// SetLastUpdateTime sets the LastUpdateTime field's value.
9820func (s *AggregatedSourceStatus) SetLastUpdateTime(v time.Time) *AggregatedSourceStatus {
9821	s.LastUpdateTime = &v
9822	return s
9823}
9824
9825// SetSourceId sets the SourceId field's value.
9826func (s *AggregatedSourceStatus) SetSourceId(v string) *AggregatedSourceStatus {
9827	s.SourceId = &v
9828	return s
9829}
9830
9831// SetSourceType sets the SourceType field's value.
9832func (s *AggregatedSourceStatus) SetSourceType(v string) *AggregatedSourceStatus {
9833	s.SourceType = &v
9834	return s
9835}
9836
9837// An object that represents the authorizations granted to aggregator accounts
9838// and regions.
9839type AggregationAuthorization struct {
9840	_ struct{} `type:"structure"`
9841
9842	// The Amazon Resource Name (ARN) of the aggregation object.
9843	AggregationAuthorizationArn *string `type:"string"`
9844
9845	// The 12-digit account ID of the account authorized to aggregate data.
9846	AuthorizedAccountId *string `type:"string"`
9847
9848	// The region authorized to collect aggregated data.
9849	AuthorizedAwsRegion *string `min:"1" type:"string"`
9850
9851	// The time stamp when the aggregation authorization was created.
9852	CreationTime *time.Time `type:"timestamp"`
9853}
9854
9855// String returns the string representation
9856func (s AggregationAuthorization) String() string {
9857	return awsutil.Prettify(s)
9858}
9859
9860// GoString returns the string representation
9861func (s AggregationAuthorization) GoString() string {
9862	return s.String()
9863}
9864
9865// SetAggregationAuthorizationArn sets the AggregationAuthorizationArn field's value.
9866func (s *AggregationAuthorization) SetAggregationAuthorizationArn(v string) *AggregationAuthorization {
9867	s.AggregationAuthorizationArn = &v
9868	return s
9869}
9870
9871// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
9872func (s *AggregationAuthorization) SetAuthorizedAccountId(v string) *AggregationAuthorization {
9873	s.AuthorizedAccountId = &v
9874	return s
9875}
9876
9877// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
9878func (s *AggregationAuthorization) SetAuthorizedAwsRegion(v string) *AggregationAuthorization {
9879	s.AuthorizedAwsRegion = &v
9880	return s
9881}
9882
9883// SetCreationTime sets the CreationTime field's value.
9884func (s *AggregationAuthorization) SetCreationTime(v time.Time) *AggregationAuthorization {
9885	s.CreationTime = &v
9886	return s
9887}
9888
9889// The detailed configuration of a specified resource.
9890type BaseConfigurationItem struct {
9891	_ struct{} `type:"structure"`
9892
9893	// The 12-digit AWS account ID associated with the resource.
9894	AccountId *string `locationName:"accountId" type:"string"`
9895
9896	// The Amazon Resource Name (ARN) of the resource.
9897	Arn *string `locationName:"arn" type:"string"`
9898
9899	// The Availability Zone associated with the resource.
9900	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
9901
9902	// The region where the resource resides.
9903	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
9904
9905	// The description of the resource configuration.
9906	Configuration *string `locationName:"configuration" type:"string"`
9907
9908	// The time when the configuration recording was initiated.
9909	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
9910
9911	// The configuration item status. The valid values are:
9912	//
9913	//    * OK – The resource configuration has been updated
9914	//
9915	//    * ResourceDiscovered – The resource was newly discovered
9916	//
9917	//    * ResourceNotRecorded – The resource was discovered but its configuration
9918	//    was not recorded since the recorder excludes the recording of resources
9919	//    of this type
9920	//
9921	//    * ResourceDeleted – The resource was deleted
9922	//
9923	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
9924	//    was not recorded since the recorder excludes the recording of resources
9925	//    of this type
9926	//
9927	// The CIs do not incur any cost.
9928	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
9929
9930	// An identifier that indicates the ordering of the configuration items of a
9931	// resource.
9932	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
9933
9934	// The time stamp when the resource was created.
9935	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
9936
9937	// The ID of the resource (for example., sg-xxxxxx).
9938	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
9939
9940	// The custom name of the resource, if available.
9941	ResourceName *string `locationName:"resourceName" type:"string"`
9942
9943	// The type of AWS resource.
9944	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
9945
9946	// Configuration attributes that AWS Config returns for certain resource types
9947	// to supplement the information returned for the configuration parameter.
9948	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
9949
9950	// The version number of the resource configuration.
9951	Version *string `locationName:"version" type:"string"`
9952}
9953
9954// String returns the string representation
9955func (s BaseConfigurationItem) String() string {
9956	return awsutil.Prettify(s)
9957}
9958
9959// GoString returns the string representation
9960func (s BaseConfigurationItem) GoString() string {
9961	return s.String()
9962}
9963
9964// SetAccountId sets the AccountId field's value.
9965func (s *BaseConfigurationItem) SetAccountId(v string) *BaseConfigurationItem {
9966	s.AccountId = &v
9967	return s
9968}
9969
9970// SetArn sets the Arn field's value.
9971func (s *BaseConfigurationItem) SetArn(v string) *BaseConfigurationItem {
9972	s.Arn = &v
9973	return s
9974}
9975
9976// SetAvailabilityZone sets the AvailabilityZone field's value.
9977func (s *BaseConfigurationItem) SetAvailabilityZone(v string) *BaseConfigurationItem {
9978	s.AvailabilityZone = &v
9979	return s
9980}
9981
9982// SetAwsRegion sets the AwsRegion field's value.
9983func (s *BaseConfigurationItem) SetAwsRegion(v string) *BaseConfigurationItem {
9984	s.AwsRegion = &v
9985	return s
9986}
9987
9988// SetConfiguration sets the Configuration field's value.
9989func (s *BaseConfigurationItem) SetConfiguration(v string) *BaseConfigurationItem {
9990	s.Configuration = &v
9991	return s
9992}
9993
9994// SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
9995func (s *BaseConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *BaseConfigurationItem {
9996	s.ConfigurationItemCaptureTime = &v
9997	return s
9998}
9999
10000// SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
10001func (s *BaseConfigurationItem) SetConfigurationItemStatus(v string) *BaseConfigurationItem {
10002	s.ConfigurationItemStatus = &v
10003	return s
10004}
10005
10006// SetConfigurationStateId sets the ConfigurationStateId field's value.
10007func (s *BaseConfigurationItem) SetConfigurationStateId(v string) *BaseConfigurationItem {
10008	s.ConfigurationStateId = &v
10009	return s
10010}
10011
10012// SetResourceCreationTime sets the ResourceCreationTime field's value.
10013func (s *BaseConfigurationItem) SetResourceCreationTime(v time.Time) *BaseConfigurationItem {
10014	s.ResourceCreationTime = &v
10015	return s
10016}
10017
10018// SetResourceId sets the ResourceId field's value.
10019func (s *BaseConfigurationItem) SetResourceId(v string) *BaseConfigurationItem {
10020	s.ResourceId = &v
10021	return s
10022}
10023
10024// SetResourceName sets the ResourceName field's value.
10025func (s *BaseConfigurationItem) SetResourceName(v string) *BaseConfigurationItem {
10026	s.ResourceName = &v
10027	return s
10028}
10029
10030// SetResourceType sets the ResourceType field's value.
10031func (s *BaseConfigurationItem) SetResourceType(v string) *BaseConfigurationItem {
10032	s.ResourceType = &v
10033	return s
10034}
10035
10036// SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
10037func (s *BaseConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *BaseConfigurationItem {
10038	s.SupplementaryConfiguration = v
10039	return s
10040}
10041
10042// SetVersion sets the Version field's value.
10043func (s *BaseConfigurationItem) SetVersion(v string) *BaseConfigurationItem {
10044	s.Version = &v
10045	return s
10046}
10047
10048type BatchGetAggregateResourceConfigInput struct {
10049	_ struct{} `type:"structure"`
10050
10051	// The name of the configuration aggregator.
10052	//
10053	// ConfigurationAggregatorName is a required field
10054	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
10055
10056	// A list of aggregate ResourceIdentifiers objects.
10057	//
10058	// ResourceIdentifiers is a required field
10059	ResourceIdentifiers []*AggregateResourceIdentifier `min:"1" type:"list" required:"true"`
10060}
10061
10062// String returns the string representation
10063func (s BatchGetAggregateResourceConfigInput) String() string {
10064	return awsutil.Prettify(s)
10065}
10066
10067// GoString returns the string representation
10068func (s BatchGetAggregateResourceConfigInput) GoString() string {
10069	return s.String()
10070}
10071
10072// Validate inspects the fields of the type to determine if they are valid.
10073func (s *BatchGetAggregateResourceConfigInput) Validate() error {
10074	invalidParams := request.ErrInvalidParams{Context: "BatchGetAggregateResourceConfigInput"}
10075	if s.ConfigurationAggregatorName == nil {
10076		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
10077	}
10078	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
10079		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
10080	}
10081	if s.ResourceIdentifiers == nil {
10082		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifiers"))
10083	}
10084	if s.ResourceIdentifiers != nil && len(s.ResourceIdentifiers) < 1 {
10085		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifiers", 1))
10086	}
10087	if s.ResourceIdentifiers != nil {
10088		for i, v := range s.ResourceIdentifiers {
10089			if v == nil {
10090				continue
10091			}
10092			if err := v.Validate(); err != nil {
10093				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIdentifiers", i), err.(request.ErrInvalidParams))
10094			}
10095		}
10096	}
10097
10098	if invalidParams.Len() > 0 {
10099		return invalidParams
10100	}
10101	return nil
10102}
10103
10104// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
10105func (s *BatchGetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *BatchGetAggregateResourceConfigInput {
10106	s.ConfigurationAggregatorName = &v
10107	return s
10108}
10109
10110// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
10111func (s *BatchGetAggregateResourceConfigInput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigInput {
10112	s.ResourceIdentifiers = v
10113	return s
10114}
10115
10116type BatchGetAggregateResourceConfigOutput struct {
10117	_ struct{} `type:"structure"`
10118
10119	// A list that contains the current configuration of one or more resources.
10120	BaseConfigurationItems []*BaseConfigurationItem `type:"list"`
10121
10122	// A list of resource identifiers that were not processed with current scope.
10123	// The list is empty if all the resources are processed.
10124	UnprocessedResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
10125}
10126
10127// String returns the string representation
10128func (s BatchGetAggregateResourceConfigOutput) String() string {
10129	return awsutil.Prettify(s)
10130}
10131
10132// GoString returns the string representation
10133func (s BatchGetAggregateResourceConfigOutput) GoString() string {
10134	return s.String()
10135}
10136
10137// SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
10138func (s *BatchGetAggregateResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetAggregateResourceConfigOutput {
10139	s.BaseConfigurationItems = v
10140	return s
10141}
10142
10143// SetUnprocessedResourceIdentifiers sets the UnprocessedResourceIdentifiers field's value.
10144func (s *BatchGetAggregateResourceConfigOutput) SetUnprocessedResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigOutput {
10145	s.UnprocessedResourceIdentifiers = v
10146	return s
10147}
10148
10149type BatchGetResourceConfigInput struct {
10150	_ struct{} `type:"structure"`
10151
10152	// A list of resource keys to be processed with the current request. Each element
10153	// in the list consists of the resource type and resource ID.
10154	//
10155	// ResourceKeys is a required field
10156	ResourceKeys []*ResourceKey `locationName:"resourceKeys" min:"1" type:"list" required:"true"`
10157}
10158
10159// String returns the string representation
10160func (s BatchGetResourceConfigInput) String() string {
10161	return awsutil.Prettify(s)
10162}
10163
10164// GoString returns the string representation
10165func (s BatchGetResourceConfigInput) GoString() string {
10166	return s.String()
10167}
10168
10169// Validate inspects the fields of the type to determine if they are valid.
10170func (s *BatchGetResourceConfigInput) Validate() error {
10171	invalidParams := request.ErrInvalidParams{Context: "BatchGetResourceConfigInput"}
10172	if s.ResourceKeys == nil {
10173		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
10174	}
10175	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
10176		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
10177	}
10178	if s.ResourceKeys != nil {
10179		for i, v := range s.ResourceKeys {
10180			if v == nil {
10181				continue
10182			}
10183			if err := v.Validate(); err != nil {
10184				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
10185			}
10186		}
10187	}
10188
10189	if invalidParams.Len() > 0 {
10190		return invalidParams
10191	}
10192	return nil
10193}
10194
10195// SetResourceKeys sets the ResourceKeys field's value.
10196func (s *BatchGetResourceConfigInput) SetResourceKeys(v []*ResourceKey) *BatchGetResourceConfigInput {
10197	s.ResourceKeys = v
10198	return s
10199}
10200
10201type BatchGetResourceConfigOutput struct {
10202	_ struct{} `type:"structure"`
10203
10204	// A list that contains the current configuration of one or more resources.
10205	BaseConfigurationItems []*BaseConfigurationItem `locationName:"baseConfigurationItems" type:"list"`
10206
10207	// A list of resource keys that were not processed with the current response.
10208	// The unprocessesResourceKeys value is in the same form as ResourceKeys, so
10209	// the value can be directly provided to a subsequent BatchGetResourceConfig
10210	// operation. If there are no unprocessed resource keys, the response contains
10211	// an empty unprocessedResourceKeys list.
10212	UnprocessedResourceKeys []*ResourceKey `locationName:"unprocessedResourceKeys" min:"1" type:"list"`
10213}
10214
10215// String returns the string representation
10216func (s BatchGetResourceConfigOutput) String() string {
10217	return awsutil.Prettify(s)
10218}
10219
10220// GoString returns the string representation
10221func (s BatchGetResourceConfigOutput) GoString() string {
10222	return s.String()
10223}
10224
10225// SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
10226func (s *BatchGetResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetResourceConfigOutput {
10227	s.BaseConfigurationItems = v
10228	return s
10229}
10230
10231// SetUnprocessedResourceKeys sets the UnprocessedResourceKeys field's value.
10232func (s *BatchGetResourceConfigOutput) SetUnprocessedResourceKeys(v []*ResourceKey) *BatchGetResourceConfigOutput {
10233	s.UnprocessedResourceKeys = v
10234	return s
10235}
10236
10237// Indicates whether an AWS resource or AWS Config rule is compliant and provides
10238// the number of contributors that affect the compliance.
10239type Compliance struct {
10240	_ struct{} `type:"structure"`
10241
10242	// The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT,
10243	// up to a maximum number.
10244	ComplianceContributorCount *ComplianceContributorCount `type:"structure"`
10245
10246	// Indicates whether an AWS resource or AWS Config rule is compliant.
10247	//
10248	// A resource is compliant if it complies with all of the AWS Config rules that
10249	// evaluate it. A resource is noncompliant if it does not comply with one or
10250	// more of these rules.
10251	//
10252	// A rule is compliant if all of the resources that the rule evaluates comply
10253	// with it. A rule is noncompliant if any of these resources do not comply.
10254	//
10255	// AWS Config returns the INSUFFICIENT_DATA value when no evaluation results
10256	// are available for the AWS resource or AWS Config rule.
10257	//
10258	// For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT,
10259	// and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE
10260	// value for the Compliance data type.
10261	ComplianceType *string `type:"string" enum:"ComplianceType"`
10262}
10263
10264// String returns the string representation
10265func (s Compliance) String() string {
10266	return awsutil.Prettify(s)
10267}
10268
10269// GoString returns the string representation
10270func (s Compliance) GoString() string {
10271	return s.String()
10272}
10273
10274// SetComplianceContributorCount sets the ComplianceContributorCount field's value.
10275func (s *Compliance) SetComplianceContributorCount(v *ComplianceContributorCount) *Compliance {
10276	s.ComplianceContributorCount = v
10277	return s
10278}
10279
10280// SetComplianceType sets the ComplianceType field's value.
10281func (s *Compliance) SetComplianceType(v string) *Compliance {
10282	s.ComplianceType = &v
10283	return s
10284}
10285
10286// Indicates whether an AWS Config rule is compliant. A rule is compliant if
10287// all of the resources that the rule evaluated comply with it. A rule is noncompliant
10288// if any of these resources do not comply.
10289type ComplianceByConfigRule struct {
10290	_ struct{} `type:"structure"`
10291
10292	// Indicates whether the AWS Config rule is compliant.
10293	Compliance *Compliance `type:"structure"`
10294
10295	// The name of the AWS Config rule.
10296	ConfigRuleName *string `min:"1" type:"string"`
10297}
10298
10299// String returns the string representation
10300func (s ComplianceByConfigRule) String() string {
10301	return awsutil.Prettify(s)
10302}
10303
10304// GoString returns the string representation
10305func (s ComplianceByConfigRule) GoString() string {
10306	return s.String()
10307}
10308
10309// SetCompliance sets the Compliance field's value.
10310func (s *ComplianceByConfigRule) SetCompliance(v *Compliance) *ComplianceByConfigRule {
10311	s.Compliance = v
10312	return s
10313}
10314
10315// SetConfigRuleName sets the ConfigRuleName field's value.
10316func (s *ComplianceByConfigRule) SetConfigRuleName(v string) *ComplianceByConfigRule {
10317	s.ConfigRuleName = &v
10318	return s
10319}
10320
10321// Indicates whether an AWS resource that is evaluated according to one or more
10322// AWS Config rules is compliant. A resource is compliant if it complies with
10323// all of the rules that evaluate it. A resource is noncompliant if it does
10324// not comply with one or more of these rules.
10325type ComplianceByResource struct {
10326	_ struct{} `type:"structure"`
10327
10328	// Indicates whether the AWS resource complies with all of the AWS Config rules
10329	// that evaluated it.
10330	Compliance *Compliance `type:"structure"`
10331
10332	// The ID of the AWS resource that was evaluated.
10333	ResourceId *string `min:"1" type:"string"`
10334
10335	// The type of the AWS resource that was evaluated.
10336	ResourceType *string `min:"1" type:"string"`
10337}
10338
10339// String returns the string representation
10340func (s ComplianceByResource) String() string {
10341	return awsutil.Prettify(s)
10342}
10343
10344// GoString returns the string representation
10345func (s ComplianceByResource) GoString() string {
10346	return s.String()
10347}
10348
10349// SetCompliance sets the Compliance field's value.
10350func (s *ComplianceByResource) SetCompliance(v *Compliance) *ComplianceByResource {
10351	s.Compliance = v
10352	return s
10353}
10354
10355// SetResourceId sets the ResourceId field's value.
10356func (s *ComplianceByResource) SetResourceId(v string) *ComplianceByResource {
10357	s.ResourceId = &v
10358	return s
10359}
10360
10361// SetResourceType sets the ResourceType field's value.
10362func (s *ComplianceByResource) SetResourceType(v string) *ComplianceByResource {
10363	s.ResourceType = &v
10364	return s
10365}
10366
10367// The number of AWS resources or AWS Config rules responsible for the current
10368// compliance of the item, up to a maximum number.
10369type ComplianceContributorCount struct {
10370	_ struct{} `type:"structure"`
10371
10372	// Indicates whether the maximum count is reached.
10373	CapExceeded *bool `type:"boolean"`
10374
10375	// The number of AWS resources or AWS Config rules responsible for the current
10376	// compliance of the item.
10377	CappedCount *int64 `type:"integer"`
10378}
10379
10380// String returns the string representation
10381func (s ComplianceContributorCount) String() string {
10382	return awsutil.Prettify(s)
10383}
10384
10385// GoString returns the string representation
10386func (s ComplianceContributorCount) GoString() string {
10387	return s.String()
10388}
10389
10390// SetCapExceeded sets the CapExceeded field's value.
10391func (s *ComplianceContributorCount) SetCapExceeded(v bool) *ComplianceContributorCount {
10392	s.CapExceeded = &v
10393	return s
10394}
10395
10396// SetCappedCount sets the CappedCount field's value.
10397func (s *ComplianceContributorCount) SetCappedCount(v int64) *ComplianceContributorCount {
10398	s.CappedCount = &v
10399	return s
10400}
10401
10402// The number of AWS Config rules or AWS resources that are compliant and noncompliant.
10403type ComplianceSummary struct {
10404	_ struct{} `type:"structure"`
10405
10406	// The time that AWS Config created the compliance summary.
10407	ComplianceSummaryTimestamp *time.Time `type:"timestamp"`
10408
10409	// The number of AWS Config rules or AWS resources that are compliant, up to
10410	// a maximum of 25 for rules and 100 for resources.
10411	CompliantResourceCount *ComplianceContributorCount `type:"structure"`
10412
10413	// The number of AWS Config rules or AWS resources that are noncompliant, up
10414	// to a maximum of 25 for rules and 100 for resources.
10415	NonCompliantResourceCount *ComplianceContributorCount `type:"structure"`
10416}
10417
10418// String returns the string representation
10419func (s ComplianceSummary) String() string {
10420	return awsutil.Prettify(s)
10421}
10422
10423// GoString returns the string representation
10424func (s ComplianceSummary) GoString() string {
10425	return s.String()
10426}
10427
10428// SetComplianceSummaryTimestamp sets the ComplianceSummaryTimestamp field's value.
10429func (s *ComplianceSummary) SetComplianceSummaryTimestamp(v time.Time) *ComplianceSummary {
10430	s.ComplianceSummaryTimestamp = &v
10431	return s
10432}
10433
10434// SetCompliantResourceCount sets the CompliantResourceCount field's value.
10435func (s *ComplianceSummary) SetCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
10436	s.CompliantResourceCount = v
10437	return s
10438}
10439
10440// SetNonCompliantResourceCount sets the NonCompliantResourceCount field's value.
10441func (s *ComplianceSummary) SetNonCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
10442	s.NonCompliantResourceCount = v
10443	return s
10444}
10445
10446// The number of AWS resources of a specific type that are compliant or noncompliant,
10447// up to a maximum of 100 for each.
10448type ComplianceSummaryByResourceType struct {
10449	_ struct{} `type:"structure"`
10450
10451	// The number of AWS resources that are compliant or noncompliant, up to a maximum
10452	// of 100 for each.
10453	ComplianceSummary *ComplianceSummary `type:"structure"`
10454
10455	// The type of AWS resource.
10456	ResourceType *string `min:"1" type:"string"`
10457}
10458
10459// String returns the string representation
10460func (s ComplianceSummaryByResourceType) String() string {
10461	return awsutil.Prettify(s)
10462}
10463
10464// GoString returns the string representation
10465func (s ComplianceSummaryByResourceType) GoString() string {
10466	return s.String()
10467}
10468
10469// SetComplianceSummary sets the ComplianceSummary field's value.
10470func (s *ComplianceSummaryByResourceType) SetComplianceSummary(v *ComplianceSummary) *ComplianceSummaryByResourceType {
10471	s.ComplianceSummary = v
10472	return s
10473}
10474
10475// SetResourceType sets the ResourceType field's value.
10476func (s *ComplianceSummaryByResourceType) SetResourceType(v string) *ComplianceSummaryByResourceType {
10477	s.ResourceType = &v
10478	return s
10479}
10480
10481// Provides status of the delivery of the snapshot or the configuration history
10482// to the specified Amazon S3 bucket. Also provides the status of notifications
10483// about the Amazon S3 delivery to the specified Amazon SNS topic.
10484type ConfigExportDeliveryInfo struct {
10485	_ struct{} `type:"structure"`
10486
10487	// The time of the last attempted delivery.
10488	LastAttemptTime *time.Time `locationName:"lastAttemptTime" type:"timestamp"`
10489
10490	// The error code from the last attempted delivery.
10491	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
10492
10493	// The error message from the last attempted delivery.
10494	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
10495
10496	// Status of the last attempted delivery.
10497	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
10498
10499	// The time of the last successful delivery.
10500	LastSuccessfulTime *time.Time `locationName:"lastSuccessfulTime" type:"timestamp"`
10501
10502	// The time that the next delivery occurs.
10503	NextDeliveryTime *time.Time `locationName:"nextDeliveryTime" type:"timestamp"`
10504}
10505
10506// String returns the string representation
10507func (s ConfigExportDeliveryInfo) String() string {
10508	return awsutil.Prettify(s)
10509}
10510
10511// GoString returns the string representation
10512func (s ConfigExportDeliveryInfo) GoString() string {
10513	return s.String()
10514}
10515
10516// SetLastAttemptTime sets the LastAttemptTime field's value.
10517func (s *ConfigExportDeliveryInfo) SetLastAttemptTime(v time.Time) *ConfigExportDeliveryInfo {
10518	s.LastAttemptTime = &v
10519	return s
10520}
10521
10522// SetLastErrorCode sets the LastErrorCode field's value.
10523func (s *ConfigExportDeliveryInfo) SetLastErrorCode(v string) *ConfigExportDeliveryInfo {
10524	s.LastErrorCode = &v
10525	return s
10526}
10527
10528// SetLastErrorMessage sets the LastErrorMessage field's value.
10529func (s *ConfigExportDeliveryInfo) SetLastErrorMessage(v string) *ConfigExportDeliveryInfo {
10530	s.LastErrorMessage = &v
10531	return s
10532}
10533
10534// SetLastStatus sets the LastStatus field's value.
10535func (s *ConfigExportDeliveryInfo) SetLastStatus(v string) *ConfigExportDeliveryInfo {
10536	s.LastStatus = &v
10537	return s
10538}
10539
10540// SetLastSuccessfulTime sets the LastSuccessfulTime field's value.
10541func (s *ConfigExportDeliveryInfo) SetLastSuccessfulTime(v time.Time) *ConfigExportDeliveryInfo {
10542	s.LastSuccessfulTime = &v
10543	return s
10544}
10545
10546// SetNextDeliveryTime sets the NextDeliveryTime field's value.
10547func (s *ConfigExportDeliveryInfo) SetNextDeliveryTime(v time.Time) *ConfigExportDeliveryInfo {
10548	s.NextDeliveryTime = &v
10549	return s
10550}
10551
10552// An AWS Config rule represents an AWS Lambda function that you create for
10553// a custom rule or a predefined function for an AWS managed rule. The function
10554// evaluates configuration items to assess whether your AWS resources comply
10555// with your desired configurations. This function can run when AWS Config detects
10556// a configuration change to an AWS resource and at a periodic frequency that
10557// you choose (for example, every 24 hours).
10558//
10559// You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
10560// evaluations for your resources when AWS Config delivers the configuration
10561// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
10562//
10563// For more information about developing and using AWS Config rules, see Evaluating
10564// AWS Resource Configurations with AWS Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
10565// in the AWS Config Developer Guide.
10566type ConfigRule struct {
10567	_ struct{} `type:"structure"`
10568
10569	// The Amazon Resource Name (ARN) of the AWS Config rule.
10570	ConfigRuleArn *string `min:"1" type:"string"`
10571
10572	// The ID of the AWS Config rule.
10573	ConfigRuleId *string `min:"1" type:"string"`
10574
10575	// The name that you assign to the AWS Config rule. The name is required if
10576	// you are adding a new rule.
10577	ConfigRuleName *string `min:"1" type:"string"`
10578
10579	// Indicates whether the AWS Config rule is active or is currently being deleted
10580	// by AWS Config. It can also indicate the evaluation status for the AWS Config
10581	// rule.
10582	//
10583	// AWS Config sets the state of the rule to EVALUATING temporarily after you
10584	// use the StartConfigRulesEvaluation request to evaluate your resources against
10585	// the AWS Config rule.
10586	//
10587	// AWS Config sets the state of the rule to DELETING_RESULTS temporarily after
10588	// you use the DeleteEvaluationResults request to delete the current evaluation
10589	// results for the AWS Config rule.
10590	//
10591	// AWS Config temporarily sets the state of a rule to DELETING after you use
10592	// the DeleteConfigRule request to delete the rule. After AWS Config deletes
10593	// the rule, the rule and all of its evaluations are erased and are no longer
10594	// available.
10595	ConfigRuleState *string `type:"string" enum:"ConfigRuleState"`
10596
10597	// Service principal name of the service that created the rule.
10598	//
10599	// The field is populated only if the service linked rule is created by a service.
10600	// The field is empty if you create your own rule.
10601	CreatedBy *string `min:"1" type:"string"`
10602
10603	// The description that you provide for the AWS Config rule.
10604	Description *string `type:"string"`
10605
10606	// A string, in JSON format, that is passed to the AWS Config rule Lambda function.
10607	InputParameters *string `min:"1" type:"string"`
10608
10609	// The maximum frequency with which AWS Config runs evaluations for a rule.
10610	// You can specify a value for MaximumExecutionFrequency when:
10611	//
10612	//    * You are using an AWS managed rule that is triggered at a periodic frequency.
10613	//
10614	//    * Your custom rule is triggered when AWS Config delivers the configuration
10615	//    snapshot. For more information, see ConfigSnapshotDeliveryProperties.
10616	//
10617	// By default, rules with a periodic trigger are evaluated every 24 hours. To
10618	// change the frequency, specify a valid value for the MaximumExecutionFrequency
10619	// parameter.
10620	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
10621
10622	// Defines which resources can trigger an evaluation for the rule. The scope
10623	// can include one or more resource types, a combination of one resource type
10624	// and one resource ID, or a combination of a tag key and value. Specify a scope
10625	// to constrain the resources that can trigger an evaluation for the rule. If
10626	// you do not specify a scope, evaluations are triggered when any resource in
10627	// the recording group changes.
10628	//
10629	// The scope can be empty.
10630	Scope *Scope `type:"structure"`
10631
10632	// Provides the rule owner (AWS or customer), the rule identifier, and the notifications
10633	// that cause the function to evaluate your AWS resources.
10634	//
10635	// Source is a required field
10636	Source *Source `type:"structure" required:"true"`
10637}
10638
10639// String returns the string representation
10640func (s ConfigRule) String() string {
10641	return awsutil.Prettify(s)
10642}
10643
10644// GoString returns the string representation
10645func (s ConfigRule) GoString() string {
10646	return s.String()
10647}
10648
10649// Validate inspects the fields of the type to determine if they are valid.
10650func (s *ConfigRule) Validate() error {
10651	invalidParams := request.ErrInvalidParams{Context: "ConfigRule"}
10652	if s.ConfigRuleArn != nil && len(*s.ConfigRuleArn) < 1 {
10653		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleArn", 1))
10654	}
10655	if s.ConfigRuleId != nil && len(*s.ConfigRuleId) < 1 {
10656		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleId", 1))
10657	}
10658	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
10659		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
10660	}
10661	if s.CreatedBy != nil && len(*s.CreatedBy) < 1 {
10662		invalidParams.Add(request.NewErrParamMinLen("CreatedBy", 1))
10663	}
10664	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
10665		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
10666	}
10667	if s.Source == nil {
10668		invalidParams.Add(request.NewErrParamRequired("Source"))
10669	}
10670	if s.Scope != nil {
10671		if err := s.Scope.Validate(); err != nil {
10672			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
10673		}
10674	}
10675	if s.Source != nil {
10676		if err := s.Source.Validate(); err != nil {
10677			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
10678		}
10679	}
10680
10681	if invalidParams.Len() > 0 {
10682		return invalidParams
10683	}
10684	return nil
10685}
10686
10687// SetConfigRuleArn sets the ConfigRuleArn field's value.
10688func (s *ConfigRule) SetConfigRuleArn(v string) *ConfigRule {
10689	s.ConfigRuleArn = &v
10690	return s
10691}
10692
10693// SetConfigRuleId sets the ConfigRuleId field's value.
10694func (s *ConfigRule) SetConfigRuleId(v string) *ConfigRule {
10695	s.ConfigRuleId = &v
10696	return s
10697}
10698
10699// SetConfigRuleName sets the ConfigRuleName field's value.
10700func (s *ConfigRule) SetConfigRuleName(v string) *ConfigRule {
10701	s.ConfigRuleName = &v
10702	return s
10703}
10704
10705// SetConfigRuleState sets the ConfigRuleState field's value.
10706func (s *ConfigRule) SetConfigRuleState(v string) *ConfigRule {
10707	s.ConfigRuleState = &v
10708	return s
10709}
10710
10711// SetCreatedBy sets the CreatedBy field's value.
10712func (s *ConfigRule) SetCreatedBy(v string) *ConfigRule {
10713	s.CreatedBy = &v
10714	return s
10715}
10716
10717// SetDescription sets the Description field's value.
10718func (s *ConfigRule) SetDescription(v string) *ConfigRule {
10719	s.Description = &v
10720	return s
10721}
10722
10723// SetInputParameters sets the InputParameters field's value.
10724func (s *ConfigRule) SetInputParameters(v string) *ConfigRule {
10725	s.InputParameters = &v
10726	return s
10727}
10728
10729// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
10730func (s *ConfigRule) SetMaximumExecutionFrequency(v string) *ConfigRule {
10731	s.MaximumExecutionFrequency = &v
10732	return s
10733}
10734
10735// SetScope sets the Scope field's value.
10736func (s *ConfigRule) SetScope(v *Scope) *ConfigRule {
10737	s.Scope = v
10738	return s
10739}
10740
10741// SetSource sets the Source field's value.
10742func (s *ConfigRule) SetSource(v *Source) *ConfigRule {
10743	s.Source = v
10744	return s
10745}
10746
10747// Filters the compliance results based on account ID, region, compliance type,
10748// and rule name.
10749type ConfigRuleComplianceFilters struct {
10750	_ struct{} `type:"structure"`
10751
10752	// The 12-digit account ID of the source account.
10753	AccountId *string `type:"string"`
10754
10755	// The source region where the data is aggregated.
10756	AwsRegion *string `min:"1" type:"string"`
10757
10758	// The rule compliance status.
10759	//
10760	// For the ConfigRuleComplianceFilters data type, AWS Config supports only COMPLIANT
10761	// and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and the
10762	// INSUFFICIENT_DATA values.
10763	ComplianceType *string `type:"string" enum:"ComplianceType"`
10764
10765	// The name of the AWS Config rule.
10766	ConfigRuleName *string `min:"1" type:"string"`
10767}
10768
10769// String returns the string representation
10770func (s ConfigRuleComplianceFilters) String() string {
10771	return awsutil.Prettify(s)
10772}
10773
10774// GoString returns the string representation
10775func (s ConfigRuleComplianceFilters) GoString() string {
10776	return s.String()
10777}
10778
10779// Validate inspects the fields of the type to determine if they are valid.
10780func (s *ConfigRuleComplianceFilters) Validate() error {
10781	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceFilters"}
10782	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
10783		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
10784	}
10785	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
10786		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
10787	}
10788
10789	if invalidParams.Len() > 0 {
10790		return invalidParams
10791	}
10792	return nil
10793}
10794
10795// SetAccountId sets the AccountId field's value.
10796func (s *ConfigRuleComplianceFilters) SetAccountId(v string) *ConfigRuleComplianceFilters {
10797	s.AccountId = &v
10798	return s
10799}
10800
10801// SetAwsRegion sets the AwsRegion field's value.
10802func (s *ConfigRuleComplianceFilters) SetAwsRegion(v string) *ConfigRuleComplianceFilters {
10803	s.AwsRegion = &v
10804	return s
10805}
10806
10807// SetComplianceType sets the ComplianceType field's value.
10808func (s *ConfigRuleComplianceFilters) SetComplianceType(v string) *ConfigRuleComplianceFilters {
10809	s.ComplianceType = &v
10810	return s
10811}
10812
10813// SetConfigRuleName sets the ConfigRuleName field's value.
10814func (s *ConfigRuleComplianceFilters) SetConfigRuleName(v string) *ConfigRuleComplianceFilters {
10815	s.ConfigRuleName = &v
10816	return s
10817}
10818
10819// Filters the results based on the account IDs and regions.
10820type ConfigRuleComplianceSummaryFilters struct {
10821	_ struct{} `type:"structure"`
10822
10823	// The 12-digit account ID of the source account.
10824	AccountId *string `type:"string"`
10825
10826	// The source region where the data is aggregated.
10827	AwsRegion *string `min:"1" type:"string"`
10828}
10829
10830// String returns the string representation
10831func (s ConfigRuleComplianceSummaryFilters) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s ConfigRuleComplianceSummaryFilters) GoString() string {
10837	return s.String()
10838}
10839
10840// Validate inspects the fields of the type to determine if they are valid.
10841func (s *ConfigRuleComplianceSummaryFilters) Validate() error {
10842	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceSummaryFilters"}
10843	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
10844		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
10845	}
10846
10847	if invalidParams.Len() > 0 {
10848		return invalidParams
10849	}
10850	return nil
10851}
10852
10853// SetAccountId sets the AccountId field's value.
10854func (s *ConfigRuleComplianceSummaryFilters) SetAccountId(v string) *ConfigRuleComplianceSummaryFilters {
10855	s.AccountId = &v
10856	return s
10857}
10858
10859// SetAwsRegion sets the AwsRegion field's value.
10860func (s *ConfigRuleComplianceSummaryFilters) SetAwsRegion(v string) *ConfigRuleComplianceSummaryFilters {
10861	s.AwsRegion = &v
10862	return s
10863}
10864
10865// Status information for your AWS managed Config rules. The status includes
10866// information such as the last time the rule ran, the last time it failed,
10867// and the related error for the last failure.
10868//
10869// This action does not return status information about custom AWS Config rules.
10870type ConfigRuleEvaluationStatus struct {
10871	_ struct{} `type:"structure"`
10872
10873	// The Amazon Resource Name (ARN) of the AWS Config rule.
10874	ConfigRuleArn *string `type:"string"`
10875
10876	// The ID of the AWS Config rule.
10877	ConfigRuleId *string `type:"string"`
10878
10879	// The name of the AWS Config rule.
10880	ConfigRuleName *string `min:"1" type:"string"`
10881
10882	// The time that you first activated the AWS Config rule.
10883	FirstActivatedTime *time.Time `type:"timestamp"`
10884
10885	// Indicates whether AWS Config has evaluated your resources against the rule
10886	// at least once.
10887	//
10888	//    * true - AWS Config has evaluated your AWS resources against the rule
10889	//    at least once.
10890	//
10891	//    * false - AWS Config has not once finished evaluating your AWS resources
10892	//    against the rule.
10893	FirstEvaluationStarted *bool `type:"boolean"`
10894
10895	// The time that you last turned off the AWS Config rule.
10896	LastDeactivatedTime *time.Time `type:"timestamp"`
10897
10898	// The error code that AWS Config returned when the rule last failed.
10899	LastErrorCode *string `type:"string"`
10900
10901	// The error message that AWS Config returned when the rule last failed.
10902	LastErrorMessage *string `type:"string"`
10903
10904	// The time that AWS Config last failed to evaluate your AWS resources against
10905	// the rule.
10906	LastFailedEvaluationTime *time.Time `type:"timestamp"`
10907
10908	// The time that AWS Config last failed to invoke the AWS Config rule to evaluate
10909	// your AWS resources.
10910	LastFailedInvocationTime *time.Time `type:"timestamp"`
10911
10912	// The time that AWS Config last successfully evaluated your AWS resources against
10913	// the rule.
10914	LastSuccessfulEvaluationTime *time.Time `type:"timestamp"`
10915
10916	// The time that AWS Config last successfully invoked the AWS Config rule to
10917	// evaluate your AWS resources.
10918	LastSuccessfulInvocationTime *time.Time `type:"timestamp"`
10919}
10920
10921// String returns the string representation
10922func (s ConfigRuleEvaluationStatus) String() string {
10923	return awsutil.Prettify(s)
10924}
10925
10926// GoString returns the string representation
10927func (s ConfigRuleEvaluationStatus) GoString() string {
10928	return s.String()
10929}
10930
10931// SetConfigRuleArn sets the ConfigRuleArn field's value.
10932func (s *ConfigRuleEvaluationStatus) SetConfigRuleArn(v string) *ConfigRuleEvaluationStatus {
10933	s.ConfigRuleArn = &v
10934	return s
10935}
10936
10937// SetConfigRuleId sets the ConfigRuleId field's value.
10938func (s *ConfigRuleEvaluationStatus) SetConfigRuleId(v string) *ConfigRuleEvaluationStatus {
10939	s.ConfigRuleId = &v
10940	return s
10941}
10942
10943// SetConfigRuleName sets the ConfigRuleName field's value.
10944func (s *ConfigRuleEvaluationStatus) SetConfigRuleName(v string) *ConfigRuleEvaluationStatus {
10945	s.ConfigRuleName = &v
10946	return s
10947}
10948
10949// SetFirstActivatedTime sets the FirstActivatedTime field's value.
10950func (s *ConfigRuleEvaluationStatus) SetFirstActivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
10951	s.FirstActivatedTime = &v
10952	return s
10953}
10954
10955// SetFirstEvaluationStarted sets the FirstEvaluationStarted field's value.
10956func (s *ConfigRuleEvaluationStatus) SetFirstEvaluationStarted(v bool) *ConfigRuleEvaluationStatus {
10957	s.FirstEvaluationStarted = &v
10958	return s
10959}
10960
10961// SetLastDeactivatedTime sets the LastDeactivatedTime field's value.
10962func (s *ConfigRuleEvaluationStatus) SetLastDeactivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
10963	s.LastDeactivatedTime = &v
10964	return s
10965}
10966
10967// SetLastErrorCode sets the LastErrorCode field's value.
10968func (s *ConfigRuleEvaluationStatus) SetLastErrorCode(v string) *ConfigRuleEvaluationStatus {
10969	s.LastErrorCode = &v
10970	return s
10971}
10972
10973// SetLastErrorMessage sets the LastErrorMessage field's value.
10974func (s *ConfigRuleEvaluationStatus) SetLastErrorMessage(v string) *ConfigRuleEvaluationStatus {
10975	s.LastErrorMessage = &v
10976	return s
10977}
10978
10979// SetLastFailedEvaluationTime sets the LastFailedEvaluationTime field's value.
10980func (s *ConfigRuleEvaluationStatus) SetLastFailedEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
10981	s.LastFailedEvaluationTime = &v
10982	return s
10983}
10984
10985// SetLastFailedInvocationTime sets the LastFailedInvocationTime field's value.
10986func (s *ConfigRuleEvaluationStatus) SetLastFailedInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
10987	s.LastFailedInvocationTime = &v
10988	return s
10989}
10990
10991// SetLastSuccessfulEvaluationTime sets the LastSuccessfulEvaluationTime field's value.
10992func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
10993	s.LastSuccessfulEvaluationTime = &v
10994	return s
10995}
10996
10997// SetLastSuccessfulInvocationTime sets the LastSuccessfulInvocationTime field's value.
10998func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
10999	s.LastSuccessfulInvocationTime = &v
11000	return s
11001}
11002
11003// Provides options for how often AWS Config delivers configuration snapshots
11004// to the Amazon S3 bucket in your delivery channel.
11005//
11006// The frequency for a rule that triggers evaluations for your resources when
11007// AWS Config delivers the configuration snapshot is set by one of two values,
11008// depending on which is less frequent:
11009//
11010//    * The value for the deliveryFrequency parameter within the delivery channel
11011//    configuration, which sets how often AWS Config delivers configuration
11012//    snapshots. This value also sets how often AWS Config invokes evaluations
11013//    for AWS Config rules.
11014//
11015//    * The value for the MaximumExecutionFrequency parameter, which sets the
11016//    maximum frequency with which AWS Config invokes evaluations for the rule.
11017//    For more information, see ConfigRule.
11018//
11019// If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
11020// value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
11021// value.
11022//
11023// For example, you want your rule to run evaluations when AWS Config delivers
11024// the configuration snapshot.
11025//
11026// You specify the MaximumExecutionFrequency value for Six_Hours.
11027//
11028// You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
11029//
11030// Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
11031// AWS Config invokes evaluations for the rule every 24 hours.
11032//
11033// You should set the MaximumExecutionFrequency value to be at least as frequent
11034// as the deliveryFrequency value. You can view the deliveryFrequency value
11035// by using the DescribeDeliveryChannnels action.
11036//
11037// To update the deliveryFrequency with which AWS Config delivers your configuration
11038// snapshots, use the PutDeliveryChannel action.
11039type ConfigSnapshotDeliveryProperties struct {
11040	_ struct{} `type:"structure"`
11041
11042	// The frequency with which AWS Config delivers configuration snapshots.
11043	DeliveryFrequency *string `locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency"`
11044}
11045
11046// String returns the string representation
11047func (s ConfigSnapshotDeliveryProperties) String() string {
11048	return awsutil.Prettify(s)
11049}
11050
11051// GoString returns the string representation
11052func (s ConfigSnapshotDeliveryProperties) GoString() string {
11053	return s.String()
11054}
11055
11056// SetDeliveryFrequency sets the DeliveryFrequency field's value.
11057func (s *ConfigSnapshotDeliveryProperties) SetDeliveryFrequency(v string) *ConfigSnapshotDeliveryProperties {
11058	s.DeliveryFrequency = &v
11059	return s
11060}
11061
11062// A list that contains the status of the delivery of the configuration stream
11063// notification to the Amazon SNS topic.
11064type ConfigStreamDeliveryInfo struct {
11065	_ struct{} `type:"structure"`
11066
11067	// The error code from the last attempted delivery.
11068	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
11069
11070	// The error message from the last attempted delivery.
11071	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
11072
11073	// Status of the last attempted delivery.
11074	//
11075	// Note Providing an SNS topic on a DeliveryChannel (https://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
11076	// for AWS Config is optional. If the SNS delivery is turned off, the last status
11077	// will be Not_Applicable.
11078	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
11079
11080	// The time from the last status change.
11081	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
11082}
11083
11084// String returns the string representation
11085func (s ConfigStreamDeliveryInfo) String() string {
11086	return awsutil.Prettify(s)
11087}
11088
11089// GoString returns the string representation
11090func (s ConfigStreamDeliveryInfo) GoString() string {
11091	return s.String()
11092}
11093
11094// SetLastErrorCode sets the LastErrorCode field's value.
11095func (s *ConfigStreamDeliveryInfo) SetLastErrorCode(v string) *ConfigStreamDeliveryInfo {
11096	s.LastErrorCode = &v
11097	return s
11098}
11099
11100// SetLastErrorMessage sets the LastErrorMessage field's value.
11101func (s *ConfigStreamDeliveryInfo) SetLastErrorMessage(v string) *ConfigStreamDeliveryInfo {
11102	s.LastErrorMessage = &v
11103	return s
11104}
11105
11106// SetLastStatus sets the LastStatus field's value.
11107func (s *ConfigStreamDeliveryInfo) SetLastStatus(v string) *ConfigStreamDeliveryInfo {
11108	s.LastStatus = &v
11109	return s
11110}
11111
11112// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
11113func (s *ConfigStreamDeliveryInfo) SetLastStatusChangeTime(v time.Time) *ConfigStreamDeliveryInfo {
11114	s.LastStatusChangeTime = &v
11115	return s
11116}
11117
11118// The details about the configuration aggregator, including information about
11119// source accounts, regions, and metadata of the aggregator.
11120type ConfigurationAggregator struct {
11121	_ struct{} `type:"structure"`
11122
11123	// Provides a list of source accounts and regions to be aggregated.
11124	AccountAggregationSources []*AccountAggregationSource `type:"list"`
11125
11126	// The Amazon Resource Name (ARN) of the aggregator.
11127	ConfigurationAggregatorArn *string `type:"string"`
11128
11129	// The name of the aggregator.
11130	ConfigurationAggregatorName *string `min:"1" type:"string"`
11131
11132	// AWS service that created the configuration aggregator.
11133	CreatedBy *string `min:"1" type:"string"`
11134
11135	// The time stamp when the configuration aggregator was created.
11136	CreationTime *time.Time `type:"timestamp"`
11137
11138	// The time of the last update.
11139	LastUpdatedTime *time.Time `type:"timestamp"`
11140
11141	// Provides an organization and list of regions to be aggregated.
11142	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
11143}
11144
11145// String returns the string representation
11146func (s ConfigurationAggregator) String() string {
11147	return awsutil.Prettify(s)
11148}
11149
11150// GoString returns the string representation
11151func (s ConfigurationAggregator) GoString() string {
11152	return s.String()
11153}
11154
11155// SetAccountAggregationSources sets the AccountAggregationSources field's value.
11156func (s *ConfigurationAggregator) SetAccountAggregationSources(v []*AccountAggregationSource) *ConfigurationAggregator {
11157	s.AccountAggregationSources = v
11158	return s
11159}
11160
11161// SetConfigurationAggregatorArn sets the ConfigurationAggregatorArn field's value.
11162func (s *ConfigurationAggregator) SetConfigurationAggregatorArn(v string) *ConfigurationAggregator {
11163	s.ConfigurationAggregatorArn = &v
11164	return s
11165}
11166
11167// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
11168func (s *ConfigurationAggregator) SetConfigurationAggregatorName(v string) *ConfigurationAggregator {
11169	s.ConfigurationAggregatorName = &v
11170	return s
11171}
11172
11173// SetCreatedBy sets the CreatedBy field's value.
11174func (s *ConfigurationAggregator) SetCreatedBy(v string) *ConfigurationAggregator {
11175	s.CreatedBy = &v
11176	return s
11177}
11178
11179// SetCreationTime sets the CreationTime field's value.
11180func (s *ConfigurationAggregator) SetCreationTime(v time.Time) *ConfigurationAggregator {
11181	s.CreationTime = &v
11182	return s
11183}
11184
11185// SetLastUpdatedTime sets the LastUpdatedTime field's value.
11186func (s *ConfigurationAggregator) SetLastUpdatedTime(v time.Time) *ConfigurationAggregator {
11187	s.LastUpdatedTime = &v
11188	return s
11189}
11190
11191// SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
11192func (s *ConfigurationAggregator) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *ConfigurationAggregator {
11193	s.OrganizationAggregationSource = v
11194	return s
11195}
11196
11197// A list that contains detailed configurations of a specified resource.
11198type ConfigurationItem struct {
11199	_ struct{} `type:"structure"`
11200
11201	// The 12-digit AWS account ID associated with the resource.
11202	AccountId *string `locationName:"accountId" type:"string"`
11203
11204	// Amazon Resource Name (ARN) associated with the resource.
11205	Arn *string `locationName:"arn" type:"string"`
11206
11207	// The Availability Zone associated with the resource.
11208	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
11209
11210	// The region where the resource resides.
11211	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
11212
11213	// The description of the resource configuration.
11214	Configuration *string `locationName:"configuration" type:"string"`
11215
11216	// The time when the configuration recording was initiated.
11217	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
11218
11219	// Unique MD5 hash that represents the configuration item's state.
11220	//
11221	// You can use MD5 hash to compare the states of two or more configuration items
11222	// that are associated with the same resource.
11223	ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"`
11224
11225	// The configuration item status. The valid values are:
11226	//
11227	//    * OK – The resource configuration has been updated
11228	//
11229	//    * ResourceDiscovered – The resource was newly discovered
11230	//
11231	//    * ResourceNotRecorded – The resource was discovered but its configuration
11232	//    was not recorded since the recorder excludes the recording of resources
11233	//    of this type
11234	//
11235	//    * ResourceDeleted – The resource was deleted
11236	//
11237	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
11238	//    was not recorded since the recorder excludes the recording of resources
11239	//    of this type
11240	//
11241	// The CIs do not incur any cost.
11242	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
11243
11244	// An identifier that indicates the ordering of the configuration items of a
11245	// resource.
11246	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
11247
11248	// A list of CloudTrail event IDs.
11249	//
11250	// A populated field indicates that the current configuration was initiated
11251	// by the events recorded in the CloudTrail log. For more information about
11252	// CloudTrail, see What Is AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
11253	//
11254	// An empty field indicates that the current configuration was not initiated
11255	// by any event. As of Version 1.3, the relatedEvents field is empty. You can
11256	// access the LookupEvents API (https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html)
11257	// in the AWS CloudTrail API Reference to retrieve the events for the resource.
11258	RelatedEvents []*string `locationName:"relatedEvents" type:"list"`
11259
11260	// A list of related AWS resources.
11261	Relationships []*Relationship `locationName:"relationships" type:"list"`
11262
11263	// The time stamp when the resource was created.
11264	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
11265
11266	// The ID of the resource (for example, sg-xxxxxx).
11267	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
11268
11269	// The custom name of the resource, if available.
11270	ResourceName *string `locationName:"resourceName" type:"string"`
11271
11272	// The type of AWS resource.
11273	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
11274
11275	// Configuration attributes that AWS Config returns for certain resource types
11276	// to supplement the information returned for the configuration parameter.
11277	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
11278
11279	// A mapping of key value tags associated with the resource.
11280	Tags map[string]*string `locationName:"tags" type:"map"`
11281
11282	// The version number of the resource configuration.
11283	Version *string `locationName:"version" type:"string"`
11284}
11285
11286// String returns the string representation
11287func (s ConfigurationItem) String() string {
11288	return awsutil.Prettify(s)
11289}
11290
11291// GoString returns the string representation
11292func (s ConfigurationItem) GoString() string {
11293	return s.String()
11294}
11295
11296// SetAccountId sets the AccountId field's value.
11297func (s *ConfigurationItem) SetAccountId(v string) *ConfigurationItem {
11298	s.AccountId = &v
11299	return s
11300}
11301
11302// SetArn sets the Arn field's value.
11303func (s *ConfigurationItem) SetArn(v string) *ConfigurationItem {
11304	s.Arn = &v
11305	return s
11306}
11307
11308// SetAvailabilityZone sets the AvailabilityZone field's value.
11309func (s *ConfigurationItem) SetAvailabilityZone(v string) *ConfigurationItem {
11310	s.AvailabilityZone = &v
11311	return s
11312}
11313
11314// SetAwsRegion sets the AwsRegion field's value.
11315func (s *ConfigurationItem) SetAwsRegion(v string) *ConfigurationItem {
11316	s.AwsRegion = &v
11317	return s
11318}
11319
11320// SetConfiguration sets the Configuration field's value.
11321func (s *ConfigurationItem) SetConfiguration(v string) *ConfigurationItem {
11322	s.Configuration = &v
11323	return s
11324}
11325
11326// SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
11327func (s *ConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *ConfigurationItem {
11328	s.ConfigurationItemCaptureTime = &v
11329	return s
11330}
11331
11332// SetConfigurationItemMD5Hash sets the ConfigurationItemMD5Hash field's value.
11333func (s *ConfigurationItem) SetConfigurationItemMD5Hash(v string) *ConfigurationItem {
11334	s.ConfigurationItemMD5Hash = &v
11335	return s
11336}
11337
11338// SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
11339func (s *ConfigurationItem) SetConfigurationItemStatus(v string) *ConfigurationItem {
11340	s.ConfigurationItemStatus = &v
11341	return s
11342}
11343
11344// SetConfigurationStateId sets the ConfigurationStateId field's value.
11345func (s *ConfigurationItem) SetConfigurationStateId(v string) *ConfigurationItem {
11346	s.ConfigurationStateId = &v
11347	return s
11348}
11349
11350// SetRelatedEvents sets the RelatedEvents field's value.
11351func (s *ConfigurationItem) SetRelatedEvents(v []*string) *ConfigurationItem {
11352	s.RelatedEvents = v
11353	return s
11354}
11355
11356// SetRelationships sets the Relationships field's value.
11357func (s *ConfigurationItem) SetRelationships(v []*Relationship) *ConfigurationItem {
11358	s.Relationships = v
11359	return s
11360}
11361
11362// SetResourceCreationTime sets the ResourceCreationTime field's value.
11363func (s *ConfigurationItem) SetResourceCreationTime(v time.Time) *ConfigurationItem {
11364	s.ResourceCreationTime = &v
11365	return s
11366}
11367
11368// SetResourceId sets the ResourceId field's value.
11369func (s *ConfigurationItem) SetResourceId(v string) *ConfigurationItem {
11370	s.ResourceId = &v
11371	return s
11372}
11373
11374// SetResourceName sets the ResourceName field's value.
11375func (s *ConfigurationItem) SetResourceName(v string) *ConfigurationItem {
11376	s.ResourceName = &v
11377	return s
11378}
11379
11380// SetResourceType sets the ResourceType field's value.
11381func (s *ConfigurationItem) SetResourceType(v string) *ConfigurationItem {
11382	s.ResourceType = &v
11383	return s
11384}
11385
11386// SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
11387func (s *ConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *ConfigurationItem {
11388	s.SupplementaryConfiguration = v
11389	return s
11390}
11391
11392// SetTags sets the Tags field's value.
11393func (s *ConfigurationItem) SetTags(v map[string]*string) *ConfigurationItem {
11394	s.Tags = v
11395	return s
11396}
11397
11398// SetVersion sets the Version field's value.
11399func (s *ConfigurationItem) SetVersion(v string) *ConfigurationItem {
11400	s.Version = &v
11401	return s
11402}
11403
11404// An object that represents the recording of configuration changes of an AWS
11405// resource.
11406type ConfigurationRecorder struct {
11407	_ struct{} `type:"structure"`
11408
11409	// The name of the recorder. By default, AWS Config automatically assigns the
11410	// name "default" when creating the configuration recorder. You cannot change
11411	// the assigned name.
11412	Name *string `locationName:"name" min:"1" type:"string"`
11413
11414	// Specifies the types of AWS resources for which AWS Config records configuration
11415	// changes.
11416	RecordingGroup *RecordingGroup `locationName:"recordingGroup" type:"structure"`
11417
11418	// Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources
11419	// associated with the account.
11420	RoleARN *string `locationName:"roleARN" type:"string"`
11421}
11422
11423// String returns the string representation
11424func (s ConfigurationRecorder) String() string {
11425	return awsutil.Prettify(s)
11426}
11427
11428// GoString returns the string representation
11429func (s ConfigurationRecorder) GoString() string {
11430	return s.String()
11431}
11432
11433// Validate inspects the fields of the type to determine if they are valid.
11434func (s *ConfigurationRecorder) Validate() error {
11435	invalidParams := request.ErrInvalidParams{Context: "ConfigurationRecorder"}
11436	if s.Name != nil && len(*s.Name) < 1 {
11437		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11438	}
11439
11440	if invalidParams.Len() > 0 {
11441		return invalidParams
11442	}
11443	return nil
11444}
11445
11446// SetName sets the Name field's value.
11447func (s *ConfigurationRecorder) SetName(v string) *ConfigurationRecorder {
11448	s.Name = &v
11449	return s
11450}
11451
11452// SetRecordingGroup sets the RecordingGroup field's value.
11453func (s *ConfigurationRecorder) SetRecordingGroup(v *RecordingGroup) *ConfigurationRecorder {
11454	s.RecordingGroup = v
11455	return s
11456}
11457
11458// SetRoleARN sets the RoleARN field's value.
11459func (s *ConfigurationRecorder) SetRoleARN(v string) *ConfigurationRecorder {
11460	s.RoleARN = &v
11461	return s
11462}
11463
11464// The current status of the configuration recorder.
11465type ConfigurationRecorderStatus struct {
11466	_ struct{} `type:"structure"`
11467
11468	// The error code indicating that the recording failed.
11469	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
11470
11471	// The message indicating that the recording failed due to an error.
11472	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
11473
11474	// The time the recorder was last started.
11475	LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"`
11476
11477	// The last (previous) status of the recorder.
11478	LastStatus *string `locationName:"lastStatus" type:"string" enum:"RecorderStatus"`
11479
11480	// The time when the status was last changed.
11481	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
11482
11483	// The time the recorder was last stopped.
11484	LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp"`
11485
11486	// The name of the configuration recorder.
11487	Name *string `locationName:"name" type:"string"`
11488
11489	// Specifies whether or not the recorder is currently recording.
11490	Recording *bool `locationName:"recording" type:"boolean"`
11491}
11492
11493// String returns the string representation
11494func (s ConfigurationRecorderStatus) String() string {
11495	return awsutil.Prettify(s)
11496}
11497
11498// GoString returns the string representation
11499func (s ConfigurationRecorderStatus) GoString() string {
11500	return s.String()
11501}
11502
11503// SetLastErrorCode sets the LastErrorCode field's value.
11504func (s *ConfigurationRecorderStatus) SetLastErrorCode(v string) *ConfigurationRecorderStatus {
11505	s.LastErrorCode = &v
11506	return s
11507}
11508
11509// SetLastErrorMessage sets the LastErrorMessage field's value.
11510func (s *ConfigurationRecorderStatus) SetLastErrorMessage(v string) *ConfigurationRecorderStatus {
11511	s.LastErrorMessage = &v
11512	return s
11513}
11514
11515// SetLastStartTime sets the LastStartTime field's value.
11516func (s *ConfigurationRecorderStatus) SetLastStartTime(v time.Time) *ConfigurationRecorderStatus {
11517	s.LastStartTime = &v
11518	return s
11519}
11520
11521// SetLastStatus sets the LastStatus field's value.
11522func (s *ConfigurationRecorderStatus) SetLastStatus(v string) *ConfigurationRecorderStatus {
11523	s.LastStatus = &v
11524	return s
11525}
11526
11527// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
11528func (s *ConfigurationRecorderStatus) SetLastStatusChangeTime(v time.Time) *ConfigurationRecorderStatus {
11529	s.LastStatusChangeTime = &v
11530	return s
11531}
11532
11533// SetLastStopTime sets the LastStopTime field's value.
11534func (s *ConfigurationRecorderStatus) SetLastStopTime(v time.Time) *ConfigurationRecorderStatus {
11535	s.LastStopTime = &v
11536	return s
11537}
11538
11539// SetName sets the Name field's value.
11540func (s *ConfigurationRecorderStatus) SetName(v string) *ConfigurationRecorderStatus {
11541	s.Name = &v
11542	return s
11543}
11544
11545// SetRecording sets the Recording field's value.
11546func (s *ConfigurationRecorderStatus) SetRecording(v bool) *ConfigurationRecorderStatus {
11547	s.Recording = &v
11548	return s
11549}
11550
11551// Filters the conformance pack by compliance types and AWS Config rule names.
11552type ConformancePackComplianceFilters struct {
11553	_ struct{} `type:"structure"`
11554
11555	// Filters the results by compliance.
11556	//
11557	// The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is
11558	// not supported.
11559	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
11560
11561	// Filters the results by AWS Config rule names.
11562	ConfigRuleNames []*string `type:"list"`
11563}
11564
11565// String returns the string representation
11566func (s ConformancePackComplianceFilters) String() string {
11567	return awsutil.Prettify(s)
11568}
11569
11570// GoString returns the string representation
11571func (s ConformancePackComplianceFilters) GoString() string {
11572	return s.String()
11573}
11574
11575// SetComplianceType sets the ComplianceType field's value.
11576func (s *ConformancePackComplianceFilters) SetComplianceType(v string) *ConformancePackComplianceFilters {
11577	s.ComplianceType = &v
11578	return s
11579}
11580
11581// SetConfigRuleNames sets the ConfigRuleNames field's value.
11582func (s *ConformancePackComplianceFilters) SetConfigRuleNames(v []*string) *ConformancePackComplianceFilters {
11583	s.ConfigRuleNames = v
11584	return s
11585}
11586
11587// Summary includes the name and status of the conformance pack.
11588type ConformancePackComplianceSummary struct {
11589	_ struct{} `type:"structure"`
11590
11591	// The status of the conformance pack. The allowed values are COMPLIANT, NON_COMPLIANT
11592	// and INSUFFICIENT_DATA.
11593	//
11594	// ConformancePackComplianceStatus is a required field
11595	ConformancePackComplianceStatus *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
11596
11597	// The name of the conformance pack name.
11598	//
11599	// ConformancePackName is a required field
11600	ConformancePackName *string `min:"1" type:"string" required:"true"`
11601}
11602
11603// String returns the string representation
11604func (s ConformancePackComplianceSummary) String() string {
11605	return awsutil.Prettify(s)
11606}
11607
11608// GoString returns the string representation
11609func (s ConformancePackComplianceSummary) GoString() string {
11610	return s.String()
11611}
11612
11613// SetConformancePackComplianceStatus sets the ConformancePackComplianceStatus field's value.
11614func (s *ConformancePackComplianceSummary) SetConformancePackComplianceStatus(v string) *ConformancePackComplianceSummary {
11615	s.ConformancePackComplianceStatus = &v
11616	return s
11617}
11618
11619// SetConformancePackName sets the ConformancePackName field's value.
11620func (s *ConformancePackComplianceSummary) SetConformancePackName(v string) *ConformancePackComplianceSummary {
11621	s.ConformancePackName = &v
11622	return s
11623}
11624
11625// Returns details of a conformance pack. A conformance pack is a collection
11626// of AWS Config rules and remediation actions that can be easily deployed in
11627// an account and a region.
11628type ConformancePackDetail struct {
11629	_ struct{} `type:"structure"`
11630
11631	// Amazon Resource Name (ARN) of the conformance pack.
11632	//
11633	// ConformancePackArn is a required field
11634	ConformancePackArn *string `min:"1" type:"string" required:"true"`
11635
11636	// ID of the conformance pack.
11637	//
11638	// ConformancePackId is a required field
11639	ConformancePackId *string `min:"1" type:"string" required:"true"`
11640
11641	// A list of ConformancePackInputParameter objects.
11642	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
11643
11644	// Name of the conformance pack.
11645	//
11646	// ConformancePackName is a required field
11647	ConformancePackName *string `min:"1" type:"string" required:"true"`
11648
11649	// AWS service that created the conformance pack.
11650	CreatedBy *string `min:"1" type:"string"`
11651
11652	// Amazon S3 bucket where AWS Config stores conformance pack templates.
11653	//
11654	// This field is optional.
11655	DeliveryS3Bucket *string `type:"string"`
11656
11657	// The prefix for the Amazon S3 bucket.
11658	//
11659	// This field is optional.
11660	DeliveryS3KeyPrefix *string `type:"string"`
11661
11662	// Last time when conformation pack update was requested.
11663	LastUpdateRequestedTime *time.Time `type:"timestamp"`
11664}
11665
11666// String returns the string representation
11667func (s ConformancePackDetail) String() string {
11668	return awsutil.Prettify(s)
11669}
11670
11671// GoString returns the string representation
11672func (s ConformancePackDetail) GoString() string {
11673	return s.String()
11674}
11675
11676// SetConformancePackArn sets the ConformancePackArn field's value.
11677func (s *ConformancePackDetail) SetConformancePackArn(v string) *ConformancePackDetail {
11678	s.ConformancePackArn = &v
11679	return s
11680}
11681
11682// SetConformancePackId sets the ConformancePackId field's value.
11683func (s *ConformancePackDetail) SetConformancePackId(v string) *ConformancePackDetail {
11684	s.ConformancePackId = &v
11685	return s
11686}
11687
11688// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
11689func (s *ConformancePackDetail) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *ConformancePackDetail {
11690	s.ConformancePackInputParameters = v
11691	return s
11692}
11693
11694// SetConformancePackName sets the ConformancePackName field's value.
11695func (s *ConformancePackDetail) SetConformancePackName(v string) *ConformancePackDetail {
11696	s.ConformancePackName = &v
11697	return s
11698}
11699
11700// SetCreatedBy sets the CreatedBy field's value.
11701func (s *ConformancePackDetail) SetCreatedBy(v string) *ConformancePackDetail {
11702	s.CreatedBy = &v
11703	return s
11704}
11705
11706// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
11707func (s *ConformancePackDetail) SetDeliveryS3Bucket(v string) *ConformancePackDetail {
11708	s.DeliveryS3Bucket = &v
11709	return s
11710}
11711
11712// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
11713func (s *ConformancePackDetail) SetDeliveryS3KeyPrefix(v string) *ConformancePackDetail {
11714	s.DeliveryS3KeyPrefix = &v
11715	return s
11716}
11717
11718// SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
11719func (s *ConformancePackDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackDetail {
11720	s.LastUpdateRequestedTime = &v
11721	return s
11722}
11723
11724// Filters a conformance pack by AWS Config rule names, compliance types, AWS
11725// resource types, and resource IDs.
11726type ConformancePackEvaluationFilters struct {
11727	_ struct{} `type:"structure"`
11728
11729	// Filters the results by compliance.
11730	//
11731	// The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is
11732	// not supported.
11733	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
11734
11735	// Filters the results by AWS Config rule names.
11736	ConfigRuleNames []*string `type:"list"`
11737
11738	// Filters the results by resource IDs.
11739	//
11740	// This is valid only when you provide resource type. If there is no resource
11741	// type, you will see an error.
11742	ResourceIds []*string `type:"list"`
11743
11744	// Filters the results by the resource type (for example, "AWS::EC2::Instance").
11745	ResourceType *string `min:"1" type:"string"`
11746}
11747
11748// String returns the string representation
11749func (s ConformancePackEvaluationFilters) String() string {
11750	return awsutil.Prettify(s)
11751}
11752
11753// GoString returns the string representation
11754func (s ConformancePackEvaluationFilters) GoString() string {
11755	return s.String()
11756}
11757
11758// Validate inspects the fields of the type to determine if they are valid.
11759func (s *ConformancePackEvaluationFilters) Validate() error {
11760	invalidParams := request.ErrInvalidParams{Context: "ConformancePackEvaluationFilters"}
11761	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
11762		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
11763	}
11764
11765	if invalidParams.Len() > 0 {
11766		return invalidParams
11767	}
11768	return nil
11769}
11770
11771// SetComplianceType sets the ComplianceType field's value.
11772func (s *ConformancePackEvaluationFilters) SetComplianceType(v string) *ConformancePackEvaluationFilters {
11773	s.ComplianceType = &v
11774	return s
11775}
11776
11777// SetConfigRuleNames sets the ConfigRuleNames field's value.
11778func (s *ConformancePackEvaluationFilters) SetConfigRuleNames(v []*string) *ConformancePackEvaluationFilters {
11779	s.ConfigRuleNames = v
11780	return s
11781}
11782
11783// SetResourceIds sets the ResourceIds field's value.
11784func (s *ConformancePackEvaluationFilters) SetResourceIds(v []*string) *ConformancePackEvaluationFilters {
11785	s.ResourceIds = v
11786	return s
11787}
11788
11789// SetResourceType sets the ResourceType field's value.
11790func (s *ConformancePackEvaluationFilters) SetResourceType(v string) *ConformancePackEvaluationFilters {
11791	s.ResourceType = &v
11792	return s
11793}
11794
11795// The details of a conformance pack evaluation. Provides AWS Config rule and
11796// AWS resource type that was evaluated, the compliance of the conformance pack,
11797// related time stamps, and supplementary information.
11798type ConformancePackEvaluationResult struct {
11799	_ struct{} `type:"structure"`
11800
11801	// Supplementary information about how the evaluation determined the compliance.
11802	Annotation *string `type:"string"`
11803
11804	// The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT.
11805	// INSUFFICIENT_DATA is not supported.
11806	//
11807	// ComplianceType is a required field
11808	ComplianceType *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
11809
11810	// The time when AWS Config rule evaluated AWS resource.
11811	//
11812	// ConfigRuleInvokedTime is a required field
11813	ConfigRuleInvokedTime *time.Time `type:"timestamp" required:"true"`
11814
11815	// Uniquely identifies an evaluation result.
11816	//
11817	// EvaluationResultIdentifier is a required field
11818	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure" required:"true"`
11819
11820	// The time when AWS Config recorded the evaluation result.
11821	//
11822	// ResultRecordedTime is a required field
11823	ResultRecordedTime *time.Time `type:"timestamp" required:"true"`
11824}
11825
11826// String returns the string representation
11827func (s ConformancePackEvaluationResult) String() string {
11828	return awsutil.Prettify(s)
11829}
11830
11831// GoString returns the string representation
11832func (s ConformancePackEvaluationResult) GoString() string {
11833	return s.String()
11834}
11835
11836// SetAnnotation sets the Annotation field's value.
11837func (s *ConformancePackEvaluationResult) SetAnnotation(v string) *ConformancePackEvaluationResult {
11838	s.Annotation = &v
11839	return s
11840}
11841
11842// SetComplianceType sets the ComplianceType field's value.
11843func (s *ConformancePackEvaluationResult) SetComplianceType(v string) *ConformancePackEvaluationResult {
11844	s.ComplianceType = &v
11845	return s
11846}
11847
11848// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
11849func (s *ConformancePackEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *ConformancePackEvaluationResult {
11850	s.ConfigRuleInvokedTime = &v
11851	return s
11852}
11853
11854// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
11855func (s *ConformancePackEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *ConformancePackEvaluationResult {
11856	s.EvaluationResultIdentifier = v
11857	return s
11858}
11859
11860// SetResultRecordedTime sets the ResultRecordedTime field's value.
11861func (s *ConformancePackEvaluationResult) SetResultRecordedTime(v time.Time) *ConformancePackEvaluationResult {
11862	s.ResultRecordedTime = &v
11863	return s
11864}
11865
11866// Input parameters in the form of key-value pairs for the conformance pack,
11867// both of which you define. Keys can have a maximum character length of 255
11868// characters, and values can have a maximum length of 4096 characters.
11869type ConformancePackInputParameter struct {
11870	_ struct{} `type:"structure"`
11871
11872	// One part of a key-value pair.
11873	//
11874	// ParameterName is a required field
11875	ParameterName *string `type:"string" required:"true"`
11876
11877	// Another part of the key-value pair.
11878	//
11879	// ParameterValue is a required field
11880	ParameterValue *string `type:"string" required:"true"`
11881}
11882
11883// String returns the string representation
11884func (s ConformancePackInputParameter) String() string {
11885	return awsutil.Prettify(s)
11886}
11887
11888// GoString returns the string representation
11889func (s ConformancePackInputParameter) GoString() string {
11890	return s.String()
11891}
11892
11893// Validate inspects the fields of the type to determine if they are valid.
11894func (s *ConformancePackInputParameter) Validate() error {
11895	invalidParams := request.ErrInvalidParams{Context: "ConformancePackInputParameter"}
11896	if s.ParameterName == nil {
11897		invalidParams.Add(request.NewErrParamRequired("ParameterName"))
11898	}
11899	if s.ParameterValue == nil {
11900		invalidParams.Add(request.NewErrParamRequired("ParameterValue"))
11901	}
11902
11903	if invalidParams.Len() > 0 {
11904		return invalidParams
11905	}
11906	return nil
11907}
11908
11909// SetParameterName sets the ParameterName field's value.
11910func (s *ConformancePackInputParameter) SetParameterName(v string) *ConformancePackInputParameter {
11911	s.ParameterName = &v
11912	return s
11913}
11914
11915// SetParameterValue sets the ParameterValue field's value.
11916func (s *ConformancePackInputParameter) SetParameterValue(v string) *ConformancePackInputParameter {
11917	s.ParameterValue = &v
11918	return s
11919}
11920
11921// Compliance information of one or more AWS Config rules within a conformance
11922// pack. You can filter using AWS Config rule names and compliance types.
11923type ConformancePackRuleCompliance struct {
11924	_ struct{} `type:"structure"`
11925
11926	// Compliance of the AWS Config rule.
11927	//
11928	// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
11929	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
11930
11931	// Name of the config rule.
11932	ConfigRuleName *string `min:"1" type:"string"`
11933
11934	// Controls for the conformance pack. A control is a process to prevent or detect
11935	// problems while meeting objectives. A control can align with a specific compliance
11936	// regime or map to internal controls defined by an organization.
11937	Controls []*string `type:"list"`
11938}
11939
11940// String returns the string representation
11941func (s ConformancePackRuleCompliance) String() string {
11942	return awsutil.Prettify(s)
11943}
11944
11945// GoString returns the string representation
11946func (s ConformancePackRuleCompliance) GoString() string {
11947	return s.String()
11948}
11949
11950// SetComplianceType sets the ComplianceType field's value.
11951func (s *ConformancePackRuleCompliance) SetComplianceType(v string) *ConformancePackRuleCompliance {
11952	s.ComplianceType = &v
11953	return s
11954}
11955
11956// SetConfigRuleName sets the ConfigRuleName field's value.
11957func (s *ConformancePackRuleCompliance) SetConfigRuleName(v string) *ConformancePackRuleCompliance {
11958	s.ConfigRuleName = &v
11959	return s
11960}
11961
11962// SetControls sets the Controls field's value.
11963func (s *ConformancePackRuleCompliance) SetControls(v []*string) *ConformancePackRuleCompliance {
11964	s.Controls = v
11965	return s
11966}
11967
11968// Status details of a conformance pack.
11969type ConformancePackStatusDetail struct {
11970	_ struct{} `type:"structure"`
11971
11972	// Amazon Resource Name (ARN) of comformance pack.
11973	//
11974	// ConformancePackArn is a required field
11975	ConformancePackArn *string `min:"1" type:"string" required:"true"`
11976
11977	// ID of the conformance pack.
11978	//
11979	// ConformancePackId is a required field
11980	ConformancePackId *string `min:"1" type:"string" required:"true"`
11981
11982	// Name of the conformance pack.
11983	//
11984	// ConformancePackName is a required field
11985	ConformancePackName *string `min:"1" type:"string" required:"true"`
11986
11987	// Indicates deployment status of conformance pack.
11988	//
11989	// AWS Config sets the state of the conformance pack to:
11990	//
11991	//    * CREATE_IN_PROGRESS when a conformance pack creation is in progress for
11992	//    an account.
11993	//
11994	//    * CREATE_COMPLETE when a conformance pack has been successfully created
11995	//    in your account.
11996	//
11997	//    * CREATE_FAILED when a conformance pack creation failed in your account.
11998	//
11999	//    * DELETE_IN_PROGRESS when a conformance pack deletion is in progress.
12000	//
12001	//    * DELETE_FAILED when a conformance pack deletion failed in your account.
12002	//
12003	// ConformancePackState is a required field
12004	ConformancePackState *string `type:"string" required:"true" enum:"ConformancePackState"`
12005
12006	// The reason of conformance pack creation failure.
12007	ConformancePackStatusReason *string `type:"string"`
12008
12009	// Last time when conformation pack creation and update was successful.
12010	LastUpdateCompletedTime *time.Time `type:"timestamp"`
12011
12012	// Last time when conformation pack creation and update was requested.
12013	//
12014	// LastUpdateRequestedTime is a required field
12015	LastUpdateRequestedTime *time.Time `type:"timestamp" required:"true"`
12016
12017	// Amazon Resource Name (ARN) of AWS CloudFormation stack.
12018	//
12019	// StackArn is a required field
12020	StackArn *string `min:"1" type:"string" required:"true"`
12021}
12022
12023// String returns the string representation
12024func (s ConformancePackStatusDetail) String() string {
12025	return awsutil.Prettify(s)
12026}
12027
12028// GoString returns the string representation
12029func (s ConformancePackStatusDetail) GoString() string {
12030	return s.String()
12031}
12032
12033// SetConformancePackArn sets the ConformancePackArn field's value.
12034func (s *ConformancePackStatusDetail) SetConformancePackArn(v string) *ConformancePackStatusDetail {
12035	s.ConformancePackArn = &v
12036	return s
12037}
12038
12039// SetConformancePackId sets the ConformancePackId field's value.
12040func (s *ConformancePackStatusDetail) SetConformancePackId(v string) *ConformancePackStatusDetail {
12041	s.ConformancePackId = &v
12042	return s
12043}
12044
12045// SetConformancePackName sets the ConformancePackName field's value.
12046func (s *ConformancePackStatusDetail) SetConformancePackName(v string) *ConformancePackStatusDetail {
12047	s.ConformancePackName = &v
12048	return s
12049}
12050
12051// SetConformancePackState sets the ConformancePackState field's value.
12052func (s *ConformancePackStatusDetail) SetConformancePackState(v string) *ConformancePackStatusDetail {
12053	s.ConformancePackState = &v
12054	return s
12055}
12056
12057// SetConformancePackStatusReason sets the ConformancePackStatusReason field's value.
12058func (s *ConformancePackStatusDetail) SetConformancePackStatusReason(v string) *ConformancePackStatusDetail {
12059	s.ConformancePackStatusReason = &v
12060	return s
12061}
12062
12063// SetLastUpdateCompletedTime sets the LastUpdateCompletedTime field's value.
12064func (s *ConformancePackStatusDetail) SetLastUpdateCompletedTime(v time.Time) *ConformancePackStatusDetail {
12065	s.LastUpdateCompletedTime = &v
12066	return s
12067}
12068
12069// SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
12070func (s *ConformancePackStatusDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackStatusDetail {
12071	s.LastUpdateRequestedTime = &v
12072	return s
12073}
12074
12075// SetStackArn sets the StackArn field's value.
12076func (s *ConformancePackStatusDetail) SetStackArn(v string) *ConformancePackStatusDetail {
12077	s.StackArn = &v
12078	return s
12079}
12080
12081// You have specified a template that is not valid or supported.
12082type ConformancePackTemplateValidationException struct {
12083	_            struct{}                  `type:"structure"`
12084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12085
12086	Message_ *string `locationName:"message" type:"string"`
12087}
12088
12089// String returns the string representation
12090func (s ConformancePackTemplateValidationException) String() string {
12091	return awsutil.Prettify(s)
12092}
12093
12094// GoString returns the string representation
12095func (s ConformancePackTemplateValidationException) GoString() string {
12096	return s.String()
12097}
12098
12099func newErrorConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
12100	return &ConformancePackTemplateValidationException{
12101		RespMetadata: v,
12102	}
12103}
12104
12105// Code returns the exception type name.
12106func (s *ConformancePackTemplateValidationException) Code() string {
12107	return "ConformancePackTemplateValidationException"
12108}
12109
12110// Message returns the exception's message.
12111func (s *ConformancePackTemplateValidationException) Message() string {
12112	if s.Message_ != nil {
12113		return *s.Message_
12114	}
12115	return ""
12116}
12117
12118// OrigErr always returns nil, satisfies awserr.Error interface.
12119func (s *ConformancePackTemplateValidationException) OrigErr() error {
12120	return nil
12121}
12122
12123func (s *ConformancePackTemplateValidationException) Error() string {
12124	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12125}
12126
12127// Status code returns the HTTP status code for the request's response error.
12128func (s *ConformancePackTemplateValidationException) StatusCode() int {
12129	return s.RespMetadata.StatusCode
12130}
12131
12132// RequestID returns the service's response RequestID for request.
12133func (s *ConformancePackTemplateValidationException) RequestID() string {
12134	return s.RespMetadata.RequestID
12135}
12136
12137type DeleteAggregationAuthorizationInput struct {
12138	_ struct{} `type:"structure"`
12139
12140	// The 12-digit account ID of the account authorized to aggregate data.
12141	//
12142	// AuthorizedAccountId is a required field
12143	AuthorizedAccountId *string `type:"string" required:"true"`
12144
12145	// The region authorized to collect aggregated data.
12146	//
12147	// AuthorizedAwsRegion is a required field
12148	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
12149}
12150
12151// String returns the string representation
12152func (s DeleteAggregationAuthorizationInput) String() string {
12153	return awsutil.Prettify(s)
12154}
12155
12156// GoString returns the string representation
12157func (s DeleteAggregationAuthorizationInput) GoString() string {
12158	return s.String()
12159}
12160
12161// Validate inspects the fields of the type to determine if they are valid.
12162func (s *DeleteAggregationAuthorizationInput) Validate() error {
12163	invalidParams := request.ErrInvalidParams{Context: "DeleteAggregationAuthorizationInput"}
12164	if s.AuthorizedAccountId == nil {
12165		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
12166	}
12167	if s.AuthorizedAwsRegion == nil {
12168		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
12169	}
12170	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
12171		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
12172	}
12173
12174	if invalidParams.Len() > 0 {
12175		return invalidParams
12176	}
12177	return nil
12178}
12179
12180// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
12181func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *DeleteAggregationAuthorizationInput {
12182	s.AuthorizedAccountId = &v
12183	return s
12184}
12185
12186// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
12187func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *DeleteAggregationAuthorizationInput {
12188	s.AuthorizedAwsRegion = &v
12189	return s
12190}
12191
12192type DeleteAggregationAuthorizationOutput struct {
12193	_ struct{} `type:"structure"`
12194}
12195
12196// String returns the string representation
12197func (s DeleteAggregationAuthorizationOutput) String() string {
12198	return awsutil.Prettify(s)
12199}
12200
12201// GoString returns the string representation
12202func (s DeleteAggregationAuthorizationOutput) GoString() string {
12203	return s.String()
12204}
12205
12206type DeleteConfigRuleInput struct {
12207	_ struct{} `type:"structure"`
12208
12209	// The name of the AWS Config rule that you want to delete.
12210	//
12211	// ConfigRuleName is a required field
12212	ConfigRuleName *string `min:"1" type:"string" required:"true"`
12213}
12214
12215// String returns the string representation
12216func (s DeleteConfigRuleInput) String() string {
12217	return awsutil.Prettify(s)
12218}
12219
12220// GoString returns the string representation
12221func (s DeleteConfigRuleInput) GoString() string {
12222	return s.String()
12223}
12224
12225// Validate inspects the fields of the type to determine if they are valid.
12226func (s *DeleteConfigRuleInput) Validate() error {
12227	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigRuleInput"}
12228	if s.ConfigRuleName == nil {
12229		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
12230	}
12231	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
12232		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
12233	}
12234
12235	if invalidParams.Len() > 0 {
12236		return invalidParams
12237	}
12238	return nil
12239}
12240
12241// SetConfigRuleName sets the ConfigRuleName field's value.
12242func (s *DeleteConfigRuleInput) SetConfigRuleName(v string) *DeleteConfigRuleInput {
12243	s.ConfigRuleName = &v
12244	return s
12245}
12246
12247type DeleteConfigRuleOutput struct {
12248	_ struct{} `type:"structure"`
12249}
12250
12251// String returns the string representation
12252func (s DeleteConfigRuleOutput) String() string {
12253	return awsutil.Prettify(s)
12254}
12255
12256// GoString returns the string representation
12257func (s DeleteConfigRuleOutput) GoString() string {
12258	return s.String()
12259}
12260
12261type DeleteConfigurationAggregatorInput struct {
12262	_ struct{} `type:"structure"`
12263
12264	// The name of the configuration aggregator.
12265	//
12266	// ConfigurationAggregatorName is a required field
12267	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
12268}
12269
12270// String returns the string representation
12271func (s DeleteConfigurationAggregatorInput) String() string {
12272	return awsutil.Prettify(s)
12273}
12274
12275// GoString returns the string representation
12276func (s DeleteConfigurationAggregatorInput) GoString() string {
12277	return s.String()
12278}
12279
12280// Validate inspects the fields of the type to determine if they are valid.
12281func (s *DeleteConfigurationAggregatorInput) Validate() error {
12282	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationAggregatorInput"}
12283	if s.ConfigurationAggregatorName == nil {
12284		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
12285	}
12286	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
12287		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
12288	}
12289
12290	if invalidParams.Len() > 0 {
12291		return invalidParams
12292	}
12293	return nil
12294}
12295
12296// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
12297func (s *DeleteConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *DeleteConfigurationAggregatorInput {
12298	s.ConfigurationAggregatorName = &v
12299	return s
12300}
12301
12302type DeleteConfigurationAggregatorOutput struct {
12303	_ struct{} `type:"structure"`
12304}
12305
12306// String returns the string representation
12307func (s DeleteConfigurationAggregatorOutput) String() string {
12308	return awsutil.Prettify(s)
12309}
12310
12311// GoString returns the string representation
12312func (s DeleteConfigurationAggregatorOutput) GoString() string {
12313	return s.String()
12314}
12315
12316// The request object for the DeleteConfigurationRecorder action.
12317type DeleteConfigurationRecorderInput struct {
12318	_ struct{} `type:"structure"`
12319
12320	// The name of the configuration recorder to be deleted. You can retrieve the
12321	// name of your configuration recorder by using the DescribeConfigurationRecorders
12322	// action.
12323	//
12324	// ConfigurationRecorderName is a required field
12325	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
12326}
12327
12328// String returns the string representation
12329func (s DeleteConfigurationRecorderInput) String() string {
12330	return awsutil.Prettify(s)
12331}
12332
12333// GoString returns the string representation
12334func (s DeleteConfigurationRecorderInput) GoString() string {
12335	return s.String()
12336}
12337
12338// Validate inspects the fields of the type to determine if they are valid.
12339func (s *DeleteConfigurationRecorderInput) Validate() error {
12340	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationRecorderInput"}
12341	if s.ConfigurationRecorderName == nil {
12342		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
12343	}
12344	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
12345		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
12346	}
12347
12348	if invalidParams.Len() > 0 {
12349		return invalidParams
12350	}
12351	return nil
12352}
12353
12354// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
12355func (s *DeleteConfigurationRecorderInput) SetConfigurationRecorderName(v string) *DeleteConfigurationRecorderInput {
12356	s.ConfigurationRecorderName = &v
12357	return s
12358}
12359
12360type DeleteConfigurationRecorderOutput struct {
12361	_ struct{} `type:"structure"`
12362}
12363
12364// String returns the string representation
12365func (s DeleteConfigurationRecorderOutput) String() string {
12366	return awsutil.Prettify(s)
12367}
12368
12369// GoString returns the string representation
12370func (s DeleteConfigurationRecorderOutput) GoString() string {
12371	return s.String()
12372}
12373
12374type DeleteConformancePackInput struct {
12375	_ struct{} `type:"structure"`
12376
12377	// Name of the conformance pack you want to delete.
12378	//
12379	// ConformancePackName is a required field
12380	ConformancePackName *string `min:"1" type:"string" required:"true"`
12381}
12382
12383// String returns the string representation
12384func (s DeleteConformancePackInput) String() string {
12385	return awsutil.Prettify(s)
12386}
12387
12388// GoString returns the string representation
12389func (s DeleteConformancePackInput) GoString() string {
12390	return s.String()
12391}
12392
12393// Validate inspects the fields of the type to determine if they are valid.
12394func (s *DeleteConformancePackInput) Validate() error {
12395	invalidParams := request.ErrInvalidParams{Context: "DeleteConformancePackInput"}
12396	if s.ConformancePackName == nil {
12397		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
12398	}
12399	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
12400		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
12401	}
12402
12403	if invalidParams.Len() > 0 {
12404		return invalidParams
12405	}
12406	return nil
12407}
12408
12409// SetConformancePackName sets the ConformancePackName field's value.
12410func (s *DeleteConformancePackInput) SetConformancePackName(v string) *DeleteConformancePackInput {
12411	s.ConformancePackName = &v
12412	return s
12413}
12414
12415type DeleteConformancePackOutput struct {
12416	_ struct{} `type:"structure"`
12417}
12418
12419// String returns the string representation
12420func (s DeleteConformancePackOutput) String() string {
12421	return awsutil.Prettify(s)
12422}
12423
12424// GoString returns the string representation
12425func (s DeleteConformancePackOutput) GoString() string {
12426	return s.String()
12427}
12428
12429// The input for the DeleteDeliveryChannel action. The action accepts the following
12430// data, in JSON format.
12431type DeleteDeliveryChannelInput struct {
12432	_ struct{} `type:"structure"`
12433
12434	// The name of the delivery channel to delete.
12435	//
12436	// DeliveryChannelName is a required field
12437	DeliveryChannelName *string `min:"1" type:"string" required:"true"`
12438}
12439
12440// String returns the string representation
12441func (s DeleteDeliveryChannelInput) String() string {
12442	return awsutil.Prettify(s)
12443}
12444
12445// GoString returns the string representation
12446func (s DeleteDeliveryChannelInput) GoString() string {
12447	return s.String()
12448}
12449
12450// Validate inspects the fields of the type to determine if they are valid.
12451func (s *DeleteDeliveryChannelInput) Validate() error {
12452	invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryChannelInput"}
12453	if s.DeliveryChannelName == nil {
12454		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
12455	}
12456	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
12457		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
12458	}
12459
12460	if invalidParams.Len() > 0 {
12461		return invalidParams
12462	}
12463	return nil
12464}
12465
12466// SetDeliveryChannelName sets the DeliveryChannelName field's value.
12467func (s *DeleteDeliveryChannelInput) SetDeliveryChannelName(v string) *DeleteDeliveryChannelInput {
12468	s.DeliveryChannelName = &v
12469	return s
12470}
12471
12472type DeleteDeliveryChannelOutput struct {
12473	_ struct{} `type:"structure"`
12474}
12475
12476// String returns the string representation
12477func (s DeleteDeliveryChannelOutput) String() string {
12478	return awsutil.Prettify(s)
12479}
12480
12481// GoString returns the string representation
12482func (s DeleteDeliveryChannelOutput) GoString() string {
12483	return s.String()
12484}
12485
12486type DeleteEvaluationResultsInput struct {
12487	_ struct{} `type:"structure"`
12488
12489	// The name of the AWS Config rule for which you want to delete the evaluation
12490	// results.
12491	//
12492	// ConfigRuleName is a required field
12493	ConfigRuleName *string `min:"1" type:"string" required:"true"`
12494}
12495
12496// String returns the string representation
12497func (s DeleteEvaluationResultsInput) String() string {
12498	return awsutil.Prettify(s)
12499}
12500
12501// GoString returns the string representation
12502func (s DeleteEvaluationResultsInput) GoString() string {
12503	return s.String()
12504}
12505
12506// Validate inspects the fields of the type to determine if they are valid.
12507func (s *DeleteEvaluationResultsInput) Validate() error {
12508	invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationResultsInput"}
12509	if s.ConfigRuleName == nil {
12510		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
12511	}
12512	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
12513		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
12514	}
12515
12516	if invalidParams.Len() > 0 {
12517		return invalidParams
12518	}
12519	return nil
12520}
12521
12522// SetConfigRuleName sets the ConfigRuleName field's value.
12523func (s *DeleteEvaluationResultsInput) SetConfigRuleName(v string) *DeleteEvaluationResultsInput {
12524	s.ConfigRuleName = &v
12525	return s
12526}
12527
12528// The output when you delete the evaluation results for the specified AWS Config
12529// rule.
12530type DeleteEvaluationResultsOutput struct {
12531	_ struct{} `type:"structure"`
12532}
12533
12534// String returns the string representation
12535func (s DeleteEvaluationResultsOutput) String() string {
12536	return awsutil.Prettify(s)
12537}
12538
12539// GoString returns the string representation
12540func (s DeleteEvaluationResultsOutput) GoString() string {
12541	return s.String()
12542}
12543
12544type DeleteOrganizationConfigRuleInput struct {
12545	_ struct{} `type:"structure"`
12546
12547	// The name of organization config rule that you want to delete.
12548	//
12549	// OrganizationConfigRuleName is a required field
12550	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
12551}
12552
12553// String returns the string representation
12554func (s DeleteOrganizationConfigRuleInput) String() string {
12555	return awsutil.Prettify(s)
12556}
12557
12558// GoString returns the string representation
12559func (s DeleteOrganizationConfigRuleInput) GoString() string {
12560	return s.String()
12561}
12562
12563// Validate inspects the fields of the type to determine if they are valid.
12564func (s *DeleteOrganizationConfigRuleInput) Validate() error {
12565	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConfigRuleInput"}
12566	if s.OrganizationConfigRuleName == nil {
12567		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
12568	}
12569	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
12570		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
12571	}
12572
12573	if invalidParams.Len() > 0 {
12574		return invalidParams
12575	}
12576	return nil
12577}
12578
12579// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
12580func (s *DeleteOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *DeleteOrganizationConfigRuleInput {
12581	s.OrganizationConfigRuleName = &v
12582	return s
12583}
12584
12585type DeleteOrganizationConfigRuleOutput struct {
12586	_ struct{} `type:"structure"`
12587}
12588
12589// String returns the string representation
12590func (s DeleteOrganizationConfigRuleOutput) String() string {
12591	return awsutil.Prettify(s)
12592}
12593
12594// GoString returns the string representation
12595func (s DeleteOrganizationConfigRuleOutput) GoString() string {
12596	return s.String()
12597}
12598
12599type DeleteOrganizationConformancePackInput struct {
12600	_ struct{} `type:"structure"`
12601
12602	// The name of organization conformance pack that you want to delete.
12603	//
12604	// OrganizationConformancePackName is a required field
12605	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
12606}
12607
12608// String returns the string representation
12609func (s DeleteOrganizationConformancePackInput) String() string {
12610	return awsutil.Prettify(s)
12611}
12612
12613// GoString returns the string representation
12614func (s DeleteOrganizationConformancePackInput) GoString() string {
12615	return s.String()
12616}
12617
12618// Validate inspects the fields of the type to determine if they are valid.
12619func (s *DeleteOrganizationConformancePackInput) Validate() error {
12620	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConformancePackInput"}
12621	if s.OrganizationConformancePackName == nil {
12622		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
12623	}
12624	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
12625		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
12626	}
12627
12628	if invalidParams.Len() > 0 {
12629		return invalidParams
12630	}
12631	return nil
12632}
12633
12634// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
12635func (s *DeleteOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *DeleteOrganizationConformancePackInput {
12636	s.OrganizationConformancePackName = &v
12637	return s
12638}
12639
12640type DeleteOrganizationConformancePackOutput struct {
12641	_ struct{} `type:"structure"`
12642}
12643
12644// String returns the string representation
12645func (s DeleteOrganizationConformancePackOutput) String() string {
12646	return awsutil.Prettify(s)
12647}
12648
12649// GoString returns the string representation
12650func (s DeleteOrganizationConformancePackOutput) GoString() string {
12651	return s.String()
12652}
12653
12654type DeletePendingAggregationRequestInput struct {
12655	_ struct{} `type:"structure"`
12656
12657	// The 12-digit account ID of the account requesting to aggregate data.
12658	//
12659	// RequesterAccountId is a required field
12660	RequesterAccountId *string `type:"string" required:"true"`
12661
12662	// The region requesting to aggregate data.
12663	//
12664	// RequesterAwsRegion is a required field
12665	RequesterAwsRegion *string `min:"1" type:"string" required:"true"`
12666}
12667
12668// String returns the string representation
12669func (s DeletePendingAggregationRequestInput) String() string {
12670	return awsutil.Prettify(s)
12671}
12672
12673// GoString returns the string representation
12674func (s DeletePendingAggregationRequestInput) GoString() string {
12675	return s.String()
12676}
12677
12678// Validate inspects the fields of the type to determine if they are valid.
12679func (s *DeletePendingAggregationRequestInput) Validate() error {
12680	invalidParams := request.ErrInvalidParams{Context: "DeletePendingAggregationRequestInput"}
12681	if s.RequesterAccountId == nil {
12682		invalidParams.Add(request.NewErrParamRequired("RequesterAccountId"))
12683	}
12684	if s.RequesterAwsRegion == nil {
12685		invalidParams.Add(request.NewErrParamRequired("RequesterAwsRegion"))
12686	}
12687	if s.RequesterAwsRegion != nil && len(*s.RequesterAwsRegion) < 1 {
12688		invalidParams.Add(request.NewErrParamMinLen("RequesterAwsRegion", 1))
12689	}
12690
12691	if invalidParams.Len() > 0 {
12692		return invalidParams
12693	}
12694	return nil
12695}
12696
12697// SetRequesterAccountId sets the RequesterAccountId field's value.
12698func (s *DeletePendingAggregationRequestInput) SetRequesterAccountId(v string) *DeletePendingAggregationRequestInput {
12699	s.RequesterAccountId = &v
12700	return s
12701}
12702
12703// SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
12704func (s *DeletePendingAggregationRequestInput) SetRequesterAwsRegion(v string) *DeletePendingAggregationRequestInput {
12705	s.RequesterAwsRegion = &v
12706	return s
12707}
12708
12709type DeletePendingAggregationRequestOutput struct {
12710	_ struct{} `type:"structure"`
12711}
12712
12713// String returns the string representation
12714func (s DeletePendingAggregationRequestOutput) String() string {
12715	return awsutil.Prettify(s)
12716}
12717
12718// GoString returns the string representation
12719func (s DeletePendingAggregationRequestOutput) GoString() string {
12720	return s.String()
12721}
12722
12723type DeleteRemediationConfigurationInput struct {
12724	_ struct{} `type:"structure"`
12725
12726	// The name of the AWS Config rule for which you want to delete remediation
12727	// configuration.
12728	//
12729	// ConfigRuleName is a required field
12730	ConfigRuleName *string `min:"1" type:"string" required:"true"`
12731
12732	// The type of a resource.
12733	ResourceType *string `type:"string"`
12734}
12735
12736// String returns the string representation
12737func (s DeleteRemediationConfigurationInput) String() string {
12738	return awsutil.Prettify(s)
12739}
12740
12741// GoString returns the string representation
12742func (s DeleteRemediationConfigurationInput) GoString() string {
12743	return s.String()
12744}
12745
12746// Validate inspects the fields of the type to determine if they are valid.
12747func (s *DeleteRemediationConfigurationInput) Validate() error {
12748	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationConfigurationInput"}
12749	if s.ConfigRuleName == nil {
12750		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
12751	}
12752	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
12753		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
12754	}
12755
12756	if invalidParams.Len() > 0 {
12757		return invalidParams
12758	}
12759	return nil
12760}
12761
12762// SetConfigRuleName sets the ConfigRuleName field's value.
12763func (s *DeleteRemediationConfigurationInput) SetConfigRuleName(v string) *DeleteRemediationConfigurationInput {
12764	s.ConfigRuleName = &v
12765	return s
12766}
12767
12768// SetResourceType sets the ResourceType field's value.
12769func (s *DeleteRemediationConfigurationInput) SetResourceType(v string) *DeleteRemediationConfigurationInput {
12770	s.ResourceType = &v
12771	return s
12772}
12773
12774type DeleteRemediationConfigurationOutput struct {
12775	_ struct{} `type:"structure"`
12776}
12777
12778// String returns the string representation
12779func (s DeleteRemediationConfigurationOutput) String() string {
12780	return awsutil.Prettify(s)
12781}
12782
12783// GoString returns the string representation
12784func (s DeleteRemediationConfigurationOutput) GoString() string {
12785	return s.String()
12786}
12787
12788type DeleteRemediationExceptionsInput struct {
12789	_ struct{} `type:"structure"`
12790
12791	// The name of the AWS Config rule for which you want to delete remediation
12792	// exception configuration.
12793	//
12794	// ConfigRuleName is a required field
12795	ConfigRuleName *string `min:"1" type:"string" required:"true"`
12796
12797	// An exception list of resource exception keys to be processed with the current
12798	// request. AWS Config adds exception for each resource key. For example, AWS
12799	// Config adds 3 exceptions for 3 resource keys.
12800	//
12801	// ResourceKeys is a required field
12802	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
12803}
12804
12805// String returns the string representation
12806func (s DeleteRemediationExceptionsInput) String() string {
12807	return awsutil.Prettify(s)
12808}
12809
12810// GoString returns the string representation
12811func (s DeleteRemediationExceptionsInput) GoString() string {
12812	return s.String()
12813}
12814
12815// Validate inspects the fields of the type to determine if they are valid.
12816func (s *DeleteRemediationExceptionsInput) Validate() error {
12817	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationExceptionsInput"}
12818	if s.ConfigRuleName == nil {
12819		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
12820	}
12821	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
12822		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
12823	}
12824	if s.ResourceKeys == nil {
12825		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
12826	}
12827	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
12828		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
12829	}
12830	if s.ResourceKeys != nil {
12831		for i, v := range s.ResourceKeys {
12832			if v == nil {
12833				continue
12834			}
12835			if err := v.Validate(); err != nil {
12836				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
12837			}
12838		}
12839	}
12840
12841	if invalidParams.Len() > 0 {
12842		return invalidParams
12843	}
12844	return nil
12845}
12846
12847// SetConfigRuleName sets the ConfigRuleName field's value.
12848func (s *DeleteRemediationExceptionsInput) SetConfigRuleName(v string) *DeleteRemediationExceptionsInput {
12849	s.ConfigRuleName = &v
12850	return s
12851}
12852
12853// SetResourceKeys sets the ResourceKeys field's value.
12854func (s *DeleteRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DeleteRemediationExceptionsInput {
12855	s.ResourceKeys = v
12856	return s
12857}
12858
12859type DeleteRemediationExceptionsOutput struct {
12860	_ struct{} `type:"structure"`
12861
12862	// Returns a list of failed delete remediation exceptions batch objects. Each
12863	// object in the batch consists of a list of failed items and failure messages.
12864	FailedBatches []*FailedDeleteRemediationExceptionsBatch `type:"list"`
12865}
12866
12867// String returns the string representation
12868func (s DeleteRemediationExceptionsOutput) String() string {
12869	return awsutil.Prettify(s)
12870}
12871
12872// GoString returns the string representation
12873func (s DeleteRemediationExceptionsOutput) GoString() string {
12874	return s.String()
12875}
12876
12877// SetFailedBatches sets the FailedBatches field's value.
12878func (s *DeleteRemediationExceptionsOutput) SetFailedBatches(v []*FailedDeleteRemediationExceptionsBatch) *DeleteRemediationExceptionsOutput {
12879	s.FailedBatches = v
12880	return s
12881}
12882
12883type DeleteResourceConfigInput struct {
12884	_ struct{} `type:"structure"`
12885
12886	// Unique identifier of the resource.
12887	//
12888	// ResourceId is a required field
12889	ResourceId *string `min:"1" type:"string" required:"true"`
12890
12891	// The type of the resource.
12892	//
12893	// ResourceType is a required field
12894	ResourceType *string `min:"1" type:"string" required:"true"`
12895}
12896
12897// String returns the string representation
12898func (s DeleteResourceConfigInput) String() string {
12899	return awsutil.Prettify(s)
12900}
12901
12902// GoString returns the string representation
12903func (s DeleteResourceConfigInput) GoString() string {
12904	return s.String()
12905}
12906
12907// Validate inspects the fields of the type to determine if they are valid.
12908func (s *DeleteResourceConfigInput) Validate() error {
12909	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceConfigInput"}
12910	if s.ResourceId == nil {
12911		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12912	}
12913	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
12914		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
12915	}
12916	if s.ResourceType == nil {
12917		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
12918	}
12919	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
12920		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
12921	}
12922
12923	if invalidParams.Len() > 0 {
12924		return invalidParams
12925	}
12926	return nil
12927}
12928
12929// SetResourceId sets the ResourceId field's value.
12930func (s *DeleteResourceConfigInput) SetResourceId(v string) *DeleteResourceConfigInput {
12931	s.ResourceId = &v
12932	return s
12933}
12934
12935// SetResourceType sets the ResourceType field's value.
12936func (s *DeleteResourceConfigInput) SetResourceType(v string) *DeleteResourceConfigInput {
12937	s.ResourceType = &v
12938	return s
12939}
12940
12941type DeleteResourceConfigOutput struct {
12942	_ struct{} `type:"structure"`
12943}
12944
12945// String returns the string representation
12946func (s DeleteResourceConfigOutput) String() string {
12947	return awsutil.Prettify(s)
12948}
12949
12950// GoString returns the string representation
12951func (s DeleteResourceConfigOutput) GoString() string {
12952	return s.String()
12953}
12954
12955type DeleteRetentionConfigurationInput struct {
12956	_ struct{} `type:"structure"`
12957
12958	// The name of the retention configuration to delete.
12959	//
12960	// RetentionConfigurationName is a required field
12961	RetentionConfigurationName *string `min:"1" type:"string" required:"true"`
12962}
12963
12964// String returns the string representation
12965func (s DeleteRetentionConfigurationInput) String() string {
12966	return awsutil.Prettify(s)
12967}
12968
12969// GoString returns the string representation
12970func (s DeleteRetentionConfigurationInput) GoString() string {
12971	return s.String()
12972}
12973
12974// Validate inspects the fields of the type to determine if they are valid.
12975func (s *DeleteRetentionConfigurationInput) Validate() error {
12976	invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionConfigurationInput"}
12977	if s.RetentionConfigurationName == nil {
12978		invalidParams.Add(request.NewErrParamRequired("RetentionConfigurationName"))
12979	}
12980	if s.RetentionConfigurationName != nil && len(*s.RetentionConfigurationName) < 1 {
12981		invalidParams.Add(request.NewErrParamMinLen("RetentionConfigurationName", 1))
12982	}
12983
12984	if invalidParams.Len() > 0 {
12985		return invalidParams
12986	}
12987	return nil
12988}
12989
12990// SetRetentionConfigurationName sets the RetentionConfigurationName field's value.
12991func (s *DeleteRetentionConfigurationInput) SetRetentionConfigurationName(v string) *DeleteRetentionConfigurationInput {
12992	s.RetentionConfigurationName = &v
12993	return s
12994}
12995
12996type DeleteRetentionConfigurationOutput struct {
12997	_ struct{} `type:"structure"`
12998}
12999
13000// String returns the string representation
13001func (s DeleteRetentionConfigurationOutput) String() string {
13002	return awsutil.Prettify(s)
13003}
13004
13005// GoString returns the string representation
13006func (s DeleteRetentionConfigurationOutput) GoString() string {
13007	return s.String()
13008}
13009
13010type DeleteStoredQueryInput struct {
13011	_ struct{} `type:"structure"`
13012
13013	// The name of the query that you want to delete.
13014	//
13015	// QueryName is a required field
13016	QueryName *string `min:"1" type:"string" required:"true"`
13017}
13018
13019// String returns the string representation
13020func (s DeleteStoredQueryInput) String() string {
13021	return awsutil.Prettify(s)
13022}
13023
13024// GoString returns the string representation
13025func (s DeleteStoredQueryInput) GoString() string {
13026	return s.String()
13027}
13028
13029// Validate inspects the fields of the type to determine if they are valid.
13030func (s *DeleteStoredQueryInput) Validate() error {
13031	invalidParams := request.ErrInvalidParams{Context: "DeleteStoredQueryInput"}
13032	if s.QueryName == nil {
13033		invalidParams.Add(request.NewErrParamRequired("QueryName"))
13034	}
13035	if s.QueryName != nil && len(*s.QueryName) < 1 {
13036		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
13037	}
13038
13039	if invalidParams.Len() > 0 {
13040		return invalidParams
13041	}
13042	return nil
13043}
13044
13045// SetQueryName sets the QueryName field's value.
13046func (s *DeleteStoredQueryInput) SetQueryName(v string) *DeleteStoredQueryInput {
13047	s.QueryName = &v
13048	return s
13049}
13050
13051type DeleteStoredQueryOutput struct {
13052	_ struct{} `type:"structure"`
13053}
13054
13055// String returns the string representation
13056func (s DeleteStoredQueryOutput) String() string {
13057	return awsutil.Prettify(s)
13058}
13059
13060// GoString returns the string representation
13061func (s DeleteStoredQueryOutput) GoString() string {
13062	return s.String()
13063}
13064
13065// The input for the DeliverConfigSnapshot action.
13066type DeliverConfigSnapshotInput struct {
13067	_ struct{} `type:"structure"`
13068
13069	// The name of the delivery channel through which the snapshot is delivered.
13070	//
13071	// DeliveryChannelName is a required field
13072	DeliveryChannelName *string `locationName:"deliveryChannelName" min:"1" type:"string" required:"true"`
13073}
13074
13075// String returns the string representation
13076func (s DeliverConfigSnapshotInput) String() string {
13077	return awsutil.Prettify(s)
13078}
13079
13080// GoString returns the string representation
13081func (s DeliverConfigSnapshotInput) GoString() string {
13082	return s.String()
13083}
13084
13085// Validate inspects the fields of the type to determine if they are valid.
13086func (s *DeliverConfigSnapshotInput) Validate() error {
13087	invalidParams := request.ErrInvalidParams{Context: "DeliverConfigSnapshotInput"}
13088	if s.DeliveryChannelName == nil {
13089		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
13090	}
13091	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
13092		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
13093	}
13094
13095	if invalidParams.Len() > 0 {
13096		return invalidParams
13097	}
13098	return nil
13099}
13100
13101// SetDeliveryChannelName sets the DeliveryChannelName field's value.
13102func (s *DeliverConfigSnapshotInput) SetDeliveryChannelName(v string) *DeliverConfigSnapshotInput {
13103	s.DeliveryChannelName = &v
13104	return s
13105}
13106
13107// The output for the DeliverConfigSnapshot action, in JSON format.
13108type DeliverConfigSnapshotOutput struct {
13109	_ struct{} `type:"structure"`
13110
13111	// The ID of the snapshot that is being created.
13112	ConfigSnapshotId *string `locationName:"configSnapshotId" type:"string"`
13113}
13114
13115// String returns the string representation
13116func (s DeliverConfigSnapshotOutput) String() string {
13117	return awsutil.Prettify(s)
13118}
13119
13120// GoString returns the string representation
13121func (s DeliverConfigSnapshotOutput) GoString() string {
13122	return s.String()
13123}
13124
13125// SetConfigSnapshotId sets the ConfigSnapshotId field's value.
13126func (s *DeliverConfigSnapshotOutput) SetConfigSnapshotId(v string) *DeliverConfigSnapshotOutput {
13127	s.ConfigSnapshotId = &v
13128	return s
13129}
13130
13131// The channel through which AWS Config delivers notifications and updated configuration
13132// states.
13133type DeliveryChannel struct {
13134	_ struct{} `type:"structure"`
13135
13136	// The options for how often AWS Config delivers configuration snapshots to
13137	// the Amazon S3 bucket.
13138	ConfigSnapshotDeliveryProperties *ConfigSnapshotDeliveryProperties `locationName:"configSnapshotDeliveryProperties" type:"structure"`
13139
13140	// The name of the delivery channel. By default, AWS Config assigns the name
13141	// "default" when creating the delivery channel. To change the delivery channel
13142	// name, you must use the DeleteDeliveryChannel action to delete your current
13143	// delivery channel, and then you must use the PutDeliveryChannel command to
13144	// create a delivery channel that has the desired name.
13145	Name *string `locationName:"name" min:"1" type:"string"`
13146
13147	// The name of the Amazon S3 bucket to which AWS Config delivers configuration
13148	// snapshots and configuration history files.
13149	//
13150	// If you specify a bucket that belongs to another AWS account, that bucket
13151	// must have policies that grant access permissions to AWS Config. For more
13152	// information, see Permissions for the Amazon S3 Bucket (https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
13153	// in the AWS Config Developer Guide.
13154	S3BucketName *string `locationName:"s3BucketName" type:"string"`
13155
13156	// The prefix for the specified Amazon S3 bucket.
13157	S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
13158
13159	// The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) customer
13160	// managed key (CMK) used to encrypt objects delivered by AWS Config. Must belong
13161	// to the same Region as the destination S3 bucket.
13162	S3KmsKeyArn *string `locationName:"s3KmsKeyArn" type:"string"`
13163
13164	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config
13165	// sends notifications about configuration changes.
13166	//
13167	// If you choose a topic from another account, the topic must have policies
13168	// that grant access permissions to AWS Config. For more information, see Permissions
13169	// for the Amazon SNS Topic (https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
13170	// in the AWS Config Developer Guide.
13171	SnsTopicARN *string `locationName:"snsTopicARN" type:"string"`
13172}
13173
13174// String returns the string representation
13175func (s DeliveryChannel) String() string {
13176	return awsutil.Prettify(s)
13177}
13178
13179// GoString returns the string representation
13180func (s DeliveryChannel) GoString() string {
13181	return s.String()
13182}
13183
13184// Validate inspects the fields of the type to determine if they are valid.
13185func (s *DeliveryChannel) Validate() error {
13186	invalidParams := request.ErrInvalidParams{Context: "DeliveryChannel"}
13187	if s.Name != nil && len(*s.Name) < 1 {
13188		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13189	}
13190
13191	if invalidParams.Len() > 0 {
13192		return invalidParams
13193	}
13194	return nil
13195}
13196
13197// SetConfigSnapshotDeliveryProperties sets the ConfigSnapshotDeliveryProperties field's value.
13198func (s *DeliveryChannel) SetConfigSnapshotDeliveryProperties(v *ConfigSnapshotDeliveryProperties) *DeliveryChannel {
13199	s.ConfigSnapshotDeliveryProperties = v
13200	return s
13201}
13202
13203// SetName sets the Name field's value.
13204func (s *DeliveryChannel) SetName(v string) *DeliveryChannel {
13205	s.Name = &v
13206	return s
13207}
13208
13209// SetS3BucketName sets the S3BucketName field's value.
13210func (s *DeliveryChannel) SetS3BucketName(v string) *DeliveryChannel {
13211	s.S3BucketName = &v
13212	return s
13213}
13214
13215// SetS3KeyPrefix sets the S3KeyPrefix field's value.
13216func (s *DeliveryChannel) SetS3KeyPrefix(v string) *DeliveryChannel {
13217	s.S3KeyPrefix = &v
13218	return s
13219}
13220
13221// SetS3KmsKeyArn sets the S3KmsKeyArn field's value.
13222func (s *DeliveryChannel) SetS3KmsKeyArn(v string) *DeliveryChannel {
13223	s.S3KmsKeyArn = &v
13224	return s
13225}
13226
13227// SetSnsTopicARN sets the SnsTopicARN field's value.
13228func (s *DeliveryChannel) SetSnsTopicARN(v string) *DeliveryChannel {
13229	s.SnsTopicARN = &v
13230	return s
13231}
13232
13233// The status of a specified delivery channel.
13234//
13235// Valid values: Success | Failure
13236type DeliveryChannelStatus struct {
13237	_ struct{} `type:"structure"`
13238
13239	// A list that contains the status of the delivery of the configuration history
13240	// to the specified Amazon S3 bucket.
13241	ConfigHistoryDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configHistoryDeliveryInfo" type:"structure"`
13242
13243	// A list containing the status of the delivery of the snapshot to the specified
13244	// Amazon S3 bucket.
13245	ConfigSnapshotDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configSnapshotDeliveryInfo" type:"structure"`
13246
13247	// A list containing the status of the delivery of the configuration stream
13248	// notification to the specified Amazon SNS topic.
13249	ConfigStreamDeliveryInfo *ConfigStreamDeliveryInfo `locationName:"configStreamDeliveryInfo" type:"structure"`
13250
13251	// The name of the delivery channel.
13252	Name *string `locationName:"name" type:"string"`
13253}
13254
13255// String returns the string representation
13256func (s DeliveryChannelStatus) String() string {
13257	return awsutil.Prettify(s)
13258}
13259
13260// GoString returns the string representation
13261func (s DeliveryChannelStatus) GoString() string {
13262	return s.String()
13263}
13264
13265// SetConfigHistoryDeliveryInfo sets the ConfigHistoryDeliveryInfo field's value.
13266func (s *DeliveryChannelStatus) SetConfigHistoryDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
13267	s.ConfigHistoryDeliveryInfo = v
13268	return s
13269}
13270
13271// SetConfigSnapshotDeliveryInfo sets the ConfigSnapshotDeliveryInfo field's value.
13272func (s *DeliveryChannelStatus) SetConfigSnapshotDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
13273	s.ConfigSnapshotDeliveryInfo = v
13274	return s
13275}
13276
13277// SetConfigStreamDeliveryInfo sets the ConfigStreamDeliveryInfo field's value.
13278func (s *DeliveryChannelStatus) SetConfigStreamDeliveryInfo(v *ConfigStreamDeliveryInfo) *DeliveryChannelStatus {
13279	s.ConfigStreamDeliveryInfo = v
13280	return s
13281}
13282
13283// SetName sets the Name field's value.
13284func (s *DeliveryChannelStatus) SetName(v string) *DeliveryChannelStatus {
13285	s.Name = &v
13286	return s
13287}
13288
13289type DescribeAggregateComplianceByConfigRulesInput struct {
13290	_ struct{} `type:"structure"`
13291
13292	// The name of the configuration aggregator.
13293	//
13294	// ConfigurationAggregatorName is a required field
13295	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
13296
13297	// Filters the results by ConfigRuleComplianceFilters object.
13298	Filters *ConfigRuleComplianceFilters `type:"structure"`
13299
13300	// The maximum number of evaluation results returned on each page. The default
13301	// is maximum. If you specify 0, AWS Config uses the default.
13302	Limit *int64 `type:"integer"`
13303
13304	// The nextToken string returned on a previous page that you use to get the
13305	// next page of results in a paginated response.
13306	NextToken *string `type:"string"`
13307}
13308
13309// String returns the string representation
13310func (s DescribeAggregateComplianceByConfigRulesInput) String() string {
13311	return awsutil.Prettify(s)
13312}
13313
13314// GoString returns the string representation
13315func (s DescribeAggregateComplianceByConfigRulesInput) GoString() string {
13316	return s.String()
13317}
13318
13319// Validate inspects the fields of the type to determine if they are valid.
13320func (s *DescribeAggregateComplianceByConfigRulesInput) Validate() error {
13321	invalidParams := request.ErrInvalidParams{Context: "DescribeAggregateComplianceByConfigRulesInput"}
13322	if s.ConfigurationAggregatorName == nil {
13323		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
13324	}
13325	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
13326		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
13327	}
13328	if s.Filters != nil {
13329		if err := s.Filters.Validate(); err != nil {
13330			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
13331		}
13332	}
13333
13334	if invalidParams.Len() > 0 {
13335		return invalidParams
13336	}
13337	return nil
13338}
13339
13340// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
13341func (s *DescribeAggregateComplianceByConfigRulesInput) SetConfigurationAggregatorName(v string) *DescribeAggregateComplianceByConfigRulesInput {
13342	s.ConfigurationAggregatorName = &v
13343	return s
13344}
13345
13346// SetFilters sets the Filters field's value.
13347func (s *DescribeAggregateComplianceByConfigRulesInput) SetFilters(v *ConfigRuleComplianceFilters) *DescribeAggregateComplianceByConfigRulesInput {
13348	s.Filters = v
13349	return s
13350}
13351
13352// SetLimit sets the Limit field's value.
13353func (s *DescribeAggregateComplianceByConfigRulesInput) SetLimit(v int64) *DescribeAggregateComplianceByConfigRulesInput {
13354	s.Limit = &v
13355	return s
13356}
13357
13358// SetNextToken sets the NextToken field's value.
13359func (s *DescribeAggregateComplianceByConfigRulesInput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesInput {
13360	s.NextToken = &v
13361	return s
13362}
13363
13364type DescribeAggregateComplianceByConfigRulesOutput struct {
13365	_ struct{} `type:"structure"`
13366
13367	// Returns a list of AggregateComplianceByConfigRule object.
13368	AggregateComplianceByConfigRules []*AggregateComplianceByConfigRule `type:"list"`
13369
13370	// The nextToken string returned on a previous page that you use to get the
13371	// next page of results in a paginated response.
13372	NextToken *string `type:"string"`
13373}
13374
13375// String returns the string representation
13376func (s DescribeAggregateComplianceByConfigRulesOutput) String() string {
13377	return awsutil.Prettify(s)
13378}
13379
13380// GoString returns the string representation
13381func (s DescribeAggregateComplianceByConfigRulesOutput) GoString() string {
13382	return s.String()
13383}
13384
13385// SetAggregateComplianceByConfigRules sets the AggregateComplianceByConfigRules field's value.
13386func (s *DescribeAggregateComplianceByConfigRulesOutput) SetAggregateComplianceByConfigRules(v []*AggregateComplianceByConfigRule) *DescribeAggregateComplianceByConfigRulesOutput {
13387	s.AggregateComplianceByConfigRules = v
13388	return s
13389}
13390
13391// SetNextToken sets the NextToken field's value.
13392func (s *DescribeAggregateComplianceByConfigRulesOutput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesOutput {
13393	s.NextToken = &v
13394	return s
13395}
13396
13397type DescribeAggregateComplianceByConformancePacksInput struct {
13398	_ struct{} `type:"structure"`
13399
13400	// The name of the configuration aggregator.
13401	//
13402	// ConfigurationAggregatorName is a required field
13403	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
13404
13405	// Filters the result by AggregateConformancePackComplianceFilters object.
13406	Filters *AggregateConformancePackComplianceFilters `type:"structure"`
13407
13408	// The maximum number of conformance packs compliance details returned on each
13409	// page. The default is maximum. If you specify 0, AWS Config uses the default.
13410	Limit *int64 `type:"integer"`
13411
13412	// The nextToken string returned on a previous page that you use to get the
13413	// next page of results in a paginated response.
13414	NextToken *string `type:"string"`
13415}
13416
13417// String returns the string representation
13418func (s DescribeAggregateComplianceByConformancePacksInput) String() string {
13419	return awsutil.Prettify(s)
13420}
13421
13422// GoString returns the string representation
13423func (s DescribeAggregateComplianceByConformancePacksInput) GoString() string {
13424	return s.String()
13425}
13426
13427// Validate inspects the fields of the type to determine if they are valid.
13428func (s *DescribeAggregateComplianceByConformancePacksInput) Validate() error {
13429	invalidParams := request.ErrInvalidParams{Context: "DescribeAggregateComplianceByConformancePacksInput"}
13430	if s.ConfigurationAggregatorName == nil {
13431		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
13432	}
13433	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
13434		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
13435	}
13436	if s.Filters != nil {
13437		if err := s.Filters.Validate(); err != nil {
13438			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
13439		}
13440	}
13441
13442	if invalidParams.Len() > 0 {
13443		return invalidParams
13444	}
13445	return nil
13446}
13447
13448// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
13449func (s *DescribeAggregateComplianceByConformancePacksInput) SetConfigurationAggregatorName(v string) *DescribeAggregateComplianceByConformancePacksInput {
13450	s.ConfigurationAggregatorName = &v
13451	return s
13452}
13453
13454// SetFilters sets the Filters field's value.
13455func (s *DescribeAggregateComplianceByConformancePacksInput) SetFilters(v *AggregateConformancePackComplianceFilters) *DescribeAggregateComplianceByConformancePacksInput {
13456	s.Filters = v
13457	return s
13458}
13459
13460// SetLimit sets the Limit field's value.
13461func (s *DescribeAggregateComplianceByConformancePacksInput) SetLimit(v int64) *DescribeAggregateComplianceByConformancePacksInput {
13462	s.Limit = &v
13463	return s
13464}
13465
13466// SetNextToken sets the NextToken field's value.
13467func (s *DescribeAggregateComplianceByConformancePacksInput) SetNextToken(v string) *DescribeAggregateComplianceByConformancePacksInput {
13468	s.NextToken = &v
13469	return s
13470}
13471
13472type DescribeAggregateComplianceByConformancePacksOutput struct {
13473	_ struct{} `type:"structure"`
13474
13475	// Returns the AggregateComplianceByConformancePack object.
13476	AggregateComplianceByConformancePacks []*AggregateComplianceByConformancePack `type:"list"`
13477
13478	// The nextToken string returned on a previous page that you use to get the
13479	// next page of results in a paginated response.
13480	NextToken *string `type:"string"`
13481}
13482
13483// String returns the string representation
13484func (s DescribeAggregateComplianceByConformancePacksOutput) String() string {
13485	return awsutil.Prettify(s)
13486}
13487
13488// GoString returns the string representation
13489func (s DescribeAggregateComplianceByConformancePacksOutput) GoString() string {
13490	return s.String()
13491}
13492
13493// SetAggregateComplianceByConformancePacks sets the AggregateComplianceByConformancePacks field's value.
13494func (s *DescribeAggregateComplianceByConformancePacksOutput) SetAggregateComplianceByConformancePacks(v []*AggregateComplianceByConformancePack) *DescribeAggregateComplianceByConformancePacksOutput {
13495	s.AggregateComplianceByConformancePacks = v
13496	return s
13497}
13498
13499// SetNextToken sets the NextToken field's value.
13500func (s *DescribeAggregateComplianceByConformancePacksOutput) SetNextToken(v string) *DescribeAggregateComplianceByConformancePacksOutput {
13501	s.NextToken = &v
13502	return s
13503}
13504
13505type DescribeAggregationAuthorizationsInput struct {
13506	_ struct{} `type:"structure"`
13507
13508	// The maximum number of AggregationAuthorizations returned on each page. The
13509	// default is maximum. If you specify 0, AWS Config uses the default.
13510	Limit *int64 `type:"integer"`
13511
13512	// The nextToken string returned on a previous page that you use to get the
13513	// next page of results in a paginated response.
13514	NextToken *string `type:"string"`
13515}
13516
13517// String returns the string representation
13518func (s DescribeAggregationAuthorizationsInput) String() string {
13519	return awsutil.Prettify(s)
13520}
13521
13522// GoString returns the string representation
13523func (s DescribeAggregationAuthorizationsInput) GoString() string {
13524	return s.String()
13525}
13526
13527// SetLimit sets the Limit field's value.
13528func (s *DescribeAggregationAuthorizationsInput) SetLimit(v int64) *DescribeAggregationAuthorizationsInput {
13529	s.Limit = &v
13530	return s
13531}
13532
13533// SetNextToken sets the NextToken field's value.
13534func (s *DescribeAggregationAuthorizationsInput) SetNextToken(v string) *DescribeAggregationAuthorizationsInput {
13535	s.NextToken = &v
13536	return s
13537}
13538
13539type DescribeAggregationAuthorizationsOutput struct {
13540	_ struct{} `type:"structure"`
13541
13542	// Returns a list of authorizations granted to various aggregator accounts and
13543	// regions.
13544	AggregationAuthorizations []*AggregationAuthorization `type:"list"`
13545
13546	// The nextToken string returned on a previous page that you use to get the
13547	// next page of results in a paginated response.
13548	NextToken *string `type:"string"`
13549}
13550
13551// String returns the string representation
13552func (s DescribeAggregationAuthorizationsOutput) String() string {
13553	return awsutil.Prettify(s)
13554}
13555
13556// GoString returns the string representation
13557func (s DescribeAggregationAuthorizationsOutput) GoString() string {
13558	return s.String()
13559}
13560
13561// SetAggregationAuthorizations sets the AggregationAuthorizations field's value.
13562func (s *DescribeAggregationAuthorizationsOutput) SetAggregationAuthorizations(v []*AggregationAuthorization) *DescribeAggregationAuthorizationsOutput {
13563	s.AggregationAuthorizations = v
13564	return s
13565}
13566
13567// SetNextToken sets the NextToken field's value.
13568func (s *DescribeAggregationAuthorizationsOutput) SetNextToken(v string) *DescribeAggregationAuthorizationsOutput {
13569	s.NextToken = &v
13570	return s
13571}
13572
13573type DescribeComplianceByConfigRuleInput struct {
13574	_ struct{} `type:"structure"`
13575
13576	// Filters the results by compliance.
13577	//
13578	// The allowed values are COMPLIANT and NON_COMPLIANT.
13579	ComplianceTypes []*string `type:"list"`
13580
13581	// Specify one or more AWS Config rule names to filter the results by rule.
13582	ConfigRuleNames []*string `type:"list"`
13583
13584	// The nextToken string returned on a previous page that you use to get the
13585	// next page of results in a paginated response.
13586	NextToken *string `type:"string"`
13587}
13588
13589// String returns the string representation
13590func (s DescribeComplianceByConfigRuleInput) String() string {
13591	return awsutil.Prettify(s)
13592}
13593
13594// GoString returns the string representation
13595func (s DescribeComplianceByConfigRuleInput) GoString() string {
13596	return s.String()
13597}
13598
13599// SetComplianceTypes sets the ComplianceTypes field's value.
13600func (s *DescribeComplianceByConfigRuleInput) SetComplianceTypes(v []*string) *DescribeComplianceByConfigRuleInput {
13601	s.ComplianceTypes = v
13602	return s
13603}
13604
13605// SetConfigRuleNames sets the ConfigRuleNames field's value.
13606func (s *DescribeComplianceByConfigRuleInput) SetConfigRuleNames(v []*string) *DescribeComplianceByConfigRuleInput {
13607	s.ConfigRuleNames = v
13608	return s
13609}
13610
13611// SetNextToken sets the NextToken field's value.
13612func (s *DescribeComplianceByConfigRuleInput) SetNextToken(v string) *DescribeComplianceByConfigRuleInput {
13613	s.NextToken = &v
13614	return s
13615}
13616
13617type DescribeComplianceByConfigRuleOutput struct {
13618	_ struct{} `type:"structure"`
13619
13620	// Indicates whether each of the specified AWS Config rules is compliant.
13621	ComplianceByConfigRules []*ComplianceByConfigRule `type:"list"`
13622
13623	// The string that you use in a subsequent request to get the next page of results
13624	// in a paginated response.
13625	NextToken *string `type:"string"`
13626}
13627
13628// String returns the string representation
13629func (s DescribeComplianceByConfigRuleOutput) String() string {
13630	return awsutil.Prettify(s)
13631}
13632
13633// GoString returns the string representation
13634func (s DescribeComplianceByConfigRuleOutput) GoString() string {
13635	return s.String()
13636}
13637
13638// SetComplianceByConfigRules sets the ComplianceByConfigRules field's value.
13639func (s *DescribeComplianceByConfigRuleOutput) SetComplianceByConfigRules(v []*ComplianceByConfigRule) *DescribeComplianceByConfigRuleOutput {
13640	s.ComplianceByConfigRules = v
13641	return s
13642}
13643
13644// SetNextToken sets the NextToken field's value.
13645func (s *DescribeComplianceByConfigRuleOutput) SetNextToken(v string) *DescribeComplianceByConfigRuleOutput {
13646	s.NextToken = &v
13647	return s
13648}
13649
13650type DescribeComplianceByResourceInput struct {
13651	_ struct{} `type:"structure"`
13652
13653	// Filters the results by compliance.
13654	//
13655	// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
13656	ComplianceTypes []*string `type:"list"`
13657
13658	// The maximum number of evaluation results returned on each page. The default
13659	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
13660	// Config uses the default.
13661	Limit *int64 `type:"integer"`
13662
13663	// The nextToken string returned on a previous page that you use to get the
13664	// next page of results in a paginated response.
13665	NextToken *string `type:"string"`
13666
13667	// The ID of the AWS resource for which you want compliance information. You
13668	// can specify only one resource ID. If you specify a resource ID, you must
13669	// also specify a type for ResourceType.
13670	ResourceId *string `min:"1" type:"string"`
13671
13672	// The types of AWS resources for which you want compliance information (for
13673	// example, AWS::EC2::Instance). For this action, you can specify that the resource
13674	// type is an AWS account by specifying AWS::::Account.
13675	ResourceType *string `min:"1" type:"string"`
13676}
13677
13678// String returns the string representation
13679func (s DescribeComplianceByResourceInput) String() string {
13680	return awsutil.Prettify(s)
13681}
13682
13683// GoString returns the string representation
13684func (s DescribeComplianceByResourceInput) GoString() string {
13685	return s.String()
13686}
13687
13688// Validate inspects the fields of the type to determine if they are valid.
13689func (s *DescribeComplianceByResourceInput) Validate() error {
13690	invalidParams := request.ErrInvalidParams{Context: "DescribeComplianceByResourceInput"}
13691	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
13692		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
13693	}
13694	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
13695		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
13696	}
13697
13698	if invalidParams.Len() > 0 {
13699		return invalidParams
13700	}
13701	return nil
13702}
13703
13704// SetComplianceTypes sets the ComplianceTypes field's value.
13705func (s *DescribeComplianceByResourceInput) SetComplianceTypes(v []*string) *DescribeComplianceByResourceInput {
13706	s.ComplianceTypes = v
13707	return s
13708}
13709
13710// SetLimit sets the Limit field's value.
13711func (s *DescribeComplianceByResourceInput) SetLimit(v int64) *DescribeComplianceByResourceInput {
13712	s.Limit = &v
13713	return s
13714}
13715
13716// SetNextToken sets the NextToken field's value.
13717func (s *DescribeComplianceByResourceInput) SetNextToken(v string) *DescribeComplianceByResourceInput {
13718	s.NextToken = &v
13719	return s
13720}
13721
13722// SetResourceId sets the ResourceId field's value.
13723func (s *DescribeComplianceByResourceInput) SetResourceId(v string) *DescribeComplianceByResourceInput {
13724	s.ResourceId = &v
13725	return s
13726}
13727
13728// SetResourceType sets the ResourceType field's value.
13729func (s *DescribeComplianceByResourceInput) SetResourceType(v string) *DescribeComplianceByResourceInput {
13730	s.ResourceType = &v
13731	return s
13732}
13733
13734type DescribeComplianceByResourceOutput struct {
13735	_ struct{} `type:"structure"`
13736
13737	// Indicates whether the specified AWS resource complies with all of the AWS
13738	// Config rules that evaluate it.
13739	ComplianceByResources []*ComplianceByResource `type:"list"`
13740
13741	// The string that you use in a subsequent request to get the next page of results
13742	// in a paginated response.
13743	NextToken *string `type:"string"`
13744}
13745
13746// String returns the string representation
13747func (s DescribeComplianceByResourceOutput) String() string {
13748	return awsutil.Prettify(s)
13749}
13750
13751// GoString returns the string representation
13752func (s DescribeComplianceByResourceOutput) GoString() string {
13753	return s.String()
13754}
13755
13756// SetComplianceByResources sets the ComplianceByResources field's value.
13757func (s *DescribeComplianceByResourceOutput) SetComplianceByResources(v []*ComplianceByResource) *DescribeComplianceByResourceOutput {
13758	s.ComplianceByResources = v
13759	return s
13760}
13761
13762// SetNextToken sets the NextToken field's value.
13763func (s *DescribeComplianceByResourceOutput) SetNextToken(v string) *DescribeComplianceByResourceOutput {
13764	s.NextToken = &v
13765	return s
13766}
13767
13768type DescribeConfigRuleEvaluationStatusInput struct {
13769	_ struct{} `type:"structure"`
13770
13771	// The name of the AWS managed Config rules for which you want status information.
13772	// If you do not specify any names, AWS Config returns status information for
13773	// all AWS managed Config rules that you use.
13774	ConfigRuleNames []*string `type:"list"`
13775
13776	// The number of rule evaluation results that you want returned.
13777	//
13778	// This parameter is required if the rule limit for your account is more than
13779	// the default of 150 rules.
13780	//
13781	// For information about requesting a rule limit increase, see AWS Config Limits
13782	// (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
13783	// in the AWS General Reference Guide.
13784	Limit *int64 `type:"integer"`
13785
13786	// The nextToken string returned on a previous page that you use to get the
13787	// next page of results in a paginated response.
13788	NextToken *string `type:"string"`
13789}
13790
13791// String returns the string representation
13792func (s DescribeConfigRuleEvaluationStatusInput) String() string {
13793	return awsutil.Prettify(s)
13794}
13795
13796// GoString returns the string representation
13797func (s DescribeConfigRuleEvaluationStatusInput) GoString() string {
13798	return s.String()
13799}
13800
13801// SetConfigRuleNames sets the ConfigRuleNames field's value.
13802func (s *DescribeConfigRuleEvaluationStatusInput) SetConfigRuleNames(v []*string) *DescribeConfigRuleEvaluationStatusInput {
13803	s.ConfigRuleNames = v
13804	return s
13805}
13806
13807// SetLimit sets the Limit field's value.
13808func (s *DescribeConfigRuleEvaluationStatusInput) SetLimit(v int64) *DescribeConfigRuleEvaluationStatusInput {
13809	s.Limit = &v
13810	return s
13811}
13812
13813// SetNextToken sets the NextToken field's value.
13814func (s *DescribeConfigRuleEvaluationStatusInput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusInput {
13815	s.NextToken = &v
13816	return s
13817}
13818
13819type DescribeConfigRuleEvaluationStatusOutput struct {
13820	_ struct{} `type:"structure"`
13821
13822	// Status information about your AWS managed Config rules.
13823	ConfigRulesEvaluationStatus []*ConfigRuleEvaluationStatus `type:"list"`
13824
13825	// The string that you use in a subsequent request to get the next page of results
13826	// in a paginated response.
13827	NextToken *string `type:"string"`
13828}
13829
13830// String returns the string representation
13831func (s DescribeConfigRuleEvaluationStatusOutput) String() string {
13832	return awsutil.Prettify(s)
13833}
13834
13835// GoString returns the string representation
13836func (s DescribeConfigRuleEvaluationStatusOutput) GoString() string {
13837	return s.String()
13838}
13839
13840// SetConfigRulesEvaluationStatus sets the ConfigRulesEvaluationStatus field's value.
13841func (s *DescribeConfigRuleEvaluationStatusOutput) SetConfigRulesEvaluationStatus(v []*ConfigRuleEvaluationStatus) *DescribeConfigRuleEvaluationStatusOutput {
13842	s.ConfigRulesEvaluationStatus = v
13843	return s
13844}
13845
13846// SetNextToken sets the NextToken field's value.
13847func (s *DescribeConfigRuleEvaluationStatusOutput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusOutput {
13848	s.NextToken = &v
13849	return s
13850}
13851
13852type DescribeConfigRulesInput struct {
13853	_ struct{} `type:"structure"`
13854
13855	// The names of the AWS Config rules for which you want details. If you do not
13856	// specify any names, AWS Config returns details for all your rules.
13857	ConfigRuleNames []*string `type:"list"`
13858
13859	// The nextToken string returned on a previous page that you use to get the
13860	// next page of results in a paginated response.
13861	NextToken *string `type:"string"`
13862}
13863
13864// String returns the string representation
13865func (s DescribeConfigRulesInput) String() string {
13866	return awsutil.Prettify(s)
13867}
13868
13869// GoString returns the string representation
13870func (s DescribeConfigRulesInput) GoString() string {
13871	return s.String()
13872}
13873
13874// SetConfigRuleNames sets the ConfigRuleNames field's value.
13875func (s *DescribeConfigRulesInput) SetConfigRuleNames(v []*string) *DescribeConfigRulesInput {
13876	s.ConfigRuleNames = v
13877	return s
13878}
13879
13880// SetNextToken sets the NextToken field's value.
13881func (s *DescribeConfigRulesInput) SetNextToken(v string) *DescribeConfigRulesInput {
13882	s.NextToken = &v
13883	return s
13884}
13885
13886type DescribeConfigRulesOutput struct {
13887	_ struct{} `type:"structure"`
13888
13889	// The details about your AWS Config rules.
13890	ConfigRules []*ConfigRule `type:"list"`
13891
13892	// The string that you use in a subsequent request to get the next page of results
13893	// in a paginated response.
13894	NextToken *string `type:"string"`
13895}
13896
13897// String returns the string representation
13898func (s DescribeConfigRulesOutput) String() string {
13899	return awsutil.Prettify(s)
13900}
13901
13902// GoString returns the string representation
13903func (s DescribeConfigRulesOutput) GoString() string {
13904	return s.String()
13905}
13906
13907// SetConfigRules sets the ConfigRules field's value.
13908func (s *DescribeConfigRulesOutput) SetConfigRules(v []*ConfigRule) *DescribeConfigRulesOutput {
13909	s.ConfigRules = v
13910	return s
13911}
13912
13913// SetNextToken sets the NextToken field's value.
13914func (s *DescribeConfigRulesOutput) SetNextToken(v string) *DescribeConfigRulesOutput {
13915	s.NextToken = &v
13916	return s
13917}
13918
13919type DescribeConfigurationAggregatorSourcesStatusInput struct {
13920	_ struct{} `type:"structure"`
13921
13922	// The name of the configuration aggregator.
13923	//
13924	// ConfigurationAggregatorName is a required field
13925	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
13926
13927	// The maximum number of AggregatorSourceStatus returned on each page. The default
13928	// is maximum. If you specify 0, AWS Config uses the default.
13929	Limit *int64 `type:"integer"`
13930
13931	// The nextToken string returned on a previous page that you use to get the
13932	// next page of results in a paginated response.
13933	NextToken *string `type:"string"`
13934
13935	// Filters the status type.
13936	//
13937	//    * Valid value FAILED indicates errors while moving data.
13938	//
13939	//    * Valid value SUCCEEDED indicates the data was successfully moved.
13940	//
13941	//    * Valid value OUTDATED indicates the data is not the most recent.
13942	UpdateStatus []*string `min:"1" type:"list"`
13943}
13944
13945// String returns the string representation
13946func (s DescribeConfigurationAggregatorSourcesStatusInput) String() string {
13947	return awsutil.Prettify(s)
13948}
13949
13950// GoString returns the string representation
13951func (s DescribeConfigurationAggregatorSourcesStatusInput) GoString() string {
13952	return s.String()
13953}
13954
13955// Validate inspects the fields of the type to determine if they are valid.
13956func (s *DescribeConfigurationAggregatorSourcesStatusInput) Validate() error {
13957	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationAggregatorSourcesStatusInput"}
13958	if s.ConfigurationAggregatorName == nil {
13959		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
13960	}
13961	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
13962		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
13963	}
13964	if s.UpdateStatus != nil && len(s.UpdateStatus) < 1 {
13965		invalidParams.Add(request.NewErrParamMinLen("UpdateStatus", 1))
13966	}
13967
13968	if invalidParams.Len() > 0 {
13969		return invalidParams
13970	}
13971	return nil
13972}
13973
13974// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
13975func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetConfigurationAggregatorName(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
13976	s.ConfigurationAggregatorName = &v
13977	return s
13978}
13979
13980// SetLimit sets the Limit field's value.
13981func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetLimit(v int64) *DescribeConfigurationAggregatorSourcesStatusInput {
13982	s.Limit = &v
13983	return s
13984}
13985
13986// SetNextToken sets the NextToken field's value.
13987func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
13988	s.NextToken = &v
13989	return s
13990}
13991
13992// SetUpdateStatus sets the UpdateStatus field's value.
13993func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetUpdateStatus(v []*string) *DescribeConfigurationAggregatorSourcesStatusInput {
13994	s.UpdateStatus = v
13995	return s
13996}
13997
13998type DescribeConfigurationAggregatorSourcesStatusOutput struct {
13999	_ struct{} `type:"structure"`
14000
14001	// Returns an AggregatedSourceStatus object.
14002	AggregatedSourceStatusList []*AggregatedSourceStatus `type:"list"`
14003
14004	// The nextToken string returned on a previous page that you use to get the
14005	// next page of results in a paginated response.
14006	NextToken *string `type:"string"`
14007}
14008
14009// String returns the string representation
14010func (s DescribeConfigurationAggregatorSourcesStatusOutput) String() string {
14011	return awsutil.Prettify(s)
14012}
14013
14014// GoString returns the string representation
14015func (s DescribeConfigurationAggregatorSourcesStatusOutput) GoString() string {
14016	return s.String()
14017}
14018
14019// SetAggregatedSourceStatusList sets the AggregatedSourceStatusList field's value.
14020func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetAggregatedSourceStatusList(v []*AggregatedSourceStatus) *DescribeConfigurationAggregatorSourcesStatusOutput {
14021	s.AggregatedSourceStatusList = v
14022	return s
14023}
14024
14025// SetNextToken sets the NextToken field's value.
14026func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusOutput {
14027	s.NextToken = &v
14028	return s
14029}
14030
14031type DescribeConfigurationAggregatorsInput struct {
14032	_ struct{} `type:"structure"`
14033
14034	// The name of the configuration aggregators.
14035	ConfigurationAggregatorNames []*string `type:"list"`
14036
14037	// The maximum number of configuration aggregators returned on each page. The
14038	// default is maximum. If you specify 0, AWS Config uses the default.
14039	Limit *int64 `type:"integer"`
14040
14041	// The nextToken string returned on a previous page that you use to get the
14042	// next page of results in a paginated response.
14043	NextToken *string `type:"string"`
14044}
14045
14046// String returns the string representation
14047func (s DescribeConfigurationAggregatorsInput) String() string {
14048	return awsutil.Prettify(s)
14049}
14050
14051// GoString returns the string representation
14052func (s DescribeConfigurationAggregatorsInput) GoString() string {
14053	return s.String()
14054}
14055
14056// SetConfigurationAggregatorNames sets the ConfigurationAggregatorNames field's value.
14057func (s *DescribeConfigurationAggregatorsInput) SetConfigurationAggregatorNames(v []*string) *DescribeConfigurationAggregatorsInput {
14058	s.ConfigurationAggregatorNames = v
14059	return s
14060}
14061
14062// SetLimit sets the Limit field's value.
14063func (s *DescribeConfigurationAggregatorsInput) SetLimit(v int64) *DescribeConfigurationAggregatorsInput {
14064	s.Limit = &v
14065	return s
14066}
14067
14068// SetNextToken sets the NextToken field's value.
14069func (s *DescribeConfigurationAggregatorsInput) SetNextToken(v string) *DescribeConfigurationAggregatorsInput {
14070	s.NextToken = &v
14071	return s
14072}
14073
14074type DescribeConfigurationAggregatorsOutput struct {
14075	_ struct{} `type:"structure"`
14076
14077	// Returns a ConfigurationAggregators object.
14078	ConfigurationAggregators []*ConfigurationAggregator `type:"list"`
14079
14080	// The nextToken string returned on a previous page that you use to get the
14081	// next page of results in a paginated response.
14082	NextToken *string `type:"string"`
14083}
14084
14085// String returns the string representation
14086func (s DescribeConfigurationAggregatorsOutput) String() string {
14087	return awsutil.Prettify(s)
14088}
14089
14090// GoString returns the string representation
14091func (s DescribeConfigurationAggregatorsOutput) GoString() string {
14092	return s.String()
14093}
14094
14095// SetConfigurationAggregators sets the ConfigurationAggregators field's value.
14096func (s *DescribeConfigurationAggregatorsOutput) SetConfigurationAggregators(v []*ConfigurationAggregator) *DescribeConfigurationAggregatorsOutput {
14097	s.ConfigurationAggregators = v
14098	return s
14099}
14100
14101// SetNextToken sets the NextToken field's value.
14102func (s *DescribeConfigurationAggregatorsOutput) SetNextToken(v string) *DescribeConfigurationAggregatorsOutput {
14103	s.NextToken = &v
14104	return s
14105}
14106
14107// The input for the DescribeConfigurationRecorderStatus action.
14108type DescribeConfigurationRecorderStatusInput struct {
14109	_ struct{} `type:"structure"`
14110
14111	// The name(s) of the configuration recorder. If the name is not specified,
14112	// the action returns the current status of all the configuration recorders
14113	// associated with the account.
14114	ConfigurationRecorderNames []*string `type:"list"`
14115}
14116
14117// String returns the string representation
14118func (s DescribeConfigurationRecorderStatusInput) String() string {
14119	return awsutil.Prettify(s)
14120}
14121
14122// GoString returns the string representation
14123func (s DescribeConfigurationRecorderStatusInput) GoString() string {
14124	return s.String()
14125}
14126
14127// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
14128func (s *DescribeConfigurationRecorderStatusInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecorderStatusInput {
14129	s.ConfigurationRecorderNames = v
14130	return s
14131}
14132
14133// The output for the DescribeConfigurationRecorderStatus action, in JSON format.
14134type DescribeConfigurationRecorderStatusOutput struct {
14135	_ struct{} `type:"structure"`
14136
14137	// A list that contains status of the specified recorders.
14138	ConfigurationRecordersStatus []*ConfigurationRecorderStatus `type:"list"`
14139}
14140
14141// String returns the string representation
14142func (s DescribeConfigurationRecorderStatusOutput) String() string {
14143	return awsutil.Prettify(s)
14144}
14145
14146// GoString returns the string representation
14147func (s DescribeConfigurationRecorderStatusOutput) GoString() string {
14148	return s.String()
14149}
14150
14151// SetConfigurationRecordersStatus sets the ConfigurationRecordersStatus field's value.
14152func (s *DescribeConfigurationRecorderStatusOutput) SetConfigurationRecordersStatus(v []*ConfigurationRecorderStatus) *DescribeConfigurationRecorderStatusOutput {
14153	s.ConfigurationRecordersStatus = v
14154	return s
14155}
14156
14157// The input for the DescribeConfigurationRecorders action.
14158type DescribeConfigurationRecordersInput struct {
14159	_ struct{} `type:"structure"`
14160
14161	// A list of configuration recorder names.
14162	ConfigurationRecorderNames []*string `type:"list"`
14163}
14164
14165// String returns the string representation
14166func (s DescribeConfigurationRecordersInput) String() string {
14167	return awsutil.Prettify(s)
14168}
14169
14170// GoString returns the string representation
14171func (s DescribeConfigurationRecordersInput) GoString() string {
14172	return s.String()
14173}
14174
14175// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
14176func (s *DescribeConfigurationRecordersInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecordersInput {
14177	s.ConfigurationRecorderNames = v
14178	return s
14179}
14180
14181// The output for the DescribeConfigurationRecorders action.
14182type DescribeConfigurationRecordersOutput struct {
14183	_ struct{} `type:"structure"`
14184
14185	// A list that contains the descriptions of the specified configuration recorders.
14186	ConfigurationRecorders []*ConfigurationRecorder `type:"list"`
14187}
14188
14189// String returns the string representation
14190func (s DescribeConfigurationRecordersOutput) String() string {
14191	return awsutil.Prettify(s)
14192}
14193
14194// GoString returns the string representation
14195func (s DescribeConfigurationRecordersOutput) GoString() string {
14196	return s.String()
14197}
14198
14199// SetConfigurationRecorders sets the ConfigurationRecorders field's value.
14200func (s *DescribeConfigurationRecordersOutput) SetConfigurationRecorders(v []*ConfigurationRecorder) *DescribeConfigurationRecordersOutput {
14201	s.ConfigurationRecorders = v
14202	return s
14203}
14204
14205type DescribeConformancePackComplianceInput struct {
14206	_ struct{} `type:"structure"`
14207
14208	// Name of the conformance pack.
14209	//
14210	// ConformancePackName is a required field
14211	ConformancePackName *string `min:"1" type:"string" required:"true"`
14212
14213	// A ConformancePackComplianceFilters object.
14214	Filters *ConformancePackComplianceFilters `type:"structure"`
14215
14216	// The maximum number of AWS Config rules within a conformance pack are returned
14217	// on each page.
14218	Limit *int64 `type:"integer"`
14219
14220	// The nextToken string returned in a previous request that you use to request
14221	// the next page of results in a paginated response.
14222	NextToken *string `type:"string"`
14223}
14224
14225// String returns the string representation
14226func (s DescribeConformancePackComplianceInput) String() string {
14227	return awsutil.Prettify(s)
14228}
14229
14230// GoString returns the string representation
14231func (s DescribeConformancePackComplianceInput) GoString() string {
14232	return s.String()
14233}
14234
14235// Validate inspects the fields of the type to determine if they are valid.
14236func (s *DescribeConformancePackComplianceInput) Validate() error {
14237	invalidParams := request.ErrInvalidParams{Context: "DescribeConformancePackComplianceInput"}
14238	if s.ConformancePackName == nil {
14239		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
14240	}
14241	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
14242		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
14243	}
14244
14245	if invalidParams.Len() > 0 {
14246		return invalidParams
14247	}
14248	return nil
14249}
14250
14251// SetConformancePackName sets the ConformancePackName field's value.
14252func (s *DescribeConformancePackComplianceInput) SetConformancePackName(v string) *DescribeConformancePackComplianceInput {
14253	s.ConformancePackName = &v
14254	return s
14255}
14256
14257// SetFilters sets the Filters field's value.
14258func (s *DescribeConformancePackComplianceInput) SetFilters(v *ConformancePackComplianceFilters) *DescribeConformancePackComplianceInput {
14259	s.Filters = v
14260	return s
14261}
14262
14263// SetLimit sets the Limit field's value.
14264func (s *DescribeConformancePackComplianceInput) SetLimit(v int64) *DescribeConformancePackComplianceInput {
14265	s.Limit = &v
14266	return s
14267}
14268
14269// SetNextToken sets the NextToken field's value.
14270func (s *DescribeConformancePackComplianceInput) SetNextToken(v string) *DescribeConformancePackComplianceInput {
14271	s.NextToken = &v
14272	return s
14273}
14274
14275type DescribeConformancePackComplianceOutput struct {
14276	_ struct{} `type:"structure"`
14277
14278	// Name of the conformance pack.
14279	//
14280	// ConformancePackName is a required field
14281	ConformancePackName *string `min:"1" type:"string" required:"true"`
14282
14283	// Returns a list of ConformancePackRuleCompliance objects.
14284	//
14285	// ConformancePackRuleComplianceList is a required field
14286	ConformancePackRuleComplianceList []*ConformancePackRuleCompliance `type:"list" required:"true"`
14287
14288	// The nextToken string returned in a previous request that you use to request
14289	// the next page of results in a paginated response.
14290	NextToken *string `type:"string"`
14291}
14292
14293// String returns the string representation
14294func (s DescribeConformancePackComplianceOutput) String() string {
14295	return awsutil.Prettify(s)
14296}
14297
14298// GoString returns the string representation
14299func (s DescribeConformancePackComplianceOutput) GoString() string {
14300	return s.String()
14301}
14302
14303// SetConformancePackName sets the ConformancePackName field's value.
14304func (s *DescribeConformancePackComplianceOutput) SetConformancePackName(v string) *DescribeConformancePackComplianceOutput {
14305	s.ConformancePackName = &v
14306	return s
14307}
14308
14309// SetConformancePackRuleComplianceList sets the ConformancePackRuleComplianceList field's value.
14310func (s *DescribeConformancePackComplianceOutput) SetConformancePackRuleComplianceList(v []*ConformancePackRuleCompliance) *DescribeConformancePackComplianceOutput {
14311	s.ConformancePackRuleComplianceList = v
14312	return s
14313}
14314
14315// SetNextToken sets the NextToken field's value.
14316func (s *DescribeConformancePackComplianceOutput) SetNextToken(v string) *DescribeConformancePackComplianceOutput {
14317	s.NextToken = &v
14318	return s
14319}
14320
14321type DescribeConformancePackStatusInput struct {
14322	_ struct{} `type:"structure"`
14323
14324	// Comma-separated list of conformance pack names.
14325	ConformancePackNames []*string `type:"list"`
14326
14327	// The maximum number of conformance packs status returned on each page.
14328	Limit *int64 `type:"integer"`
14329
14330	// The nextToken string returned in a previous request that you use to request
14331	// the next page of results in a paginated response.
14332	NextToken *string `type:"string"`
14333}
14334
14335// String returns the string representation
14336func (s DescribeConformancePackStatusInput) String() string {
14337	return awsutil.Prettify(s)
14338}
14339
14340// GoString returns the string representation
14341func (s DescribeConformancePackStatusInput) GoString() string {
14342	return s.String()
14343}
14344
14345// SetConformancePackNames sets the ConformancePackNames field's value.
14346func (s *DescribeConformancePackStatusInput) SetConformancePackNames(v []*string) *DescribeConformancePackStatusInput {
14347	s.ConformancePackNames = v
14348	return s
14349}
14350
14351// SetLimit sets the Limit field's value.
14352func (s *DescribeConformancePackStatusInput) SetLimit(v int64) *DescribeConformancePackStatusInput {
14353	s.Limit = &v
14354	return s
14355}
14356
14357// SetNextToken sets the NextToken field's value.
14358func (s *DescribeConformancePackStatusInput) SetNextToken(v string) *DescribeConformancePackStatusInput {
14359	s.NextToken = &v
14360	return s
14361}
14362
14363type DescribeConformancePackStatusOutput struct {
14364	_ struct{} `type:"structure"`
14365
14366	// A list of ConformancePackStatusDetail objects.
14367	ConformancePackStatusDetails []*ConformancePackStatusDetail `type:"list"`
14368
14369	// The nextToken string returned in a previous request that you use to request
14370	// the next page of results in a paginated response.
14371	NextToken *string `type:"string"`
14372}
14373
14374// String returns the string representation
14375func (s DescribeConformancePackStatusOutput) String() string {
14376	return awsutil.Prettify(s)
14377}
14378
14379// GoString returns the string representation
14380func (s DescribeConformancePackStatusOutput) GoString() string {
14381	return s.String()
14382}
14383
14384// SetConformancePackStatusDetails sets the ConformancePackStatusDetails field's value.
14385func (s *DescribeConformancePackStatusOutput) SetConformancePackStatusDetails(v []*ConformancePackStatusDetail) *DescribeConformancePackStatusOutput {
14386	s.ConformancePackStatusDetails = v
14387	return s
14388}
14389
14390// SetNextToken sets the NextToken field's value.
14391func (s *DescribeConformancePackStatusOutput) SetNextToken(v string) *DescribeConformancePackStatusOutput {
14392	s.NextToken = &v
14393	return s
14394}
14395
14396type DescribeConformancePacksInput struct {
14397	_ struct{} `type:"structure"`
14398
14399	// Comma-separated list of conformance pack names for which you want details.
14400	// If you do not specify any names, AWS Config returns details for all your
14401	// conformance packs.
14402	ConformancePackNames []*string `type:"list"`
14403
14404	// The maximum number of conformance packs returned on each page.
14405	Limit *int64 `type:"integer"`
14406
14407	// The nextToken string returned in a previous request that you use to request
14408	// the next page of results in a paginated response.
14409	NextToken *string `type:"string"`
14410}
14411
14412// String returns the string representation
14413func (s DescribeConformancePacksInput) String() string {
14414	return awsutil.Prettify(s)
14415}
14416
14417// GoString returns the string representation
14418func (s DescribeConformancePacksInput) GoString() string {
14419	return s.String()
14420}
14421
14422// SetConformancePackNames sets the ConformancePackNames field's value.
14423func (s *DescribeConformancePacksInput) SetConformancePackNames(v []*string) *DescribeConformancePacksInput {
14424	s.ConformancePackNames = v
14425	return s
14426}
14427
14428// SetLimit sets the Limit field's value.
14429func (s *DescribeConformancePacksInput) SetLimit(v int64) *DescribeConformancePacksInput {
14430	s.Limit = &v
14431	return s
14432}
14433
14434// SetNextToken sets the NextToken field's value.
14435func (s *DescribeConformancePacksInput) SetNextToken(v string) *DescribeConformancePacksInput {
14436	s.NextToken = &v
14437	return s
14438}
14439
14440type DescribeConformancePacksOutput struct {
14441	_ struct{} `type:"structure"`
14442
14443	// Returns a list of ConformancePackDetail objects.
14444	ConformancePackDetails []*ConformancePackDetail `type:"list"`
14445
14446	// The nextToken string returned in a previous request that you use to request
14447	// the next page of results in a paginated response.
14448	NextToken *string `type:"string"`
14449}
14450
14451// String returns the string representation
14452func (s DescribeConformancePacksOutput) String() string {
14453	return awsutil.Prettify(s)
14454}
14455
14456// GoString returns the string representation
14457func (s DescribeConformancePacksOutput) GoString() string {
14458	return s.String()
14459}
14460
14461// SetConformancePackDetails sets the ConformancePackDetails field's value.
14462func (s *DescribeConformancePacksOutput) SetConformancePackDetails(v []*ConformancePackDetail) *DescribeConformancePacksOutput {
14463	s.ConformancePackDetails = v
14464	return s
14465}
14466
14467// SetNextToken sets the NextToken field's value.
14468func (s *DescribeConformancePacksOutput) SetNextToken(v string) *DescribeConformancePacksOutput {
14469	s.NextToken = &v
14470	return s
14471}
14472
14473// The input for the DeliveryChannelStatus action.
14474type DescribeDeliveryChannelStatusInput struct {
14475	_ struct{} `type:"structure"`
14476
14477	// A list of delivery channel names.
14478	DeliveryChannelNames []*string `type:"list"`
14479}
14480
14481// String returns the string representation
14482func (s DescribeDeliveryChannelStatusInput) String() string {
14483	return awsutil.Prettify(s)
14484}
14485
14486// GoString returns the string representation
14487func (s DescribeDeliveryChannelStatusInput) GoString() string {
14488	return s.String()
14489}
14490
14491// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
14492func (s *DescribeDeliveryChannelStatusInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelStatusInput {
14493	s.DeliveryChannelNames = v
14494	return s
14495}
14496
14497// The output for the DescribeDeliveryChannelStatus action.
14498type DescribeDeliveryChannelStatusOutput struct {
14499	_ struct{} `type:"structure"`
14500
14501	// A list that contains the status of a specified delivery channel.
14502	DeliveryChannelsStatus []*DeliveryChannelStatus `type:"list"`
14503}
14504
14505// String returns the string representation
14506func (s DescribeDeliveryChannelStatusOutput) String() string {
14507	return awsutil.Prettify(s)
14508}
14509
14510// GoString returns the string representation
14511func (s DescribeDeliveryChannelStatusOutput) GoString() string {
14512	return s.String()
14513}
14514
14515// SetDeliveryChannelsStatus sets the DeliveryChannelsStatus field's value.
14516func (s *DescribeDeliveryChannelStatusOutput) SetDeliveryChannelsStatus(v []*DeliveryChannelStatus) *DescribeDeliveryChannelStatusOutput {
14517	s.DeliveryChannelsStatus = v
14518	return s
14519}
14520
14521// The input for the DescribeDeliveryChannels action.
14522type DescribeDeliveryChannelsInput struct {
14523	_ struct{} `type:"structure"`
14524
14525	// A list of delivery channel names.
14526	DeliveryChannelNames []*string `type:"list"`
14527}
14528
14529// String returns the string representation
14530func (s DescribeDeliveryChannelsInput) String() string {
14531	return awsutil.Prettify(s)
14532}
14533
14534// GoString returns the string representation
14535func (s DescribeDeliveryChannelsInput) GoString() string {
14536	return s.String()
14537}
14538
14539// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
14540func (s *DescribeDeliveryChannelsInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelsInput {
14541	s.DeliveryChannelNames = v
14542	return s
14543}
14544
14545// The output for the DescribeDeliveryChannels action.
14546type DescribeDeliveryChannelsOutput struct {
14547	_ struct{} `type:"structure"`
14548
14549	// A list that contains the descriptions of the specified delivery channel.
14550	DeliveryChannels []*DeliveryChannel `type:"list"`
14551}
14552
14553// String returns the string representation
14554func (s DescribeDeliveryChannelsOutput) String() string {
14555	return awsutil.Prettify(s)
14556}
14557
14558// GoString returns the string representation
14559func (s DescribeDeliveryChannelsOutput) GoString() string {
14560	return s.String()
14561}
14562
14563// SetDeliveryChannels sets the DeliveryChannels field's value.
14564func (s *DescribeDeliveryChannelsOutput) SetDeliveryChannels(v []*DeliveryChannel) *DescribeDeliveryChannelsOutput {
14565	s.DeliveryChannels = v
14566	return s
14567}
14568
14569type DescribeOrganizationConfigRuleStatusesInput struct {
14570	_ struct{} `type:"structure"`
14571
14572	// The maximum number of OrganizationConfigRuleStatuses returned on each page.
14573	// If you do no specify a number, AWS Config uses the default. The default is
14574	// 100.
14575	Limit *int64 `type:"integer"`
14576
14577	// The nextToken string returned on a previous page that you use to get the
14578	// next page of results in a paginated response.
14579	NextToken *string `type:"string"`
14580
14581	// The names of organization config rules for which you want status details.
14582	// If you do not specify any names, AWS Config returns details for all your
14583	// organization AWS Confg rules.
14584	OrganizationConfigRuleNames []*string `type:"list"`
14585}
14586
14587// String returns the string representation
14588func (s DescribeOrganizationConfigRuleStatusesInput) String() string {
14589	return awsutil.Prettify(s)
14590}
14591
14592// GoString returns the string representation
14593func (s DescribeOrganizationConfigRuleStatusesInput) GoString() string {
14594	return s.String()
14595}
14596
14597// SetLimit sets the Limit field's value.
14598func (s *DescribeOrganizationConfigRuleStatusesInput) SetLimit(v int64) *DescribeOrganizationConfigRuleStatusesInput {
14599	s.Limit = &v
14600	return s
14601}
14602
14603// SetNextToken sets the NextToken field's value.
14604func (s *DescribeOrganizationConfigRuleStatusesInput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesInput {
14605	s.NextToken = &v
14606	return s
14607}
14608
14609// SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
14610func (s *DescribeOrganizationConfigRuleStatusesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRuleStatusesInput {
14611	s.OrganizationConfigRuleNames = v
14612	return s
14613}
14614
14615type DescribeOrganizationConfigRuleStatusesOutput struct {
14616	_ struct{} `type:"structure"`
14617
14618	// The nextToken string returned on a previous page that you use to get the
14619	// next page of results in a paginated response.
14620	NextToken *string `type:"string"`
14621
14622	// A list of OrganizationConfigRuleStatus objects.
14623	OrganizationConfigRuleStatuses []*OrganizationConfigRuleStatus `type:"list"`
14624}
14625
14626// String returns the string representation
14627func (s DescribeOrganizationConfigRuleStatusesOutput) String() string {
14628	return awsutil.Prettify(s)
14629}
14630
14631// GoString returns the string representation
14632func (s DescribeOrganizationConfigRuleStatusesOutput) GoString() string {
14633	return s.String()
14634}
14635
14636// SetNextToken sets the NextToken field's value.
14637func (s *DescribeOrganizationConfigRuleStatusesOutput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesOutput {
14638	s.NextToken = &v
14639	return s
14640}
14641
14642// SetOrganizationConfigRuleStatuses sets the OrganizationConfigRuleStatuses field's value.
14643func (s *DescribeOrganizationConfigRuleStatusesOutput) SetOrganizationConfigRuleStatuses(v []*OrganizationConfigRuleStatus) *DescribeOrganizationConfigRuleStatusesOutput {
14644	s.OrganizationConfigRuleStatuses = v
14645	return s
14646}
14647
14648type DescribeOrganizationConfigRulesInput struct {
14649	_ struct{} `type:"structure"`
14650
14651	// The maximum number of organization config rules returned on each page. If
14652	// you do no specify a number, AWS Config uses the default. The default is 100.
14653	Limit *int64 `type:"integer"`
14654
14655	// The nextToken string returned on a previous page that you use to get the
14656	// next page of results in a paginated response.
14657	NextToken *string `type:"string"`
14658
14659	// The names of organization config rules for which you want details. If you
14660	// do not specify any names, AWS Config returns details for all your organization
14661	// config rules.
14662	OrganizationConfigRuleNames []*string `type:"list"`
14663}
14664
14665// String returns the string representation
14666func (s DescribeOrganizationConfigRulesInput) String() string {
14667	return awsutil.Prettify(s)
14668}
14669
14670// GoString returns the string representation
14671func (s DescribeOrganizationConfigRulesInput) GoString() string {
14672	return s.String()
14673}
14674
14675// SetLimit sets the Limit field's value.
14676func (s *DescribeOrganizationConfigRulesInput) SetLimit(v int64) *DescribeOrganizationConfigRulesInput {
14677	s.Limit = &v
14678	return s
14679}
14680
14681// SetNextToken sets the NextToken field's value.
14682func (s *DescribeOrganizationConfigRulesInput) SetNextToken(v string) *DescribeOrganizationConfigRulesInput {
14683	s.NextToken = &v
14684	return s
14685}
14686
14687// SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
14688func (s *DescribeOrganizationConfigRulesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRulesInput {
14689	s.OrganizationConfigRuleNames = v
14690	return s
14691}
14692
14693type DescribeOrganizationConfigRulesOutput struct {
14694	_ struct{} `type:"structure"`
14695
14696	// The nextToken string returned on a previous page that you use to get the
14697	// next page of results in a paginated response.
14698	NextToken *string `type:"string"`
14699
14700	// Returns a list of OrganizationConfigRule objects.
14701	OrganizationConfigRules []*OrganizationConfigRule `type:"list"`
14702}
14703
14704// String returns the string representation
14705func (s DescribeOrganizationConfigRulesOutput) String() string {
14706	return awsutil.Prettify(s)
14707}
14708
14709// GoString returns the string representation
14710func (s DescribeOrganizationConfigRulesOutput) GoString() string {
14711	return s.String()
14712}
14713
14714// SetNextToken sets the NextToken field's value.
14715func (s *DescribeOrganizationConfigRulesOutput) SetNextToken(v string) *DescribeOrganizationConfigRulesOutput {
14716	s.NextToken = &v
14717	return s
14718}
14719
14720// SetOrganizationConfigRules sets the OrganizationConfigRules field's value.
14721func (s *DescribeOrganizationConfigRulesOutput) SetOrganizationConfigRules(v []*OrganizationConfigRule) *DescribeOrganizationConfigRulesOutput {
14722	s.OrganizationConfigRules = v
14723	return s
14724}
14725
14726type DescribeOrganizationConformancePackStatusesInput struct {
14727	_ struct{} `type:"structure"`
14728
14729	// The maximum number of OrganizationConformancePackStatuses returned on each
14730	// page. If you do no specify a number, AWS Config uses the default. The default
14731	// is 100.
14732	Limit *int64 `type:"integer"`
14733
14734	// The nextToken string returned on a previous page that you use to get the
14735	// next page of results in a paginated response.
14736	NextToken *string `type:"string"`
14737
14738	// The names of organization conformance packs for which you want status details.
14739	// If you do not specify any names, AWS Config returns details for all your
14740	// organization conformance packs.
14741	OrganizationConformancePackNames []*string `type:"list"`
14742}
14743
14744// String returns the string representation
14745func (s DescribeOrganizationConformancePackStatusesInput) String() string {
14746	return awsutil.Prettify(s)
14747}
14748
14749// GoString returns the string representation
14750func (s DescribeOrganizationConformancePackStatusesInput) GoString() string {
14751	return s.String()
14752}
14753
14754// SetLimit sets the Limit field's value.
14755func (s *DescribeOrganizationConformancePackStatusesInput) SetLimit(v int64) *DescribeOrganizationConformancePackStatusesInput {
14756	s.Limit = &v
14757	return s
14758}
14759
14760// SetNextToken sets the NextToken field's value.
14761func (s *DescribeOrganizationConformancePackStatusesInput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesInput {
14762	s.NextToken = &v
14763	return s
14764}
14765
14766// SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
14767func (s *DescribeOrganizationConformancePackStatusesInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePackStatusesInput {
14768	s.OrganizationConformancePackNames = v
14769	return s
14770}
14771
14772type DescribeOrganizationConformancePackStatusesOutput struct {
14773	_ struct{} `type:"structure"`
14774
14775	// The nextToken string returned on a previous page that you use to get the
14776	// next page of results in a paginated response.
14777	NextToken *string `type:"string"`
14778
14779	// A list of OrganizationConformancePackStatus objects.
14780	OrganizationConformancePackStatuses []*OrganizationConformancePackStatus `type:"list"`
14781}
14782
14783// String returns the string representation
14784func (s DescribeOrganizationConformancePackStatusesOutput) String() string {
14785	return awsutil.Prettify(s)
14786}
14787
14788// GoString returns the string representation
14789func (s DescribeOrganizationConformancePackStatusesOutput) GoString() string {
14790	return s.String()
14791}
14792
14793// SetNextToken sets the NextToken field's value.
14794func (s *DescribeOrganizationConformancePackStatusesOutput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesOutput {
14795	s.NextToken = &v
14796	return s
14797}
14798
14799// SetOrganizationConformancePackStatuses sets the OrganizationConformancePackStatuses field's value.
14800func (s *DescribeOrganizationConformancePackStatusesOutput) SetOrganizationConformancePackStatuses(v []*OrganizationConformancePackStatus) *DescribeOrganizationConformancePackStatusesOutput {
14801	s.OrganizationConformancePackStatuses = v
14802	return s
14803}
14804
14805type DescribeOrganizationConformancePacksInput struct {
14806	_ struct{} `type:"structure"`
14807
14808	// The maximum number of organization config packs returned on each page. If
14809	// you do no specify a number, AWS Config uses the default. The default is 100.
14810	Limit *int64 `type:"integer"`
14811
14812	// The nextToken string returned on a previous page that you use to get the
14813	// next page of results in a paginated response.
14814	NextToken *string `type:"string"`
14815
14816	// The name that you assign to an organization conformance pack.
14817	OrganizationConformancePackNames []*string `type:"list"`
14818}
14819
14820// String returns the string representation
14821func (s DescribeOrganizationConformancePacksInput) String() string {
14822	return awsutil.Prettify(s)
14823}
14824
14825// GoString returns the string representation
14826func (s DescribeOrganizationConformancePacksInput) GoString() string {
14827	return s.String()
14828}
14829
14830// SetLimit sets the Limit field's value.
14831func (s *DescribeOrganizationConformancePacksInput) SetLimit(v int64) *DescribeOrganizationConformancePacksInput {
14832	s.Limit = &v
14833	return s
14834}
14835
14836// SetNextToken sets the NextToken field's value.
14837func (s *DescribeOrganizationConformancePacksInput) SetNextToken(v string) *DescribeOrganizationConformancePacksInput {
14838	s.NextToken = &v
14839	return s
14840}
14841
14842// SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
14843func (s *DescribeOrganizationConformancePacksInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePacksInput {
14844	s.OrganizationConformancePackNames = v
14845	return s
14846}
14847
14848type DescribeOrganizationConformancePacksOutput struct {
14849	_ struct{} `type:"structure"`
14850
14851	// The nextToken string returned on a previous page that you use to get the
14852	// next page of results in a paginated response.
14853	NextToken *string `type:"string"`
14854
14855	// Returns a list of OrganizationConformancePacks objects.
14856	OrganizationConformancePacks []*OrganizationConformancePack `type:"list"`
14857}
14858
14859// String returns the string representation
14860func (s DescribeOrganizationConformancePacksOutput) String() string {
14861	return awsutil.Prettify(s)
14862}
14863
14864// GoString returns the string representation
14865func (s DescribeOrganizationConformancePacksOutput) GoString() string {
14866	return s.String()
14867}
14868
14869// SetNextToken sets the NextToken field's value.
14870func (s *DescribeOrganizationConformancePacksOutput) SetNextToken(v string) *DescribeOrganizationConformancePacksOutput {
14871	s.NextToken = &v
14872	return s
14873}
14874
14875// SetOrganizationConformancePacks sets the OrganizationConformancePacks field's value.
14876func (s *DescribeOrganizationConformancePacksOutput) SetOrganizationConformancePacks(v []*OrganizationConformancePack) *DescribeOrganizationConformancePacksOutput {
14877	s.OrganizationConformancePacks = v
14878	return s
14879}
14880
14881type DescribePendingAggregationRequestsInput struct {
14882	_ struct{} `type:"structure"`
14883
14884	// The maximum number of evaluation results returned on each page. The default
14885	// is maximum. If you specify 0, AWS Config uses the default.
14886	Limit *int64 `type:"integer"`
14887
14888	// The nextToken string returned on a previous page that you use to get the
14889	// next page of results in a paginated response.
14890	NextToken *string `type:"string"`
14891}
14892
14893// String returns the string representation
14894func (s DescribePendingAggregationRequestsInput) String() string {
14895	return awsutil.Prettify(s)
14896}
14897
14898// GoString returns the string representation
14899func (s DescribePendingAggregationRequestsInput) GoString() string {
14900	return s.String()
14901}
14902
14903// SetLimit sets the Limit field's value.
14904func (s *DescribePendingAggregationRequestsInput) SetLimit(v int64) *DescribePendingAggregationRequestsInput {
14905	s.Limit = &v
14906	return s
14907}
14908
14909// SetNextToken sets the NextToken field's value.
14910func (s *DescribePendingAggregationRequestsInput) SetNextToken(v string) *DescribePendingAggregationRequestsInput {
14911	s.NextToken = &v
14912	return s
14913}
14914
14915type DescribePendingAggregationRequestsOutput struct {
14916	_ struct{} `type:"structure"`
14917
14918	// The nextToken string returned on a previous page that you use to get the
14919	// next page of results in a paginated response.
14920	NextToken *string `type:"string"`
14921
14922	// Returns a PendingAggregationRequests object.
14923	PendingAggregationRequests []*PendingAggregationRequest `type:"list"`
14924}
14925
14926// String returns the string representation
14927func (s DescribePendingAggregationRequestsOutput) String() string {
14928	return awsutil.Prettify(s)
14929}
14930
14931// GoString returns the string representation
14932func (s DescribePendingAggregationRequestsOutput) GoString() string {
14933	return s.String()
14934}
14935
14936// SetNextToken sets the NextToken field's value.
14937func (s *DescribePendingAggregationRequestsOutput) SetNextToken(v string) *DescribePendingAggregationRequestsOutput {
14938	s.NextToken = &v
14939	return s
14940}
14941
14942// SetPendingAggregationRequests sets the PendingAggregationRequests field's value.
14943func (s *DescribePendingAggregationRequestsOutput) SetPendingAggregationRequests(v []*PendingAggregationRequest) *DescribePendingAggregationRequestsOutput {
14944	s.PendingAggregationRequests = v
14945	return s
14946}
14947
14948type DescribeRemediationConfigurationsInput struct {
14949	_ struct{} `type:"structure"`
14950
14951	// A list of AWS Config rule names of remediation configurations for which you
14952	// want details.
14953	//
14954	// ConfigRuleNames is a required field
14955	ConfigRuleNames []*string `type:"list" required:"true"`
14956}
14957
14958// String returns the string representation
14959func (s DescribeRemediationConfigurationsInput) String() string {
14960	return awsutil.Prettify(s)
14961}
14962
14963// GoString returns the string representation
14964func (s DescribeRemediationConfigurationsInput) GoString() string {
14965	return s.String()
14966}
14967
14968// Validate inspects the fields of the type to determine if they are valid.
14969func (s *DescribeRemediationConfigurationsInput) Validate() error {
14970	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationConfigurationsInput"}
14971	if s.ConfigRuleNames == nil {
14972		invalidParams.Add(request.NewErrParamRequired("ConfigRuleNames"))
14973	}
14974
14975	if invalidParams.Len() > 0 {
14976		return invalidParams
14977	}
14978	return nil
14979}
14980
14981// SetConfigRuleNames sets the ConfigRuleNames field's value.
14982func (s *DescribeRemediationConfigurationsInput) SetConfigRuleNames(v []*string) *DescribeRemediationConfigurationsInput {
14983	s.ConfigRuleNames = v
14984	return s
14985}
14986
14987type DescribeRemediationConfigurationsOutput struct {
14988	_ struct{} `type:"structure"`
14989
14990	// Returns a remediation configuration object.
14991	RemediationConfigurations []*RemediationConfiguration `type:"list"`
14992}
14993
14994// String returns the string representation
14995func (s DescribeRemediationConfigurationsOutput) String() string {
14996	return awsutil.Prettify(s)
14997}
14998
14999// GoString returns the string representation
15000func (s DescribeRemediationConfigurationsOutput) GoString() string {
15001	return s.String()
15002}
15003
15004// SetRemediationConfigurations sets the RemediationConfigurations field's value.
15005func (s *DescribeRemediationConfigurationsOutput) SetRemediationConfigurations(v []*RemediationConfiguration) *DescribeRemediationConfigurationsOutput {
15006	s.RemediationConfigurations = v
15007	return s
15008}
15009
15010type DescribeRemediationExceptionsInput struct {
15011	_ struct{} `type:"structure"`
15012
15013	// The name of the AWS Config rule.
15014	//
15015	// ConfigRuleName is a required field
15016	ConfigRuleName *string `min:"1" type:"string" required:"true"`
15017
15018	// The maximum number of RemediationExceptionResourceKey returned on each page.
15019	// The default is 25. If you specify 0, AWS Config uses the default.
15020	Limit *int64 `type:"integer"`
15021
15022	// The nextToken string returned in a previous request that you use to request
15023	// the next page of results in a paginated response.
15024	NextToken *string `type:"string"`
15025
15026	// An exception list of resource exception keys to be processed with the current
15027	// request. AWS Config adds exception for each resource key. For example, AWS
15028	// Config adds 3 exceptions for 3 resource keys.
15029	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list"`
15030}
15031
15032// String returns the string representation
15033func (s DescribeRemediationExceptionsInput) String() string {
15034	return awsutil.Prettify(s)
15035}
15036
15037// GoString returns the string representation
15038func (s DescribeRemediationExceptionsInput) GoString() string {
15039	return s.String()
15040}
15041
15042// Validate inspects the fields of the type to determine if they are valid.
15043func (s *DescribeRemediationExceptionsInput) Validate() error {
15044	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExceptionsInput"}
15045	if s.ConfigRuleName == nil {
15046		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
15047	}
15048	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
15049		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
15050	}
15051	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
15052		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
15053	}
15054	if s.ResourceKeys != nil {
15055		for i, v := range s.ResourceKeys {
15056			if v == nil {
15057				continue
15058			}
15059			if err := v.Validate(); err != nil {
15060				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
15061			}
15062		}
15063	}
15064
15065	if invalidParams.Len() > 0 {
15066		return invalidParams
15067	}
15068	return nil
15069}
15070
15071// SetConfigRuleName sets the ConfigRuleName field's value.
15072func (s *DescribeRemediationExceptionsInput) SetConfigRuleName(v string) *DescribeRemediationExceptionsInput {
15073	s.ConfigRuleName = &v
15074	return s
15075}
15076
15077// SetLimit sets the Limit field's value.
15078func (s *DescribeRemediationExceptionsInput) SetLimit(v int64) *DescribeRemediationExceptionsInput {
15079	s.Limit = &v
15080	return s
15081}
15082
15083// SetNextToken sets the NextToken field's value.
15084func (s *DescribeRemediationExceptionsInput) SetNextToken(v string) *DescribeRemediationExceptionsInput {
15085	s.NextToken = &v
15086	return s
15087}
15088
15089// SetResourceKeys sets the ResourceKeys field's value.
15090func (s *DescribeRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DescribeRemediationExceptionsInput {
15091	s.ResourceKeys = v
15092	return s
15093}
15094
15095type DescribeRemediationExceptionsOutput struct {
15096	_ struct{} `type:"structure"`
15097
15098	// The nextToken string returned in a previous request that you use to request
15099	// the next page of results in a paginated response.
15100	NextToken *string `type:"string"`
15101
15102	// Returns a list of remediation exception objects.
15103	RemediationExceptions []*RemediationException `type:"list"`
15104}
15105
15106// String returns the string representation
15107func (s DescribeRemediationExceptionsOutput) String() string {
15108	return awsutil.Prettify(s)
15109}
15110
15111// GoString returns the string representation
15112func (s DescribeRemediationExceptionsOutput) GoString() string {
15113	return s.String()
15114}
15115
15116// SetNextToken sets the NextToken field's value.
15117func (s *DescribeRemediationExceptionsOutput) SetNextToken(v string) *DescribeRemediationExceptionsOutput {
15118	s.NextToken = &v
15119	return s
15120}
15121
15122// SetRemediationExceptions sets the RemediationExceptions field's value.
15123func (s *DescribeRemediationExceptionsOutput) SetRemediationExceptions(v []*RemediationException) *DescribeRemediationExceptionsOutput {
15124	s.RemediationExceptions = v
15125	return s
15126}
15127
15128type DescribeRemediationExecutionStatusInput struct {
15129	_ struct{} `type:"structure"`
15130
15131	// A list of AWS Config rule names.
15132	//
15133	// ConfigRuleName is a required field
15134	ConfigRuleName *string `min:"1" type:"string" required:"true"`
15135
15136	// The maximum number of RemediationExecutionStatuses returned on each page.
15137	// The default is maximum. If you specify 0, AWS Config uses the default.
15138	Limit *int64 `type:"integer"`
15139
15140	// The nextToken string returned on a previous page that you use to get the
15141	// next page of results in a paginated response.
15142	NextToken *string `type:"string"`
15143
15144	// A list of resource keys to be processed with the current request. Each element
15145	// in the list consists of the resource type and resource ID.
15146	ResourceKeys []*ResourceKey `min:"1" type:"list"`
15147}
15148
15149// String returns the string representation
15150func (s DescribeRemediationExecutionStatusInput) String() string {
15151	return awsutil.Prettify(s)
15152}
15153
15154// GoString returns the string representation
15155func (s DescribeRemediationExecutionStatusInput) GoString() string {
15156	return s.String()
15157}
15158
15159// Validate inspects the fields of the type to determine if they are valid.
15160func (s *DescribeRemediationExecutionStatusInput) Validate() error {
15161	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExecutionStatusInput"}
15162	if s.ConfigRuleName == nil {
15163		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
15164	}
15165	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
15166		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
15167	}
15168	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
15169		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
15170	}
15171	if s.ResourceKeys != nil {
15172		for i, v := range s.ResourceKeys {
15173			if v == nil {
15174				continue
15175			}
15176			if err := v.Validate(); err != nil {
15177				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
15178			}
15179		}
15180	}
15181
15182	if invalidParams.Len() > 0 {
15183		return invalidParams
15184	}
15185	return nil
15186}
15187
15188// SetConfigRuleName sets the ConfigRuleName field's value.
15189func (s *DescribeRemediationExecutionStatusInput) SetConfigRuleName(v string) *DescribeRemediationExecutionStatusInput {
15190	s.ConfigRuleName = &v
15191	return s
15192}
15193
15194// SetLimit sets the Limit field's value.
15195func (s *DescribeRemediationExecutionStatusInput) SetLimit(v int64) *DescribeRemediationExecutionStatusInput {
15196	s.Limit = &v
15197	return s
15198}
15199
15200// SetNextToken sets the NextToken field's value.
15201func (s *DescribeRemediationExecutionStatusInput) SetNextToken(v string) *DescribeRemediationExecutionStatusInput {
15202	s.NextToken = &v
15203	return s
15204}
15205
15206// SetResourceKeys sets the ResourceKeys field's value.
15207func (s *DescribeRemediationExecutionStatusInput) SetResourceKeys(v []*ResourceKey) *DescribeRemediationExecutionStatusInput {
15208	s.ResourceKeys = v
15209	return s
15210}
15211
15212type DescribeRemediationExecutionStatusOutput struct {
15213	_ struct{} `type:"structure"`
15214
15215	// The nextToken string returned on a previous page that you use to get the
15216	// next page of results in a paginated response.
15217	NextToken *string `type:"string"`
15218
15219	// Returns a list of remediation execution statuses objects.
15220	RemediationExecutionStatuses []*RemediationExecutionStatus `type:"list"`
15221}
15222
15223// String returns the string representation
15224func (s DescribeRemediationExecutionStatusOutput) String() string {
15225	return awsutil.Prettify(s)
15226}
15227
15228// GoString returns the string representation
15229func (s DescribeRemediationExecutionStatusOutput) GoString() string {
15230	return s.String()
15231}
15232
15233// SetNextToken sets the NextToken field's value.
15234func (s *DescribeRemediationExecutionStatusOutput) SetNextToken(v string) *DescribeRemediationExecutionStatusOutput {
15235	s.NextToken = &v
15236	return s
15237}
15238
15239// SetRemediationExecutionStatuses sets the RemediationExecutionStatuses field's value.
15240func (s *DescribeRemediationExecutionStatusOutput) SetRemediationExecutionStatuses(v []*RemediationExecutionStatus) *DescribeRemediationExecutionStatusOutput {
15241	s.RemediationExecutionStatuses = v
15242	return s
15243}
15244
15245type DescribeRetentionConfigurationsInput struct {
15246	_ struct{} `type:"structure"`
15247
15248	// The nextToken string returned on a previous page that you use to get the
15249	// next page of results in a paginated response.
15250	NextToken *string `type:"string"`
15251
15252	// A list of names of retention configurations for which you want details. If
15253	// you do not specify a name, AWS Config returns details for all the retention
15254	// configurations for that account.
15255	//
15256	// Currently, AWS Config supports only one retention configuration per region
15257	// in your account.
15258	RetentionConfigurationNames []*string `type:"list"`
15259}
15260
15261// String returns the string representation
15262func (s DescribeRetentionConfigurationsInput) String() string {
15263	return awsutil.Prettify(s)
15264}
15265
15266// GoString returns the string representation
15267func (s DescribeRetentionConfigurationsInput) GoString() string {
15268	return s.String()
15269}
15270
15271// SetNextToken sets the NextToken field's value.
15272func (s *DescribeRetentionConfigurationsInput) SetNextToken(v string) *DescribeRetentionConfigurationsInput {
15273	s.NextToken = &v
15274	return s
15275}
15276
15277// SetRetentionConfigurationNames sets the RetentionConfigurationNames field's value.
15278func (s *DescribeRetentionConfigurationsInput) SetRetentionConfigurationNames(v []*string) *DescribeRetentionConfigurationsInput {
15279	s.RetentionConfigurationNames = v
15280	return s
15281}
15282
15283type DescribeRetentionConfigurationsOutput struct {
15284	_ struct{} `type:"structure"`
15285
15286	// The nextToken string returned on a previous page that you use to get the
15287	// next page of results in a paginated response.
15288	NextToken *string `type:"string"`
15289
15290	// Returns a retention configuration object.
15291	RetentionConfigurations []*RetentionConfiguration `type:"list"`
15292}
15293
15294// String returns the string representation
15295func (s DescribeRetentionConfigurationsOutput) String() string {
15296	return awsutil.Prettify(s)
15297}
15298
15299// GoString returns the string representation
15300func (s DescribeRetentionConfigurationsOutput) GoString() string {
15301	return s.String()
15302}
15303
15304// SetNextToken sets the NextToken field's value.
15305func (s *DescribeRetentionConfigurationsOutput) SetNextToken(v string) *DescribeRetentionConfigurationsOutput {
15306	s.NextToken = &v
15307	return s
15308}
15309
15310// SetRetentionConfigurations sets the RetentionConfigurations field's value.
15311func (s *DescribeRetentionConfigurationsOutput) SetRetentionConfigurations(v []*RetentionConfiguration) *DescribeRetentionConfigurationsOutput {
15312	s.RetentionConfigurations = v
15313	return s
15314}
15315
15316// Identifies an AWS resource and indicates whether it complies with the AWS
15317// Config rule that it was evaluated against.
15318type Evaluation struct {
15319	_ struct{} `type:"structure"`
15320
15321	// Supplementary information about how the evaluation determined the compliance.
15322	Annotation *string `min:"1" type:"string"`
15323
15324	// The ID of the AWS resource that was evaluated.
15325	//
15326	// ComplianceResourceId is a required field
15327	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
15328
15329	// The type of AWS resource that was evaluated.
15330	//
15331	// ComplianceResourceType is a required field
15332	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
15333
15334	// Indicates whether the AWS resource complies with the AWS Config rule that
15335	// it was evaluated against.
15336	//
15337	// For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT,
15338	// and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA
15339	// value for this data type.
15340	//
15341	// Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for
15342	// ComplianceType from a PutEvaluations request. For example, an AWS Lambda
15343	// function for a custom AWS Config rule cannot pass an INSUFFICIENT_DATA value
15344	// to AWS Config.
15345	//
15346	// ComplianceType is a required field
15347	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
15348
15349	// The time of the event in AWS Config that triggered the evaluation. For event-based
15350	// evaluations, the time indicates when AWS Config created the configuration
15351	// item that triggered the evaluation. For periodic evaluations, the time indicates
15352	// when AWS Config triggered the evaluation at the frequency that you specified
15353	// (for example, every 24 hours).
15354	//
15355	// OrderingTimestamp is a required field
15356	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
15357}
15358
15359// String returns the string representation
15360func (s Evaluation) String() string {
15361	return awsutil.Prettify(s)
15362}
15363
15364// GoString returns the string representation
15365func (s Evaluation) GoString() string {
15366	return s.String()
15367}
15368
15369// Validate inspects the fields of the type to determine if they are valid.
15370func (s *Evaluation) Validate() error {
15371	invalidParams := request.ErrInvalidParams{Context: "Evaluation"}
15372	if s.Annotation != nil && len(*s.Annotation) < 1 {
15373		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
15374	}
15375	if s.ComplianceResourceId == nil {
15376		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
15377	}
15378	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
15379		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
15380	}
15381	if s.ComplianceResourceType == nil {
15382		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
15383	}
15384	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
15385		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
15386	}
15387	if s.ComplianceType == nil {
15388		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
15389	}
15390	if s.OrderingTimestamp == nil {
15391		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
15392	}
15393
15394	if invalidParams.Len() > 0 {
15395		return invalidParams
15396	}
15397	return nil
15398}
15399
15400// SetAnnotation sets the Annotation field's value.
15401func (s *Evaluation) SetAnnotation(v string) *Evaluation {
15402	s.Annotation = &v
15403	return s
15404}
15405
15406// SetComplianceResourceId sets the ComplianceResourceId field's value.
15407func (s *Evaluation) SetComplianceResourceId(v string) *Evaluation {
15408	s.ComplianceResourceId = &v
15409	return s
15410}
15411
15412// SetComplianceResourceType sets the ComplianceResourceType field's value.
15413func (s *Evaluation) SetComplianceResourceType(v string) *Evaluation {
15414	s.ComplianceResourceType = &v
15415	return s
15416}
15417
15418// SetComplianceType sets the ComplianceType field's value.
15419func (s *Evaluation) SetComplianceType(v string) *Evaluation {
15420	s.ComplianceType = &v
15421	return s
15422}
15423
15424// SetOrderingTimestamp sets the OrderingTimestamp field's value.
15425func (s *Evaluation) SetOrderingTimestamp(v time.Time) *Evaluation {
15426	s.OrderingTimestamp = &v
15427	return s
15428}
15429
15430// The details of an AWS Config evaluation. Provides the AWS resource that was
15431// evaluated, the compliance of the resource, related time stamps, and supplementary
15432// information.
15433type EvaluationResult struct {
15434	_ struct{} `type:"structure"`
15435
15436	// Supplementary information about how the evaluation determined the compliance.
15437	Annotation *string `min:"1" type:"string"`
15438
15439	// Indicates whether the AWS resource complies with the AWS Config rule that
15440	// evaluated it.
15441	//
15442	// For the EvaluationResult data type, AWS Config supports only the COMPLIANT,
15443	// NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the
15444	// INSUFFICIENT_DATA value for the EvaluationResult data type.
15445	ComplianceType *string `type:"string" enum:"ComplianceType"`
15446
15447	// The time when the AWS Config rule evaluated the AWS resource.
15448	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
15449
15450	// Uniquely identifies the evaluation result.
15451	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
15452
15453	// The time when AWS Config recorded the evaluation result.
15454	ResultRecordedTime *time.Time `type:"timestamp"`
15455
15456	// An encrypted token that associates an evaluation with an AWS Config rule.
15457	// The token identifies the rule, the AWS resource being evaluated, and the
15458	// event that triggered the evaluation.
15459	ResultToken *string `type:"string"`
15460}
15461
15462// String returns the string representation
15463func (s EvaluationResult) String() string {
15464	return awsutil.Prettify(s)
15465}
15466
15467// GoString returns the string representation
15468func (s EvaluationResult) GoString() string {
15469	return s.String()
15470}
15471
15472// SetAnnotation sets the Annotation field's value.
15473func (s *EvaluationResult) SetAnnotation(v string) *EvaluationResult {
15474	s.Annotation = &v
15475	return s
15476}
15477
15478// SetComplianceType sets the ComplianceType field's value.
15479func (s *EvaluationResult) SetComplianceType(v string) *EvaluationResult {
15480	s.ComplianceType = &v
15481	return s
15482}
15483
15484// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
15485func (s *EvaluationResult) SetConfigRuleInvokedTime(v time.Time) *EvaluationResult {
15486	s.ConfigRuleInvokedTime = &v
15487	return s
15488}
15489
15490// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
15491func (s *EvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *EvaluationResult {
15492	s.EvaluationResultIdentifier = v
15493	return s
15494}
15495
15496// SetResultRecordedTime sets the ResultRecordedTime field's value.
15497func (s *EvaluationResult) SetResultRecordedTime(v time.Time) *EvaluationResult {
15498	s.ResultRecordedTime = &v
15499	return s
15500}
15501
15502// SetResultToken sets the ResultToken field's value.
15503func (s *EvaluationResult) SetResultToken(v string) *EvaluationResult {
15504	s.ResultToken = &v
15505	return s
15506}
15507
15508// Uniquely identifies an evaluation result.
15509type EvaluationResultIdentifier struct {
15510	_ struct{} `type:"structure"`
15511
15512	// Identifies an AWS Config rule used to evaluate an AWS resource, and provides
15513	// the type and ID of the evaluated resource.
15514	EvaluationResultQualifier *EvaluationResultQualifier `type:"structure"`
15515
15516	// The time of the event that triggered the evaluation of your AWS resources.
15517	// The time can indicate when AWS Config delivered a configuration item change
15518	// notification, or it can indicate when AWS Config delivered the configuration
15519	// snapshot, depending on which event triggered the evaluation.
15520	OrderingTimestamp *time.Time `type:"timestamp"`
15521}
15522
15523// String returns the string representation
15524func (s EvaluationResultIdentifier) String() string {
15525	return awsutil.Prettify(s)
15526}
15527
15528// GoString returns the string representation
15529func (s EvaluationResultIdentifier) GoString() string {
15530	return s.String()
15531}
15532
15533// SetEvaluationResultQualifier sets the EvaluationResultQualifier field's value.
15534func (s *EvaluationResultIdentifier) SetEvaluationResultQualifier(v *EvaluationResultQualifier) *EvaluationResultIdentifier {
15535	s.EvaluationResultQualifier = v
15536	return s
15537}
15538
15539// SetOrderingTimestamp sets the OrderingTimestamp field's value.
15540func (s *EvaluationResultIdentifier) SetOrderingTimestamp(v time.Time) *EvaluationResultIdentifier {
15541	s.OrderingTimestamp = &v
15542	return s
15543}
15544
15545// Identifies an AWS Config rule that evaluated an AWS resource, and provides
15546// the type and ID of the resource that the rule evaluated.
15547type EvaluationResultQualifier struct {
15548	_ struct{} `type:"structure"`
15549
15550	// The name of the AWS Config rule that was used in the evaluation.
15551	ConfigRuleName *string `min:"1" type:"string"`
15552
15553	// The ID of the evaluated AWS resource.
15554	ResourceId *string `min:"1" type:"string"`
15555
15556	// The type of AWS resource that was evaluated.
15557	ResourceType *string `min:"1" type:"string"`
15558}
15559
15560// String returns the string representation
15561func (s EvaluationResultQualifier) String() string {
15562	return awsutil.Prettify(s)
15563}
15564
15565// GoString returns the string representation
15566func (s EvaluationResultQualifier) GoString() string {
15567	return s.String()
15568}
15569
15570// SetConfigRuleName sets the ConfigRuleName field's value.
15571func (s *EvaluationResultQualifier) SetConfigRuleName(v string) *EvaluationResultQualifier {
15572	s.ConfigRuleName = &v
15573	return s
15574}
15575
15576// SetResourceId sets the ResourceId field's value.
15577func (s *EvaluationResultQualifier) SetResourceId(v string) *EvaluationResultQualifier {
15578	s.ResourceId = &v
15579	return s
15580}
15581
15582// SetResourceType sets the ResourceType field's value.
15583func (s *EvaluationResultQualifier) SetResourceType(v string) *EvaluationResultQualifier {
15584	s.ResourceType = &v
15585	return s
15586}
15587
15588// The controls that AWS Config uses for executing remediations.
15589type ExecutionControls struct {
15590	_ struct{} `type:"structure"`
15591
15592	// A SsmControls object.
15593	SsmControls *SsmControls `type:"structure"`
15594}
15595
15596// String returns the string representation
15597func (s ExecutionControls) String() string {
15598	return awsutil.Prettify(s)
15599}
15600
15601// GoString returns the string representation
15602func (s ExecutionControls) GoString() string {
15603	return s.String()
15604}
15605
15606// Validate inspects the fields of the type to determine if they are valid.
15607func (s *ExecutionControls) Validate() error {
15608	invalidParams := request.ErrInvalidParams{Context: "ExecutionControls"}
15609	if s.SsmControls != nil {
15610		if err := s.SsmControls.Validate(); err != nil {
15611			invalidParams.AddNested("SsmControls", err.(request.ErrInvalidParams))
15612		}
15613	}
15614
15615	if invalidParams.Len() > 0 {
15616		return invalidParams
15617	}
15618	return nil
15619}
15620
15621// SetSsmControls sets the SsmControls field's value.
15622func (s *ExecutionControls) SetSsmControls(v *SsmControls) *ExecutionControls {
15623	s.SsmControls = v
15624	return s
15625}
15626
15627// Identifies an AWS resource and indicates whether it complies with the AWS
15628// Config rule that it was evaluated against.
15629type ExternalEvaluation struct {
15630	_ struct{} `type:"structure"`
15631
15632	// Supplementary information about the reason of compliance. For example, this
15633	// task was completed on a specific date.
15634	Annotation *string `min:"1" type:"string"`
15635
15636	// The evaluated compliance resource ID. AWS Config accepts only AWS account
15637	// ID.
15638	//
15639	// ComplianceResourceId is a required field
15640	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
15641
15642	// The evaluated compliance resource type. AWS Config accepts AWS::::Account
15643	// resource type.
15644	//
15645	// ComplianceResourceType is a required field
15646	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
15647
15648	// The compliance of the AWS resource. The valid values are COMPLIANT, NON_COMPLIANT,
15649	// and NOT_APPLICABLE.
15650	//
15651	// ComplianceType is a required field
15652	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
15653
15654	// The time when the compliance was recorded.
15655	//
15656	// OrderingTimestamp is a required field
15657	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
15658}
15659
15660// String returns the string representation
15661func (s ExternalEvaluation) String() string {
15662	return awsutil.Prettify(s)
15663}
15664
15665// GoString returns the string representation
15666func (s ExternalEvaluation) GoString() string {
15667	return s.String()
15668}
15669
15670// Validate inspects the fields of the type to determine if they are valid.
15671func (s *ExternalEvaluation) Validate() error {
15672	invalidParams := request.ErrInvalidParams{Context: "ExternalEvaluation"}
15673	if s.Annotation != nil && len(*s.Annotation) < 1 {
15674		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
15675	}
15676	if s.ComplianceResourceId == nil {
15677		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
15678	}
15679	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
15680		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
15681	}
15682	if s.ComplianceResourceType == nil {
15683		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
15684	}
15685	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
15686		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
15687	}
15688	if s.ComplianceType == nil {
15689		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
15690	}
15691	if s.OrderingTimestamp == nil {
15692		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
15693	}
15694
15695	if invalidParams.Len() > 0 {
15696		return invalidParams
15697	}
15698	return nil
15699}
15700
15701// SetAnnotation sets the Annotation field's value.
15702func (s *ExternalEvaluation) SetAnnotation(v string) *ExternalEvaluation {
15703	s.Annotation = &v
15704	return s
15705}
15706
15707// SetComplianceResourceId sets the ComplianceResourceId field's value.
15708func (s *ExternalEvaluation) SetComplianceResourceId(v string) *ExternalEvaluation {
15709	s.ComplianceResourceId = &v
15710	return s
15711}
15712
15713// SetComplianceResourceType sets the ComplianceResourceType field's value.
15714func (s *ExternalEvaluation) SetComplianceResourceType(v string) *ExternalEvaluation {
15715	s.ComplianceResourceType = &v
15716	return s
15717}
15718
15719// SetComplianceType sets the ComplianceType field's value.
15720func (s *ExternalEvaluation) SetComplianceType(v string) *ExternalEvaluation {
15721	s.ComplianceType = &v
15722	return s
15723}
15724
15725// SetOrderingTimestamp sets the OrderingTimestamp field's value.
15726func (s *ExternalEvaluation) SetOrderingTimestamp(v time.Time) *ExternalEvaluation {
15727	s.OrderingTimestamp = &v
15728	return s
15729}
15730
15731// List of each of the failed delete remediation exceptions with specific reasons.
15732type FailedDeleteRemediationExceptionsBatch struct {
15733	_ struct{} `type:"structure"`
15734
15735	// Returns remediation exception resource key object of the failed items.
15736	FailedItems []*RemediationExceptionResourceKey `min:"1" type:"list"`
15737
15738	// Returns a failure message for delete remediation exception. For example,
15739	// AWS Config creates an exception due to an internal error.
15740	FailureMessage *string `type:"string"`
15741}
15742
15743// String returns the string representation
15744func (s FailedDeleteRemediationExceptionsBatch) String() string {
15745	return awsutil.Prettify(s)
15746}
15747
15748// GoString returns the string representation
15749func (s FailedDeleteRemediationExceptionsBatch) GoString() string {
15750	return s.String()
15751}
15752
15753// SetFailedItems sets the FailedItems field's value.
15754func (s *FailedDeleteRemediationExceptionsBatch) SetFailedItems(v []*RemediationExceptionResourceKey) *FailedDeleteRemediationExceptionsBatch {
15755	s.FailedItems = v
15756	return s
15757}
15758
15759// SetFailureMessage sets the FailureMessage field's value.
15760func (s *FailedDeleteRemediationExceptionsBatch) SetFailureMessage(v string) *FailedDeleteRemediationExceptionsBatch {
15761	s.FailureMessage = &v
15762	return s
15763}
15764
15765// List of each of the failed remediations with specific reasons.
15766type FailedRemediationBatch struct {
15767	_ struct{} `type:"structure"`
15768
15769	// Returns remediation configurations of the failed items.
15770	FailedItems []*RemediationConfiguration `type:"list"`
15771
15772	// Returns a failure message. For example, the resource is already compliant.
15773	FailureMessage *string `type:"string"`
15774}
15775
15776// String returns the string representation
15777func (s FailedRemediationBatch) String() string {
15778	return awsutil.Prettify(s)
15779}
15780
15781// GoString returns the string representation
15782func (s FailedRemediationBatch) GoString() string {
15783	return s.String()
15784}
15785
15786// SetFailedItems sets the FailedItems field's value.
15787func (s *FailedRemediationBatch) SetFailedItems(v []*RemediationConfiguration) *FailedRemediationBatch {
15788	s.FailedItems = v
15789	return s
15790}
15791
15792// SetFailureMessage sets the FailureMessage field's value.
15793func (s *FailedRemediationBatch) SetFailureMessage(v string) *FailedRemediationBatch {
15794	s.FailureMessage = &v
15795	return s
15796}
15797
15798// List of each of the failed remediation exceptions with specific reasons.
15799type FailedRemediationExceptionBatch struct {
15800	_ struct{} `type:"structure"`
15801
15802	// Returns remediation exception resource key object of the failed items.
15803	FailedItems []*RemediationException `type:"list"`
15804
15805	// Returns a failure message. For example, the auto-remediation has failed.
15806	FailureMessage *string `type:"string"`
15807}
15808
15809// String returns the string representation
15810func (s FailedRemediationExceptionBatch) String() string {
15811	return awsutil.Prettify(s)
15812}
15813
15814// GoString returns the string representation
15815func (s FailedRemediationExceptionBatch) GoString() string {
15816	return s.String()
15817}
15818
15819// SetFailedItems sets the FailedItems field's value.
15820func (s *FailedRemediationExceptionBatch) SetFailedItems(v []*RemediationException) *FailedRemediationExceptionBatch {
15821	s.FailedItems = v
15822	return s
15823}
15824
15825// SetFailureMessage sets the FailureMessage field's value.
15826func (s *FailedRemediationExceptionBatch) SetFailureMessage(v string) *FailedRemediationExceptionBatch {
15827	s.FailureMessage = &v
15828	return s
15829}
15830
15831// Details about the fields such as name of the field.
15832type FieldInfo struct {
15833	_ struct{} `type:"structure"`
15834
15835	// Name of the field.
15836	Name *string `type:"string"`
15837}
15838
15839// String returns the string representation
15840func (s FieldInfo) String() string {
15841	return awsutil.Prettify(s)
15842}
15843
15844// GoString returns the string representation
15845func (s FieldInfo) GoString() string {
15846	return s.String()
15847}
15848
15849// SetName sets the Name field's value.
15850func (s *FieldInfo) SetName(v string) *FieldInfo {
15851	s.Name = &v
15852	return s
15853}
15854
15855type GetAggregateComplianceDetailsByConfigRuleInput struct {
15856	_ struct{} `type:"structure"`
15857
15858	// The 12-digit account ID of the source account.
15859	//
15860	// AccountId is a required field
15861	AccountId *string `type:"string" required:"true"`
15862
15863	// The source region from where the data is aggregated.
15864	//
15865	// AwsRegion is a required field
15866	AwsRegion *string `min:"1" type:"string" required:"true"`
15867
15868	// The resource compliance status.
15869	//
15870	// For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config
15871	// supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support
15872	// the NOT_APPLICABLE and INSUFFICIENT_DATA values.
15873	ComplianceType *string `type:"string" enum:"ComplianceType"`
15874
15875	// The name of the AWS Config rule for which you want compliance information.
15876	//
15877	// ConfigRuleName is a required field
15878	ConfigRuleName *string `min:"1" type:"string" required:"true"`
15879
15880	// The name of the configuration aggregator.
15881	//
15882	// ConfigurationAggregatorName is a required field
15883	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
15884
15885	// The maximum number of evaluation results returned on each page. The default
15886	// is 50. You cannot specify a number greater than 100. If you specify 0, AWS
15887	// Config uses the default.
15888	Limit *int64 `type:"integer"`
15889
15890	// The nextToken string returned on a previous page that you use to get the
15891	// next page of results in a paginated response.
15892	NextToken *string `type:"string"`
15893}
15894
15895// String returns the string representation
15896func (s GetAggregateComplianceDetailsByConfigRuleInput) String() string {
15897	return awsutil.Prettify(s)
15898}
15899
15900// GoString returns the string representation
15901func (s GetAggregateComplianceDetailsByConfigRuleInput) GoString() string {
15902	return s.String()
15903}
15904
15905// Validate inspects the fields of the type to determine if they are valid.
15906func (s *GetAggregateComplianceDetailsByConfigRuleInput) Validate() error {
15907	invalidParams := request.ErrInvalidParams{Context: "GetAggregateComplianceDetailsByConfigRuleInput"}
15908	if s.AccountId == nil {
15909		invalidParams.Add(request.NewErrParamRequired("AccountId"))
15910	}
15911	if s.AwsRegion == nil {
15912		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
15913	}
15914	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
15915		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
15916	}
15917	if s.ConfigRuleName == nil {
15918		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
15919	}
15920	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
15921		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
15922	}
15923	if s.ConfigurationAggregatorName == nil {
15924		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
15925	}
15926	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
15927		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
15928	}
15929
15930	if invalidParams.Len() > 0 {
15931		return invalidParams
15932	}
15933	return nil
15934}
15935
15936// SetAccountId sets the AccountId field's value.
15937func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAccountId(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15938	s.AccountId = &v
15939	return s
15940}
15941
15942// SetAwsRegion sets the AwsRegion field's value.
15943func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAwsRegion(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15944	s.AwsRegion = &v
15945	return s
15946}
15947
15948// SetComplianceType sets the ComplianceType field's value.
15949func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetComplianceType(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15950	s.ComplianceType = &v
15951	return s
15952}
15953
15954// SetConfigRuleName sets the ConfigRuleName field's value.
15955func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15956	s.ConfigRuleName = &v
15957	return s
15958}
15959
15960// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
15961func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigurationAggregatorName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15962	s.ConfigurationAggregatorName = &v
15963	return s
15964}
15965
15966// SetLimit sets the Limit field's value.
15967func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetAggregateComplianceDetailsByConfigRuleInput {
15968	s.Limit = &v
15969	return s
15970}
15971
15972// SetNextToken sets the NextToken field's value.
15973func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
15974	s.NextToken = &v
15975	return s
15976}
15977
15978type GetAggregateComplianceDetailsByConfigRuleOutput struct {
15979	_ struct{} `type:"structure"`
15980
15981	// Returns an AggregateEvaluationResults object.
15982	AggregateEvaluationResults []*AggregateEvaluationResult `type:"list"`
15983
15984	// The nextToken string returned on a previous page that you use to get the
15985	// next page of results in a paginated response.
15986	NextToken *string `type:"string"`
15987}
15988
15989// String returns the string representation
15990func (s GetAggregateComplianceDetailsByConfigRuleOutput) String() string {
15991	return awsutil.Prettify(s)
15992}
15993
15994// GoString returns the string representation
15995func (s GetAggregateComplianceDetailsByConfigRuleOutput) GoString() string {
15996	return s.String()
15997}
15998
15999// SetAggregateEvaluationResults sets the AggregateEvaluationResults field's value.
16000func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetAggregateEvaluationResults(v []*AggregateEvaluationResult) *GetAggregateComplianceDetailsByConfigRuleOutput {
16001	s.AggregateEvaluationResults = v
16002	return s
16003}
16004
16005// SetNextToken sets the NextToken field's value.
16006func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleOutput {
16007	s.NextToken = &v
16008	return s
16009}
16010
16011type GetAggregateConfigRuleComplianceSummaryInput struct {
16012	_ struct{} `type:"structure"`
16013
16014	// The name of the configuration aggregator.
16015	//
16016	// ConfigurationAggregatorName is a required field
16017	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
16018
16019	// Filters the results based on the ConfigRuleComplianceSummaryFilters object.
16020	Filters *ConfigRuleComplianceSummaryFilters `type:"structure"`
16021
16022	// Groups the result based on ACCOUNT_ID or AWS_REGION.
16023	GroupByKey *string `type:"string" enum:"ConfigRuleComplianceSummaryGroupKey"`
16024
16025	// The maximum number of evaluation results returned on each page. The default
16026	// is 1000. You cannot specify a number greater than 1000. If you specify 0,
16027	// AWS Config uses the default.
16028	Limit *int64 `type:"integer"`
16029
16030	// The nextToken string returned on a previous page that you use to get the
16031	// next page of results in a paginated response.
16032	NextToken *string `type:"string"`
16033}
16034
16035// String returns the string representation
16036func (s GetAggregateConfigRuleComplianceSummaryInput) String() string {
16037	return awsutil.Prettify(s)
16038}
16039
16040// GoString returns the string representation
16041func (s GetAggregateConfigRuleComplianceSummaryInput) GoString() string {
16042	return s.String()
16043}
16044
16045// Validate inspects the fields of the type to determine if they are valid.
16046func (s *GetAggregateConfigRuleComplianceSummaryInput) Validate() error {
16047	invalidParams := request.ErrInvalidParams{Context: "GetAggregateConfigRuleComplianceSummaryInput"}
16048	if s.ConfigurationAggregatorName == nil {
16049		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
16050	}
16051	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
16052		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
16053	}
16054	if s.Filters != nil {
16055		if err := s.Filters.Validate(); err != nil {
16056			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16057		}
16058	}
16059
16060	if invalidParams.Len() > 0 {
16061		return invalidParams
16062	}
16063	return nil
16064}
16065
16066// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
16067func (s *GetAggregateConfigRuleComplianceSummaryInput) SetConfigurationAggregatorName(v string) *GetAggregateConfigRuleComplianceSummaryInput {
16068	s.ConfigurationAggregatorName = &v
16069	return s
16070}
16071
16072// SetFilters sets the Filters field's value.
16073func (s *GetAggregateConfigRuleComplianceSummaryInput) SetFilters(v *ConfigRuleComplianceSummaryFilters) *GetAggregateConfigRuleComplianceSummaryInput {
16074	s.Filters = v
16075	return s
16076}
16077
16078// SetGroupByKey sets the GroupByKey field's value.
16079func (s *GetAggregateConfigRuleComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryInput {
16080	s.GroupByKey = &v
16081	return s
16082}
16083
16084// SetLimit sets the Limit field's value.
16085func (s *GetAggregateConfigRuleComplianceSummaryInput) SetLimit(v int64) *GetAggregateConfigRuleComplianceSummaryInput {
16086	s.Limit = &v
16087	return s
16088}
16089
16090// SetNextToken sets the NextToken field's value.
16091func (s *GetAggregateConfigRuleComplianceSummaryInput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryInput {
16092	s.NextToken = &v
16093	return s
16094}
16095
16096type GetAggregateConfigRuleComplianceSummaryOutput struct {
16097	_ struct{} `type:"structure"`
16098
16099	// Returns a list of AggregateComplianceCounts object.
16100	AggregateComplianceCounts []*AggregateComplianceCount `type:"list"`
16101
16102	// Groups the result based on ACCOUNT_ID or AWS_REGION.
16103	GroupByKey *string `min:"1" type:"string"`
16104
16105	// The nextToken string returned on a previous page that you use to get the
16106	// next page of results in a paginated response.
16107	NextToken *string `type:"string"`
16108}
16109
16110// String returns the string representation
16111func (s GetAggregateConfigRuleComplianceSummaryOutput) String() string {
16112	return awsutil.Prettify(s)
16113}
16114
16115// GoString returns the string representation
16116func (s GetAggregateConfigRuleComplianceSummaryOutput) GoString() string {
16117	return s.String()
16118}
16119
16120// SetAggregateComplianceCounts sets the AggregateComplianceCounts field's value.
16121func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetAggregateComplianceCounts(v []*AggregateComplianceCount) *GetAggregateConfigRuleComplianceSummaryOutput {
16122	s.AggregateComplianceCounts = v
16123	return s
16124}
16125
16126// SetGroupByKey sets the GroupByKey field's value.
16127func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
16128	s.GroupByKey = &v
16129	return s
16130}
16131
16132// SetNextToken sets the NextToken field's value.
16133func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
16134	s.NextToken = &v
16135	return s
16136}
16137
16138type GetAggregateConformancePackComplianceSummaryInput struct {
16139	_ struct{} `type:"structure"`
16140
16141	// The name of the configuration aggregator.
16142	//
16143	// ConfigurationAggregatorName is a required field
16144	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
16145
16146	// Filters the results based on the AggregateConformancePackComplianceSummaryFilters
16147	// object.
16148	Filters *AggregateConformancePackComplianceSummaryFilters `type:"structure"`
16149
16150	// Groups the result based on AWS Account ID or AWS Region.
16151	GroupByKey *string `type:"string" enum:"AggregateConformancePackComplianceSummaryGroupKey"`
16152
16153	// The maximum number of results returned on each page. The default is maximum.
16154	// If you specify 0, AWS Config uses the default.
16155	Limit *int64 `type:"integer"`
16156
16157	// The nextToken string returned on a previous page that you use to get the
16158	// next page of results in a paginated response.
16159	NextToken *string `type:"string"`
16160}
16161
16162// String returns the string representation
16163func (s GetAggregateConformancePackComplianceSummaryInput) String() string {
16164	return awsutil.Prettify(s)
16165}
16166
16167// GoString returns the string representation
16168func (s GetAggregateConformancePackComplianceSummaryInput) GoString() string {
16169	return s.String()
16170}
16171
16172// Validate inspects the fields of the type to determine if they are valid.
16173func (s *GetAggregateConformancePackComplianceSummaryInput) Validate() error {
16174	invalidParams := request.ErrInvalidParams{Context: "GetAggregateConformancePackComplianceSummaryInput"}
16175	if s.ConfigurationAggregatorName == nil {
16176		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
16177	}
16178	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
16179		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
16180	}
16181	if s.Filters != nil {
16182		if err := s.Filters.Validate(); err != nil {
16183			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16184		}
16185	}
16186
16187	if invalidParams.Len() > 0 {
16188		return invalidParams
16189	}
16190	return nil
16191}
16192
16193// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
16194func (s *GetAggregateConformancePackComplianceSummaryInput) SetConfigurationAggregatorName(v string) *GetAggregateConformancePackComplianceSummaryInput {
16195	s.ConfigurationAggregatorName = &v
16196	return s
16197}
16198
16199// SetFilters sets the Filters field's value.
16200func (s *GetAggregateConformancePackComplianceSummaryInput) SetFilters(v *AggregateConformancePackComplianceSummaryFilters) *GetAggregateConformancePackComplianceSummaryInput {
16201	s.Filters = v
16202	return s
16203}
16204
16205// SetGroupByKey sets the GroupByKey field's value.
16206func (s *GetAggregateConformancePackComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConformancePackComplianceSummaryInput {
16207	s.GroupByKey = &v
16208	return s
16209}
16210
16211// SetLimit sets the Limit field's value.
16212func (s *GetAggregateConformancePackComplianceSummaryInput) SetLimit(v int64) *GetAggregateConformancePackComplianceSummaryInput {
16213	s.Limit = &v
16214	return s
16215}
16216
16217// SetNextToken sets the NextToken field's value.
16218func (s *GetAggregateConformancePackComplianceSummaryInput) SetNextToken(v string) *GetAggregateConformancePackComplianceSummaryInput {
16219	s.NextToken = &v
16220	return s
16221}
16222
16223type GetAggregateConformancePackComplianceSummaryOutput struct {
16224	_ struct{} `type:"structure"`
16225
16226	// Returns a list of AggregateConformancePackComplianceSummary object.
16227	AggregateConformancePackComplianceSummaries []*AggregateConformancePackComplianceSummary `type:"list"`
16228
16229	// Groups the result based on AWS Account ID or AWS Region.
16230	GroupByKey *string `min:"1" type:"string"`
16231
16232	// The nextToken string returned on a previous page that you use to get the
16233	// next page of results in a paginated response.
16234	NextToken *string `type:"string"`
16235}
16236
16237// String returns the string representation
16238func (s GetAggregateConformancePackComplianceSummaryOutput) String() string {
16239	return awsutil.Prettify(s)
16240}
16241
16242// GoString returns the string representation
16243func (s GetAggregateConformancePackComplianceSummaryOutput) GoString() string {
16244	return s.String()
16245}
16246
16247// SetAggregateConformancePackComplianceSummaries sets the AggregateConformancePackComplianceSummaries field's value.
16248func (s *GetAggregateConformancePackComplianceSummaryOutput) SetAggregateConformancePackComplianceSummaries(v []*AggregateConformancePackComplianceSummary) *GetAggregateConformancePackComplianceSummaryOutput {
16249	s.AggregateConformancePackComplianceSummaries = v
16250	return s
16251}
16252
16253// SetGroupByKey sets the GroupByKey field's value.
16254func (s *GetAggregateConformancePackComplianceSummaryOutput) SetGroupByKey(v string) *GetAggregateConformancePackComplianceSummaryOutput {
16255	s.GroupByKey = &v
16256	return s
16257}
16258
16259// SetNextToken sets the NextToken field's value.
16260func (s *GetAggregateConformancePackComplianceSummaryOutput) SetNextToken(v string) *GetAggregateConformancePackComplianceSummaryOutput {
16261	s.NextToken = &v
16262	return s
16263}
16264
16265type GetAggregateDiscoveredResourceCountsInput struct {
16266	_ struct{} `type:"structure"`
16267
16268	// The name of the configuration aggregator.
16269	//
16270	// ConfigurationAggregatorName is a required field
16271	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
16272
16273	// Filters the results based on the ResourceCountFilters object.
16274	Filters *ResourceCountFilters `type:"structure"`
16275
16276	// The key to group the resource counts.
16277	GroupByKey *string `type:"string" enum:"ResourceCountGroupKey"`
16278
16279	// The maximum number of GroupedResourceCount objects returned on each page.
16280	// The default is 1000. You cannot specify a number greater than 1000. If you
16281	// specify 0, AWS Config uses the default.
16282	Limit *int64 `type:"integer"`
16283
16284	// The nextToken string returned on a previous page that you use to get the
16285	// next page of results in a paginated response.
16286	NextToken *string `type:"string"`
16287}
16288
16289// String returns the string representation
16290func (s GetAggregateDiscoveredResourceCountsInput) String() string {
16291	return awsutil.Prettify(s)
16292}
16293
16294// GoString returns the string representation
16295func (s GetAggregateDiscoveredResourceCountsInput) GoString() string {
16296	return s.String()
16297}
16298
16299// Validate inspects the fields of the type to determine if they are valid.
16300func (s *GetAggregateDiscoveredResourceCountsInput) Validate() error {
16301	invalidParams := request.ErrInvalidParams{Context: "GetAggregateDiscoveredResourceCountsInput"}
16302	if s.ConfigurationAggregatorName == nil {
16303		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
16304	}
16305	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
16306		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
16307	}
16308	if s.Filters != nil {
16309		if err := s.Filters.Validate(); err != nil {
16310			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16311		}
16312	}
16313
16314	if invalidParams.Len() > 0 {
16315		return invalidParams
16316	}
16317	return nil
16318}
16319
16320// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
16321func (s *GetAggregateDiscoveredResourceCountsInput) SetConfigurationAggregatorName(v string) *GetAggregateDiscoveredResourceCountsInput {
16322	s.ConfigurationAggregatorName = &v
16323	return s
16324}
16325
16326// SetFilters sets the Filters field's value.
16327func (s *GetAggregateDiscoveredResourceCountsInput) SetFilters(v *ResourceCountFilters) *GetAggregateDiscoveredResourceCountsInput {
16328	s.Filters = v
16329	return s
16330}
16331
16332// SetGroupByKey sets the GroupByKey field's value.
16333func (s *GetAggregateDiscoveredResourceCountsInput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsInput {
16334	s.GroupByKey = &v
16335	return s
16336}
16337
16338// SetLimit sets the Limit field's value.
16339func (s *GetAggregateDiscoveredResourceCountsInput) SetLimit(v int64) *GetAggregateDiscoveredResourceCountsInput {
16340	s.Limit = &v
16341	return s
16342}
16343
16344// SetNextToken sets the NextToken field's value.
16345func (s *GetAggregateDiscoveredResourceCountsInput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsInput {
16346	s.NextToken = &v
16347	return s
16348}
16349
16350type GetAggregateDiscoveredResourceCountsOutput struct {
16351	_ struct{} `type:"structure"`
16352
16353	// The key passed into the request object. If GroupByKey is not provided, the
16354	// result will be empty.
16355	GroupByKey *string `min:"1" type:"string"`
16356
16357	// Returns a list of GroupedResourceCount objects.
16358	GroupedResourceCounts []*GroupedResourceCount `type:"list"`
16359
16360	// The nextToken string returned on a previous page that you use to get the
16361	// next page of results in a paginated response.
16362	NextToken *string `type:"string"`
16363
16364	// The total number of resources that are present in an aggregator with the
16365	// filters that you provide.
16366	//
16367	// TotalDiscoveredResources is a required field
16368	TotalDiscoveredResources *int64 `type:"long" required:"true"`
16369}
16370
16371// String returns the string representation
16372func (s GetAggregateDiscoveredResourceCountsOutput) String() string {
16373	return awsutil.Prettify(s)
16374}
16375
16376// GoString returns the string representation
16377func (s GetAggregateDiscoveredResourceCountsOutput) GoString() string {
16378	return s.String()
16379}
16380
16381// SetGroupByKey sets the GroupByKey field's value.
16382func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsOutput {
16383	s.GroupByKey = &v
16384	return s
16385}
16386
16387// SetGroupedResourceCounts sets the GroupedResourceCounts field's value.
16388func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupedResourceCounts(v []*GroupedResourceCount) *GetAggregateDiscoveredResourceCountsOutput {
16389	s.GroupedResourceCounts = v
16390	return s
16391}
16392
16393// SetNextToken sets the NextToken field's value.
16394func (s *GetAggregateDiscoveredResourceCountsOutput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsOutput {
16395	s.NextToken = &v
16396	return s
16397}
16398
16399// SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
16400func (s *GetAggregateDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetAggregateDiscoveredResourceCountsOutput {
16401	s.TotalDiscoveredResources = &v
16402	return s
16403}
16404
16405type GetAggregateResourceConfigInput struct {
16406	_ struct{} `type:"structure"`
16407
16408	// The name of the configuration aggregator.
16409	//
16410	// ConfigurationAggregatorName is a required field
16411	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
16412
16413	// An object that identifies aggregate resource.
16414	//
16415	// ResourceIdentifier is a required field
16416	ResourceIdentifier *AggregateResourceIdentifier `type:"structure" required:"true"`
16417}
16418
16419// String returns the string representation
16420func (s GetAggregateResourceConfigInput) String() string {
16421	return awsutil.Prettify(s)
16422}
16423
16424// GoString returns the string representation
16425func (s GetAggregateResourceConfigInput) GoString() string {
16426	return s.String()
16427}
16428
16429// Validate inspects the fields of the type to determine if they are valid.
16430func (s *GetAggregateResourceConfigInput) Validate() error {
16431	invalidParams := request.ErrInvalidParams{Context: "GetAggregateResourceConfigInput"}
16432	if s.ConfigurationAggregatorName == nil {
16433		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
16434	}
16435	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
16436		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
16437	}
16438	if s.ResourceIdentifier == nil {
16439		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
16440	}
16441	if s.ResourceIdentifier != nil {
16442		if err := s.ResourceIdentifier.Validate(); err != nil {
16443			invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams))
16444		}
16445	}
16446
16447	if invalidParams.Len() > 0 {
16448		return invalidParams
16449	}
16450	return nil
16451}
16452
16453// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
16454func (s *GetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *GetAggregateResourceConfigInput {
16455	s.ConfigurationAggregatorName = &v
16456	return s
16457}
16458
16459// SetResourceIdentifier sets the ResourceIdentifier field's value.
16460func (s *GetAggregateResourceConfigInput) SetResourceIdentifier(v *AggregateResourceIdentifier) *GetAggregateResourceConfigInput {
16461	s.ResourceIdentifier = v
16462	return s
16463}
16464
16465type GetAggregateResourceConfigOutput struct {
16466	_ struct{} `type:"structure"`
16467
16468	// Returns a ConfigurationItem object.
16469	ConfigurationItem *ConfigurationItem `type:"structure"`
16470}
16471
16472// String returns the string representation
16473func (s GetAggregateResourceConfigOutput) String() string {
16474	return awsutil.Prettify(s)
16475}
16476
16477// GoString returns the string representation
16478func (s GetAggregateResourceConfigOutput) GoString() string {
16479	return s.String()
16480}
16481
16482// SetConfigurationItem sets the ConfigurationItem field's value.
16483func (s *GetAggregateResourceConfigOutput) SetConfigurationItem(v *ConfigurationItem) *GetAggregateResourceConfigOutput {
16484	s.ConfigurationItem = v
16485	return s
16486}
16487
16488type GetComplianceDetailsByConfigRuleInput struct {
16489	_ struct{} `type:"structure"`
16490
16491	// Filters the results by compliance.
16492	//
16493	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
16494	ComplianceTypes []*string `type:"list"`
16495
16496	// The name of the AWS Config rule for which you want compliance information.
16497	//
16498	// ConfigRuleName is a required field
16499	ConfigRuleName *string `min:"1" type:"string" required:"true"`
16500
16501	// The maximum number of evaluation results returned on each page. The default
16502	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
16503	// Config uses the default.
16504	Limit *int64 `type:"integer"`
16505
16506	// The nextToken string returned on a previous page that you use to get the
16507	// next page of results in a paginated response.
16508	NextToken *string `type:"string"`
16509}
16510
16511// String returns the string representation
16512func (s GetComplianceDetailsByConfigRuleInput) String() string {
16513	return awsutil.Prettify(s)
16514}
16515
16516// GoString returns the string representation
16517func (s GetComplianceDetailsByConfigRuleInput) GoString() string {
16518	return s.String()
16519}
16520
16521// Validate inspects the fields of the type to determine if they are valid.
16522func (s *GetComplianceDetailsByConfigRuleInput) Validate() error {
16523	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByConfigRuleInput"}
16524	if s.ConfigRuleName == nil {
16525		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
16526	}
16527	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
16528		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
16529	}
16530
16531	if invalidParams.Len() > 0 {
16532		return invalidParams
16533	}
16534	return nil
16535}
16536
16537// SetComplianceTypes sets the ComplianceTypes field's value.
16538func (s *GetComplianceDetailsByConfigRuleInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByConfigRuleInput {
16539	s.ComplianceTypes = v
16540	return s
16541}
16542
16543// SetConfigRuleName sets the ConfigRuleName field's value.
16544func (s *GetComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetComplianceDetailsByConfigRuleInput {
16545	s.ConfigRuleName = &v
16546	return s
16547}
16548
16549// SetLimit sets the Limit field's value.
16550func (s *GetComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetComplianceDetailsByConfigRuleInput {
16551	s.Limit = &v
16552	return s
16553}
16554
16555// SetNextToken sets the NextToken field's value.
16556func (s *GetComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleInput {
16557	s.NextToken = &v
16558	return s
16559}
16560
16561type GetComplianceDetailsByConfigRuleOutput struct {
16562	_ struct{} `type:"structure"`
16563
16564	// Indicates whether the AWS resource complies with the specified AWS Config
16565	// rule.
16566	EvaluationResults []*EvaluationResult `type:"list"`
16567
16568	// The string that you use in a subsequent request to get the next page of results
16569	// in a paginated response.
16570	NextToken *string `type:"string"`
16571}
16572
16573// String returns the string representation
16574func (s GetComplianceDetailsByConfigRuleOutput) String() string {
16575	return awsutil.Prettify(s)
16576}
16577
16578// GoString returns the string representation
16579func (s GetComplianceDetailsByConfigRuleOutput) GoString() string {
16580	return s.String()
16581}
16582
16583// SetEvaluationResults sets the EvaluationResults field's value.
16584func (s *GetComplianceDetailsByConfigRuleOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByConfigRuleOutput {
16585	s.EvaluationResults = v
16586	return s
16587}
16588
16589// SetNextToken sets the NextToken field's value.
16590func (s *GetComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleOutput {
16591	s.NextToken = &v
16592	return s
16593}
16594
16595type GetComplianceDetailsByResourceInput struct {
16596	_ struct{} `type:"structure"`
16597
16598	// Filters the results by compliance.
16599	//
16600	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
16601	ComplianceTypes []*string `type:"list"`
16602
16603	// The nextToken string returned on a previous page that you use to get the
16604	// next page of results in a paginated response.
16605	NextToken *string `type:"string"`
16606
16607	// The ID of the AWS resource for which you want compliance information.
16608	//
16609	// ResourceId is a required field
16610	ResourceId *string `min:"1" type:"string" required:"true"`
16611
16612	// The type of the AWS resource for which you want compliance information.
16613	//
16614	// ResourceType is a required field
16615	ResourceType *string `min:"1" type:"string" required:"true"`
16616}
16617
16618// String returns the string representation
16619func (s GetComplianceDetailsByResourceInput) String() string {
16620	return awsutil.Prettify(s)
16621}
16622
16623// GoString returns the string representation
16624func (s GetComplianceDetailsByResourceInput) GoString() string {
16625	return s.String()
16626}
16627
16628// Validate inspects the fields of the type to determine if they are valid.
16629func (s *GetComplianceDetailsByResourceInput) Validate() error {
16630	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByResourceInput"}
16631	if s.ResourceId == nil {
16632		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
16633	}
16634	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
16635		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
16636	}
16637	if s.ResourceType == nil {
16638		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
16639	}
16640	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
16641		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
16642	}
16643
16644	if invalidParams.Len() > 0 {
16645		return invalidParams
16646	}
16647	return nil
16648}
16649
16650// SetComplianceTypes sets the ComplianceTypes field's value.
16651func (s *GetComplianceDetailsByResourceInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByResourceInput {
16652	s.ComplianceTypes = v
16653	return s
16654}
16655
16656// SetNextToken sets the NextToken field's value.
16657func (s *GetComplianceDetailsByResourceInput) SetNextToken(v string) *GetComplianceDetailsByResourceInput {
16658	s.NextToken = &v
16659	return s
16660}
16661
16662// SetResourceId sets the ResourceId field's value.
16663func (s *GetComplianceDetailsByResourceInput) SetResourceId(v string) *GetComplianceDetailsByResourceInput {
16664	s.ResourceId = &v
16665	return s
16666}
16667
16668// SetResourceType sets the ResourceType field's value.
16669func (s *GetComplianceDetailsByResourceInput) SetResourceType(v string) *GetComplianceDetailsByResourceInput {
16670	s.ResourceType = &v
16671	return s
16672}
16673
16674type GetComplianceDetailsByResourceOutput struct {
16675	_ struct{} `type:"structure"`
16676
16677	// Indicates whether the specified AWS resource complies each AWS Config rule.
16678	EvaluationResults []*EvaluationResult `type:"list"`
16679
16680	// The string that you use in a subsequent request to get the next page of results
16681	// in a paginated response.
16682	NextToken *string `type:"string"`
16683}
16684
16685// String returns the string representation
16686func (s GetComplianceDetailsByResourceOutput) String() string {
16687	return awsutil.Prettify(s)
16688}
16689
16690// GoString returns the string representation
16691func (s GetComplianceDetailsByResourceOutput) GoString() string {
16692	return s.String()
16693}
16694
16695// SetEvaluationResults sets the EvaluationResults field's value.
16696func (s *GetComplianceDetailsByResourceOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByResourceOutput {
16697	s.EvaluationResults = v
16698	return s
16699}
16700
16701// SetNextToken sets the NextToken field's value.
16702func (s *GetComplianceDetailsByResourceOutput) SetNextToken(v string) *GetComplianceDetailsByResourceOutput {
16703	s.NextToken = &v
16704	return s
16705}
16706
16707type GetComplianceSummaryByConfigRuleInput struct {
16708	_ struct{} `type:"structure"`
16709}
16710
16711// String returns the string representation
16712func (s GetComplianceSummaryByConfigRuleInput) String() string {
16713	return awsutil.Prettify(s)
16714}
16715
16716// GoString returns the string representation
16717func (s GetComplianceSummaryByConfigRuleInput) GoString() string {
16718	return s.String()
16719}
16720
16721type GetComplianceSummaryByConfigRuleOutput struct {
16722	_ struct{} `type:"structure"`
16723
16724	// The number of AWS Config rules that are compliant and the number that are
16725	// noncompliant, up to a maximum of 25 for each.
16726	ComplianceSummary *ComplianceSummary `type:"structure"`
16727}
16728
16729// String returns the string representation
16730func (s GetComplianceSummaryByConfigRuleOutput) String() string {
16731	return awsutil.Prettify(s)
16732}
16733
16734// GoString returns the string representation
16735func (s GetComplianceSummaryByConfigRuleOutput) GoString() string {
16736	return s.String()
16737}
16738
16739// SetComplianceSummary sets the ComplianceSummary field's value.
16740func (s *GetComplianceSummaryByConfigRuleOutput) SetComplianceSummary(v *ComplianceSummary) *GetComplianceSummaryByConfigRuleOutput {
16741	s.ComplianceSummary = v
16742	return s
16743}
16744
16745type GetComplianceSummaryByResourceTypeInput struct {
16746	_ struct{} `type:"structure"`
16747
16748	// Specify one or more resource types to get the number of resources that are
16749	// compliant and the number that are noncompliant for each resource type.
16750	//
16751	// For this request, you can specify an AWS resource type such as AWS::EC2::Instance.
16752	// You can specify that the resource type is an AWS account by specifying AWS::::Account.
16753	ResourceTypes []*string `type:"list"`
16754}
16755
16756// String returns the string representation
16757func (s GetComplianceSummaryByResourceTypeInput) String() string {
16758	return awsutil.Prettify(s)
16759}
16760
16761// GoString returns the string representation
16762func (s GetComplianceSummaryByResourceTypeInput) GoString() string {
16763	return s.String()
16764}
16765
16766// SetResourceTypes sets the ResourceTypes field's value.
16767func (s *GetComplianceSummaryByResourceTypeInput) SetResourceTypes(v []*string) *GetComplianceSummaryByResourceTypeInput {
16768	s.ResourceTypes = v
16769	return s
16770}
16771
16772type GetComplianceSummaryByResourceTypeOutput struct {
16773	_ struct{} `type:"structure"`
16774
16775	// The number of resources that are compliant and the number that are noncompliant.
16776	// If one or more resource types were provided with the request, the numbers
16777	// are returned for each resource type. The maximum number returned is 100.
16778	ComplianceSummariesByResourceType []*ComplianceSummaryByResourceType `type:"list"`
16779}
16780
16781// String returns the string representation
16782func (s GetComplianceSummaryByResourceTypeOutput) String() string {
16783	return awsutil.Prettify(s)
16784}
16785
16786// GoString returns the string representation
16787func (s GetComplianceSummaryByResourceTypeOutput) GoString() string {
16788	return s.String()
16789}
16790
16791// SetComplianceSummariesByResourceType sets the ComplianceSummariesByResourceType field's value.
16792func (s *GetComplianceSummaryByResourceTypeOutput) SetComplianceSummariesByResourceType(v []*ComplianceSummaryByResourceType) *GetComplianceSummaryByResourceTypeOutput {
16793	s.ComplianceSummariesByResourceType = v
16794	return s
16795}
16796
16797type GetConformancePackComplianceDetailsInput struct {
16798	_ struct{} `type:"structure"`
16799
16800	// Name of the conformance pack.
16801	//
16802	// ConformancePackName is a required field
16803	ConformancePackName *string `min:"1" type:"string" required:"true"`
16804
16805	// A ConformancePackEvaluationFilters object.
16806	Filters *ConformancePackEvaluationFilters `type:"structure"`
16807
16808	// The maximum number of evaluation results returned on each page. If you do
16809	// no specify a number, AWS Config uses the default. The default is 100.
16810	Limit *int64 `type:"integer"`
16811
16812	// The nextToken string returned in a previous request that you use to request
16813	// the next page of results in a paginated response.
16814	NextToken *string `type:"string"`
16815}
16816
16817// String returns the string representation
16818func (s GetConformancePackComplianceDetailsInput) String() string {
16819	return awsutil.Prettify(s)
16820}
16821
16822// GoString returns the string representation
16823func (s GetConformancePackComplianceDetailsInput) GoString() string {
16824	return s.String()
16825}
16826
16827// Validate inspects the fields of the type to determine if they are valid.
16828func (s *GetConformancePackComplianceDetailsInput) Validate() error {
16829	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceDetailsInput"}
16830	if s.ConformancePackName == nil {
16831		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
16832	}
16833	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
16834		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
16835	}
16836	if s.Filters != nil {
16837		if err := s.Filters.Validate(); err != nil {
16838			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
16839		}
16840	}
16841
16842	if invalidParams.Len() > 0 {
16843		return invalidParams
16844	}
16845	return nil
16846}
16847
16848// SetConformancePackName sets the ConformancePackName field's value.
16849func (s *GetConformancePackComplianceDetailsInput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsInput {
16850	s.ConformancePackName = &v
16851	return s
16852}
16853
16854// SetFilters sets the Filters field's value.
16855func (s *GetConformancePackComplianceDetailsInput) SetFilters(v *ConformancePackEvaluationFilters) *GetConformancePackComplianceDetailsInput {
16856	s.Filters = v
16857	return s
16858}
16859
16860// SetLimit sets the Limit field's value.
16861func (s *GetConformancePackComplianceDetailsInput) SetLimit(v int64) *GetConformancePackComplianceDetailsInput {
16862	s.Limit = &v
16863	return s
16864}
16865
16866// SetNextToken sets the NextToken field's value.
16867func (s *GetConformancePackComplianceDetailsInput) SetNextToken(v string) *GetConformancePackComplianceDetailsInput {
16868	s.NextToken = &v
16869	return s
16870}
16871
16872type GetConformancePackComplianceDetailsOutput struct {
16873	_ struct{} `type:"structure"`
16874
16875	// Name of the conformance pack.
16876	//
16877	// ConformancePackName is a required field
16878	ConformancePackName *string `min:"1" type:"string" required:"true"`
16879
16880	// Returns a list of ConformancePackEvaluationResult objects.
16881	ConformancePackRuleEvaluationResults []*ConformancePackEvaluationResult `type:"list"`
16882
16883	// The nextToken string returned in a previous request that you use to request
16884	// the next page of results in a paginated response.
16885	NextToken *string `type:"string"`
16886}
16887
16888// String returns the string representation
16889func (s GetConformancePackComplianceDetailsOutput) String() string {
16890	return awsutil.Prettify(s)
16891}
16892
16893// GoString returns the string representation
16894func (s GetConformancePackComplianceDetailsOutput) GoString() string {
16895	return s.String()
16896}
16897
16898// SetConformancePackName sets the ConformancePackName field's value.
16899func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsOutput {
16900	s.ConformancePackName = &v
16901	return s
16902}
16903
16904// SetConformancePackRuleEvaluationResults sets the ConformancePackRuleEvaluationResults field's value.
16905func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackRuleEvaluationResults(v []*ConformancePackEvaluationResult) *GetConformancePackComplianceDetailsOutput {
16906	s.ConformancePackRuleEvaluationResults = v
16907	return s
16908}
16909
16910// SetNextToken sets the NextToken field's value.
16911func (s *GetConformancePackComplianceDetailsOutput) SetNextToken(v string) *GetConformancePackComplianceDetailsOutput {
16912	s.NextToken = &v
16913	return s
16914}
16915
16916type GetConformancePackComplianceSummaryInput struct {
16917	_ struct{} `type:"structure"`
16918
16919	// Names of conformance packs.
16920	//
16921	// ConformancePackNames is a required field
16922	ConformancePackNames []*string `min:"1" type:"list" required:"true"`
16923
16924	// The maximum number of conformance packs returned on each page.
16925	Limit *int64 `type:"integer"`
16926
16927	// The nextToken string returned on a previous page that you use to get the
16928	// next page of results in a paginated response.
16929	NextToken *string `type:"string"`
16930}
16931
16932// String returns the string representation
16933func (s GetConformancePackComplianceSummaryInput) String() string {
16934	return awsutil.Prettify(s)
16935}
16936
16937// GoString returns the string representation
16938func (s GetConformancePackComplianceSummaryInput) GoString() string {
16939	return s.String()
16940}
16941
16942// Validate inspects the fields of the type to determine if they are valid.
16943func (s *GetConformancePackComplianceSummaryInput) Validate() error {
16944	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceSummaryInput"}
16945	if s.ConformancePackNames == nil {
16946		invalidParams.Add(request.NewErrParamRequired("ConformancePackNames"))
16947	}
16948	if s.ConformancePackNames != nil && len(s.ConformancePackNames) < 1 {
16949		invalidParams.Add(request.NewErrParamMinLen("ConformancePackNames", 1))
16950	}
16951
16952	if invalidParams.Len() > 0 {
16953		return invalidParams
16954	}
16955	return nil
16956}
16957
16958// SetConformancePackNames sets the ConformancePackNames field's value.
16959func (s *GetConformancePackComplianceSummaryInput) SetConformancePackNames(v []*string) *GetConformancePackComplianceSummaryInput {
16960	s.ConformancePackNames = v
16961	return s
16962}
16963
16964// SetLimit sets the Limit field's value.
16965func (s *GetConformancePackComplianceSummaryInput) SetLimit(v int64) *GetConformancePackComplianceSummaryInput {
16966	s.Limit = &v
16967	return s
16968}
16969
16970// SetNextToken sets the NextToken field's value.
16971func (s *GetConformancePackComplianceSummaryInput) SetNextToken(v string) *GetConformancePackComplianceSummaryInput {
16972	s.NextToken = &v
16973	return s
16974}
16975
16976type GetConformancePackComplianceSummaryOutput struct {
16977	_ struct{} `type:"structure"`
16978
16979	// A list of ConformancePackComplianceSummary objects.
16980	ConformancePackComplianceSummaryList []*ConformancePackComplianceSummary `min:"1" type:"list"`
16981
16982	// The nextToken string returned on a previous page that you use to get the
16983	// next page of results in a paginated response.
16984	NextToken *string `type:"string"`
16985}
16986
16987// String returns the string representation
16988func (s GetConformancePackComplianceSummaryOutput) String() string {
16989	return awsutil.Prettify(s)
16990}
16991
16992// GoString returns the string representation
16993func (s GetConformancePackComplianceSummaryOutput) GoString() string {
16994	return s.String()
16995}
16996
16997// SetConformancePackComplianceSummaryList sets the ConformancePackComplianceSummaryList field's value.
16998func (s *GetConformancePackComplianceSummaryOutput) SetConformancePackComplianceSummaryList(v []*ConformancePackComplianceSummary) *GetConformancePackComplianceSummaryOutput {
16999	s.ConformancePackComplianceSummaryList = v
17000	return s
17001}
17002
17003// SetNextToken sets the NextToken field's value.
17004func (s *GetConformancePackComplianceSummaryOutput) SetNextToken(v string) *GetConformancePackComplianceSummaryOutput {
17005	s.NextToken = &v
17006	return s
17007}
17008
17009type GetDiscoveredResourceCountsInput struct {
17010	_ struct{} `type:"structure"`
17011
17012	// The maximum number of ResourceCount objects returned on each page. The default
17013	// is 100. You cannot specify a number greater than 100. If you specify 0, AWS
17014	// Config uses the default.
17015	Limit *int64 `locationName:"limit" type:"integer"`
17016
17017	// The nextToken string returned on a previous page that you use to get the
17018	// next page of results in a paginated response.
17019	NextToken *string `locationName:"nextToken" type:"string"`
17020
17021	// The comma-separated list that specifies the resource types that you want
17022	// AWS Config to return (for example, "AWS::EC2::Instance", "AWS::IAM::User").
17023	//
17024	// If a value for resourceTypes is not specified, AWS Config returns all resource
17025	// types that AWS Config is recording in the region for your account.
17026	//
17027	// If the configuration recorder is turned off, AWS Config returns an empty
17028	// list of ResourceCount objects. If the configuration recorder is not recording
17029	// a specific resource type (for example, S3 buckets), that resource type is
17030	// not returned in the list of ResourceCount objects.
17031	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
17032}
17033
17034// String returns the string representation
17035func (s GetDiscoveredResourceCountsInput) String() string {
17036	return awsutil.Prettify(s)
17037}
17038
17039// GoString returns the string representation
17040func (s GetDiscoveredResourceCountsInput) GoString() string {
17041	return s.String()
17042}
17043
17044// SetLimit sets the Limit field's value.
17045func (s *GetDiscoveredResourceCountsInput) SetLimit(v int64) *GetDiscoveredResourceCountsInput {
17046	s.Limit = &v
17047	return s
17048}
17049
17050// SetNextToken sets the NextToken field's value.
17051func (s *GetDiscoveredResourceCountsInput) SetNextToken(v string) *GetDiscoveredResourceCountsInput {
17052	s.NextToken = &v
17053	return s
17054}
17055
17056// SetResourceTypes sets the ResourceTypes field's value.
17057func (s *GetDiscoveredResourceCountsInput) SetResourceTypes(v []*string) *GetDiscoveredResourceCountsInput {
17058	s.ResourceTypes = v
17059	return s
17060}
17061
17062type GetDiscoveredResourceCountsOutput struct {
17063	_ struct{} `type:"structure"`
17064
17065	// The string that you use in a subsequent request to get the next page of results
17066	// in a paginated response.
17067	NextToken *string `locationName:"nextToken" type:"string"`
17068
17069	// The list of ResourceCount objects. Each object is listed in descending order
17070	// by the number of resources.
17071	ResourceCounts []*ResourceCount `locationName:"resourceCounts" type:"list"`
17072
17073	// The total number of resources that AWS Config is recording in the region
17074	// for your account. If you specify resource types in the request, AWS Config
17075	// returns only the total number of resources for those resource types.
17076	//
17077	// Example
17078	//
17079	// AWS Config is recording three resource types in the US East (Ohio) Region
17080	// for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for
17081	// a total of 60 resources.
17082	//
17083	// You make a call to the GetDiscoveredResourceCounts action and specify the
17084	// resource type, "AWS::EC2::Instances", in the request.
17085	//
17086	// AWS Config returns 25 for totalDiscoveredResources.
17087	TotalDiscoveredResources *int64 `locationName:"totalDiscoveredResources" type:"long"`
17088}
17089
17090// String returns the string representation
17091func (s GetDiscoveredResourceCountsOutput) String() string {
17092	return awsutil.Prettify(s)
17093}
17094
17095// GoString returns the string representation
17096func (s GetDiscoveredResourceCountsOutput) GoString() string {
17097	return s.String()
17098}
17099
17100// SetNextToken sets the NextToken field's value.
17101func (s *GetDiscoveredResourceCountsOutput) SetNextToken(v string) *GetDiscoveredResourceCountsOutput {
17102	s.NextToken = &v
17103	return s
17104}
17105
17106// SetResourceCounts sets the ResourceCounts field's value.
17107func (s *GetDiscoveredResourceCountsOutput) SetResourceCounts(v []*ResourceCount) *GetDiscoveredResourceCountsOutput {
17108	s.ResourceCounts = v
17109	return s
17110}
17111
17112// SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
17113func (s *GetDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetDiscoveredResourceCountsOutput {
17114	s.TotalDiscoveredResources = &v
17115	return s
17116}
17117
17118type GetOrganizationConfigRuleDetailedStatusInput struct {
17119	_ struct{} `type:"structure"`
17120
17121	// A StatusDetailFilters object.
17122	Filters *StatusDetailFilters `type:"structure"`
17123
17124	// The maximum number of OrganizationConfigRuleDetailedStatus returned on each
17125	// page. If you do not specify a number, AWS Config uses the default. The default
17126	// is 100.
17127	Limit *int64 `type:"integer"`
17128
17129	// The nextToken string returned on a previous page that you use to get the
17130	// next page of results in a paginated response.
17131	NextToken *string `type:"string"`
17132
17133	// The name of organization config rule for which you want status details for
17134	// member accounts.
17135	//
17136	// OrganizationConfigRuleName is a required field
17137	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
17138}
17139
17140// String returns the string representation
17141func (s GetOrganizationConfigRuleDetailedStatusInput) String() string {
17142	return awsutil.Prettify(s)
17143}
17144
17145// GoString returns the string representation
17146func (s GetOrganizationConfigRuleDetailedStatusInput) GoString() string {
17147	return s.String()
17148}
17149
17150// Validate inspects the fields of the type to determine if they are valid.
17151func (s *GetOrganizationConfigRuleDetailedStatusInput) Validate() error {
17152	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConfigRuleDetailedStatusInput"}
17153	if s.OrganizationConfigRuleName == nil {
17154		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
17155	}
17156	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
17157		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
17158	}
17159
17160	if invalidParams.Len() > 0 {
17161		return invalidParams
17162	}
17163	return nil
17164}
17165
17166// SetFilters sets the Filters field's value.
17167func (s *GetOrganizationConfigRuleDetailedStatusInput) SetFilters(v *StatusDetailFilters) *GetOrganizationConfigRuleDetailedStatusInput {
17168	s.Filters = v
17169	return s
17170}
17171
17172// SetLimit sets the Limit field's value.
17173func (s *GetOrganizationConfigRuleDetailedStatusInput) SetLimit(v int64) *GetOrganizationConfigRuleDetailedStatusInput {
17174	s.Limit = &v
17175	return s
17176}
17177
17178// SetNextToken sets the NextToken field's value.
17179func (s *GetOrganizationConfigRuleDetailedStatusInput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusInput {
17180	s.NextToken = &v
17181	return s
17182}
17183
17184// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
17185func (s *GetOrganizationConfigRuleDetailedStatusInput) SetOrganizationConfigRuleName(v string) *GetOrganizationConfigRuleDetailedStatusInput {
17186	s.OrganizationConfigRuleName = &v
17187	return s
17188}
17189
17190type GetOrganizationConfigRuleDetailedStatusOutput struct {
17191	_ struct{} `type:"structure"`
17192
17193	// The nextToken string returned on a previous page that you use to get the
17194	// next page of results in a paginated response.
17195	NextToken *string `type:"string"`
17196
17197	// A list of MemberAccountStatus objects.
17198	OrganizationConfigRuleDetailedStatus []*MemberAccountStatus `type:"list"`
17199}
17200
17201// String returns the string representation
17202func (s GetOrganizationConfigRuleDetailedStatusOutput) String() string {
17203	return awsutil.Prettify(s)
17204}
17205
17206// GoString returns the string representation
17207func (s GetOrganizationConfigRuleDetailedStatusOutput) GoString() string {
17208	return s.String()
17209}
17210
17211// SetNextToken sets the NextToken field's value.
17212func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusOutput {
17213	s.NextToken = &v
17214	return s
17215}
17216
17217// SetOrganizationConfigRuleDetailedStatus sets the OrganizationConfigRuleDetailedStatus field's value.
17218func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetOrganizationConfigRuleDetailedStatus(v []*MemberAccountStatus) *GetOrganizationConfigRuleDetailedStatusOutput {
17219	s.OrganizationConfigRuleDetailedStatus = v
17220	return s
17221}
17222
17223type GetOrganizationConformancePackDetailedStatusInput struct {
17224	_ struct{} `type:"structure"`
17225
17226	// An OrganizationResourceDetailedStatusFilters object.
17227	Filters *OrganizationResourceDetailedStatusFilters `type:"structure"`
17228
17229	// The maximum number of OrganizationConformancePackDetailedStatuses returned
17230	// on each page. If you do not specify a number, AWS Config uses the default.
17231	// The default is 100.
17232	Limit *int64 `type:"integer"`
17233
17234	// The nextToken string returned on a previous page that you use to get the
17235	// next page of results in a paginated response.
17236	NextToken *string `type:"string"`
17237
17238	// The name of organization conformance pack for which you want status details
17239	// for member accounts.
17240	//
17241	// OrganizationConformancePackName is a required field
17242	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
17243}
17244
17245// String returns the string representation
17246func (s GetOrganizationConformancePackDetailedStatusInput) String() string {
17247	return awsutil.Prettify(s)
17248}
17249
17250// GoString returns the string representation
17251func (s GetOrganizationConformancePackDetailedStatusInput) GoString() string {
17252	return s.String()
17253}
17254
17255// Validate inspects the fields of the type to determine if they are valid.
17256func (s *GetOrganizationConformancePackDetailedStatusInput) Validate() error {
17257	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConformancePackDetailedStatusInput"}
17258	if s.OrganizationConformancePackName == nil {
17259		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
17260	}
17261	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
17262		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
17263	}
17264
17265	if invalidParams.Len() > 0 {
17266		return invalidParams
17267	}
17268	return nil
17269}
17270
17271// SetFilters sets the Filters field's value.
17272func (s *GetOrganizationConformancePackDetailedStatusInput) SetFilters(v *OrganizationResourceDetailedStatusFilters) *GetOrganizationConformancePackDetailedStatusInput {
17273	s.Filters = v
17274	return s
17275}
17276
17277// SetLimit sets the Limit field's value.
17278func (s *GetOrganizationConformancePackDetailedStatusInput) SetLimit(v int64) *GetOrganizationConformancePackDetailedStatusInput {
17279	s.Limit = &v
17280	return s
17281}
17282
17283// SetNextToken sets the NextToken field's value.
17284func (s *GetOrganizationConformancePackDetailedStatusInput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusInput {
17285	s.NextToken = &v
17286	return s
17287}
17288
17289// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
17290func (s *GetOrganizationConformancePackDetailedStatusInput) SetOrganizationConformancePackName(v string) *GetOrganizationConformancePackDetailedStatusInput {
17291	s.OrganizationConformancePackName = &v
17292	return s
17293}
17294
17295type GetOrganizationConformancePackDetailedStatusOutput struct {
17296	_ struct{} `type:"structure"`
17297
17298	// The nextToken string returned on a previous page that you use to get the
17299	// next page of results in a paginated response.
17300	NextToken *string `type:"string"`
17301
17302	// A list of OrganizationConformancePackDetailedStatus objects.
17303	OrganizationConformancePackDetailedStatuses []*OrganizationConformancePackDetailedStatus `type:"list"`
17304}
17305
17306// String returns the string representation
17307func (s GetOrganizationConformancePackDetailedStatusOutput) String() string {
17308	return awsutil.Prettify(s)
17309}
17310
17311// GoString returns the string representation
17312func (s GetOrganizationConformancePackDetailedStatusOutput) GoString() string {
17313	return s.String()
17314}
17315
17316// SetNextToken sets the NextToken field's value.
17317func (s *GetOrganizationConformancePackDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusOutput {
17318	s.NextToken = &v
17319	return s
17320}
17321
17322// SetOrganizationConformancePackDetailedStatuses sets the OrganizationConformancePackDetailedStatuses field's value.
17323func (s *GetOrganizationConformancePackDetailedStatusOutput) SetOrganizationConformancePackDetailedStatuses(v []*OrganizationConformancePackDetailedStatus) *GetOrganizationConformancePackDetailedStatusOutput {
17324	s.OrganizationConformancePackDetailedStatuses = v
17325	return s
17326}
17327
17328// The input for the GetResourceConfigHistory action.
17329type GetResourceConfigHistoryInput struct {
17330	_ struct{} `type:"structure"`
17331
17332	// The chronological order for configuration items listed. By default, the results
17333	// are listed in reverse chronological order.
17334	ChronologicalOrder *string `locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder"`
17335
17336	// The time stamp that indicates an earlier time. If not specified, the action
17337	// returns paginated results that contain configuration items that start when
17338	// the first configuration item was recorded.
17339	EarlierTime *time.Time `locationName:"earlierTime" type:"timestamp"`
17340
17341	// The time stamp that indicates a later time. If not specified, current time
17342	// is taken.
17343	LaterTime *time.Time `locationName:"laterTime" type:"timestamp"`
17344
17345	// The maximum number of configuration items returned on each page. The default
17346	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
17347	// Config uses the default.
17348	Limit *int64 `locationName:"limit" type:"integer"`
17349
17350	// The nextToken string returned on a previous page that you use to get the
17351	// next page of results in a paginated response.
17352	NextToken *string `locationName:"nextToken" type:"string"`
17353
17354	// The ID of the resource (for example., sg-xxxxxx).
17355	//
17356	// ResourceId is a required field
17357	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
17358
17359	// The resource type.
17360	//
17361	// ResourceType is a required field
17362	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
17363}
17364
17365// String returns the string representation
17366func (s GetResourceConfigHistoryInput) String() string {
17367	return awsutil.Prettify(s)
17368}
17369
17370// GoString returns the string representation
17371func (s GetResourceConfigHistoryInput) GoString() string {
17372	return s.String()
17373}
17374
17375// Validate inspects the fields of the type to determine if they are valid.
17376func (s *GetResourceConfigHistoryInput) Validate() error {
17377	invalidParams := request.ErrInvalidParams{Context: "GetResourceConfigHistoryInput"}
17378	if s.ResourceId == nil {
17379		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
17380	}
17381	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
17382		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
17383	}
17384	if s.ResourceType == nil {
17385		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
17386	}
17387
17388	if invalidParams.Len() > 0 {
17389		return invalidParams
17390	}
17391	return nil
17392}
17393
17394// SetChronologicalOrder sets the ChronologicalOrder field's value.
17395func (s *GetResourceConfigHistoryInput) SetChronologicalOrder(v string) *GetResourceConfigHistoryInput {
17396	s.ChronologicalOrder = &v
17397	return s
17398}
17399
17400// SetEarlierTime sets the EarlierTime field's value.
17401func (s *GetResourceConfigHistoryInput) SetEarlierTime(v time.Time) *GetResourceConfigHistoryInput {
17402	s.EarlierTime = &v
17403	return s
17404}
17405
17406// SetLaterTime sets the LaterTime field's value.
17407func (s *GetResourceConfigHistoryInput) SetLaterTime(v time.Time) *GetResourceConfigHistoryInput {
17408	s.LaterTime = &v
17409	return s
17410}
17411
17412// SetLimit sets the Limit field's value.
17413func (s *GetResourceConfigHistoryInput) SetLimit(v int64) *GetResourceConfigHistoryInput {
17414	s.Limit = &v
17415	return s
17416}
17417
17418// SetNextToken sets the NextToken field's value.
17419func (s *GetResourceConfigHistoryInput) SetNextToken(v string) *GetResourceConfigHistoryInput {
17420	s.NextToken = &v
17421	return s
17422}
17423
17424// SetResourceId sets the ResourceId field's value.
17425func (s *GetResourceConfigHistoryInput) SetResourceId(v string) *GetResourceConfigHistoryInput {
17426	s.ResourceId = &v
17427	return s
17428}
17429
17430// SetResourceType sets the ResourceType field's value.
17431func (s *GetResourceConfigHistoryInput) SetResourceType(v string) *GetResourceConfigHistoryInput {
17432	s.ResourceType = &v
17433	return s
17434}
17435
17436// The output for the GetResourceConfigHistory action.
17437type GetResourceConfigHistoryOutput struct {
17438	_ struct{} `type:"structure"`
17439
17440	// A list that contains the configuration history of one or more resources.
17441	ConfigurationItems []*ConfigurationItem `locationName:"configurationItems" type:"list"`
17442
17443	// The string that you use in a subsequent request to get the next page of results
17444	// in a paginated response.
17445	NextToken *string `locationName:"nextToken" type:"string"`
17446}
17447
17448// String returns the string representation
17449func (s GetResourceConfigHistoryOutput) String() string {
17450	return awsutil.Prettify(s)
17451}
17452
17453// GoString returns the string representation
17454func (s GetResourceConfigHistoryOutput) GoString() string {
17455	return s.String()
17456}
17457
17458// SetConfigurationItems sets the ConfigurationItems field's value.
17459func (s *GetResourceConfigHistoryOutput) SetConfigurationItems(v []*ConfigurationItem) *GetResourceConfigHistoryOutput {
17460	s.ConfigurationItems = v
17461	return s
17462}
17463
17464// SetNextToken sets the NextToken field's value.
17465func (s *GetResourceConfigHistoryOutput) SetNextToken(v string) *GetResourceConfigHistoryOutput {
17466	s.NextToken = &v
17467	return s
17468}
17469
17470type GetStoredQueryInput struct {
17471	_ struct{} `type:"structure"`
17472
17473	// The name of the query.
17474	//
17475	// QueryName is a required field
17476	QueryName *string `min:"1" type:"string" required:"true"`
17477}
17478
17479// String returns the string representation
17480func (s GetStoredQueryInput) String() string {
17481	return awsutil.Prettify(s)
17482}
17483
17484// GoString returns the string representation
17485func (s GetStoredQueryInput) GoString() string {
17486	return s.String()
17487}
17488
17489// Validate inspects the fields of the type to determine if they are valid.
17490func (s *GetStoredQueryInput) Validate() error {
17491	invalidParams := request.ErrInvalidParams{Context: "GetStoredQueryInput"}
17492	if s.QueryName == nil {
17493		invalidParams.Add(request.NewErrParamRequired("QueryName"))
17494	}
17495	if s.QueryName != nil && len(*s.QueryName) < 1 {
17496		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
17497	}
17498
17499	if invalidParams.Len() > 0 {
17500		return invalidParams
17501	}
17502	return nil
17503}
17504
17505// SetQueryName sets the QueryName field's value.
17506func (s *GetStoredQueryInput) SetQueryName(v string) *GetStoredQueryInput {
17507	s.QueryName = &v
17508	return s
17509}
17510
17511type GetStoredQueryOutput struct {
17512	_ struct{} `type:"structure"`
17513
17514	// Returns a StoredQuery object.
17515	StoredQuery *StoredQuery `type:"structure"`
17516}
17517
17518// String returns the string representation
17519func (s GetStoredQueryOutput) String() string {
17520	return awsutil.Prettify(s)
17521}
17522
17523// GoString returns the string representation
17524func (s GetStoredQueryOutput) GoString() string {
17525	return s.String()
17526}
17527
17528// SetStoredQuery sets the StoredQuery field's value.
17529func (s *GetStoredQueryOutput) SetStoredQuery(v *StoredQuery) *GetStoredQueryOutput {
17530	s.StoredQuery = v
17531	return s
17532}
17533
17534// The count of resources that are grouped by the group name.
17535type GroupedResourceCount struct {
17536	_ struct{} `type:"structure"`
17537
17538	// The name of the group that can be region, account ID, or resource type. For
17539	// example, region1, region2 if the region was chosen as GroupByKey.
17540	//
17541	// GroupName is a required field
17542	GroupName *string `min:"1" type:"string" required:"true"`
17543
17544	// The number of resources in the group.
17545	//
17546	// ResourceCount is a required field
17547	ResourceCount *int64 `type:"long" required:"true"`
17548}
17549
17550// String returns the string representation
17551func (s GroupedResourceCount) String() string {
17552	return awsutil.Prettify(s)
17553}
17554
17555// GoString returns the string representation
17556func (s GroupedResourceCount) GoString() string {
17557	return s.String()
17558}
17559
17560// SetGroupName sets the GroupName field's value.
17561func (s *GroupedResourceCount) SetGroupName(v string) *GroupedResourceCount {
17562	s.GroupName = &v
17563	return s
17564}
17565
17566// SetResourceCount sets the ResourceCount field's value.
17567func (s *GroupedResourceCount) SetResourceCount(v int64) *GroupedResourceCount {
17568	s.ResourceCount = &v
17569	return s
17570}
17571
17572// Your Amazon S3 bucket policy does not permit AWS Config to write to it.
17573type InsufficientDeliveryPolicyException struct {
17574	_            struct{}                  `type:"structure"`
17575	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17576
17577	Message_ *string `locationName:"message" type:"string"`
17578}
17579
17580// String returns the string representation
17581func (s InsufficientDeliveryPolicyException) String() string {
17582	return awsutil.Prettify(s)
17583}
17584
17585// GoString returns the string representation
17586func (s InsufficientDeliveryPolicyException) GoString() string {
17587	return s.String()
17588}
17589
17590func newErrorInsufficientDeliveryPolicyException(v protocol.ResponseMetadata) error {
17591	return &InsufficientDeliveryPolicyException{
17592		RespMetadata: v,
17593	}
17594}
17595
17596// Code returns the exception type name.
17597func (s *InsufficientDeliveryPolicyException) Code() string {
17598	return "InsufficientDeliveryPolicyException"
17599}
17600
17601// Message returns the exception's message.
17602func (s *InsufficientDeliveryPolicyException) Message() string {
17603	if s.Message_ != nil {
17604		return *s.Message_
17605	}
17606	return ""
17607}
17608
17609// OrigErr always returns nil, satisfies awserr.Error interface.
17610func (s *InsufficientDeliveryPolicyException) OrigErr() error {
17611	return nil
17612}
17613
17614func (s *InsufficientDeliveryPolicyException) Error() string {
17615	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17616}
17617
17618// Status code returns the HTTP status code for the request's response error.
17619func (s *InsufficientDeliveryPolicyException) StatusCode() int {
17620	return s.RespMetadata.StatusCode
17621}
17622
17623// RequestID returns the service's response RequestID for request.
17624func (s *InsufficientDeliveryPolicyException) RequestID() string {
17625	return s.RespMetadata.RequestID
17626}
17627
17628// Indicates one of the following errors:
17629//
17630//    * For PutConfigRule, the rule cannot be created because the IAM role assigned
17631//    to AWS Config lacks permissions to perform the config:Put* action.
17632//
17633//    * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
17634//    the function ARN, and check the function's permissions.
17635//
17636//    * For PutOrganizationConfigRule, organization config rule cannot be created
17637//    because you do not have permissions to call IAM GetRole action or create
17638//    a service linked role.
17639//
17640//    * For PutConformancePack and PutOrganizationConformancePack, a conformance
17641//    pack cannot be created because you do not have permissions: To call IAM
17642//    GetRole action or create a service linked role. To read Amazon S3 bucket.
17643type InsufficientPermissionsException struct {
17644	_            struct{}                  `type:"structure"`
17645	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17646
17647	Message_ *string `locationName:"message" type:"string"`
17648}
17649
17650// String returns the string representation
17651func (s InsufficientPermissionsException) String() string {
17652	return awsutil.Prettify(s)
17653}
17654
17655// GoString returns the string representation
17656func (s InsufficientPermissionsException) GoString() string {
17657	return s.String()
17658}
17659
17660func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
17661	return &InsufficientPermissionsException{
17662		RespMetadata: v,
17663	}
17664}
17665
17666// Code returns the exception type name.
17667func (s *InsufficientPermissionsException) Code() string {
17668	return "InsufficientPermissionsException"
17669}
17670
17671// Message returns the exception's message.
17672func (s *InsufficientPermissionsException) Message() string {
17673	if s.Message_ != nil {
17674		return *s.Message_
17675	}
17676	return ""
17677}
17678
17679// OrigErr always returns nil, satisfies awserr.Error interface.
17680func (s *InsufficientPermissionsException) OrigErr() error {
17681	return nil
17682}
17683
17684func (s *InsufficientPermissionsException) Error() string {
17685	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17686}
17687
17688// Status code returns the HTTP status code for the request's response error.
17689func (s *InsufficientPermissionsException) StatusCode() int {
17690	return s.RespMetadata.StatusCode
17691}
17692
17693// RequestID returns the service's response RequestID for request.
17694func (s *InsufficientPermissionsException) RequestID() string {
17695	return s.RespMetadata.RequestID
17696}
17697
17698// You have provided a configuration recorder name that is not valid.
17699type InvalidConfigurationRecorderNameException struct {
17700	_            struct{}                  `type:"structure"`
17701	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17702
17703	Message_ *string `locationName:"message" type:"string"`
17704}
17705
17706// String returns the string representation
17707func (s InvalidConfigurationRecorderNameException) String() string {
17708	return awsutil.Prettify(s)
17709}
17710
17711// GoString returns the string representation
17712func (s InvalidConfigurationRecorderNameException) GoString() string {
17713	return s.String()
17714}
17715
17716func newErrorInvalidConfigurationRecorderNameException(v protocol.ResponseMetadata) error {
17717	return &InvalidConfigurationRecorderNameException{
17718		RespMetadata: v,
17719	}
17720}
17721
17722// Code returns the exception type name.
17723func (s *InvalidConfigurationRecorderNameException) Code() string {
17724	return "InvalidConfigurationRecorderNameException"
17725}
17726
17727// Message returns the exception's message.
17728func (s *InvalidConfigurationRecorderNameException) Message() string {
17729	if s.Message_ != nil {
17730		return *s.Message_
17731	}
17732	return ""
17733}
17734
17735// OrigErr always returns nil, satisfies awserr.Error interface.
17736func (s *InvalidConfigurationRecorderNameException) OrigErr() error {
17737	return nil
17738}
17739
17740func (s *InvalidConfigurationRecorderNameException) Error() string {
17741	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17742}
17743
17744// Status code returns the HTTP status code for the request's response error.
17745func (s *InvalidConfigurationRecorderNameException) StatusCode() int {
17746	return s.RespMetadata.StatusCode
17747}
17748
17749// RequestID returns the service's response RequestID for request.
17750func (s *InvalidConfigurationRecorderNameException) RequestID() string {
17751	return s.RespMetadata.RequestID
17752}
17753
17754// The specified delivery channel name is not valid.
17755type InvalidDeliveryChannelNameException struct {
17756	_            struct{}                  `type:"structure"`
17757	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17758
17759	Message_ *string `locationName:"message" type:"string"`
17760}
17761
17762// String returns the string representation
17763func (s InvalidDeliveryChannelNameException) String() string {
17764	return awsutil.Prettify(s)
17765}
17766
17767// GoString returns the string representation
17768func (s InvalidDeliveryChannelNameException) GoString() string {
17769	return s.String()
17770}
17771
17772func newErrorInvalidDeliveryChannelNameException(v protocol.ResponseMetadata) error {
17773	return &InvalidDeliveryChannelNameException{
17774		RespMetadata: v,
17775	}
17776}
17777
17778// Code returns the exception type name.
17779func (s *InvalidDeliveryChannelNameException) Code() string {
17780	return "InvalidDeliveryChannelNameException"
17781}
17782
17783// Message returns the exception's message.
17784func (s *InvalidDeliveryChannelNameException) Message() string {
17785	if s.Message_ != nil {
17786		return *s.Message_
17787	}
17788	return ""
17789}
17790
17791// OrigErr always returns nil, satisfies awserr.Error interface.
17792func (s *InvalidDeliveryChannelNameException) OrigErr() error {
17793	return nil
17794}
17795
17796func (s *InvalidDeliveryChannelNameException) Error() string {
17797	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17798}
17799
17800// Status code returns the HTTP status code for the request's response error.
17801func (s *InvalidDeliveryChannelNameException) StatusCode() int {
17802	return s.RespMetadata.StatusCode
17803}
17804
17805// RequestID returns the service's response RequestID for request.
17806func (s *InvalidDeliveryChannelNameException) RequestID() string {
17807	return s.RespMetadata.RequestID
17808}
17809
17810// The syntax of the query is incorrect.
17811type InvalidExpressionException struct {
17812	_            struct{}                  `type:"structure"`
17813	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17814
17815	Message_ *string `locationName:"message" type:"string"`
17816}
17817
17818// String returns the string representation
17819func (s InvalidExpressionException) String() string {
17820	return awsutil.Prettify(s)
17821}
17822
17823// GoString returns the string representation
17824func (s InvalidExpressionException) GoString() string {
17825	return s.String()
17826}
17827
17828func newErrorInvalidExpressionException(v protocol.ResponseMetadata) error {
17829	return &InvalidExpressionException{
17830		RespMetadata: v,
17831	}
17832}
17833
17834// Code returns the exception type name.
17835func (s *InvalidExpressionException) Code() string {
17836	return "InvalidExpressionException"
17837}
17838
17839// Message returns the exception's message.
17840func (s *InvalidExpressionException) Message() string {
17841	if s.Message_ != nil {
17842		return *s.Message_
17843	}
17844	return ""
17845}
17846
17847// OrigErr always returns nil, satisfies awserr.Error interface.
17848func (s *InvalidExpressionException) OrigErr() error {
17849	return nil
17850}
17851
17852func (s *InvalidExpressionException) Error() string {
17853	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17854}
17855
17856// Status code returns the HTTP status code for the request's response error.
17857func (s *InvalidExpressionException) StatusCode() int {
17858	return s.RespMetadata.StatusCode
17859}
17860
17861// RequestID returns the service's response RequestID for request.
17862func (s *InvalidExpressionException) RequestID() string {
17863	return s.RespMetadata.RequestID
17864}
17865
17866// The specified limit is outside the allowable range.
17867type InvalidLimitException struct {
17868	_            struct{}                  `type:"structure"`
17869	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17870
17871	Message_ *string `locationName:"message" type:"string"`
17872}
17873
17874// String returns the string representation
17875func (s InvalidLimitException) String() string {
17876	return awsutil.Prettify(s)
17877}
17878
17879// GoString returns the string representation
17880func (s InvalidLimitException) GoString() string {
17881	return s.String()
17882}
17883
17884func newErrorInvalidLimitException(v protocol.ResponseMetadata) error {
17885	return &InvalidLimitException{
17886		RespMetadata: v,
17887	}
17888}
17889
17890// Code returns the exception type name.
17891func (s *InvalidLimitException) Code() string {
17892	return "InvalidLimitException"
17893}
17894
17895// Message returns the exception's message.
17896func (s *InvalidLimitException) Message() string {
17897	if s.Message_ != nil {
17898		return *s.Message_
17899	}
17900	return ""
17901}
17902
17903// OrigErr always returns nil, satisfies awserr.Error interface.
17904func (s *InvalidLimitException) OrigErr() error {
17905	return nil
17906}
17907
17908func (s *InvalidLimitException) Error() string {
17909	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17910}
17911
17912// Status code returns the HTTP status code for the request's response error.
17913func (s *InvalidLimitException) StatusCode() int {
17914	return s.RespMetadata.StatusCode
17915}
17916
17917// RequestID returns the service's response RequestID for request.
17918func (s *InvalidLimitException) RequestID() string {
17919	return s.RespMetadata.RequestID
17920}
17921
17922// The specified next token is invalid. Specify the nextToken string that was
17923// returned in the previous response to get the next page of results.
17924type InvalidNextTokenException struct {
17925	_            struct{}                  `type:"structure"`
17926	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17927
17928	Message_ *string `locationName:"message" type:"string"`
17929}
17930
17931// String returns the string representation
17932func (s InvalidNextTokenException) String() string {
17933	return awsutil.Prettify(s)
17934}
17935
17936// GoString returns the string representation
17937func (s InvalidNextTokenException) GoString() string {
17938	return s.String()
17939}
17940
17941func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
17942	return &InvalidNextTokenException{
17943		RespMetadata: v,
17944	}
17945}
17946
17947// Code returns the exception type name.
17948func (s *InvalidNextTokenException) Code() string {
17949	return "InvalidNextTokenException"
17950}
17951
17952// Message returns the exception's message.
17953func (s *InvalidNextTokenException) Message() string {
17954	if s.Message_ != nil {
17955		return *s.Message_
17956	}
17957	return ""
17958}
17959
17960// OrigErr always returns nil, satisfies awserr.Error interface.
17961func (s *InvalidNextTokenException) OrigErr() error {
17962	return nil
17963}
17964
17965func (s *InvalidNextTokenException) Error() string {
17966	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17967}
17968
17969// Status code returns the HTTP status code for the request's response error.
17970func (s *InvalidNextTokenException) StatusCode() int {
17971	return s.RespMetadata.StatusCode
17972}
17973
17974// RequestID returns the service's response RequestID for request.
17975func (s *InvalidNextTokenException) RequestID() string {
17976	return s.RespMetadata.RequestID
17977}
17978
17979// One or more of the specified parameters are invalid. Verify that your parameters
17980// are valid and try again.
17981type InvalidParameterValueException struct {
17982	_            struct{}                  `type:"structure"`
17983	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17984
17985	Message_ *string `locationName:"message" type:"string"`
17986}
17987
17988// String returns the string representation
17989func (s InvalidParameterValueException) String() string {
17990	return awsutil.Prettify(s)
17991}
17992
17993// GoString returns the string representation
17994func (s InvalidParameterValueException) GoString() string {
17995	return s.String()
17996}
17997
17998func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
17999	return &InvalidParameterValueException{
18000		RespMetadata: v,
18001	}
18002}
18003
18004// Code returns the exception type name.
18005func (s *InvalidParameterValueException) Code() string {
18006	return "InvalidParameterValueException"
18007}
18008
18009// Message returns the exception's message.
18010func (s *InvalidParameterValueException) Message() string {
18011	if s.Message_ != nil {
18012		return *s.Message_
18013	}
18014	return ""
18015}
18016
18017// OrigErr always returns nil, satisfies awserr.Error interface.
18018func (s *InvalidParameterValueException) OrigErr() error {
18019	return nil
18020}
18021
18022func (s *InvalidParameterValueException) Error() string {
18023	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18024}
18025
18026// Status code returns the HTTP status code for the request's response error.
18027func (s *InvalidParameterValueException) StatusCode() int {
18028	return s.RespMetadata.StatusCode
18029}
18030
18031// RequestID returns the service's response RequestID for request.
18032func (s *InvalidParameterValueException) RequestID() string {
18033	return s.RespMetadata.RequestID
18034}
18035
18036// AWS Config throws an exception if the recording group does not contain a
18037// valid list of resource types. Invalid values might also be incorrectly formatted.
18038type InvalidRecordingGroupException struct {
18039	_            struct{}                  `type:"structure"`
18040	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18041
18042	Message_ *string `locationName:"message" type:"string"`
18043}
18044
18045// String returns the string representation
18046func (s InvalidRecordingGroupException) String() string {
18047	return awsutil.Prettify(s)
18048}
18049
18050// GoString returns the string representation
18051func (s InvalidRecordingGroupException) GoString() string {
18052	return s.String()
18053}
18054
18055func newErrorInvalidRecordingGroupException(v protocol.ResponseMetadata) error {
18056	return &InvalidRecordingGroupException{
18057		RespMetadata: v,
18058	}
18059}
18060
18061// Code returns the exception type name.
18062func (s *InvalidRecordingGroupException) Code() string {
18063	return "InvalidRecordingGroupException"
18064}
18065
18066// Message returns the exception's message.
18067func (s *InvalidRecordingGroupException) Message() string {
18068	if s.Message_ != nil {
18069		return *s.Message_
18070	}
18071	return ""
18072}
18073
18074// OrigErr always returns nil, satisfies awserr.Error interface.
18075func (s *InvalidRecordingGroupException) OrigErr() error {
18076	return nil
18077}
18078
18079func (s *InvalidRecordingGroupException) Error() string {
18080	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18081}
18082
18083// Status code returns the HTTP status code for the request's response error.
18084func (s *InvalidRecordingGroupException) StatusCode() int {
18085	return s.RespMetadata.StatusCode
18086}
18087
18088// RequestID returns the service's response RequestID for request.
18089func (s *InvalidRecordingGroupException) RequestID() string {
18090	return s.RespMetadata.RequestID
18091}
18092
18093// The specified ResultToken is invalid.
18094type InvalidResultTokenException struct {
18095	_            struct{}                  `type:"structure"`
18096	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18097
18098	Message_ *string `locationName:"message" type:"string"`
18099}
18100
18101// String returns the string representation
18102func (s InvalidResultTokenException) String() string {
18103	return awsutil.Prettify(s)
18104}
18105
18106// GoString returns the string representation
18107func (s InvalidResultTokenException) GoString() string {
18108	return s.String()
18109}
18110
18111func newErrorInvalidResultTokenException(v protocol.ResponseMetadata) error {
18112	return &InvalidResultTokenException{
18113		RespMetadata: v,
18114	}
18115}
18116
18117// Code returns the exception type name.
18118func (s *InvalidResultTokenException) Code() string {
18119	return "InvalidResultTokenException"
18120}
18121
18122// Message returns the exception's message.
18123func (s *InvalidResultTokenException) Message() string {
18124	if s.Message_ != nil {
18125		return *s.Message_
18126	}
18127	return ""
18128}
18129
18130// OrigErr always returns nil, satisfies awserr.Error interface.
18131func (s *InvalidResultTokenException) OrigErr() error {
18132	return nil
18133}
18134
18135func (s *InvalidResultTokenException) Error() string {
18136	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18137}
18138
18139// Status code returns the HTTP status code for the request's response error.
18140func (s *InvalidResultTokenException) StatusCode() int {
18141	return s.RespMetadata.StatusCode
18142}
18143
18144// RequestID returns the service's response RequestID for request.
18145func (s *InvalidResultTokenException) RequestID() string {
18146	return s.RespMetadata.RequestID
18147}
18148
18149// You have provided a null or empty role ARN.
18150type InvalidRoleException struct {
18151	_            struct{}                  `type:"structure"`
18152	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18153
18154	Message_ *string `locationName:"message" type:"string"`
18155}
18156
18157// String returns the string representation
18158func (s InvalidRoleException) String() string {
18159	return awsutil.Prettify(s)
18160}
18161
18162// GoString returns the string representation
18163func (s InvalidRoleException) GoString() string {
18164	return s.String()
18165}
18166
18167func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
18168	return &InvalidRoleException{
18169		RespMetadata: v,
18170	}
18171}
18172
18173// Code returns the exception type name.
18174func (s *InvalidRoleException) Code() string {
18175	return "InvalidRoleException"
18176}
18177
18178// Message returns the exception's message.
18179func (s *InvalidRoleException) Message() string {
18180	if s.Message_ != nil {
18181		return *s.Message_
18182	}
18183	return ""
18184}
18185
18186// OrigErr always returns nil, satisfies awserr.Error interface.
18187func (s *InvalidRoleException) OrigErr() error {
18188	return nil
18189}
18190
18191func (s *InvalidRoleException) Error() string {
18192	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18193}
18194
18195// Status code returns the HTTP status code for the request's response error.
18196func (s *InvalidRoleException) StatusCode() int {
18197	return s.RespMetadata.StatusCode
18198}
18199
18200// RequestID returns the service's response RequestID for request.
18201func (s *InvalidRoleException) RequestID() string {
18202	return s.RespMetadata.RequestID
18203}
18204
18205// The specified Amazon S3 key prefix is not valid.
18206type InvalidS3KeyPrefixException struct {
18207	_            struct{}                  `type:"structure"`
18208	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18209
18210	Message_ *string `locationName:"message" type:"string"`
18211}
18212
18213// String returns the string representation
18214func (s InvalidS3KeyPrefixException) String() string {
18215	return awsutil.Prettify(s)
18216}
18217
18218// GoString returns the string representation
18219func (s InvalidS3KeyPrefixException) GoString() string {
18220	return s.String()
18221}
18222
18223func newErrorInvalidS3KeyPrefixException(v protocol.ResponseMetadata) error {
18224	return &InvalidS3KeyPrefixException{
18225		RespMetadata: v,
18226	}
18227}
18228
18229// Code returns the exception type name.
18230func (s *InvalidS3KeyPrefixException) Code() string {
18231	return "InvalidS3KeyPrefixException"
18232}
18233
18234// Message returns the exception's message.
18235func (s *InvalidS3KeyPrefixException) Message() string {
18236	if s.Message_ != nil {
18237		return *s.Message_
18238	}
18239	return ""
18240}
18241
18242// OrigErr always returns nil, satisfies awserr.Error interface.
18243func (s *InvalidS3KeyPrefixException) OrigErr() error {
18244	return nil
18245}
18246
18247func (s *InvalidS3KeyPrefixException) Error() string {
18248	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18249}
18250
18251// Status code returns the HTTP status code for the request's response error.
18252func (s *InvalidS3KeyPrefixException) StatusCode() int {
18253	return s.RespMetadata.StatusCode
18254}
18255
18256// RequestID returns the service's response RequestID for request.
18257func (s *InvalidS3KeyPrefixException) RequestID() string {
18258	return s.RespMetadata.RequestID
18259}
18260
18261// The specified Amazon KMS Key ARN is not valid.
18262type InvalidS3KmsKeyArnException struct {
18263	_            struct{}                  `type:"structure"`
18264	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18265
18266	Message_ *string `locationName:"message" type:"string"`
18267}
18268
18269// String returns the string representation
18270func (s InvalidS3KmsKeyArnException) String() string {
18271	return awsutil.Prettify(s)
18272}
18273
18274// GoString returns the string representation
18275func (s InvalidS3KmsKeyArnException) GoString() string {
18276	return s.String()
18277}
18278
18279func newErrorInvalidS3KmsKeyArnException(v protocol.ResponseMetadata) error {
18280	return &InvalidS3KmsKeyArnException{
18281		RespMetadata: v,
18282	}
18283}
18284
18285// Code returns the exception type name.
18286func (s *InvalidS3KmsKeyArnException) Code() string {
18287	return "InvalidS3KmsKeyArnException"
18288}
18289
18290// Message returns the exception's message.
18291func (s *InvalidS3KmsKeyArnException) Message() string {
18292	if s.Message_ != nil {
18293		return *s.Message_
18294	}
18295	return ""
18296}
18297
18298// OrigErr always returns nil, satisfies awserr.Error interface.
18299func (s *InvalidS3KmsKeyArnException) OrigErr() error {
18300	return nil
18301}
18302
18303func (s *InvalidS3KmsKeyArnException) Error() string {
18304	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18305}
18306
18307// Status code returns the HTTP status code for the request's response error.
18308func (s *InvalidS3KmsKeyArnException) StatusCode() int {
18309	return s.RespMetadata.StatusCode
18310}
18311
18312// RequestID returns the service's response RequestID for request.
18313func (s *InvalidS3KmsKeyArnException) RequestID() string {
18314	return s.RespMetadata.RequestID
18315}
18316
18317// The specified Amazon SNS topic does not exist.
18318type InvalidSNSTopicARNException struct {
18319	_            struct{}                  `type:"structure"`
18320	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18321
18322	Message_ *string `locationName:"message" type:"string"`
18323}
18324
18325// String returns the string representation
18326func (s InvalidSNSTopicARNException) String() string {
18327	return awsutil.Prettify(s)
18328}
18329
18330// GoString returns the string representation
18331func (s InvalidSNSTopicARNException) GoString() string {
18332	return s.String()
18333}
18334
18335func newErrorInvalidSNSTopicARNException(v protocol.ResponseMetadata) error {
18336	return &InvalidSNSTopicARNException{
18337		RespMetadata: v,
18338	}
18339}
18340
18341// Code returns the exception type name.
18342func (s *InvalidSNSTopicARNException) Code() string {
18343	return "InvalidSNSTopicARNException"
18344}
18345
18346// Message returns the exception's message.
18347func (s *InvalidSNSTopicARNException) Message() string {
18348	if s.Message_ != nil {
18349		return *s.Message_
18350	}
18351	return ""
18352}
18353
18354// OrigErr always returns nil, satisfies awserr.Error interface.
18355func (s *InvalidSNSTopicARNException) OrigErr() error {
18356	return nil
18357}
18358
18359func (s *InvalidSNSTopicARNException) Error() string {
18360	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18361}
18362
18363// Status code returns the HTTP status code for the request's response error.
18364func (s *InvalidSNSTopicARNException) StatusCode() int {
18365	return s.RespMetadata.StatusCode
18366}
18367
18368// RequestID returns the service's response RequestID for request.
18369func (s *InvalidSNSTopicARNException) RequestID() string {
18370	return s.RespMetadata.RequestID
18371}
18372
18373// The specified time range is not valid. The earlier time is not chronologically
18374// before the later time.
18375type InvalidTimeRangeException struct {
18376	_            struct{}                  `type:"structure"`
18377	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18378
18379	Message_ *string `locationName:"message" type:"string"`
18380}
18381
18382// String returns the string representation
18383func (s InvalidTimeRangeException) String() string {
18384	return awsutil.Prettify(s)
18385}
18386
18387// GoString returns the string representation
18388func (s InvalidTimeRangeException) GoString() string {
18389	return s.String()
18390}
18391
18392func newErrorInvalidTimeRangeException(v protocol.ResponseMetadata) error {
18393	return &InvalidTimeRangeException{
18394		RespMetadata: v,
18395	}
18396}
18397
18398// Code returns the exception type name.
18399func (s *InvalidTimeRangeException) Code() string {
18400	return "InvalidTimeRangeException"
18401}
18402
18403// Message returns the exception's message.
18404func (s *InvalidTimeRangeException) Message() string {
18405	if s.Message_ != nil {
18406		return *s.Message_
18407	}
18408	return ""
18409}
18410
18411// OrigErr always returns nil, satisfies awserr.Error interface.
18412func (s *InvalidTimeRangeException) OrigErr() error {
18413	return nil
18414}
18415
18416func (s *InvalidTimeRangeException) Error() string {
18417	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18418}
18419
18420// Status code returns the HTTP status code for the request's response error.
18421func (s *InvalidTimeRangeException) StatusCode() int {
18422	return s.RespMetadata.StatusCode
18423}
18424
18425// RequestID returns the service's response RequestID for request.
18426func (s *InvalidTimeRangeException) RequestID() string {
18427	return s.RespMetadata.RequestID
18428}
18429
18430// You cannot delete the delivery channel you specified because the configuration
18431// recorder is running.
18432type LastDeliveryChannelDeleteFailedException struct {
18433	_            struct{}                  `type:"structure"`
18434	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18435
18436	Message_ *string `locationName:"message" type:"string"`
18437}
18438
18439// String returns the string representation
18440func (s LastDeliveryChannelDeleteFailedException) String() string {
18441	return awsutil.Prettify(s)
18442}
18443
18444// GoString returns the string representation
18445func (s LastDeliveryChannelDeleteFailedException) GoString() string {
18446	return s.String()
18447}
18448
18449func newErrorLastDeliveryChannelDeleteFailedException(v protocol.ResponseMetadata) error {
18450	return &LastDeliveryChannelDeleteFailedException{
18451		RespMetadata: v,
18452	}
18453}
18454
18455// Code returns the exception type name.
18456func (s *LastDeliveryChannelDeleteFailedException) Code() string {
18457	return "LastDeliveryChannelDeleteFailedException"
18458}
18459
18460// Message returns the exception's message.
18461func (s *LastDeliveryChannelDeleteFailedException) Message() string {
18462	if s.Message_ != nil {
18463		return *s.Message_
18464	}
18465	return ""
18466}
18467
18468// OrigErr always returns nil, satisfies awserr.Error interface.
18469func (s *LastDeliveryChannelDeleteFailedException) OrigErr() error {
18470	return nil
18471}
18472
18473func (s *LastDeliveryChannelDeleteFailedException) Error() string {
18474	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18475}
18476
18477// Status code returns the HTTP status code for the request's response error.
18478func (s *LastDeliveryChannelDeleteFailedException) StatusCode() int {
18479	return s.RespMetadata.StatusCode
18480}
18481
18482// RequestID returns the service's response RequestID for request.
18483func (s *LastDeliveryChannelDeleteFailedException) RequestID() string {
18484	return s.RespMetadata.RequestID
18485}
18486
18487// For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
18488// is in progress or if you call the StartConfigRulesEvaluation API more than
18489// once per minute.
18490//
18491// For PutConfigurationAggregator API, this exception is thrown if the number
18492// of accounts and aggregators exceeds the limit.
18493type LimitExceededException struct {
18494	_            struct{}                  `type:"structure"`
18495	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18496
18497	Message_ *string `locationName:"message" type:"string"`
18498}
18499
18500// String returns the string representation
18501func (s LimitExceededException) String() string {
18502	return awsutil.Prettify(s)
18503}
18504
18505// GoString returns the string representation
18506func (s LimitExceededException) GoString() string {
18507	return s.String()
18508}
18509
18510func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
18511	return &LimitExceededException{
18512		RespMetadata: v,
18513	}
18514}
18515
18516// Code returns the exception type name.
18517func (s *LimitExceededException) Code() string {
18518	return "LimitExceededException"
18519}
18520
18521// Message returns the exception's message.
18522func (s *LimitExceededException) Message() string {
18523	if s.Message_ != nil {
18524		return *s.Message_
18525	}
18526	return ""
18527}
18528
18529// OrigErr always returns nil, satisfies awserr.Error interface.
18530func (s *LimitExceededException) OrigErr() error {
18531	return nil
18532}
18533
18534func (s *LimitExceededException) Error() string {
18535	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18536}
18537
18538// Status code returns the HTTP status code for the request's response error.
18539func (s *LimitExceededException) StatusCode() int {
18540	return s.RespMetadata.StatusCode
18541}
18542
18543// RequestID returns the service's response RequestID for request.
18544func (s *LimitExceededException) RequestID() string {
18545	return s.RespMetadata.RequestID
18546}
18547
18548type ListAggregateDiscoveredResourcesInput struct {
18549	_ struct{} `type:"structure"`
18550
18551	// The name of the configuration aggregator.
18552	//
18553	// ConfigurationAggregatorName is a required field
18554	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
18555
18556	// Filters the results based on the ResourceFilters object.
18557	Filters *ResourceFilters `type:"structure"`
18558
18559	// The maximum number of resource identifiers returned on each page. You cannot
18560	// specify a number greater than 100. If you specify 0, AWS Config uses the
18561	// default.
18562	Limit *int64 `type:"integer"`
18563
18564	// The nextToken string returned on a previous page that you use to get the
18565	// next page of results in a paginated response.
18566	NextToken *string `type:"string"`
18567
18568	// The type of resources that you want AWS Config to list in the response.
18569	//
18570	// ResourceType is a required field
18571	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
18572}
18573
18574// String returns the string representation
18575func (s ListAggregateDiscoveredResourcesInput) String() string {
18576	return awsutil.Prettify(s)
18577}
18578
18579// GoString returns the string representation
18580func (s ListAggregateDiscoveredResourcesInput) GoString() string {
18581	return s.String()
18582}
18583
18584// Validate inspects the fields of the type to determine if they are valid.
18585func (s *ListAggregateDiscoveredResourcesInput) Validate() error {
18586	invalidParams := request.ErrInvalidParams{Context: "ListAggregateDiscoveredResourcesInput"}
18587	if s.ConfigurationAggregatorName == nil {
18588		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
18589	}
18590	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
18591		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
18592	}
18593	if s.ResourceType == nil {
18594		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
18595	}
18596	if s.Filters != nil {
18597		if err := s.Filters.Validate(); err != nil {
18598			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
18599		}
18600	}
18601
18602	if invalidParams.Len() > 0 {
18603		return invalidParams
18604	}
18605	return nil
18606}
18607
18608// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
18609func (s *ListAggregateDiscoveredResourcesInput) SetConfigurationAggregatorName(v string) *ListAggregateDiscoveredResourcesInput {
18610	s.ConfigurationAggregatorName = &v
18611	return s
18612}
18613
18614// SetFilters sets the Filters field's value.
18615func (s *ListAggregateDiscoveredResourcesInput) SetFilters(v *ResourceFilters) *ListAggregateDiscoveredResourcesInput {
18616	s.Filters = v
18617	return s
18618}
18619
18620// SetLimit sets the Limit field's value.
18621func (s *ListAggregateDiscoveredResourcesInput) SetLimit(v int64) *ListAggregateDiscoveredResourcesInput {
18622	s.Limit = &v
18623	return s
18624}
18625
18626// SetNextToken sets the NextToken field's value.
18627func (s *ListAggregateDiscoveredResourcesInput) SetNextToken(v string) *ListAggregateDiscoveredResourcesInput {
18628	s.NextToken = &v
18629	return s
18630}
18631
18632// SetResourceType sets the ResourceType field's value.
18633func (s *ListAggregateDiscoveredResourcesInput) SetResourceType(v string) *ListAggregateDiscoveredResourcesInput {
18634	s.ResourceType = &v
18635	return s
18636}
18637
18638type ListAggregateDiscoveredResourcesOutput struct {
18639	_ struct{} `type:"structure"`
18640
18641	// The nextToken string returned on a previous page that you use to get the
18642	// next page of results in a paginated response.
18643	NextToken *string `type:"string"`
18644
18645	// Returns a list of ResourceIdentifiers objects.
18646	ResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
18647}
18648
18649// String returns the string representation
18650func (s ListAggregateDiscoveredResourcesOutput) String() string {
18651	return awsutil.Prettify(s)
18652}
18653
18654// GoString returns the string representation
18655func (s ListAggregateDiscoveredResourcesOutput) GoString() string {
18656	return s.String()
18657}
18658
18659// SetNextToken sets the NextToken field's value.
18660func (s *ListAggregateDiscoveredResourcesOutput) SetNextToken(v string) *ListAggregateDiscoveredResourcesOutput {
18661	s.NextToken = &v
18662	return s
18663}
18664
18665// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
18666func (s *ListAggregateDiscoveredResourcesOutput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *ListAggregateDiscoveredResourcesOutput {
18667	s.ResourceIdentifiers = v
18668	return s
18669}
18670
18671type ListDiscoveredResourcesInput struct {
18672	_ struct{} `type:"structure"`
18673
18674	// Specifies whether AWS Config includes deleted resources in the results. By
18675	// default, deleted resources are not included.
18676	IncludeDeletedResources *bool `locationName:"includeDeletedResources" type:"boolean"`
18677
18678	// The maximum number of resource identifiers returned on each page. The default
18679	// is 100. You cannot specify a number greater than 100. If you specify 0, AWS
18680	// Config uses the default.
18681	Limit *int64 `locationName:"limit" type:"integer"`
18682
18683	// The nextToken string returned on a previous page that you use to get the
18684	// next page of results in a paginated response.
18685	NextToken *string `locationName:"nextToken" type:"string"`
18686
18687	// The IDs of only those resources that you want AWS Config to list in the response.
18688	// If you do not specify this parameter, AWS Config lists all resources of the
18689	// specified type that it has discovered.
18690	ResourceIds []*string `locationName:"resourceIds" type:"list"`
18691
18692	// The custom name of only those resources that you want AWS Config to list
18693	// in the response. If you do not specify this parameter, AWS Config lists all
18694	// resources of the specified type that it has discovered.
18695	ResourceName *string `locationName:"resourceName" type:"string"`
18696
18697	// The type of resources that you want AWS Config to list in the response.
18698	//
18699	// ResourceType is a required field
18700	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
18701}
18702
18703// String returns the string representation
18704func (s ListDiscoveredResourcesInput) String() string {
18705	return awsutil.Prettify(s)
18706}
18707
18708// GoString returns the string representation
18709func (s ListDiscoveredResourcesInput) GoString() string {
18710	return s.String()
18711}
18712
18713// Validate inspects the fields of the type to determine if they are valid.
18714func (s *ListDiscoveredResourcesInput) Validate() error {
18715	invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
18716	if s.ResourceType == nil {
18717		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
18718	}
18719
18720	if invalidParams.Len() > 0 {
18721		return invalidParams
18722	}
18723	return nil
18724}
18725
18726// SetIncludeDeletedResources sets the IncludeDeletedResources field's value.
18727func (s *ListDiscoveredResourcesInput) SetIncludeDeletedResources(v bool) *ListDiscoveredResourcesInput {
18728	s.IncludeDeletedResources = &v
18729	return s
18730}
18731
18732// SetLimit sets the Limit field's value.
18733func (s *ListDiscoveredResourcesInput) SetLimit(v int64) *ListDiscoveredResourcesInput {
18734	s.Limit = &v
18735	return s
18736}
18737
18738// SetNextToken sets the NextToken field's value.
18739func (s *ListDiscoveredResourcesInput) SetNextToken(v string) *ListDiscoveredResourcesInput {
18740	s.NextToken = &v
18741	return s
18742}
18743
18744// SetResourceIds sets the ResourceIds field's value.
18745func (s *ListDiscoveredResourcesInput) SetResourceIds(v []*string) *ListDiscoveredResourcesInput {
18746	s.ResourceIds = v
18747	return s
18748}
18749
18750// SetResourceName sets the ResourceName field's value.
18751func (s *ListDiscoveredResourcesInput) SetResourceName(v string) *ListDiscoveredResourcesInput {
18752	s.ResourceName = &v
18753	return s
18754}
18755
18756// SetResourceType sets the ResourceType field's value.
18757func (s *ListDiscoveredResourcesInput) SetResourceType(v string) *ListDiscoveredResourcesInput {
18758	s.ResourceType = &v
18759	return s
18760}
18761
18762type ListDiscoveredResourcesOutput struct {
18763	_ struct{} `type:"structure"`
18764
18765	// The string that you use in a subsequent request to get the next page of results
18766	// in a paginated response.
18767	NextToken *string `locationName:"nextToken" type:"string"`
18768
18769	// The details that identify a resource that is discovered by AWS Config, including
18770	// the resource type, ID, and (if available) the custom resource name.
18771	ResourceIdentifiers []*ResourceIdentifier `locationName:"resourceIdentifiers" type:"list"`
18772}
18773
18774// String returns the string representation
18775func (s ListDiscoveredResourcesOutput) String() string {
18776	return awsutil.Prettify(s)
18777}
18778
18779// GoString returns the string representation
18780func (s ListDiscoveredResourcesOutput) GoString() string {
18781	return s.String()
18782}
18783
18784// SetNextToken sets the NextToken field's value.
18785func (s *ListDiscoveredResourcesOutput) SetNextToken(v string) *ListDiscoveredResourcesOutput {
18786	s.NextToken = &v
18787	return s
18788}
18789
18790// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
18791func (s *ListDiscoveredResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListDiscoveredResourcesOutput {
18792	s.ResourceIdentifiers = v
18793	return s
18794}
18795
18796type ListStoredQueriesInput struct {
18797	_ struct{} `type:"structure"`
18798
18799	// The maximum number of results to be returned with a single call.
18800	MaxResults *int64 `type:"integer"`
18801
18802	// The nextToken string returned in a previous request that you use to request
18803	// the next page of results in a paginated response.
18804	NextToken *string `type:"string"`
18805}
18806
18807// String returns the string representation
18808func (s ListStoredQueriesInput) String() string {
18809	return awsutil.Prettify(s)
18810}
18811
18812// GoString returns the string representation
18813func (s ListStoredQueriesInput) GoString() string {
18814	return s.String()
18815}
18816
18817// SetMaxResults sets the MaxResults field's value.
18818func (s *ListStoredQueriesInput) SetMaxResults(v int64) *ListStoredQueriesInput {
18819	s.MaxResults = &v
18820	return s
18821}
18822
18823// SetNextToken sets the NextToken field's value.
18824func (s *ListStoredQueriesInput) SetNextToken(v string) *ListStoredQueriesInput {
18825	s.NextToken = &v
18826	return s
18827}
18828
18829type ListStoredQueriesOutput struct {
18830	_ struct{} `type:"structure"`
18831
18832	// If the previous paginated request didn't return all of the remaining results,
18833	// the response object's NextToken parameter value is set to a token. To retrieve
18834	// the next set of results, call this action again and assign that token to
18835	// the request object's NextToken parameter. If there are no remaining results,
18836	// the previous response object's NextToken parameter is set to null.
18837	NextToken *string `type:"string"`
18838
18839	// A list of StoredQueryMetadata objects.
18840	StoredQueryMetadata []*StoredQueryMetadata `type:"list"`
18841}
18842
18843// String returns the string representation
18844func (s ListStoredQueriesOutput) String() string {
18845	return awsutil.Prettify(s)
18846}
18847
18848// GoString returns the string representation
18849func (s ListStoredQueriesOutput) GoString() string {
18850	return s.String()
18851}
18852
18853// SetNextToken sets the NextToken field's value.
18854func (s *ListStoredQueriesOutput) SetNextToken(v string) *ListStoredQueriesOutput {
18855	s.NextToken = &v
18856	return s
18857}
18858
18859// SetStoredQueryMetadata sets the StoredQueryMetadata field's value.
18860func (s *ListStoredQueriesOutput) SetStoredQueryMetadata(v []*StoredQueryMetadata) *ListStoredQueriesOutput {
18861	s.StoredQueryMetadata = v
18862	return s
18863}
18864
18865type ListTagsForResourceInput struct {
18866	_ struct{} `type:"structure"`
18867
18868	// The maximum number of tags returned on each page. The limit maximum is 50.
18869	// You cannot specify a number greater than 50. If you specify 0, AWS Config
18870	// uses the default.
18871	Limit *int64 `type:"integer"`
18872
18873	// The nextToken string returned on a previous page that you use to get the
18874	// next page of results in a paginated response.
18875	NextToken *string `type:"string"`
18876
18877	// The Amazon Resource Name (ARN) that identifies the resource for which to
18878	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
18879	// and AggregatorAuthorization.
18880	//
18881	// ResourceArn is a required field
18882	ResourceArn *string `min:"1" type:"string" required:"true"`
18883}
18884
18885// String returns the string representation
18886func (s ListTagsForResourceInput) String() string {
18887	return awsutil.Prettify(s)
18888}
18889
18890// GoString returns the string representation
18891func (s ListTagsForResourceInput) GoString() string {
18892	return s.String()
18893}
18894
18895// Validate inspects the fields of the type to determine if they are valid.
18896func (s *ListTagsForResourceInput) Validate() error {
18897	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
18898	if s.ResourceArn == nil {
18899		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
18900	}
18901	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
18902		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
18903	}
18904
18905	if invalidParams.Len() > 0 {
18906		return invalidParams
18907	}
18908	return nil
18909}
18910
18911// SetLimit sets the Limit field's value.
18912func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
18913	s.Limit = &v
18914	return s
18915}
18916
18917// SetNextToken sets the NextToken field's value.
18918func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
18919	s.NextToken = &v
18920	return s
18921}
18922
18923// SetResourceArn sets the ResourceArn field's value.
18924func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
18925	s.ResourceArn = &v
18926	return s
18927}
18928
18929type ListTagsForResourceOutput struct {
18930	_ struct{} `type:"structure"`
18931
18932	// The nextToken string returned on a previous page that you use to get the
18933	// next page of results in a paginated response.
18934	NextToken *string `type:"string"`
18935
18936	// The tags for the resource.
18937	Tags []*Tag `min:"1" type:"list"`
18938}
18939
18940// String returns the string representation
18941func (s ListTagsForResourceOutput) String() string {
18942	return awsutil.Prettify(s)
18943}
18944
18945// GoString returns the string representation
18946func (s ListTagsForResourceOutput) GoString() string {
18947	return s.String()
18948}
18949
18950// SetNextToken sets the NextToken field's value.
18951func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
18952	s.NextToken = &v
18953	return s
18954}
18955
18956// SetTags sets the Tags field's value.
18957func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
18958	s.Tags = v
18959	return s
18960}
18961
18962// You have reached the limit (100,000) of active custom resource types in your
18963// account. Delete unused resources using DeleteResourceConfig.
18964type MaxActiveResourcesExceededException struct {
18965	_            struct{}                  `type:"structure"`
18966	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18967
18968	Message_ *string `locationName:"message" type:"string"`
18969}
18970
18971// String returns the string representation
18972func (s MaxActiveResourcesExceededException) String() string {
18973	return awsutil.Prettify(s)
18974}
18975
18976// GoString returns the string representation
18977func (s MaxActiveResourcesExceededException) GoString() string {
18978	return s.String()
18979}
18980
18981func newErrorMaxActiveResourcesExceededException(v protocol.ResponseMetadata) error {
18982	return &MaxActiveResourcesExceededException{
18983		RespMetadata: v,
18984	}
18985}
18986
18987// Code returns the exception type name.
18988func (s *MaxActiveResourcesExceededException) Code() string {
18989	return "MaxActiveResourcesExceededException"
18990}
18991
18992// Message returns the exception's message.
18993func (s *MaxActiveResourcesExceededException) Message() string {
18994	if s.Message_ != nil {
18995		return *s.Message_
18996	}
18997	return ""
18998}
18999
19000// OrigErr always returns nil, satisfies awserr.Error interface.
19001func (s *MaxActiveResourcesExceededException) OrigErr() error {
19002	return nil
19003}
19004
19005func (s *MaxActiveResourcesExceededException) Error() string {
19006	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19007}
19008
19009// Status code returns the HTTP status code for the request's response error.
19010func (s *MaxActiveResourcesExceededException) StatusCode() int {
19011	return s.RespMetadata.StatusCode
19012}
19013
19014// RequestID returns the service's response RequestID for request.
19015func (s *MaxActiveResourcesExceededException) RequestID() string {
19016	return s.RespMetadata.RequestID
19017}
19018
19019// Failed to add the AWS Config rule because the account already contains the
19020// maximum number of 150 rules. Consider deleting any deactivated rules before
19021// you add new rules.
19022type MaxNumberOfConfigRulesExceededException struct {
19023	_            struct{}                  `type:"structure"`
19024	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19025
19026	Message_ *string `locationName:"message" type:"string"`
19027}
19028
19029// String returns the string representation
19030func (s MaxNumberOfConfigRulesExceededException) String() string {
19031	return awsutil.Prettify(s)
19032}
19033
19034// GoString returns the string representation
19035func (s MaxNumberOfConfigRulesExceededException) GoString() string {
19036	return s.String()
19037}
19038
19039func newErrorMaxNumberOfConfigRulesExceededException(v protocol.ResponseMetadata) error {
19040	return &MaxNumberOfConfigRulesExceededException{
19041		RespMetadata: v,
19042	}
19043}
19044
19045// Code returns the exception type name.
19046func (s *MaxNumberOfConfigRulesExceededException) Code() string {
19047	return "MaxNumberOfConfigRulesExceededException"
19048}
19049
19050// Message returns the exception's message.
19051func (s *MaxNumberOfConfigRulesExceededException) Message() string {
19052	if s.Message_ != nil {
19053		return *s.Message_
19054	}
19055	return ""
19056}
19057
19058// OrigErr always returns nil, satisfies awserr.Error interface.
19059func (s *MaxNumberOfConfigRulesExceededException) OrigErr() error {
19060	return nil
19061}
19062
19063func (s *MaxNumberOfConfigRulesExceededException) Error() string {
19064	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19065}
19066
19067// Status code returns the HTTP status code for the request's response error.
19068func (s *MaxNumberOfConfigRulesExceededException) StatusCode() int {
19069	return s.RespMetadata.StatusCode
19070}
19071
19072// RequestID returns the service's response RequestID for request.
19073func (s *MaxNumberOfConfigRulesExceededException) RequestID() string {
19074	return s.RespMetadata.RequestID
19075}
19076
19077// You have reached the limit of the number of recorders you can create.
19078type MaxNumberOfConfigurationRecordersExceededException struct {
19079	_            struct{}                  `type:"structure"`
19080	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19081
19082	Message_ *string `locationName:"message" type:"string"`
19083}
19084
19085// String returns the string representation
19086func (s MaxNumberOfConfigurationRecordersExceededException) String() string {
19087	return awsutil.Prettify(s)
19088}
19089
19090// GoString returns the string representation
19091func (s MaxNumberOfConfigurationRecordersExceededException) GoString() string {
19092	return s.String()
19093}
19094
19095func newErrorMaxNumberOfConfigurationRecordersExceededException(v protocol.ResponseMetadata) error {
19096	return &MaxNumberOfConfigurationRecordersExceededException{
19097		RespMetadata: v,
19098	}
19099}
19100
19101// Code returns the exception type name.
19102func (s *MaxNumberOfConfigurationRecordersExceededException) Code() string {
19103	return "MaxNumberOfConfigurationRecordersExceededException"
19104}
19105
19106// Message returns the exception's message.
19107func (s *MaxNumberOfConfigurationRecordersExceededException) Message() string {
19108	if s.Message_ != nil {
19109		return *s.Message_
19110	}
19111	return ""
19112}
19113
19114// OrigErr always returns nil, satisfies awserr.Error interface.
19115func (s *MaxNumberOfConfigurationRecordersExceededException) OrigErr() error {
19116	return nil
19117}
19118
19119func (s *MaxNumberOfConfigurationRecordersExceededException) Error() string {
19120	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19121}
19122
19123// Status code returns the HTTP status code for the request's response error.
19124func (s *MaxNumberOfConfigurationRecordersExceededException) StatusCode() int {
19125	return s.RespMetadata.StatusCode
19126}
19127
19128// RequestID returns the service's response RequestID for request.
19129func (s *MaxNumberOfConfigurationRecordersExceededException) RequestID() string {
19130	return s.RespMetadata.RequestID
19131}
19132
19133// You have reached the limit (6) of the number of conformance packs in an account
19134// (6 conformance pack with 25 AWS Config rules per pack).
19135type MaxNumberOfConformancePacksExceededException struct {
19136	_            struct{}                  `type:"structure"`
19137	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19138
19139	Message_ *string `locationName:"message" type:"string"`
19140}
19141
19142// String returns the string representation
19143func (s MaxNumberOfConformancePacksExceededException) String() string {
19144	return awsutil.Prettify(s)
19145}
19146
19147// GoString returns the string representation
19148func (s MaxNumberOfConformancePacksExceededException) GoString() string {
19149	return s.String()
19150}
19151
19152func newErrorMaxNumberOfConformancePacksExceededException(v protocol.ResponseMetadata) error {
19153	return &MaxNumberOfConformancePacksExceededException{
19154		RespMetadata: v,
19155	}
19156}
19157
19158// Code returns the exception type name.
19159func (s *MaxNumberOfConformancePacksExceededException) Code() string {
19160	return "MaxNumberOfConformancePacksExceededException"
19161}
19162
19163// Message returns the exception's message.
19164func (s *MaxNumberOfConformancePacksExceededException) Message() string {
19165	if s.Message_ != nil {
19166		return *s.Message_
19167	}
19168	return ""
19169}
19170
19171// OrigErr always returns nil, satisfies awserr.Error interface.
19172func (s *MaxNumberOfConformancePacksExceededException) OrigErr() error {
19173	return nil
19174}
19175
19176func (s *MaxNumberOfConformancePacksExceededException) Error() string {
19177	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19178}
19179
19180// Status code returns the HTTP status code for the request's response error.
19181func (s *MaxNumberOfConformancePacksExceededException) StatusCode() int {
19182	return s.RespMetadata.StatusCode
19183}
19184
19185// RequestID returns the service's response RequestID for request.
19186func (s *MaxNumberOfConformancePacksExceededException) RequestID() string {
19187	return s.RespMetadata.RequestID
19188}
19189
19190// You have reached the limit of the number of delivery channels you can create.
19191type MaxNumberOfDeliveryChannelsExceededException struct {
19192	_            struct{}                  `type:"structure"`
19193	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19194
19195	Message_ *string `locationName:"message" type:"string"`
19196}
19197
19198// String returns the string representation
19199func (s MaxNumberOfDeliveryChannelsExceededException) String() string {
19200	return awsutil.Prettify(s)
19201}
19202
19203// GoString returns the string representation
19204func (s MaxNumberOfDeliveryChannelsExceededException) GoString() string {
19205	return s.String()
19206}
19207
19208func newErrorMaxNumberOfDeliveryChannelsExceededException(v protocol.ResponseMetadata) error {
19209	return &MaxNumberOfDeliveryChannelsExceededException{
19210		RespMetadata: v,
19211	}
19212}
19213
19214// Code returns the exception type name.
19215func (s *MaxNumberOfDeliveryChannelsExceededException) Code() string {
19216	return "MaxNumberOfDeliveryChannelsExceededException"
19217}
19218
19219// Message returns the exception's message.
19220func (s *MaxNumberOfDeliveryChannelsExceededException) Message() string {
19221	if s.Message_ != nil {
19222		return *s.Message_
19223	}
19224	return ""
19225}
19226
19227// OrigErr always returns nil, satisfies awserr.Error interface.
19228func (s *MaxNumberOfDeliveryChannelsExceededException) OrigErr() error {
19229	return nil
19230}
19231
19232func (s *MaxNumberOfDeliveryChannelsExceededException) Error() string {
19233	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19234}
19235
19236// Status code returns the HTTP status code for the request's response error.
19237func (s *MaxNumberOfDeliveryChannelsExceededException) StatusCode() int {
19238	return s.RespMetadata.StatusCode
19239}
19240
19241// RequestID returns the service's response RequestID for request.
19242func (s *MaxNumberOfDeliveryChannelsExceededException) RequestID() string {
19243	return s.RespMetadata.RequestID
19244}
19245
19246// You have reached the limit of the number of organization config rules you
19247// can create.
19248type MaxNumberOfOrganizationConfigRulesExceededException struct {
19249	_            struct{}                  `type:"structure"`
19250	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19251
19252	Message_ *string `locationName:"message" type:"string"`
19253}
19254
19255// String returns the string representation
19256func (s MaxNumberOfOrganizationConfigRulesExceededException) String() string {
19257	return awsutil.Prettify(s)
19258}
19259
19260// GoString returns the string representation
19261func (s MaxNumberOfOrganizationConfigRulesExceededException) GoString() string {
19262	return s.String()
19263}
19264
19265func newErrorMaxNumberOfOrganizationConfigRulesExceededException(v protocol.ResponseMetadata) error {
19266	return &MaxNumberOfOrganizationConfigRulesExceededException{
19267		RespMetadata: v,
19268	}
19269}
19270
19271// Code returns the exception type name.
19272func (s *MaxNumberOfOrganizationConfigRulesExceededException) Code() string {
19273	return "MaxNumberOfOrganizationConfigRulesExceededException"
19274}
19275
19276// Message returns the exception's message.
19277func (s *MaxNumberOfOrganizationConfigRulesExceededException) Message() string {
19278	if s.Message_ != nil {
19279		return *s.Message_
19280	}
19281	return ""
19282}
19283
19284// OrigErr always returns nil, satisfies awserr.Error interface.
19285func (s *MaxNumberOfOrganizationConfigRulesExceededException) OrigErr() error {
19286	return nil
19287}
19288
19289func (s *MaxNumberOfOrganizationConfigRulesExceededException) Error() string {
19290	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19291}
19292
19293// Status code returns the HTTP status code for the request's response error.
19294func (s *MaxNumberOfOrganizationConfigRulesExceededException) StatusCode() int {
19295	return s.RespMetadata.StatusCode
19296}
19297
19298// RequestID returns the service's response RequestID for request.
19299func (s *MaxNumberOfOrganizationConfigRulesExceededException) RequestID() string {
19300	return s.RespMetadata.RequestID
19301}
19302
19303// You have reached the limit (6) of the number of organization conformance
19304// packs in an account (6 conformance pack with 25 AWS Config rules per pack
19305// per account).
19306type MaxNumberOfOrganizationConformancePacksExceededException struct {
19307	_            struct{}                  `type:"structure"`
19308	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19309
19310	Message_ *string `locationName:"message" type:"string"`
19311}
19312
19313// String returns the string representation
19314func (s MaxNumberOfOrganizationConformancePacksExceededException) String() string {
19315	return awsutil.Prettify(s)
19316}
19317
19318// GoString returns the string representation
19319func (s MaxNumberOfOrganizationConformancePacksExceededException) GoString() string {
19320	return s.String()
19321}
19322
19323func newErrorMaxNumberOfOrganizationConformancePacksExceededException(v protocol.ResponseMetadata) error {
19324	return &MaxNumberOfOrganizationConformancePacksExceededException{
19325		RespMetadata: v,
19326	}
19327}
19328
19329// Code returns the exception type name.
19330func (s *MaxNumberOfOrganizationConformancePacksExceededException) Code() string {
19331	return "MaxNumberOfOrganizationConformancePacksExceededException"
19332}
19333
19334// Message returns the exception's message.
19335func (s *MaxNumberOfOrganizationConformancePacksExceededException) Message() string {
19336	if s.Message_ != nil {
19337		return *s.Message_
19338	}
19339	return ""
19340}
19341
19342// OrigErr always returns nil, satisfies awserr.Error interface.
19343func (s *MaxNumberOfOrganizationConformancePacksExceededException) OrigErr() error {
19344	return nil
19345}
19346
19347func (s *MaxNumberOfOrganizationConformancePacksExceededException) Error() string {
19348	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19349}
19350
19351// Status code returns the HTTP status code for the request's response error.
19352func (s *MaxNumberOfOrganizationConformancePacksExceededException) StatusCode() int {
19353	return s.RespMetadata.StatusCode
19354}
19355
19356// RequestID returns the service's response RequestID for request.
19357func (s *MaxNumberOfOrganizationConformancePacksExceededException) RequestID() string {
19358	return s.RespMetadata.RequestID
19359}
19360
19361// Failed to add the retention configuration because a retention configuration
19362// with that name already exists.
19363type MaxNumberOfRetentionConfigurationsExceededException struct {
19364	_            struct{}                  `type:"structure"`
19365	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19366
19367	Message_ *string `locationName:"message" type:"string"`
19368}
19369
19370// String returns the string representation
19371func (s MaxNumberOfRetentionConfigurationsExceededException) String() string {
19372	return awsutil.Prettify(s)
19373}
19374
19375// GoString returns the string representation
19376func (s MaxNumberOfRetentionConfigurationsExceededException) GoString() string {
19377	return s.String()
19378}
19379
19380func newErrorMaxNumberOfRetentionConfigurationsExceededException(v protocol.ResponseMetadata) error {
19381	return &MaxNumberOfRetentionConfigurationsExceededException{
19382		RespMetadata: v,
19383	}
19384}
19385
19386// Code returns the exception type name.
19387func (s *MaxNumberOfRetentionConfigurationsExceededException) Code() string {
19388	return "MaxNumberOfRetentionConfigurationsExceededException"
19389}
19390
19391// Message returns the exception's message.
19392func (s *MaxNumberOfRetentionConfigurationsExceededException) Message() string {
19393	if s.Message_ != nil {
19394		return *s.Message_
19395	}
19396	return ""
19397}
19398
19399// OrigErr always returns nil, satisfies awserr.Error interface.
19400func (s *MaxNumberOfRetentionConfigurationsExceededException) OrigErr() error {
19401	return nil
19402}
19403
19404func (s *MaxNumberOfRetentionConfigurationsExceededException) Error() string {
19405	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19406}
19407
19408// Status code returns the HTTP status code for the request's response error.
19409func (s *MaxNumberOfRetentionConfigurationsExceededException) StatusCode() int {
19410	return s.RespMetadata.StatusCode
19411}
19412
19413// RequestID returns the service's response RequestID for request.
19414func (s *MaxNumberOfRetentionConfigurationsExceededException) RequestID() string {
19415	return s.RespMetadata.RequestID
19416}
19417
19418// Organization config rule creation or deletion status in each member account.
19419// This includes the name of the rule, the status, error code and error message
19420// when the rule creation or deletion failed.
19421type MemberAccountStatus struct {
19422	_ struct{} `type:"structure"`
19423
19424	// The 12-digit account ID of a member account.
19425	//
19426	// AccountId is a required field
19427	AccountId *string `type:"string" required:"true"`
19428
19429	// The name of config rule deployed in the member account.
19430	//
19431	// ConfigRuleName is a required field
19432	ConfigRuleName *string `min:"1" type:"string" required:"true"`
19433
19434	// An error code that is returned when config rule creation or deletion failed
19435	// in the member account.
19436	ErrorCode *string `type:"string"`
19437
19438	// An error message indicating that config rule account creation or deletion
19439	// has failed due to an error in the member account.
19440	ErrorMessage *string `type:"string"`
19441
19442	// The timestamp of the last status update.
19443	LastUpdateTime *time.Time `type:"timestamp"`
19444
19445	// Indicates deployment status for config rule in the member account. When master
19446	// account calls PutOrganizationConfigRule action for the first time, config
19447	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
19448	// action for the second time, config rule status is updated in the member account.
19449	// Config rule status is deleted when the master account deletes OrganizationConfigRule
19450	// and disables service access for config-multiaccountsetup.amazonaws.com.
19451	//
19452	// AWS Config sets the state of the rule to:
19453	//
19454	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
19455	//
19456	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
19457	//
19458	//    * CREATE_FAILED when config rule creation has failed in the member account.
19459	//
19460	//    * DELETE_FAILED when config rule deletion has failed in the member account.
19461	//
19462	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
19463	//
19464	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
19465	//
19466	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
19467	//
19468	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
19469	//
19470	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
19471	//
19472	// MemberAccountRuleStatus is a required field
19473	MemberAccountRuleStatus *string `type:"string" required:"true" enum:"MemberAccountRuleStatus"`
19474}
19475
19476// String returns the string representation
19477func (s MemberAccountStatus) String() string {
19478	return awsutil.Prettify(s)
19479}
19480
19481// GoString returns the string representation
19482func (s MemberAccountStatus) GoString() string {
19483	return s.String()
19484}
19485
19486// SetAccountId sets the AccountId field's value.
19487func (s *MemberAccountStatus) SetAccountId(v string) *MemberAccountStatus {
19488	s.AccountId = &v
19489	return s
19490}
19491
19492// SetConfigRuleName sets the ConfigRuleName field's value.
19493func (s *MemberAccountStatus) SetConfigRuleName(v string) *MemberAccountStatus {
19494	s.ConfigRuleName = &v
19495	return s
19496}
19497
19498// SetErrorCode sets the ErrorCode field's value.
19499func (s *MemberAccountStatus) SetErrorCode(v string) *MemberAccountStatus {
19500	s.ErrorCode = &v
19501	return s
19502}
19503
19504// SetErrorMessage sets the ErrorMessage field's value.
19505func (s *MemberAccountStatus) SetErrorMessage(v string) *MemberAccountStatus {
19506	s.ErrorMessage = &v
19507	return s
19508}
19509
19510// SetLastUpdateTime sets the LastUpdateTime field's value.
19511func (s *MemberAccountStatus) SetLastUpdateTime(v time.Time) *MemberAccountStatus {
19512	s.LastUpdateTime = &v
19513	return s
19514}
19515
19516// SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
19517func (s *MemberAccountStatus) SetMemberAccountRuleStatus(v string) *MemberAccountStatus {
19518	s.MemberAccountRuleStatus = &v
19519	return s
19520}
19521
19522// There are no configuration recorders available to provide the role needed
19523// to describe your resources. Create a configuration recorder.
19524type NoAvailableConfigurationRecorderException struct {
19525	_            struct{}                  `type:"structure"`
19526	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19527
19528	Message_ *string `locationName:"message" type:"string"`
19529}
19530
19531// String returns the string representation
19532func (s NoAvailableConfigurationRecorderException) String() string {
19533	return awsutil.Prettify(s)
19534}
19535
19536// GoString returns the string representation
19537func (s NoAvailableConfigurationRecorderException) GoString() string {
19538	return s.String()
19539}
19540
19541func newErrorNoAvailableConfigurationRecorderException(v protocol.ResponseMetadata) error {
19542	return &NoAvailableConfigurationRecorderException{
19543		RespMetadata: v,
19544	}
19545}
19546
19547// Code returns the exception type name.
19548func (s *NoAvailableConfigurationRecorderException) Code() string {
19549	return "NoAvailableConfigurationRecorderException"
19550}
19551
19552// Message returns the exception's message.
19553func (s *NoAvailableConfigurationRecorderException) Message() string {
19554	if s.Message_ != nil {
19555		return *s.Message_
19556	}
19557	return ""
19558}
19559
19560// OrigErr always returns nil, satisfies awserr.Error interface.
19561func (s *NoAvailableConfigurationRecorderException) OrigErr() error {
19562	return nil
19563}
19564
19565func (s *NoAvailableConfigurationRecorderException) Error() string {
19566	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19567}
19568
19569// Status code returns the HTTP status code for the request's response error.
19570func (s *NoAvailableConfigurationRecorderException) StatusCode() int {
19571	return s.RespMetadata.StatusCode
19572}
19573
19574// RequestID returns the service's response RequestID for request.
19575func (s *NoAvailableConfigurationRecorderException) RequestID() string {
19576	return s.RespMetadata.RequestID
19577}
19578
19579// There is no delivery channel available to record configurations.
19580type NoAvailableDeliveryChannelException struct {
19581	_            struct{}                  `type:"structure"`
19582	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19583
19584	Message_ *string `locationName:"message" type:"string"`
19585}
19586
19587// String returns the string representation
19588func (s NoAvailableDeliveryChannelException) String() string {
19589	return awsutil.Prettify(s)
19590}
19591
19592// GoString returns the string representation
19593func (s NoAvailableDeliveryChannelException) GoString() string {
19594	return s.String()
19595}
19596
19597func newErrorNoAvailableDeliveryChannelException(v protocol.ResponseMetadata) error {
19598	return &NoAvailableDeliveryChannelException{
19599		RespMetadata: v,
19600	}
19601}
19602
19603// Code returns the exception type name.
19604func (s *NoAvailableDeliveryChannelException) Code() string {
19605	return "NoAvailableDeliveryChannelException"
19606}
19607
19608// Message returns the exception's message.
19609func (s *NoAvailableDeliveryChannelException) Message() string {
19610	if s.Message_ != nil {
19611		return *s.Message_
19612	}
19613	return ""
19614}
19615
19616// OrigErr always returns nil, satisfies awserr.Error interface.
19617func (s *NoAvailableDeliveryChannelException) OrigErr() error {
19618	return nil
19619}
19620
19621func (s *NoAvailableDeliveryChannelException) Error() string {
19622	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19623}
19624
19625// Status code returns the HTTP status code for the request's response error.
19626func (s *NoAvailableDeliveryChannelException) StatusCode() int {
19627	return s.RespMetadata.StatusCode
19628}
19629
19630// RequestID returns the service's response RequestID for request.
19631func (s *NoAvailableDeliveryChannelException) RequestID() string {
19632	return s.RespMetadata.RequestID
19633}
19634
19635// Organization is no longer available.
19636type NoAvailableOrganizationException struct {
19637	_            struct{}                  `type:"structure"`
19638	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19639
19640	Message_ *string `locationName:"message" type:"string"`
19641}
19642
19643// String returns the string representation
19644func (s NoAvailableOrganizationException) String() string {
19645	return awsutil.Prettify(s)
19646}
19647
19648// GoString returns the string representation
19649func (s NoAvailableOrganizationException) GoString() string {
19650	return s.String()
19651}
19652
19653func newErrorNoAvailableOrganizationException(v protocol.ResponseMetadata) error {
19654	return &NoAvailableOrganizationException{
19655		RespMetadata: v,
19656	}
19657}
19658
19659// Code returns the exception type name.
19660func (s *NoAvailableOrganizationException) Code() string {
19661	return "NoAvailableOrganizationException"
19662}
19663
19664// Message returns the exception's message.
19665func (s *NoAvailableOrganizationException) Message() string {
19666	if s.Message_ != nil {
19667		return *s.Message_
19668	}
19669	return ""
19670}
19671
19672// OrigErr always returns nil, satisfies awserr.Error interface.
19673func (s *NoAvailableOrganizationException) OrigErr() error {
19674	return nil
19675}
19676
19677func (s *NoAvailableOrganizationException) Error() string {
19678	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19679}
19680
19681// Status code returns the HTTP status code for the request's response error.
19682func (s *NoAvailableOrganizationException) StatusCode() int {
19683	return s.RespMetadata.StatusCode
19684}
19685
19686// RequestID returns the service's response RequestID for request.
19687func (s *NoAvailableOrganizationException) RequestID() string {
19688	return s.RespMetadata.RequestID
19689}
19690
19691// There is no configuration recorder running.
19692type NoRunningConfigurationRecorderException struct {
19693	_            struct{}                  `type:"structure"`
19694	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19695
19696	Message_ *string `locationName:"message" type:"string"`
19697}
19698
19699// String returns the string representation
19700func (s NoRunningConfigurationRecorderException) String() string {
19701	return awsutil.Prettify(s)
19702}
19703
19704// GoString returns the string representation
19705func (s NoRunningConfigurationRecorderException) GoString() string {
19706	return s.String()
19707}
19708
19709func newErrorNoRunningConfigurationRecorderException(v protocol.ResponseMetadata) error {
19710	return &NoRunningConfigurationRecorderException{
19711		RespMetadata: v,
19712	}
19713}
19714
19715// Code returns the exception type name.
19716func (s *NoRunningConfigurationRecorderException) Code() string {
19717	return "NoRunningConfigurationRecorderException"
19718}
19719
19720// Message returns the exception's message.
19721func (s *NoRunningConfigurationRecorderException) Message() string {
19722	if s.Message_ != nil {
19723		return *s.Message_
19724	}
19725	return ""
19726}
19727
19728// OrigErr always returns nil, satisfies awserr.Error interface.
19729func (s *NoRunningConfigurationRecorderException) OrigErr() error {
19730	return nil
19731}
19732
19733func (s *NoRunningConfigurationRecorderException) Error() string {
19734	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19735}
19736
19737// Status code returns the HTTP status code for the request's response error.
19738func (s *NoRunningConfigurationRecorderException) StatusCode() int {
19739	return s.RespMetadata.StatusCode
19740}
19741
19742// RequestID returns the service's response RequestID for request.
19743func (s *NoRunningConfigurationRecorderException) RequestID() string {
19744	return s.RespMetadata.RequestID
19745}
19746
19747// The specified Amazon S3 bucket does not exist.
19748type NoSuchBucketException struct {
19749	_            struct{}                  `type:"structure"`
19750	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19751
19752	Message_ *string `locationName:"message" type:"string"`
19753}
19754
19755// String returns the string representation
19756func (s NoSuchBucketException) String() string {
19757	return awsutil.Prettify(s)
19758}
19759
19760// GoString returns the string representation
19761func (s NoSuchBucketException) GoString() string {
19762	return s.String()
19763}
19764
19765func newErrorNoSuchBucketException(v protocol.ResponseMetadata) error {
19766	return &NoSuchBucketException{
19767		RespMetadata: v,
19768	}
19769}
19770
19771// Code returns the exception type name.
19772func (s *NoSuchBucketException) Code() string {
19773	return "NoSuchBucketException"
19774}
19775
19776// Message returns the exception's message.
19777func (s *NoSuchBucketException) Message() string {
19778	if s.Message_ != nil {
19779		return *s.Message_
19780	}
19781	return ""
19782}
19783
19784// OrigErr always returns nil, satisfies awserr.Error interface.
19785func (s *NoSuchBucketException) OrigErr() error {
19786	return nil
19787}
19788
19789func (s *NoSuchBucketException) Error() string {
19790	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19791}
19792
19793// Status code returns the HTTP status code for the request's response error.
19794func (s *NoSuchBucketException) StatusCode() int {
19795	return s.RespMetadata.StatusCode
19796}
19797
19798// RequestID returns the service's response RequestID for request.
19799func (s *NoSuchBucketException) RequestID() string {
19800	return s.RespMetadata.RequestID
19801}
19802
19803// One or more AWS Config rules in the request are invalid. Verify that the
19804// rule names are correct and try again.
19805type NoSuchConfigRuleException struct {
19806	_            struct{}                  `type:"structure"`
19807	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19808
19809	Message_ *string `locationName:"message" type:"string"`
19810}
19811
19812// String returns the string representation
19813func (s NoSuchConfigRuleException) String() string {
19814	return awsutil.Prettify(s)
19815}
19816
19817// GoString returns the string representation
19818func (s NoSuchConfigRuleException) GoString() string {
19819	return s.String()
19820}
19821
19822func newErrorNoSuchConfigRuleException(v protocol.ResponseMetadata) error {
19823	return &NoSuchConfigRuleException{
19824		RespMetadata: v,
19825	}
19826}
19827
19828// Code returns the exception type name.
19829func (s *NoSuchConfigRuleException) Code() string {
19830	return "NoSuchConfigRuleException"
19831}
19832
19833// Message returns the exception's message.
19834func (s *NoSuchConfigRuleException) Message() string {
19835	if s.Message_ != nil {
19836		return *s.Message_
19837	}
19838	return ""
19839}
19840
19841// OrigErr always returns nil, satisfies awserr.Error interface.
19842func (s *NoSuchConfigRuleException) OrigErr() error {
19843	return nil
19844}
19845
19846func (s *NoSuchConfigRuleException) Error() string {
19847	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19848}
19849
19850// Status code returns the HTTP status code for the request's response error.
19851func (s *NoSuchConfigRuleException) StatusCode() int {
19852	return s.RespMetadata.StatusCode
19853}
19854
19855// RequestID returns the service's response RequestID for request.
19856func (s *NoSuchConfigRuleException) RequestID() string {
19857	return s.RespMetadata.RequestID
19858}
19859
19860// AWS Config rule that you passed in the filter does not exist.
19861type NoSuchConfigRuleInConformancePackException struct {
19862	_            struct{}                  `type:"structure"`
19863	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19864
19865	Message_ *string `locationName:"message" type:"string"`
19866}
19867
19868// String returns the string representation
19869func (s NoSuchConfigRuleInConformancePackException) String() string {
19870	return awsutil.Prettify(s)
19871}
19872
19873// GoString returns the string representation
19874func (s NoSuchConfigRuleInConformancePackException) GoString() string {
19875	return s.String()
19876}
19877
19878func newErrorNoSuchConfigRuleInConformancePackException(v protocol.ResponseMetadata) error {
19879	return &NoSuchConfigRuleInConformancePackException{
19880		RespMetadata: v,
19881	}
19882}
19883
19884// Code returns the exception type name.
19885func (s *NoSuchConfigRuleInConformancePackException) Code() string {
19886	return "NoSuchConfigRuleInConformancePackException"
19887}
19888
19889// Message returns the exception's message.
19890func (s *NoSuchConfigRuleInConformancePackException) Message() string {
19891	if s.Message_ != nil {
19892		return *s.Message_
19893	}
19894	return ""
19895}
19896
19897// OrigErr always returns nil, satisfies awserr.Error interface.
19898func (s *NoSuchConfigRuleInConformancePackException) OrigErr() error {
19899	return nil
19900}
19901
19902func (s *NoSuchConfigRuleInConformancePackException) Error() string {
19903	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19904}
19905
19906// Status code returns the HTTP status code for the request's response error.
19907func (s *NoSuchConfigRuleInConformancePackException) StatusCode() int {
19908	return s.RespMetadata.StatusCode
19909}
19910
19911// RequestID returns the service's response RequestID for request.
19912func (s *NoSuchConfigRuleInConformancePackException) RequestID() string {
19913	return s.RespMetadata.RequestID
19914}
19915
19916// You have specified a configuration aggregator that does not exist.
19917type NoSuchConfigurationAggregatorException struct {
19918	_            struct{}                  `type:"structure"`
19919	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19920
19921	Message_ *string `locationName:"message" type:"string"`
19922}
19923
19924// String returns the string representation
19925func (s NoSuchConfigurationAggregatorException) String() string {
19926	return awsutil.Prettify(s)
19927}
19928
19929// GoString returns the string representation
19930func (s NoSuchConfigurationAggregatorException) GoString() string {
19931	return s.String()
19932}
19933
19934func newErrorNoSuchConfigurationAggregatorException(v protocol.ResponseMetadata) error {
19935	return &NoSuchConfigurationAggregatorException{
19936		RespMetadata: v,
19937	}
19938}
19939
19940// Code returns the exception type name.
19941func (s *NoSuchConfigurationAggregatorException) Code() string {
19942	return "NoSuchConfigurationAggregatorException"
19943}
19944
19945// Message returns the exception's message.
19946func (s *NoSuchConfigurationAggregatorException) Message() string {
19947	if s.Message_ != nil {
19948		return *s.Message_
19949	}
19950	return ""
19951}
19952
19953// OrigErr always returns nil, satisfies awserr.Error interface.
19954func (s *NoSuchConfigurationAggregatorException) OrigErr() error {
19955	return nil
19956}
19957
19958func (s *NoSuchConfigurationAggregatorException) Error() string {
19959	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19960}
19961
19962// Status code returns the HTTP status code for the request's response error.
19963func (s *NoSuchConfigurationAggregatorException) StatusCode() int {
19964	return s.RespMetadata.StatusCode
19965}
19966
19967// RequestID returns the service's response RequestID for request.
19968func (s *NoSuchConfigurationAggregatorException) RequestID() string {
19969	return s.RespMetadata.RequestID
19970}
19971
19972// You have specified a configuration recorder that does not exist.
19973type NoSuchConfigurationRecorderException struct {
19974	_            struct{}                  `type:"structure"`
19975	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19976
19977	Message_ *string `locationName:"message" type:"string"`
19978}
19979
19980// String returns the string representation
19981func (s NoSuchConfigurationRecorderException) String() string {
19982	return awsutil.Prettify(s)
19983}
19984
19985// GoString returns the string representation
19986func (s NoSuchConfigurationRecorderException) GoString() string {
19987	return s.String()
19988}
19989
19990func newErrorNoSuchConfigurationRecorderException(v protocol.ResponseMetadata) error {
19991	return &NoSuchConfigurationRecorderException{
19992		RespMetadata: v,
19993	}
19994}
19995
19996// Code returns the exception type name.
19997func (s *NoSuchConfigurationRecorderException) Code() string {
19998	return "NoSuchConfigurationRecorderException"
19999}
20000
20001// Message returns the exception's message.
20002func (s *NoSuchConfigurationRecorderException) Message() string {
20003	if s.Message_ != nil {
20004		return *s.Message_
20005	}
20006	return ""
20007}
20008
20009// OrigErr always returns nil, satisfies awserr.Error interface.
20010func (s *NoSuchConfigurationRecorderException) OrigErr() error {
20011	return nil
20012}
20013
20014func (s *NoSuchConfigurationRecorderException) Error() string {
20015	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20016}
20017
20018// Status code returns the HTTP status code for the request's response error.
20019func (s *NoSuchConfigurationRecorderException) StatusCode() int {
20020	return s.RespMetadata.StatusCode
20021}
20022
20023// RequestID returns the service's response RequestID for request.
20024func (s *NoSuchConfigurationRecorderException) RequestID() string {
20025	return s.RespMetadata.RequestID
20026}
20027
20028// You specified one or more conformance packs that do not exist.
20029type NoSuchConformancePackException struct {
20030	_            struct{}                  `type:"structure"`
20031	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20032
20033	Message_ *string `locationName:"message" type:"string"`
20034}
20035
20036// String returns the string representation
20037func (s NoSuchConformancePackException) String() string {
20038	return awsutil.Prettify(s)
20039}
20040
20041// GoString returns the string representation
20042func (s NoSuchConformancePackException) GoString() string {
20043	return s.String()
20044}
20045
20046func newErrorNoSuchConformancePackException(v protocol.ResponseMetadata) error {
20047	return &NoSuchConformancePackException{
20048		RespMetadata: v,
20049	}
20050}
20051
20052// Code returns the exception type name.
20053func (s *NoSuchConformancePackException) Code() string {
20054	return "NoSuchConformancePackException"
20055}
20056
20057// Message returns the exception's message.
20058func (s *NoSuchConformancePackException) Message() string {
20059	if s.Message_ != nil {
20060		return *s.Message_
20061	}
20062	return ""
20063}
20064
20065// OrigErr always returns nil, satisfies awserr.Error interface.
20066func (s *NoSuchConformancePackException) OrigErr() error {
20067	return nil
20068}
20069
20070func (s *NoSuchConformancePackException) Error() string {
20071	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20072}
20073
20074// Status code returns the HTTP status code for the request's response error.
20075func (s *NoSuchConformancePackException) StatusCode() int {
20076	return s.RespMetadata.StatusCode
20077}
20078
20079// RequestID returns the service's response RequestID for request.
20080func (s *NoSuchConformancePackException) RequestID() string {
20081	return s.RespMetadata.RequestID
20082}
20083
20084// You have specified a delivery channel that does not exist.
20085type NoSuchDeliveryChannelException struct {
20086	_            struct{}                  `type:"structure"`
20087	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20088
20089	Message_ *string `locationName:"message" type:"string"`
20090}
20091
20092// String returns the string representation
20093func (s NoSuchDeliveryChannelException) String() string {
20094	return awsutil.Prettify(s)
20095}
20096
20097// GoString returns the string representation
20098func (s NoSuchDeliveryChannelException) GoString() string {
20099	return s.String()
20100}
20101
20102func newErrorNoSuchDeliveryChannelException(v protocol.ResponseMetadata) error {
20103	return &NoSuchDeliveryChannelException{
20104		RespMetadata: v,
20105	}
20106}
20107
20108// Code returns the exception type name.
20109func (s *NoSuchDeliveryChannelException) Code() string {
20110	return "NoSuchDeliveryChannelException"
20111}
20112
20113// Message returns the exception's message.
20114func (s *NoSuchDeliveryChannelException) Message() string {
20115	if s.Message_ != nil {
20116		return *s.Message_
20117	}
20118	return ""
20119}
20120
20121// OrigErr always returns nil, satisfies awserr.Error interface.
20122func (s *NoSuchDeliveryChannelException) OrigErr() error {
20123	return nil
20124}
20125
20126func (s *NoSuchDeliveryChannelException) Error() string {
20127	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20128}
20129
20130// Status code returns the HTTP status code for the request's response error.
20131func (s *NoSuchDeliveryChannelException) StatusCode() int {
20132	return s.RespMetadata.StatusCode
20133}
20134
20135// RequestID returns the service's response RequestID for request.
20136func (s *NoSuchDeliveryChannelException) RequestID() string {
20137	return s.RespMetadata.RequestID
20138}
20139
20140// You specified one or more organization config rules that do not exist.
20141type NoSuchOrganizationConfigRuleException struct {
20142	_            struct{}                  `type:"structure"`
20143	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20144
20145	Message_ *string `locationName:"message" type:"string"`
20146}
20147
20148// String returns the string representation
20149func (s NoSuchOrganizationConfigRuleException) String() string {
20150	return awsutil.Prettify(s)
20151}
20152
20153// GoString returns the string representation
20154func (s NoSuchOrganizationConfigRuleException) GoString() string {
20155	return s.String()
20156}
20157
20158func newErrorNoSuchOrganizationConfigRuleException(v protocol.ResponseMetadata) error {
20159	return &NoSuchOrganizationConfigRuleException{
20160		RespMetadata: v,
20161	}
20162}
20163
20164// Code returns the exception type name.
20165func (s *NoSuchOrganizationConfigRuleException) Code() string {
20166	return "NoSuchOrganizationConfigRuleException"
20167}
20168
20169// Message returns the exception's message.
20170func (s *NoSuchOrganizationConfigRuleException) Message() string {
20171	if s.Message_ != nil {
20172		return *s.Message_
20173	}
20174	return ""
20175}
20176
20177// OrigErr always returns nil, satisfies awserr.Error interface.
20178func (s *NoSuchOrganizationConfigRuleException) OrigErr() error {
20179	return nil
20180}
20181
20182func (s *NoSuchOrganizationConfigRuleException) Error() string {
20183	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20184}
20185
20186// Status code returns the HTTP status code for the request's response error.
20187func (s *NoSuchOrganizationConfigRuleException) StatusCode() int {
20188	return s.RespMetadata.StatusCode
20189}
20190
20191// RequestID returns the service's response RequestID for request.
20192func (s *NoSuchOrganizationConfigRuleException) RequestID() string {
20193	return s.RespMetadata.RequestID
20194}
20195
20196// AWS Config organization conformance pack that you passed in the filter does
20197// not exist.
20198//
20199// For DeleteOrganizationConformancePack, you tried to delete an organization
20200// conformance pack that does not exist.
20201type NoSuchOrganizationConformancePackException struct {
20202	_            struct{}                  `type:"structure"`
20203	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20204
20205	Message_ *string `locationName:"message" type:"string"`
20206}
20207
20208// String returns the string representation
20209func (s NoSuchOrganizationConformancePackException) String() string {
20210	return awsutil.Prettify(s)
20211}
20212
20213// GoString returns the string representation
20214func (s NoSuchOrganizationConformancePackException) GoString() string {
20215	return s.String()
20216}
20217
20218func newErrorNoSuchOrganizationConformancePackException(v protocol.ResponseMetadata) error {
20219	return &NoSuchOrganizationConformancePackException{
20220		RespMetadata: v,
20221	}
20222}
20223
20224// Code returns the exception type name.
20225func (s *NoSuchOrganizationConformancePackException) Code() string {
20226	return "NoSuchOrganizationConformancePackException"
20227}
20228
20229// Message returns the exception's message.
20230func (s *NoSuchOrganizationConformancePackException) Message() string {
20231	if s.Message_ != nil {
20232		return *s.Message_
20233	}
20234	return ""
20235}
20236
20237// OrigErr always returns nil, satisfies awserr.Error interface.
20238func (s *NoSuchOrganizationConformancePackException) OrigErr() error {
20239	return nil
20240}
20241
20242func (s *NoSuchOrganizationConformancePackException) Error() string {
20243	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20244}
20245
20246// Status code returns the HTTP status code for the request's response error.
20247func (s *NoSuchOrganizationConformancePackException) StatusCode() int {
20248	return s.RespMetadata.StatusCode
20249}
20250
20251// RequestID returns the service's response RequestID for request.
20252func (s *NoSuchOrganizationConformancePackException) RequestID() string {
20253	return s.RespMetadata.RequestID
20254}
20255
20256// You specified an AWS Config rule without a remediation configuration.
20257type NoSuchRemediationConfigurationException struct {
20258	_            struct{}                  `type:"structure"`
20259	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20260
20261	Message_ *string `locationName:"message" type:"string"`
20262}
20263
20264// String returns the string representation
20265func (s NoSuchRemediationConfigurationException) String() string {
20266	return awsutil.Prettify(s)
20267}
20268
20269// GoString returns the string representation
20270func (s NoSuchRemediationConfigurationException) GoString() string {
20271	return s.String()
20272}
20273
20274func newErrorNoSuchRemediationConfigurationException(v protocol.ResponseMetadata) error {
20275	return &NoSuchRemediationConfigurationException{
20276		RespMetadata: v,
20277	}
20278}
20279
20280// Code returns the exception type name.
20281func (s *NoSuchRemediationConfigurationException) Code() string {
20282	return "NoSuchRemediationConfigurationException"
20283}
20284
20285// Message returns the exception's message.
20286func (s *NoSuchRemediationConfigurationException) Message() string {
20287	if s.Message_ != nil {
20288		return *s.Message_
20289	}
20290	return ""
20291}
20292
20293// OrigErr always returns nil, satisfies awserr.Error interface.
20294func (s *NoSuchRemediationConfigurationException) OrigErr() error {
20295	return nil
20296}
20297
20298func (s *NoSuchRemediationConfigurationException) Error() string {
20299	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20300}
20301
20302// Status code returns the HTTP status code for the request's response error.
20303func (s *NoSuchRemediationConfigurationException) StatusCode() int {
20304	return s.RespMetadata.StatusCode
20305}
20306
20307// RequestID returns the service's response RequestID for request.
20308func (s *NoSuchRemediationConfigurationException) RequestID() string {
20309	return s.RespMetadata.RequestID
20310}
20311
20312// You tried to delete a remediation exception that does not exist.
20313type NoSuchRemediationExceptionException struct {
20314	_            struct{}                  `type:"structure"`
20315	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20316
20317	Message_ *string `locationName:"message" type:"string"`
20318}
20319
20320// String returns the string representation
20321func (s NoSuchRemediationExceptionException) String() string {
20322	return awsutil.Prettify(s)
20323}
20324
20325// GoString returns the string representation
20326func (s NoSuchRemediationExceptionException) GoString() string {
20327	return s.String()
20328}
20329
20330func newErrorNoSuchRemediationExceptionException(v protocol.ResponseMetadata) error {
20331	return &NoSuchRemediationExceptionException{
20332		RespMetadata: v,
20333	}
20334}
20335
20336// Code returns the exception type name.
20337func (s *NoSuchRemediationExceptionException) Code() string {
20338	return "NoSuchRemediationExceptionException"
20339}
20340
20341// Message returns the exception's message.
20342func (s *NoSuchRemediationExceptionException) Message() string {
20343	if s.Message_ != nil {
20344		return *s.Message_
20345	}
20346	return ""
20347}
20348
20349// OrigErr always returns nil, satisfies awserr.Error interface.
20350func (s *NoSuchRemediationExceptionException) OrigErr() error {
20351	return nil
20352}
20353
20354func (s *NoSuchRemediationExceptionException) Error() string {
20355	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20356}
20357
20358// Status code returns the HTTP status code for the request's response error.
20359func (s *NoSuchRemediationExceptionException) StatusCode() int {
20360	return s.RespMetadata.StatusCode
20361}
20362
20363// RequestID returns the service's response RequestID for request.
20364func (s *NoSuchRemediationExceptionException) RequestID() string {
20365	return s.RespMetadata.RequestID
20366}
20367
20368// You have specified a retention configuration that does not exist.
20369type NoSuchRetentionConfigurationException struct {
20370	_            struct{}                  `type:"structure"`
20371	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20372
20373	Message_ *string `locationName:"message" type:"string"`
20374}
20375
20376// String returns the string representation
20377func (s NoSuchRetentionConfigurationException) String() string {
20378	return awsutil.Prettify(s)
20379}
20380
20381// GoString returns the string representation
20382func (s NoSuchRetentionConfigurationException) GoString() string {
20383	return s.String()
20384}
20385
20386func newErrorNoSuchRetentionConfigurationException(v protocol.ResponseMetadata) error {
20387	return &NoSuchRetentionConfigurationException{
20388		RespMetadata: v,
20389	}
20390}
20391
20392// Code returns the exception type name.
20393func (s *NoSuchRetentionConfigurationException) Code() string {
20394	return "NoSuchRetentionConfigurationException"
20395}
20396
20397// Message returns the exception's message.
20398func (s *NoSuchRetentionConfigurationException) Message() string {
20399	if s.Message_ != nil {
20400		return *s.Message_
20401	}
20402	return ""
20403}
20404
20405// OrigErr always returns nil, satisfies awserr.Error interface.
20406func (s *NoSuchRetentionConfigurationException) OrigErr() error {
20407	return nil
20408}
20409
20410func (s *NoSuchRetentionConfigurationException) Error() string {
20411	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20412}
20413
20414// Status code returns the HTTP status code for the request's response error.
20415func (s *NoSuchRetentionConfigurationException) StatusCode() int {
20416	return s.RespMetadata.StatusCode
20417}
20418
20419// RequestID returns the service's response RequestID for request.
20420func (s *NoSuchRetentionConfigurationException) RequestID() string {
20421	return s.RespMetadata.RequestID
20422}
20423
20424// For PutConfigurationAggregator API, you can see this exception for the following
20425// reasons:
20426//
20427//    * No permission to call EnableAWSServiceAccess API
20428//
20429//    * The configuration aggregator cannot be updated because your AWS Organization
20430//    management account or the delegated administrator role changed. Delete
20431//    this aggregator and create a new one with the current AWS Organization.
20432//
20433//    * The configuration aggregator is associated with a previous AWS Organization
20434//    and AWS Config cannot aggregate data with current AWS Organization. Delete
20435//    this aggregator and create a new one with the current AWS Organization.
20436//
20437//    * You are not a registered delegated administrator for AWS Config with
20438//    permissions to call ListDelegatedAdministrators API. Ensure that the management
20439//    account registers delagated administrator for AWS Config service principle
20440//    name before the delegated administrator creates an aggregator.
20441//
20442// For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
20443// Config throws an exception if APIs are called from member accounts. All APIs
20444// must be called from organization master account.
20445type OrganizationAccessDeniedException struct {
20446	_            struct{}                  `type:"structure"`
20447	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20448
20449	Message_ *string `locationName:"message" type:"string"`
20450}
20451
20452// String returns the string representation
20453func (s OrganizationAccessDeniedException) String() string {
20454	return awsutil.Prettify(s)
20455}
20456
20457// GoString returns the string representation
20458func (s OrganizationAccessDeniedException) GoString() string {
20459	return s.String()
20460}
20461
20462func newErrorOrganizationAccessDeniedException(v protocol.ResponseMetadata) error {
20463	return &OrganizationAccessDeniedException{
20464		RespMetadata: v,
20465	}
20466}
20467
20468// Code returns the exception type name.
20469func (s *OrganizationAccessDeniedException) Code() string {
20470	return "OrganizationAccessDeniedException"
20471}
20472
20473// Message returns the exception's message.
20474func (s *OrganizationAccessDeniedException) Message() string {
20475	if s.Message_ != nil {
20476		return *s.Message_
20477	}
20478	return ""
20479}
20480
20481// OrigErr always returns nil, satisfies awserr.Error interface.
20482func (s *OrganizationAccessDeniedException) OrigErr() error {
20483	return nil
20484}
20485
20486func (s *OrganizationAccessDeniedException) Error() string {
20487	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20488}
20489
20490// Status code returns the HTTP status code for the request's response error.
20491func (s *OrganizationAccessDeniedException) StatusCode() int {
20492	return s.RespMetadata.StatusCode
20493}
20494
20495// RequestID returns the service's response RequestID for request.
20496func (s *OrganizationAccessDeniedException) RequestID() string {
20497	return s.RespMetadata.RequestID
20498}
20499
20500// This object contains regions to set up the aggregator and an IAM role to
20501// retrieve organization details.
20502type OrganizationAggregationSource struct {
20503	_ struct{} `type:"structure"`
20504
20505	// If true, aggregate existing AWS Config regions and future regions.
20506	AllAwsRegions *bool `type:"boolean"`
20507
20508	// The source regions being aggregated.
20509	AwsRegions []*string `min:"1" type:"list"`
20510
20511	// ARN of the IAM role used to retrieve AWS Organization details associated
20512	// with the aggregator account.
20513	//
20514	// RoleArn is a required field
20515	RoleArn *string `type:"string" required:"true"`
20516}
20517
20518// String returns the string representation
20519func (s OrganizationAggregationSource) String() string {
20520	return awsutil.Prettify(s)
20521}
20522
20523// GoString returns the string representation
20524func (s OrganizationAggregationSource) GoString() string {
20525	return s.String()
20526}
20527
20528// Validate inspects the fields of the type to determine if they are valid.
20529func (s *OrganizationAggregationSource) Validate() error {
20530	invalidParams := request.ErrInvalidParams{Context: "OrganizationAggregationSource"}
20531	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
20532		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
20533	}
20534	if s.RoleArn == nil {
20535		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
20536	}
20537
20538	if invalidParams.Len() > 0 {
20539		return invalidParams
20540	}
20541	return nil
20542}
20543
20544// SetAllAwsRegions sets the AllAwsRegions field's value.
20545func (s *OrganizationAggregationSource) SetAllAwsRegions(v bool) *OrganizationAggregationSource {
20546	s.AllAwsRegions = &v
20547	return s
20548}
20549
20550// SetAwsRegions sets the AwsRegions field's value.
20551func (s *OrganizationAggregationSource) SetAwsRegions(v []*string) *OrganizationAggregationSource {
20552	s.AwsRegions = v
20553	return s
20554}
20555
20556// SetRoleArn sets the RoleArn field's value.
20557func (s *OrganizationAggregationSource) SetRoleArn(v string) *OrganizationAggregationSource {
20558	s.RoleArn = &v
20559	return s
20560}
20561
20562// AWS Config resource cannot be created because your organization does not
20563// have all features enabled.
20564type OrganizationAllFeaturesNotEnabledException struct {
20565	_            struct{}                  `type:"structure"`
20566	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20567
20568	Message_ *string `locationName:"message" type:"string"`
20569}
20570
20571// String returns the string representation
20572func (s OrganizationAllFeaturesNotEnabledException) String() string {
20573	return awsutil.Prettify(s)
20574}
20575
20576// GoString returns the string representation
20577func (s OrganizationAllFeaturesNotEnabledException) GoString() string {
20578	return s.String()
20579}
20580
20581func newErrorOrganizationAllFeaturesNotEnabledException(v protocol.ResponseMetadata) error {
20582	return &OrganizationAllFeaturesNotEnabledException{
20583		RespMetadata: v,
20584	}
20585}
20586
20587// Code returns the exception type name.
20588func (s *OrganizationAllFeaturesNotEnabledException) Code() string {
20589	return "OrganizationAllFeaturesNotEnabledException"
20590}
20591
20592// Message returns the exception's message.
20593func (s *OrganizationAllFeaturesNotEnabledException) Message() string {
20594	if s.Message_ != nil {
20595		return *s.Message_
20596	}
20597	return ""
20598}
20599
20600// OrigErr always returns nil, satisfies awserr.Error interface.
20601func (s *OrganizationAllFeaturesNotEnabledException) OrigErr() error {
20602	return nil
20603}
20604
20605func (s *OrganizationAllFeaturesNotEnabledException) Error() string {
20606	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20607}
20608
20609// Status code returns the HTTP status code for the request's response error.
20610func (s *OrganizationAllFeaturesNotEnabledException) StatusCode() int {
20611	return s.RespMetadata.StatusCode
20612}
20613
20614// RequestID returns the service's response RequestID for request.
20615func (s *OrganizationAllFeaturesNotEnabledException) RequestID() string {
20616	return s.RespMetadata.RequestID
20617}
20618
20619// An organization config rule that has information about config rules that
20620// AWS Config creates in member accounts.
20621type OrganizationConfigRule struct {
20622	_ struct{} `type:"structure"`
20623
20624	// A comma-separated list of accounts excluded from organization config rule.
20625	ExcludedAccounts []*string `type:"list"`
20626
20627	// The timestamp of the last update.
20628	LastUpdateTime *time.Time `type:"timestamp"`
20629
20630	// Amazon Resource Name (ARN) of organization config rule.
20631	//
20632	// OrganizationConfigRuleArn is a required field
20633	OrganizationConfigRuleArn *string `min:"1" type:"string" required:"true"`
20634
20635	// The name that you assign to organization config rule.
20636	//
20637	// OrganizationConfigRuleName is a required field
20638	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
20639
20640	// An OrganizationCustomRuleMetadata object.
20641	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
20642
20643	// An OrganizationManagedRuleMetadata object.
20644	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
20645}
20646
20647// String returns the string representation
20648func (s OrganizationConfigRule) String() string {
20649	return awsutil.Prettify(s)
20650}
20651
20652// GoString returns the string representation
20653func (s OrganizationConfigRule) GoString() string {
20654	return s.String()
20655}
20656
20657// SetExcludedAccounts sets the ExcludedAccounts field's value.
20658func (s *OrganizationConfigRule) SetExcludedAccounts(v []*string) *OrganizationConfigRule {
20659	s.ExcludedAccounts = v
20660	return s
20661}
20662
20663// SetLastUpdateTime sets the LastUpdateTime field's value.
20664func (s *OrganizationConfigRule) SetLastUpdateTime(v time.Time) *OrganizationConfigRule {
20665	s.LastUpdateTime = &v
20666	return s
20667}
20668
20669// SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
20670func (s *OrganizationConfigRule) SetOrganizationConfigRuleArn(v string) *OrganizationConfigRule {
20671	s.OrganizationConfigRuleArn = &v
20672	return s
20673}
20674
20675// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
20676func (s *OrganizationConfigRule) SetOrganizationConfigRuleName(v string) *OrganizationConfigRule {
20677	s.OrganizationConfigRuleName = &v
20678	return s
20679}
20680
20681// SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
20682func (s *OrganizationConfigRule) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *OrganizationConfigRule {
20683	s.OrganizationCustomRuleMetadata = v
20684	return s
20685}
20686
20687// SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
20688func (s *OrganizationConfigRule) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *OrganizationConfigRule {
20689	s.OrganizationManagedRuleMetadata = v
20690	return s
20691}
20692
20693// Returns the status for an organization config rule in an organization.
20694type OrganizationConfigRuleStatus struct {
20695	_ struct{} `type:"structure"`
20696
20697	// An error code that is returned when organization config rule creation or
20698	// deletion has failed.
20699	ErrorCode *string `type:"string"`
20700
20701	// An error message indicating that organization config rule creation or deletion
20702	// failed due to an error.
20703	ErrorMessage *string `type:"string"`
20704
20705	// The timestamp of the last update.
20706	LastUpdateTime *time.Time `type:"timestamp"`
20707
20708	// The name that you assign to organization config rule.
20709	//
20710	// OrganizationConfigRuleName is a required field
20711	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
20712
20713	// Indicates deployment status of an organization config rule. When master account
20714	// calls PutOrganizationConfigRule action for the first time, config rule status
20715	// is created in all the member accounts. When master account calls PutOrganizationConfigRule
20716	// action for the second time, config rule status is updated in all the member
20717	// accounts. Additionally, config rule status is updated when one or more member
20718	// accounts join or leave an organization. Config rule status is deleted when
20719	// the master account deletes OrganizationConfigRule in all the member accounts
20720	// and disables service access for config-multiaccountsetup.amazonaws.com.
20721	//
20722	// AWS Config sets the state of the rule to:
20723	//
20724	//    * CREATE_SUCCESSFUL when an organization config rule has been successfully
20725	//    created in all the member accounts.
20726	//
20727	//    * CREATE_IN_PROGRESS when an organization config rule creation is in progress.
20728	//
20729	//    * CREATE_FAILED when an organization config rule creation failed in one
20730	//    or more member accounts within that organization.
20731	//
20732	//    * DELETE_FAILED when an organization config rule deletion failed in one
20733	//    or more member accounts within that organization.
20734	//
20735	//    * DELETE_IN_PROGRESS when an organization config rule deletion is in progress.
20736	//
20737	//    * DELETE_SUCCESSFUL when an organization config rule has been successfully
20738	//    deleted from all the member accounts.
20739	//
20740	//    * UPDATE_SUCCESSFUL when an organization config rule has been successfully
20741	//    updated in all the member accounts.
20742	//
20743	//    * UPDATE_IN_PROGRESS when an organization config rule update is in progress.
20744	//
20745	//    * UPDATE_FAILED when an organization config rule update failed in one
20746	//    or more member accounts within that organization.
20747	//
20748	// OrganizationRuleStatus is a required field
20749	OrganizationRuleStatus *string `type:"string" required:"true" enum:"OrganizationRuleStatus"`
20750}
20751
20752// String returns the string representation
20753func (s OrganizationConfigRuleStatus) String() string {
20754	return awsutil.Prettify(s)
20755}
20756
20757// GoString returns the string representation
20758func (s OrganizationConfigRuleStatus) GoString() string {
20759	return s.String()
20760}
20761
20762// SetErrorCode sets the ErrorCode field's value.
20763func (s *OrganizationConfigRuleStatus) SetErrorCode(v string) *OrganizationConfigRuleStatus {
20764	s.ErrorCode = &v
20765	return s
20766}
20767
20768// SetErrorMessage sets the ErrorMessage field's value.
20769func (s *OrganizationConfigRuleStatus) SetErrorMessage(v string) *OrganizationConfigRuleStatus {
20770	s.ErrorMessage = &v
20771	return s
20772}
20773
20774// SetLastUpdateTime sets the LastUpdateTime field's value.
20775func (s *OrganizationConfigRuleStatus) SetLastUpdateTime(v time.Time) *OrganizationConfigRuleStatus {
20776	s.LastUpdateTime = &v
20777	return s
20778}
20779
20780// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
20781func (s *OrganizationConfigRuleStatus) SetOrganizationConfigRuleName(v string) *OrganizationConfigRuleStatus {
20782	s.OrganizationConfigRuleName = &v
20783	return s
20784}
20785
20786// SetOrganizationRuleStatus sets the OrganizationRuleStatus field's value.
20787func (s *OrganizationConfigRuleStatus) SetOrganizationRuleStatus(v string) *OrganizationConfigRuleStatus {
20788	s.OrganizationRuleStatus = &v
20789	return s
20790}
20791
20792// An organization conformance pack that has information about conformance packs
20793// that AWS Config creates in member accounts.
20794type OrganizationConformancePack struct {
20795	_ struct{} `type:"structure"`
20796
20797	// A list of ConformancePackInputParameter objects.
20798	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
20799
20800	// Amazon S3 bucket where AWS Config stores conformance pack templates.
20801	//
20802	// This field is optional.
20803	DeliveryS3Bucket *string `type:"string"`
20804
20805	// Any folder structure you want to add to an Amazon S3 bucket.
20806	//
20807	// This field is optional.
20808	DeliveryS3KeyPrefix *string `type:"string"`
20809
20810	// A comma-separated list of accounts excluded from organization conformance
20811	// pack.
20812	ExcludedAccounts []*string `type:"list"`
20813
20814	// Last time when organization conformation pack was updated.
20815	//
20816	// LastUpdateTime is a required field
20817	LastUpdateTime *time.Time `type:"timestamp" required:"true"`
20818
20819	// Amazon Resource Name (ARN) of organization conformance pack.
20820	//
20821	// OrganizationConformancePackArn is a required field
20822	OrganizationConformancePackArn *string `min:"1" type:"string" required:"true"`
20823
20824	// The name you assign to an organization conformance pack.
20825	//
20826	// OrganizationConformancePackName is a required field
20827	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
20828}
20829
20830// String returns the string representation
20831func (s OrganizationConformancePack) String() string {
20832	return awsutil.Prettify(s)
20833}
20834
20835// GoString returns the string representation
20836func (s OrganizationConformancePack) GoString() string {
20837	return s.String()
20838}
20839
20840// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
20841func (s *OrganizationConformancePack) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *OrganizationConformancePack {
20842	s.ConformancePackInputParameters = v
20843	return s
20844}
20845
20846// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
20847func (s *OrganizationConformancePack) SetDeliveryS3Bucket(v string) *OrganizationConformancePack {
20848	s.DeliveryS3Bucket = &v
20849	return s
20850}
20851
20852// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
20853func (s *OrganizationConformancePack) SetDeliveryS3KeyPrefix(v string) *OrganizationConformancePack {
20854	s.DeliveryS3KeyPrefix = &v
20855	return s
20856}
20857
20858// SetExcludedAccounts sets the ExcludedAccounts field's value.
20859func (s *OrganizationConformancePack) SetExcludedAccounts(v []*string) *OrganizationConformancePack {
20860	s.ExcludedAccounts = v
20861	return s
20862}
20863
20864// SetLastUpdateTime sets the LastUpdateTime field's value.
20865func (s *OrganizationConformancePack) SetLastUpdateTime(v time.Time) *OrganizationConformancePack {
20866	s.LastUpdateTime = &v
20867	return s
20868}
20869
20870// SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
20871func (s *OrganizationConformancePack) SetOrganizationConformancePackArn(v string) *OrganizationConformancePack {
20872	s.OrganizationConformancePackArn = &v
20873	return s
20874}
20875
20876// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
20877func (s *OrganizationConformancePack) SetOrganizationConformancePackName(v string) *OrganizationConformancePack {
20878	s.OrganizationConformancePackName = &v
20879	return s
20880}
20881
20882// Organization conformance pack creation or deletion status in each member
20883// account. This includes the name of the conformance pack, the status, error
20884// code and error message when the conformance pack creation or deletion failed.
20885type OrganizationConformancePackDetailedStatus struct {
20886	_ struct{} `type:"structure"`
20887
20888	// The 12-digit account ID of a member account.
20889	//
20890	// AccountId is a required field
20891	AccountId *string `type:"string" required:"true"`
20892
20893	// The name of conformance pack deployed in the member account.
20894	//
20895	// ConformancePackName is a required field
20896	ConformancePackName *string `min:"1" type:"string" required:"true"`
20897
20898	// An error code that is returned when conformance pack creation or deletion
20899	// failed in the member account.
20900	ErrorCode *string `type:"string"`
20901
20902	// An error message indicating that conformance pack account creation or deletion
20903	// has failed due to an error in the member account.
20904	ErrorMessage *string `type:"string"`
20905
20906	// The timestamp of the last status update.
20907	LastUpdateTime *time.Time `type:"timestamp"`
20908
20909	// Indicates deployment status for conformance pack in a member account. When
20910	// master account calls PutOrganizationConformancePack action for the first
20911	// time, conformance pack status is created in the member account. When master
20912	// account calls PutOrganizationConformancePack action for the second time,
20913	// conformance pack status is updated in the member account. Conformance pack
20914	// status is deleted when the master account deletes OrganizationConformancePack
20915	// and disables service access for config-multiaccountsetup.amazonaws.com.
20916	//
20917	// AWS Config sets the state of the conformance pack to:
20918	//
20919	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
20920	//    account.
20921	//
20922	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
20923	//    account.
20924	//
20925	//    * CREATE_FAILED when conformance pack creation has failed in the member
20926	//    account.
20927	//
20928	//    * DELETE_FAILED when conformance pack deletion has failed in the member
20929	//    account.
20930	//
20931	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
20932	//    account.
20933	//
20934	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
20935	//    account.
20936	//
20937	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
20938	//    account.
20939	//
20940	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
20941	//    account.
20942	//
20943	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
20944	//    account.
20945	//
20946	// Status is a required field
20947	Status *string `type:"string" required:"true" enum:"OrganizationResourceDetailedStatus"`
20948}
20949
20950// String returns the string representation
20951func (s OrganizationConformancePackDetailedStatus) String() string {
20952	return awsutil.Prettify(s)
20953}
20954
20955// GoString returns the string representation
20956func (s OrganizationConformancePackDetailedStatus) GoString() string {
20957	return s.String()
20958}
20959
20960// SetAccountId sets the AccountId field's value.
20961func (s *OrganizationConformancePackDetailedStatus) SetAccountId(v string) *OrganizationConformancePackDetailedStatus {
20962	s.AccountId = &v
20963	return s
20964}
20965
20966// SetConformancePackName sets the ConformancePackName field's value.
20967func (s *OrganizationConformancePackDetailedStatus) SetConformancePackName(v string) *OrganizationConformancePackDetailedStatus {
20968	s.ConformancePackName = &v
20969	return s
20970}
20971
20972// SetErrorCode sets the ErrorCode field's value.
20973func (s *OrganizationConformancePackDetailedStatus) SetErrorCode(v string) *OrganizationConformancePackDetailedStatus {
20974	s.ErrorCode = &v
20975	return s
20976}
20977
20978// SetErrorMessage sets the ErrorMessage field's value.
20979func (s *OrganizationConformancePackDetailedStatus) SetErrorMessage(v string) *OrganizationConformancePackDetailedStatus {
20980	s.ErrorMessage = &v
20981	return s
20982}
20983
20984// SetLastUpdateTime sets the LastUpdateTime field's value.
20985func (s *OrganizationConformancePackDetailedStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackDetailedStatus {
20986	s.LastUpdateTime = &v
20987	return s
20988}
20989
20990// SetStatus sets the Status field's value.
20991func (s *OrganizationConformancePackDetailedStatus) SetStatus(v string) *OrganizationConformancePackDetailedStatus {
20992	s.Status = &v
20993	return s
20994}
20995
20996// Returns the status for an organization conformance pack in an organization.
20997type OrganizationConformancePackStatus struct {
20998	_ struct{} `type:"structure"`
20999
21000	// An error code that is returned when organization conformance pack creation
21001	// or deletion has failed in a member account.
21002	ErrorCode *string `type:"string"`
21003
21004	// An error message indicating that organization conformance pack creation or
21005	// deletion failed due to an error.
21006	ErrorMessage *string `type:"string"`
21007
21008	// The timestamp of the last update.
21009	LastUpdateTime *time.Time `type:"timestamp"`
21010
21011	// The name that you assign to organization conformance pack.
21012	//
21013	// OrganizationConformancePackName is a required field
21014	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
21015
21016	// Indicates deployment status of an organization conformance pack. When master
21017	// account calls PutOrganizationConformancePack for the first time, conformance
21018	// pack status is created in all the member accounts. When master account calls
21019	// PutOrganizationConformancePack for the second time, conformance pack status
21020	// is updated in all the member accounts. Additionally, conformance pack status
21021	// is updated when one or more member accounts join or leave an organization.
21022	// Conformance pack status is deleted when the master account deletes OrganizationConformancePack
21023	// in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.
21024	//
21025	// AWS Config sets the state of the conformance pack to:
21026	//
21027	//    * CREATE_SUCCESSFUL when an organization conformance pack has been successfully
21028	//    created in all the member accounts.
21029	//
21030	//    * CREATE_IN_PROGRESS when an organization conformance pack creation is
21031	//    in progress.
21032	//
21033	//    * CREATE_FAILED when an organization conformance pack creation failed
21034	//    in one or more member accounts within that organization.
21035	//
21036	//    * DELETE_FAILED when an organization conformance pack deletion failed
21037	//    in one or more member accounts within that organization.
21038	//
21039	//    * DELETE_IN_PROGRESS when an organization conformance pack deletion is
21040	//    in progress.
21041	//
21042	//    * DELETE_SUCCESSFUL when an organization conformance pack has been successfully
21043	//    deleted from all the member accounts.
21044	//
21045	//    * UPDATE_SUCCESSFUL when an organization conformance pack has been successfully
21046	//    updated in all the member accounts.
21047	//
21048	//    * UPDATE_IN_PROGRESS when an organization conformance pack update is in
21049	//    progress.
21050	//
21051	//    * UPDATE_FAILED when an organization conformance pack update failed in
21052	//    one or more member accounts within that organization.
21053	//
21054	// Status is a required field
21055	Status *string `type:"string" required:"true" enum:"OrganizationResourceStatus"`
21056}
21057
21058// String returns the string representation
21059func (s OrganizationConformancePackStatus) String() string {
21060	return awsutil.Prettify(s)
21061}
21062
21063// GoString returns the string representation
21064func (s OrganizationConformancePackStatus) GoString() string {
21065	return s.String()
21066}
21067
21068// SetErrorCode sets the ErrorCode field's value.
21069func (s *OrganizationConformancePackStatus) SetErrorCode(v string) *OrganizationConformancePackStatus {
21070	s.ErrorCode = &v
21071	return s
21072}
21073
21074// SetErrorMessage sets the ErrorMessage field's value.
21075func (s *OrganizationConformancePackStatus) SetErrorMessage(v string) *OrganizationConformancePackStatus {
21076	s.ErrorMessage = &v
21077	return s
21078}
21079
21080// SetLastUpdateTime sets the LastUpdateTime field's value.
21081func (s *OrganizationConformancePackStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackStatus {
21082	s.LastUpdateTime = &v
21083	return s
21084}
21085
21086// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
21087func (s *OrganizationConformancePackStatus) SetOrganizationConformancePackName(v string) *OrganizationConformancePackStatus {
21088	s.OrganizationConformancePackName = &v
21089	return s
21090}
21091
21092// SetStatus sets the Status field's value.
21093func (s *OrganizationConformancePackStatus) SetStatus(v string) *OrganizationConformancePackStatus {
21094	s.Status = &v
21095	return s
21096}
21097
21098// You have specified a template that is not valid or supported.
21099type OrganizationConformancePackTemplateValidationException struct {
21100	_            struct{}                  `type:"structure"`
21101	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21102
21103	Message_ *string `locationName:"message" type:"string"`
21104}
21105
21106// String returns the string representation
21107func (s OrganizationConformancePackTemplateValidationException) String() string {
21108	return awsutil.Prettify(s)
21109}
21110
21111// GoString returns the string representation
21112func (s OrganizationConformancePackTemplateValidationException) GoString() string {
21113	return s.String()
21114}
21115
21116func newErrorOrganizationConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
21117	return &OrganizationConformancePackTemplateValidationException{
21118		RespMetadata: v,
21119	}
21120}
21121
21122// Code returns the exception type name.
21123func (s *OrganizationConformancePackTemplateValidationException) Code() string {
21124	return "OrganizationConformancePackTemplateValidationException"
21125}
21126
21127// Message returns the exception's message.
21128func (s *OrganizationConformancePackTemplateValidationException) Message() string {
21129	if s.Message_ != nil {
21130		return *s.Message_
21131	}
21132	return ""
21133}
21134
21135// OrigErr always returns nil, satisfies awserr.Error interface.
21136func (s *OrganizationConformancePackTemplateValidationException) OrigErr() error {
21137	return nil
21138}
21139
21140func (s *OrganizationConformancePackTemplateValidationException) Error() string {
21141	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21142}
21143
21144// Status code returns the HTTP status code for the request's response error.
21145func (s *OrganizationConformancePackTemplateValidationException) StatusCode() int {
21146	return s.RespMetadata.StatusCode
21147}
21148
21149// RequestID returns the service's response RequestID for request.
21150func (s *OrganizationConformancePackTemplateValidationException) RequestID() string {
21151	return s.RespMetadata.RequestID
21152}
21153
21154// An object that specifies organization custom rule metadata such as resource
21155// type, resource ID of AWS resource, Lamdba function ARN, and organization
21156// trigger types that trigger AWS Config to evaluate your AWS resources against
21157// a rule. It also provides the frequency with which you want AWS Config to
21158// run evaluations for the rule if the trigger type is periodic.
21159type OrganizationCustomRuleMetadata struct {
21160	_ struct{} `type:"structure"`
21161
21162	// The description that you provide for organization config rule.
21163	Description *string `type:"string"`
21164
21165	// A string, in JSON format, that is passed to organization config rule Lambda
21166	// function.
21167	InputParameters *string `min:"1" type:"string"`
21168
21169	// The lambda function ARN.
21170	//
21171	// LambdaFunctionArn is a required field
21172	LambdaFunctionArn *string `min:"1" type:"string" required:"true"`
21173
21174	// The maximum frequency with which AWS Config runs evaluations for a rule.
21175	// Your custom rule is triggered when AWS Config delivers the configuration
21176	// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
21177	//
21178	// By default, rules with a periodic trigger are evaluated every 24 hours. To
21179	// change the frequency, specify a valid value for the MaximumExecutionFrequency
21180	// parameter.
21181	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
21182
21183	// The type of notification that triggers AWS Config to run an evaluation for
21184	// a rule. You can specify the following notification types:
21185	//
21186	//    * ConfigurationItemChangeNotification - Triggers an evaluation when AWS
21187	//    Config delivers a configuration item as a result of a resource change.
21188	//
21189	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
21190	//    when AWS Config delivers an oversized configuration item. AWS Config may
21191	//    generate this notification type when a resource changes and the notification
21192	//    exceeds the maximum size allowed by Amazon SNS.
21193	//
21194	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
21195	//    specified for MaximumExecutionFrequency.
21196	//
21197	// OrganizationConfigRuleTriggerTypes is a required field
21198	OrganizationConfigRuleTriggerTypes []*string `type:"list" required:"true"`
21199
21200	// The ID of the AWS resource that was evaluated.
21201	ResourceIdScope *string `min:"1" type:"string"`
21202
21203	// The type of the AWS resource that was evaluated.
21204	ResourceTypesScope []*string `type:"list"`
21205
21206	// One part of a key-value pair that make up a tag. A key is a general label
21207	// that acts like a category for more specific tag values.
21208	TagKeyScope *string `min:"1" type:"string"`
21209
21210	// The optional part of a key-value pair that make up a tag. A value acts as
21211	// a descriptor within a tag category (key).
21212	TagValueScope *string `min:"1" type:"string"`
21213}
21214
21215// String returns the string representation
21216func (s OrganizationCustomRuleMetadata) String() string {
21217	return awsutil.Prettify(s)
21218}
21219
21220// GoString returns the string representation
21221func (s OrganizationCustomRuleMetadata) GoString() string {
21222	return s.String()
21223}
21224
21225// Validate inspects the fields of the type to determine if they are valid.
21226func (s *OrganizationCustomRuleMetadata) Validate() error {
21227	invalidParams := request.ErrInvalidParams{Context: "OrganizationCustomRuleMetadata"}
21228	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
21229		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
21230	}
21231	if s.LambdaFunctionArn == nil {
21232		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
21233	}
21234	if s.LambdaFunctionArn != nil && len(*s.LambdaFunctionArn) < 1 {
21235		invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionArn", 1))
21236	}
21237	if s.OrganizationConfigRuleTriggerTypes == nil {
21238		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleTriggerTypes"))
21239	}
21240	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
21241		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
21242	}
21243	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
21244		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
21245	}
21246	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
21247		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
21248	}
21249
21250	if invalidParams.Len() > 0 {
21251		return invalidParams
21252	}
21253	return nil
21254}
21255
21256// SetDescription sets the Description field's value.
21257func (s *OrganizationCustomRuleMetadata) SetDescription(v string) *OrganizationCustomRuleMetadata {
21258	s.Description = &v
21259	return s
21260}
21261
21262// SetInputParameters sets the InputParameters field's value.
21263func (s *OrganizationCustomRuleMetadata) SetInputParameters(v string) *OrganizationCustomRuleMetadata {
21264	s.InputParameters = &v
21265	return s
21266}
21267
21268// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
21269func (s *OrganizationCustomRuleMetadata) SetLambdaFunctionArn(v string) *OrganizationCustomRuleMetadata {
21270	s.LambdaFunctionArn = &v
21271	return s
21272}
21273
21274// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
21275func (s *OrganizationCustomRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationCustomRuleMetadata {
21276	s.MaximumExecutionFrequency = &v
21277	return s
21278}
21279
21280// SetOrganizationConfigRuleTriggerTypes sets the OrganizationConfigRuleTriggerTypes field's value.
21281func (s *OrganizationCustomRuleMetadata) SetOrganizationConfigRuleTriggerTypes(v []*string) *OrganizationCustomRuleMetadata {
21282	s.OrganizationConfigRuleTriggerTypes = v
21283	return s
21284}
21285
21286// SetResourceIdScope sets the ResourceIdScope field's value.
21287func (s *OrganizationCustomRuleMetadata) SetResourceIdScope(v string) *OrganizationCustomRuleMetadata {
21288	s.ResourceIdScope = &v
21289	return s
21290}
21291
21292// SetResourceTypesScope sets the ResourceTypesScope field's value.
21293func (s *OrganizationCustomRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationCustomRuleMetadata {
21294	s.ResourceTypesScope = v
21295	return s
21296}
21297
21298// SetTagKeyScope sets the TagKeyScope field's value.
21299func (s *OrganizationCustomRuleMetadata) SetTagKeyScope(v string) *OrganizationCustomRuleMetadata {
21300	s.TagKeyScope = &v
21301	return s
21302}
21303
21304// SetTagValueScope sets the TagValueScope field's value.
21305func (s *OrganizationCustomRuleMetadata) SetTagValueScope(v string) *OrganizationCustomRuleMetadata {
21306	s.TagValueScope = &v
21307	return s
21308}
21309
21310// An object that specifies organization managed rule metadata such as resource
21311// type and ID of AWS resource along with the rule identifier. It also provides
21312// the frequency with which you want AWS Config to run evaluations for the rule
21313// if the trigger type is periodic.
21314type OrganizationManagedRuleMetadata struct {
21315	_ struct{} `type:"structure"`
21316
21317	// The description that you provide for organization config rule.
21318	Description *string `type:"string"`
21319
21320	// A string, in JSON format, that is passed to organization config rule Lambda
21321	// function.
21322	InputParameters *string `min:"1" type:"string"`
21323
21324	// The maximum frequency with which AWS Config runs evaluations for a rule.
21325	// You are using an AWS managed rule that is triggered at a periodic frequency.
21326	//
21327	// By default, rules with a periodic trigger are evaluated every 24 hours. To
21328	// change the frequency, specify a valid value for the MaximumExecutionFrequency
21329	// parameter.
21330	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
21331
21332	// The ID of the AWS resource that was evaluated.
21333	ResourceIdScope *string `min:"1" type:"string"`
21334
21335	// The type of the AWS resource that was evaluated.
21336	ResourceTypesScope []*string `type:"list"`
21337
21338	// For organization config managed rules, a predefined identifier from a list.
21339	// For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed
21340	// rule, see Using AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
21341	//
21342	// RuleIdentifier is a required field
21343	RuleIdentifier *string `min:"1" type:"string" required:"true"`
21344
21345	// One part of a key-value pair that make up a tag. A key is a general label
21346	// that acts like a category for more specific tag values.
21347	TagKeyScope *string `min:"1" type:"string"`
21348
21349	// The optional part of a key-value pair that make up a tag. A value acts as
21350	// a descriptor within a tag category (key).
21351	TagValueScope *string `min:"1" type:"string"`
21352}
21353
21354// String returns the string representation
21355func (s OrganizationManagedRuleMetadata) String() string {
21356	return awsutil.Prettify(s)
21357}
21358
21359// GoString returns the string representation
21360func (s OrganizationManagedRuleMetadata) GoString() string {
21361	return s.String()
21362}
21363
21364// Validate inspects the fields of the type to determine if they are valid.
21365func (s *OrganizationManagedRuleMetadata) Validate() error {
21366	invalidParams := request.ErrInvalidParams{Context: "OrganizationManagedRuleMetadata"}
21367	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
21368		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
21369	}
21370	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
21371		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
21372	}
21373	if s.RuleIdentifier == nil {
21374		invalidParams.Add(request.NewErrParamRequired("RuleIdentifier"))
21375	}
21376	if s.RuleIdentifier != nil && len(*s.RuleIdentifier) < 1 {
21377		invalidParams.Add(request.NewErrParamMinLen("RuleIdentifier", 1))
21378	}
21379	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
21380		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
21381	}
21382	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
21383		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
21384	}
21385
21386	if invalidParams.Len() > 0 {
21387		return invalidParams
21388	}
21389	return nil
21390}
21391
21392// SetDescription sets the Description field's value.
21393func (s *OrganizationManagedRuleMetadata) SetDescription(v string) *OrganizationManagedRuleMetadata {
21394	s.Description = &v
21395	return s
21396}
21397
21398// SetInputParameters sets the InputParameters field's value.
21399func (s *OrganizationManagedRuleMetadata) SetInputParameters(v string) *OrganizationManagedRuleMetadata {
21400	s.InputParameters = &v
21401	return s
21402}
21403
21404// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
21405func (s *OrganizationManagedRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationManagedRuleMetadata {
21406	s.MaximumExecutionFrequency = &v
21407	return s
21408}
21409
21410// SetResourceIdScope sets the ResourceIdScope field's value.
21411func (s *OrganizationManagedRuleMetadata) SetResourceIdScope(v string) *OrganizationManagedRuleMetadata {
21412	s.ResourceIdScope = &v
21413	return s
21414}
21415
21416// SetResourceTypesScope sets the ResourceTypesScope field's value.
21417func (s *OrganizationManagedRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationManagedRuleMetadata {
21418	s.ResourceTypesScope = v
21419	return s
21420}
21421
21422// SetRuleIdentifier sets the RuleIdentifier field's value.
21423func (s *OrganizationManagedRuleMetadata) SetRuleIdentifier(v string) *OrganizationManagedRuleMetadata {
21424	s.RuleIdentifier = &v
21425	return s
21426}
21427
21428// SetTagKeyScope sets the TagKeyScope field's value.
21429func (s *OrganizationManagedRuleMetadata) SetTagKeyScope(v string) *OrganizationManagedRuleMetadata {
21430	s.TagKeyScope = &v
21431	return s
21432}
21433
21434// SetTagValueScope sets the TagValueScope field's value.
21435func (s *OrganizationManagedRuleMetadata) SetTagValueScope(v string) *OrganizationManagedRuleMetadata {
21436	s.TagValueScope = &v
21437	return s
21438}
21439
21440// Status filter object to filter results based on specific member account ID
21441// or status type for an organization conformance pack.
21442type OrganizationResourceDetailedStatusFilters struct {
21443	_ struct{} `type:"structure"`
21444
21445	// The 12-digit account ID of the member account within an organization.
21446	AccountId *string `type:"string"`
21447
21448	// Indicates deployment status for conformance pack in a member account. When
21449	// master account calls PutOrganizationConformancePack action for the first
21450	// time, conformance pack status is created in the member account. When master
21451	// account calls PutOrganizationConformancePack action for the second time,
21452	// conformance pack status is updated in the member account. Conformance pack
21453	// status is deleted when the master account deletes OrganizationConformancePack
21454	// and disables service access for config-multiaccountsetup.amazonaws.com.
21455	//
21456	// AWS Config sets the state of the conformance pack to:
21457	//
21458	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
21459	//    account.
21460	//
21461	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
21462	//    account.
21463	//
21464	//    * CREATE_FAILED when conformance pack creation has failed in the member
21465	//    account.
21466	//
21467	//    * DELETE_FAILED when conformance pack deletion has failed in the member
21468	//    account.
21469	//
21470	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
21471	//    account.
21472	//
21473	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
21474	//    account.
21475	//
21476	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
21477	//    account.
21478	//
21479	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
21480	//    account.
21481	//
21482	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
21483	//    account.
21484	Status *string `type:"string" enum:"OrganizationResourceDetailedStatus"`
21485}
21486
21487// String returns the string representation
21488func (s OrganizationResourceDetailedStatusFilters) String() string {
21489	return awsutil.Prettify(s)
21490}
21491
21492// GoString returns the string representation
21493func (s OrganizationResourceDetailedStatusFilters) GoString() string {
21494	return s.String()
21495}
21496
21497// SetAccountId sets the AccountId field's value.
21498func (s *OrganizationResourceDetailedStatusFilters) SetAccountId(v string) *OrganizationResourceDetailedStatusFilters {
21499	s.AccountId = &v
21500	return s
21501}
21502
21503// SetStatus sets the Status field's value.
21504func (s *OrganizationResourceDetailedStatusFilters) SetStatus(v string) *OrganizationResourceDetailedStatusFilters {
21505	s.Status = &v
21506	return s
21507}
21508
21509// The configuration item size is outside the allowable range.
21510type OversizedConfigurationItemException struct {
21511	_            struct{}                  `type:"structure"`
21512	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21513
21514	Message_ *string `locationName:"message" type:"string"`
21515}
21516
21517// String returns the string representation
21518func (s OversizedConfigurationItemException) String() string {
21519	return awsutil.Prettify(s)
21520}
21521
21522// GoString returns the string representation
21523func (s OversizedConfigurationItemException) GoString() string {
21524	return s.String()
21525}
21526
21527func newErrorOversizedConfigurationItemException(v protocol.ResponseMetadata) error {
21528	return &OversizedConfigurationItemException{
21529		RespMetadata: v,
21530	}
21531}
21532
21533// Code returns the exception type name.
21534func (s *OversizedConfigurationItemException) Code() string {
21535	return "OversizedConfigurationItemException"
21536}
21537
21538// Message returns the exception's message.
21539func (s *OversizedConfigurationItemException) Message() string {
21540	if s.Message_ != nil {
21541		return *s.Message_
21542	}
21543	return ""
21544}
21545
21546// OrigErr always returns nil, satisfies awserr.Error interface.
21547func (s *OversizedConfigurationItemException) OrigErr() error {
21548	return nil
21549}
21550
21551func (s *OversizedConfigurationItemException) Error() string {
21552	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
21553}
21554
21555// Status code returns the HTTP status code for the request's response error.
21556func (s *OversizedConfigurationItemException) StatusCode() int {
21557	return s.RespMetadata.StatusCode
21558}
21559
21560// RequestID returns the service's response RequestID for request.
21561func (s *OversizedConfigurationItemException) RequestID() string {
21562	return s.RespMetadata.RequestID
21563}
21564
21565// An object that represents the account ID and region of an aggregator account
21566// that is requesting authorization but is not yet authorized.
21567type PendingAggregationRequest struct {
21568	_ struct{} `type:"structure"`
21569
21570	// The 12-digit account ID of the account requesting to aggregate data.
21571	RequesterAccountId *string `type:"string"`
21572
21573	// The region requesting to aggregate data.
21574	RequesterAwsRegion *string `min:"1" type:"string"`
21575}
21576
21577// String returns the string representation
21578func (s PendingAggregationRequest) String() string {
21579	return awsutil.Prettify(s)
21580}
21581
21582// GoString returns the string representation
21583func (s PendingAggregationRequest) GoString() string {
21584	return s.String()
21585}
21586
21587// SetRequesterAccountId sets the RequesterAccountId field's value.
21588func (s *PendingAggregationRequest) SetRequesterAccountId(v string) *PendingAggregationRequest {
21589	s.RequesterAccountId = &v
21590	return s
21591}
21592
21593// SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
21594func (s *PendingAggregationRequest) SetRequesterAwsRegion(v string) *PendingAggregationRequest {
21595	s.RequesterAwsRegion = &v
21596	return s
21597}
21598
21599type PutAggregationAuthorizationInput struct {
21600	_ struct{} `type:"structure"`
21601
21602	// The 12-digit account ID of the account authorized to aggregate data.
21603	//
21604	// AuthorizedAccountId is a required field
21605	AuthorizedAccountId *string `type:"string" required:"true"`
21606
21607	// The region authorized to collect aggregated data.
21608	//
21609	// AuthorizedAwsRegion is a required field
21610	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
21611
21612	// An array of tag object.
21613	Tags []*Tag `type:"list"`
21614}
21615
21616// String returns the string representation
21617func (s PutAggregationAuthorizationInput) String() string {
21618	return awsutil.Prettify(s)
21619}
21620
21621// GoString returns the string representation
21622func (s PutAggregationAuthorizationInput) GoString() string {
21623	return s.String()
21624}
21625
21626// Validate inspects the fields of the type to determine if they are valid.
21627func (s *PutAggregationAuthorizationInput) Validate() error {
21628	invalidParams := request.ErrInvalidParams{Context: "PutAggregationAuthorizationInput"}
21629	if s.AuthorizedAccountId == nil {
21630		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
21631	}
21632	if s.AuthorizedAwsRegion == nil {
21633		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
21634	}
21635	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
21636		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
21637	}
21638	if s.Tags != nil {
21639		for i, v := range s.Tags {
21640			if v == nil {
21641				continue
21642			}
21643			if err := v.Validate(); err != nil {
21644				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21645			}
21646		}
21647	}
21648
21649	if invalidParams.Len() > 0 {
21650		return invalidParams
21651	}
21652	return nil
21653}
21654
21655// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
21656func (s *PutAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *PutAggregationAuthorizationInput {
21657	s.AuthorizedAccountId = &v
21658	return s
21659}
21660
21661// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
21662func (s *PutAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *PutAggregationAuthorizationInput {
21663	s.AuthorizedAwsRegion = &v
21664	return s
21665}
21666
21667// SetTags sets the Tags field's value.
21668func (s *PutAggregationAuthorizationInput) SetTags(v []*Tag) *PutAggregationAuthorizationInput {
21669	s.Tags = v
21670	return s
21671}
21672
21673type PutAggregationAuthorizationOutput struct {
21674	_ struct{} `type:"structure"`
21675
21676	// Returns an AggregationAuthorization object.
21677	AggregationAuthorization *AggregationAuthorization `type:"structure"`
21678}
21679
21680// String returns the string representation
21681func (s PutAggregationAuthorizationOutput) String() string {
21682	return awsutil.Prettify(s)
21683}
21684
21685// GoString returns the string representation
21686func (s PutAggregationAuthorizationOutput) GoString() string {
21687	return s.String()
21688}
21689
21690// SetAggregationAuthorization sets the AggregationAuthorization field's value.
21691func (s *PutAggregationAuthorizationOutput) SetAggregationAuthorization(v *AggregationAuthorization) *PutAggregationAuthorizationOutput {
21692	s.AggregationAuthorization = v
21693	return s
21694}
21695
21696type PutConfigRuleInput struct {
21697	_ struct{} `type:"structure"`
21698
21699	// The rule that you want to add to your account.
21700	//
21701	// ConfigRule is a required field
21702	ConfigRule *ConfigRule `type:"structure" required:"true"`
21703
21704	// An array of tag object.
21705	Tags []*Tag `type:"list"`
21706}
21707
21708// String returns the string representation
21709func (s PutConfigRuleInput) String() string {
21710	return awsutil.Prettify(s)
21711}
21712
21713// GoString returns the string representation
21714func (s PutConfigRuleInput) GoString() string {
21715	return s.String()
21716}
21717
21718// Validate inspects the fields of the type to determine if they are valid.
21719func (s *PutConfigRuleInput) Validate() error {
21720	invalidParams := request.ErrInvalidParams{Context: "PutConfigRuleInput"}
21721	if s.ConfigRule == nil {
21722		invalidParams.Add(request.NewErrParamRequired("ConfigRule"))
21723	}
21724	if s.ConfigRule != nil {
21725		if err := s.ConfigRule.Validate(); err != nil {
21726			invalidParams.AddNested("ConfigRule", err.(request.ErrInvalidParams))
21727		}
21728	}
21729	if s.Tags != nil {
21730		for i, v := range s.Tags {
21731			if v == nil {
21732				continue
21733			}
21734			if err := v.Validate(); err != nil {
21735				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21736			}
21737		}
21738	}
21739
21740	if invalidParams.Len() > 0 {
21741		return invalidParams
21742	}
21743	return nil
21744}
21745
21746// SetConfigRule sets the ConfigRule field's value.
21747func (s *PutConfigRuleInput) SetConfigRule(v *ConfigRule) *PutConfigRuleInput {
21748	s.ConfigRule = v
21749	return s
21750}
21751
21752// SetTags sets the Tags field's value.
21753func (s *PutConfigRuleInput) SetTags(v []*Tag) *PutConfigRuleInput {
21754	s.Tags = v
21755	return s
21756}
21757
21758type PutConfigRuleOutput struct {
21759	_ struct{} `type:"structure"`
21760}
21761
21762// String returns the string representation
21763func (s PutConfigRuleOutput) String() string {
21764	return awsutil.Prettify(s)
21765}
21766
21767// GoString returns the string representation
21768func (s PutConfigRuleOutput) GoString() string {
21769	return s.String()
21770}
21771
21772type PutConfigurationAggregatorInput struct {
21773	_ struct{} `type:"structure"`
21774
21775	// A list of AccountAggregationSource object.
21776	AccountAggregationSources []*AccountAggregationSource `type:"list"`
21777
21778	// The name of the configuration aggregator.
21779	//
21780	// ConfigurationAggregatorName is a required field
21781	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
21782
21783	// An OrganizationAggregationSource object.
21784	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
21785
21786	// An array of tag object.
21787	Tags []*Tag `type:"list"`
21788}
21789
21790// String returns the string representation
21791func (s PutConfigurationAggregatorInput) String() string {
21792	return awsutil.Prettify(s)
21793}
21794
21795// GoString returns the string representation
21796func (s PutConfigurationAggregatorInput) GoString() string {
21797	return s.String()
21798}
21799
21800// Validate inspects the fields of the type to determine if they are valid.
21801func (s *PutConfigurationAggregatorInput) Validate() error {
21802	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationAggregatorInput"}
21803	if s.ConfigurationAggregatorName == nil {
21804		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
21805	}
21806	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
21807		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
21808	}
21809	if s.AccountAggregationSources != nil {
21810		for i, v := range s.AccountAggregationSources {
21811			if v == nil {
21812				continue
21813			}
21814			if err := v.Validate(); err != nil {
21815				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountAggregationSources", i), err.(request.ErrInvalidParams))
21816			}
21817		}
21818	}
21819	if s.OrganizationAggregationSource != nil {
21820		if err := s.OrganizationAggregationSource.Validate(); err != nil {
21821			invalidParams.AddNested("OrganizationAggregationSource", err.(request.ErrInvalidParams))
21822		}
21823	}
21824	if s.Tags != nil {
21825		for i, v := range s.Tags {
21826			if v == nil {
21827				continue
21828			}
21829			if err := v.Validate(); err != nil {
21830				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21831			}
21832		}
21833	}
21834
21835	if invalidParams.Len() > 0 {
21836		return invalidParams
21837	}
21838	return nil
21839}
21840
21841// SetAccountAggregationSources sets the AccountAggregationSources field's value.
21842func (s *PutConfigurationAggregatorInput) SetAccountAggregationSources(v []*AccountAggregationSource) *PutConfigurationAggregatorInput {
21843	s.AccountAggregationSources = v
21844	return s
21845}
21846
21847// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
21848func (s *PutConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *PutConfigurationAggregatorInput {
21849	s.ConfigurationAggregatorName = &v
21850	return s
21851}
21852
21853// SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
21854func (s *PutConfigurationAggregatorInput) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *PutConfigurationAggregatorInput {
21855	s.OrganizationAggregationSource = v
21856	return s
21857}
21858
21859// SetTags sets the Tags field's value.
21860func (s *PutConfigurationAggregatorInput) SetTags(v []*Tag) *PutConfigurationAggregatorInput {
21861	s.Tags = v
21862	return s
21863}
21864
21865type PutConfigurationAggregatorOutput struct {
21866	_ struct{} `type:"structure"`
21867
21868	// Returns a ConfigurationAggregator object.
21869	ConfigurationAggregator *ConfigurationAggregator `type:"structure"`
21870}
21871
21872// String returns the string representation
21873func (s PutConfigurationAggregatorOutput) String() string {
21874	return awsutil.Prettify(s)
21875}
21876
21877// GoString returns the string representation
21878func (s PutConfigurationAggregatorOutput) GoString() string {
21879	return s.String()
21880}
21881
21882// SetConfigurationAggregator sets the ConfigurationAggregator field's value.
21883func (s *PutConfigurationAggregatorOutput) SetConfigurationAggregator(v *ConfigurationAggregator) *PutConfigurationAggregatorOutput {
21884	s.ConfigurationAggregator = v
21885	return s
21886}
21887
21888// The input for the PutConfigurationRecorder action.
21889type PutConfigurationRecorderInput struct {
21890	_ struct{} `type:"structure"`
21891
21892	// The configuration recorder object that records each configuration change
21893	// made to the resources.
21894	//
21895	// ConfigurationRecorder is a required field
21896	ConfigurationRecorder *ConfigurationRecorder `type:"structure" required:"true"`
21897}
21898
21899// String returns the string representation
21900func (s PutConfigurationRecorderInput) String() string {
21901	return awsutil.Prettify(s)
21902}
21903
21904// GoString returns the string representation
21905func (s PutConfigurationRecorderInput) GoString() string {
21906	return s.String()
21907}
21908
21909// Validate inspects the fields of the type to determine if they are valid.
21910func (s *PutConfigurationRecorderInput) Validate() error {
21911	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationRecorderInput"}
21912	if s.ConfigurationRecorder == nil {
21913		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorder"))
21914	}
21915	if s.ConfigurationRecorder != nil {
21916		if err := s.ConfigurationRecorder.Validate(); err != nil {
21917			invalidParams.AddNested("ConfigurationRecorder", err.(request.ErrInvalidParams))
21918		}
21919	}
21920
21921	if invalidParams.Len() > 0 {
21922		return invalidParams
21923	}
21924	return nil
21925}
21926
21927// SetConfigurationRecorder sets the ConfigurationRecorder field's value.
21928func (s *PutConfigurationRecorderInput) SetConfigurationRecorder(v *ConfigurationRecorder) *PutConfigurationRecorderInput {
21929	s.ConfigurationRecorder = v
21930	return s
21931}
21932
21933type PutConfigurationRecorderOutput struct {
21934	_ struct{} `type:"structure"`
21935}
21936
21937// String returns the string representation
21938func (s PutConfigurationRecorderOutput) String() string {
21939	return awsutil.Prettify(s)
21940}
21941
21942// GoString returns the string representation
21943func (s PutConfigurationRecorderOutput) GoString() string {
21944	return s.String()
21945}
21946
21947type PutConformancePackInput struct {
21948	_ struct{} `type:"structure"`
21949
21950	// A list of ConformancePackInputParameter objects.
21951	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
21952
21953	// Name of the conformance pack you want to create.
21954	//
21955	// ConformancePackName is a required field
21956	ConformancePackName *string `min:"1" type:"string" required:"true"`
21957
21958	// Amazon S3 bucket where AWS Config stores conformance pack templates.
21959	//
21960	// This field is optional.
21961	DeliveryS3Bucket *string `type:"string"`
21962
21963	// The prefix for the Amazon S3 bucket.
21964	//
21965	// This field is optional.
21966	DeliveryS3KeyPrefix *string `type:"string"`
21967
21968	// A string containing full conformance pack template body. Structure containing
21969	// the template body with a minimum length of 1 byte and a maximum length of
21970	// 51,200 bytes.
21971	//
21972	// You can only use a YAML template with one resource type, that is, config
21973	// rule and a remediation action.
21974	TemplateBody *string `min:"1" type:"string"`
21975
21976	// Location of file containing the template body (s3://bucketname/prefix). The
21977	// uri must point to the conformance pack template (max size: 300 KB) that is
21978	// located in an Amazon S3 bucket in the same region as the conformance pack.
21979	//
21980	// You must have access to read Amazon S3 bucket.
21981	TemplateS3Uri *string `min:"1" type:"string"`
21982}
21983
21984// String returns the string representation
21985func (s PutConformancePackInput) String() string {
21986	return awsutil.Prettify(s)
21987}
21988
21989// GoString returns the string representation
21990func (s PutConformancePackInput) GoString() string {
21991	return s.String()
21992}
21993
21994// Validate inspects the fields of the type to determine if they are valid.
21995func (s *PutConformancePackInput) Validate() error {
21996	invalidParams := request.ErrInvalidParams{Context: "PutConformancePackInput"}
21997	if s.ConformancePackName == nil {
21998		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
21999	}
22000	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
22001		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
22002	}
22003	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
22004		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
22005	}
22006	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
22007		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
22008	}
22009	if s.ConformancePackInputParameters != nil {
22010		for i, v := range s.ConformancePackInputParameters {
22011			if v == nil {
22012				continue
22013			}
22014			if err := v.Validate(); err != nil {
22015				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
22016			}
22017		}
22018	}
22019
22020	if invalidParams.Len() > 0 {
22021		return invalidParams
22022	}
22023	return nil
22024}
22025
22026// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
22027func (s *PutConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutConformancePackInput {
22028	s.ConformancePackInputParameters = v
22029	return s
22030}
22031
22032// SetConformancePackName sets the ConformancePackName field's value.
22033func (s *PutConformancePackInput) SetConformancePackName(v string) *PutConformancePackInput {
22034	s.ConformancePackName = &v
22035	return s
22036}
22037
22038// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
22039func (s *PutConformancePackInput) SetDeliveryS3Bucket(v string) *PutConformancePackInput {
22040	s.DeliveryS3Bucket = &v
22041	return s
22042}
22043
22044// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
22045func (s *PutConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutConformancePackInput {
22046	s.DeliveryS3KeyPrefix = &v
22047	return s
22048}
22049
22050// SetTemplateBody sets the TemplateBody field's value.
22051func (s *PutConformancePackInput) SetTemplateBody(v string) *PutConformancePackInput {
22052	s.TemplateBody = &v
22053	return s
22054}
22055
22056// SetTemplateS3Uri sets the TemplateS3Uri field's value.
22057func (s *PutConformancePackInput) SetTemplateS3Uri(v string) *PutConformancePackInput {
22058	s.TemplateS3Uri = &v
22059	return s
22060}
22061
22062type PutConformancePackOutput struct {
22063	_ struct{} `type:"structure"`
22064
22065	// ARN of the conformance pack.
22066	ConformancePackArn *string `min:"1" type:"string"`
22067}
22068
22069// String returns the string representation
22070func (s PutConformancePackOutput) String() string {
22071	return awsutil.Prettify(s)
22072}
22073
22074// GoString returns the string representation
22075func (s PutConformancePackOutput) GoString() string {
22076	return s.String()
22077}
22078
22079// SetConformancePackArn sets the ConformancePackArn field's value.
22080func (s *PutConformancePackOutput) SetConformancePackArn(v string) *PutConformancePackOutput {
22081	s.ConformancePackArn = &v
22082	return s
22083}
22084
22085// The input for the PutDeliveryChannel action.
22086type PutDeliveryChannelInput struct {
22087	_ struct{} `type:"structure"`
22088
22089	// The configuration delivery channel object that delivers the configuration
22090	// information to an Amazon S3 bucket and to an Amazon SNS topic.
22091	//
22092	// DeliveryChannel is a required field
22093	DeliveryChannel *DeliveryChannel `type:"structure" required:"true"`
22094}
22095
22096// String returns the string representation
22097func (s PutDeliveryChannelInput) String() string {
22098	return awsutil.Prettify(s)
22099}
22100
22101// GoString returns the string representation
22102func (s PutDeliveryChannelInput) GoString() string {
22103	return s.String()
22104}
22105
22106// Validate inspects the fields of the type to determine if they are valid.
22107func (s *PutDeliveryChannelInput) Validate() error {
22108	invalidParams := request.ErrInvalidParams{Context: "PutDeliveryChannelInput"}
22109	if s.DeliveryChannel == nil {
22110		invalidParams.Add(request.NewErrParamRequired("DeliveryChannel"))
22111	}
22112	if s.DeliveryChannel != nil {
22113		if err := s.DeliveryChannel.Validate(); err != nil {
22114			invalidParams.AddNested("DeliveryChannel", err.(request.ErrInvalidParams))
22115		}
22116	}
22117
22118	if invalidParams.Len() > 0 {
22119		return invalidParams
22120	}
22121	return nil
22122}
22123
22124// SetDeliveryChannel sets the DeliveryChannel field's value.
22125func (s *PutDeliveryChannelInput) SetDeliveryChannel(v *DeliveryChannel) *PutDeliveryChannelInput {
22126	s.DeliveryChannel = v
22127	return s
22128}
22129
22130type PutDeliveryChannelOutput struct {
22131	_ struct{} `type:"structure"`
22132}
22133
22134// String returns the string representation
22135func (s PutDeliveryChannelOutput) String() string {
22136	return awsutil.Prettify(s)
22137}
22138
22139// GoString returns the string representation
22140func (s PutDeliveryChannelOutput) GoString() string {
22141	return s.String()
22142}
22143
22144type PutEvaluationsInput struct {
22145	_ struct{} `type:"structure"`
22146
22147	// The assessments that the AWS Lambda function performs. Each evaluation identifies
22148	// an AWS resource and indicates whether it complies with the AWS Config rule
22149	// that invokes the AWS Lambda function.
22150	Evaluations []*Evaluation `type:"list"`
22151
22152	// An encrypted token that associates an evaluation with an AWS Config rule.
22153	// Identifies the rule and the event that triggered the evaluation.
22154	//
22155	// ResultToken is a required field
22156	ResultToken *string `type:"string" required:"true"`
22157
22158	// Use this parameter to specify a test run for PutEvaluations. You can verify
22159	// whether your AWS Lambda function will deliver evaluation results to AWS Config.
22160	// No updates occur to your existing evaluations, and evaluation results are
22161	// not sent to AWS Config.
22162	//
22163	// When TestMode is true, PutEvaluations doesn't require a valid value for the
22164	// ResultToken parameter, but the value cannot be null.
22165	TestMode *bool `type:"boolean"`
22166}
22167
22168// String returns the string representation
22169func (s PutEvaluationsInput) String() string {
22170	return awsutil.Prettify(s)
22171}
22172
22173// GoString returns the string representation
22174func (s PutEvaluationsInput) GoString() string {
22175	return s.String()
22176}
22177
22178// Validate inspects the fields of the type to determine if they are valid.
22179func (s *PutEvaluationsInput) Validate() error {
22180	invalidParams := request.ErrInvalidParams{Context: "PutEvaluationsInput"}
22181	if s.ResultToken == nil {
22182		invalidParams.Add(request.NewErrParamRequired("ResultToken"))
22183	}
22184	if s.Evaluations != nil {
22185		for i, v := range s.Evaluations {
22186			if v == nil {
22187				continue
22188			}
22189			if err := v.Validate(); err != nil {
22190				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Evaluations", i), err.(request.ErrInvalidParams))
22191			}
22192		}
22193	}
22194
22195	if invalidParams.Len() > 0 {
22196		return invalidParams
22197	}
22198	return nil
22199}
22200
22201// SetEvaluations sets the Evaluations field's value.
22202func (s *PutEvaluationsInput) SetEvaluations(v []*Evaluation) *PutEvaluationsInput {
22203	s.Evaluations = v
22204	return s
22205}
22206
22207// SetResultToken sets the ResultToken field's value.
22208func (s *PutEvaluationsInput) SetResultToken(v string) *PutEvaluationsInput {
22209	s.ResultToken = &v
22210	return s
22211}
22212
22213// SetTestMode sets the TestMode field's value.
22214func (s *PutEvaluationsInput) SetTestMode(v bool) *PutEvaluationsInput {
22215	s.TestMode = &v
22216	return s
22217}
22218
22219type PutEvaluationsOutput struct {
22220	_ struct{} `type:"structure"`
22221
22222	// Requests that failed because of a client or server error.
22223	FailedEvaluations []*Evaluation `type:"list"`
22224}
22225
22226// String returns the string representation
22227func (s PutEvaluationsOutput) String() string {
22228	return awsutil.Prettify(s)
22229}
22230
22231// GoString returns the string representation
22232func (s PutEvaluationsOutput) GoString() string {
22233	return s.String()
22234}
22235
22236// SetFailedEvaluations sets the FailedEvaluations field's value.
22237func (s *PutEvaluationsOutput) SetFailedEvaluations(v []*Evaluation) *PutEvaluationsOutput {
22238	s.FailedEvaluations = v
22239	return s
22240}
22241
22242type PutExternalEvaluationInput struct {
22243	_ struct{} `type:"structure"`
22244
22245	// The name of the AWS Config rule.
22246	//
22247	// ConfigRuleName is a required field
22248	ConfigRuleName *string `min:"1" type:"string" required:"true"`
22249
22250	// An ExternalEvaluation object that provides details about compliance.
22251	//
22252	// ExternalEvaluation is a required field
22253	ExternalEvaluation *ExternalEvaluation `type:"structure" required:"true"`
22254}
22255
22256// String returns the string representation
22257func (s PutExternalEvaluationInput) String() string {
22258	return awsutil.Prettify(s)
22259}
22260
22261// GoString returns the string representation
22262func (s PutExternalEvaluationInput) GoString() string {
22263	return s.String()
22264}
22265
22266// Validate inspects the fields of the type to determine if they are valid.
22267func (s *PutExternalEvaluationInput) Validate() error {
22268	invalidParams := request.ErrInvalidParams{Context: "PutExternalEvaluationInput"}
22269	if s.ConfigRuleName == nil {
22270		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
22271	}
22272	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
22273		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
22274	}
22275	if s.ExternalEvaluation == nil {
22276		invalidParams.Add(request.NewErrParamRequired("ExternalEvaluation"))
22277	}
22278	if s.ExternalEvaluation != nil {
22279		if err := s.ExternalEvaluation.Validate(); err != nil {
22280			invalidParams.AddNested("ExternalEvaluation", err.(request.ErrInvalidParams))
22281		}
22282	}
22283
22284	if invalidParams.Len() > 0 {
22285		return invalidParams
22286	}
22287	return nil
22288}
22289
22290// SetConfigRuleName sets the ConfigRuleName field's value.
22291func (s *PutExternalEvaluationInput) SetConfigRuleName(v string) *PutExternalEvaluationInput {
22292	s.ConfigRuleName = &v
22293	return s
22294}
22295
22296// SetExternalEvaluation sets the ExternalEvaluation field's value.
22297func (s *PutExternalEvaluationInput) SetExternalEvaluation(v *ExternalEvaluation) *PutExternalEvaluationInput {
22298	s.ExternalEvaluation = v
22299	return s
22300}
22301
22302type PutExternalEvaluationOutput struct {
22303	_ struct{} `type:"structure"`
22304}
22305
22306// String returns the string representation
22307func (s PutExternalEvaluationOutput) String() string {
22308	return awsutil.Prettify(s)
22309}
22310
22311// GoString returns the string representation
22312func (s PutExternalEvaluationOutput) GoString() string {
22313	return s.String()
22314}
22315
22316type PutOrganizationConfigRuleInput struct {
22317	_ struct{} `type:"structure"`
22318
22319	// A comma-separated list of accounts that you want to exclude from an organization
22320	// config rule.
22321	ExcludedAccounts []*string `type:"list"`
22322
22323	// The name that you assign to an organization config rule.
22324	//
22325	// OrganizationConfigRuleName is a required field
22326	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
22327
22328	// An OrganizationCustomRuleMetadata object.
22329	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
22330
22331	// An OrganizationManagedRuleMetadata object.
22332	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
22333}
22334
22335// String returns the string representation
22336func (s PutOrganizationConfigRuleInput) String() string {
22337	return awsutil.Prettify(s)
22338}
22339
22340// GoString returns the string representation
22341func (s PutOrganizationConfigRuleInput) GoString() string {
22342	return s.String()
22343}
22344
22345// Validate inspects the fields of the type to determine if they are valid.
22346func (s *PutOrganizationConfigRuleInput) Validate() error {
22347	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConfigRuleInput"}
22348	if s.OrganizationConfigRuleName == nil {
22349		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
22350	}
22351	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
22352		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
22353	}
22354	if s.OrganizationCustomRuleMetadata != nil {
22355		if err := s.OrganizationCustomRuleMetadata.Validate(); err != nil {
22356			invalidParams.AddNested("OrganizationCustomRuleMetadata", err.(request.ErrInvalidParams))
22357		}
22358	}
22359	if s.OrganizationManagedRuleMetadata != nil {
22360		if err := s.OrganizationManagedRuleMetadata.Validate(); err != nil {
22361			invalidParams.AddNested("OrganizationManagedRuleMetadata", err.(request.ErrInvalidParams))
22362		}
22363	}
22364
22365	if invalidParams.Len() > 0 {
22366		return invalidParams
22367	}
22368	return nil
22369}
22370
22371// SetExcludedAccounts sets the ExcludedAccounts field's value.
22372func (s *PutOrganizationConfigRuleInput) SetExcludedAccounts(v []*string) *PutOrganizationConfigRuleInput {
22373	s.ExcludedAccounts = v
22374	return s
22375}
22376
22377// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
22378func (s *PutOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *PutOrganizationConfigRuleInput {
22379	s.OrganizationConfigRuleName = &v
22380	return s
22381}
22382
22383// SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
22384func (s *PutOrganizationConfigRuleInput) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *PutOrganizationConfigRuleInput {
22385	s.OrganizationCustomRuleMetadata = v
22386	return s
22387}
22388
22389// SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
22390func (s *PutOrganizationConfigRuleInput) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *PutOrganizationConfigRuleInput {
22391	s.OrganizationManagedRuleMetadata = v
22392	return s
22393}
22394
22395type PutOrganizationConfigRuleOutput struct {
22396	_ struct{} `type:"structure"`
22397
22398	// The Amazon Resource Name (ARN) of an organization config rule.
22399	OrganizationConfigRuleArn *string `min:"1" type:"string"`
22400}
22401
22402// String returns the string representation
22403func (s PutOrganizationConfigRuleOutput) String() string {
22404	return awsutil.Prettify(s)
22405}
22406
22407// GoString returns the string representation
22408func (s PutOrganizationConfigRuleOutput) GoString() string {
22409	return s.String()
22410}
22411
22412// SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
22413func (s *PutOrganizationConfigRuleOutput) SetOrganizationConfigRuleArn(v string) *PutOrganizationConfigRuleOutput {
22414	s.OrganizationConfigRuleArn = &v
22415	return s
22416}
22417
22418type PutOrganizationConformancePackInput struct {
22419	_ struct{} `type:"structure"`
22420
22421	// A list of ConformancePackInputParameter objects.
22422	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
22423
22424	// Amazon S3 bucket where AWS Config stores conformance pack templates.
22425	//
22426	// This field is optional. If used, it must be prefixed with awsconfigconforms.
22427	DeliveryS3Bucket *string `type:"string"`
22428
22429	// The prefix for the Amazon S3 bucket.
22430	//
22431	// This field is optional.
22432	DeliveryS3KeyPrefix *string `type:"string"`
22433
22434	// A list of AWS accounts to be excluded from an organization conformance pack
22435	// while deploying a conformance pack.
22436	ExcludedAccounts []*string `type:"list"`
22437
22438	// Name of the organization conformance pack you want to create.
22439	//
22440	// OrganizationConformancePackName is a required field
22441	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
22442
22443	// A string containing full conformance pack template body. Structure containing
22444	// the template body with a minimum length of 1 byte and a maximum length of
22445	// 51,200 bytes.
22446	TemplateBody *string `min:"1" type:"string"`
22447
22448	// Location of file containing the template body. The uri must point to the
22449	// conformance pack template (max size: 300 KB).
22450	//
22451	// You must have access to read Amazon S3 bucket.
22452	TemplateS3Uri *string `min:"1" type:"string"`
22453}
22454
22455// String returns the string representation
22456func (s PutOrganizationConformancePackInput) String() string {
22457	return awsutil.Prettify(s)
22458}
22459
22460// GoString returns the string representation
22461func (s PutOrganizationConformancePackInput) GoString() string {
22462	return s.String()
22463}
22464
22465// Validate inspects the fields of the type to determine if they are valid.
22466func (s *PutOrganizationConformancePackInput) Validate() error {
22467	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConformancePackInput"}
22468	if s.OrganizationConformancePackName == nil {
22469		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
22470	}
22471	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
22472		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
22473	}
22474	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
22475		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
22476	}
22477	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
22478		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
22479	}
22480	if s.ConformancePackInputParameters != nil {
22481		for i, v := range s.ConformancePackInputParameters {
22482			if v == nil {
22483				continue
22484			}
22485			if err := v.Validate(); err != nil {
22486				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
22487			}
22488		}
22489	}
22490
22491	if invalidParams.Len() > 0 {
22492		return invalidParams
22493	}
22494	return nil
22495}
22496
22497// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
22498func (s *PutOrganizationConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutOrganizationConformancePackInput {
22499	s.ConformancePackInputParameters = v
22500	return s
22501}
22502
22503// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
22504func (s *PutOrganizationConformancePackInput) SetDeliveryS3Bucket(v string) *PutOrganizationConformancePackInput {
22505	s.DeliveryS3Bucket = &v
22506	return s
22507}
22508
22509// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
22510func (s *PutOrganizationConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutOrganizationConformancePackInput {
22511	s.DeliveryS3KeyPrefix = &v
22512	return s
22513}
22514
22515// SetExcludedAccounts sets the ExcludedAccounts field's value.
22516func (s *PutOrganizationConformancePackInput) SetExcludedAccounts(v []*string) *PutOrganizationConformancePackInput {
22517	s.ExcludedAccounts = v
22518	return s
22519}
22520
22521// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
22522func (s *PutOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *PutOrganizationConformancePackInput {
22523	s.OrganizationConformancePackName = &v
22524	return s
22525}
22526
22527// SetTemplateBody sets the TemplateBody field's value.
22528func (s *PutOrganizationConformancePackInput) SetTemplateBody(v string) *PutOrganizationConformancePackInput {
22529	s.TemplateBody = &v
22530	return s
22531}
22532
22533// SetTemplateS3Uri sets the TemplateS3Uri field's value.
22534func (s *PutOrganizationConformancePackInput) SetTemplateS3Uri(v string) *PutOrganizationConformancePackInput {
22535	s.TemplateS3Uri = &v
22536	return s
22537}
22538
22539type PutOrganizationConformancePackOutput struct {
22540	_ struct{} `type:"structure"`
22541
22542	// ARN of the organization conformance pack.
22543	OrganizationConformancePackArn *string `min:"1" type:"string"`
22544}
22545
22546// String returns the string representation
22547func (s PutOrganizationConformancePackOutput) String() string {
22548	return awsutil.Prettify(s)
22549}
22550
22551// GoString returns the string representation
22552func (s PutOrganizationConformancePackOutput) GoString() string {
22553	return s.String()
22554}
22555
22556// SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
22557func (s *PutOrganizationConformancePackOutput) SetOrganizationConformancePackArn(v string) *PutOrganizationConformancePackOutput {
22558	s.OrganizationConformancePackArn = &v
22559	return s
22560}
22561
22562type PutRemediationConfigurationsInput struct {
22563	_ struct{} `type:"structure"`
22564
22565	// A list of remediation configuration objects.
22566	//
22567	// RemediationConfigurations is a required field
22568	RemediationConfigurations []*RemediationConfiguration `type:"list" required:"true"`
22569}
22570
22571// String returns the string representation
22572func (s PutRemediationConfigurationsInput) String() string {
22573	return awsutil.Prettify(s)
22574}
22575
22576// GoString returns the string representation
22577func (s PutRemediationConfigurationsInput) GoString() string {
22578	return s.String()
22579}
22580
22581// Validate inspects the fields of the type to determine if they are valid.
22582func (s *PutRemediationConfigurationsInput) Validate() error {
22583	invalidParams := request.ErrInvalidParams{Context: "PutRemediationConfigurationsInput"}
22584	if s.RemediationConfigurations == nil {
22585		invalidParams.Add(request.NewErrParamRequired("RemediationConfigurations"))
22586	}
22587	if s.RemediationConfigurations != nil {
22588		for i, v := range s.RemediationConfigurations {
22589			if v == nil {
22590				continue
22591			}
22592			if err := v.Validate(); err != nil {
22593				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemediationConfigurations", i), err.(request.ErrInvalidParams))
22594			}
22595		}
22596	}
22597
22598	if invalidParams.Len() > 0 {
22599		return invalidParams
22600	}
22601	return nil
22602}
22603
22604// SetRemediationConfigurations sets the RemediationConfigurations field's value.
22605func (s *PutRemediationConfigurationsInput) SetRemediationConfigurations(v []*RemediationConfiguration) *PutRemediationConfigurationsInput {
22606	s.RemediationConfigurations = v
22607	return s
22608}
22609
22610type PutRemediationConfigurationsOutput struct {
22611	_ struct{} `type:"structure"`
22612
22613	// Returns a list of failed remediation batch objects.
22614	FailedBatches []*FailedRemediationBatch `type:"list"`
22615}
22616
22617// String returns the string representation
22618func (s PutRemediationConfigurationsOutput) String() string {
22619	return awsutil.Prettify(s)
22620}
22621
22622// GoString returns the string representation
22623func (s PutRemediationConfigurationsOutput) GoString() string {
22624	return s.String()
22625}
22626
22627// SetFailedBatches sets the FailedBatches field's value.
22628func (s *PutRemediationConfigurationsOutput) SetFailedBatches(v []*FailedRemediationBatch) *PutRemediationConfigurationsOutput {
22629	s.FailedBatches = v
22630	return s
22631}
22632
22633type PutRemediationExceptionsInput struct {
22634	_ struct{} `type:"structure"`
22635
22636	// The name of the AWS Config rule for which you want to create remediation
22637	// exception.
22638	//
22639	// ConfigRuleName is a required field
22640	ConfigRuleName *string `min:"1" type:"string" required:"true"`
22641
22642	// The exception is automatically deleted after the expiration date.
22643	ExpirationTime *time.Time `type:"timestamp"`
22644
22645	// The message contains an explanation of the exception.
22646	Message *string `min:"1" type:"string"`
22647
22648	// An exception list of resource exception keys to be processed with the current
22649	// request. AWS Config adds exception for each resource key. For example, AWS
22650	// Config adds 3 exceptions for 3 resource keys.
22651	//
22652	// ResourceKeys is a required field
22653	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
22654}
22655
22656// String returns the string representation
22657func (s PutRemediationExceptionsInput) String() string {
22658	return awsutil.Prettify(s)
22659}
22660
22661// GoString returns the string representation
22662func (s PutRemediationExceptionsInput) GoString() string {
22663	return s.String()
22664}
22665
22666// Validate inspects the fields of the type to determine if they are valid.
22667func (s *PutRemediationExceptionsInput) Validate() error {
22668	invalidParams := request.ErrInvalidParams{Context: "PutRemediationExceptionsInput"}
22669	if s.ConfigRuleName == nil {
22670		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
22671	}
22672	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
22673		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
22674	}
22675	if s.Message != nil && len(*s.Message) < 1 {
22676		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
22677	}
22678	if s.ResourceKeys == nil {
22679		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
22680	}
22681	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
22682		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
22683	}
22684	if s.ResourceKeys != nil {
22685		for i, v := range s.ResourceKeys {
22686			if v == nil {
22687				continue
22688			}
22689			if err := v.Validate(); err != nil {
22690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
22691			}
22692		}
22693	}
22694
22695	if invalidParams.Len() > 0 {
22696		return invalidParams
22697	}
22698	return nil
22699}
22700
22701// SetConfigRuleName sets the ConfigRuleName field's value.
22702func (s *PutRemediationExceptionsInput) SetConfigRuleName(v string) *PutRemediationExceptionsInput {
22703	s.ConfigRuleName = &v
22704	return s
22705}
22706
22707// SetExpirationTime sets the ExpirationTime field's value.
22708func (s *PutRemediationExceptionsInput) SetExpirationTime(v time.Time) *PutRemediationExceptionsInput {
22709	s.ExpirationTime = &v
22710	return s
22711}
22712
22713// SetMessage sets the Message field's value.
22714func (s *PutRemediationExceptionsInput) SetMessage(v string) *PutRemediationExceptionsInput {
22715	s.Message = &v
22716	return s
22717}
22718
22719// SetResourceKeys sets the ResourceKeys field's value.
22720func (s *PutRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *PutRemediationExceptionsInput {
22721	s.ResourceKeys = v
22722	return s
22723}
22724
22725type PutRemediationExceptionsOutput struct {
22726	_ struct{} `type:"structure"`
22727
22728	// Returns a list of failed remediation exceptions batch objects. Each object
22729	// in the batch consists of a list of failed items and failure messages.
22730	FailedBatches []*FailedRemediationExceptionBatch `type:"list"`
22731}
22732
22733// String returns the string representation
22734func (s PutRemediationExceptionsOutput) String() string {
22735	return awsutil.Prettify(s)
22736}
22737
22738// GoString returns the string representation
22739func (s PutRemediationExceptionsOutput) GoString() string {
22740	return s.String()
22741}
22742
22743// SetFailedBatches sets the FailedBatches field's value.
22744func (s *PutRemediationExceptionsOutput) SetFailedBatches(v []*FailedRemediationExceptionBatch) *PutRemediationExceptionsOutput {
22745	s.FailedBatches = v
22746	return s
22747}
22748
22749type PutResourceConfigInput struct {
22750	_ struct{} `type:"structure"`
22751
22752	// The configuration object of the resource in valid JSON format. It must match
22753	// the schema registered with AWS CloudFormation.
22754	//
22755	// The configuration JSON must not exceed 64 KB.
22756	//
22757	// Configuration is a required field
22758	Configuration *string `type:"string" required:"true"`
22759
22760	// Unique identifier of the resource.
22761	//
22762	// ResourceId is a required field
22763	ResourceId *string `min:"1" type:"string" required:"true"`
22764
22765	// Name of the resource.
22766	ResourceName *string `type:"string"`
22767
22768	// The type of the resource. The custom resource type must be registered with
22769	// AWS CloudFormation.
22770	//
22771	// You cannot use the organization names “aws”, “amzn”, “amazon”,
22772	// “alexa”, “custom” with custom resource types. It is the first part
22773	// of the ResourceType up to the first ::.
22774	//
22775	// ResourceType is a required field
22776	ResourceType *string `min:"1" type:"string" required:"true"`
22777
22778	// Version of the schema registered for the ResourceType in AWS CloudFormation.
22779	//
22780	// SchemaVersionId is a required field
22781	SchemaVersionId *string `min:"1" type:"string" required:"true"`
22782
22783	// Tags associated with the resource.
22784	Tags map[string]*string `type:"map"`
22785}
22786
22787// String returns the string representation
22788func (s PutResourceConfigInput) String() string {
22789	return awsutil.Prettify(s)
22790}
22791
22792// GoString returns the string representation
22793func (s PutResourceConfigInput) GoString() string {
22794	return s.String()
22795}
22796
22797// Validate inspects the fields of the type to determine if they are valid.
22798func (s *PutResourceConfigInput) Validate() error {
22799	invalidParams := request.ErrInvalidParams{Context: "PutResourceConfigInput"}
22800	if s.Configuration == nil {
22801		invalidParams.Add(request.NewErrParamRequired("Configuration"))
22802	}
22803	if s.ResourceId == nil {
22804		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
22805	}
22806	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
22807		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
22808	}
22809	if s.ResourceType == nil {
22810		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
22811	}
22812	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
22813		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
22814	}
22815	if s.SchemaVersionId == nil {
22816		invalidParams.Add(request.NewErrParamRequired("SchemaVersionId"))
22817	}
22818	if s.SchemaVersionId != nil && len(*s.SchemaVersionId) < 1 {
22819		invalidParams.Add(request.NewErrParamMinLen("SchemaVersionId", 1))
22820	}
22821
22822	if invalidParams.Len() > 0 {
22823		return invalidParams
22824	}
22825	return nil
22826}
22827
22828// SetConfiguration sets the Configuration field's value.
22829func (s *PutResourceConfigInput) SetConfiguration(v string) *PutResourceConfigInput {
22830	s.Configuration = &v
22831	return s
22832}
22833
22834// SetResourceId sets the ResourceId field's value.
22835func (s *PutResourceConfigInput) SetResourceId(v string) *PutResourceConfigInput {
22836	s.ResourceId = &v
22837	return s
22838}
22839
22840// SetResourceName sets the ResourceName field's value.
22841func (s *PutResourceConfigInput) SetResourceName(v string) *PutResourceConfigInput {
22842	s.ResourceName = &v
22843	return s
22844}
22845
22846// SetResourceType sets the ResourceType field's value.
22847func (s *PutResourceConfigInput) SetResourceType(v string) *PutResourceConfigInput {
22848	s.ResourceType = &v
22849	return s
22850}
22851
22852// SetSchemaVersionId sets the SchemaVersionId field's value.
22853func (s *PutResourceConfigInput) SetSchemaVersionId(v string) *PutResourceConfigInput {
22854	s.SchemaVersionId = &v
22855	return s
22856}
22857
22858// SetTags sets the Tags field's value.
22859func (s *PutResourceConfigInput) SetTags(v map[string]*string) *PutResourceConfigInput {
22860	s.Tags = v
22861	return s
22862}
22863
22864type PutResourceConfigOutput struct {
22865	_ struct{} `type:"structure"`
22866}
22867
22868// String returns the string representation
22869func (s PutResourceConfigOutput) String() string {
22870	return awsutil.Prettify(s)
22871}
22872
22873// GoString returns the string representation
22874func (s PutResourceConfigOutput) GoString() string {
22875	return s.String()
22876}
22877
22878type PutRetentionConfigurationInput struct {
22879	_ struct{} `type:"structure"`
22880
22881	// Number of days AWS Config stores your historical information.
22882	//
22883	// Currently, only applicable to the configuration item history.
22884	//
22885	// RetentionPeriodInDays is a required field
22886	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
22887}
22888
22889// String returns the string representation
22890func (s PutRetentionConfigurationInput) String() string {
22891	return awsutil.Prettify(s)
22892}
22893
22894// GoString returns the string representation
22895func (s PutRetentionConfigurationInput) GoString() string {
22896	return s.String()
22897}
22898
22899// Validate inspects the fields of the type to determine if they are valid.
22900func (s *PutRetentionConfigurationInput) Validate() error {
22901	invalidParams := request.ErrInvalidParams{Context: "PutRetentionConfigurationInput"}
22902	if s.RetentionPeriodInDays == nil {
22903		invalidParams.Add(request.NewErrParamRequired("RetentionPeriodInDays"))
22904	}
22905	if s.RetentionPeriodInDays != nil && *s.RetentionPeriodInDays < 30 {
22906		invalidParams.Add(request.NewErrParamMinValue("RetentionPeriodInDays", 30))
22907	}
22908
22909	if invalidParams.Len() > 0 {
22910		return invalidParams
22911	}
22912	return nil
22913}
22914
22915// SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
22916func (s *PutRetentionConfigurationInput) SetRetentionPeriodInDays(v int64) *PutRetentionConfigurationInput {
22917	s.RetentionPeriodInDays = &v
22918	return s
22919}
22920
22921type PutRetentionConfigurationOutput struct {
22922	_ struct{} `type:"structure"`
22923
22924	// Returns a retention configuration object.
22925	RetentionConfiguration *RetentionConfiguration `type:"structure"`
22926}
22927
22928// String returns the string representation
22929func (s PutRetentionConfigurationOutput) String() string {
22930	return awsutil.Prettify(s)
22931}
22932
22933// GoString returns the string representation
22934func (s PutRetentionConfigurationOutput) GoString() string {
22935	return s.String()
22936}
22937
22938// SetRetentionConfiguration sets the RetentionConfiguration field's value.
22939func (s *PutRetentionConfigurationOutput) SetRetentionConfiguration(v *RetentionConfiguration) *PutRetentionConfigurationOutput {
22940	s.RetentionConfiguration = v
22941	return s
22942}
22943
22944type PutStoredQueryInput struct {
22945	_ struct{} `type:"structure"`
22946
22947	// A list of StoredQuery objects. The mandatory fields are QueryName and Expression.
22948	//
22949	// When you are creating a query, you must provide a query name and an expression.
22950	// When you are updating a query, you must provide a query name but updating
22951	// the description is optional.
22952	//
22953	// StoredQuery is a required field
22954	StoredQuery *StoredQuery `type:"structure" required:"true"`
22955
22956	// A list of Tags object.
22957	Tags []*Tag `type:"list"`
22958}
22959
22960// String returns the string representation
22961func (s PutStoredQueryInput) String() string {
22962	return awsutil.Prettify(s)
22963}
22964
22965// GoString returns the string representation
22966func (s PutStoredQueryInput) GoString() string {
22967	return s.String()
22968}
22969
22970// Validate inspects the fields of the type to determine if they are valid.
22971func (s *PutStoredQueryInput) Validate() error {
22972	invalidParams := request.ErrInvalidParams{Context: "PutStoredQueryInput"}
22973	if s.StoredQuery == nil {
22974		invalidParams.Add(request.NewErrParamRequired("StoredQuery"))
22975	}
22976	if s.StoredQuery != nil {
22977		if err := s.StoredQuery.Validate(); err != nil {
22978			invalidParams.AddNested("StoredQuery", err.(request.ErrInvalidParams))
22979		}
22980	}
22981	if s.Tags != nil {
22982		for i, v := range s.Tags {
22983			if v == nil {
22984				continue
22985			}
22986			if err := v.Validate(); err != nil {
22987				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
22988			}
22989		}
22990	}
22991
22992	if invalidParams.Len() > 0 {
22993		return invalidParams
22994	}
22995	return nil
22996}
22997
22998// SetStoredQuery sets the StoredQuery field's value.
22999func (s *PutStoredQueryInput) SetStoredQuery(v *StoredQuery) *PutStoredQueryInput {
23000	s.StoredQuery = v
23001	return s
23002}
23003
23004// SetTags sets the Tags field's value.
23005func (s *PutStoredQueryInput) SetTags(v []*Tag) *PutStoredQueryInput {
23006	s.Tags = v
23007	return s
23008}
23009
23010type PutStoredQueryOutput struct {
23011	_ struct{} `type:"structure"`
23012
23013	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
23014	QueryArn *string `min:"1" type:"string"`
23015}
23016
23017// String returns the string representation
23018func (s PutStoredQueryOutput) String() string {
23019	return awsutil.Prettify(s)
23020}
23021
23022// GoString returns the string representation
23023func (s PutStoredQueryOutput) GoString() string {
23024	return s.String()
23025}
23026
23027// SetQueryArn sets the QueryArn field's value.
23028func (s *PutStoredQueryOutput) SetQueryArn(v string) *PutStoredQueryOutput {
23029	s.QueryArn = &v
23030	return s
23031}
23032
23033// Details about the query.
23034type QueryInfo struct {
23035	_ struct{} `type:"structure"`
23036
23037	// Returns a FieldInfo object.
23038	SelectFields []*FieldInfo `type:"list"`
23039}
23040
23041// String returns the string representation
23042func (s QueryInfo) String() string {
23043	return awsutil.Prettify(s)
23044}
23045
23046// GoString returns the string representation
23047func (s QueryInfo) GoString() string {
23048	return s.String()
23049}
23050
23051// SetSelectFields sets the SelectFields field's value.
23052func (s *QueryInfo) SetSelectFields(v []*FieldInfo) *QueryInfo {
23053	s.SelectFields = v
23054	return s
23055}
23056
23057// Specifies the types of AWS resource for which AWS Config records configuration
23058// changes.
23059//
23060// In the recording group, you specify whether all supported types or specific
23061// types of resources are recorded.
23062//
23063// By default, AWS Config records configuration changes for all supported types
23064// of regional resources that AWS Config discovers in the region in which it
23065// is running. Regional resources are tied to a region and can be used only
23066// in that region. Examples of regional resources are EC2 instances and EBS
23067// volumes.
23068//
23069// You can also have AWS Config record configuration changes for supported types
23070// of global resources (for example, IAM resources). Global resources are not
23071// tied to an individual region and can be used in all regions.
23072//
23073// The configuration details for any global resource are the same in all regions.
23074// If you customize AWS Config in multiple regions to record global resources,
23075// it will create multiple configuration items each time a global resource changes:
23076// one configuration item for each region. These configuration items will contain
23077// identical data. To prevent duplicate configuration items, you should consider
23078// customizing AWS Config in only one region to record global resources, unless
23079// you want the configuration items to be available in multiple regions.
23080//
23081// If you don't want AWS Config to record all resources, you can specify which
23082// types of resources it will record with the resourceTypes parameter.
23083//
23084// 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).
23085//
23086// For more information, see Selecting Which Resources AWS Config Records (https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
23087type RecordingGroup struct {
23088	_ struct{} `type:"structure"`
23089
23090	// Specifies whether AWS Config records configuration changes for every supported
23091	// type of regional resource.
23092	//
23093	// If you set this option to true, when AWS Config adds support for a new type
23094	// of regional resource, it starts recording resources of that type automatically.
23095	//
23096	// If you set this option to true, you cannot enumerate a list of resourceTypes.
23097	AllSupported *bool `locationName:"allSupported" type:"boolean"`
23098
23099	// Specifies whether AWS Config includes all supported types of global resources
23100	// (for example, IAM resources) with the resources that it records.
23101	//
23102	// Before you can set this option to true, you must set the allSupported option
23103	// to true.
23104	//
23105	// If you set this option to true, when AWS Config adds support for a new type
23106	// of global resource, it starts recording resources of that type automatically.
23107	//
23108	// The configuration details for any global resource are the same in all regions.
23109	// To prevent duplicate configuration items, you should consider customizing
23110	// AWS Config in only one region to record global resources.
23111	IncludeGlobalResourceTypes *bool `locationName:"includeGlobalResourceTypes" type:"boolean"`
23112
23113	// A comma-separated list that specifies the types of AWS resources for which
23114	// AWS Config records configuration changes (for example, AWS::EC2::Instance
23115	// or AWS::CloudTrail::Trail).
23116	//
23117	// To record all configuration changes, you must set the allSupported option
23118	// to true.
23119	//
23120	// If you set this option to false, when AWS Config adds support for a new type
23121	// of resource, it will not record resources of that type unless you manually
23122	// add that type to your recording group.
23123	//
23124	// For a list of valid resourceTypes values, see the resourceType Value column
23125	// in Supported AWS Resource Types (https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
23126	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
23127}
23128
23129// String returns the string representation
23130func (s RecordingGroup) String() string {
23131	return awsutil.Prettify(s)
23132}
23133
23134// GoString returns the string representation
23135func (s RecordingGroup) GoString() string {
23136	return s.String()
23137}
23138
23139// SetAllSupported sets the AllSupported field's value.
23140func (s *RecordingGroup) SetAllSupported(v bool) *RecordingGroup {
23141	s.AllSupported = &v
23142	return s
23143}
23144
23145// SetIncludeGlobalResourceTypes sets the IncludeGlobalResourceTypes field's value.
23146func (s *RecordingGroup) SetIncludeGlobalResourceTypes(v bool) *RecordingGroup {
23147	s.IncludeGlobalResourceTypes = &v
23148	return s
23149}
23150
23151// SetResourceTypes sets the ResourceTypes field's value.
23152func (s *RecordingGroup) SetResourceTypes(v []*string) *RecordingGroup {
23153	s.ResourceTypes = v
23154	return s
23155}
23156
23157// The relationship of the related resource to the main resource.
23158type Relationship struct {
23159	_ struct{} `type:"structure"`
23160
23161	// The type of relationship with the related resource.
23162	RelationshipName *string `locationName:"relationshipName" type:"string"`
23163
23164	// The ID of the related resource (for example, sg-xxxxxx).
23165	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
23166
23167	// The custom name of the related resource, if available.
23168	ResourceName *string `locationName:"resourceName" type:"string"`
23169
23170	// The resource type of the related resource.
23171	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23172}
23173
23174// String returns the string representation
23175func (s Relationship) String() string {
23176	return awsutil.Prettify(s)
23177}
23178
23179// GoString returns the string representation
23180func (s Relationship) GoString() string {
23181	return s.String()
23182}
23183
23184// SetRelationshipName sets the RelationshipName field's value.
23185func (s *Relationship) SetRelationshipName(v string) *Relationship {
23186	s.RelationshipName = &v
23187	return s
23188}
23189
23190// SetResourceId sets the ResourceId field's value.
23191func (s *Relationship) SetResourceId(v string) *Relationship {
23192	s.ResourceId = &v
23193	return s
23194}
23195
23196// SetResourceName sets the ResourceName field's value.
23197func (s *Relationship) SetResourceName(v string) *Relationship {
23198	s.ResourceName = &v
23199	return s
23200}
23201
23202// SetResourceType sets the ResourceType field's value.
23203func (s *Relationship) SetResourceType(v string) *Relationship {
23204	s.ResourceType = &v
23205	return s
23206}
23207
23208// An object that represents the details about the remediation configuration
23209// that includes the remediation action, parameters, and data to execute the
23210// action.
23211type RemediationConfiguration struct {
23212	_ struct{} `type:"structure"`
23213
23214	// Amazon Resource Name (ARN) of remediation configuration.
23215	Arn *string `min:"1" type:"string"`
23216
23217	// The remediation is triggered automatically.
23218	Automatic *bool `type:"boolean"`
23219
23220	// The name of the AWS Config rule.
23221	//
23222	// ConfigRuleName is a required field
23223	ConfigRuleName *string `min:"1" type:"string" required:"true"`
23224
23225	// Name of the service that owns the service linked rule, if applicable.
23226	CreatedByService *string `min:"1" type:"string"`
23227
23228	// An ExecutionControls object.
23229	ExecutionControls *ExecutionControls `type:"structure"`
23230
23231	// The maximum number of failed attempts for auto-remediation. If you do not
23232	// select a number, the default is 5.
23233	//
23234	// For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds
23235	// as 50 seconds, AWS Config will put a RemediationException on your behalf
23236	// for the failing resource after the 5th failed attempt within 50 seconds.
23237	MaximumAutomaticAttempts *int64 `min:"1" type:"integer"`
23238
23239	// An object of the RemediationParameterValue.
23240	Parameters map[string]*RemediationParameterValue `type:"map"`
23241
23242	// The type of a resource.
23243	ResourceType *string `type:"string"`
23244
23245	// Maximum time in seconds that AWS Config runs auto-remediation. If you do
23246	// not select a number, the default is 60 seconds.
23247	//
23248	// For example, if you specify RetryAttemptSeconds as 50 seconds and MaximumAutomaticAttempts
23249	// as 5, AWS Config will run auto-remediations 5 times within 50 seconds before
23250	// throwing an exception.
23251	RetryAttemptSeconds *int64 `min:"1" type:"long"`
23252
23253	// Target ID is the name of the public document.
23254	//
23255	// TargetId is a required field
23256	TargetId *string `min:"1" type:"string" required:"true"`
23257
23258	// The type of the target. Target executes remediation. For example, SSM document.
23259	//
23260	// TargetType is a required field
23261	TargetType *string `type:"string" required:"true" enum:"RemediationTargetType"`
23262
23263	// Version of the target. For example, version of the SSM document.
23264	//
23265	// If you make backward incompatible changes to the SSM document, you must call
23266	// PutRemediationConfiguration API again to ensure the remediations can run.
23267	TargetVersion *string `type:"string"`
23268}
23269
23270// String returns the string representation
23271func (s RemediationConfiguration) String() string {
23272	return awsutil.Prettify(s)
23273}
23274
23275// GoString returns the string representation
23276func (s RemediationConfiguration) GoString() string {
23277	return s.String()
23278}
23279
23280// Validate inspects the fields of the type to determine if they are valid.
23281func (s *RemediationConfiguration) Validate() error {
23282	invalidParams := request.ErrInvalidParams{Context: "RemediationConfiguration"}
23283	if s.Arn != nil && len(*s.Arn) < 1 {
23284		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
23285	}
23286	if s.ConfigRuleName == nil {
23287		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
23288	}
23289	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
23290		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
23291	}
23292	if s.CreatedByService != nil && len(*s.CreatedByService) < 1 {
23293		invalidParams.Add(request.NewErrParamMinLen("CreatedByService", 1))
23294	}
23295	if s.MaximumAutomaticAttempts != nil && *s.MaximumAutomaticAttempts < 1 {
23296		invalidParams.Add(request.NewErrParamMinValue("MaximumAutomaticAttempts", 1))
23297	}
23298	if s.RetryAttemptSeconds != nil && *s.RetryAttemptSeconds < 1 {
23299		invalidParams.Add(request.NewErrParamMinValue("RetryAttemptSeconds", 1))
23300	}
23301	if s.TargetId == nil {
23302		invalidParams.Add(request.NewErrParamRequired("TargetId"))
23303	}
23304	if s.TargetId != nil && len(*s.TargetId) < 1 {
23305		invalidParams.Add(request.NewErrParamMinLen("TargetId", 1))
23306	}
23307	if s.TargetType == nil {
23308		invalidParams.Add(request.NewErrParamRequired("TargetType"))
23309	}
23310	if s.ExecutionControls != nil {
23311		if err := s.ExecutionControls.Validate(); err != nil {
23312			invalidParams.AddNested("ExecutionControls", err.(request.ErrInvalidParams))
23313		}
23314	}
23315	if s.Parameters != nil {
23316		for i, v := range s.Parameters {
23317			if v == nil {
23318				continue
23319			}
23320			if err := v.Validate(); err != nil {
23321				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
23322			}
23323		}
23324	}
23325
23326	if invalidParams.Len() > 0 {
23327		return invalidParams
23328	}
23329	return nil
23330}
23331
23332// SetArn sets the Arn field's value.
23333func (s *RemediationConfiguration) SetArn(v string) *RemediationConfiguration {
23334	s.Arn = &v
23335	return s
23336}
23337
23338// SetAutomatic sets the Automatic field's value.
23339func (s *RemediationConfiguration) SetAutomatic(v bool) *RemediationConfiguration {
23340	s.Automatic = &v
23341	return s
23342}
23343
23344// SetConfigRuleName sets the ConfigRuleName field's value.
23345func (s *RemediationConfiguration) SetConfigRuleName(v string) *RemediationConfiguration {
23346	s.ConfigRuleName = &v
23347	return s
23348}
23349
23350// SetCreatedByService sets the CreatedByService field's value.
23351func (s *RemediationConfiguration) SetCreatedByService(v string) *RemediationConfiguration {
23352	s.CreatedByService = &v
23353	return s
23354}
23355
23356// SetExecutionControls sets the ExecutionControls field's value.
23357func (s *RemediationConfiguration) SetExecutionControls(v *ExecutionControls) *RemediationConfiguration {
23358	s.ExecutionControls = v
23359	return s
23360}
23361
23362// SetMaximumAutomaticAttempts sets the MaximumAutomaticAttempts field's value.
23363func (s *RemediationConfiguration) SetMaximumAutomaticAttempts(v int64) *RemediationConfiguration {
23364	s.MaximumAutomaticAttempts = &v
23365	return s
23366}
23367
23368// SetParameters sets the Parameters field's value.
23369func (s *RemediationConfiguration) SetParameters(v map[string]*RemediationParameterValue) *RemediationConfiguration {
23370	s.Parameters = v
23371	return s
23372}
23373
23374// SetResourceType sets the ResourceType field's value.
23375func (s *RemediationConfiguration) SetResourceType(v string) *RemediationConfiguration {
23376	s.ResourceType = &v
23377	return s
23378}
23379
23380// SetRetryAttemptSeconds sets the RetryAttemptSeconds field's value.
23381func (s *RemediationConfiguration) SetRetryAttemptSeconds(v int64) *RemediationConfiguration {
23382	s.RetryAttemptSeconds = &v
23383	return s
23384}
23385
23386// SetTargetId sets the TargetId field's value.
23387func (s *RemediationConfiguration) SetTargetId(v string) *RemediationConfiguration {
23388	s.TargetId = &v
23389	return s
23390}
23391
23392// SetTargetType sets the TargetType field's value.
23393func (s *RemediationConfiguration) SetTargetType(v string) *RemediationConfiguration {
23394	s.TargetType = &v
23395	return s
23396}
23397
23398// SetTargetVersion sets the TargetVersion field's value.
23399func (s *RemediationConfiguration) SetTargetVersion(v string) *RemediationConfiguration {
23400	s.TargetVersion = &v
23401	return s
23402}
23403
23404// An object that represents the details about the remediation exception. The
23405// details include the rule name, an explanation of an exception, the time when
23406// the exception will be deleted, the resource ID, and resource type.
23407type RemediationException struct {
23408	_ struct{} `type:"structure"`
23409
23410	// The name of the AWS Config rule.
23411	//
23412	// ConfigRuleName is a required field
23413	ConfigRuleName *string `min:"1" type:"string" required:"true"`
23414
23415	// The time when the remediation exception will be deleted.
23416	ExpirationTime *time.Time `type:"timestamp"`
23417
23418	// An explanation of an remediation exception.
23419	Message *string `min:"1" type:"string"`
23420
23421	// The ID of the resource (for example., sg-xxxxxx).
23422	//
23423	// ResourceId is a required field
23424	ResourceId *string `min:"1" type:"string" required:"true"`
23425
23426	// The type of a resource.
23427	//
23428	// ResourceType is a required field
23429	ResourceType *string `min:"1" type:"string" required:"true"`
23430}
23431
23432// String returns the string representation
23433func (s RemediationException) String() string {
23434	return awsutil.Prettify(s)
23435}
23436
23437// GoString returns the string representation
23438func (s RemediationException) GoString() string {
23439	return s.String()
23440}
23441
23442// SetConfigRuleName sets the ConfigRuleName field's value.
23443func (s *RemediationException) SetConfigRuleName(v string) *RemediationException {
23444	s.ConfigRuleName = &v
23445	return s
23446}
23447
23448// SetExpirationTime sets the ExpirationTime field's value.
23449func (s *RemediationException) SetExpirationTime(v time.Time) *RemediationException {
23450	s.ExpirationTime = &v
23451	return s
23452}
23453
23454// SetMessage sets the Message field's value.
23455func (s *RemediationException) SetMessage(v string) *RemediationException {
23456	s.Message = &v
23457	return s
23458}
23459
23460// SetResourceId sets the ResourceId field's value.
23461func (s *RemediationException) SetResourceId(v string) *RemediationException {
23462	s.ResourceId = &v
23463	return s
23464}
23465
23466// SetResourceType sets the ResourceType field's value.
23467func (s *RemediationException) SetResourceType(v string) *RemediationException {
23468	s.ResourceType = &v
23469	return s
23470}
23471
23472// The details that identify a resource within AWS Config, including the resource
23473// type and resource ID.
23474type RemediationExceptionResourceKey struct {
23475	_ struct{} `type:"structure"`
23476
23477	// The ID of the resource (for example., sg-xxxxxx).
23478	ResourceId *string `min:"1" type:"string"`
23479
23480	// The type of a resource.
23481	ResourceType *string `min:"1" type:"string"`
23482}
23483
23484// String returns the string representation
23485func (s RemediationExceptionResourceKey) String() string {
23486	return awsutil.Prettify(s)
23487}
23488
23489// GoString returns the string representation
23490func (s RemediationExceptionResourceKey) GoString() string {
23491	return s.String()
23492}
23493
23494// Validate inspects the fields of the type to determine if they are valid.
23495func (s *RemediationExceptionResourceKey) Validate() error {
23496	invalidParams := request.ErrInvalidParams{Context: "RemediationExceptionResourceKey"}
23497	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
23498		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
23499	}
23500	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
23501		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
23502	}
23503
23504	if invalidParams.Len() > 0 {
23505		return invalidParams
23506	}
23507	return nil
23508}
23509
23510// SetResourceId sets the ResourceId field's value.
23511func (s *RemediationExceptionResourceKey) SetResourceId(v string) *RemediationExceptionResourceKey {
23512	s.ResourceId = &v
23513	return s
23514}
23515
23516// SetResourceType sets the ResourceType field's value.
23517func (s *RemediationExceptionResourceKey) SetResourceType(v string) *RemediationExceptionResourceKey {
23518	s.ResourceType = &v
23519	return s
23520}
23521
23522// Provides details of the current status of the invoked remediation action
23523// for that resource.
23524type RemediationExecutionStatus struct {
23525	_ struct{} `type:"structure"`
23526
23527	// Start time when the remediation was executed.
23528	InvocationTime *time.Time `type:"timestamp"`
23529
23530	// The time when the remediation execution was last updated.
23531	LastUpdatedTime *time.Time `type:"timestamp"`
23532
23533	// The details that identify a resource within AWS Config, including the resource
23534	// type and resource ID.
23535	ResourceKey *ResourceKey `type:"structure"`
23536
23537	// ENUM of the values.
23538	State *string `type:"string" enum:"RemediationExecutionState"`
23539
23540	// Details of every step.
23541	StepDetails []*RemediationExecutionStep `type:"list"`
23542}
23543
23544// String returns the string representation
23545func (s RemediationExecutionStatus) String() string {
23546	return awsutil.Prettify(s)
23547}
23548
23549// GoString returns the string representation
23550func (s RemediationExecutionStatus) GoString() string {
23551	return s.String()
23552}
23553
23554// SetInvocationTime sets the InvocationTime field's value.
23555func (s *RemediationExecutionStatus) SetInvocationTime(v time.Time) *RemediationExecutionStatus {
23556	s.InvocationTime = &v
23557	return s
23558}
23559
23560// SetLastUpdatedTime sets the LastUpdatedTime field's value.
23561func (s *RemediationExecutionStatus) SetLastUpdatedTime(v time.Time) *RemediationExecutionStatus {
23562	s.LastUpdatedTime = &v
23563	return s
23564}
23565
23566// SetResourceKey sets the ResourceKey field's value.
23567func (s *RemediationExecutionStatus) SetResourceKey(v *ResourceKey) *RemediationExecutionStatus {
23568	s.ResourceKey = v
23569	return s
23570}
23571
23572// SetState sets the State field's value.
23573func (s *RemediationExecutionStatus) SetState(v string) *RemediationExecutionStatus {
23574	s.State = &v
23575	return s
23576}
23577
23578// SetStepDetails sets the StepDetails field's value.
23579func (s *RemediationExecutionStatus) SetStepDetails(v []*RemediationExecutionStep) *RemediationExecutionStatus {
23580	s.StepDetails = v
23581	return s
23582}
23583
23584// Name of the step from the SSM document.
23585type RemediationExecutionStep struct {
23586	_ struct{} `type:"structure"`
23587
23588	// An error message if the step was interrupted during execution.
23589	ErrorMessage *string `type:"string"`
23590
23591	// The details of the step.
23592	Name *string `type:"string"`
23593
23594	// The time when the step started.
23595	StartTime *time.Time `type:"timestamp"`
23596
23597	// The valid status of the step.
23598	State *string `type:"string" enum:"RemediationExecutionStepState"`
23599
23600	// The time when the step stopped.
23601	StopTime *time.Time `type:"timestamp"`
23602}
23603
23604// String returns the string representation
23605func (s RemediationExecutionStep) String() string {
23606	return awsutil.Prettify(s)
23607}
23608
23609// GoString returns the string representation
23610func (s RemediationExecutionStep) GoString() string {
23611	return s.String()
23612}
23613
23614// SetErrorMessage sets the ErrorMessage field's value.
23615func (s *RemediationExecutionStep) SetErrorMessage(v string) *RemediationExecutionStep {
23616	s.ErrorMessage = &v
23617	return s
23618}
23619
23620// SetName sets the Name field's value.
23621func (s *RemediationExecutionStep) SetName(v string) *RemediationExecutionStep {
23622	s.Name = &v
23623	return s
23624}
23625
23626// SetStartTime sets the StartTime field's value.
23627func (s *RemediationExecutionStep) SetStartTime(v time.Time) *RemediationExecutionStep {
23628	s.StartTime = &v
23629	return s
23630}
23631
23632// SetState sets the State field's value.
23633func (s *RemediationExecutionStep) SetState(v string) *RemediationExecutionStep {
23634	s.State = &v
23635	return s
23636}
23637
23638// SetStopTime sets the StopTime field's value.
23639func (s *RemediationExecutionStep) SetStopTime(v time.Time) *RemediationExecutionStep {
23640	s.StopTime = &v
23641	return s
23642}
23643
23644// Remediation action is in progress. You can either cancel execution in AWS
23645// Systems Manager or wait and try again later.
23646type RemediationInProgressException struct {
23647	_            struct{}                  `type:"structure"`
23648	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23649
23650	Message_ *string `locationName:"message" type:"string"`
23651}
23652
23653// String returns the string representation
23654func (s RemediationInProgressException) String() string {
23655	return awsutil.Prettify(s)
23656}
23657
23658// GoString returns the string representation
23659func (s RemediationInProgressException) GoString() string {
23660	return s.String()
23661}
23662
23663func newErrorRemediationInProgressException(v protocol.ResponseMetadata) error {
23664	return &RemediationInProgressException{
23665		RespMetadata: v,
23666	}
23667}
23668
23669// Code returns the exception type name.
23670func (s *RemediationInProgressException) Code() string {
23671	return "RemediationInProgressException"
23672}
23673
23674// Message returns the exception's message.
23675func (s *RemediationInProgressException) Message() string {
23676	if s.Message_ != nil {
23677		return *s.Message_
23678	}
23679	return ""
23680}
23681
23682// OrigErr always returns nil, satisfies awserr.Error interface.
23683func (s *RemediationInProgressException) OrigErr() error {
23684	return nil
23685}
23686
23687func (s *RemediationInProgressException) Error() string {
23688	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23689}
23690
23691// Status code returns the HTTP status code for the request's response error.
23692func (s *RemediationInProgressException) StatusCode() int {
23693	return s.RespMetadata.StatusCode
23694}
23695
23696// RequestID returns the service's response RequestID for request.
23697func (s *RemediationInProgressException) RequestID() string {
23698	return s.RespMetadata.RequestID
23699}
23700
23701// The value is either a dynamic (resource) value or a static value. You must
23702// select either a dynamic value or a static value.
23703type RemediationParameterValue struct {
23704	_ struct{} `type:"structure"`
23705
23706	// The value is dynamic and changes at run-time.
23707	ResourceValue *ResourceValue `type:"structure"`
23708
23709	// The value is static and does not change at run-time.
23710	StaticValue *StaticValue `type:"structure"`
23711}
23712
23713// String returns the string representation
23714func (s RemediationParameterValue) String() string {
23715	return awsutil.Prettify(s)
23716}
23717
23718// GoString returns the string representation
23719func (s RemediationParameterValue) GoString() string {
23720	return s.String()
23721}
23722
23723// Validate inspects the fields of the type to determine if they are valid.
23724func (s *RemediationParameterValue) Validate() error {
23725	invalidParams := request.ErrInvalidParams{Context: "RemediationParameterValue"}
23726	if s.ResourceValue != nil {
23727		if err := s.ResourceValue.Validate(); err != nil {
23728			invalidParams.AddNested("ResourceValue", err.(request.ErrInvalidParams))
23729		}
23730	}
23731	if s.StaticValue != nil {
23732		if err := s.StaticValue.Validate(); err != nil {
23733			invalidParams.AddNested("StaticValue", err.(request.ErrInvalidParams))
23734		}
23735	}
23736
23737	if invalidParams.Len() > 0 {
23738		return invalidParams
23739	}
23740	return nil
23741}
23742
23743// SetResourceValue sets the ResourceValue field's value.
23744func (s *RemediationParameterValue) SetResourceValue(v *ResourceValue) *RemediationParameterValue {
23745	s.ResourceValue = v
23746	return s
23747}
23748
23749// SetStaticValue sets the StaticValue field's value.
23750func (s *RemediationParameterValue) SetStaticValue(v *StaticValue) *RemediationParameterValue {
23751	s.StaticValue = v
23752	return s
23753}
23754
23755// Two users are trying to modify the same query at the same time. Wait for
23756// a moment and try again.
23757type ResourceConcurrentModificationException struct {
23758	_            struct{}                  `type:"structure"`
23759	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23760
23761	Message_ *string `locationName:"message" type:"string"`
23762}
23763
23764// String returns the string representation
23765func (s ResourceConcurrentModificationException) String() string {
23766	return awsutil.Prettify(s)
23767}
23768
23769// GoString returns the string representation
23770func (s ResourceConcurrentModificationException) GoString() string {
23771	return s.String()
23772}
23773
23774func newErrorResourceConcurrentModificationException(v protocol.ResponseMetadata) error {
23775	return &ResourceConcurrentModificationException{
23776		RespMetadata: v,
23777	}
23778}
23779
23780// Code returns the exception type name.
23781func (s *ResourceConcurrentModificationException) Code() string {
23782	return "ResourceConcurrentModificationException"
23783}
23784
23785// Message returns the exception's message.
23786func (s *ResourceConcurrentModificationException) Message() string {
23787	if s.Message_ != nil {
23788		return *s.Message_
23789	}
23790	return ""
23791}
23792
23793// OrigErr always returns nil, satisfies awserr.Error interface.
23794func (s *ResourceConcurrentModificationException) OrigErr() error {
23795	return nil
23796}
23797
23798func (s *ResourceConcurrentModificationException) Error() string {
23799	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23800}
23801
23802// Status code returns the HTTP status code for the request's response error.
23803func (s *ResourceConcurrentModificationException) StatusCode() int {
23804	return s.RespMetadata.StatusCode
23805}
23806
23807// RequestID returns the service's response RequestID for request.
23808func (s *ResourceConcurrentModificationException) RequestID() string {
23809	return s.RespMetadata.RequestID
23810}
23811
23812// An object that contains the resource type and the number of resources.
23813type ResourceCount struct {
23814	_ struct{} `type:"structure"`
23815
23816	// The number of resources.
23817	Count *int64 `locationName:"count" type:"long"`
23818
23819	// The resource type (for example, "AWS::EC2::Instance").
23820	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23821}
23822
23823// String returns the string representation
23824func (s ResourceCount) String() string {
23825	return awsutil.Prettify(s)
23826}
23827
23828// GoString returns the string representation
23829func (s ResourceCount) GoString() string {
23830	return s.String()
23831}
23832
23833// SetCount sets the Count field's value.
23834func (s *ResourceCount) SetCount(v int64) *ResourceCount {
23835	s.Count = &v
23836	return s
23837}
23838
23839// SetResourceType sets the ResourceType field's value.
23840func (s *ResourceCount) SetResourceType(v string) *ResourceCount {
23841	s.ResourceType = &v
23842	return s
23843}
23844
23845// Filters the resource count based on account ID, region, and resource type.
23846type ResourceCountFilters struct {
23847	_ struct{} `type:"structure"`
23848
23849	// The 12-digit ID of the account.
23850	AccountId *string `type:"string"`
23851
23852	// The region where the account is located.
23853	Region *string `min:"1" type:"string"`
23854
23855	// The type of the AWS resource.
23856	ResourceType *string `type:"string" enum:"ResourceType"`
23857}
23858
23859// String returns the string representation
23860func (s ResourceCountFilters) String() string {
23861	return awsutil.Prettify(s)
23862}
23863
23864// GoString returns the string representation
23865func (s ResourceCountFilters) GoString() string {
23866	return s.String()
23867}
23868
23869// Validate inspects the fields of the type to determine if they are valid.
23870func (s *ResourceCountFilters) Validate() error {
23871	invalidParams := request.ErrInvalidParams{Context: "ResourceCountFilters"}
23872	if s.Region != nil && len(*s.Region) < 1 {
23873		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
23874	}
23875
23876	if invalidParams.Len() > 0 {
23877		return invalidParams
23878	}
23879	return nil
23880}
23881
23882// SetAccountId sets the AccountId field's value.
23883func (s *ResourceCountFilters) SetAccountId(v string) *ResourceCountFilters {
23884	s.AccountId = &v
23885	return s
23886}
23887
23888// SetRegion sets the Region field's value.
23889func (s *ResourceCountFilters) SetRegion(v string) *ResourceCountFilters {
23890	s.Region = &v
23891	return s
23892}
23893
23894// SetResourceType sets the ResourceType field's value.
23895func (s *ResourceCountFilters) SetResourceType(v string) *ResourceCountFilters {
23896	s.ResourceType = &v
23897	return s
23898}
23899
23900// Filters the results by resource account ID, region, resource ID, and resource
23901// name.
23902type ResourceFilters struct {
23903	_ struct{} `type:"structure"`
23904
23905	// The 12-digit source account ID.
23906	AccountId *string `type:"string"`
23907
23908	// The source region.
23909	Region *string `min:"1" type:"string"`
23910
23911	// The ID of the resource.
23912	ResourceId *string `min:"1" type:"string"`
23913
23914	// The name of the resource.
23915	ResourceName *string `type:"string"`
23916}
23917
23918// String returns the string representation
23919func (s ResourceFilters) String() string {
23920	return awsutil.Prettify(s)
23921}
23922
23923// GoString returns the string representation
23924func (s ResourceFilters) GoString() string {
23925	return s.String()
23926}
23927
23928// Validate inspects the fields of the type to determine if they are valid.
23929func (s *ResourceFilters) Validate() error {
23930	invalidParams := request.ErrInvalidParams{Context: "ResourceFilters"}
23931	if s.Region != nil && len(*s.Region) < 1 {
23932		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
23933	}
23934	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
23935		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
23936	}
23937
23938	if invalidParams.Len() > 0 {
23939		return invalidParams
23940	}
23941	return nil
23942}
23943
23944// SetAccountId sets the AccountId field's value.
23945func (s *ResourceFilters) SetAccountId(v string) *ResourceFilters {
23946	s.AccountId = &v
23947	return s
23948}
23949
23950// SetRegion sets the Region field's value.
23951func (s *ResourceFilters) SetRegion(v string) *ResourceFilters {
23952	s.Region = &v
23953	return s
23954}
23955
23956// SetResourceId sets the ResourceId field's value.
23957func (s *ResourceFilters) SetResourceId(v string) *ResourceFilters {
23958	s.ResourceId = &v
23959	return s
23960}
23961
23962// SetResourceName sets the ResourceName field's value.
23963func (s *ResourceFilters) SetResourceName(v string) *ResourceFilters {
23964	s.ResourceName = &v
23965	return s
23966}
23967
23968// The details that identify a resource that is discovered by AWS Config, including
23969// the resource type, ID, and (if available) the custom resource name.
23970type ResourceIdentifier struct {
23971	_ struct{} `type:"structure"`
23972
23973	// The time that the resource was deleted.
23974	ResourceDeletionTime *time.Time `locationName:"resourceDeletionTime" type:"timestamp"`
23975
23976	// The ID of the resource (for example, sg-xxxxxx).
23977	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
23978
23979	// The custom name of the resource (if available).
23980	ResourceName *string `locationName:"resourceName" type:"string"`
23981
23982	// The type of resource.
23983	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
23984}
23985
23986// String returns the string representation
23987func (s ResourceIdentifier) String() string {
23988	return awsutil.Prettify(s)
23989}
23990
23991// GoString returns the string representation
23992func (s ResourceIdentifier) GoString() string {
23993	return s.String()
23994}
23995
23996// SetResourceDeletionTime sets the ResourceDeletionTime field's value.
23997func (s *ResourceIdentifier) SetResourceDeletionTime(v time.Time) *ResourceIdentifier {
23998	s.ResourceDeletionTime = &v
23999	return s
24000}
24001
24002// SetResourceId sets the ResourceId field's value.
24003func (s *ResourceIdentifier) SetResourceId(v string) *ResourceIdentifier {
24004	s.ResourceId = &v
24005	return s
24006}
24007
24008// SetResourceName sets the ResourceName field's value.
24009func (s *ResourceIdentifier) SetResourceName(v string) *ResourceIdentifier {
24010	s.ResourceName = &v
24011	return s
24012}
24013
24014// SetResourceType sets the ResourceType field's value.
24015func (s *ResourceIdentifier) SetResourceType(v string) *ResourceIdentifier {
24016	s.ResourceType = &v
24017	return s
24018}
24019
24020// You see this exception in the following cases:
24021//
24022//    * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
24023//    again later.
24024//
24025//    * For DeleteConfigRule, the rule is deleting your evaluation results.
24026//    Try your request again later.
24027//
24028//    * For DeleteConfigRule, a remediation action is associated with the rule
24029//    and AWS Config cannot delete this rule. Delete the remediation action
24030//    associated with the rule before deleting the rule and try your request
24031//    again later.
24032//
24033//    * For PutConfigOrganizationRule, organization config rule deletion is
24034//    in progress. Try your request again later.
24035//
24036//    * For DeleteOrganizationConfigRule, organization config rule creation
24037//    is in progress. Try your request again later.
24038//
24039//    * For PutConformancePack and PutOrganizationConformancePack, a conformance
24040//    pack creation, update, and deletion is in progress. Try your request again
24041//    later.
24042//
24043//    * For DeleteConformancePack, a conformance pack creation, update, and
24044//    deletion is in progress. Try your request again later.
24045type ResourceInUseException struct {
24046	_            struct{}                  `type:"structure"`
24047	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24048
24049	Message_ *string `locationName:"message" type:"string"`
24050}
24051
24052// String returns the string representation
24053func (s ResourceInUseException) String() string {
24054	return awsutil.Prettify(s)
24055}
24056
24057// GoString returns the string representation
24058func (s ResourceInUseException) GoString() string {
24059	return s.String()
24060}
24061
24062func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
24063	return &ResourceInUseException{
24064		RespMetadata: v,
24065	}
24066}
24067
24068// Code returns the exception type name.
24069func (s *ResourceInUseException) Code() string {
24070	return "ResourceInUseException"
24071}
24072
24073// Message returns the exception's message.
24074func (s *ResourceInUseException) Message() string {
24075	if s.Message_ != nil {
24076		return *s.Message_
24077	}
24078	return ""
24079}
24080
24081// OrigErr always returns nil, satisfies awserr.Error interface.
24082func (s *ResourceInUseException) OrigErr() error {
24083	return nil
24084}
24085
24086func (s *ResourceInUseException) Error() string {
24087	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24088}
24089
24090// Status code returns the HTTP status code for the request's response error.
24091func (s *ResourceInUseException) StatusCode() int {
24092	return s.RespMetadata.StatusCode
24093}
24094
24095// RequestID returns the service's response RequestID for request.
24096func (s *ResourceInUseException) RequestID() string {
24097	return s.RespMetadata.RequestID
24098}
24099
24100// The details that identify a resource within AWS Config, including the resource
24101// type and resource ID.
24102type ResourceKey struct {
24103	_ struct{} `type:"structure"`
24104
24105	// The ID of the resource (for example., sg-xxxxxx).
24106	//
24107	// ResourceId is a required field
24108	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
24109
24110	// The resource type.
24111	//
24112	// ResourceType is a required field
24113	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
24114}
24115
24116// String returns the string representation
24117func (s ResourceKey) String() string {
24118	return awsutil.Prettify(s)
24119}
24120
24121// GoString returns the string representation
24122func (s ResourceKey) GoString() string {
24123	return s.String()
24124}
24125
24126// Validate inspects the fields of the type to determine if they are valid.
24127func (s *ResourceKey) Validate() error {
24128	invalidParams := request.ErrInvalidParams{Context: "ResourceKey"}
24129	if s.ResourceId == nil {
24130		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
24131	}
24132	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
24133		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
24134	}
24135	if s.ResourceType == nil {
24136		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
24137	}
24138
24139	if invalidParams.Len() > 0 {
24140		return invalidParams
24141	}
24142	return nil
24143}
24144
24145// SetResourceId sets the ResourceId field's value.
24146func (s *ResourceKey) SetResourceId(v string) *ResourceKey {
24147	s.ResourceId = &v
24148	return s
24149}
24150
24151// SetResourceType sets the ResourceType field's value.
24152func (s *ResourceKey) SetResourceType(v string) *ResourceKey {
24153	s.ResourceType = &v
24154	return s
24155}
24156
24157// You have specified a resource that is either unknown or has not been discovered.
24158type ResourceNotDiscoveredException struct {
24159	_            struct{}                  `type:"structure"`
24160	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24161
24162	Message_ *string `locationName:"message" type:"string"`
24163}
24164
24165// String returns the string representation
24166func (s ResourceNotDiscoveredException) String() string {
24167	return awsutil.Prettify(s)
24168}
24169
24170// GoString returns the string representation
24171func (s ResourceNotDiscoveredException) GoString() string {
24172	return s.String()
24173}
24174
24175func newErrorResourceNotDiscoveredException(v protocol.ResponseMetadata) error {
24176	return &ResourceNotDiscoveredException{
24177		RespMetadata: v,
24178	}
24179}
24180
24181// Code returns the exception type name.
24182func (s *ResourceNotDiscoveredException) Code() string {
24183	return "ResourceNotDiscoveredException"
24184}
24185
24186// Message returns the exception's message.
24187func (s *ResourceNotDiscoveredException) Message() string {
24188	if s.Message_ != nil {
24189		return *s.Message_
24190	}
24191	return ""
24192}
24193
24194// OrigErr always returns nil, satisfies awserr.Error interface.
24195func (s *ResourceNotDiscoveredException) OrigErr() error {
24196	return nil
24197}
24198
24199func (s *ResourceNotDiscoveredException) Error() string {
24200	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24201}
24202
24203// Status code returns the HTTP status code for the request's response error.
24204func (s *ResourceNotDiscoveredException) StatusCode() int {
24205	return s.RespMetadata.StatusCode
24206}
24207
24208// RequestID returns the service's response RequestID for request.
24209func (s *ResourceNotDiscoveredException) RequestID() string {
24210	return s.RespMetadata.RequestID
24211}
24212
24213// You have specified a resource that does not exist.
24214type ResourceNotFoundException struct {
24215	_            struct{}                  `type:"structure"`
24216	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24217
24218	Message_ *string `locationName:"message" type:"string"`
24219}
24220
24221// String returns the string representation
24222func (s ResourceNotFoundException) String() string {
24223	return awsutil.Prettify(s)
24224}
24225
24226// GoString returns the string representation
24227func (s ResourceNotFoundException) GoString() string {
24228	return s.String()
24229}
24230
24231func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
24232	return &ResourceNotFoundException{
24233		RespMetadata: v,
24234	}
24235}
24236
24237// Code returns the exception type name.
24238func (s *ResourceNotFoundException) Code() string {
24239	return "ResourceNotFoundException"
24240}
24241
24242// Message returns the exception's message.
24243func (s *ResourceNotFoundException) Message() string {
24244	if s.Message_ != nil {
24245		return *s.Message_
24246	}
24247	return ""
24248}
24249
24250// OrigErr always returns nil, satisfies awserr.Error interface.
24251func (s *ResourceNotFoundException) OrigErr() error {
24252	return nil
24253}
24254
24255func (s *ResourceNotFoundException) Error() string {
24256	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24257}
24258
24259// Status code returns the HTTP status code for the request's response error.
24260func (s *ResourceNotFoundException) StatusCode() int {
24261	return s.RespMetadata.StatusCode
24262}
24263
24264// RequestID returns the service's response RequestID for request.
24265func (s *ResourceNotFoundException) RequestID() string {
24266	return s.RespMetadata.RequestID
24267}
24268
24269// The dynamic value of the resource.
24270type ResourceValue struct {
24271	_ struct{} `type:"structure"`
24272
24273	// The value is a resource ID.
24274	//
24275	// Value is a required field
24276	Value *string `type:"string" required:"true" enum:"ResourceValueType"`
24277}
24278
24279// String returns the string representation
24280func (s ResourceValue) String() string {
24281	return awsutil.Prettify(s)
24282}
24283
24284// GoString returns the string representation
24285func (s ResourceValue) GoString() string {
24286	return s.String()
24287}
24288
24289// Validate inspects the fields of the type to determine if they are valid.
24290func (s *ResourceValue) Validate() error {
24291	invalidParams := request.ErrInvalidParams{Context: "ResourceValue"}
24292	if s.Value == nil {
24293		invalidParams.Add(request.NewErrParamRequired("Value"))
24294	}
24295
24296	if invalidParams.Len() > 0 {
24297		return invalidParams
24298	}
24299	return nil
24300}
24301
24302// SetValue sets the Value field's value.
24303func (s *ResourceValue) SetValue(v string) *ResourceValue {
24304	s.Value = &v
24305	return s
24306}
24307
24308// An object with the name of the retention configuration and the retention
24309// period in days. The object stores the configuration for data retention in
24310// AWS Config.
24311type RetentionConfiguration struct {
24312	_ struct{} `type:"structure"`
24313
24314	// The name of the retention configuration object.
24315	//
24316	// Name is a required field
24317	Name *string `min:"1" type:"string" required:"true"`
24318
24319	// Number of days AWS Config stores your historical information.
24320	//
24321	// Currently, only applicable to the configuration item history.
24322	//
24323	// RetentionPeriodInDays is a required field
24324	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
24325}
24326
24327// String returns the string representation
24328func (s RetentionConfiguration) String() string {
24329	return awsutil.Prettify(s)
24330}
24331
24332// GoString returns the string representation
24333func (s RetentionConfiguration) GoString() string {
24334	return s.String()
24335}
24336
24337// SetName sets the Name field's value.
24338func (s *RetentionConfiguration) SetName(v string) *RetentionConfiguration {
24339	s.Name = &v
24340	return s
24341}
24342
24343// SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
24344func (s *RetentionConfiguration) SetRetentionPeriodInDays(v int64) *RetentionConfiguration {
24345	s.RetentionPeriodInDays = &v
24346	return s
24347}
24348
24349// Defines which resources trigger an evaluation for an AWS Config rule. The
24350// scope can include one or more resource types, a combination of a tag key
24351// and value, or a combination of one resource type and one resource ID. Specify
24352// a scope to constrain which resources trigger an evaluation for a rule. Otherwise,
24353// evaluations for the rule are triggered when any resource in your recording
24354// group changes in configuration.
24355type Scope struct {
24356	_ struct{} `type:"structure"`
24357
24358	// The ID of the only AWS resource that you want to trigger an evaluation for
24359	// the rule. If you specify a resource ID, you must specify one resource type
24360	// for ComplianceResourceTypes.
24361	ComplianceResourceId *string `min:"1" type:"string"`
24362
24363	// The resource types of only those AWS resources that you want to trigger an
24364	// evaluation for the rule. You can only specify one type if you also specify
24365	// a resource ID for ComplianceResourceId.
24366	ComplianceResourceTypes []*string `type:"list"`
24367
24368	// The tag key that is applied to only those AWS resources that you want to
24369	// trigger an evaluation for the rule.
24370	TagKey *string `min:"1" type:"string"`
24371
24372	// The tag value applied to only those AWS resources that you want to trigger
24373	// an evaluation for the rule. If you specify a value for TagValue, you must
24374	// also specify a value for TagKey.
24375	TagValue *string `min:"1" type:"string"`
24376}
24377
24378// String returns the string representation
24379func (s Scope) String() string {
24380	return awsutil.Prettify(s)
24381}
24382
24383// GoString returns the string representation
24384func (s Scope) GoString() string {
24385	return s.String()
24386}
24387
24388// Validate inspects the fields of the type to determine if they are valid.
24389func (s *Scope) Validate() error {
24390	invalidParams := request.ErrInvalidParams{Context: "Scope"}
24391	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
24392		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
24393	}
24394	if s.TagKey != nil && len(*s.TagKey) < 1 {
24395		invalidParams.Add(request.NewErrParamMinLen("TagKey", 1))
24396	}
24397	if s.TagValue != nil && len(*s.TagValue) < 1 {
24398		invalidParams.Add(request.NewErrParamMinLen("TagValue", 1))
24399	}
24400
24401	if invalidParams.Len() > 0 {
24402		return invalidParams
24403	}
24404	return nil
24405}
24406
24407// SetComplianceResourceId sets the ComplianceResourceId field's value.
24408func (s *Scope) SetComplianceResourceId(v string) *Scope {
24409	s.ComplianceResourceId = &v
24410	return s
24411}
24412
24413// SetComplianceResourceTypes sets the ComplianceResourceTypes field's value.
24414func (s *Scope) SetComplianceResourceTypes(v []*string) *Scope {
24415	s.ComplianceResourceTypes = v
24416	return s
24417}
24418
24419// SetTagKey sets the TagKey field's value.
24420func (s *Scope) SetTagKey(v string) *Scope {
24421	s.TagKey = &v
24422	return s
24423}
24424
24425// SetTagValue sets the TagValue field's value.
24426func (s *Scope) SetTagValue(v string) *Scope {
24427	s.TagValue = &v
24428	return s
24429}
24430
24431type SelectAggregateResourceConfigInput struct {
24432	_ struct{} `type:"structure"`
24433
24434	// The name of the configuration aggregator.
24435	//
24436	// ConfigurationAggregatorName is a required field
24437	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
24438
24439	// The SQL query SELECT command.
24440	//
24441	// Expression is a required field
24442	Expression *string `min:"1" type:"string" required:"true"`
24443
24444	// The maximum number of query results returned on each page.
24445	Limit *int64 `type:"integer"`
24446
24447	// The maximum number of query results returned on each page. AWS Config also
24448	// allows the Limit request parameter.
24449	MaxResults *int64 `type:"integer"`
24450
24451	// The nextToken string returned in a previous request that you use to request
24452	// the next page of results in a paginated response.
24453	NextToken *string `type:"string"`
24454}
24455
24456// String returns the string representation
24457func (s SelectAggregateResourceConfigInput) String() string {
24458	return awsutil.Prettify(s)
24459}
24460
24461// GoString returns the string representation
24462func (s SelectAggregateResourceConfigInput) GoString() string {
24463	return s.String()
24464}
24465
24466// Validate inspects the fields of the type to determine if they are valid.
24467func (s *SelectAggregateResourceConfigInput) Validate() error {
24468	invalidParams := request.ErrInvalidParams{Context: "SelectAggregateResourceConfigInput"}
24469	if s.ConfigurationAggregatorName == nil {
24470		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
24471	}
24472	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
24473		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
24474	}
24475	if s.Expression == nil {
24476		invalidParams.Add(request.NewErrParamRequired("Expression"))
24477	}
24478	if s.Expression != nil && len(*s.Expression) < 1 {
24479		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
24480	}
24481
24482	if invalidParams.Len() > 0 {
24483		return invalidParams
24484	}
24485	return nil
24486}
24487
24488// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
24489func (s *SelectAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *SelectAggregateResourceConfigInput {
24490	s.ConfigurationAggregatorName = &v
24491	return s
24492}
24493
24494// SetExpression sets the Expression field's value.
24495func (s *SelectAggregateResourceConfigInput) SetExpression(v string) *SelectAggregateResourceConfigInput {
24496	s.Expression = &v
24497	return s
24498}
24499
24500// SetLimit sets the Limit field's value.
24501func (s *SelectAggregateResourceConfigInput) SetLimit(v int64) *SelectAggregateResourceConfigInput {
24502	s.Limit = &v
24503	return s
24504}
24505
24506// SetMaxResults sets the MaxResults field's value.
24507func (s *SelectAggregateResourceConfigInput) SetMaxResults(v int64) *SelectAggregateResourceConfigInput {
24508	s.MaxResults = &v
24509	return s
24510}
24511
24512// SetNextToken sets the NextToken field's value.
24513func (s *SelectAggregateResourceConfigInput) SetNextToken(v string) *SelectAggregateResourceConfigInput {
24514	s.NextToken = &v
24515	return s
24516}
24517
24518type SelectAggregateResourceConfigOutput struct {
24519	_ struct{} `type:"structure"`
24520
24521	// The nextToken string returned in a previous request that you use to request
24522	// the next page of results in a paginated response.
24523	NextToken *string `type:"string"`
24524
24525	// Details about the query.
24526	QueryInfo *QueryInfo `type:"structure"`
24527
24528	// Returns the results for the SQL query.
24529	Results []*string `type:"list"`
24530}
24531
24532// String returns the string representation
24533func (s SelectAggregateResourceConfigOutput) String() string {
24534	return awsutil.Prettify(s)
24535}
24536
24537// GoString returns the string representation
24538func (s SelectAggregateResourceConfigOutput) GoString() string {
24539	return s.String()
24540}
24541
24542// SetNextToken sets the NextToken field's value.
24543func (s *SelectAggregateResourceConfigOutput) SetNextToken(v string) *SelectAggregateResourceConfigOutput {
24544	s.NextToken = &v
24545	return s
24546}
24547
24548// SetQueryInfo sets the QueryInfo field's value.
24549func (s *SelectAggregateResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectAggregateResourceConfigOutput {
24550	s.QueryInfo = v
24551	return s
24552}
24553
24554// SetResults sets the Results field's value.
24555func (s *SelectAggregateResourceConfigOutput) SetResults(v []*string) *SelectAggregateResourceConfigOutput {
24556	s.Results = v
24557	return s
24558}
24559
24560type SelectResourceConfigInput struct {
24561	_ struct{} `type:"structure"`
24562
24563	// The SQL query SELECT command.
24564	//
24565	// Expression is a required field
24566	Expression *string `min:"1" type:"string" required:"true"`
24567
24568	// The maximum number of query results returned on each page.
24569	Limit *int64 `type:"integer"`
24570
24571	// The nextToken string returned in a previous request that you use to request
24572	// the next page of results in a paginated response.
24573	NextToken *string `type:"string"`
24574}
24575
24576// String returns the string representation
24577func (s SelectResourceConfigInput) String() string {
24578	return awsutil.Prettify(s)
24579}
24580
24581// GoString returns the string representation
24582func (s SelectResourceConfigInput) GoString() string {
24583	return s.String()
24584}
24585
24586// Validate inspects the fields of the type to determine if they are valid.
24587func (s *SelectResourceConfigInput) Validate() error {
24588	invalidParams := request.ErrInvalidParams{Context: "SelectResourceConfigInput"}
24589	if s.Expression == nil {
24590		invalidParams.Add(request.NewErrParamRequired("Expression"))
24591	}
24592	if s.Expression != nil && len(*s.Expression) < 1 {
24593		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
24594	}
24595
24596	if invalidParams.Len() > 0 {
24597		return invalidParams
24598	}
24599	return nil
24600}
24601
24602// SetExpression sets the Expression field's value.
24603func (s *SelectResourceConfigInput) SetExpression(v string) *SelectResourceConfigInput {
24604	s.Expression = &v
24605	return s
24606}
24607
24608// SetLimit sets the Limit field's value.
24609func (s *SelectResourceConfigInput) SetLimit(v int64) *SelectResourceConfigInput {
24610	s.Limit = &v
24611	return s
24612}
24613
24614// SetNextToken sets the NextToken field's value.
24615func (s *SelectResourceConfigInput) SetNextToken(v string) *SelectResourceConfigInput {
24616	s.NextToken = &v
24617	return s
24618}
24619
24620type SelectResourceConfigOutput struct {
24621	_ struct{} `type:"structure"`
24622
24623	// The nextToken string returned in a previous request that you use to request
24624	// the next page of results in a paginated response.
24625	NextToken *string `type:"string"`
24626
24627	// Returns the QueryInfo object.
24628	QueryInfo *QueryInfo `type:"structure"`
24629
24630	// Returns the results for the SQL query.
24631	Results []*string `type:"list"`
24632}
24633
24634// String returns the string representation
24635func (s SelectResourceConfigOutput) String() string {
24636	return awsutil.Prettify(s)
24637}
24638
24639// GoString returns the string representation
24640func (s SelectResourceConfigOutput) GoString() string {
24641	return s.String()
24642}
24643
24644// SetNextToken sets the NextToken field's value.
24645func (s *SelectResourceConfigOutput) SetNextToken(v string) *SelectResourceConfigOutput {
24646	s.NextToken = &v
24647	return s
24648}
24649
24650// SetQueryInfo sets the QueryInfo field's value.
24651func (s *SelectResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectResourceConfigOutput {
24652	s.QueryInfo = v
24653	return s
24654}
24655
24656// SetResults sets the Results field's value.
24657func (s *SelectResourceConfigOutput) SetResults(v []*string) *SelectResourceConfigOutput {
24658	s.Results = v
24659	return s
24660}
24661
24662// Provides the AWS Config rule owner (AWS or customer), the rule identifier,
24663// and the events that trigger the evaluation of your AWS resources.
24664type Source struct {
24665	_ struct{} `type:"structure"`
24666
24667	// Indicates whether AWS or the customer owns and manages the AWS Config rule.
24668	//
24669	// Owner is a required field
24670	Owner *string `type:"string" required:"true" enum:"Owner"`
24671
24672	// Provides the source and type of the event that causes AWS Config to evaluate
24673	// your AWS resources.
24674	SourceDetails []*SourceDetail `type:"list"`
24675
24676	// For AWS Config managed rules, a predefined identifier from a list. For example,
24677	// IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using
24678	// AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
24679	//
24680	// For custom rules, the identifier is the Amazon Resource Name (ARN) of the
24681	// rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.
24682	//
24683	// SourceIdentifier is a required field
24684	SourceIdentifier *string `min:"1" type:"string" required:"true"`
24685}
24686
24687// String returns the string representation
24688func (s Source) String() string {
24689	return awsutil.Prettify(s)
24690}
24691
24692// GoString returns the string representation
24693func (s Source) GoString() string {
24694	return s.String()
24695}
24696
24697// Validate inspects the fields of the type to determine if they are valid.
24698func (s *Source) Validate() error {
24699	invalidParams := request.ErrInvalidParams{Context: "Source"}
24700	if s.Owner == nil {
24701		invalidParams.Add(request.NewErrParamRequired("Owner"))
24702	}
24703	if s.SourceIdentifier == nil {
24704		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
24705	}
24706	if s.SourceIdentifier != nil && len(*s.SourceIdentifier) < 1 {
24707		invalidParams.Add(request.NewErrParamMinLen("SourceIdentifier", 1))
24708	}
24709
24710	if invalidParams.Len() > 0 {
24711		return invalidParams
24712	}
24713	return nil
24714}
24715
24716// SetOwner sets the Owner field's value.
24717func (s *Source) SetOwner(v string) *Source {
24718	s.Owner = &v
24719	return s
24720}
24721
24722// SetSourceDetails sets the SourceDetails field's value.
24723func (s *Source) SetSourceDetails(v []*SourceDetail) *Source {
24724	s.SourceDetails = v
24725	return s
24726}
24727
24728// SetSourceIdentifier sets the SourceIdentifier field's value.
24729func (s *Source) SetSourceIdentifier(v string) *Source {
24730	s.SourceIdentifier = &v
24731	return s
24732}
24733
24734// Provides the source and the message types that trigger AWS Config to evaluate
24735// your AWS resources against a rule. It also provides the frequency with which
24736// you want AWS Config to run evaluations for the rule if the trigger type is
24737// periodic. You can specify the parameter values for SourceDetail only for
24738// custom rules.
24739type SourceDetail struct {
24740	_ struct{} `type:"structure"`
24741
24742	// The source of the event, such as an AWS service, that triggers AWS Config
24743	// to evaluate your AWS resources.
24744	EventSource *string `type:"string" enum:"EventSource"`
24745
24746	// The frequency at which you want AWS Config to run evaluations for a custom
24747	// rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency,
24748	// then MessageType must use the ScheduledNotification value.
24749	//
24750	// By default, rules with a periodic trigger are evaluated every 24 hours. To
24751	// change the frequency, specify a valid value for the MaximumExecutionFrequency
24752	// parameter.
24753	//
24754	// Based on the valid value you choose, AWS Config runs evaluations once for
24755	// each valid value. For example, if you choose Three_Hours, AWS Config runs
24756	// evaluations once every three hours. In this case, Three_Hours is the frequency
24757	// of this rule.
24758	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
24759
24760	// The type of notification that triggers AWS Config to run an evaluation for
24761	// a rule. You can specify the following notification types:
24762	//
24763	//    * ConfigurationItemChangeNotification - Triggers an evaluation when AWS
24764	//    Config delivers a configuration item as a result of a resource change.
24765	//
24766	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
24767	//    when AWS Config delivers an oversized configuration item. AWS Config may
24768	//    generate this notification type when a resource changes and the notification
24769	//    exceeds the maximum size allowed by Amazon SNS.
24770	//
24771	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
24772	//    specified for MaximumExecutionFrequency.
24773	//
24774	//    * ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation
24775	//    when AWS Config delivers a configuration snapshot.
24776	//
24777	// If you want your custom rule to be triggered by configuration changes, specify
24778	// two SourceDetail objects, one for ConfigurationItemChangeNotification and
24779	// one for OversizedConfigurationItemChangeNotification.
24780	MessageType *string `type:"string" enum:"MessageType"`
24781}
24782
24783// String returns the string representation
24784func (s SourceDetail) String() string {
24785	return awsutil.Prettify(s)
24786}
24787
24788// GoString returns the string representation
24789func (s SourceDetail) GoString() string {
24790	return s.String()
24791}
24792
24793// SetEventSource sets the EventSource field's value.
24794func (s *SourceDetail) SetEventSource(v string) *SourceDetail {
24795	s.EventSource = &v
24796	return s
24797}
24798
24799// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
24800func (s *SourceDetail) SetMaximumExecutionFrequency(v string) *SourceDetail {
24801	s.MaximumExecutionFrequency = &v
24802	return s
24803}
24804
24805// SetMessageType sets the MessageType field's value.
24806func (s *SourceDetail) SetMessageType(v string) *SourceDetail {
24807	s.MessageType = &v
24808	return s
24809}
24810
24811// AWS Systems Manager (SSM) specific remediation controls.
24812type SsmControls struct {
24813	_ struct{} `type:"structure"`
24814
24815	// The maximum percentage of remediation actions allowed to run in parallel
24816	// on the non-compliant resources for that specific rule. You can specify a
24817	// percentage, such as 10%. The default value is 10.
24818	ConcurrentExecutionRatePercentage *int64 `min:"1" type:"integer"`
24819
24820	// The percentage of errors that are allowed before SSM stops running automations
24821	// on non-compliant resources for that specific rule. You can specify a percentage
24822	// of errors, for example 10%. If you do not specifiy a percentage, the default
24823	// is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant
24824	// resources, then SSM stops running the automations when the fifth error is
24825	// received.
24826	ErrorPercentage *int64 `min:"1" type:"integer"`
24827}
24828
24829// String returns the string representation
24830func (s SsmControls) String() string {
24831	return awsutil.Prettify(s)
24832}
24833
24834// GoString returns the string representation
24835func (s SsmControls) GoString() string {
24836	return s.String()
24837}
24838
24839// Validate inspects the fields of the type to determine if they are valid.
24840func (s *SsmControls) Validate() error {
24841	invalidParams := request.ErrInvalidParams{Context: "SsmControls"}
24842	if s.ConcurrentExecutionRatePercentage != nil && *s.ConcurrentExecutionRatePercentage < 1 {
24843		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutionRatePercentage", 1))
24844	}
24845	if s.ErrorPercentage != nil && *s.ErrorPercentage < 1 {
24846		invalidParams.Add(request.NewErrParamMinValue("ErrorPercentage", 1))
24847	}
24848
24849	if invalidParams.Len() > 0 {
24850		return invalidParams
24851	}
24852	return nil
24853}
24854
24855// SetConcurrentExecutionRatePercentage sets the ConcurrentExecutionRatePercentage field's value.
24856func (s *SsmControls) SetConcurrentExecutionRatePercentage(v int64) *SsmControls {
24857	s.ConcurrentExecutionRatePercentage = &v
24858	return s
24859}
24860
24861// SetErrorPercentage sets the ErrorPercentage field's value.
24862func (s *SsmControls) SetErrorPercentage(v int64) *SsmControls {
24863	s.ErrorPercentage = &v
24864	return s
24865}
24866
24867type StartConfigRulesEvaluationInput struct {
24868	_ struct{} `type:"structure"`
24869
24870	// The list of names of AWS Config rules that you want to run evaluations for.
24871	ConfigRuleNames []*string `min:"1" type:"list"`
24872}
24873
24874// String returns the string representation
24875func (s StartConfigRulesEvaluationInput) String() string {
24876	return awsutil.Prettify(s)
24877}
24878
24879// GoString returns the string representation
24880func (s StartConfigRulesEvaluationInput) GoString() string {
24881	return s.String()
24882}
24883
24884// Validate inspects the fields of the type to determine if they are valid.
24885func (s *StartConfigRulesEvaluationInput) Validate() error {
24886	invalidParams := request.ErrInvalidParams{Context: "StartConfigRulesEvaluationInput"}
24887	if s.ConfigRuleNames != nil && len(s.ConfigRuleNames) < 1 {
24888		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleNames", 1))
24889	}
24890
24891	if invalidParams.Len() > 0 {
24892		return invalidParams
24893	}
24894	return nil
24895}
24896
24897// SetConfigRuleNames sets the ConfigRuleNames field's value.
24898func (s *StartConfigRulesEvaluationInput) SetConfigRuleNames(v []*string) *StartConfigRulesEvaluationInput {
24899	s.ConfigRuleNames = v
24900	return s
24901}
24902
24903// The output when you start the evaluation for the specified AWS Config rule.
24904type StartConfigRulesEvaluationOutput struct {
24905	_ struct{} `type:"structure"`
24906}
24907
24908// String returns the string representation
24909func (s StartConfigRulesEvaluationOutput) String() string {
24910	return awsutil.Prettify(s)
24911}
24912
24913// GoString returns the string representation
24914func (s StartConfigRulesEvaluationOutput) GoString() string {
24915	return s.String()
24916}
24917
24918// The input for the StartConfigurationRecorder action.
24919type StartConfigurationRecorderInput struct {
24920	_ struct{} `type:"structure"`
24921
24922	// The name of the recorder object that records each configuration change made
24923	// to the resources.
24924	//
24925	// ConfigurationRecorderName is a required field
24926	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
24927}
24928
24929// String returns the string representation
24930func (s StartConfigurationRecorderInput) String() string {
24931	return awsutil.Prettify(s)
24932}
24933
24934// GoString returns the string representation
24935func (s StartConfigurationRecorderInput) GoString() string {
24936	return s.String()
24937}
24938
24939// Validate inspects the fields of the type to determine if they are valid.
24940func (s *StartConfigurationRecorderInput) Validate() error {
24941	invalidParams := request.ErrInvalidParams{Context: "StartConfigurationRecorderInput"}
24942	if s.ConfigurationRecorderName == nil {
24943		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
24944	}
24945	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
24946		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
24947	}
24948
24949	if invalidParams.Len() > 0 {
24950		return invalidParams
24951	}
24952	return nil
24953}
24954
24955// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
24956func (s *StartConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StartConfigurationRecorderInput {
24957	s.ConfigurationRecorderName = &v
24958	return s
24959}
24960
24961type StartConfigurationRecorderOutput struct {
24962	_ struct{} `type:"structure"`
24963}
24964
24965// String returns the string representation
24966func (s StartConfigurationRecorderOutput) String() string {
24967	return awsutil.Prettify(s)
24968}
24969
24970// GoString returns the string representation
24971func (s StartConfigurationRecorderOutput) GoString() string {
24972	return s.String()
24973}
24974
24975type StartRemediationExecutionInput struct {
24976	_ struct{} `type:"structure"`
24977
24978	// The list of names of AWS Config rules that you want to run remediation execution
24979	// for.
24980	//
24981	// ConfigRuleName is a required field
24982	ConfigRuleName *string `min:"1" type:"string" required:"true"`
24983
24984	// A list of resource keys to be processed with the current request. Each element
24985	// in the list consists of the resource type and resource ID.
24986	//
24987	// ResourceKeys is a required field
24988	ResourceKeys []*ResourceKey `min:"1" type:"list" required:"true"`
24989}
24990
24991// String returns the string representation
24992func (s StartRemediationExecutionInput) String() string {
24993	return awsutil.Prettify(s)
24994}
24995
24996// GoString returns the string representation
24997func (s StartRemediationExecutionInput) GoString() string {
24998	return s.String()
24999}
25000
25001// Validate inspects the fields of the type to determine if they are valid.
25002func (s *StartRemediationExecutionInput) Validate() error {
25003	invalidParams := request.ErrInvalidParams{Context: "StartRemediationExecutionInput"}
25004	if s.ConfigRuleName == nil {
25005		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
25006	}
25007	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
25008		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
25009	}
25010	if s.ResourceKeys == nil {
25011		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
25012	}
25013	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
25014		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
25015	}
25016	if s.ResourceKeys != nil {
25017		for i, v := range s.ResourceKeys {
25018			if v == nil {
25019				continue
25020			}
25021			if err := v.Validate(); err != nil {
25022				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
25023			}
25024		}
25025	}
25026
25027	if invalidParams.Len() > 0 {
25028		return invalidParams
25029	}
25030	return nil
25031}
25032
25033// SetConfigRuleName sets the ConfigRuleName field's value.
25034func (s *StartRemediationExecutionInput) SetConfigRuleName(v string) *StartRemediationExecutionInput {
25035	s.ConfigRuleName = &v
25036	return s
25037}
25038
25039// SetResourceKeys sets the ResourceKeys field's value.
25040func (s *StartRemediationExecutionInput) SetResourceKeys(v []*ResourceKey) *StartRemediationExecutionInput {
25041	s.ResourceKeys = v
25042	return s
25043}
25044
25045type StartRemediationExecutionOutput struct {
25046	_ struct{} `type:"structure"`
25047
25048	// For resources that have failed to start execution, the API returns a resource
25049	// key object.
25050	FailedItems []*ResourceKey `min:"1" type:"list"`
25051
25052	// Returns a failure message. For example, the resource is already compliant.
25053	FailureMessage *string `type:"string"`
25054}
25055
25056// String returns the string representation
25057func (s StartRemediationExecutionOutput) String() string {
25058	return awsutil.Prettify(s)
25059}
25060
25061// GoString returns the string representation
25062func (s StartRemediationExecutionOutput) GoString() string {
25063	return s.String()
25064}
25065
25066// SetFailedItems sets the FailedItems field's value.
25067func (s *StartRemediationExecutionOutput) SetFailedItems(v []*ResourceKey) *StartRemediationExecutionOutput {
25068	s.FailedItems = v
25069	return s
25070}
25071
25072// SetFailureMessage sets the FailureMessage field's value.
25073func (s *StartRemediationExecutionOutput) SetFailureMessage(v string) *StartRemediationExecutionOutput {
25074	s.FailureMessage = &v
25075	return s
25076}
25077
25078// The static value of the resource.
25079type StaticValue struct {
25080	_ struct{} `type:"structure"`
25081
25082	// A list of values. For example, the ARN of the assumed role.
25083	//
25084	// Values is a required field
25085	Values []*string `type:"list" required:"true"`
25086}
25087
25088// String returns the string representation
25089func (s StaticValue) String() string {
25090	return awsutil.Prettify(s)
25091}
25092
25093// GoString returns the string representation
25094func (s StaticValue) GoString() string {
25095	return s.String()
25096}
25097
25098// Validate inspects the fields of the type to determine if they are valid.
25099func (s *StaticValue) Validate() error {
25100	invalidParams := request.ErrInvalidParams{Context: "StaticValue"}
25101	if s.Values == nil {
25102		invalidParams.Add(request.NewErrParamRequired("Values"))
25103	}
25104
25105	if invalidParams.Len() > 0 {
25106		return invalidParams
25107	}
25108	return nil
25109}
25110
25111// SetValues sets the Values field's value.
25112func (s *StaticValue) SetValues(v []*string) *StaticValue {
25113	s.Values = v
25114	return s
25115}
25116
25117// Status filter object to filter results based on specific member account ID
25118// or status type for an organization config rule.
25119type StatusDetailFilters struct {
25120	_ struct{} `type:"structure"`
25121
25122	// The 12-digit account ID of the member account within an organization.
25123	AccountId *string `type:"string"`
25124
25125	// Indicates deployment status for config rule in the member account. When master
25126	// account calls PutOrganizationConfigRule action for the first time, config
25127	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
25128	// action for the second time, config rule status is updated in the member account.
25129	// Config rule status is deleted when the master account deletes OrganizationConfigRule
25130	// and disables service access for config-multiaccountsetup.amazonaws.com.
25131	//
25132	// AWS Config sets the state of the rule to:
25133	//
25134	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
25135	//
25136	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
25137	//
25138	//    * CREATE_FAILED when config rule creation has failed in the member account.
25139	//
25140	//    * DELETE_FAILED when config rule deletion has failed in the member account.
25141	//
25142	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
25143	//
25144	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
25145	//
25146	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
25147	//
25148	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
25149	//
25150	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
25151	MemberAccountRuleStatus *string `type:"string" enum:"MemberAccountRuleStatus"`
25152}
25153
25154// String returns the string representation
25155func (s StatusDetailFilters) String() string {
25156	return awsutil.Prettify(s)
25157}
25158
25159// GoString returns the string representation
25160func (s StatusDetailFilters) GoString() string {
25161	return s.String()
25162}
25163
25164// SetAccountId sets the AccountId field's value.
25165func (s *StatusDetailFilters) SetAccountId(v string) *StatusDetailFilters {
25166	s.AccountId = &v
25167	return s
25168}
25169
25170// SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
25171func (s *StatusDetailFilters) SetMemberAccountRuleStatus(v string) *StatusDetailFilters {
25172	s.MemberAccountRuleStatus = &v
25173	return s
25174}
25175
25176// The input for the StopConfigurationRecorder action.
25177type StopConfigurationRecorderInput struct {
25178	_ struct{} `type:"structure"`
25179
25180	// The name of the recorder object that records each configuration change made
25181	// to the resources.
25182	//
25183	// ConfigurationRecorderName is a required field
25184	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
25185}
25186
25187// String returns the string representation
25188func (s StopConfigurationRecorderInput) String() string {
25189	return awsutil.Prettify(s)
25190}
25191
25192// GoString returns the string representation
25193func (s StopConfigurationRecorderInput) GoString() string {
25194	return s.String()
25195}
25196
25197// Validate inspects the fields of the type to determine if they are valid.
25198func (s *StopConfigurationRecorderInput) Validate() error {
25199	invalidParams := request.ErrInvalidParams{Context: "StopConfigurationRecorderInput"}
25200	if s.ConfigurationRecorderName == nil {
25201		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
25202	}
25203	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
25204		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
25205	}
25206
25207	if invalidParams.Len() > 0 {
25208		return invalidParams
25209	}
25210	return nil
25211}
25212
25213// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
25214func (s *StopConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StopConfigurationRecorderInput {
25215	s.ConfigurationRecorderName = &v
25216	return s
25217}
25218
25219type StopConfigurationRecorderOutput struct {
25220	_ struct{} `type:"structure"`
25221}
25222
25223// String returns the string representation
25224func (s StopConfigurationRecorderOutput) String() string {
25225	return awsutil.Prettify(s)
25226}
25227
25228// GoString returns the string representation
25229func (s StopConfigurationRecorderOutput) GoString() string {
25230	return s.String()
25231}
25232
25233// Provides the details of a stored query.
25234type StoredQuery struct {
25235	_ struct{} `type:"structure"`
25236
25237	// A unique description for the query.
25238	Description *string `type:"string"`
25239
25240	// The expression of the query. For example, SELECT resourceId, resourceType,
25241	// supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType
25242	// = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status
25243	// = 'Off'.
25244	Expression *string `min:"1" type:"string"`
25245
25246	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
25247	QueryArn *string `min:"1" type:"string"`
25248
25249	// The ID of the query.
25250	QueryId *string `min:"1" type:"string"`
25251
25252	// The name of the query.
25253	//
25254	// QueryName is a required field
25255	QueryName *string `min:"1" type:"string" required:"true"`
25256}
25257
25258// String returns the string representation
25259func (s StoredQuery) String() string {
25260	return awsutil.Prettify(s)
25261}
25262
25263// GoString returns the string representation
25264func (s StoredQuery) GoString() string {
25265	return s.String()
25266}
25267
25268// Validate inspects the fields of the type to determine if they are valid.
25269func (s *StoredQuery) Validate() error {
25270	invalidParams := request.ErrInvalidParams{Context: "StoredQuery"}
25271	if s.Expression != nil && len(*s.Expression) < 1 {
25272		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
25273	}
25274	if s.QueryArn != nil && len(*s.QueryArn) < 1 {
25275		invalidParams.Add(request.NewErrParamMinLen("QueryArn", 1))
25276	}
25277	if s.QueryId != nil && len(*s.QueryId) < 1 {
25278		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
25279	}
25280	if s.QueryName == nil {
25281		invalidParams.Add(request.NewErrParamRequired("QueryName"))
25282	}
25283	if s.QueryName != nil && len(*s.QueryName) < 1 {
25284		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
25285	}
25286
25287	if invalidParams.Len() > 0 {
25288		return invalidParams
25289	}
25290	return nil
25291}
25292
25293// SetDescription sets the Description field's value.
25294func (s *StoredQuery) SetDescription(v string) *StoredQuery {
25295	s.Description = &v
25296	return s
25297}
25298
25299// SetExpression sets the Expression field's value.
25300func (s *StoredQuery) SetExpression(v string) *StoredQuery {
25301	s.Expression = &v
25302	return s
25303}
25304
25305// SetQueryArn sets the QueryArn field's value.
25306func (s *StoredQuery) SetQueryArn(v string) *StoredQuery {
25307	s.QueryArn = &v
25308	return s
25309}
25310
25311// SetQueryId sets the QueryId field's value.
25312func (s *StoredQuery) SetQueryId(v string) *StoredQuery {
25313	s.QueryId = &v
25314	return s
25315}
25316
25317// SetQueryName sets the QueryName field's value.
25318func (s *StoredQuery) SetQueryName(v string) *StoredQuery {
25319	s.QueryName = &v
25320	return s
25321}
25322
25323// Returns details of a specific query.
25324type StoredQueryMetadata struct {
25325	_ struct{} `type:"structure"`
25326
25327	// A unique description for the query.
25328	Description *string `type:"string"`
25329
25330	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.
25331	//
25332	// QueryArn is a required field
25333	QueryArn *string `min:"1" type:"string" required:"true"`
25334
25335	// The ID of the query.
25336	//
25337	// QueryId is a required field
25338	QueryId *string `min:"1" type:"string" required:"true"`
25339
25340	// The name of the query.
25341	//
25342	// QueryName is a required field
25343	QueryName *string `min:"1" type:"string" required:"true"`
25344}
25345
25346// String returns the string representation
25347func (s StoredQueryMetadata) String() string {
25348	return awsutil.Prettify(s)
25349}
25350
25351// GoString returns the string representation
25352func (s StoredQueryMetadata) GoString() string {
25353	return s.String()
25354}
25355
25356// SetDescription sets the Description field's value.
25357func (s *StoredQueryMetadata) SetDescription(v string) *StoredQueryMetadata {
25358	s.Description = &v
25359	return s
25360}
25361
25362// SetQueryArn sets the QueryArn field's value.
25363func (s *StoredQueryMetadata) SetQueryArn(v string) *StoredQueryMetadata {
25364	s.QueryArn = &v
25365	return s
25366}
25367
25368// SetQueryId sets the QueryId field's value.
25369func (s *StoredQueryMetadata) SetQueryId(v string) *StoredQueryMetadata {
25370	s.QueryId = &v
25371	return s
25372}
25373
25374// SetQueryName sets the QueryName field's value.
25375func (s *StoredQueryMetadata) SetQueryName(v string) *StoredQueryMetadata {
25376	s.QueryName = &v
25377	return s
25378}
25379
25380// The tags for the resource. The metadata that you apply to a resource to help
25381// you categorize and organize them. Each tag consists of a key and an optional
25382// value, both of which you define. Tag keys can have a maximum character length
25383// of 128 characters, and tag values can have a maximum length of 256 characters.
25384type Tag struct {
25385	_ struct{} `type:"structure"`
25386
25387	// One part of a key-value pair that make up a tag. A key is a general label
25388	// that acts like a category for more specific tag values.
25389	Key *string `min:"1" type:"string"`
25390
25391	// The optional part of a key-value pair that make up a tag. A value acts as
25392	// a descriptor within a tag category (key).
25393	Value *string `type:"string"`
25394}
25395
25396// String returns the string representation
25397func (s Tag) String() string {
25398	return awsutil.Prettify(s)
25399}
25400
25401// GoString returns the string representation
25402func (s Tag) GoString() string {
25403	return s.String()
25404}
25405
25406// Validate inspects the fields of the type to determine if they are valid.
25407func (s *Tag) Validate() error {
25408	invalidParams := request.ErrInvalidParams{Context: "Tag"}
25409	if s.Key != nil && len(*s.Key) < 1 {
25410		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
25411	}
25412
25413	if invalidParams.Len() > 0 {
25414		return invalidParams
25415	}
25416	return nil
25417}
25418
25419// SetKey sets the Key field's value.
25420func (s *Tag) SetKey(v string) *Tag {
25421	s.Key = &v
25422	return s
25423}
25424
25425// SetValue sets the Value field's value.
25426func (s *Tag) SetValue(v string) *Tag {
25427	s.Value = &v
25428	return s
25429}
25430
25431type TagResourceInput struct {
25432	_ struct{} `type:"structure"`
25433
25434	// The Amazon Resource Name (ARN) that identifies the resource for which to
25435	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
25436	// and AggregatorAuthorization.
25437	//
25438	// ResourceArn is a required field
25439	ResourceArn *string `min:"1" type:"string" required:"true"`
25440
25441	// An array of tag object.
25442	//
25443	// Tags is a required field
25444	Tags []*Tag `min:"1" type:"list" required:"true"`
25445}
25446
25447// String returns the string representation
25448func (s TagResourceInput) String() string {
25449	return awsutil.Prettify(s)
25450}
25451
25452// GoString returns the string representation
25453func (s TagResourceInput) GoString() string {
25454	return s.String()
25455}
25456
25457// Validate inspects the fields of the type to determine if they are valid.
25458func (s *TagResourceInput) Validate() error {
25459	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
25460	if s.ResourceArn == nil {
25461		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
25462	}
25463	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
25464		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
25465	}
25466	if s.Tags == nil {
25467		invalidParams.Add(request.NewErrParamRequired("Tags"))
25468	}
25469	if s.Tags != nil && len(s.Tags) < 1 {
25470		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
25471	}
25472	if s.Tags != nil {
25473		for i, v := range s.Tags {
25474			if v == nil {
25475				continue
25476			}
25477			if err := v.Validate(); err != nil {
25478				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
25479			}
25480		}
25481	}
25482
25483	if invalidParams.Len() > 0 {
25484		return invalidParams
25485	}
25486	return nil
25487}
25488
25489// SetResourceArn sets the ResourceArn field's value.
25490func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
25491	s.ResourceArn = &v
25492	return s
25493}
25494
25495// SetTags sets the Tags field's value.
25496func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
25497	s.Tags = v
25498	return s
25499}
25500
25501type TagResourceOutput struct {
25502	_ struct{} `type:"structure"`
25503}
25504
25505// String returns the string representation
25506func (s TagResourceOutput) String() string {
25507	return awsutil.Prettify(s)
25508}
25509
25510// GoString returns the string representation
25511func (s TagResourceOutput) GoString() string {
25512	return s.String()
25513}
25514
25515// You have reached the limit of the number of tags you can use. You have more
25516// than 50 tags.
25517type TooManyTagsException struct {
25518	_            struct{}                  `type:"structure"`
25519	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25520
25521	Message_ *string `locationName:"message" type:"string"`
25522}
25523
25524// String returns the string representation
25525func (s TooManyTagsException) String() string {
25526	return awsutil.Prettify(s)
25527}
25528
25529// GoString returns the string representation
25530func (s TooManyTagsException) GoString() string {
25531	return s.String()
25532}
25533
25534func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
25535	return &TooManyTagsException{
25536		RespMetadata: v,
25537	}
25538}
25539
25540// Code returns the exception type name.
25541func (s *TooManyTagsException) Code() string {
25542	return "TooManyTagsException"
25543}
25544
25545// Message returns the exception's message.
25546func (s *TooManyTagsException) Message() string {
25547	if s.Message_ != nil {
25548		return *s.Message_
25549	}
25550	return ""
25551}
25552
25553// OrigErr always returns nil, satisfies awserr.Error interface.
25554func (s *TooManyTagsException) OrigErr() error {
25555	return nil
25556}
25557
25558func (s *TooManyTagsException) Error() string {
25559	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
25560}
25561
25562// Status code returns the HTTP status code for the request's response error.
25563func (s *TooManyTagsException) StatusCode() int {
25564	return s.RespMetadata.StatusCode
25565}
25566
25567// RequestID returns the service's response RequestID for request.
25568func (s *TooManyTagsException) RequestID() string {
25569	return s.RespMetadata.RequestID
25570}
25571
25572type UntagResourceInput struct {
25573	_ struct{} `type:"structure"`
25574
25575	// The Amazon Resource Name (ARN) that identifies the resource for which to
25576	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
25577	// and AggregatorAuthorization.
25578	//
25579	// ResourceArn is a required field
25580	ResourceArn *string `min:"1" type:"string" required:"true"`
25581
25582	// The keys of the tags to be removed.
25583	//
25584	// TagKeys is a required field
25585	TagKeys []*string `min:"1" type:"list" required:"true"`
25586}
25587
25588// String returns the string representation
25589func (s UntagResourceInput) String() string {
25590	return awsutil.Prettify(s)
25591}
25592
25593// GoString returns the string representation
25594func (s UntagResourceInput) GoString() string {
25595	return s.String()
25596}
25597
25598// Validate inspects the fields of the type to determine if they are valid.
25599func (s *UntagResourceInput) Validate() error {
25600	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
25601	if s.ResourceArn == nil {
25602		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
25603	}
25604	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
25605		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
25606	}
25607	if s.TagKeys == nil {
25608		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
25609	}
25610	if s.TagKeys != nil && len(s.TagKeys) < 1 {
25611		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
25612	}
25613
25614	if invalidParams.Len() > 0 {
25615		return invalidParams
25616	}
25617	return nil
25618}
25619
25620// SetResourceArn sets the ResourceArn field's value.
25621func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
25622	s.ResourceArn = &v
25623	return s
25624}
25625
25626// SetTagKeys sets the TagKeys field's value.
25627func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
25628	s.TagKeys = v
25629	return s
25630}
25631
25632type UntagResourceOutput struct {
25633	_ struct{} `type:"structure"`
25634}
25635
25636// String returns the string representation
25637func (s UntagResourceOutput) String() string {
25638	return awsutil.Prettify(s)
25639}
25640
25641// GoString returns the string representation
25642func (s UntagResourceOutput) GoString() string {
25643	return s.String()
25644}
25645
25646// The requested action is not valid.
25647//
25648// For PutStoredQuery, you will see this exception if there are missing required
25649// fields or if the input value fails the validation, or if you are trying to
25650// create more than 300 queries.
25651//
25652// For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this
25653// exception if there are missing required fields or if the input value fails
25654// the validation.
25655type ValidationException struct {
25656	_            struct{}                  `type:"structure"`
25657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25658
25659	Message_ *string `locationName:"message" type:"string"`
25660}
25661
25662// String returns the string representation
25663func (s ValidationException) String() string {
25664	return awsutil.Prettify(s)
25665}
25666
25667// GoString returns the string representation
25668func (s ValidationException) GoString() string {
25669	return s.String()
25670}
25671
25672func newErrorValidationException(v protocol.ResponseMetadata) error {
25673	return &ValidationException{
25674		RespMetadata: v,
25675	}
25676}
25677
25678// Code returns the exception type name.
25679func (s *ValidationException) Code() string {
25680	return "ValidationException"
25681}
25682
25683// Message returns the exception's message.
25684func (s *ValidationException) Message() string {
25685	if s.Message_ != nil {
25686		return *s.Message_
25687	}
25688	return ""
25689}
25690
25691// OrigErr always returns nil, satisfies awserr.Error interface.
25692func (s *ValidationException) OrigErr() error {
25693	return nil
25694}
25695
25696func (s *ValidationException) Error() string {
25697	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
25698}
25699
25700// Status code returns the HTTP status code for the request's response error.
25701func (s *ValidationException) StatusCode() int {
25702	return s.RespMetadata.StatusCode
25703}
25704
25705// RequestID returns the service's response RequestID for request.
25706func (s *ValidationException) RequestID() string {
25707	return s.RespMetadata.RequestID
25708}
25709
25710const (
25711	// AggregateConformancePackComplianceSummaryGroupKeyAccountId is a AggregateConformancePackComplianceSummaryGroupKey enum value
25712	AggregateConformancePackComplianceSummaryGroupKeyAccountId = "ACCOUNT_ID"
25713
25714	// AggregateConformancePackComplianceSummaryGroupKeyAwsRegion is a AggregateConformancePackComplianceSummaryGroupKey enum value
25715	AggregateConformancePackComplianceSummaryGroupKeyAwsRegion = "AWS_REGION"
25716)
25717
25718// AggregateConformancePackComplianceSummaryGroupKey_Values returns all elements of the AggregateConformancePackComplianceSummaryGroupKey enum
25719func AggregateConformancePackComplianceSummaryGroupKey_Values() []string {
25720	return []string{
25721		AggregateConformancePackComplianceSummaryGroupKeyAccountId,
25722		AggregateConformancePackComplianceSummaryGroupKeyAwsRegion,
25723	}
25724}
25725
25726const (
25727	// AggregatedSourceStatusTypeFailed is a AggregatedSourceStatusType enum value
25728	AggregatedSourceStatusTypeFailed = "FAILED"
25729
25730	// AggregatedSourceStatusTypeSucceeded is a AggregatedSourceStatusType enum value
25731	AggregatedSourceStatusTypeSucceeded = "SUCCEEDED"
25732
25733	// AggregatedSourceStatusTypeOutdated is a AggregatedSourceStatusType enum value
25734	AggregatedSourceStatusTypeOutdated = "OUTDATED"
25735)
25736
25737// AggregatedSourceStatusType_Values returns all elements of the AggregatedSourceStatusType enum
25738func AggregatedSourceStatusType_Values() []string {
25739	return []string{
25740		AggregatedSourceStatusTypeFailed,
25741		AggregatedSourceStatusTypeSucceeded,
25742		AggregatedSourceStatusTypeOutdated,
25743	}
25744}
25745
25746const (
25747	// AggregatedSourceTypeAccount is a AggregatedSourceType enum value
25748	AggregatedSourceTypeAccount = "ACCOUNT"
25749
25750	// AggregatedSourceTypeOrganization is a AggregatedSourceType enum value
25751	AggregatedSourceTypeOrganization = "ORGANIZATION"
25752)
25753
25754// AggregatedSourceType_Values returns all elements of the AggregatedSourceType enum
25755func AggregatedSourceType_Values() []string {
25756	return []string{
25757		AggregatedSourceTypeAccount,
25758		AggregatedSourceTypeOrganization,
25759	}
25760}
25761
25762const (
25763	// ChronologicalOrderReverse is a ChronologicalOrder enum value
25764	ChronologicalOrderReverse = "Reverse"
25765
25766	// ChronologicalOrderForward is a ChronologicalOrder enum value
25767	ChronologicalOrderForward = "Forward"
25768)
25769
25770// ChronologicalOrder_Values returns all elements of the ChronologicalOrder enum
25771func ChronologicalOrder_Values() []string {
25772	return []string{
25773		ChronologicalOrderReverse,
25774		ChronologicalOrderForward,
25775	}
25776}
25777
25778const (
25779	// ComplianceTypeCompliant is a ComplianceType enum value
25780	ComplianceTypeCompliant = "COMPLIANT"
25781
25782	// ComplianceTypeNonCompliant is a ComplianceType enum value
25783	ComplianceTypeNonCompliant = "NON_COMPLIANT"
25784
25785	// ComplianceTypeNotApplicable is a ComplianceType enum value
25786	ComplianceTypeNotApplicable = "NOT_APPLICABLE"
25787
25788	// ComplianceTypeInsufficientData is a ComplianceType enum value
25789	ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
25790)
25791
25792// ComplianceType_Values returns all elements of the ComplianceType enum
25793func ComplianceType_Values() []string {
25794	return []string{
25795		ComplianceTypeCompliant,
25796		ComplianceTypeNonCompliant,
25797		ComplianceTypeNotApplicable,
25798		ComplianceTypeInsufficientData,
25799	}
25800}
25801
25802const (
25803	// ConfigRuleComplianceSummaryGroupKeyAccountId is a ConfigRuleComplianceSummaryGroupKey enum value
25804	ConfigRuleComplianceSummaryGroupKeyAccountId = "ACCOUNT_ID"
25805
25806	// ConfigRuleComplianceSummaryGroupKeyAwsRegion is a ConfigRuleComplianceSummaryGroupKey enum value
25807	ConfigRuleComplianceSummaryGroupKeyAwsRegion = "AWS_REGION"
25808)
25809
25810// ConfigRuleComplianceSummaryGroupKey_Values returns all elements of the ConfigRuleComplianceSummaryGroupKey enum
25811func ConfigRuleComplianceSummaryGroupKey_Values() []string {
25812	return []string{
25813		ConfigRuleComplianceSummaryGroupKeyAccountId,
25814		ConfigRuleComplianceSummaryGroupKeyAwsRegion,
25815	}
25816}
25817
25818const (
25819	// ConfigRuleStateActive is a ConfigRuleState enum value
25820	ConfigRuleStateActive = "ACTIVE"
25821
25822	// ConfigRuleStateDeleting is a ConfigRuleState enum value
25823	ConfigRuleStateDeleting = "DELETING"
25824
25825	// ConfigRuleStateDeletingResults is a ConfigRuleState enum value
25826	ConfigRuleStateDeletingResults = "DELETING_RESULTS"
25827
25828	// ConfigRuleStateEvaluating is a ConfigRuleState enum value
25829	ConfigRuleStateEvaluating = "EVALUATING"
25830)
25831
25832// ConfigRuleState_Values returns all elements of the ConfigRuleState enum
25833func ConfigRuleState_Values() []string {
25834	return []string{
25835		ConfigRuleStateActive,
25836		ConfigRuleStateDeleting,
25837		ConfigRuleStateDeletingResults,
25838		ConfigRuleStateEvaluating,
25839	}
25840}
25841
25842const (
25843	// ConfigurationItemStatusOk is a ConfigurationItemStatus enum value
25844	ConfigurationItemStatusOk = "OK"
25845
25846	// ConfigurationItemStatusResourceDiscovered is a ConfigurationItemStatus enum value
25847	ConfigurationItemStatusResourceDiscovered = "ResourceDiscovered"
25848
25849	// ConfigurationItemStatusResourceNotRecorded is a ConfigurationItemStatus enum value
25850	ConfigurationItemStatusResourceNotRecorded = "ResourceNotRecorded"
25851
25852	// ConfigurationItemStatusResourceDeleted is a ConfigurationItemStatus enum value
25853	ConfigurationItemStatusResourceDeleted = "ResourceDeleted"
25854
25855	// ConfigurationItemStatusResourceDeletedNotRecorded is a ConfigurationItemStatus enum value
25856	ConfigurationItemStatusResourceDeletedNotRecorded = "ResourceDeletedNotRecorded"
25857)
25858
25859// ConfigurationItemStatus_Values returns all elements of the ConfigurationItemStatus enum
25860func ConfigurationItemStatus_Values() []string {
25861	return []string{
25862		ConfigurationItemStatusOk,
25863		ConfigurationItemStatusResourceDiscovered,
25864		ConfigurationItemStatusResourceNotRecorded,
25865		ConfigurationItemStatusResourceDeleted,
25866		ConfigurationItemStatusResourceDeletedNotRecorded,
25867	}
25868}
25869
25870const (
25871	// ConformancePackComplianceTypeCompliant is a ConformancePackComplianceType enum value
25872	ConformancePackComplianceTypeCompliant = "COMPLIANT"
25873
25874	// ConformancePackComplianceTypeNonCompliant is a ConformancePackComplianceType enum value
25875	ConformancePackComplianceTypeNonCompliant = "NON_COMPLIANT"
25876
25877	// ConformancePackComplianceTypeInsufficientData is a ConformancePackComplianceType enum value
25878	ConformancePackComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
25879)
25880
25881// ConformancePackComplianceType_Values returns all elements of the ConformancePackComplianceType enum
25882func ConformancePackComplianceType_Values() []string {
25883	return []string{
25884		ConformancePackComplianceTypeCompliant,
25885		ConformancePackComplianceTypeNonCompliant,
25886		ConformancePackComplianceTypeInsufficientData,
25887	}
25888}
25889
25890const (
25891	// ConformancePackStateCreateInProgress is a ConformancePackState enum value
25892	ConformancePackStateCreateInProgress = "CREATE_IN_PROGRESS"
25893
25894	// ConformancePackStateCreateComplete is a ConformancePackState enum value
25895	ConformancePackStateCreateComplete = "CREATE_COMPLETE"
25896
25897	// ConformancePackStateCreateFailed is a ConformancePackState enum value
25898	ConformancePackStateCreateFailed = "CREATE_FAILED"
25899
25900	// ConformancePackStateDeleteInProgress is a ConformancePackState enum value
25901	ConformancePackStateDeleteInProgress = "DELETE_IN_PROGRESS"
25902
25903	// ConformancePackStateDeleteFailed is a ConformancePackState enum value
25904	ConformancePackStateDeleteFailed = "DELETE_FAILED"
25905)
25906
25907// ConformancePackState_Values returns all elements of the ConformancePackState enum
25908func ConformancePackState_Values() []string {
25909	return []string{
25910		ConformancePackStateCreateInProgress,
25911		ConformancePackStateCreateComplete,
25912		ConformancePackStateCreateFailed,
25913		ConformancePackStateDeleteInProgress,
25914		ConformancePackStateDeleteFailed,
25915	}
25916}
25917
25918const (
25919	// DeliveryStatusSuccess is a DeliveryStatus enum value
25920	DeliveryStatusSuccess = "Success"
25921
25922	// DeliveryStatusFailure is a DeliveryStatus enum value
25923	DeliveryStatusFailure = "Failure"
25924
25925	// DeliveryStatusNotApplicable is a DeliveryStatus enum value
25926	DeliveryStatusNotApplicable = "Not_Applicable"
25927)
25928
25929// DeliveryStatus_Values returns all elements of the DeliveryStatus enum
25930func DeliveryStatus_Values() []string {
25931	return []string{
25932		DeliveryStatusSuccess,
25933		DeliveryStatusFailure,
25934		DeliveryStatusNotApplicable,
25935	}
25936}
25937
25938const (
25939	// EventSourceAwsConfig is a EventSource enum value
25940	EventSourceAwsConfig = "aws.config"
25941)
25942
25943// EventSource_Values returns all elements of the EventSource enum
25944func EventSource_Values() []string {
25945	return []string{
25946		EventSourceAwsConfig,
25947	}
25948}
25949
25950const (
25951	// MaximumExecutionFrequencyOneHour is a MaximumExecutionFrequency enum value
25952	MaximumExecutionFrequencyOneHour = "One_Hour"
25953
25954	// MaximumExecutionFrequencyThreeHours is a MaximumExecutionFrequency enum value
25955	MaximumExecutionFrequencyThreeHours = "Three_Hours"
25956
25957	// MaximumExecutionFrequencySixHours is a MaximumExecutionFrequency enum value
25958	MaximumExecutionFrequencySixHours = "Six_Hours"
25959
25960	// MaximumExecutionFrequencyTwelveHours is a MaximumExecutionFrequency enum value
25961	MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
25962
25963	// MaximumExecutionFrequencyTwentyFourHours is a MaximumExecutionFrequency enum value
25964	MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
25965)
25966
25967// MaximumExecutionFrequency_Values returns all elements of the MaximumExecutionFrequency enum
25968func MaximumExecutionFrequency_Values() []string {
25969	return []string{
25970		MaximumExecutionFrequencyOneHour,
25971		MaximumExecutionFrequencyThreeHours,
25972		MaximumExecutionFrequencySixHours,
25973		MaximumExecutionFrequencyTwelveHours,
25974		MaximumExecutionFrequencyTwentyFourHours,
25975	}
25976}
25977
25978const (
25979	// MemberAccountRuleStatusCreateSuccessful is a MemberAccountRuleStatus enum value
25980	MemberAccountRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
25981
25982	// MemberAccountRuleStatusCreateInProgress is a MemberAccountRuleStatus enum value
25983	MemberAccountRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
25984
25985	// MemberAccountRuleStatusCreateFailed is a MemberAccountRuleStatus enum value
25986	MemberAccountRuleStatusCreateFailed = "CREATE_FAILED"
25987
25988	// MemberAccountRuleStatusDeleteSuccessful is a MemberAccountRuleStatus enum value
25989	MemberAccountRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
25990
25991	// MemberAccountRuleStatusDeleteFailed is a MemberAccountRuleStatus enum value
25992	MemberAccountRuleStatusDeleteFailed = "DELETE_FAILED"
25993
25994	// MemberAccountRuleStatusDeleteInProgress is a MemberAccountRuleStatus enum value
25995	MemberAccountRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
25996
25997	// MemberAccountRuleStatusUpdateSuccessful is a MemberAccountRuleStatus enum value
25998	MemberAccountRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
25999
26000	// MemberAccountRuleStatusUpdateInProgress is a MemberAccountRuleStatus enum value
26001	MemberAccountRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
26002
26003	// MemberAccountRuleStatusUpdateFailed is a MemberAccountRuleStatus enum value
26004	MemberAccountRuleStatusUpdateFailed = "UPDATE_FAILED"
26005)
26006
26007// MemberAccountRuleStatus_Values returns all elements of the MemberAccountRuleStatus enum
26008func MemberAccountRuleStatus_Values() []string {
26009	return []string{
26010		MemberAccountRuleStatusCreateSuccessful,
26011		MemberAccountRuleStatusCreateInProgress,
26012		MemberAccountRuleStatusCreateFailed,
26013		MemberAccountRuleStatusDeleteSuccessful,
26014		MemberAccountRuleStatusDeleteFailed,
26015		MemberAccountRuleStatusDeleteInProgress,
26016		MemberAccountRuleStatusUpdateSuccessful,
26017		MemberAccountRuleStatusUpdateInProgress,
26018		MemberAccountRuleStatusUpdateFailed,
26019	}
26020}
26021
26022const (
26023	// MessageTypeConfigurationItemChangeNotification is a MessageType enum value
26024	MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
26025
26026	// MessageTypeConfigurationSnapshotDeliveryCompleted is a MessageType enum value
26027	MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
26028
26029	// MessageTypeScheduledNotification is a MessageType enum value
26030	MessageTypeScheduledNotification = "ScheduledNotification"
26031
26032	// MessageTypeOversizedConfigurationItemChangeNotification is a MessageType enum value
26033	MessageTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
26034)
26035
26036// MessageType_Values returns all elements of the MessageType enum
26037func MessageType_Values() []string {
26038	return []string{
26039		MessageTypeConfigurationItemChangeNotification,
26040		MessageTypeConfigurationSnapshotDeliveryCompleted,
26041		MessageTypeScheduledNotification,
26042		MessageTypeOversizedConfigurationItemChangeNotification,
26043	}
26044}
26045
26046const (
26047	// OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
26048	OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
26049
26050	// OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
26051	OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
26052
26053	// OrganizationConfigRuleTriggerTypeScheduledNotification is a OrganizationConfigRuleTriggerType enum value
26054	OrganizationConfigRuleTriggerTypeScheduledNotification = "ScheduledNotification"
26055)
26056
26057// OrganizationConfigRuleTriggerType_Values returns all elements of the OrganizationConfigRuleTriggerType enum
26058func OrganizationConfigRuleTriggerType_Values() []string {
26059	return []string{
26060		OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification,
26061		OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification,
26062		OrganizationConfigRuleTriggerTypeScheduledNotification,
26063	}
26064}
26065
26066const (
26067	// OrganizationResourceDetailedStatusCreateSuccessful is a OrganizationResourceDetailedStatus enum value
26068	OrganizationResourceDetailedStatusCreateSuccessful = "CREATE_SUCCESSFUL"
26069
26070	// OrganizationResourceDetailedStatusCreateInProgress is a OrganizationResourceDetailedStatus enum value
26071	OrganizationResourceDetailedStatusCreateInProgress = "CREATE_IN_PROGRESS"
26072
26073	// OrganizationResourceDetailedStatusCreateFailed is a OrganizationResourceDetailedStatus enum value
26074	OrganizationResourceDetailedStatusCreateFailed = "CREATE_FAILED"
26075
26076	// OrganizationResourceDetailedStatusDeleteSuccessful is a OrganizationResourceDetailedStatus enum value
26077	OrganizationResourceDetailedStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
26078
26079	// OrganizationResourceDetailedStatusDeleteFailed is a OrganizationResourceDetailedStatus enum value
26080	OrganizationResourceDetailedStatusDeleteFailed = "DELETE_FAILED"
26081
26082	// OrganizationResourceDetailedStatusDeleteInProgress is a OrganizationResourceDetailedStatus enum value
26083	OrganizationResourceDetailedStatusDeleteInProgress = "DELETE_IN_PROGRESS"
26084
26085	// OrganizationResourceDetailedStatusUpdateSuccessful is a OrganizationResourceDetailedStatus enum value
26086	OrganizationResourceDetailedStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
26087
26088	// OrganizationResourceDetailedStatusUpdateInProgress is a OrganizationResourceDetailedStatus enum value
26089	OrganizationResourceDetailedStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
26090
26091	// OrganizationResourceDetailedStatusUpdateFailed is a OrganizationResourceDetailedStatus enum value
26092	OrganizationResourceDetailedStatusUpdateFailed = "UPDATE_FAILED"
26093)
26094
26095// OrganizationResourceDetailedStatus_Values returns all elements of the OrganizationResourceDetailedStatus enum
26096func OrganizationResourceDetailedStatus_Values() []string {
26097	return []string{
26098		OrganizationResourceDetailedStatusCreateSuccessful,
26099		OrganizationResourceDetailedStatusCreateInProgress,
26100		OrganizationResourceDetailedStatusCreateFailed,
26101		OrganizationResourceDetailedStatusDeleteSuccessful,
26102		OrganizationResourceDetailedStatusDeleteFailed,
26103		OrganizationResourceDetailedStatusDeleteInProgress,
26104		OrganizationResourceDetailedStatusUpdateSuccessful,
26105		OrganizationResourceDetailedStatusUpdateInProgress,
26106		OrganizationResourceDetailedStatusUpdateFailed,
26107	}
26108}
26109
26110const (
26111	// OrganizationResourceStatusCreateSuccessful is a OrganizationResourceStatus enum value
26112	OrganizationResourceStatusCreateSuccessful = "CREATE_SUCCESSFUL"
26113
26114	// OrganizationResourceStatusCreateInProgress is a OrganizationResourceStatus enum value
26115	OrganizationResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
26116
26117	// OrganizationResourceStatusCreateFailed is a OrganizationResourceStatus enum value
26118	OrganizationResourceStatusCreateFailed = "CREATE_FAILED"
26119
26120	// OrganizationResourceStatusDeleteSuccessful is a OrganizationResourceStatus enum value
26121	OrganizationResourceStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
26122
26123	// OrganizationResourceStatusDeleteFailed is a OrganizationResourceStatus enum value
26124	OrganizationResourceStatusDeleteFailed = "DELETE_FAILED"
26125
26126	// OrganizationResourceStatusDeleteInProgress is a OrganizationResourceStatus enum value
26127	OrganizationResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
26128
26129	// OrganizationResourceStatusUpdateSuccessful is a OrganizationResourceStatus enum value
26130	OrganizationResourceStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
26131
26132	// OrganizationResourceStatusUpdateInProgress is a OrganizationResourceStatus enum value
26133	OrganizationResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
26134
26135	// OrganizationResourceStatusUpdateFailed is a OrganizationResourceStatus enum value
26136	OrganizationResourceStatusUpdateFailed = "UPDATE_FAILED"
26137)
26138
26139// OrganizationResourceStatus_Values returns all elements of the OrganizationResourceStatus enum
26140func OrganizationResourceStatus_Values() []string {
26141	return []string{
26142		OrganizationResourceStatusCreateSuccessful,
26143		OrganizationResourceStatusCreateInProgress,
26144		OrganizationResourceStatusCreateFailed,
26145		OrganizationResourceStatusDeleteSuccessful,
26146		OrganizationResourceStatusDeleteFailed,
26147		OrganizationResourceStatusDeleteInProgress,
26148		OrganizationResourceStatusUpdateSuccessful,
26149		OrganizationResourceStatusUpdateInProgress,
26150		OrganizationResourceStatusUpdateFailed,
26151	}
26152}
26153
26154const (
26155	// OrganizationRuleStatusCreateSuccessful is a OrganizationRuleStatus enum value
26156	OrganizationRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
26157
26158	// OrganizationRuleStatusCreateInProgress is a OrganizationRuleStatus enum value
26159	OrganizationRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
26160
26161	// OrganizationRuleStatusCreateFailed is a OrganizationRuleStatus enum value
26162	OrganizationRuleStatusCreateFailed = "CREATE_FAILED"
26163
26164	// OrganizationRuleStatusDeleteSuccessful is a OrganizationRuleStatus enum value
26165	OrganizationRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
26166
26167	// OrganizationRuleStatusDeleteFailed is a OrganizationRuleStatus enum value
26168	OrganizationRuleStatusDeleteFailed = "DELETE_FAILED"
26169
26170	// OrganizationRuleStatusDeleteInProgress is a OrganizationRuleStatus enum value
26171	OrganizationRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
26172
26173	// OrganizationRuleStatusUpdateSuccessful is a OrganizationRuleStatus enum value
26174	OrganizationRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
26175
26176	// OrganizationRuleStatusUpdateInProgress is a OrganizationRuleStatus enum value
26177	OrganizationRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
26178
26179	// OrganizationRuleStatusUpdateFailed is a OrganizationRuleStatus enum value
26180	OrganizationRuleStatusUpdateFailed = "UPDATE_FAILED"
26181)
26182
26183// OrganizationRuleStatus_Values returns all elements of the OrganizationRuleStatus enum
26184func OrganizationRuleStatus_Values() []string {
26185	return []string{
26186		OrganizationRuleStatusCreateSuccessful,
26187		OrganizationRuleStatusCreateInProgress,
26188		OrganizationRuleStatusCreateFailed,
26189		OrganizationRuleStatusDeleteSuccessful,
26190		OrganizationRuleStatusDeleteFailed,
26191		OrganizationRuleStatusDeleteInProgress,
26192		OrganizationRuleStatusUpdateSuccessful,
26193		OrganizationRuleStatusUpdateInProgress,
26194		OrganizationRuleStatusUpdateFailed,
26195	}
26196}
26197
26198const (
26199	// OwnerCustomLambda is a Owner enum value
26200	OwnerCustomLambda = "CUSTOM_LAMBDA"
26201
26202	// OwnerAws is a Owner enum value
26203	OwnerAws = "AWS"
26204)
26205
26206// Owner_Values returns all elements of the Owner enum
26207func Owner_Values() []string {
26208	return []string{
26209		OwnerCustomLambda,
26210		OwnerAws,
26211	}
26212}
26213
26214const (
26215	// RecorderStatusPending is a RecorderStatus enum value
26216	RecorderStatusPending = "Pending"
26217
26218	// RecorderStatusSuccess is a RecorderStatus enum value
26219	RecorderStatusSuccess = "Success"
26220
26221	// RecorderStatusFailure is a RecorderStatus enum value
26222	RecorderStatusFailure = "Failure"
26223)
26224
26225// RecorderStatus_Values returns all elements of the RecorderStatus enum
26226func RecorderStatus_Values() []string {
26227	return []string{
26228		RecorderStatusPending,
26229		RecorderStatusSuccess,
26230		RecorderStatusFailure,
26231	}
26232}
26233
26234const (
26235	// RemediationExecutionStateQueued is a RemediationExecutionState enum value
26236	RemediationExecutionStateQueued = "QUEUED"
26237
26238	// RemediationExecutionStateInProgress is a RemediationExecutionState enum value
26239	RemediationExecutionStateInProgress = "IN_PROGRESS"
26240
26241	// RemediationExecutionStateSucceeded is a RemediationExecutionState enum value
26242	RemediationExecutionStateSucceeded = "SUCCEEDED"
26243
26244	// RemediationExecutionStateFailed is a RemediationExecutionState enum value
26245	RemediationExecutionStateFailed = "FAILED"
26246)
26247
26248// RemediationExecutionState_Values returns all elements of the RemediationExecutionState enum
26249func RemediationExecutionState_Values() []string {
26250	return []string{
26251		RemediationExecutionStateQueued,
26252		RemediationExecutionStateInProgress,
26253		RemediationExecutionStateSucceeded,
26254		RemediationExecutionStateFailed,
26255	}
26256}
26257
26258const (
26259	// RemediationExecutionStepStateSucceeded is a RemediationExecutionStepState enum value
26260	RemediationExecutionStepStateSucceeded = "SUCCEEDED"
26261
26262	// RemediationExecutionStepStatePending is a RemediationExecutionStepState enum value
26263	RemediationExecutionStepStatePending = "PENDING"
26264
26265	// RemediationExecutionStepStateFailed is a RemediationExecutionStepState enum value
26266	RemediationExecutionStepStateFailed = "FAILED"
26267)
26268
26269// RemediationExecutionStepState_Values returns all elements of the RemediationExecutionStepState enum
26270func RemediationExecutionStepState_Values() []string {
26271	return []string{
26272		RemediationExecutionStepStateSucceeded,
26273		RemediationExecutionStepStatePending,
26274		RemediationExecutionStepStateFailed,
26275	}
26276}
26277
26278const (
26279	// RemediationTargetTypeSsmDocument is a RemediationTargetType enum value
26280	RemediationTargetTypeSsmDocument = "SSM_DOCUMENT"
26281)
26282
26283// RemediationTargetType_Values returns all elements of the RemediationTargetType enum
26284func RemediationTargetType_Values() []string {
26285	return []string{
26286		RemediationTargetTypeSsmDocument,
26287	}
26288}
26289
26290const (
26291	// ResourceCountGroupKeyResourceType is a ResourceCountGroupKey enum value
26292	ResourceCountGroupKeyResourceType = "RESOURCE_TYPE"
26293
26294	// ResourceCountGroupKeyAccountId is a ResourceCountGroupKey enum value
26295	ResourceCountGroupKeyAccountId = "ACCOUNT_ID"
26296
26297	// ResourceCountGroupKeyAwsRegion is a ResourceCountGroupKey enum value
26298	ResourceCountGroupKeyAwsRegion = "AWS_REGION"
26299)
26300
26301// ResourceCountGroupKey_Values returns all elements of the ResourceCountGroupKey enum
26302func ResourceCountGroupKey_Values() []string {
26303	return []string{
26304		ResourceCountGroupKeyResourceType,
26305		ResourceCountGroupKeyAccountId,
26306		ResourceCountGroupKeyAwsRegion,
26307	}
26308}
26309
26310const (
26311	// ResourceTypeAwsEc2CustomerGateway is a ResourceType enum value
26312	ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
26313
26314	// ResourceTypeAwsEc2Eip is a ResourceType enum value
26315	ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
26316
26317	// ResourceTypeAwsEc2Host is a ResourceType enum value
26318	ResourceTypeAwsEc2Host = "AWS::EC2::Host"
26319
26320	// ResourceTypeAwsEc2Instance is a ResourceType enum value
26321	ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
26322
26323	// ResourceTypeAwsEc2InternetGateway is a ResourceType enum value
26324	ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
26325
26326	// ResourceTypeAwsEc2NetworkAcl is a ResourceType enum value
26327	ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
26328
26329	// ResourceTypeAwsEc2NetworkInterface is a ResourceType enum value
26330	ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
26331
26332	// ResourceTypeAwsEc2RouteTable is a ResourceType enum value
26333	ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
26334
26335	// ResourceTypeAwsEc2SecurityGroup is a ResourceType enum value
26336	ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
26337
26338	// ResourceTypeAwsEc2Subnet is a ResourceType enum value
26339	ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
26340
26341	// ResourceTypeAwsCloudTrailTrail is a ResourceType enum value
26342	ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
26343
26344	// ResourceTypeAwsEc2Volume is a ResourceType enum value
26345	ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
26346
26347	// ResourceTypeAwsEc2Vpc is a ResourceType enum value
26348	ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
26349
26350	// ResourceTypeAwsEc2Vpnconnection is a ResourceType enum value
26351	ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
26352
26353	// ResourceTypeAwsEc2Vpngateway is a ResourceType enum value
26354	ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
26355
26356	// ResourceTypeAwsEc2RegisteredHainstance is a ResourceType enum value
26357	ResourceTypeAwsEc2RegisteredHainstance = "AWS::EC2::RegisteredHAInstance"
26358
26359	// ResourceTypeAwsEc2NatGateway is a ResourceType enum value
26360	ResourceTypeAwsEc2NatGateway = "AWS::EC2::NatGateway"
26361
26362	// ResourceTypeAwsEc2EgressOnlyInternetGateway is a ResourceType enum value
26363	ResourceTypeAwsEc2EgressOnlyInternetGateway = "AWS::EC2::EgressOnlyInternetGateway"
26364
26365	// ResourceTypeAwsEc2Vpcendpoint is a ResourceType enum value
26366	ResourceTypeAwsEc2Vpcendpoint = "AWS::EC2::VPCEndpoint"
26367
26368	// ResourceTypeAwsEc2VpcendpointService is a ResourceType enum value
26369	ResourceTypeAwsEc2VpcendpointService = "AWS::EC2::VPCEndpointService"
26370
26371	// ResourceTypeAwsEc2FlowLog is a ResourceType enum value
26372	ResourceTypeAwsEc2FlowLog = "AWS::EC2::FlowLog"
26373
26374	// ResourceTypeAwsEc2VpcpeeringConnection is a ResourceType enum value
26375	ResourceTypeAwsEc2VpcpeeringConnection = "AWS::EC2::VPCPeeringConnection"
26376
26377	// ResourceTypeAwsElasticsearchDomain is a ResourceType enum value
26378	ResourceTypeAwsElasticsearchDomain = "AWS::Elasticsearch::Domain"
26379
26380	// ResourceTypeAwsIamGroup is a ResourceType enum value
26381	ResourceTypeAwsIamGroup = "AWS::IAM::Group"
26382
26383	// ResourceTypeAwsIamPolicy is a ResourceType enum value
26384	ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
26385
26386	// ResourceTypeAwsIamRole is a ResourceType enum value
26387	ResourceTypeAwsIamRole = "AWS::IAM::Role"
26388
26389	// ResourceTypeAwsIamUser is a ResourceType enum value
26390	ResourceTypeAwsIamUser = "AWS::IAM::User"
26391
26392	// ResourceTypeAwsElasticLoadBalancingV2LoadBalancer is a ResourceType enum value
26393	ResourceTypeAwsElasticLoadBalancingV2LoadBalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer"
26394
26395	// ResourceTypeAwsAcmCertificate is a ResourceType enum value
26396	ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
26397
26398	// ResourceTypeAwsRdsDbinstance is a ResourceType enum value
26399	ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
26400
26401	// ResourceTypeAwsRdsDbsubnetGroup is a ResourceType enum value
26402	ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
26403
26404	// ResourceTypeAwsRdsDbsecurityGroup is a ResourceType enum value
26405	ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
26406
26407	// ResourceTypeAwsRdsDbsnapshot is a ResourceType enum value
26408	ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
26409
26410	// ResourceTypeAwsRdsDbcluster is a ResourceType enum value
26411	ResourceTypeAwsRdsDbcluster = "AWS::RDS::DBCluster"
26412
26413	// ResourceTypeAwsRdsDbclusterSnapshot is a ResourceType enum value
26414	ResourceTypeAwsRdsDbclusterSnapshot = "AWS::RDS::DBClusterSnapshot"
26415
26416	// ResourceTypeAwsRdsEventSubscription is a ResourceType enum value
26417	ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
26418
26419	// ResourceTypeAwsS3Bucket is a ResourceType enum value
26420	ResourceTypeAwsS3Bucket = "AWS::S3::Bucket"
26421
26422	// ResourceTypeAwsS3AccountPublicAccessBlock is a ResourceType enum value
26423	ResourceTypeAwsS3AccountPublicAccessBlock = "AWS::S3::AccountPublicAccessBlock"
26424
26425	// ResourceTypeAwsRedshiftCluster is a ResourceType enum value
26426	ResourceTypeAwsRedshiftCluster = "AWS::Redshift::Cluster"
26427
26428	// ResourceTypeAwsRedshiftClusterSnapshot is a ResourceType enum value
26429	ResourceTypeAwsRedshiftClusterSnapshot = "AWS::Redshift::ClusterSnapshot"
26430
26431	// ResourceTypeAwsRedshiftClusterParameterGroup is a ResourceType enum value
26432	ResourceTypeAwsRedshiftClusterParameterGroup = "AWS::Redshift::ClusterParameterGroup"
26433
26434	// ResourceTypeAwsRedshiftClusterSecurityGroup is a ResourceType enum value
26435	ResourceTypeAwsRedshiftClusterSecurityGroup = "AWS::Redshift::ClusterSecurityGroup"
26436
26437	// ResourceTypeAwsRedshiftClusterSubnetGroup is a ResourceType enum value
26438	ResourceTypeAwsRedshiftClusterSubnetGroup = "AWS::Redshift::ClusterSubnetGroup"
26439
26440	// ResourceTypeAwsRedshiftEventSubscription is a ResourceType enum value
26441	ResourceTypeAwsRedshiftEventSubscription = "AWS::Redshift::EventSubscription"
26442
26443	// ResourceTypeAwsSsmManagedInstanceInventory is a ResourceType enum value
26444	ResourceTypeAwsSsmManagedInstanceInventory = "AWS::SSM::ManagedInstanceInventory"
26445
26446	// ResourceTypeAwsCloudWatchAlarm is a ResourceType enum value
26447	ResourceTypeAwsCloudWatchAlarm = "AWS::CloudWatch::Alarm"
26448
26449	// ResourceTypeAwsCloudFormationStack is a ResourceType enum value
26450	ResourceTypeAwsCloudFormationStack = "AWS::CloudFormation::Stack"
26451
26452	// ResourceTypeAwsElasticLoadBalancingLoadBalancer is a ResourceType enum value
26453	ResourceTypeAwsElasticLoadBalancingLoadBalancer = "AWS::ElasticLoadBalancing::LoadBalancer"
26454
26455	// ResourceTypeAwsAutoScalingAutoScalingGroup is a ResourceType enum value
26456	ResourceTypeAwsAutoScalingAutoScalingGroup = "AWS::AutoScaling::AutoScalingGroup"
26457
26458	// ResourceTypeAwsAutoScalingLaunchConfiguration is a ResourceType enum value
26459	ResourceTypeAwsAutoScalingLaunchConfiguration = "AWS::AutoScaling::LaunchConfiguration"
26460
26461	// ResourceTypeAwsAutoScalingScalingPolicy is a ResourceType enum value
26462	ResourceTypeAwsAutoScalingScalingPolicy = "AWS::AutoScaling::ScalingPolicy"
26463
26464	// ResourceTypeAwsAutoScalingScheduledAction is a ResourceType enum value
26465	ResourceTypeAwsAutoScalingScheduledAction = "AWS::AutoScaling::ScheduledAction"
26466
26467	// ResourceTypeAwsDynamoDbTable is a ResourceType enum value
26468	ResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table"
26469
26470	// ResourceTypeAwsCodeBuildProject is a ResourceType enum value
26471	ResourceTypeAwsCodeBuildProject = "AWS::CodeBuild::Project"
26472
26473	// ResourceTypeAwsWafRateBasedRule is a ResourceType enum value
26474	ResourceTypeAwsWafRateBasedRule = "AWS::WAF::RateBasedRule"
26475
26476	// ResourceTypeAwsWafRule is a ResourceType enum value
26477	ResourceTypeAwsWafRule = "AWS::WAF::Rule"
26478
26479	// ResourceTypeAwsWafRuleGroup is a ResourceType enum value
26480	ResourceTypeAwsWafRuleGroup = "AWS::WAF::RuleGroup"
26481
26482	// ResourceTypeAwsWafWebAcl is a ResourceType enum value
26483	ResourceTypeAwsWafWebAcl = "AWS::WAF::WebACL"
26484
26485	// ResourceTypeAwsWafregionalRateBasedRule is a ResourceType enum value
26486	ResourceTypeAwsWafregionalRateBasedRule = "AWS::WAFRegional::RateBasedRule"
26487
26488	// ResourceTypeAwsWafregionalRule is a ResourceType enum value
26489	ResourceTypeAwsWafregionalRule = "AWS::WAFRegional::Rule"
26490
26491	// ResourceTypeAwsWafregionalRuleGroup is a ResourceType enum value
26492	ResourceTypeAwsWafregionalRuleGroup = "AWS::WAFRegional::RuleGroup"
26493
26494	// ResourceTypeAwsWafregionalWebAcl is a ResourceType enum value
26495	ResourceTypeAwsWafregionalWebAcl = "AWS::WAFRegional::WebACL"
26496
26497	// ResourceTypeAwsCloudFrontDistribution is a ResourceType enum value
26498	ResourceTypeAwsCloudFrontDistribution = "AWS::CloudFront::Distribution"
26499
26500	// ResourceTypeAwsCloudFrontStreamingDistribution is a ResourceType enum value
26501	ResourceTypeAwsCloudFrontStreamingDistribution = "AWS::CloudFront::StreamingDistribution"
26502
26503	// ResourceTypeAwsLambdaFunction is a ResourceType enum value
26504	ResourceTypeAwsLambdaFunction = "AWS::Lambda::Function"
26505
26506	// ResourceTypeAwsNetworkFirewallFirewall is a ResourceType enum value
26507	ResourceTypeAwsNetworkFirewallFirewall = "AWS::NetworkFirewall::Firewall"
26508
26509	// ResourceTypeAwsNetworkFirewallFirewallPolicy is a ResourceType enum value
26510	ResourceTypeAwsNetworkFirewallFirewallPolicy = "AWS::NetworkFirewall::FirewallPolicy"
26511
26512	// ResourceTypeAwsNetworkFirewallRuleGroup is a ResourceType enum value
26513	ResourceTypeAwsNetworkFirewallRuleGroup = "AWS::NetworkFirewall::RuleGroup"
26514
26515	// ResourceTypeAwsElasticBeanstalkApplication is a ResourceType enum value
26516	ResourceTypeAwsElasticBeanstalkApplication = "AWS::ElasticBeanstalk::Application"
26517
26518	// ResourceTypeAwsElasticBeanstalkApplicationVersion is a ResourceType enum value
26519	ResourceTypeAwsElasticBeanstalkApplicationVersion = "AWS::ElasticBeanstalk::ApplicationVersion"
26520
26521	// ResourceTypeAwsElasticBeanstalkEnvironment is a ResourceType enum value
26522	ResourceTypeAwsElasticBeanstalkEnvironment = "AWS::ElasticBeanstalk::Environment"
26523
26524	// ResourceTypeAwsWafv2WebAcl is a ResourceType enum value
26525	ResourceTypeAwsWafv2WebAcl = "AWS::WAFv2::WebACL"
26526
26527	// ResourceTypeAwsWafv2RuleGroup is a ResourceType enum value
26528	ResourceTypeAwsWafv2RuleGroup = "AWS::WAFv2::RuleGroup"
26529
26530	// ResourceTypeAwsWafv2Ipset is a ResourceType enum value
26531	ResourceTypeAwsWafv2Ipset = "AWS::WAFv2::IPSet"
26532
26533	// ResourceTypeAwsWafv2RegexPatternSet is a ResourceType enum value
26534	ResourceTypeAwsWafv2RegexPatternSet = "AWS::WAFv2::RegexPatternSet"
26535
26536	// ResourceTypeAwsWafv2ManagedRuleSet is a ResourceType enum value
26537	ResourceTypeAwsWafv2ManagedRuleSet = "AWS::WAFv2::ManagedRuleSet"
26538
26539	// ResourceTypeAwsXrayEncryptionConfig is a ResourceType enum value
26540	ResourceTypeAwsXrayEncryptionConfig = "AWS::XRay::EncryptionConfig"
26541
26542	// ResourceTypeAwsSsmAssociationCompliance is a ResourceType enum value
26543	ResourceTypeAwsSsmAssociationCompliance = "AWS::SSM::AssociationCompliance"
26544
26545	// ResourceTypeAwsSsmPatchCompliance is a ResourceType enum value
26546	ResourceTypeAwsSsmPatchCompliance = "AWS::SSM::PatchCompliance"
26547
26548	// ResourceTypeAwsShieldProtection is a ResourceType enum value
26549	ResourceTypeAwsShieldProtection = "AWS::Shield::Protection"
26550
26551	// ResourceTypeAwsShieldRegionalProtection is a ResourceType enum value
26552	ResourceTypeAwsShieldRegionalProtection = "AWS::ShieldRegional::Protection"
26553
26554	// ResourceTypeAwsConfigConformancePackCompliance is a ResourceType enum value
26555	ResourceTypeAwsConfigConformancePackCompliance = "AWS::Config::ConformancePackCompliance"
26556
26557	// ResourceTypeAwsConfigResourceCompliance is a ResourceType enum value
26558	ResourceTypeAwsConfigResourceCompliance = "AWS::Config::ResourceCompliance"
26559
26560	// ResourceTypeAwsApiGatewayStage is a ResourceType enum value
26561	ResourceTypeAwsApiGatewayStage = "AWS::ApiGateway::Stage"
26562
26563	// ResourceTypeAwsApiGatewayRestApi is a ResourceType enum value
26564	ResourceTypeAwsApiGatewayRestApi = "AWS::ApiGateway::RestApi"
26565
26566	// ResourceTypeAwsApiGatewayV2Stage is a ResourceType enum value
26567	ResourceTypeAwsApiGatewayV2Stage = "AWS::ApiGatewayV2::Stage"
26568
26569	// ResourceTypeAwsApiGatewayV2Api is a ResourceType enum value
26570	ResourceTypeAwsApiGatewayV2Api = "AWS::ApiGatewayV2::Api"
26571
26572	// ResourceTypeAwsCodePipelinePipeline is a ResourceType enum value
26573	ResourceTypeAwsCodePipelinePipeline = "AWS::CodePipeline::Pipeline"
26574
26575	// ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct is a ResourceType enum value
26576	ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct = "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
26577
26578	// ResourceTypeAwsServiceCatalogCloudFormationProduct is a ResourceType enum value
26579	ResourceTypeAwsServiceCatalogCloudFormationProduct = "AWS::ServiceCatalog::CloudFormationProduct"
26580
26581	// ResourceTypeAwsServiceCatalogPortfolio is a ResourceType enum value
26582	ResourceTypeAwsServiceCatalogPortfolio = "AWS::ServiceCatalog::Portfolio"
26583
26584	// ResourceTypeAwsSqsQueue is a ResourceType enum value
26585	ResourceTypeAwsSqsQueue = "AWS::SQS::Queue"
26586
26587	// ResourceTypeAwsKmsKey is a ResourceType enum value
26588	ResourceTypeAwsKmsKey = "AWS::KMS::Key"
26589
26590	// ResourceTypeAwsQldbLedger is a ResourceType enum value
26591	ResourceTypeAwsQldbLedger = "AWS::QLDB::Ledger"
26592
26593	// ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value
26594	ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret"
26595
26596	// ResourceTypeAwsSnsTopic is a ResourceType enum value
26597	ResourceTypeAwsSnsTopic = "AWS::SNS::Topic"
26598
26599	// ResourceTypeAwsSsmFileData is a ResourceType enum value
26600	ResourceTypeAwsSsmFileData = "AWS::SSM::FileData"
26601)
26602
26603// ResourceType_Values returns all elements of the ResourceType enum
26604func ResourceType_Values() []string {
26605	return []string{
26606		ResourceTypeAwsEc2CustomerGateway,
26607		ResourceTypeAwsEc2Eip,
26608		ResourceTypeAwsEc2Host,
26609		ResourceTypeAwsEc2Instance,
26610		ResourceTypeAwsEc2InternetGateway,
26611		ResourceTypeAwsEc2NetworkAcl,
26612		ResourceTypeAwsEc2NetworkInterface,
26613		ResourceTypeAwsEc2RouteTable,
26614		ResourceTypeAwsEc2SecurityGroup,
26615		ResourceTypeAwsEc2Subnet,
26616		ResourceTypeAwsCloudTrailTrail,
26617		ResourceTypeAwsEc2Volume,
26618		ResourceTypeAwsEc2Vpc,
26619		ResourceTypeAwsEc2Vpnconnection,
26620		ResourceTypeAwsEc2Vpngateway,
26621		ResourceTypeAwsEc2RegisteredHainstance,
26622		ResourceTypeAwsEc2NatGateway,
26623		ResourceTypeAwsEc2EgressOnlyInternetGateway,
26624		ResourceTypeAwsEc2Vpcendpoint,
26625		ResourceTypeAwsEc2VpcendpointService,
26626		ResourceTypeAwsEc2FlowLog,
26627		ResourceTypeAwsEc2VpcpeeringConnection,
26628		ResourceTypeAwsElasticsearchDomain,
26629		ResourceTypeAwsIamGroup,
26630		ResourceTypeAwsIamPolicy,
26631		ResourceTypeAwsIamRole,
26632		ResourceTypeAwsIamUser,
26633		ResourceTypeAwsElasticLoadBalancingV2LoadBalancer,
26634		ResourceTypeAwsAcmCertificate,
26635		ResourceTypeAwsRdsDbinstance,
26636		ResourceTypeAwsRdsDbsubnetGroup,
26637		ResourceTypeAwsRdsDbsecurityGroup,
26638		ResourceTypeAwsRdsDbsnapshot,
26639		ResourceTypeAwsRdsDbcluster,
26640		ResourceTypeAwsRdsDbclusterSnapshot,
26641		ResourceTypeAwsRdsEventSubscription,
26642		ResourceTypeAwsS3Bucket,
26643		ResourceTypeAwsS3AccountPublicAccessBlock,
26644		ResourceTypeAwsRedshiftCluster,
26645		ResourceTypeAwsRedshiftClusterSnapshot,
26646		ResourceTypeAwsRedshiftClusterParameterGroup,
26647		ResourceTypeAwsRedshiftClusterSecurityGroup,
26648		ResourceTypeAwsRedshiftClusterSubnetGroup,
26649		ResourceTypeAwsRedshiftEventSubscription,
26650		ResourceTypeAwsSsmManagedInstanceInventory,
26651		ResourceTypeAwsCloudWatchAlarm,
26652		ResourceTypeAwsCloudFormationStack,
26653		ResourceTypeAwsElasticLoadBalancingLoadBalancer,
26654		ResourceTypeAwsAutoScalingAutoScalingGroup,
26655		ResourceTypeAwsAutoScalingLaunchConfiguration,
26656		ResourceTypeAwsAutoScalingScalingPolicy,
26657		ResourceTypeAwsAutoScalingScheduledAction,
26658		ResourceTypeAwsDynamoDbTable,
26659		ResourceTypeAwsCodeBuildProject,
26660		ResourceTypeAwsWafRateBasedRule,
26661		ResourceTypeAwsWafRule,
26662		ResourceTypeAwsWafRuleGroup,
26663		ResourceTypeAwsWafWebAcl,
26664		ResourceTypeAwsWafregionalRateBasedRule,
26665		ResourceTypeAwsWafregionalRule,
26666		ResourceTypeAwsWafregionalRuleGroup,
26667		ResourceTypeAwsWafregionalWebAcl,
26668		ResourceTypeAwsCloudFrontDistribution,
26669		ResourceTypeAwsCloudFrontStreamingDistribution,
26670		ResourceTypeAwsLambdaFunction,
26671		ResourceTypeAwsNetworkFirewallFirewall,
26672		ResourceTypeAwsNetworkFirewallFirewallPolicy,
26673		ResourceTypeAwsNetworkFirewallRuleGroup,
26674		ResourceTypeAwsElasticBeanstalkApplication,
26675		ResourceTypeAwsElasticBeanstalkApplicationVersion,
26676		ResourceTypeAwsElasticBeanstalkEnvironment,
26677		ResourceTypeAwsWafv2WebAcl,
26678		ResourceTypeAwsWafv2RuleGroup,
26679		ResourceTypeAwsWafv2Ipset,
26680		ResourceTypeAwsWafv2RegexPatternSet,
26681		ResourceTypeAwsWafv2ManagedRuleSet,
26682		ResourceTypeAwsXrayEncryptionConfig,
26683		ResourceTypeAwsSsmAssociationCompliance,
26684		ResourceTypeAwsSsmPatchCompliance,
26685		ResourceTypeAwsShieldProtection,
26686		ResourceTypeAwsShieldRegionalProtection,
26687		ResourceTypeAwsConfigConformancePackCompliance,
26688		ResourceTypeAwsConfigResourceCompliance,
26689		ResourceTypeAwsApiGatewayStage,
26690		ResourceTypeAwsApiGatewayRestApi,
26691		ResourceTypeAwsApiGatewayV2Stage,
26692		ResourceTypeAwsApiGatewayV2Api,
26693		ResourceTypeAwsCodePipelinePipeline,
26694		ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct,
26695		ResourceTypeAwsServiceCatalogCloudFormationProduct,
26696		ResourceTypeAwsServiceCatalogPortfolio,
26697		ResourceTypeAwsSqsQueue,
26698		ResourceTypeAwsKmsKey,
26699		ResourceTypeAwsQldbLedger,
26700		ResourceTypeAwsSecretsManagerSecret,
26701		ResourceTypeAwsSnsTopic,
26702		ResourceTypeAwsSsmFileData,
26703	}
26704}
26705
26706const (
26707	// ResourceValueTypeResourceId is a ResourceValueType enum value
26708	ResourceValueTypeResourceId = "RESOURCE_ID"
26709)
26710
26711// ResourceValueType_Values returns all elements of the ResourceValueType enum
26712func ResourceValueType_Values() []string {
26713	return []string{
26714		ResourceValueTypeResourceId,
26715	}
26716}
26717