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//   * NoSuchConfigurationAggregatorException
82//   You have specified a configuration aggregator that does not exist.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfig
85func (c *ConfigService) BatchGetAggregateResourceConfig(input *BatchGetAggregateResourceConfigInput) (*BatchGetAggregateResourceConfigOutput, error) {
86	req, out := c.BatchGetAggregateResourceConfigRequest(input)
87	return out, req.Send()
88}
89
90// BatchGetAggregateResourceConfigWithContext is the same as BatchGetAggregateResourceConfig with the addition of
91// the ability to pass a context and additional request options.
92//
93// See BatchGetAggregateResourceConfig for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *ConfigService) BatchGetAggregateResourceConfigWithContext(ctx aws.Context, input *BatchGetAggregateResourceConfigInput, opts ...request.Option) (*BatchGetAggregateResourceConfigOutput, error) {
100	req, out := c.BatchGetAggregateResourceConfigRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opBatchGetResourceConfig = "BatchGetResourceConfig"
107
108// BatchGetResourceConfigRequest generates a "aws/request.Request" representing the
109// client's request for the BatchGetResourceConfig operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See BatchGetResourceConfig for more information on using the BatchGetResourceConfig
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the BatchGetResourceConfigRequest method.
124//    req, resp := client.BatchGetResourceConfigRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
132func (c *ConfigService) BatchGetResourceConfigRequest(input *BatchGetResourceConfigInput) (req *request.Request, output *BatchGetResourceConfigOutput) {
133	op := &request.Operation{
134		Name:       opBatchGetResourceConfig,
135		HTTPMethod: "POST",
136		HTTPPath:   "/",
137	}
138
139	if input == nil {
140		input = &BatchGetResourceConfigInput{}
141	}
142
143	output = &BatchGetResourceConfigOutput{}
144	req = c.newRequest(op, input, output)
145	return
146}
147
148// BatchGetResourceConfig API operation for AWS Config.
149//
150// Returns the current configuration for one or more requested resources. The
151// operation also returns a list of resources that are not processed in the
152// current request. If there are no unprocessed resources, the operation returns
153// an empty unprocessedResourceKeys list.
154//
155//    * The API does not return results for deleted resources.
156//
157//    * The API does not return any tags for the requested resources. This information
158//    is filtered out of the supplementaryConfiguration section of the API response.
159//
160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
161// with awserr.Error's Code and Message methods to get detailed information about
162// the error.
163//
164// See the AWS API reference guide for AWS Config's
165// API operation BatchGetResourceConfig for usage and error information.
166//
167// Returned Error Types:
168//   * ValidationException
169//   The requested action is not valid.
170//
171//   * NoAvailableConfigurationRecorderException
172//   There are no configuration recorders available to provide the role needed
173//   to describe your resources. Create a configuration recorder.
174//
175// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig
176func (c *ConfigService) BatchGetResourceConfig(input *BatchGetResourceConfigInput) (*BatchGetResourceConfigOutput, error) {
177	req, out := c.BatchGetResourceConfigRequest(input)
178	return out, req.Send()
179}
180
181// BatchGetResourceConfigWithContext is the same as BatchGetResourceConfig with the addition of
182// the ability to pass a context and additional request options.
183//
184// See BatchGetResourceConfig for details on how to use this API operation.
185//
186// The context must be non-nil and will be used for request cancellation. If
187// the context is nil a panic will occur. In the future the SDK may create
188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
189// for more information on using Contexts.
190func (c *ConfigService) BatchGetResourceConfigWithContext(ctx aws.Context, input *BatchGetResourceConfigInput, opts ...request.Option) (*BatchGetResourceConfigOutput, error) {
191	req, out := c.BatchGetResourceConfigRequest(input)
192	req.SetContext(ctx)
193	req.ApplyOptions(opts...)
194	return out, req.Send()
195}
196
197const opDeleteAggregationAuthorization = "DeleteAggregationAuthorization"
198
199// DeleteAggregationAuthorizationRequest generates a "aws/request.Request" representing the
200// client's request for the DeleteAggregationAuthorization operation. The "output" return
201// value will be populated with the request's response once the request completes
202// successfully.
203//
204// Use "Send" method on the returned Request to send the API call to the service.
205// the "output" return value is not valid until after Send returns without error.
206//
207// See DeleteAggregationAuthorization for more information on using the DeleteAggregationAuthorization
208// API call, and error handling.
209//
210// This method is useful when you want to inject custom logic or configuration
211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
212//
213//
214//    // Example sending a request using the DeleteAggregationAuthorizationRequest method.
215//    req, resp := client.DeleteAggregationAuthorizationRequest(params)
216//
217//    err := req.Send()
218//    if err == nil { // resp is now filled
219//        fmt.Println(resp)
220//    }
221//
222// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
223func (c *ConfigService) DeleteAggregationAuthorizationRequest(input *DeleteAggregationAuthorizationInput) (req *request.Request, output *DeleteAggregationAuthorizationOutput) {
224	op := &request.Operation{
225		Name:       opDeleteAggregationAuthorization,
226		HTTPMethod: "POST",
227		HTTPPath:   "/",
228	}
229
230	if input == nil {
231		input = &DeleteAggregationAuthorizationInput{}
232	}
233
234	output = &DeleteAggregationAuthorizationOutput{}
235	req = c.newRequest(op, input, output)
236	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
237	return
238}
239
240// DeleteAggregationAuthorization API operation for AWS Config.
241//
242// Deletes the authorization granted to the specified configuration aggregator
243// account in a specified region.
244//
245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
246// with awserr.Error's Code and Message methods to get detailed information about
247// the error.
248//
249// See the AWS API reference guide for AWS Config's
250// API operation DeleteAggregationAuthorization for usage and error information.
251//
252// Returned Error Types:
253//   * InvalidParameterValueException
254//   One or more of the specified parameters are invalid. Verify that your parameters
255//   are valid and try again.
256//
257// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteAggregationAuthorization
258func (c *ConfigService) DeleteAggregationAuthorization(input *DeleteAggregationAuthorizationInput) (*DeleteAggregationAuthorizationOutput, error) {
259	req, out := c.DeleteAggregationAuthorizationRequest(input)
260	return out, req.Send()
261}
262
263// DeleteAggregationAuthorizationWithContext is the same as DeleteAggregationAuthorization with the addition of
264// the ability to pass a context and additional request options.
265//
266// See DeleteAggregationAuthorization for details on how to use this API operation.
267//
268// The context must be non-nil and will be used for request cancellation. If
269// the context is nil a panic will occur. In the future the SDK may create
270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
271// for more information on using Contexts.
272func (c *ConfigService) DeleteAggregationAuthorizationWithContext(ctx aws.Context, input *DeleteAggregationAuthorizationInput, opts ...request.Option) (*DeleteAggregationAuthorizationOutput, error) {
273	req, out := c.DeleteAggregationAuthorizationRequest(input)
274	req.SetContext(ctx)
275	req.ApplyOptions(opts...)
276	return out, req.Send()
277}
278
279const opDeleteConfigRule = "DeleteConfigRule"
280
281// DeleteConfigRuleRequest generates a "aws/request.Request" representing the
282// client's request for the DeleteConfigRule operation. The "output" return
283// value will be populated with the request's response once the request completes
284// successfully.
285//
286// Use "Send" method on the returned Request to send the API call to the service.
287// the "output" return value is not valid until after Send returns without error.
288//
289// See DeleteConfigRule for more information on using the DeleteConfigRule
290// API call, and error handling.
291//
292// This method is useful when you want to inject custom logic or configuration
293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
294//
295//
296//    // Example sending a request using the DeleteConfigRuleRequest method.
297//    req, resp := client.DeleteConfigRuleRequest(params)
298//
299//    err := req.Send()
300//    if err == nil { // resp is now filled
301//        fmt.Println(resp)
302//    }
303//
304// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
305func (c *ConfigService) DeleteConfigRuleRequest(input *DeleteConfigRuleInput) (req *request.Request, output *DeleteConfigRuleOutput) {
306	op := &request.Operation{
307		Name:       opDeleteConfigRule,
308		HTTPMethod: "POST",
309		HTTPPath:   "/",
310	}
311
312	if input == nil {
313		input = &DeleteConfigRuleInput{}
314	}
315
316	output = &DeleteConfigRuleOutput{}
317	req = c.newRequest(op, input, output)
318	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
319	return
320}
321
322// DeleteConfigRule API operation for AWS Config.
323//
324// Deletes the specified AWS Config rule and all of its evaluation results.
325//
326// AWS Config sets the state of a rule to DELETING until the deletion is complete.
327// You cannot update a rule while it is in this state. If you make a PutConfigRule
328// or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
329//
330// You can check the state of a rule by using the DescribeConfigRules request.
331//
332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
333// with awserr.Error's Code and Message methods to get detailed information about
334// the error.
335//
336// See the AWS API reference guide for AWS Config's
337// API operation DeleteConfigRule for usage and error information.
338//
339// Returned Error Types:
340//   * NoSuchConfigRuleException
341//   One or more AWS Config rules in the request are invalid. Verify that the
342//   rule names are correct and try again.
343//
344//   * ResourceInUseException
345//   You see this exception in the following cases:
346//
347//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
348//      again later.
349//
350//      * For DeleteConfigRule, the rule is deleting your evaluation results.
351//      Try your request again later.
352//
353//      * For DeleteConfigRule, a remediation action is associated with the rule
354//      and AWS Config cannot delete this rule. Delete the remediation action
355//      associated with the rule before deleting the rule and try your request
356//      again later.
357//
358//      * For PutConfigOrganizationRule, organization config rule deletion is
359//      in progress. Try your request again later.
360//
361//      * For DeleteOrganizationConfigRule, organization config rule creation
362//      is in progress. Try your request again later.
363//
364//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
365//      pack creation, update, and deletion is in progress. Try your request again
366//      later.
367//
368//      * For DeleteConformancePack, a conformance pack creation, update, and
369//      deletion is in progress. Try your request again later.
370//
371// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigRule
372func (c *ConfigService) DeleteConfigRule(input *DeleteConfigRuleInput) (*DeleteConfigRuleOutput, error) {
373	req, out := c.DeleteConfigRuleRequest(input)
374	return out, req.Send()
375}
376
377// DeleteConfigRuleWithContext is the same as DeleteConfigRule with the addition of
378// the ability to pass a context and additional request options.
379//
380// See DeleteConfigRule for details on how to use this API operation.
381//
382// The context must be non-nil and will be used for request cancellation. If
383// the context is nil a panic will occur. In the future the SDK may create
384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
385// for more information on using Contexts.
386func (c *ConfigService) DeleteConfigRuleWithContext(ctx aws.Context, input *DeleteConfigRuleInput, opts ...request.Option) (*DeleteConfigRuleOutput, error) {
387	req, out := c.DeleteConfigRuleRequest(input)
388	req.SetContext(ctx)
389	req.ApplyOptions(opts...)
390	return out, req.Send()
391}
392
393const opDeleteConfigurationAggregator = "DeleteConfigurationAggregator"
394
395// DeleteConfigurationAggregatorRequest generates a "aws/request.Request" representing the
396// client's request for the DeleteConfigurationAggregator operation. The "output" return
397// value will be populated with the request's response once the request completes
398// successfully.
399//
400// Use "Send" method on the returned Request to send the API call to the service.
401// the "output" return value is not valid until after Send returns without error.
402//
403// See DeleteConfigurationAggregator for more information on using the DeleteConfigurationAggregator
404// API call, and error handling.
405//
406// This method is useful when you want to inject custom logic or configuration
407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
408//
409//
410//    // Example sending a request using the DeleteConfigurationAggregatorRequest method.
411//    req, resp := client.DeleteConfigurationAggregatorRequest(params)
412//
413//    err := req.Send()
414//    if err == nil { // resp is now filled
415//        fmt.Println(resp)
416//    }
417//
418// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
419func (c *ConfigService) DeleteConfigurationAggregatorRequest(input *DeleteConfigurationAggregatorInput) (req *request.Request, output *DeleteConfigurationAggregatorOutput) {
420	op := &request.Operation{
421		Name:       opDeleteConfigurationAggregator,
422		HTTPMethod: "POST",
423		HTTPPath:   "/",
424	}
425
426	if input == nil {
427		input = &DeleteConfigurationAggregatorInput{}
428	}
429
430	output = &DeleteConfigurationAggregatorOutput{}
431	req = c.newRequest(op, input, output)
432	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
433	return
434}
435
436// DeleteConfigurationAggregator API operation for AWS Config.
437//
438// Deletes the specified configuration aggregator and the aggregated data associated
439// with the aggregator.
440//
441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
442// with awserr.Error's Code and Message methods to get detailed information about
443// the error.
444//
445// See the AWS API reference guide for AWS Config's
446// API operation DeleteConfigurationAggregator for usage and error information.
447//
448// Returned Error Types:
449//   * NoSuchConfigurationAggregatorException
450//   You have specified a configuration aggregator that does not exist.
451//
452// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationAggregator
453func (c *ConfigService) DeleteConfigurationAggregator(input *DeleteConfigurationAggregatorInput) (*DeleteConfigurationAggregatorOutput, error) {
454	req, out := c.DeleteConfigurationAggregatorRequest(input)
455	return out, req.Send()
456}
457
458// DeleteConfigurationAggregatorWithContext is the same as DeleteConfigurationAggregator with the addition of
459// the ability to pass a context and additional request options.
460//
461// See DeleteConfigurationAggregator for details on how to use this API operation.
462//
463// The context must be non-nil and will be used for request cancellation. If
464// the context is nil a panic will occur. In the future the SDK may create
465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
466// for more information on using Contexts.
467func (c *ConfigService) DeleteConfigurationAggregatorWithContext(ctx aws.Context, input *DeleteConfigurationAggregatorInput, opts ...request.Option) (*DeleteConfigurationAggregatorOutput, error) {
468	req, out := c.DeleteConfigurationAggregatorRequest(input)
469	req.SetContext(ctx)
470	req.ApplyOptions(opts...)
471	return out, req.Send()
472}
473
474const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
475
476// DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
477// client's request for the DeleteConfigurationRecorder operation. The "output" return
478// value will be populated with the request's response once the request completes
479// successfully.
480//
481// Use "Send" method on the returned Request to send the API call to the service.
482// the "output" return value is not valid until after Send returns without error.
483//
484// See DeleteConfigurationRecorder for more information on using the DeleteConfigurationRecorder
485// API call, and error handling.
486//
487// This method is useful when you want to inject custom logic or configuration
488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
489//
490//
491//    // Example sending a request using the DeleteConfigurationRecorderRequest method.
492//    req, resp := client.DeleteConfigurationRecorderRequest(params)
493//
494//    err := req.Send()
495//    if err == nil { // resp is now filled
496//        fmt.Println(resp)
497//    }
498//
499// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
500func (c *ConfigService) DeleteConfigurationRecorderRequest(input *DeleteConfigurationRecorderInput) (req *request.Request, output *DeleteConfigurationRecorderOutput) {
501	op := &request.Operation{
502		Name:       opDeleteConfigurationRecorder,
503		HTTPMethod: "POST",
504		HTTPPath:   "/",
505	}
506
507	if input == nil {
508		input = &DeleteConfigurationRecorderInput{}
509	}
510
511	output = &DeleteConfigurationRecorderOutput{}
512	req = c.newRequest(op, input, output)
513	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
514	return
515}
516
517// DeleteConfigurationRecorder API operation for AWS Config.
518//
519// Deletes the configuration recorder.
520//
521// After the configuration recorder is deleted, AWS Config will not record resource
522// configuration changes until you create a new configuration recorder.
523//
524// This action does not delete the configuration information that was previously
525// recorded. You will be able to access the previously recorded information
526// by using the GetResourceConfigHistory action, but you will not be able to
527// access this information in the AWS Config console until you create a new
528// configuration recorder.
529//
530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
531// with awserr.Error's Code and Message methods to get detailed information about
532// the error.
533//
534// See the AWS API reference guide for AWS Config's
535// API operation DeleteConfigurationRecorder for usage and error information.
536//
537// Returned Error Types:
538//   * NoSuchConfigurationRecorderException
539//   You have specified a configuration recorder that does not exist.
540//
541// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConfigurationRecorder
542func (c *ConfigService) DeleteConfigurationRecorder(input *DeleteConfigurationRecorderInput) (*DeleteConfigurationRecorderOutput, error) {
543	req, out := c.DeleteConfigurationRecorderRequest(input)
544	return out, req.Send()
545}
546
547// DeleteConfigurationRecorderWithContext is the same as DeleteConfigurationRecorder with the addition of
548// the ability to pass a context and additional request options.
549//
550// See DeleteConfigurationRecorder for details on how to use this API operation.
551//
552// The context must be non-nil and will be used for request cancellation. If
553// the context is nil a panic will occur. In the future the SDK may create
554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
555// for more information on using Contexts.
556func (c *ConfigService) DeleteConfigurationRecorderWithContext(ctx aws.Context, input *DeleteConfigurationRecorderInput, opts ...request.Option) (*DeleteConfigurationRecorderOutput, error) {
557	req, out := c.DeleteConfigurationRecorderRequest(input)
558	req.SetContext(ctx)
559	req.ApplyOptions(opts...)
560	return out, req.Send()
561}
562
563const opDeleteConformancePack = "DeleteConformancePack"
564
565// DeleteConformancePackRequest generates a "aws/request.Request" representing the
566// client's request for the DeleteConformancePack operation. The "output" return
567// value will be populated with the request's response once the request completes
568// successfully.
569//
570// Use "Send" method on the returned Request to send the API call to the service.
571// the "output" return value is not valid until after Send returns without error.
572//
573// See DeleteConformancePack for more information on using the DeleteConformancePack
574// API call, and error handling.
575//
576// This method is useful when you want to inject custom logic or configuration
577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
578//
579//
580//    // Example sending a request using the DeleteConformancePackRequest method.
581//    req, resp := client.DeleteConformancePackRequest(params)
582//
583//    err := req.Send()
584//    if err == nil { // resp is now filled
585//        fmt.Println(resp)
586//    }
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
589func (c *ConfigService) DeleteConformancePackRequest(input *DeleteConformancePackInput) (req *request.Request, output *DeleteConformancePackOutput) {
590	op := &request.Operation{
591		Name:       opDeleteConformancePack,
592		HTTPMethod: "POST",
593		HTTPPath:   "/",
594	}
595
596	if input == nil {
597		input = &DeleteConformancePackInput{}
598	}
599
600	output = &DeleteConformancePackOutput{}
601	req = c.newRequest(op, input, output)
602	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
603	return
604}
605
606// DeleteConformancePack API operation for AWS Config.
607//
608// Deletes the specified conformance pack and all the AWS Config rules, remediation
609// actions, and all evaluation results within that conformance pack.
610//
611// AWS Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion
612// is complete. You cannot update a conformance pack while it is in this state.
613//
614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
615// with awserr.Error's Code and Message methods to get detailed information about
616// the error.
617//
618// See the AWS API reference guide for AWS Config's
619// API operation DeleteConformancePack for usage and error information.
620//
621// Returned Error Types:
622//   * NoSuchConformancePackException
623//   You specified one or more conformance packs that do not exist.
624//
625//   * ResourceInUseException
626//   You see this exception in the following cases:
627//
628//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
629//      again later.
630//
631//      * For DeleteConfigRule, the rule is deleting your evaluation results.
632//      Try your request again later.
633//
634//      * For DeleteConfigRule, a remediation action is associated with the rule
635//      and AWS Config cannot delete this rule. Delete the remediation action
636//      associated with the rule before deleting the rule and try your request
637//      again later.
638//
639//      * For PutConfigOrganizationRule, organization config rule deletion is
640//      in progress. Try your request again later.
641//
642//      * For DeleteOrganizationConfigRule, organization config rule creation
643//      is in progress. Try your request again later.
644//
645//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
646//      pack creation, update, and deletion is in progress. Try your request again
647//      later.
648//
649//      * For DeleteConformancePack, a conformance pack creation, update, and
650//      deletion is in progress. Try your request again later.
651//
652// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteConformancePack
653func (c *ConfigService) DeleteConformancePack(input *DeleteConformancePackInput) (*DeleteConformancePackOutput, error) {
654	req, out := c.DeleteConformancePackRequest(input)
655	return out, req.Send()
656}
657
658// DeleteConformancePackWithContext is the same as DeleteConformancePack with the addition of
659// the ability to pass a context and additional request options.
660//
661// See DeleteConformancePack for details on how to use this API operation.
662//
663// The context must be non-nil and will be used for request cancellation. If
664// the context is nil a panic will occur. In the future the SDK may create
665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
666// for more information on using Contexts.
667func (c *ConfigService) DeleteConformancePackWithContext(ctx aws.Context, input *DeleteConformancePackInput, opts ...request.Option) (*DeleteConformancePackOutput, error) {
668	req, out := c.DeleteConformancePackRequest(input)
669	req.SetContext(ctx)
670	req.ApplyOptions(opts...)
671	return out, req.Send()
672}
673
674const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
675
676// DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
677// client's request for the DeleteDeliveryChannel operation. The "output" return
678// value will be populated with the request's response once the request completes
679// successfully.
680//
681// Use "Send" method on the returned Request to send the API call to the service.
682// the "output" return value is not valid until after Send returns without error.
683//
684// See DeleteDeliveryChannel for more information on using the DeleteDeliveryChannel
685// API call, and error handling.
686//
687// This method is useful when you want to inject custom logic or configuration
688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
689//
690//
691//    // Example sending a request using the DeleteDeliveryChannelRequest method.
692//    req, resp := client.DeleteDeliveryChannelRequest(params)
693//
694//    err := req.Send()
695//    if err == nil { // resp is now filled
696//        fmt.Println(resp)
697//    }
698//
699// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
700func (c *ConfigService) DeleteDeliveryChannelRequest(input *DeleteDeliveryChannelInput) (req *request.Request, output *DeleteDeliveryChannelOutput) {
701	op := &request.Operation{
702		Name:       opDeleteDeliveryChannel,
703		HTTPMethod: "POST",
704		HTTPPath:   "/",
705	}
706
707	if input == nil {
708		input = &DeleteDeliveryChannelInput{}
709	}
710
711	output = &DeleteDeliveryChannelOutput{}
712	req = c.newRequest(op, input, output)
713	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
714	return
715}
716
717// DeleteDeliveryChannel API operation for AWS Config.
718//
719// Deletes the delivery channel.
720//
721// Before you can delete the delivery channel, you must stop the configuration
722// recorder by using the StopConfigurationRecorder action.
723//
724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
725// with awserr.Error's Code and Message methods to get detailed information about
726// the error.
727//
728// See the AWS API reference guide for AWS Config's
729// API operation DeleteDeliveryChannel for usage and error information.
730//
731// Returned Error Types:
732//   * NoSuchDeliveryChannelException
733//   You have specified a delivery channel that does not exist.
734//
735//   * LastDeliveryChannelDeleteFailedException
736//   You cannot delete the delivery channel you specified because the configuration
737//   recorder is running.
738//
739// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteDeliveryChannel
740func (c *ConfigService) DeleteDeliveryChannel(input *DeleteDeliveryChannelInput) (*DeleteDeliveryChannelOutput, error) {
741	req, out := c.DeleteDeliveryChannelRequest(input)
742	return out, req.Send()
743}
744
745// DeleteDeliveryChannelWithContext is the same as DeleteDeliveryChannel with the addition of
746// the ability to pass a context and additional request options.
747//
748// See DeleteDeliveryChannel for details on how to use this API operation.
749//
750// The context must be non-nil and will be used for request cancellation. If
751// the context is nil a panic will occur. In the future the SDK may create
752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
753// for more information on using Contexts.
754func (c *ConfigService) DeleteDeliveryChannelWithContext(ctx aws.Context, input *DeleteDeliveryChannelInput, opts ...request.Option) (*DeleteDeliveryChannelOutput, error) {
755	req, out := c.DeleteDeliveryChannelRequest(input)
756	req.SetContext(ctx)
757	req.ApplyOptions(opts...)
758	return out, req.Send()
759}
760
761const opDeleteEvaluationResults = "DeleteEvaluationResults"
762
763// DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
764// client's request for the DeleteEvaluationResults operation. The "output" return
765// value will be populated with the request's response once the request completes
766// successfully.
767//
768// Use "Send" method on the returned Request to send the API call to the service.
769// the "output" return value is not valid until after Send returns without error.
770//
771// See DeleteEvaluationResults for more information on using the DeleteEvaluationResults
772// API call, and error handling.
773//
774// This method is useful when you want to inject custom logic or configuration
775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
776//
777//
778//    // Example sending a request using the DeleteEvaluationResultsRequest method.
779//    req, resp := client.DeleteEvaluationResultsRequest(params)
780//
781//    err := req.Send()
782//    if err == nil { // resp is now filled
783//        fmt.Println(resp)
784//    }
785//
786// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
787func (c *ConfigService) DeleteEvaluationResultsRequest(input *DeleteEvaluationResultsInput) (req *request.Request, output *DeleteEvaluationResultsOutput) {
788	op := &request.Operation{
789		Name:       opDeleteEvaluationResults,
790		HTTPMethod: "POST",
791		HTTPPath:   "/",
792	}
793
794	if input == nil {
795		input = &DeleteEvaluationResultsInput{}
796	}
797
798	output = &DeleteEvaluationResultsOutput{}
799	req = c.newRequest(op, input, output)
800	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
801	return
802}
803
804// DeleteEvaluationResults API operation for AWS Config.
805//
806// Deletes the evaluation results for the specified AWS Config rule. You can
807// specify one AWS Config rule per request. After you delete the evaluation
808// results, you can call the StartConfigRulesEvaluation API to start evaluating
809// your AWS resources against the rule.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for AWS Config's
816// API operation DeleteEvaluationResults for usage and error information.
817//
818// Returned Error Types:
819//   * NoSuchConfigRuleException
820//   One or more AWS Config rules in the request are invalid. Verify that the
821//   rule names are correct and try again.
822//
823//   * ResourceInUseException
824//   You see this exception in the following cases:
825//
826//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
827//      again later.
828//
829//      * For DeleteConfigRule, the rule is deleting your evaluation results.
830//      Try your request again later.
831//
832//      * For DeleteConfigRule, a remediation action is associated with the rule
833//      and AWS Config cannot delete this rule. Delete the remediation action
834//      associated with the rule before deleting the rule and try your request
835//      again later.
836//
837//      * For PutConfigOrganizationRule, organization config rule deletion is
838//      in progress. Try your request again later.
839//
840//      * For DeleteOrganizationConfigRule, organization config rule creation
841//      is in progress. Try your request again later.
842//
843//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
844//      pack creation, update, and deletion is in progress. Try your request again
845//      later.
846//
847//      * For DeleteConformancePack, a conformance pack creation, update, and
848//      deletion is in progress. Try your request again later.
849//
850// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteEvaluationResults
851func (c *ConfigService) DeleteEvaluationResults(input *DeleteEvaluationResultsInput) (*DeleteEvaluationResultsOutput, error) {
852	req, out := c.DeleteEvaluationResultsRequest(input)
853	return out, req.Send()
854}
855
856// DeleteEvaluationResultsWithContext is the same as DeleteEvaluationResults with the addition of
857// the ability to pass a context and additional request options.
858//
859// See DeleteEvaluationResults for details on how to use this API operation.
860//
861// The context must be non-nil and will be used for request cancellation. If
862// the context is nil a panic will occur. In the future the SDK may create
863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
864// for more information on using Contexts.
865func (c *ConfigService) DeleteEvaluationResultsWithContext(ctx aws.Context, input *DeleteEvaluationResultsInput, opts ...request.Option) (*DeleteEvaluationResultsOutput, error) {
866	req, out := c.DeleteEvaluationResultsRequest(input)
867	req.SetContext(ctx)
868	req.ApplyOptions(opts...)
869	return out, req.Send()
870}
871
872const opDeleteOrganizationConfigRule = "DeleteOrganizationConfigRule"
873
874// DeleteOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
875// client's request for the DeleteOrganizationConfigRule operation. The "output" return
876// value will be populated with the request's response once the request completes
877// successfully.
878//
879// Use "Send" method on the returned Request to send the API call to the service.
880// the "output" return value is not valid until after Send returns without error.
881//
882// See DeleteOrganizationConfigRule for more information on using the DeleteOrganizationConfigRule
883// API call, and error handling.
884//
885// This method is useful when you want to inject custom logic or configuration
886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
887//
888//
889//    // Example sending a request using the DeleteOrganizationConfigRuleRequest method.
890//    req, resp := client.DeleteOrganizationConfigRuleRequest(params)
891//
892//    err := req.Send()
893//    if err == nil { // resp is now filled
894//        fmt.Println(resp)
895//    }
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
898func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganizationConfigRuleInput) (req *request.Request, output *DeleteOrganizationConfigRuleOutput) {
899	op := &request.Operation{
900		Name:       opDeleteOrganizationConfigRule,
901		HTTPMethod: "POST",
902		HTTPPath:   "/",
903	}
904
905	if input == nil {
906		input = &DeleteOrganizationConfigRuleInput{}
907	}
908
909	output = &DeleteOrganizationConfigRuleOutput{}
910	req = c.newRequest(op, input, output)
911	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
912	return
913}
914
915// DeleteOrganizationConfigRule API operation for AWS Config.
916//
917// Deletes the specified organization config rule and all of its evaluation
918// results from all member accounts in that organization.
919//
920// Only a master account and a delegated administrator account can delete an
921// organization config rule. When calling this API with a delegated administrator,
922// you must ensure AWS Organizations ListDelegatedAdministrator permissions
923// are added.
924//
925// AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion
926// is complete. You cannot update a rule while it is in this state.
927//
928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
929// with awserr.Error's Code and Message methods to get detailed information about
930// the error.
931//
932// See the AWS API reference guide for AWS Config's
933// API operation DeleteOrganizationConfigRule for usage and error information.
934//
935// Returned Error Types:
936//   * NoSuchOrganizationConfigRuleException
937//   You specified one or more organization config rules that do not exist.
938//
939//   * ResourceInUseException
940//   You see this exception in the following cases:
941//
942//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
943//      again later.
944//
945//      * For DeleteConfigRule, the rule is deleting your evaluation results.
946//      Try your request again later.
947//
948//      * For DeleteConfigRule, a remediation action is associated with the rule
949//      and AWS Config cannot delete this rule. Delete the remediation action
950//      associated with the rule before deleting the rule and try your request
951//      again later.
952//
953//      * For PutConfigOrganizationRule, organization config rule deletion is
954//      in progress. Try your request again later.
955//
956//      * For DeleteOrganizationConfigRule, organization config rule creation
957//      is in progress. Try your request again later.
958//
959//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
960//      pack creation, update, and deletion is in progress. Try your request again
961//      later.
962//
963//      * For DeleteConformancePack, a conformance pack creation, update, and
964//      deletion is in progress. Try your request again later.
965//
966//   * OrganizationAccessDeniedException
967//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
968//   API.
969//
970//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
971//   Config throws an exception if APIs are called from member accounts. All APIs
972//   must be called from organization master account.
973//
974// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConfigRule
975func (c *ConfigService) DeleteOrganizationConfigRule(input *DeleteOrganizationConfigRuleInput) (*DeleteOrganizationConfigRuleOutput, error) {
976	req, out := c.DeleteOrganizationConfigRuleRequest(input)
977	return out, req.Send()
978}
979
980// DeleteOrganizationConfigRuleWithContext is the same as DeleteOrganizationConfigRule with the addition of
981// the ability to pass a context and additional request options.
982//
983// See DeleteOrganizationConfigRule for details on how to use this API operation.
984//
985// The context must be non-nil and will be used for request cancellation. If
986// the context is nil a panic will occur. In the future the SDK may create
987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
988// for more information on using Contexts.
989func (c *ConfigService) DeleteOrganizationConfigRuleWithContext(ctx aws.Context, input *DeleteOrganizationConfigRuleInput, opts ...request.Option) (*DeleteOrganizationConfigRuleOutput, error) {
990	req, out := c.DeleteOrganizationConfigRuleRequest(input)
991	req.SetContext(ctx)
992	req.ApplyOptions(opts...)
993	return out, req.Send()
994}
995
996const opDeleteOrganizationConformancePack = "DeleteOrganizationConformancePack"
997
998// DeleteOrganizationConformancePackRequest generates a "aws/request.Request" representing the
999// client's request for the DeleteOrganizationConformancePack operation. The "output" return
1000// value will be populated with the request's response once the request completes
1001// successfully.
1002//
1003// Use "Send" method on the returned Request to send the API call to the service.
1004// the "output" return value is not valid until after Send returns without error.
1005//
1006// See DeleteOrganizationConformancePack for more information on using the DeleteOrganizationConformancePack
1007// API call, and error handling.
1008//
1009// This method is useful when you want to inject custom logic or configuration
1010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1011//
1012//
1013//    // Example sending a request using the DeleteOrganizationConformancePackRequest method.
1014//    req, resp := client.DeleteOrganizationConformancePackRequest(params)
1015//
1016//    err := req.Send()
1017//    if err == nil { // resp is now filled
1018//        fmt.Println(resp)
1019//    }
1020//
1021// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
1022func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOrganizationConformancePackInput) (req *request.Request, output *DeleteOrganizationConformancePackOutput) {
1023	op := &request.Operation{
1024		Name:       opDeleteOrganizationConformancePack,
1025		HTTPMethod: "POST",
1026		HTTPPath:   "/",
1027	}
1028
1029	if input == nil {
1030		input = &DeleteOrganizationConformancePackInput{}
1031	}
1032
1033	output = &DeleteOrganizationConformancePackOutput{}
1034	req = c.newRequest(op, input, output)
1035	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1036	return
1037}
1038
1039// DeleteOrganizationConformancePack API operation for AWS Config.
1040//
1041// Deletes the specified organization conformance pack and all of the config
1042// rules and remediation actions from all member accounts in that organization.
1043//
1044// Only a master account or a delegated administrator account can delete an
1045// organization conformance pack. When calling this API with a delegated administrator,
1046// you must ensure AWS Organizations ListDelegatedAdministrator permissions
1047// are added.
1048//
1049// AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until
1050// the deletion is complete. You cannot update a conformance pack while it is
1051// in this state.
1052//
1053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1054// with awserr.Error's Code and Message methods to get detailed information about
1055// the error.
1056//
1057// See the AWS API reference guide for AWS Config's
1058// API operation DeleteOrganizationConformancePack for usage and error information.
1059//
1060// Returned Error Types:
1061//   * NoSuchOrganizationConformancePackException
1062//   AWS Config organization conformance pack that you passed in the filter does
1063//   not exist.
1064//
1065//   For DeleteOrganizationConformancePack, you tried to delete an organization
1066//   conformance pack that does not exist.
1067//
1068//   * ResourceInUseException
1069//   You see this exception in the following cases:
1070//
1071//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
1072//      again later.
1073//
1074//      * For DeleteConfigRule, the rule is deleting your evaluation results.
1075//      Try your request again later.
1076//
1077//      * For DeleteConfigRule, a remediation action is associated with the rule
1078//      and AWS Config cannot delete this rule. Delete the remediation action
1079//      associated with the rule before deleting the rule and try your request
1080//      again later.
1081//
1082//      * For PutConfigOrganizationRule, organization config rule deletion is
1083//      in progress. Try your request again later.
1084//
1085//      * For DeleteOrganizationConfigRule, organization config rule creation
1086//      is in progress. Try your request again later.
1087//
1088//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
1089//      pack creation, update, and deletion is in progress. Try your request again
1090//      later.
1091//
1092//      * For DeleteConformancePack, a conformance pack creation, update, and
1093//      deletion is in progress. Try your request again later.
1094//
1095//   * OrganizationAccessDeniedException
1096//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
1097//   API.
1098//
1099//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
1100//   Config throws an exception if APIs are called from member accounts. All APIs
1101//   must be called from organization master account.
1102//
1103// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteOrganizationConformancePack
1104func (c *ConfigService) DeleteOrganizationConformancePack(input *DeleteOrganizationConformancePackInput) (*DeleteOrganizationConformancePackOutput, error) {
1105	req, out := c.DeleteOrganizationConformancePackRequest(input)
1106	return out, req.Send()
1107}
1108
1109// DeleteOrganizationConformancePackWithContext is the same as DeleteOrganizationConformancePack with the addition of
1110// the ability to pass a context and additional request options.
1111//
1112// See DeleteOrganizationConformancePack for details on how to use this API operation.
1113//
1114// The context must be non-nil and will be used for request cancellation. If
1115// the context is nil a panic will occur. In the future the SDK may create
1116// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1117// for more information on using Contexts.
1118func (c *ConfigService) DeleteOrganizationConformancePackWithContext(ctx aws.Context, input *DeleteOrganizationConformancePackInput, opts ...request.Option) (*DeleteOrganizationConformancePackOutput, error) {
1119	req, out := c.DeleteOrganizationConformancePackRequest(input)
1120	req.SetContext(ctx)
1121	req.ApplyOptions(opts...)
1122	return out, req.Send()
1123}
1124
1125const opDeletePendingAggregationRequest = "DeletePendingAggregationRequest"
1126
1127// DeletePendingAggregationRequestRequest generates a "aws/request.Request" representing the
1128// client's request for the DeletePendingAggregationRequest operation. The "output" return
1129// value will be populated with the request's response once the request completes
1130// successfully.
1131//
1132// Use "Send" method on the returned Request to send the API call to the service.
1133// the "output" return value is not valid until after Send returns without error.
1134//
1135// See DeletePendingAggregationRequest for more information on using the DeletePendingAggregationRequest
1136// API call, and error handling.
1137//
1138// This method is useful when you want to inject custom logic or configuration
1139// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1140//
1141//
1142//    // Example sending a request using the DeletePendingAggregationRequestRequest method.
1143//    req, resp := client.DeletePendingAggregationRequestRequest(params)
1144//
1145//    err := req.Send()
1146//    if err == nil { // resp is now filled
1147//        fmt.Println(resp)
1148//    }
1149//
1150// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
1151func (c *ConfigService) DeletePendingAggregationRequestRequest(input *DeletePendingAggregationRequestInput) (req *request.Request, output *DeletePendingAggregationRequestOutput) {
1152	op := &request.Operation{
1153		Name:       opDeletePendingAggregationRequest,
1154		HTTPMethod: "POST",
1155		HTTPPath:   "/",
1156	}
1157
1158	if input == nil {
1159		input = &DeletePendingAggregationRequestInput{}
1160	}
1161
1162	output = &DeletePendingAggregationRequestOutput{}
1163	req = c.newRequest(op, input, output)
1164	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1165	return
1166}
1167
1168// DeletePendingAggregationRequest API operation for AWS Config.
1169//
1170// Deletes pending authorization requests for a specified aggregator account
1171// in a specified region.
1172//
1173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1174// with awserr.Error's Code and Message methods to get detailed information about
1175// the error.
1176//
1177// See the AWS API reference guide for AWS Config's
1178// API operation DeletePendingAggregationRequest for usage and error information.
1179//
1180// Returned Error Types:
1181//   * InvalidParameterValueException
1182//   One or more of the specified parameters are invalid. Verify that your parameters
1183//   are valid and try again.
1184//
1185// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeletePendingAggregationRequest
1186func (c *ConfigService) DeletePendingAggregationRequest(input *DeletePendingAggregationRequestInput) (*DeletePendingAggregationRequestOutput, error) {
1187	req, out := c.DeletePendingAggregationRequestRequest(input)
1188	return out, req.Send()
1189}
1190
1191// DeletePendingAggregationRequestWithContext is the same as DeletePendingAggregationRequest with the addition of
1192// the ability to pass a context and additional request options.
1193//
1194// See DeletePendingAggregationRequest for details on how to use this API operation.
1195//
1196// The context must be non-nil and will be used for request cancellation. If
1197// the context is nil a panic will occur. In the future the SDK may create
1198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1199// for more information on using Contexts.
1200func (c *ConfigService) DeletePendingAggregationRequestWithContext(ctx aws.Context, input *DeletePendingAggregationRequestInput, opts ...request.Option) (*DeletePendingAggregationRequestOutput, error) {
1201	req, out := c.DeletePendingAggregationRequestRequest(input)
1202	req.SetContext(ctx)
1203	req.ApplyOptions(opts...)
1204	return out, req.Send()
1205}
1206
1207const opDeleteRemediationConfiguration = "DeleteRemediationConfiguration"
1208
1209// DeleteRemediationConfigurationRequest generates a "aws/request.Request" representing the
1210// client's request for the DeleteRemediationConfiguration operation. The "output" return
1211// value will be populated with the request's response once the request completes
1212// successfully.
1213//
1214// Use "Send" method on the returned Request to send the API call to the service.
1215// the "output" return value is not valid until after Send returns without error.
1216//
1217// See DeleteRemediationConfiguration for more information on using the DeleteRemediationConfiguration
1218// API call, and error handling.
1219//
1220// This method is useful when you want to inject custom logic or configuration
1221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1222//
1223//
1224//    // Example sending a request using the DeleteRemediationConfigurationRequest method.
1225//    req, resp := client.DeleteRemediationConfigurationRequest(params)
1226//
1227//    err := req.Send()
1228//    if err == nil { // resp is now filled
1229//        fmt.Println(resp)
1230//    }
1231//
1232// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
1233func (c *ConfigService) DeleteRemediationConfigurationRequest(input *DeleteRemediationConfigurationInput) (req *request.Request, output *DeleteRemediationConfigurationOutput) {
1234	op := &request.Operation{
1235		Name:       opDeleteRemediationConfiguration,
1236		HTTPMethod: "POST",
1237		HTTPPath:   "/",
1238	}
1239
1240	if input == nil {
1241		input = &DeleteRemediationConfigurationInput{}
1242	}
1243
1244	output = &DeleteRemediationConfigurationOutput{}
1245	req = c.newRequest(op, input, output)
1246	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1247	return
1248}
1249
1250// DeleteRemediationConfiguration API operation for AWS Config.
1251//
1252// Deletes the remediation configuration.
1253//
1254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1255// with awserr.Error's Code and Message methods to get detailed information about
1256// the error.
1257//
1258// See the AWS API reference guide for AWS Config's
1259// API operation DeleteRemediationConfiguration for usage and error information.
1260//
1261// Returned Error Types:
1262//   * NoSuchRemediationConfigurationException
1263//   You specified an AWS Config rule without a remediation configuration.
1264//
1265//   * RemediationInProgressException
1266//   Remediation action is in progress. You can either cancel execution in AWS
1267//   Systems Manager or wait and try again later.
1268//
1269//   * InsufficientPermissionsException
1270//   Indicates one of the following errors:
1271//
1272//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
1273//      to AWS Config lacks permissions to perform the config:Put* action.
1274//
1275//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
1276//      the function ARN, and check the function's permissions.
1277//
1278//      * For PutOrganizationConfigRule, organization config rule cannot be created
1279//      because you do not have permissions to call IAM GetRole action or create
1280//      a service linked role.
1281//
1282//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
1283//      pack cannot be created because you do not have permissions: To call IAM
1284//      GetRole action or create a service linked role. To read Amazon S3 bucket.
1285//
1286// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationConfiguration
1287func (c *ConfigService) DeleteRemediationConfiguration(input *DeleteRemediationConfigurationInput) (*DeleteRemediationConfigurationOutput, error) {
1288	req, out := c.DeleteRemediationConfigurationRequest(input)
1289	return out, req.Send()
1290}
1291
1292// DeleteRemediationConfigurationWithContext is the same as DeleteRemediationConfiguration with the addition of
1293// the ability to pass a context and additional request options.
1294//
1295// See DeleteRemediationConfiguration for details on how to use this API operation.
1296//
1297// The context must be non-nil and will be used for request cancellation. If
1298// the context is nil a panic will occur. In the future the SDK may create
1299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1300// for more information on using Contexts.
1301func (c *ConfigService) DeleteRemediationConfigurationWithContext(ctx aws.Context, input *DeleteRemediationConfigurationInput, opts ...request.Option) (*DeleteRemediationConfigurationOutput, error) {
1302	req, out := c.DeleteRemediationConfigurationRequest(input)
1303	req.SetContext(ctx)
1304	req.ApplyOptions(opts...)
1305	return out, req.Send()
1306}
1307
1308const opDeleteRemediationExceptions = "DeleteRemediationExceptions"
1309
1310// DeleteRemediationExceptionsRequest generates a "aws/request.Request" representing the
1311// client's request for the DeleteRemediationExceptions operation. The "output" return
1312// value will be populated with the request's response once the request completes
1313// successfully.
1314//
1315// Use "Send" method on the returned Request to send the API call to the service.
1316// the "output" return value is not valid until after Send returns without error.
1317//
1318// See DeleteRemediationExceptions for more information on using the DeleteRemediationExceptions
1319// API call, and error handling.
1320//
1321// This method is useful when you want to inject custom logic or configuration
1322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1323//
1324//
1325//    // Example sending a request using the DeleteRemediationExceptionsRequest method.
1326//    req, resp := client.DeleteRemediationExceptionsRequest(params)
1327//
1328//    err := req.Send()
1329//    if err == nil { // resp is now filled
1330//        fmt.Println(resp)
1331//    }
1332//
1333// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
1334func (c *ConfigService) DeleteRemediationExceptionsRequest(input *DeleteRemediationExceptionsInput) (req *request.Request, output *DeleteRemediationExceptionsOutput) {
1335	op := &request.Operation{
1336		Name:       opDeleteRemediationExceptions,
1337		HTTPMethod: "POST",
1338		HTTPPath:   "/",
1339	}
1340
1341	if input == nil {
1342		input = &DeleteRemediationExceptionsInput{}
1343	}
1344
1345	output = &DeleteRemediationExceptionsOutput{}
1346	req = c.newRequest(op, input, output)
1347	return
1348}
1349
1350// DeleteRemediationExceptions API operation for AWS Config.
1351//
1352// Deletes one or more remediation exceptions mentioned in the resource keys.
1353//
1354// AWS Config generates a remediation exception when a problem occurs executing
1355// a remediation action to a specific resource. Remediation exceptions blocks
1356// auto-remediation until the exception is cleared.
1357//
1358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1359// with awserr.Error's Code and Message methods to get detailed information about
1360// the error.
1361//
1362// See the AWS API reference guide for AWS Config's
1363// API operation DeleteRemediationExceptions for usage and error information.
1364//
1365// Returned Error Types:
1366//   * NoSuchRemediationExceptionException
1367//   You tried to delete a remediation exception that does not exist.
1368//
1369// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRemediationExceptions
1370func (c *ConfigService) DeleteRemediationExceptions(input *DeleteRemediationExceptionsInput) (*DeleteRemediationExceptionsOutput, error) {
1371	req, out := c.DeleteRemediationExceptionsRequest(input)
1372	return out, req.Send()
1373}
1374
1375// DeleteRemediationExceptionsWithContext is the same as DeleteRemediationExceptions with the addition of
1376// the ability to pass a context and additional request options.
1377//
1378// See DeleteRemediationExceptions for details on how to use this API operation.
1379//
1380// The context must be non-nil and will be used for request cancellation. If
1381// the context is nil a panic will occur. In the future the SDK may create
1382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1383// for more information on using Contexts.
1384func (c *ConfigService) DeleteRemediationExceptionsWithContext(ctx aws.Context, input *DeleteRemediationExceptionsInput, opts ...request.Option) (*DeleteRemediationExceptionsOutput, error) {
1385	req, out := c.DeleteRemediationExceptionsRequest(input)
1386	req.SetContext(ctx)
1387	req.ApplyOptions(opts...)
1388	return out, req.Send()
1389}
1390
1391const opDeleteResourceConfig = "DeleteResourceConfig"
1392
1393// DeleteResourceConfigRequest generates a "aws/request.Request" representing the
1394// client's request for the DeleteResourceConfig operation. The "output" return
1395// value will be populated with the request's response once the request completes
1396// successfully.
1397//
1398// Use "Send" method on the returned Request to send the API call to the service.
1399// the "output" return value is not valid until after Send returns without error.
1400//
1401// See DeleteResourceConfig for more information on using the DeleteResourceConfig
1402// API call, and error handling.
1403//
1404// This method is useful when you want to inject custom logic or configuration
1405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1406//
1407//
1408//    // Example sending a request using the DeleteResourceConfigRequest method.
1409//    req, resp := client.DeleteResourceConfigRequest(params)
1410//
1411//    err := req.Send()
1412//    if err == nil { // resp is now filled
1413//        fmt.Println(resp)
1414//    }
1415//
1416// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
1417func (c *ConfigService) DeleteResourceConfigRequest(input *DeleteResourceConfigInput) (req *request.Request, output *DeleteResourceConfigOutput) {
1418	op := &request.Operation{
1419		Name:       opDeleteResourceConfig,
1420		HTTPMethod: "POST",
1421		HTTPPath:   "/",
1422	}
1423
1424	if input == nil {
1425		input = &DeleteResourceConfigInput{}
1426	}
1427
1428	output = &DeleteResourceConfigOutput{}
1429	req = c.newRequest(op, input, output)
1430	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1431	return
1432}
1433
1434// DeleteResourceConfig API operation for AWS Config.
1435//
1436// Records the configuration state for a custom resource that has been deleted.
1437// This API records a new ConfigurationItem with a ResourceDeleted status. You
1438// can retrieve the ConfigurationItems recorded for this resource in your AWS
1439// Config History.
1440//
1441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1442// with awserr.Error's Code and Message methods to get detailed information about
1443// the error.
1444//
1445// See the AWS API reference guide for AWS Config's
1446// API operation DeleteResourceConfig for usage and error information.
1447//
1448// Returned Error Types:
1449//   * ValidationException
1450//   The requested action is not valid.
1451//
1452//   * NoRunningConfigurationRecorderException
1453//   There is no configuration recorder running.
1454//
1455// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteResourceConfig
1456func (c *ConfigService) DeleteResourceConfig(input *DeleteResourceConfigInput) (*DeleteResourceConfigOutput, error) {
1457	req, out := c.DeleteResourceConfigRequest(input)
1458	return out, req.Send()
1459}
1460
1461// DeleteResourceConfigWithContext is the same as DeleteResourceConfig with the addition of
1462// the ability to pass a context and additional request options.
1463//
1464// See DeleteResourceConfig for details on how to use this API operation.
1465//
1466// The context must be non-nil and will be used for request cancellation. If
1467// the context is nil a panic will occur. In the future the SDK may create
1468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1469// for more information on using Contexts.
1470func (c *ConfigService) DeleteResourceConfigWithContext(ctx aws.Context, input *DeleteResourceConfigInput, opts ...request.Option) (*DeleteResourceConfigOutput, error) {
1471	req, out := c.DeleteResourceConfigRequest(input)
1472	req.SetContext(ctx)
1473	req.ApplyOptions(opts...)
1474	return out, req.Send()
1475}
1476
1477const opDeleteRetentionConfiguration = "DeleteRetentionConfiguration"
1478
1479// DeleteRetentionConfigurationRequest generates a "aws/request.Request" representing the
1480// client's request for the DeleteRetentionConfiguration operation. The "output" return
1481// value will be populated with the request's response once the request completes
1482// successfully.
1483//
1484// Use "Send" method on the returned Request to send the API call to the service.
1485// the "output" return value is not valid until after Send returns without error.
1486//
1487// See DeleteRetentionConfiguration for more information on using the DeleteRetentionConfiguration
1488// API call, and error handling.
1489//
1490// This method is useful when you want to inject custom logic or configuration
1491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1492//
1493//
1494//    // Example sending a request using the DeleteRetentionConfigurationRequest method.
1495//    req, resp := client.DeleteRetentionConfigurationRequest(params)
1496//
1497//    err := req.Send()
1498//    if err == nil { // resp is now filled
1499//        fmt.Println(resp)
1500//    }
1501//
1502// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
1503func (c *ConfigService) DeleteRetentionConfigurationRequest(input *DeleteRetentionConfigurationInput) (req *request.Request, output *DeleteRetentionConfigurationOutput) {
1504	op := &request.Operation{
1505		Name:       opDeleteRetentionConfiguration,
1506		HTTPMethod: "POST",
1507		HTTPPath:   "/",
1508	}
1509
1510	if input == nil {
1511		input = &DeleteRetentionConfigurationInput{}
1512	}
1513
1514	output = &DeleteRetentionConfigurationOutput{}
1515	req = c.newRequest(op, input, output)
1516	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1517	return
1518}
1519
1520// DeleteRetentionConfiguration API operation for AWS Config.
1521//
1522// Deletes the retention configuration.
1523//
1524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1525// with awserr.Error's Code and Message methods to get detailed information about
1526// the error.
1527//
1528// See the AWS API reference guide for AWS Config's
1529// API operation DeleteRetentionConfiguration for usage and error information.
1530//
1531// Returned Error Types:
1532//   * InvalidParameterValueException
1533//   One or more of the specified parameters are invalid. Verify that your parameters
1534//   are valid and try again.
1535//
1536//   * NoSuchRetentionConfigurationException
1537//   You have specified a retention configuration that does not exist.
1538//
1539// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteRetentionConfiguration
1540func (c *ConfigService) DeleteRetentionConfiguration(input *DeleteRetentionConfigurationInput) (*DeleteRetentionConfigurationOutput, error) {
1541	req, out := c.DeleteRetentionConfigurationRequest(input)
1542	return out, req.Send()
1543}
1544
1545// DeleteRetentionConfigurationWithContext is the same as DeleteRetentionConfiguration with the addition of
1546// the ability to pass a context and additional request options.
1547//
1548// See DeleteRetentionConfiguration for details on how to use this API operation.
1549//
1550// The context must be non-nil and will be used for request cancellation. If
1551// the context is nil a panic will occur. In the future the SDK may create
1552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1553// for more information on using Contexts.
1554func (c *ConfigService) DeleteRetentionConfigurationWithContext(ctx aws.Context, input *DeleteRetentionConfigurationInput, opts ...request.Option) (*DeleteRetentionConfigurationOutput, error) {
1555	req, out := c.DeleteRetentionConfigurationRequest(input)
1556	req.SetContext(ctx)
1557	req.ApplyOptions(opts...)
1558	return out, req.Send()
1559}
1560
1561const opDeleteStoredQuery = "DeleteStoredQuery"
1562
1563// DeleteStoredQueryRequest generates a "aws/request.Request" representing the
1564// client's request for the DeleteStoredQuery operation. The "output" return
1565// value will be populated with the request's response once the request completes
1566// successfully.
1567//
1568// Use "Send" method on the returned Request to send the API call to the service.
1569// the "output" return value is not valid until after Send returns without error.
1570//
1571// See DeleteStoredQuery for more information on using the DeleteStoredQuery
1572// API call, and error handling.
1573//
1574// This method is useful when you want to inject custom logic or configuration
1575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1576//
1577//
1578//    // Example sending a request using the DeleteStoredQueryRequest method.
1579//    req, resp := client.DeleteStoredQueryRequest(params)
1580//
1581//    err := req.Send()
1582//    if err == nil { // resp is now filled
1583//        fmt.Println(resp)
1584//    }
1585//
1586// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
1587func (c *ConfigService) DeleteStoredQueryRequest(input *DeleteStoredQueryInput) (req *request.Request, output *DeleteStoredQueryOutput) {
1588	op := &request.Operation{
1589		Name:       opDeleteStoredQuery,
1590		HTTPMethod: "POST",
1591		HTTPPath:   "/",
1592	}
1593
1594	if input == nil {
1595		input = &DeleteStoredQueryInput{}
1596	}
1597
1598	output = &DeleteStoredQueryOutput{}
1599	req = c.newRequest(op, input, output)
1600	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1601	return
1602}
1603
1604// DeleteStoredQuery API operation for AWS Config.
1605//
1606// Deletes the stored query for an AWS account in an AWS Region.
1607//
1608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1609// with awserr.Error's Code and Message methods to get detailed information about
1610// the error.
1611//
1612// See the AWS API reference guide for AWS Config's
1613// API operation DeleteStoredQuery for usage and error information.
1614//
1615// Returned Error Types:
1616//   * ValidationException
1617//   The requested action is not valid.
1618//
1619//   * ResourceNotFoundException
1620//   You have specified a resource that does not exist.
1621//
1622// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeleteStoredQuery
1623func (c *ConfigService) DeleteStoredQuery(input *DeleteStoredQueryInput) (*DeleteStoredQueryOutput, error) {
1624	req, out := c.DeleteStoredQueryRequest(input)
1625	return out, req.Send()
1626}
1627
1628// DeleteStoredQueryWithContext is the same as DeleteStoredQuery with the addition of
1629// the ability to pass a context and additional request options.
1630//
1631// See DeleteStoredQuery for details on how to use this API operation.
1632//
1633// The context must be non-nil and will be used for request cancellation. If
1634// the context is nil a panic will occur. In the future the SDK may create
1635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1636// for more information on using Contexts.
1637func (c *ConfigService) DeleteStoredQueryWithContext(ctx aws.Context, input *DeleteStoredQueryInput, opts ...request.Option) (*DeleteStoredQueryOutput, error) {
1638	req, out := c.DeleteStoredQueryRequest(input)
1639	req.SetContext(ctx)
1640	req.ApplyOptions(opts...)
1641	return out, req.Send()
1642}
1643
1644const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
1645
1646// DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
1647// client's request for the DeliverConfigSnapshot operation. The "output" return
1648// value will be populated with the request's response once the request completes
1649// successfully.
1650//
1651// Use "Send" method on the returned Request to send the API call to the service.
1652// the "output" return value is not valid until after Send returns without error.
1653//
1654// See DeliverConfigSnapshot for more information on using the DeliverConfigSnapshot
1655// API call, and error handling.
1656//
1657// This method is useful when you want to inject custom logic or configuration
1658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1659//
1660//
1661//    // Example sending a request using the DeliverConfigSnapshotRequest method.
1662//    req, resp := client.DeliverConfigSnapshotRequest(params)
1663//
1664//    err := req.Send()
1665//    if err == nil { // resp is now filled
1666//        fmt.Println(resp)
1667//    }
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
1670func (c *ConfigService) DeliverConfigSnapshotRequest(input *DeliverConfigSnapshotInput) (req *request.Request, output *DeliverConfigSnapshotOutput) {
1671	op := &request.Operation{
1672		Name:       opDeliverConfigSnapshot,
1673		HTTPMethod: "POST",
1674		HTTPPath:   "/",
1675	}
1676
1677	if input == nil {
1678		input = &DeliverConfigSnapshotInput{}
1679	}
1680
1681	output = &DeliverConfigSnapshotOutput{}
1682	req = c.newRequest(op, input, output)
1683	return
1684}
1685
1686// DeliverConfigSnapshot API operation for AWS Config.
1687//
1688// Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
1689// the specified delivery channel. After the delivery has started, AWS Config
1690// sends the following notifications using an Amazon SNS topic that you have
1691// specified.
1692//
1693//    * Notification of the start of the delivery.
1694//
1695//    * Notification of the completion of the delivery, if the delivery was
1696//    successfully completed.
1697//
1698//    * Notification of delivery failure, if the delivery failed.
1699//
1700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1701// with awserr.Error's Code and Message methods to get detailed information about
1702// the error.
1703//
1704// See the AWS API reference guide for AWS Config's
1705// API operation DeliverConfigSnapshot for usage and error information.
1706//
1707// Returned Error Types:
1708//   * NoSuchDeliveryChannelException
1709//   You have specified a delivery channel that does not exist.
1710//
1711//   * NoAvailableConfigurationRecorderException
1712//   There are no configuration recorders available to provide the role needed
1713//   to describe your resources. Create a configuration recorder.
1714//
1715//   * NoRunningConfigurationRecorderException
1716//   There is no configuration recorder running.
1717//
1718// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DeliverConfigSnapshot
1719func (c *ConfigService) DeliverConfigSnapshot(input *DeliverConfigSnapshotInput) (*DeliverConfigSnapshotOutput, error) {
1720	req, out := c.DeliverConfigSnapshotRequest(input)
1721	return out, req.Send()
1722}
1723
1724// DeliverConfigSnapshotWithContext is the same as DeliverConfigSnapshot with the addition of
1725// the ability to pass a context and additional request options.
1726//
1727// See DeliverConfigSnapshot for details on how to use this API operation.
1728//
1729// The context must be non-nil and will be used for request cancellation. If
1730// the context is nil a panic will occur. In the future the SDK may create
1731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1732// for more information on using Contexts.
1733func (c *ConfigService) DeliverConfigSnapshotWithContext(ctx aws.Context, input *DeliverConfigSnapshotInput, opts ...request.Option) (*DeliverConfigSnapshotOutput, error) {
1734	req, out := c.DeliverConfigSnapshotRequest(input)
1735	req.SetContext(ctx)
1736	req.ApplyOptions(opts...)
1737	return out, req.Send()
1738}
1739
1740const opDescribeAggregateComplianceByConfigRules = "DescribeAggregateComplianceByConfigRules"
1741
1742// DescribeAggregateComplianceByConfigRulesRequest generates a "aws/request.Request" representing the
1743// client's request for the DescribeAggregateComplianceByConfigRules operation. The "output" return
1744// value will be populated with the request's response once the request completes
1745// successfully.
1746//
1747// Use "Send" method on the returned Request to send the API call to the service.
1748// the "output" return value is not valid until after Send returns without error.
1749//
1750// See DescribeAggregateComplianceByConfigRules for more information on using the DescribeAggregateComplianceByConfigRules
1751// API call, and error handling.
1752//
1753// This method is useful when you want to inject custom logic or configuration
1754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1755//
1756//
1757//    // Example sending a request using the DescribeAggregateComplianceByConfigRulesRequest method.
1758//    req, resp := client.DescribeAggregateComplianceByConfigRulesRequest(params)
1759//
1760//    err := req.Send()
1761//    if err == nil { // resp is now filled
1762//        fmt.Println(resp)
1763//    }
1764//
1765// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
1766func (c *ConfigService) DescribeAggregateComplianceByConfigRulesRequest(input *DescribeAggregateComplianceByConfigRulesInput) (req *request.Request, output *DescribeAggregateComplianceByConfigRulesOutput) {
1767	op := &request.Operation{
1768		Name:       opDescribeAggregateComplianceByConfigRules,
1769		HTTPMethod: "POST",
1770		HTTPPath:   "/",
1771	}
1772
1773	if input == nil {
1774		input = &DescribeAggregateComplianceByConfigRulesInput{}
1775	}
1776
1777	output = &DescribeAggregateComplianceByConfigRulesOutput{}
1778	req = c.newRequest(op, input, output)
1779	return
1780}
1781
1782// DescribeAggregateComplianceByConfigRules API operation for AWS Config.
1783//
1784// Returns a list of compliant and noncompliant rules with the number of resources
1785// for compliant and noncompliant rules.
1786//
1787// The results can return an empty result page, but if you have a nextToken,
1788// the results are displayed on the next page.
1789//
1790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1791// with awserr.Error's Code and Message methods to get detailed information about
1792// the error.
1793//
1794// See the AWS API reference guide for AWS Config's
1795// API operation DescribeAggregateComplianceByConfigRules for usage and error information.
1796//
1797// Returned Error Types:
1798//   * ValidationException
1799//   The requested action is not valid.
1800//
1801//   * InvalidLimitException
1802//   The specified limit is outside the allowable range.
1803//
1804//   * InvalidNextTokenException
1805//   The specified next token is invalid. Specify the nextToken string that was
1806//   returned in the previous response to get the next page of results.
1807//
1808//   * NoSuchConfigurationAggregatorException
1809//   You have specified a configuration aggregator that does not exist.
1810//
1811// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregateComplianceByConfigRules
1812func (c *ConfigService) DescribeAggregateComplianceByConfigRules(input *DescribeAggregateComplianceByConfigRulesInput) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
1813	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
1814	return out, req.Send()
1815}
1816
1817// DescribeAggregateComplianceByConfigRulesWithContext is the same as DescribeAggregateComplianceByConfigRules with the addition of
1818// the ability to pass a context and additional request options.
1819//
1820// See DescribeAggregateComplianceByConfigRules for details on how to use this API operation.
1821//
1822// The context must be non-nil and will be used for request cancellation. If
1823// the context is nil a panic will occur. In the future the SDK may create
1824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1825// for more information on using Contexts.
1826func (c *ConfigService) DescribeAggregateComplianceByConfigRulesWithContext(ctx aws.Context, input *DescribeAggregateComplianceByConfigRulesInput, opts ...request.Option) (*DescribeAggregateComplianceByConfigRulesOutput, error) {
1827	req, out := c.DescribeAggregateComplianceByConfigRulesRequest(input)
1828	req.SetContext(ctx)
1829	req.ApplyOptions(opts...)
1830	return out, req.Send()
1831}
1832
1833const opDescribeAggregationAuthorizations = "DescribeAggregationAuthorizations"
1834
1835// DescribeAggregationAuthorizationsRequest generates a "aws/request.Request" representing the
1836// client's request for the DescribeAggregationAuthorizations operation. The "output" return
1837// value will be populated with the request's response once the request completes
1838// successfully.
1839//
1840// Use "Send" method on the returned Request to send the API call to the service.
1841// the "output" return value is not valid until after Send returns without error.
1842//
1843// See DescribeAggregationAuthorizations for more information on using the DescribeAggregationAuthorizations
1844// API call, and error handling.
1845//
1846// This method is useful when you want to inject custom logic or configuration
1847// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1848//
1849//
1850//    // Example sending a request using the DescribeAggregationAuthorizationsRequest method.
1851//    req, resp := client.DescribeAggregationAuthorizationsRequest(params)
1852//
1853//    err := req.Send()
1854//    if err == nil { // resp is now filled
1855//        fmt.Println(resp)
1856//    }
1857//
1858// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
1859func (c *ConfigService) DescribeAggregationAuthorizationsRequest(input *DescribeAggregationAuthorizationsInput) (req *request.Request, output *DescribeAggregationAuthorizationsOutput) {
1860	op := &request.Operation{
1861		Name:       opDescribeAggregationAuthorizations,
1862		HTTPMethod: "POST",
1863		HTTPPath:   "/",
1864	}
1865
1866	if input == nil {
1867		input = &DescribeAggregationAuthorizationsInput{}
1868	}
1869
1870	output = &DescribeAggregationAuthorizationsOutput{}
1871	req = c.newRequest(op, input, output)
1872	return
1873}
1874
1875// DescribeAggregationAuthorizations API operation for AWS Config.
1876//
1877// Returns a list of authorizations granted to various aggregator accounts and
1878// regions.
1879//
1880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1881// with awserr.Error's Code and Message methods to get detailed information about
1882// the error.
1883//
1884// See the AWS API reference guide for AWS Config's
1885// API operation DescribeAggregationAuthorizations for usage and error information.
1886//
1887// Returned Error Types:
1888//   * InvalidParameterValueException
1889//   One or more of the specified parameters are invalid. Verify that your parameters
1890//   are valid and try again.
1891//
1892//   * InvalidNextTokenException
1893//   The specified next token is invalid. Specify the nextToken string that was
1894//   returned in the previous response to get the next page of results.
1895//
1896//   * InvalidLimitException
1897//   The specified limit is outside the allowable range.
1898//
1899// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeAggregationAuthorizations
1900func (c *ConfigService) DescribeAggregationAuthorizations(input *DescribeAggregationAuthorizationsInput) (*DescribeAggregationAuthorizationsOutput, error) {
1901	req, out := c.DescribeAggregationAuthorizationsRequest(input)
1902	return out, req.Send()
1903}
1904
1905// DescribeAggregationAuthorizationsWithContext is the same as DescribeAggregationAuthorizations with the addition of
1906// the ability to pass a context and additional request options.
1907//
1908// See DescribeAggregationAuthorizations for details on how to use this API operation.
1909//
1910// The context must be non-nil and will be used for request cancellation. If
1911// the context is nil a panic will occur. In the future the SDK may create
1912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1913// for more information on using Contexts.
1914func (c *ConfigService) DescribeAggregationAuthorizationsWithContext(ctx aws.Context, input *DescribeAggregationAuthorizationsInput, opts ...request.Option) (*DescribeAggregationAuthorizationsOutput, error) {
1915	req, out := c.DescribeAggregationAuthorizationsRequest(input)
1916	req.SetContext(ctx)
1917	req.ApplyOptions(opts...)
1918	return out, req.Send()
1919}
1920
1921const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
1922
1923// DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
1924// client's request for the DescribeComplianceByConfigRule operation. The "output" return
1925// value will be populated with the request's response once the request completes
1926// successfully.
1927//
1928// Use "Send" method on the returned Request to send the API call to the service.
1929// the "output" return value is not valid until after Send returns without error.
1930//
1931// See DescribeComplianceByConfigRule for more information on using the DescribeComplianceByConfigRule
1932// API call, and error handling.
1933//
1934// This method is useful when you want to inject custom logic or configuration
1935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1936//
1937//
1938//    // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
1939//    req, resp := client.DescribeComplianceByConfigRuleRequest(params)
1940//
1941//    err := req.Send()
1942//    if err == nil { // resp is now filled
1943//        fmt.Println(resp)
1944//    }
1945//
1946// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
1947func (c *ConfigService) DescribeComplianceByConfigRuleRequest(input *DescribeComplianceByConfigRuleInput) (req *request.Request, output *DescribeComplianceByConfigRuleOutput) {
1948	op := &request.Operation{
1949		Name:       opDescribeComplianceByConfigRule,
1950		HTTPMethod: "POST",
1951		HTTPPath:   "/",
1952	}
1953
1954	if input == nil {
1955		input = &DescribeComplianceByConfigRuleInput{}
1956	}
1957
1958	output = &DescribeComplianceByConfigRuleOutput{}
1959	req = c.newRequest(op, input, output)
1960	return
1961}
1962
1963// DescribeComplianceByConfigRule API operation for AWS Config.
1964//
1965// Indicates whether the specified AWS Config rules are compliant. If a rule
1966// is noncompliant, this action returns the number of AWS resources that do
1967// not comply with the rule.
1968//
1969// A rule is compliant if all of the evaluated resources comply with it. It
1970// is noncompliant if any of these resources do not comply.
1971//
1972// If AWS Config has no current evaluation results for the rule, it returns
1973// INSUFFICIENT_DATA. This result might indicate one of the following conditions:
1974//
1975//    * AWS Config has never invoked an evaluation for the rule. To check whether
1976//    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
1977//    and LastFailedInvocationTime.
1978//
1979//    * The rule's AWS Lambda function is failing to send evaluation results
1980//    to AWS Config. Verify that the role you assigned to your configuration
1981//    recorder includes the config:PutEvaluations permission. If the rule is
1982//    a custom rule, verify that the AWS Lambda execution role includes the
1983//    config:PutEvaluations permission.
1984//
1985//    * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
1986//    results. This can occur if the resources were deleted or removed from
1987//    the rule's scope.
1988//
1989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1990// with awserr.Error's Code and Message methods to get detailed information about
1991// the error.
1992//
1993// See the AWS API reference guide for AWS Config's
1994// API operation DescribeComplianceByConfigRule for usage and error information.
1995//
1996// Returned Error Types:
1997//   * InvalidParameterValueException
1998//   One or more of the specified parameters are invalid. Verify that your parameters
1999//   are valid and try again.
2000//
2001//   * NoSuchConfigRuleException
2002//   One or more AWS Config rules in the request are invalid. Verify that the
2003//   rule names are correct and try again.
2004//
2005//   * InvalidNextTokenException
2006//   The specified next token is invalid. Specify the nextToken string that was
2007//   returned in the previous response to get the next page of results.
2008//
2009// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByConfigRule
2010func (c *ConfigService) DescribeComplianceByConfigRule(input *DescribeComplianceByConfigRuleInput) (*DescribeComplianceByConfigRuleOutput, error) {
2011	req, out := c.DescribeComplianceByConfigRuleRequest(input)
2012	return out, req.Send()
2013}
2014
2015// DescribeComplianceByConfigRuleWithContext is the same as DescribeComplianceByConfigRule with the addition of
2016// the ability to pass a context and additional request options.
2017//
2018// See DescribeComplianceByConfigRule for details on how to use this API operation.
2019//
2020// The context must be non-nil and will be used for request cancellation. If
2021// the context is nil a panic will occur. In the future the SDK may create
2022// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2023// for more information on using Contexts.
2024func (c *ConfigService) DescribeComplianceByConfigRuleWithContext(ctx aws.Context, input *DescribeComplianceByConfigRuleInput, opts ...request.Option) (*DescribeComplianceByConfigRuleOutput, error) {
2025	req, out := c.DescribeComplianceByConfigRuleRequest(input)
2026	req.SetContext(ctx)
2027	req.ApplyOptions(opts...)
2028	return out, req.Send()
2029}
2030
2031const opDescribeComplianceByResource = "DescribeComplianceByResource"
2032
2033// DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
2034// client's request for the DescribeComplianceByResource operation. The "output" return
2035// value will be populated with the request's response once the request completes
2036// successfully.
2037//
2038// Use "Send" method on the returned Request to send the API call to the service.
2039// the "output" return value is not valid until after Send returns without error.
2040//
2041// See DescribeComplianceByResource for more information on using the DescribeComplianceByResource
2042// API call, and error handling.
2043//
2044// This method is useful when you want to inject custom logic or configuration
2045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2046//
2047//
2048//    // Example sending a request using the DescribeComplianceByResourceRequest method.
2049//    req, resp := client.DescribeComplianceByResourceRequest(params)
2050//
2051//    err := req.Send()
2052//    if err == nil { // resp is now filled
2053//        fmt.Println(resp)
2054//    }
2055//
2056// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
2057func (c *ConfigService) DescribeComplianceByResourceRequest(input *DescribeComplianceByResourceInput) (req *request.Request, output *DescribeComplianceByResourceOutput) {
2058	op := &request.Operation{
2059		Name:       opDescribeComplianceByResource,
2060		HTTPMethod: "POST",
2061		HTTPPath:   "/",
2062	}
2063
2064	if input == nil {
2065		input = &DescribeComplianceByResourceInput{}
2066	}
2067
2068	output = &DescribeComplianceByResourceOutput{}
2069	req = c.newRequest(op, input, output)
2070	return
2071}
2072
2073// DescribeComplianceByResource API operation for AWS Config.
2074//
2075// Indicates whether the specified AWS resources are compliant. If a resource
2076// is noncompliant, this action returns the number of AWS Config rules that
2077// the resource does not comply with.
2078//
2079// A resource is compliant if it complies with all the AWS Config rules that
2080// evaluate it. It is noncompliant if it does not comply with one or more of
2081// these rules.
2082//
2083// If AWS Config has no current evaluation results for the resource, it returns
2084// INSUFFICIENT_DATA. This result might indicate one of the following conditions
2085// about the rules that evaluate the resource:
2086//
2087//    * AWS Config has never invoked an evaluation for the rule. To check whether
2088//    it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
2089//    and LastFailedInvocationTime.
2090//
2091//    * The rule's AWS Lambda function is failing to send evaluation results
2092//    to AWS Config. Verify that the role that you assigned to your configuration
2093//    recorder includes the config:PutEvaluations permission. If the rule is
2094//    a custom rule, verify that the AWS Lambda execution role includes the
2095//    config:PutEvaluations permission.
2096//
2097//    * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
2098//    results. This can occur if the resources were deleted or removed from
2099//    the rule's scope.
2100//
2101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2102// with awserr.Error's Code and Message methods to get detailed information about
2103// the error.
2104//
2105// See the AWS API reference guide for AWS Config's
2106// API operation DescribeComplianceByResource for usage and error information.
2107//
2108// Returned Error Types:
2109//   * InvalidParameterValueException
2110//   One or more of the specified parameters are invalid. Verify that your parameters
2111//   are valid and try again.
2112//
2113//   * InvalidNextTokenException
2114//   The specified next token is invalid. Specify the nextToken string that was
2115//   returned in the previous response to get the next page of results.
2116//
2117// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeComplianceByResource
2118func (c *ConfigService) DescribeComplianceByResource(input *DescribeComplianceByResourceInput) (*DescribeComplianceByResourceOutput, error) {
2119	req, out := c.DescribeComplianceByResourceRequest(input)
2120	return out, req.Send()
2121}
2122
2123// DescribeComplianceByResourceWithContext is the same as DescribeComplianceByResource with the addition of
2124// the ability to pass a context and additional request options.
2125//
2126// See DescribeComplianceByResource for details on how to use this API operation.
2127//
2128// The context must be non-nil and will be used for request cancellation. If
2129// the context is nil a panic will occur. In the future the SDK may create
2130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2131// for more information on using Contexts.
2132func (c *ConfigService) DescribeComplianceByResourceWithContext(ctx aws.Context, input *DescribeComplianceByResourceInput, opts ...request.Option) (*DescribeComplianceByResourceOutput, error) {
2133	req, out := c.DescribeComplianceByResourceRequest(input)
2134	req.SetContext(ctx)
2135	req.ApplyOptions(opts...)
2136	return out, req.Send()
2137}
2138
2139const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
2140
2141// DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
2142// client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
2143// value will be populated with the request's response once the request completes
2144// successfully.
2145//
2146// Use "Send" method on the returned Request to send the API call to the service.
2147// the "output" return value is not valid until after Send returns without error.
2148//
2149// See DescribeConfigRuleEvaluationStatus for more information on using the DescribeConfigRuleEvaluationStatus
2150// API call, and error handling.
2151//
2152// This method is useful when you want to inject custom logic or configuration
2153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2154//
2155//
2156//    // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
2157//    req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
2158//
2159//    err := req.Send()
2160//    if err == nil { // resp is now filled
2161//        fmt.Println(resp)
2162//    }
2163//
2164// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
2165func (c *ConfigService) DescribeConfigRuleEvaluationStatusRequest(input *DescribeConfigRuleEvaluationStatusInput) (req *request.Request, output *DescribeConfigRuleEvaluationStatusOutput) {
2166	op := &request.Operation{
2167		Name:       opDescribeConfigRuleEvaluationStatus,
2168		HTTPMethod: "POST",
2169		HTTPPath:   "/",
2170	}
2171
2172	if input == nil {
2173		input = &DescribeConfigRuleEvaluationStatusInput{}
2174	}
2175
2176	output = &DescribeConfigRuleEvaluationStatusOutput{}
2177	req = c.newRequest(op, input, output)
2178	return
2179}
2180
2181// DescribeConfigRuleEvaluationStatus API operation for AWS Config.
2182//
2183// Returns status information for each of your AWS managed Config rules. The
2184// status includes information such as the last time AWS Config invoked the
2185// rule, the last time AWS Config failed to invoke the rule, and the related
2186// error for the last failure.
2187//
2188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2189// with awserr.Error's Code and Message methods to get detailed information about
2190// the error.
2191//
2192// See the AWS API reference guide for AWS Config's
2193// API operation DescribeConfigRuleEvaluationStatus for usage and error information.
2194//
2195// Returned Error Types:
2196//   * NoSuchConfigRuleException
2197//   One or more AWS Config rules in the request are invalid. Verify that the
2198//   rule names are correct and try again.
2199//
2200//   * InvalidParameterValueException
2201//   One or more of the specified parameters are invalid. Verify that your parameters
2202//   are valid and try again.
2203//
2204//   * InvalidNextTokenException
2205//   The specified next token is invalid. Specify the nextToken string that was
2206//   returned in the previous response to get the next page of results.
2207//
2208// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRuleEvaluationStatus
2209func (c *ConfigService) DescribeConfigRuleEvaluationStatus(input *DescribeConfigRuleEvaluationStatusInput) (*DescribeConfigRuleEvaluationStatusOutput, error) {
2210	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
2211	return out, req.Send()
2212}
2213
2214// DescribeConfigRuleEvaluationStatusWithContext is the same as DescribeConfigRuleEvaluationStatus with the addition of
2215// the ability to pass a context and additional request options.
2216//
2217// See DescribeConfigRuleEvaluationStatus for details on how to use this API operation.
2218//
2219// The context must be non-nil and will be used for request cancellation. If
2220// the context is nil a panic will occur. In the future the SDK may create
2221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2222// for more information on using Contexts.
2223func (c *ConfigService) DescribeConfigRuleEvaluationStatusWithContext(ctx aws.Context, input *DescribeConfigRuleEvaluationStatusInput, opts ...request.Option) (*DescribeConfigRuleEvaluationStatusOutput, error) {
2224	req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
2225	req.SetContext(ctx)
2226	req.ApplyOptions(opts...)
2227	return out, req.Send()
2228}
2229
2230const opDescribeConfigRules = "DescribeConfigRules"
2231
2232// DescribeConfigRulesRequest generates a "aws/request.Request" representing the
2233// client's request for the DescribeConfigRules operation. The "output" return
2234// value will be populated with the request's response once the request completes
2235// successfully.
2236//
2237// Use "Send" method on the returned Request to send the API call to the service.
2238// the "output" return value is not valid until after Send returns without error.
2239//
2240// See DescribeConfigRules for more information on using the DescribeConfigRules
2241// API call, and error handling.
2242//
2243// This method is useful when you want to inject custom logic or configuration
2244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2245//
2246//
2247//    // Example sending a request using the DescribeConfigRulesRequest method.
2248//    req, resp := client.DescribeConfigRulesRequest(params)
2249//
2250//    err := req.Send()
2251//    if err == nil { // resp is now filled
2252//        fmt.Println(resp)
2253//    }
2254//
2255// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
2256func (c *ConfigService) DescribeConfigRulesRequest(input *DescribeConfigRulesInput) (req *request.Request, output *DescribeConfigRulesOutput) {
2257	op := &request.Operation{
2258		Name:       opDescribeConfigRules,
2259		HTTPMethod: "POST",
2260		HTTPPath:   "/",
2261	}
2262
2263	if input == nil {
2264		input = &DescribeConfigRulesInput{}
2265	}
2266
2267	output = &DescribeConfigRulesOutput{}
2268	req = c.newRequest(op, input, output)
2269	return
2270}
2271
2272// DescribeConfigRules API operation for AWS Config.
2273//
2274// Returns details about your AWS Config rules.
2275//
2276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2277// with awserr.Error's Code and Message methods to get detailed information about
2278// the error.
2279//
2280// See the AWS API reference guide for AWS Config's
2281// API operation DescribeConfigRules for usage and error information.
2282//
2283// Returned Error Types:
2284//   * NoSuchConfigRuleException
2285//   One or more AWS Config rules in the request are invalid. Verify that the
2286//   rule names are correct and try again.
2287//
2288//   * InvalidNextTokenException
2289//   The specified next token is invalid. Specify the nextToken string that was
2290//   returned in the previous response to get the next page of results.
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigRules
2293func (c *ConfigService) DescribeConfigRules(input *DescribeConfigRulesInput) (*DescribeConfigRulesOutput, error) {
2294	req, out := c.DescribeConfigRulesRequest(input)
2295	return out, req.Send()
2296}
2297
2298// DescribeConfigRulesWithContext is the same as DescribeConfigRules with the addition of
2299// the ability to pass a context and additional request options.
2300//
2301// See DescribeConfigRules for details on how to use this API operation.
2302//
2303// The context must be non-nil and will be used for request cancellation. If
2304// the context is nil a panic will occur. In the future the SDK may create
2305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2306// for more information on using Contexts.
2307func (c *ConfigService) DescribeConfigRulesWithContext(ctx aws.Context, input *DescribeConfigRulesInput, opts ...request.Option) (*DescribeConfigRulesOutput, error) {
2308	req, out := c.DescribeConfigRulesRequest(input)
2309	req.SetContext(ctx)
2310	req.ApplyOptions(opts...)
2311	return out, req.Send()
2312}
2313
2314const opDescribeConfigurationAggregatorSourcesStatus = "DescribeConfigurationAggregatorSourcesStatus"
2315
2316// DescribeConfigurationAggregatorSourcesStatusRequest generates a "aws/request.Request" representing the
2317// client's request for the DescribeConfigurationAggregatorSourcesStatus operation. The "output" return
2318// value will be populated with the request's response once the request completes
2319// successfully.
2320//
2321// Use "Send" method on the returned Request to send the API call to the service.
2322// the "output" return value is not valid until after Send returns without error.
2323//
2324// See DescribeConfigurationAggregatorSourcesStatus for more information on using the DescribeConfigurationAggregatorSourcesStatus
2325// API call, and error handling.
2326//
2327// This method is useful when you want to inject custom logic or configuration
2328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2329//
2330//
2331//    // Example sending a request using the DescribeConfigurationAggregatorSourcesStatusRequest method.
2332//    req, resp := client.DescribeConfigurationAggregatorSourcesStatusRequest(params)
2333//
2334//    err := req.Send()
2335//    if err == nil { // resp is now filled
2336//        fmt.Println(resp)
2337//    }
2338//
2339// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
2340func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusRequest(input *DescribeConfigurationAggregatorSourcesStatusInput) (req *request.Request, output *DescribeConfigurationAggregatorSourcesStatusOutput) {
2341	op := &request.Operation{
2342		Name:       opDescribeConfigurationAggregatorSourcesStatus,
2343		HTTPMethod: "POST",
2344		HTTPPath:   "/",
2345	}
2346
2347	if input == nil {
2348		input = &DescribeConfigurationAggregatorSourcesStatusInput{}
2349	}
2350
2351	output = &DescribeConfigurationAggregatorSourcesStatusOutput{}
2352	req = c.newRequest(op, input, output)
2353	return
2354}
2355
2356// DescribeConfigurationAggregatorSourcesStatus API operation for AWS Config.
2357//
2358// Returns status information for sources within an aggregator. The status includes
2359// information about the last time AWS Config verified authorization between
2360// the source account and an aggregator account. In case of a failure, the status
2361// contains the related error code or message.
2362//
2363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2364// with awserr.Error's Code and Message methods to get detailed information about
2365// the error.
2366//
2367// See the AWS API reference guide for AWS Config's
2368// API operation DescribeConfigurationAggregatorSourcesStatus for usage and error information.
2369//
2370// Returned Error Types:
2371//   * InvalidParameterValueException
2372//   One or more of the specified parameters are invalid. Verify that your parameters
2373//   are valid and try again.
2374//
2375//   * NoSuchConfigurationAggregatorException
2376//   You have specified a configuration aggregator that does not exist.
2377//
2378//   * InvalidNextTokenException
2379//   The specified next token is invalid. Specify the nextToken string that was
2380//   returned in the previous response to get the next page of results.
2381//
2382//   * InvalidLimitException
2383//   The specified limit is outside the allowable range.
2384//
2385// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregatorSourcesStatus
2386func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatus(input *DescribeConfigurationAggregatorSourcesStatusInput) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
2387	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
2388	return out, req.Send()
2389}
2390
2391// DescribeConfigurationAggregatorSourcesStatusWithContext is the same as DescribeConfigurationAggregatorSourcesStatus with the addition of
2392// the ability to pass a context and additional request options.
2393//
2394// See DescribeConfigurationAggregatorSourcesStatus for details on how to use this API operation.
2395//
2396// The context must be non-nil and will be used for request cancellation. If
2397// the context is nil a panic will occur. In the future the SDK may create
2398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2399// for more information on using Contexts.
2400func (c *ConfigService) DescribeConfigurationAggregatorSourcesStatusWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorSourcesStatusInput, opts ...request.Option) (*DescribeConfigurationAggregatorSourcesStatusOutput, error) {
2401	req, out := c.DescribeConfigurationAggregatorSourcesStatusRequest(input)
2402	req.SetContext(ctx)
2403	req.ApplyOptions(opts...)
2404	return out, req.Send()
2405}
2406
2407const opDescribeConfigurationAggregators = "DescribeConfigurationAggregators"
2408
2409// DescribeConfigurationAggregatorsRequest generates a "aws/request.Request" representing the
2410// client's request for the DescribeConfigurationAggregators operation. The "output" return
2411// value will be populated with the request's response once the request completes
2412// successfully.
2413//
2414// Use "Send" method on the returned Request to send the API call to the service.
2415// the "output" return value is not valid until after Send returns without error.
2416//
2417// See DescribeConfigurationAggregators for more information on using the DescribeConfigurationAggregators
2418// API call, and error handling.
2419//
2420// This method is useful when you want to inject custom logic or configuration
2421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2422//
2423//
2424//    // Example sending a request using the DescribeConfigurationAggregatorsRequest method.
2425//    req, resp := client.DescribeConfigurationAggregatorsRequest(params)
2426//
2427//    err := req.Send()
2428//    if err == nil { // resp is now filled
2429//        fmt.Println(resp)
2430//    }
2431//
2432// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
2433func (c *ConfigService) DescribeConfigurationAggregatorsRequest(input *DescribeConfigurationAggregatorsInput) (req *request.Request, output *DescribeConfigurationAggregatorsOutput) {
2434	op := &request.Operation{
2435		Name:       opDescribeConfigurationAggregators,
2436		HTTPMethod: "POST",
2437		HTTPPath:   "/",
2438	}
2439
2440	if input == nil {
2441		input = &DescribeConfigurationAggregatorsInput{}
2442	}
2443
2444	output = &DescribeConfigurationAggregatorsOutput{}
2445	req = c.newRequest(op, input, output)
2446	return
2447}
2448
2449// DescribeConfigurationAggregators API operation for AWS Config.
2450//
2451// Returns the details of one or more configuration aggregators. If the configuration
2452// aggregator is not specified, this action returns the details for all the
2453// configuration aggregators associated with the account.
2454//
2455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2456// with awserr.Error's Code and Message methods to get detailed information about
2457// the error.
2458//
2459// See the AWS API reference guide for AWS Config's
2460// API operation DescribeConfigurationAggregators for usage and error information.
2461//
2462// Returned Error Types:
2463//   * InvalidParameterValueException
2464//   One or more of the specified parameters are invalid. Verify that your parameters
2465//   are valid and try again.
2466//
2467//   * NoSuchConfigurationAggregatorException
2468//   You have specified a configuration aggregator that does not exist.
2469//
2470//   * InvalidNextTokenException
2471//   The specified next token is invalid. Specify the nextToken string that was
2472//   returned in the previous response to get the next page of results.
2473//
2474//   * InvalidLimitException
2475//   The specified limit is outside the allowable range.
2476//
2477// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationAggregators
2478func (c *ConfigService) DescribeConfigurationAggregators(input *DescribeConfigurationAggregatorsInput) (*DescribeConfigurationAggregatorsOutput, error) {
2479	req, out := c.DescribeConfigurationAggregatorsRequest(input)
2480	return out, req.Send()
2481}
2482
2483// DescribeConfigurationAggregatorsWithContext is the same as DescribeConfigurationAggregators with the addition of
2484// the ability to pass a context and additional request options.
2485//
2486// See DescribeConfigurationAggregators for details on how to use this API operation.
2487//
2488// The context must be non-nil and will be used for request cancellation. If
2489// the context is nil a panic will occur. In the future the SDK may create
2490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2491// for more information on using Contexts.
2492func (c *ConfigService) DescribeConfigurationAggregatorsWithContext(ctx aws.Context, input *DescribeConfigurationAggregatorsInput, opts ...request.Option) (*DescribeConfigurationAggregatorsOutput, error) {
2493	req, out := c.DescribeConfigurationAggregatorsRequest(input)
2494	req.SetContext(ctx)
2495	req.ApplyOptions(opts...)
2496	return out, req.Send()
2497}
2498
2499const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
2500
2501// DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
2502// client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
2503// value will be populated with the request's response once the request completes
2504// successfully.
2505//
2506// Use "Send" method on the returned Request to send the API call to the service.
2507// the "output" return value is not valid until after Send returns without error.
2508//
2509// See DescribeConfigurationRecorderStatus for more information on using the DescribeConfigurationRecorderStatus
2510// API call, and error handling.
2511//
2512// This method is useful when you want to inject custom logic or configuration
2513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2514//
2515//
2516//    // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
2517//    req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
2518//
2519//    err := req.Send()
2520//    if err == nil { // resp is now filled
2521//        fmt.Println(resp)
2522//    }
2523//
2524// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
2525func (c *ConfigService) DescribeConfigurationRecorderStatusRequest(input *DescribeConfigurationRecorderStatusInput) (req *request.Request, output *DescribeConfigurationRecorderStatusOutput) {
2526	op := &request.Operation{
2527		Name:       opDescribeConfigurationRecorderStatus,
2528		HTTPMethod: "POST",
2529		HTTPPath:   "/",
2530	}
2531
2532	if input == nil {
2533		input = &DescribeConfigurationRecorderStatusInput{}
2534	}
2535
2536	output = &DescribeConfigurationRecorderStatusOutput{}
2537	req = c.newRequest(op, input, output)
2538	return
2539}
2540
2541// DescribeConfigurationRecorderStatus API operation for AWS Config.
2542//
2543// Returns the current status of the specified configuration recorder. If a
2544// configuration recorder is not specified, this action returns the status of
2545// all configuration recorders associated with the account.
2546//
2547// Currently, you can specify only one configuration recorder per region in
2548// your account.
2549//
2550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2551// with awserr.Error's Code and Message methods to get detailed information about
2552// the error.
2553//
2554// See the AWS API reference guide for AWS Config's
2555// API operation DescribeConfigurationRecorderStatus for usage and error information.
2556//
2557// Returned Error Types:
2558//   * NoSuchConfigurationRecorderException
2559//   You have specified a configuration recorder that does not exist.
2560//
2561// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorderStatus
2562func (c *ConfigService) DescribeConfigurationRecorderStatus(input *DescribeConfigurationRecorderStatusInput) (*DescribeConfigurationRecorderStatusOutput, error) {
2563	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
2564	return out, req.Send()
2565}
2566
2567// DescribeConfigurationRecorderStatusWithContext is the same as DescribeConfigurationRecorderStatus with the addition of
2568// the ability to pass a context and additional request options.
2569//
2570// See DescribeConfigurationRecorderStatus for details on how to use this API operation.
2571//
2572// The context must be non-nil and will be used for request cancellation. If
2573// the context is nil a panic will occur. In the future the SDK may create
2574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2575// for more information on using Contexts.
2576func (c *ConfigService) DescribeConfigurationRecorderStatusWithContext(ctx aws.Context, input *DescribeConfigurationRecorderStatusInput, opts ...request.Option) (*DescribeConfigurationRecorderStatusOutput, error) {
2577	req, out := c.DescribeConfigurationRecorderStatusRequest(input)
2578	req.SetContext(ctx)
2579	req.ApplyOptions(opts...)
2580	return out, req.Send()
2581}
2582
2583const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
2584
2585// DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
2586// client's request for the DescribeConfigurationRecorders operation. The "output" return
2587// value will be populated with the request's response once the request completes
2588// successfully.
2589//
2590// Use "Send" method on the returned Request to send the API call to the service.
2591// the "output" return value is not valid until after Send returns without error.
2592//
2593// See DescribeConfigurationRecorders for more information on using the DescribeConfigurationRecorders
2594// API call, and error handling.
2595//
2596// This method is useful when you want to inject custom logic or configuration
2597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2598//
2599//
2600//    // Example sending a request using the DescribeConfigurationRecordersRequest method.
2601//    req, resp := client.DescribeConfigurationRecordersRequest(params)
2602//
2603//    err := req.Send()
2604//    if err == nil { // resp is now filled
2605//        fmt.Println(resp)
2606//    }
2607//
2608// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
2609func (c *ConfigService) DescribeConfigurationRecordersRequest(input *DescribeConfigurationRecordersInput) (req *request.Request, output *DescribeConfigurationRecordersOutput) {
2610	op := &request.Operation{
2611		Name:       opDescribeConfigurationRecorders,
2612		HTTPMethod: "POST",
2613		HTTPPath:   "/",
2614	}
2615
2616	if input == nil {
2617		input = &DescribeConfigurationRecordersInput{}
2618	}
2619
2620	output = &DescribeConfigurationRecordersOutput{}
2621	req = c.newRequest(op, input, output)
2622	return
2623}
2624
2625// DescribeConfigurationRecorders API operation for AWS Config.
2626//
2627// Returns the details for the specified configuration recorders. If the configuration
2628// recorder is not specified, this action returns the details for all configuration
2629// recorders associated with the account.
2630//
2631// Currently, you can specify only one configuration recorder per region in
2632// your account.
2633//
2634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2635// with awserr.Error's Code and Message methods to get detailed information about
2636// the error.
2637//
2638// See the AWS API reference guide for AWS Config's
2639// API operation DescribeConfigurationRecorders for usage and error information.
2640//
2641// Returned Error Types:
2642//   * NoSuchConfigurationRecorderException
2643//   You have specified a configuration recorder that does not exist.
2644//
2645// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConfigurationRecorders
2646func (c *ConfigService) DescribeConfigurationRecorders(input *DescribeConfigurationRecordersInput) (*DescribeConfigurationRecordersOutput, error) {
2647	req, out := c.DescribeConfigurationRecordersRequest(input)
2648	return out, req.Send()
2649}
2650
2651// DescribeConfigurationRecordersWithContext is the same as DescribeConfigurationRecorders with the addition of
2652// the ability to pass a context and additional request options.
2653//
2654// See DescribeConfigurationRecorders for details on how to use this API operation.
2655//
2656// The context must be non-nil and will be used for request cancellation. If
2657// the context is nil a panic will occur. In the future the SDK may create
2658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2659// for more information on using Contexts.
2660func (c *ConfigService) DescribeConfigurationRecordersWithContext(ctx aws.Context, input *DescribeConfigurationRecordersInput, opts ...request.Option) (*DescribeConfigurationRecordersOutput, error) {
2661	req, out := c.DescribeConfigurationRecordersRequest(input)
2662	req.SetContext(ctx)
2663	req.ApplyOptions(opts...)
2664	return out, req.Send()
2665}
2666
2667const opDescribeConformancePackCompliance = "DescribeConformancePackCompliance"
2668
2669// DescribeConformancePackComplianceRequest generates a "aws/request.Request" representing the
2670// client's request for the DescribeConformancePackCompliance operation. The "output" return
2671// value will be populated with the request's response once the request completes
2672// successfully.
2673//
2674// Use "Send" method on the returned Request to send the API call to the service.
2675// the "output" return value is not valid until after Send returns without error.
2676//
2677// See DescribeConformancePackCompliance for more information on using the DescribeConformancePackCompliance
2678// API call, and error handling.
2679//
2680// This method is useful when you want to inject custom logic or configuration
2681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2682//
2683//
2684//    // Example sending a request using the DescribeConformancePackComplianceRequest method.
2685//    req, resp := client.DescribeConformancePackComplianceRequest(params)
2686//
2687//    err := req.Send()
2688//    if err == nil { // resp is now filled
2689//        fmt.Println(resp)
2690//    }
2691//
2692// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
2693func (c *ConfigService) DescribeConformancePackComplianceRequest(input *DescribeConformancePackComplianceInput) (req *request.Request, output *DescribeConformancePackComplianceOutput) {
2694	op := &request.Operation{
2695		Name:       opDescribeConformancePackCompliance,
2696		HTTPMethod: "POST",
2697		HTTPPath:   "/",
2698	}
2699
2700	if input == nil {
2701		input = &DescribeConformancePackComplianceInput{}
2702	}
2703
2704	output = &DescribeConformancePackComplianceOutput{}
2705	req = c.newRequest(op, input, output)
2706	return
2707}
2708
2709// DescribeConformancePackCompliance API operation for AWS Config.
2710//
2711// Returns compliance details for each rule in that conformance pack.
2712//
2713// You must provide exact rule names.
2714//
2715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2716// with awserr.Error's Code and Message methods to get detailed information about
2717// the error.
2718//
2719// See the AWS API reference guide for AWS Config's
2720// API operation DescribeConformancePackCompliance for usage and error information.
2721//
2722// Returned Error Types:
2723//   * InvalidLimitException
2724//   The specified limit is outside the allowable range.
2725//
2726//   * InvalidNextTokenException
2727//   The specified next token is invalid. Specify the nextToken string that was
2728//   returned in the previous response to get the next page of results.
2729//
2730//   * InvalidParameterValueException
2731//   One or more of the specified parameters are invalid. Verify that your parameters
2732//   are valid and try again.
2733//
2734//   * NoSuchConfigRuleInConformancePackException
2735//   AWS Config rule that you passed in the filter does not exist.
2736//
2737//   * NoSuchConformancePackException
2738//   You specified one or more conformance packs that do not exist.
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackCompliance
2741func (c *ConfigService) DescribeConformancePackCompliance(input *DescribeConformancePackComplianceInput) (*DescribeConformancePackComplianceOutput, error) {
2742	req, out := c.DescribeConformancePackComplianceRequest(input)
2743	return out, req.Send()
2744}
2745
2746// DescribeConformancePackComplianceWithContext is the same as DescribeConformancePackCompliance with the addition of
2747// the ability to pass a context and additional request options.
2748//
2749// See DescribeConformancePackCompliance for details on how to use this API operation.
2750//
2751// The context must be non-nil and will be used for request cancellation. If
2752// the context is nil a panic will occur. In the future the SDK may create
2753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2754// for more information on using Contexts.
2755func (c *ConfigService) DescribeConformancePackComplianceWithContext(ctx aws.Context, input *DescribeConformancePackComplianceInput, opts ...request.Option) (*DescribeConformancePackComplianceOutput, error) {
2756	req, out := c.DescribeConformancePackComplianceRequest(input)
2757	req.SetContext(ctx)
2758	req.ApplyOptions(opts...)
2759	return out, req.Send()
2760}
2761
2762const opDescribeConformancePackStatus = "DescribeConformancePackStatus"
2763
2764// DescribeConformancePackStatusRequest generates a "aws/request.Request" representing the
2765// client's request for the DescribeConformancePackStatus operation. The "output" return
2766// value will be populated with the request's response once the request completes
2767// successfully.
2768//
2769// Use "Send" method on the returned Request to send the API call to the service.
2770// the "output" return value is not valid until after Send returns without error.
2771//
2772// See DescribeConformancePackStatus for more information on using the DescribeConformancePackStatus
2773// API call, and error handling.
2774//
2775// This method is useful when you want to inject custom logic or configuration
2776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2777//
2778//
2779//    // Example sending a request using the DescribeConformancePackStatusRequest method.
2780//    req, resp := client.DescribeConformancePackStatusRequest(params)
2781//
2782//    err := req.Send()
2783//    if err == nil { // resp is now filled
2784//        fmt.Println(resp)
2785//    }
2786//
2787// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
2788func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConformancePackStatusInput) (req *request.Request, output *DescribeConformancePackStatusOutput) {
2789	op := &request.Operation{
2790		Name:       opDescribeConformancePackStatus,
2791		HTTPMethod: "POST",
2792		HTTPPath:   "/",
2793	}
2794
2795	if input == nil {
2796		input = &DescribeConformancePackStatusInput{}
2797	}
2798
2799	output = &DescribeConformancePackStatusOutput{}
2800	req = c.newRequest(op, input, output)
2801	return
2802}
2803
2804// DescribeConformancePackStatus API operation for AWS Config.
2805//
2806// Provides one or more conformance packs deployment status.
2807//
2808// If there are no conformance packs then you will see an empty result.
2809//
2810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2811// with awserr.Error's Code and Message methods to get detailed information about
2812// the error.
2813//
2814// See the AWS API reference guide for AWS Config's
2815// API operation DescribeConformancePackStatus for usage and error information.
2816//
2817// Returned Error Types:
2818//   * InvalidLimitException
2819//   The specified limit is outside the allowable range.
2820//
2821//   * InvalidNextTokenException
2822//   The specified next token is invalid. Specify the nextToken string that was
2823//   returned in the previous response to get the next page of results.
2824//
2825//   * InvalidParameterValueException
2826//   One or more of the specified parameters are invalid. Verify that your parameters
2827//   are valid and try again.
2828//
2829// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus
2830func (c *ConfigService) DescribeConformancePackStatus(input *DescribeConformancePackStatusInput) (*DescribeConformancePackStatusOutput, error) {
2831	req, out := c.DescribeConformancePackStatusRequest(input)
2832	return out, req.Send()
2833}
2834
2835// DescribeConformancePackStatusWithContext is the same as DescribeConformancePackStatus with the addition of
2836// the ability to pass a context and additional request options.
2837//
2838// See DescribeConformancePackStatus for details on how to use this API operation.
2839//
2840// The context must be non-nil and will be used for request cancellation. If
2841// the context is nil a panic will occur. In the future the SDK may create
2842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2843// for more information on using Contexts.
2844func (c *ConfigService) DescribeConformancePackStatusWithContext(ctx aws.Context, input *DescribeConformancePackStatusInput, opts ...request.Option) (*DescribeConformancePackStatusOutput, error) {
2845	req, out := c.DescribeConformancePackStatusRequest(input)
2846	req.SetContext(ctx)
2847	req.ApplyOptions(opts...)
2848	return out, req.Send()
2849}
2850
2851const opDescribeConformancePacks = "DescribeConformancePacks"
2852
2853// DescribeConformancePacksRequest generates a "aws/request.Request" representing the
2854// client's request for the DescribeConformancePacks operation. The "output" return
2855// value will be populated with the request's response once the request completes
2856// successfully.
2857//
2858// Use "Send" method on the returned Request to send the API call to the service.
2859// the "output" return value is not valid until after Send returns without error.
2860//
2861// See DescribeConformancePacks for more information on using the DescribeConformancePacks
2862// API call, and error handling.
2863//
2864// This method is useful when you want to inject custom logic or configuration
2865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2866//
2867//
2868//    // Example sending a request using the DescribeConformancePacksRequest method.
2869//    req, resp := client.DescribeConformancePacksRequest(params)
2870//
2871//    err := req.Send()
2872//    if err == nil { // resp is now filled
2873//        fmt.Println(resp)
2874//    }
2875//
2876// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
2877func (c *ConfigService) DescribeConformancePacksRequest(input *DescribeConformancePacksInput) (req *request.Request, output *DescribeConformancePacksOutput) {
2878	op := &request.Operation{
2879		Name:       opDescribeConformancePacks,
2880		HTTPMethod: "POST",
2881		HTTPPath:   "/",
2882	}
2883
2884	if input == nil {
2885		input = &DescribeConformancePacksInput{}
2886	}
2887
2888	output = &DescribeConformancePacksOutput{}
2889	req = c.newRequest(op, input, output)
2890	return
2891}
2892
2893// DescribeConformancePacks API operation for AWS Config.
2894//
2895// Returns a list of one or more conformance packs.
2896//
2897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2898// with awserr.Error's Code and Message methods to get detailed information about
2899// the error.
2900//
2901// See the AWS API reference guide for AWS Config's
2902// API operation DescribeConformancePacks for usage and error information.
2903//
2904// Returned Error Types:
2905//   * NoSuchConformancePackException
2906//   You specified one or more conformance packs that do not exist.
2907//
2908//   * InvalidLimitException
2909//   The specified limit is outside the allowable range.
2910//
2911//   * InvalidNextTokenException
2912//   The specified next token is invalid. Specify the nextToken string that was
2913//   returned in the previous response to get the next page of results.
2914//
2915//   * InvalidParameterValueException
2916//   One or more of the specified parameters are invalid. Verify that your parameters
2917//   are valid and try again.
2918//
2919// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks
2920func (c *ConfigService) DescribeConformancePacks(input *DescribeConformancePacksInput) (*DescribeConformancePacksOutput, error) {
2921	req, out := c.DescribeConformancePacksRequest(input)
2922	return out, req.Send()
2923}
2924
2925// DescribeConformancePacksWithContext is the same as DescribeConformancePacks with the addition of
2926// the ability to pass a context and additional request options.
2927//
2928// See DescribeConformancePacks for details on how to use this API operation.
2929//
2930// The context must be non-nil and will be used for request cancellation. If
2931// the context is nil a panic will occur. In the future the SDK may create
2932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2933// for more information on using Contexts.
2934func (c *ConfigService) DescribeConformancePacksWithContext(ctx aws.Context, input *DescribeConformancePacksInput, opts ...request.Option) (*DescribeConformancePacksOutput, error) {
2935	req, out := c.DescribeConformancePacksRequest(input)
2936	req.SetContext(ctx)
2937	req.ApplyOptions(opts...)
2938	return out, req.Send()
2939}
2940
2941const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
2942
2943// DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
2944// client's request for the DescribeDeliveryChannelStatus operation. The "output" return
2945// value will be populated with the request's response once the request completes
2946// successfully.
2947//
2948// Use "Send" method on the returned Request to send the API call to the service.
2949// the "output" return value is not valid until after Send returns without error.
2950//
2951// See DescribeDeliveryChannelStatus for more information on using the DescribeDeliveryChannelStatus
2952// API call, and error handling.
2953//
2954// This method is useful when you want to inject custom logic or configuration
2955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2956//
2957//
2958//    // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
2959//    req, resp := client.DescribeDeliveryChannelStatusRequest(params)
2960//
2961//    err := req.Send()
2962//    if err == nil { // resp is now filled
2963//        fmt.Println(resp)
2964//    }
2965//
2966// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
2967func (c *ConfigService) DescribeDeliveryChannelStatusRequest(input *DescribeDeliveryChannelStatusInput) (req *request.Request, output *DescribeDeliveryChannelStatusOutput) {
2968	op := &request.Operation{
2969		Name:       opDescribeDeliveryChannelStatus,
2970		HTTPMethod: "POST",
2971		HTTPPath:   "/",
2972	}
2973
2974	if input == nil {
2975		input = &DescribeDeliveryChannelStatusInput{}
2976	}
2977
2978	output = &DescribeDeliveryChannelStatusOutput{}
2979	req = c.newRequest(op, input, output)
2980	return
2981}
2982
2983// DescribeDeliveryChannelStatus API operation for AWS Config.
2984//
2985// Returns the current status of the specified delivery channel. If a delivery
2986// channel is not specified, this action returns the current status of all delivery
2987// channels associated with the account.
2988//
2989// Currently, you can specify only one delivery channel per region in your account.
2990//
2991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2992// with awserr.Error's Code and Message methods to get detailed information about
2993// the error.
2994//
2995// See the AWS API reference guide for AWS Config's
2996// API operation DescribeDeliveryChannelStatus for usage and error information.
2997//
2998// Returned Error Types:
2999//   * NoSuchDeliveryChannelException
3000//   You have specified a delivery channel that does not exist.
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannelStatus
3003func (c *ConfigService) DescribeDeliveryChannelStatus(input *DescribeDeliveryChannelStatusInput) (*DescribeDeliveryChannelStatusOutput, error) {
3004	req, out := c.DescribeDeliveryChannelStatusRequest(input)
3005	return out, req.Send()
3006}
3007
3008// DescribeDeliveryChannelStatusWithContext is the same as DescribeDeliveryChannelStatus with the addition of
3009// the ability to pass a context and additional request options.
3010//
3011// See DescribeDeliveryChannelStatus for details on how to use this API operation.
3012//
3013// The context must be non-nil and will be used for request cancellation. If
3014// the context is nil a panic will occur. In the future the SDK may create
3015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3016// for more information on using Contexts.
3017func (c *ConfigService) DescribeDeliveryChannelStatusWithContext(ctx aws.Context, input *DescribeDeliveryChannelStatusInput, opts ...request.Option) (*DescribeDeliveryChannelStatusOutput, error) {
3018	req, out := c.DescribeDeliveryChannelStatusRequest(input)
3019	req.SetContext(ctx)
3020	req.ApplyOptions(opts...)
3021	return out, req.Send()
3022}
3023
3024const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
3025
3026// DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
3027// client's request for the DescribeDeliveryChannels operation. The "output" return
3028// value will be populated with the request's response once the request completes
3029// successfully.
3030//
3031// Use "Send" method on the returned Request to send the API call to the service.
3032// the "output" return value is not valid until after Send returns without error.
3033//
3034// See DescribeDeliveryChannels for more information on using the DescribeDeliveryChannels
3035// API call, and error handling.
3036//
3037// This method is useful when you want to inject custom logic or configuration
3038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3039//
3040//
3041//    // Example sending a request using the DescribeDeliveryChannelsRequest method.
3042//    req, resp := client.DescribeDeliveryChannelsRequest(params)
3043//
3044//    err := req.Send()
3045//    if err == nil { // resp is now filled
3046//        fmt.Println(resp)
3047//    }
3048//
3049// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
3050func (c *ConfigService) DescribeDeliveryChannelsRequest(input *DescribeDeliveryChannelsInput) (req *request.Request, output *DescribeDeliveryChannelsOutput) {
3051	op := &request.Operation{
3052		Name:       opDescribeDeliveryChannels,
3053		HTTPMethod: "POST",
3054		HTTPPath:   "/",
3055	}
3056
3057	if input == nil {
3058		input = &DescribeDeliveryChannelsInput{}
3059	}
3060
3061	output = &DescribeDeliveryChannelsOutput{}
3062	req = c.newRequest(op, input, output)
3063	return
3064}
3065
3066// DescribeDeliveryChannels API operation for AWS Config.
3067//
3068// Returns details about the specified delivery channel. If a delivery channel
3069// is not specified, this action returns the details of all delivery channels
3070// associated with the account.
3071//
3072// Currently, you can specify only one delivery channel per region in your account.
3073//
3074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3075// with awserr.Error's Code and Message methods to get detailed information about
3076// the error.
3077//
3078// See the AWS API reference guide for AWS Config's
3079// API operation DescribeDeliveryChannels for usage and error information.
3080//
3081// Returned Error Types:
3082//   * NoSuchDeliveryChannelException
3083//   You have specified a delivery channel that does not exist.
3084//
3085// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeDeliveryChannels
3086func (c *ConfigService) DescribeDeliveryChannels(input *DescribeDeliveryChannelsInput) (*DescribeDeliveryChannelsOutput, error) {
3087	req, out := c.DescribeDeliveryChannelsRequest(input)
3088	return out, req.Send()
3089}
3090
3091// DescribeDeliveryChannelsWithContext is the same as DescribeDeliveryChannels with the addition of
3092// the ability to pass a context and additional request options.
3093//
3094// See DescribeDeliveryChannels for details on how to use this API operation.
3095//
3096// The context must be non-nil and will be used for request cancellation. If
3097// the context is nil a panic will occur. In the future the SDK may create
3098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3099// for more information on using Contexts.
3100func (c *ConfigService) DescribeDeliveryChannelsWithContext(ctx aws.Context, input *DescribeDeliveryChannelsInput, opts ...request.Option) (*DescribeDeliveryChannelsOutput, error) {
3101	req, out := c.DescribeDeliveryChannelsRequest(input)
3102	req.SetContext(ctx)
3103	req.ApplyOptions(opts...)
3104	return out, req.Send()
3105}
3106
3107const opDescribeOrganizationConfigRuleStatuses = "DescribeOrganizationConfigRuleStatuses"
3108
3109// DescribeOrganizationConfigRuleStatusesRequest generates a "aws/request.Request" representing the
3110// client's request for the DescribeOrganizationConfigRuleStatuses operation. The "output" return
3111// value will be populated with the request's response once the request completes
3112// successfully.
3113//
3114// Use "Send" method on the returned Request to send the API call to the service.
3115// the "output" return value is not valid until after Send returns without error.
3116//
3117// See DescribeOrganizationConfigRuleStatuses for more information on using the DescribeOrganizationConfigRuleStatuses
3118// API call, and error handling.
3119//
3120// This method is useful when you want to inject custom logic or configuration
3121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3122//
3123//
3124//    // Example sending a request using the DescribeOrganizationConfigRuleStatusesRequest method.
3125//    req, resp := client.DescribeOrganizationConfigRuleStatusesRequest(params)
3126//
3127//    err := req.Send()
3128//    if err == nil { // resp is now filled
3129//        fmt.Println(resp)
3130//    }
3131//
3132// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
3133func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *DescribeOrganizationConfigRuleStatusesInput) (req *request.Request, output *DescribeOrganizationConfigRuleStatusesOutput) {
3134	op := &request.Operation{
3135		Name:       opDescribeOrganizationConfigRuleStatuses,
3136		HTTPMethod: "POST",
3137		HTTPPath:   "/",
3138	}
3139
3140	if input == nil {
3141		input = &DescribeOrganizationConfigRuleStatusesInput{}
3142	}
3143
3144	output = &DescribeOrganizationConfigRuleStatusesOutput{}
3145	req = c.newRequest(op, input, output)
3146	return
3147}
3148
3149// DescribeOrganizationConfigRuleStatuses API operation for AWS Config.
3150//
3151// Provides organization config rule deployment status for an organization.
3152//
3153// The status is not considered successful until organization config rule is
3154// successfully deployed in all the member accounts with an exception of excluded
3155// accounts.
3156//
3157// When you specify the limit and the next token, you receive a paginated response.
3158// Limit and next token are not applicable if you specify organization config
3159// rule names. It is only applicable, when you request all the organization
3160// config rules.
3161//
3162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3163// with awserr.Error's Code and Message methods to get detailed information about
3164// the error.
3165//
3166// See the AWS API reference guide for AWS Config's
3167// API operation DescribeOrganizationConfigRuleStatuses for usage and error information.
3168//
3169// Returned Error Types:
3170//   * NoSuchOrganizationConfigRuleException
3171//   You specified one or more organization config rules that do not exist.
3172//
3173//   * InvalidLimitException
3174//   The specified limit is outside the allowable range.
3175//
3176//   * InvalidNextTokenException
3177//   The specified next token is invalid. Specify the nextToken string that was
3178//   returned in the previous response to get the next page of results.
3179//
3180//   * OrganizationAccessDeniedException
3181//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
3182//   API.
3183//
3184//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3185//   Config throws an exception if APIs are called from member accounts. All APIs
3186//   must be called from organization master account.
3187//
3188// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRuleStatuses
3189func (c *ConfigService) DescribeOrganizationConfigRuleStatuses(input *DescribeOrganizationConfigRuleStatusesInput) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
3190	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
3191	return out, req.Send()
3192}
3193
3194// DescribeOrganizationConfigRuleStatusesWithContext is the same as DescribeOrganizationConfigRuleStatuses with the addition of
3195// the ability to pass a context and additional request options.
3196//
3197// See DescribeOrganizationConfigRuleStatuses for details on how to use this API operation.
3198//
3199// The context must be non-nil and will be used for request cancellation. If
3200// the context is nil a panic will occur. In the future the SDK may create
3201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3202// for more information on using Contexts.
3203func (c *ConfigService) DescribeOrganizationConfigRuleStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRuleStatusesInput, opts ...request.Option) (*DescribeOrganizationConfigRuleStatusesOutput, error) {
3204	req, out := c.DescribeOrganizationConfigRuleStatusesRequest(input)
3205	req.SetContext(ctx)
3206	req.ApplyOptions(opts...)
3207	return out, req.Send()
3208}
3209
3210const opDescribeOrganizationConfigRules = "DescribeOrganizationConfigRules"
3211
3212// DescribeOrganizationConfigRulesRequest generates a "aws/request.Request" representing the
3213// client's request for the DescribeOrganizationConfigRules operation. The "output" return
3214// value will be populated with the request's response once the request completes
3215// successfully.
3216//
3217// Use "Send" method on the returned Request to send the API call to the service.
3218// the "output" return value is not valid until after Send returns without error.
3219//
3220// See DescribeOrganizationConfigRules for more information on using the DescribeOrganizationConfigRules
3221// API call, and error handling.
3222//
3223// This method is useful when you want to inject custom logic or configuration
3224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3225//
3226//
3227//    // Example sending a request using the DescribeOrganizationConfigRulesRequest method.
3228//    req, resp := client.DescribeOrganizationConfigRulesRequest(params)
3229//
3230//    err := req.Send()
3231//    if err == nil { // resp is now filled
3232//        fmt.Println(resp)
3233//    }
3234//
3235// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
3236func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOrganizationConfigRulesInput) (req *request.Request, output *DescribeOrganizationConfigRulesOutput) {
3237	op := &request.Operation{
3238		Name:       opDescribeOrganizationConfigRules,
3239		HTTPMethod: "POST",
3240		HTTPPath:   "/",
3241	}
3242
3243	if input == nil {
3244		input = &DescribeOrganizationConfigRulesInput{}
3245	}
3246
3247	output = &DescribeOrganizationConfigRulesOutput{}
3248	req = c.newRequest(op, input, output)
3249	return
3250}
3251
3252// DescribeOrganizationConfigRules API operation for AWS Config.
3253//
3254// Returns a list of organization config rules.
3255//
3256// When you specify the limit and the next token, you receive a paginated response.
3257// Limit and next token are not applicable if you specify organization config
3258// rule names. It is only applicable, when you request all the organization
3259// config rules.
3260//
3261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3262// with awserr.Error's Code and Message methods to get detailed information about
3263// the error.
3264//
3265// See the AWS API reference guide for AWS Config's
3266// API operation DescribeOrganizationConfigRules for usage and error information.
3267//
3268// Returned Error Types:
3269//   * NoSuchOrganizationConfigRuleException
3270//   You specified one or more organization config rules that do not exist.
3271//
3272//   * InvalidNextTokenException
3273//   The specified next token is invalid. Specify the nextToken string that was
3274//   returned in the previous response to get the next page of results.
3275//
3276//   * InvalidLimitException
3277//   The specified limit is outside the allowable range.
3278//
3279//   * OrganizationAccessDeniedException
3280//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
3281//   API.
3282//
3283//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3284//   Config throws an exception if APIs are called from member accounts. All APIs
3285//   must be called from organization master account.
3286//
3287// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConfigRules
3288func (c *ConfigService) DescribeOrganizationConfigRules(input *DescribeOrganizationConfigRulesInput) (*DescribeOrganizationConfigRulesOutput, error) {
3289	req, out := c.DescribeOrganizationConfigRulesRequest(input)
3290	return out, req.Send()
3291}
3292
3293// DescribeOrganizationConfigRulesWithContext is the same as DescribeOrganizationConfigRules with the addition of
3294// the ability to pass a context and additional request options.
3295//
3296// See DescribeOrganizationConfigRules for details on how to use this API operation.
3297//
3298// The context must be non-nil and will be used for request cancellation. If
3299// the context is nil a panic will occur. In the future the SDK may create
3300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3301// for more information on using Contexts.
3302func (c *ConfigService) DescribeOrganizationConfigRulesWithContext(ctx aws.Context, input *DescribeOrganizationConfigRulesInput, opts ...request.Option) (*DescribeOrganizationConfigRulesOutput, error) {
3303	req, out := c.DescribeOrganizationConfigRulesRequest(input)
3304	req.SetContext(ctx)
3305	req.ApplyOptions(opts...)
3306	return out, req.Send()
3307}
3308
3309const opDescribeOrganizationConformancePackStatuses = "DescribeOrganizationConformancePackStatuses"
3310
3311// DescribeOrganizationConformancePackStatusesRequest generates a "aws/request.Request" representing the
3312// client's request for the DescribeOrganizationConformancePackStatuses operation. The "output" return
3313// value will be populated with the request's response once the request completes
3314// successfully.
3315//
3316// Use "Send" method on the returned Request to send the API call to the service.
3317// the "output" return value is not valid until after Send returns without error.
3318//
3319// See DescribeOrganizationConformancePackStatuses for more information on using the DescribeOrganizationConformancePackStatuses
3320// API call, and error handling.
3321//
3322// This method is useful when you want to inject custom logic or configuration
3323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3324//
3325//
3326//    // Example sending a request using the DescribeOrganizationConformancePackStatusesRequest method.
3327//    req, resp := client.DescribeOrganizationConformancePackStatusesRequest(params)
3328//
3329//    err := req.Send()
3330//    if err == nil { // resp is now filled
3331//        fmt.Println(resp)
3332//    }
3333//
3334// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePackStatuses
3335func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input *DescribeOrganizationConformancePackStatusesInput) (req *request.Request, output *DescribeOrganizationConformancePackStatusesOutput) {
3336	op := &request.Operation{
3337		Name:       opDescribeOrganizationConformancePackStatuses,
3338		HTTPMethod: "POST",
3339		HTTPPath:   "/",
3340	}
3341
3342	if input == nil {
3343		input = &DescribeOrganizationConformancePackStatusesInput{}
3344	}
3345
3346	output = &DescribeOrganizationConformancePackStatusesOutput{}
3347	req = c.newRequest(op, input, output)
3348	return
3349}
3350
3351// DescribeOrganizationConformancePackStatuses API operation for AWS Config.
3352//
3353// Provides organization conformance pack deployment status for an organization.
3354//
3355// The status is not considered successful until organization conformance pack
3356// is successfully deployed in all the member accounts with an exception of
3357// excluded accounts.
3358//
3359// When you specify the limit and the next token, you receive a paginated response.
3360// Limit and next token are not applicable if you specify organization conformance
3361// pack names. They are only applicable, when you request all the organization
3362// conformance packs.
3363//
3364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3365// with awserr.Error's Code and Message methods to get detailed information about
3366// the error.
3367//
3368// See the AWS API reference guide for AWS Config's
3369// API operation DescribeOrganizationConformancePackStatuses for usage and error information.
3370//
3371// Returned Error Types:
3372//   * NoSuchOrganizationConformancePackException
3373//   AWS Config organization conformance pack that you passed in the filter does
3374//   not exist.
3375//
3376//   For DeleteOrganizationConformancePack, you tried to delete an organization
3377//   conformance pack that does not exist.
3378//
3379//   * InvalidLimitException
3380//   The specified limit is outside the allowable range.
3381//
3382//   * InvalidNextTokenException
3383//   The specified next token is invalid. Specify the nextToken string that was
3384//   returned in the previous response to get the next page of results.
3385//
3386//   * OrganizationAccessDeniedException
3387//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
3388//   API.
3389//
3390//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3391//   Config throws an exception if APIs are called from member accounts. All APIs
3392//   must be called from organization master account.
3393//
3394// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePackStatuses
3395func (c *ConfigService) DescribeOrganizationConformancePackStatuses(input *DescribeOrganizationConformancePackStatusesInput) (*DescribeOrganizationConformancePackStatusesOutput, error) {
3396	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
3397	return out, req.Send()
3398}
3399
3400// DescribeOrganizationConformancePackStatusesWithContext is the same as DescribeOrganizationConformancePackStatuses with the addition of
3401// the ability to pass a context and additional request options.
3402//
3403// See DescribeOrganizationConformancePackStatuses for details on how to use this API operation.
3404//
3405// The context must be non-nil and will be used for request cancellation. If
3406// the context is nil a panic will occur. In the future the SDK may create
3407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3408// for more information on using Contexts.
3409func (c *ConfigService) DescribeOrganizationConformancePackStatusesWithContext(ctx aws.Context, input *DescribeOrganizationConformancePackStatusesInput, opts ...request.Option) (*DescribeOrganizationConformancePackStatusesOutput, error) {
3410	req, out := c.DescribeOrganizationConformancePackStatusesRequest(input)
3411	req.SetContext(ctx)
3412	req.ApplyOptions(opts...)
3413	return out, req.Send()
3414}
3415
3416const opDescribeOrganizationConformancePacks = "DescribeOrganizationConformancePacks"
3417
3418// DescribeOrganizationConformancePacksRequest generates a "aws/request.Request" representing the
3419// client's request for the DescribeOrganizationConformancePacks operation. The "output" return
3420// value will be populated with the request's response once the request completes
3421// successfully.
3422//
3423// Use "Send" method on the returned Request to send the API call to the service.
3424// the "output" return value is not valid until after Send returns without error.
3425//
3426// See DescribeOrganizationConformancePacks for more information on using the DescribeOrganizationConformancePacks
3427// API call, and error handling.
3428//
3429// This method is useful when you want to inject custom logic or configuration
3430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3431//
3432//
3433//    // Example sending a request using the DescribeOrganizationConformancePacksRequest method.
3434//    req, resp := client.DescribeOrganizationConformancePacksRequest(params)
3435//
3436//    err := req.Send()
3437//    if err == nil { // resp is now filled
3438//        fmt.Println(resp)
3439//    }
3440//
3441// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
3442func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *DescribeOrganizationConformancePacksInput) (req *request.Request, output *DescribeOrganizationConformancePacksOutput) {
3443	op := &request.Operation{
3444		Name:       opDescribeOrganizationConformancePacks,
3445		HTTPMethod: "POST",
3446		HTTPPath:   "/",
3447	}
3448
3449	if input == nil {
3450		input = &DescribeOrganizationConformancePacksInput{}
3451	}
3452
3453	output = &DescribeOrganizationConformancePacksOutput{}
3454	req = c.newRequest(op, input, output)
3455	return
3456}
3457
3458// DescribeOrganizationConformancePacks API operation for AWS Config.
3459//
3460// Returns a list of organization conformance packs.
3461//
3462// When you specify the limit and the next token, you receive a paginated response.
3463//
3464// Limit and next token are not applicable if you specify organization conformance
3465// packs names. They are only applicable, when you request all the organization
3466// conformance packs.
3467//
3468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3469// with awserr.Error's Code and Message methods to get detailed information about
3470// the error.
3471//
3472// See the AWS API reference guide for AWS Config's
3473// API operation DescribeOrganizationConformancePacks for usage and error information.
3474//
3475// Returned Error Types:
3476//   * NoSuchOrganizationConformancePackException
3477//   AWS Config organization conformance pack that you passed in the filter does
3478//   not exist.
3479//
3480//   For DeleteOrganizationConformancePack, you tried to delete an organization
3481//   conformance pack that does not exist.
3482//
3483//   * InvalidNextTokenException
3484//   The specified next token is invalid. Specify the nextToken string that was
3485//   returned in the previous response to get the next page of results.
3486//
3487//   * InvalidLimitException
3488//   The specified limit is outside the allowable range.
3489//
3490//   * OrganizationAccessDeniedException
3491//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
3492//   API.
3493//
3494//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
3495//   Config throws an exception if APIs are called from member accounts. All APIs
3496//   must be called from organization master account.
3497//
3498// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeOrganizationConformancePacks
3499func (c *ConfigService) DescribeOrganizationConformancePacks(input *DescribeOrganizationConformancePacksInput) (*DescribeOrganizationConformancePacksOutput, error) {
3500	req, out := c.DescribeOrganizationConformancePacksRequest(input)
3501	return out, req.Send()
3502}
3503
3504// DescribeOrganizationConformancePacksWithContext is the same as DescribeOrganizationConformancePacks with the addition of
3505// the ability to pass a context and additional request options.
3506//
3507// See DescribeOrganizationConformancePacks for details on how to use this API operation.
3508//
3509// The context must be non-nil and will be used for request cancellation. If
3510// the context is nil a panic will occur. In the future the SDK may create
3511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3512// for more information on using Contexts.
3513func (c *ConfigService) DescribeOrganizationConformancePacksWithContext(ctx aws.Context, input *DescribeOrganizationConformancePacksInput, opts ...request.Option) (*DescribeOrganizationConformancePacksOutput, error) {
3514	req, out := c.DescribeOrganizationConformancePacksRequest(input)
3515	req.SetContext(ctx)
3516	req.ApplyOptions(opts...)
3517	return out, req.Send()
3518}
3519
3520const opDescribePendingAggregationRequests = "DescribePendingAggregationRequests"
3521
3522// DescribePendingAggregationRequestsRequest generates a "aws/request.Request" representing the
3523// client's request for the DescribePendingAggregationRequests operation. The "output" return
3524// value will be populated with the request's response once the request completes
3525// successfully.
3526//
3527// Use "Send" method on the returned Request to send the API call to the service.
3528// the "output" return value is not valid until after Send returns without error.
3529//
3530// See DescribePendingAggregationRequests for more information on using the DescribePendingAggregationRequests
3531// API call, and error handling.
3532//
3533// This method is useful when you want to inject custom logic or configuration
3534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3535//
3536//
3537//    // Example sending a request using the DescribePendingAggregationRequestsRequest method.
3538//    req, resp := client.DescribePendingAggregationRequestsRequest(params)
3539//
3540//    err := req.Send()
3541//    if err == nil { // resp is now filled
3542//        fmt.Println(resp)
3543//    }
3544//
3545// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
3546func (c *ConfigService) DescribePendingAggregationRequestsRequest(input *DescribePendingAggregationRequestsInput) (req *request.Request, output *DescribePendingAggregationRequestsOutput) {
3547	op := &request.Operation{
3548		Name:       opDescribePendingAggregationRequests,
3549		HTTPMethod: "POST",
3550		HTTPPath:   "/",
3551	}
3552
3553	if input == nil {
3554		input = &DescribePendingAggregationRequestsInput{}
3555	}
3556
3557	output = &DescribePendingAggregationRequestsOutput{}
3558	req = c.newRequest(op, input, output)
3559	return
3560}
3561
3562// DescribePendingAggregationRequests API operation for AWS Config.
3563//
3564// Returns a list of all pending aggregation requests.
3565//
3566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3567// with awserr.Error's Code and Message methods to get detailed information about
3568// the error.
3569//
3570// See the AWS API reference guide for AWS Config's
3571// API operation DescribePendingAggregationRequests for usage and error information.
3572//
3573// Returned Error Types:
3574//   * InvalidParameterValueException
3575//   One or more of the specified parameters are invalid. Verify that your parameters
3576//   are valid and try again.
3577//
3578//   * InvalidNextTokenException
3579//   The specified next token is invalid. Specify the nextToken string that was
3580//   returned in the previous response to get the next page of results.
3581//
3582//   * InvalidLimitException
3583//   The specified limit is outside the allowable range.
3584//
3585// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribePendingAggregationRequests
3586func (c *ConfigService) DescribePendingAggregationRequests(input *DescribePendingAggregationRequestsInput) (*DescribePendingAggregationRequestsOutput, error) {
3587	req, out := c.DescribePendingAggregationRequestsRequest(input)
3588	return out, req.Send()
3589}
3590
3591// DescribePendingAggregationRequestsWithContext is the same as DescribePendingAggregationRequests with the addition of
3592// the ability to pass a context and additional request options.
3593//
3594// See DescribePendingAggregationRequests for details on how to use this API operation.
3595//
3596// The context must be non-nil and will be used for request cancellation. If
3597// the context is nil a panic will occur. In the future the SDK may create
3598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3599// for more information on using Contexts.
3600func (c *ConfigService) DescribePendingAggregationRequestsWithContext(ctx aws.Context, input *DescribePendingAggregationRequestsInput, opts ...request.Option) (*DescribePendingAggregationRequestsOutput, error) {
3601	req, out := c.DescribePendingAggregationRequestsRequest(input)
3602	req.SetContext(ctx)
3603	req.ApplyOptions(opts...)
3604	return out, req.Send()
3605}
3606
3607const opDescribeRemediationConfigurations = "DescribeRemediationConfigurations"
3608
3609// DescribeRemediationConfigurationsRequest generates a "aws/request.Request" representing the
3610// client's request for the DescribeRemediationConfigurations operation. The "output" return
3611// value will be populated with the request's response once the request completes
3612// successfully.
3613//
3614// Use "Send" method on the returned Request to send the API call to the service.
3615// the "output" return value is not valid until after Send returns without error.
3616//
3617// See DescribeRemediationConfigurations for more information on using the DescribeRemediationConfigurations
3618// API call, and error handling.
3619//
3620// This method is useful when you want to inject custom logic or configuration
3621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3622//
3623//
3624//    // Example sending a request using the DescribeRemediationConfigurationsRequest method.
3625//    req, resp := client.DescribeRemediationConfigurationsRequest(params)
3626//
3627//    err := req.Send()
3628//    if err == nil { // resp is now filled
3629//        fmt.Println(resp)
3630//    }
3631//
3632// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
3633func (c *ConfigService) DescribeRemediationConfigurationsRequest(input *DescribeRemediationConfigurationsInput) (req *request.Request, output *DescribeRemediationConfigurationsOutput) {
3634	op := &request.Operation{
3635		Name:       opDescribeRemediationConfigurations,
3636		HTTPMethod: "POST",
3637		HTTPPath:   "/",
3638	}
3639
3640	if input == nil {
3641		input = &DescribeRemediationConfigurationsInput{}
3642	}
3643
3644	output = &DescribeRemediationConfigurationsOutput{}
3645	req = c.newRequest(op, input, output)
3646	return
3647}
3648
3649// DescribeRemediationConfigurations API operation for AWS Config.
3650//
3651// Returns the details of one or more remediation configurations.
3652//
3653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3654// with awserr.Error's Code and Message methods to get detailed information about
3655// the error.
3656//
3657// See the AWS API reference guide for AWS Config's
3658// API operation DescribeRemediationConfigurations for usage and error information.
3659// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationConfigurations
3660func (c *ConfigService) DescribeRemediationConfigurations(input *DescribeRemediationConfigurationsInput) (*DescribeRemediationConfigurationsOutput, error) {
3661	req, out := c.DescribeRemediationConfigurationsRequest(input)
3662	return out, req.Send()
3663}
3664
3665// DescribeRemediationConfigurationsWithContext is the same as DescribeRemediationConfigurations with the addition of
3666// the ability to pass a context and additional request options.
3667//
3668// See DescribeRemediationConfigurations for details on how to use this API operation.
3669//
3670// The context must be non-nil and will be used for request cancellation. If
3671// the context is nil a panic will occur. In the future the SDK may create
3672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3673// for more information on using Contexts.
3674func (c *ConfigService) DescribeRemediationConfigurationsWithContext(ctx aws.Context, input *DescribeRemediationConfigurationsInput, opts ...request.Option) (*DescribeRemediationConfigurationsOutput, error) {
3675	req, out := c.DescribeRemediationConfigurationsRequest(input)
3676	req.SetContext(ctx)
3677	req.ApplyOptions(opts...)
3678	return out, req.Send()
3679}
3680
3681const opDescribeRemediationExceptions = "DescribeRemediationExceptions"
3682
3683// DescribeRemediationExceptionsRequest generates a "aws/request.Request" representing the
3684// client's request for the DescribeRemediationExceptions operation. The "output" return
3685// value will be populated with the request's response once the request completes
3686// successfully.
3687//
3688// Use "Send" method on the returned Request to send the API call to the service.
3689// the "output" return value is not valid until after Send returns without error.
3690//
3691// See DescribeRemediationExceptions for more information on using the DescribeRemediationExceptions
3692// API call, and error handling.
3693//
3694// This method is useful when you want to inject custom logic or configuration
3695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3696//
3697//
3698//    // Example sending a request using the DescribeRemediationExceptionsRequest method.
3699//    req, resp := client.DescribeRemediationExceptionsRequest(params)
3700//
3701//    err := req.Send()
3702//    if err == nil { // resp is now filled
3703//        fmt.Println(resp)
3704//    }
3705//
3706// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
3707func (c *ConfigService) DescribeRemediationExceptionsRequest(input *DescribeRemediationExceptionsInput) (req *request.Request, output *DescribeRemediationExceptionsOutput) {
3708	op := &request.Operation{
3709		Name:       opDescribeRemediationExceptions,
3710		HTTPMethod: "POST",
3711		HTTPPath:   "/",
3712		Paginator: &request.Paginator{
3713			InputTokens:     []string{"NextToken"},
3714			OutputTokens:    []string{"NextToken"},
3715			LimitToken:      "Limit",
3716			TruncationToken: "",
3717		},
3718	}
3719
3720	if input == nil {
3721		input = &DescribeRemediationExceptionsInput{}
3722	}
3723
3724	output = &DescribeRemediationExceptionsOutput{}
3725	req = c.newRequest(op, input, output)
3726	return
3727}
3728
3729// DescribeRemediationExceptions API operation for AWS Config.
3730//
3731// Returns the details of one or more remediation exceptions. A detailed view
3732// of a remediation exception for a set of resources that includes an explanation
3733// of an exception and the time when the exception will be deleted. When you
3734// specify the limit and the next token, you receive a paginated response.
3735//
3736// AWS Config generates a remediation exception when a problem occurs executing
3737// a remediation action to a specific resource. Remediation exceptions blocks
3738// auto-remediation until the exception is cleared.
3739//
3740// When you specify the limit and the next token, you receive a paginated response.
3741//
3742// Limit and next token are not applicable if you request resources in batch.
3743// It is only applicable, when you request all resources.
3744//
3745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3746// with awserr.Error's Code and Message methods to get detailed information about
3747// the error.
3748//
3749// See the AWS API reference guide for AWS Config's
3750// API operation DescribeRemediationExceptions for usage and error information.
3751//
3752// Returned Error Types:
3753//   * InvalidNextTokenException
3754//   The specified next token is invalid. Specify the nextToken string that was
3755//   returned in the previous response to get the next page of results.
3756//
3757//   * InvalidParameterValueException
3758//   One or more of the specified parameters are invalid. Verify that your parameters
3759//   are valid and try again.
3760//
3761// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExceptions
3762func (c *ConfigService) DescribeRemediationExceptions(input *DescribeRemediationExceptionsInput) (*DescribeRemediationExceptionsOutput, error) {
3763	req, out := c.DescribeRemediationExceptionsRequest(input)
3764	return out, req.Send()
3765}
3766
3767// DescribeRemediationExceptionsWithContext is the same as DescribeRemediationExceptions with the addition of
3768// the ability to pass a context and additional request options.
3769//
3770// See DescribeRemediationExceptions for details on how to use this API operation.
3771//
3772// The context must be non-nil and will be used for request cancellation. If
3773// the context is nil a panic will occur. In the future the SDK may create
3774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3775// for more information on using Contexts.
3776func (c *ConfigService) DescribeRemediationExceptionsWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, opts ...request.Option) (*DescribeRemediationExceptionsOutput, error) {
3777	req, out := c.DescribeRemediationExceptionsRequest(input)
3778	req.SetContext(ctx)
3779	req.ApplyOptions(opts...)
3780	return out, req.Send()
3781}
3782
3783// DescribeRemediationExceptionsPages iterates over the pages of a DescribeRemediationExceptions operation,
3784// calling the "fn" function with the response data for each page. To stop
3785// iterating, return false from the fn function.
3786//
3787// See DescribeRemediationExceptions method for more information on how to use this operation.
3788//
3789// Note: This operation can generate multiple requests to a service.
3790//
3791//    // Example iterating over at most 3 pages of a DescribeRemediationExceptions operation.
3792//    pageNum := 0
3793//    err := client.DescribeRemediationExceptionsPages(params,
3794//        func(page *configservice.DescribeRemediationExceptionsOutput, lastPage bool) bool {
3795//            pageNum++
3796//            fmt.Println(page)
3797//            return pageNum <= 3
3798//        })
3799//
3800func (c *ConfigService) DescribeRemediationExceptionsPages(input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool) error {
3801	return c.DescribeRemediationExceptionsPagesWithContext(aws.BackgroundContext(), input, fn)
3802}
3803
3804// DescribeRemediationExceptionsPagesWithContext same as DescribeRemediationExceptionsPages except
3805// it takes a Context and allows setting request options on the pages.
3806//
3807// The context must be non-nil and will be used for request cancellation. If
3808// the context is nil a panic will occur. In the future the SDK may create
3809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3810// for more information on using Contexts.
3811func (c *ConfigService) DescribeRemediationExceptionsPagesWithContext(ctx aws.Context, input *DescribeRemediationExceptionsInput, fn func(*DescribeRemediationExceptionsOutput, bool) bool, opts ...request.Option) error {
3812	p := request.Pagination{
3813		NewRequest: func() (*request.Request, error) {
3814			var inCpy *DescribeRemediationExceptionsInput
3815			if input != nil {
3816				tmp := *input
3817				inCpy = &tmp
3818			}
3819			req, _ := c.DescribeRemediationExceptionsRequest(inCpy)
3820			req.SetContext(ctx)
3821			req.ApplyOptions(opts...)
3822			return req, nil
3823		},
3824	}
3825
3826	for p.Next() {
3827		if !fn(p.Page().(*DescribeRemediationExceptionsOutput), !p.HasNextPage()) {
3828			break
3829		}
3830	}
3831
3832	return p.Err()
3833}
3834
3835const opDescribeRemediationExecutionStatus = "DescribeRemediationExecutionStatus"
3836
3837// DescribeRemediationExecutionStatusRequest generates a "aws/request.Request" representing the
3838// client's request for the DescribeRemediationExecutionStatus operation. The "output" return
3839// value will be populated with the request's response once the request completes
3840// successfully.
3841//
3842// Use "Send" method on the returned Request to send the API call to the service.
3843// the "output" return value is not valid until after Send returns without error.
3844//
3845// See DescribeRemediationExecutionStatus for more information on using the DescribeRemediationExecutionStatus
3846// API call, and error handling.
3847//
3848// This method is useful when you want to inject custom logic or configuration
3849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3850//
3851//
3852//    // Example sending a request using the DescribeRemediationExecutionStatusRequest method.
3853//    req, resp := client.DescribeRemediationExecutionStatusRequest(params)
3854//
3855//    err := req.Send()
3856//    if err == nil { // resp is now filled
3857//        fmt.Println(resp)
3858//    }
3859//
3860// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
3861func (c *ConfigService) DescribeRemediationExecutionStatusRequest(input *DescribeRemediationExecutionStatusInput) (req *request.Request, output *DescribeRemediationExecutionStatusOutput) {
3862	op := &request.Operation{
3863		Name:       opDescribeRemediationExecutionStatus,
3864		HTTPMethod: "POST",
3865		HTTPPath:   "/",
3866		Paginator: &request.Paginator{
3867			InputTokens:     []string{"NextToken"},
3868			OutputTokens:    []string{"NextToken"},
3869			LimitToken:      "Limit",
3870			TruncationToken: "",
3871		},
3872	}
3873
3874	if input == nil {
3875		input = &DescribeRemediationExecutionStatusInput{}
3876	}
3877
3878	output = &DescribeRemediationExecutionStatusOutput{}
3879	req = c.newRequest(op, input, output)
3880	return
3881}
3882
3883// DescribeRemediationExecutionStatus API operation for AWS Config.
3884//
3885// Provides a detailed view of a Remediation Execution for a set of resources
3886// including state, timestamps for when steps for the remediation execution
3887// occur, and any error messages for steps that have failed. When you specify
3888// the limit and the next token, you receive a paginated response.
3889//
3890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3891// with awserr.Error's Code and Message methods to get detailed information about
3892// the error.
3893//
3894// See the AWS API reference guide for AWS Config's
3895// API operation DescribeRemediationExecutionStatus for usage and error information.
3896//
3897// Returned Error Types:
3898//   * NoSuchRemediationConfigurationException
3899//   You specified an AWS Config rule without a remediation configuration.
3900//
3901//   * InvalidNextTokenException
3902//   The specified next token is invalid. Specify the nextToken string that was
3903//   returned in the previous response to get the next page of results.
3904//
3905// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRemediationExecutionStatus
3906func (c *ConfigService) DescribeRemediationExecutionStatus(input *DescribeRemediationExecutionStatusInput) (*DescribeRemediationExecutionStatusOutput, error) {
3907	req, out := c.DescribeRemediationExecutionStatusRequest(input)
3908	return out, req.Send()
3909}
3910
3911// DescribeRemediationExecutionStatusWithContext is the same as DescribeRemediationExecutionStatus with the addition of
3912// the ability to pass a context and additional request options.
3913//
3914// See DescribeRemediationExecutionStatus for details on how to use this API operation.
3915//
3916// The context must be non-nil and will be used for request cancellation. If
3917// the context is nil a panic will occur. In the future the SDK may create
3918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3919// for more information on using Contexts.
3920func (c *ConfigService) DescribeRemediationExecutionStatusWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, opts ...request.Option) (*DescribeRemediationExecutionStatusOutput, error) {
3921	req, out := c.DescribeRemediationExecutionStatusRequest(input)
3922	req.SetContext(ctx)
3923	req.ApplyOptions(opts...)
3924	return out, req.Send()
3925}
3926
3927// DescribeRemediationExecutionStatusPages iterates over the pages of a DescribeRemediationExecutionStatus operation,
3928// calling the "fn" function with the response data for each page. To stop
3929// iterating, return false from the fn function.
3930//
3931// See DescribeRemediationExecutionStatus method for more information on how to use this operation.
3932//
3933// Note: This operation can generate multiple requests to a service.
3934//
3935//    // Example iterating over at most 3 pages of a DescribeRemediationExecutionStatus operation.
3936//    pageNum := 0
3937//    err := client.DescribeRemediationExecutionStatusPages(params,
3938//        func(page *configservice.DescribeRemediationExecutionStatusOutput, lastPage bool) bool {
3939//            pageNum++
3940//            fmt.Println(page)
3941//            return pageNum <= 3
3942//        })
3943//
3944func (c *ConfigService) DescribeRemediationExecutionStatusPages(input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool) error {
3945	return c.DescribeRemediationExecutionStatusPagesWithContext(aws.BackgroundContext(), input, fn)
3946}
3947
3948// DescribeRemediationExecutionStatusPagesWithContext same as DescribeRemediationExecutionStatusPages except
3949// it takes a Context and allows setting request options on the pages.
3950//
3951// The context must be non-nil and will be used for request cancellation. If
3952// the context is nil a panic will occur. In the future the SDK may create
3953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3954// for more information on using Contexts.
3955func (c *ConfigService) DescribeRemediationExecutionStatusPagesWithContext(ctx aws.Context, input *DescribeRemediationExecutionStatusInput, fn func(*DescribeRemediationExecutionStatusOutput, bool) bool, opts ...request.Option) error {
3956	p := request.Pagination{
3957		NewRequest: func() (*request.Request, error) {
3958			var inCpy *DescribeRemediationExecutionStatusInput
3959			if input != nil {
3960				tmp := *input
3961				inCpy = &tmp
3962			}
3963			req, _ := c.DescribeRemediationExecutionStatusRequest(inCpy)
3964			req.SetContext(ctx)
3965			req.ApplyOptions(opts...)
3966			return req, nil
3967		},
3968	}
3969
3970	for p.Next() {
3971		if !fn(p.Page().(*DescribeRemediationExecutionStatusOutput), !p.HasNextPage()) {
3972			break
3973		}
3974	}
3975
3976	return p.Err()
3977}
3978
3979const opDescribeRetentionConfigurations = "DescribeRetentionConfigurations"
3980
3981// DescribeRetentionConfigurationsRequest generates a "aws/request.Request" representing the
3982// client's request for the DescribeRetentionConfigurations operation. The "output" return
3983// value will be populated with the request's response once the request completes
3984// successfully.
3985//
3986// Use "Send" method on the returned Request to send the API call to the service.
3987// the "output" return value is not valid until after Send returns without error.
3988//
3989// See DescribeRetentionConfigurations for more information on using the DescribeRetentionConfigurations
3990// API call, and error handling.
3991//
3992// This method is useful when you want to inject custom logic or configuration
3993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3994//
3995//
3996//    // Example sending a request using the DescribeRetentionConfigurationsRequest method.
3997//    req, resp := client.DescribeRetentionConfigurationsRequest(params)
3998//
3999//    err := req.Send()
4000//    if err == nil { // resp is now filled
4001//        fmt.Println(resp)
4002//    }
4003//
4004// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
4005func (c *ConfigService) DescribeRetentionConfigurationsRequest(input *DescribeRetentionConfigurationsInput) (req *request.Request, output *DescribeRetentionConfigurationsOutput) {
4006	op := &request.Operation{
4007		Name:       opDescribeRetentionConfigurations,
4008		HTTPMethod: "POST",
4009		HTTPPath:   "/",
4010	}
4011
4012	if input == nil {
4013		input = &DescribeRetentionConfigurationsInput{}
4014	}
4015
4016	output = &DescribeRetentionConfigurationsOutput{}
4017	req = c.newRequest(op, input, output)
4018	return
4019}
4020
4021// DescribeRetentionConfigurations API operation for AWS Config.
4022//
4023// Returns the details of one or more retention configurations. If the retention
4024// configuration name is not specified, this action returns the details for
4025// all the retention configurations for that account.
4026//
4027// Currently, AWS Config supports only one retention configuration per region
4028// in your account.
4029//
4030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4031// with awserr.Error's Code and Message methods to get detailed information about
4032// the error.
4033//
4034// See the AWS API reference guide for AWS Config's
4035// API operation DescribeRetentionConfigurations for usage and error information.
4036//
4037// Returned Error Types:
4038//   * InvalidParameterValueException
4039//   One or more of the specified parameters are invalid. Verify that your parameters
4040//   are valid and try again.
4041//
4042//   * NoSuchRetentionConfigurationException
4043//   You have specified a retention configuration that does not exist.
4044//
4045//   * InvalidNextTokenException
4046//   The specified next token is invalid. Specify the nextToken string that was
4047//   returned in the previous response to get the next page of results.
4048//
4049// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeRetentionConfigurations
4050func (c *ConfigService) DescribeRetentionConfigurations(input *DescribeRetentionConfigurationsInput) (*DescribeRetentionConfigurationsOutput, error) {
4051	req, out := c.DescribeRetentionConfigurationsRequest(input)
4052	return out, req.Send()
4053}
4054
4055// DescribeRetentionConfigurationsWithContext is the same as DescribeRetentionConfigurations with the addition of
4056// the ability to pass a context and additional request options.
4057//
4058// See DescribeRetentionConfigurations for details on how to use this API operation.
4059//
4060// The context must be non-nil and will be used for request cancellation. If
4061// the context is nil a panic will occur. In the future the SDK may create
4062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4063// for more information on using Contexts.
4064func (c *ConfigService) DescribeRetentionConfigurationsWithContext(ctx aws.Context, input *DescribeRetentionConfigurationsInput, opts ...request.Option) (*DescribeRetentionConfigurationsOutput, error) {
4065	req, out := c.DescribeRetentionConfigurationsRequest(input)
4066	req.SetContext(ctx)
4067	req.ApplyOptions(opts...)
4068	return out, req.Send()
4069}
4070
4071const opGetAggregateComplianceDetailsByConfigRule = "GetAggregateComplianceDetailsByConfigRule"
4072
4073// GetAggregateComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
4074// client's request for the GetAggregateComplianceDetailsByConfigRule operation. The "output" return
4075// value will be populated with the request's response once the request completes
4076// successfully.
4077//
4078// Use "Send" method on the returned Request to send the API call to the service.
4079// the "output" return value is not valid until after Send returns without error.
4080//
4081// See GetAggregateComplianceDetailsByConfigRule for more information on using the GetAggregateComplianceDetailsByConfigRule
4082// API call, and error handling.
4083//
4084// This method is useful when you want to inject custom logic or configuration
4085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4086//
4087//
4088//    // Example sending a request using the GetAggregateComplianceDetailsByConfigRuleRequest method.
4089//    req, resp := client.GetAggregateComplianceDetailsByConfigRuleRequest(params)
4090//
4091//    err := req.Send()
4092//    if err == nil { // resp is now filled
4093//        fmt.Println(resp)
4094//    }
4095//
4096// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
4097func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleRequest(input *GetAggregateComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetAggregateComplianceDetailsByConfigRuleOutput) {
4098	op := &request.Operation{
4099		Name:       opGetAggregateComplianceDetailsByConfigRule,
4100		HTTPMethod: "POST",
4101		HTTPPath:   "/",
4102	}
4103
4104	if input == nil {
4105		input = &GetAggregateComplianceDetailsByConfigRuleInput{}
4106	}
4107
4108	output = &GetAggregateComplianceDetailsByConfigRuleOutput{}
4109	req = c.newRequest(op, input, output)
4110	return
4111}
4112
4113// GetAggregateComplianceDetailsByConfigRule API operation for AWS Config.
4114//
4115// Returns the evaluation results for the specified AWS Config rule for a specific
4116// resource in a rule. The results indicate which AWS resources were evaluated
4117// by the rule, when each resource was last evaluated, and whether each resource
4118// complies with the rule.
4119//
4120// The results can return an empty result page. But if you have a nextToken,
4121// the results are displayed on the next page.
4122//
4123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4124// with awserr.Error's Code and Message methods to get detailed information about
4125// the error.
4126//
4127// See the AWS API reference guide for AWS Config's
4128// API operation GetAggregateComplianceDetailsByConfigRule for usage and error information.
4129//
4130// Returned Error Types:
4131//   * ValidationException
4132//   The requested action is not valid.
4133//
4134//   * InvalidLimitException
4135//   The specified limit is outside the allowable range.
4136//
4137//   * InvalidNextTokenException
4138//   The specified next token is invalid. Specify the nextToken string that was
4139//   returned in the previous response to get the next page of results.
4140//
4141//   * NoSuchConfigurationAggregatorException
4142//   You have specified a configuration aggregator that does not exist.
4143//
4144// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateComplianceDetailsByConfigRule
4145func (c *ConfigService) GetAggregateComplianceDetailsByConfigRule(input *GetAggregateComplianceDetailsByConfigRuleInput) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
4146	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
4147	return out, req.Send()
4148}
4149
4150// GetAggregateComplianceDetailsByConfigRuleWithContext is the same as GetAggregateComplianceDetailsByConfigRule with the addition of
4151// the ability to pass a context and additional request options.
4152//
4153// See GetAggregateComplianceDetailsByConfigRule for details on how to use this API operation.
4154//
4155// The context must be non-nil and will be used for request cancellation. If
4156// the context is nil a panic will occur. In the future the SDK may create
4157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4158// for more information on using Contexts.
4159func (c *ConfigService) GetAggregateComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetAggregateComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetAggregateComplianceDetailsByConfigRuleOutput, error) {
4160	req, out := c.GetAggregateComplianceDetailsByConfigRuleRequest(input)
4161	req.SetContext(ctx)
4162	req.ApplyOptions(opts...)
4163	return out, req.Send()
4164}
4165
4166const opGetAggregateConfigRuleComplianceSummary = "GetAggregateConfigRuleComplianceSummary"
4167
4168// GetAggregateConfigRuleComplianceSummaryRequest generates a "aws/request.Request" representing the
4169// client's request for the GetAggregateConfigRuleComplianceSummary operation. The "output" return
4170// value will be populated with the request's response once the request completes
4171// successfully.
4172//
4173// Use "Send" method on the returned Request to send the API call to the service.
4174// the "output" return value is not valid until after Send returns without error.
4175//
4176// See GetAggregateConfigRuleComplianceSummary for more information on using the GetAggregateConfigRuleComplianceSummary
4177// API call, and error handling.
4178//
4179// This method is useful when you want to inject custom logic or configuration
4180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4181//
4182//
4183//    // Example sending a request using the GetAggregateConfigRuleComplianceSummaryRequest method.
4184//    req, resp := client.GetAggregateConfigRuleComplianceSummaryRequest(params)
4185//
4186//    err := req.Send()
4187//    if err == nil { // resp is now filled
4188//        fmt.Println(resp)
4189//    }
4190//
4191// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
4192func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryRequest(input *GetAggregateConfigRuleComplianceSummaryInput) (req *request.Request, output *GetAggregateConfigRuleComplianceSummaryOutput) {
4193	op := &request.Operation{
4194		Name:       opGetAggregateConfigRuleComplianceSummary,
4195		HTTPMethod: "POST",
4196		HTTPPath:   "/",
4197	}
4198
4199	if input == nil {
4200		input = &GetAggregateConfigRuleComplianceSummaryInput{}
4201	}
4202
4203	output = &GetAggregateConfigRuleComplianceSummaryOutput{}
4204	req = c.newRequest(op, input, output)
4205	return
4206}
4207
4208// GetAggregateConfigRuleComplianceSummary API operation for AWS Config.
4209//
4210// Returns the number of compliant and noncompliant rules for one or more accounts
4211// and regions in an aggregator.
4212//
4213// The results can return an empty result page, but if you have a nextToken,
4214// the results are displayed on the next page.
4215//
4216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4217// with awserr.Error's Code and Message methods to get detailed information about
4218// the error.
4219//
4220// See the AWS API reference guide for AWS Config's
4221// API operation GetAggregateConfigRuleComplianceSummary for usage and error information.
4222//
4223// Returned Error Types:
4224//   * ValidationException
4225//   The requested action is not valid.
4226//
4227//   * InvalidLimitException
4228//   The specified limit is outside the allowable range.
4229//
4230//   * InvalidNextTokenException
4231//   The specified next token is invalid. Specify the nextToken string that was
4232//   returned in the previous response to get the next page of results.
4233//
4234//   * NoSuchConfigurationAggregatorException
4235//   You have specified a configuration aggregator that does not exist.
4236//
4237// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateConfigRuleComplianceSummary
4238func (c *ConfigService) GetAggregateConfigRuleComplianceSummary(input *GetAggregateConfigRuleComplianceSummaryInput) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
4239	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
4240	return out, req.Send()
4241}
4242
4243// GetAggregateConfigRuleComplianceSummaryWithContext is the same as GetAggregateConfigRuleComplianceSummary with the addition of
4244// the ability to pass a context and additional request options.
4245//
4246// See GetAggregateConfigRuleComplianceSummary for details on how to use this API operation.
4247//
4248// The context must be non-nil and will be used for request cancellation. If
4249// the context is nil a panic will occur. In the future the SDK may create
4250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4251// for more information on using Contexts.
4252func (c *ConfigService) GetAggregateConfigRuleComplianceSummaryWithContext(ctx aws.Context, input *GetAggregateConfigRuleComplianceSummaryInput, opts ...request.Option) (*GetAggregateConfigRuleComplianceSummaryOutput, error) {
4253	req, out := c.GetAggregateConfigRuleComplianceSummaryRequest(input)
4254	req.SetContext(ctx)
4255	req.ApplyOptions(opts...)
4256	return out, req.Send()
4257}
4258
4259const opGetAggregateDiscoveredResourceCounts = "GetAggregateDiscoveredResourceCounts"
4260
4261// GetAggregateDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
4262// client's request for the GetAggregateDiscoveredResourceCounts operation. The "output" return
4263// value will be populated with the request's response once the request completes
4264// successfully.
4265//
4266// Use "Send" method on the returned Request to send the API call to the service.
4267// the "output" return value is not valid until after Send returns without error.
4268//
4269// See GetAggregateDiscoveredResourceCounts for more information on using the GetAggregateDiscoveredResourceCounts
4270// API call, and error handling.
4271//
4272// This method is useful when you want to inject custom logic or configuration
4273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4274//
4275//
4276//    // Example sending a request using the GetAggregateDiscoveredResourceCountsRequest method.
4277//    req, resp := client.GetAggregateDiscoveredResourceCountsRequest(params)
4278//
4279//    err := req.Send()
4280//    if err == nil { // resp is now filled
4281//        fmt.Println(resp)
4282//    }
4283//
4284// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
4285func (c *ConfigService) GetAggregateDiscoveredResourceCountsRequest(input *GetAggregateDiscoveredResourceCountsInput) (req *request.Request, output *GetAggregateDiscoveredResourceCountsOutput) {
4286	op := &request.Operation{
4287		Name:       opGetAggregateDiscoveredResourceCounts,
4288		HTTPMethod: "POST",
4289		HTTPPath:   "/",
4290	}
4291
4292	if input == nil {
4293		input = &GetAggregateDiscoveredResourceCountsInput{}
4294	}
4295
4296	output = &GetAggregateDiscoveredResourceCountsOutput{}
4297	req = c.newRequest(op, input, output)
4298	return
4299}
4300
4301// GetAggregateDiscoveredResourceCounts API operation for AWS Config.
4302//
4303// Returns the resource counts across accounts and regions that are present
4304// in your AWS Config aggregator. You can request the resource counts by providing
4305// filters and GroupByKey.
4306//
4307// For example, if the input contains accountID 12345678910 and region us-east-1
4308// in filters, the API returns the count of resources in account ID 12345678910
4309// and region us-east-1. If the input contains ACCOUNT_ID as a GroupByKey, the
4310// API returns resource counts for all source accounts that are present in your
4311// aggregator.
4312//
4313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4314// with awserr.Error's Code and Message methods to get detailed information about
4315// the error.
4316//
4317// See the AWS API reference guide for AWS Config's
4318// API operation GetAggregateDiscoveredResourceCounts for usage and error information.
4319//
4320// Returned Error Types:
4321//   * ValidationException
4322//   The requested action is not valid.
4323//
4324//   * InvalidLimitException
4325//   The specified limit is outside the allowable range.
4326//
4327//   * InvalidNextTokenException
4328//   The specified next token is invalid. Specify the nextToken string that was
4329//   returned in the previous response to get the next page of results.
4330//
4331//   * NoSuchConfigurationAggregatorException
4332//   You have specified a configuration aggregator that does not exist.
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts
4335func (c *ConfigService) GetAggregateDiscoveredResourceCounts(input *GetAggregateDiscoveredResourceCountsInput) (*GetAggregateDiscoveredResourceCountsOutput, error) {
4336	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
4337	return out, req.Send()
4338}
4339
4340// GetAggregateDiscoveredResourceCountsWithContext is the same as GetAggregateDiscoveredResourceCounts with the addition of
4341// the ability to pass a context and additional request options.
4342//
4343// See GetAggregateDiscoveredResourceCounts for details on how to use this API operation.
4344//
4345// The context must be non-nil and will be used for request cancellation. If
4346// the context is nil a panic will occur. In the future the SDK may create
4347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4348// for more information on using Contexts.
4349func (c *ConfigService) GetAggregateDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetAggregateDiscoveredResourceCountsInput, opts ...request.Option) (*GetAggregateDiscoveredResourceCountsOutput, error) {
4350	req, out := c.GetAggregateDiscoveredResourceCountsRequest(input)
4351	req.SetContext(ctx)
4352	req.ApplyOptions(opts...)
4353	return out, req.Send()
4354}
4355
4356const opGetAggregateResourceConfig = "GetAggregateResourceConfig"
4357
4358// GetAggregateResourceConfigRequest generates a "aws/request.Request" representing the
4359// client's request for the GetAggregateResourceConfig operation. The "output" return
4360// value will be populated with the request's response once the request completes
4361// successfully.
4362//
4363// Use "Send" method on the returned Request to send the API call to the service.
4364// the "output" return value is not valid until after Send returns without error.
4365//
4366// See GetAggregateResourceConfig for more information on using the GetAggregateResourceConfig
4367// API call, and error handling.
4368//
4369// This method is useful when you want to inject custom logic or configuration
4370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4371//
4372//
4373//    // Example sending a request using the GetAggregateResourceConfigRequest method.
4374//    req, resp := client.GetAggregateResourceConfigRequest(params)
4375//
4376//    err := req.Send()
4377//    if err == nil { // resp is now filled
4378//        fmt.Println(resp)
4379//    }
4380//
4381// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
4382func (c *ConfigService) GetAggregateResourceConfigRequest(input *GetAggregateResourceConfigInput) (req *request.Request, output *GetAggregateResourceConfigOutput) {
4383	op := &request.Operation{
4384		Name:       opGetAggregateResourceConfig,
4385		HTTPMethod: "POST",
4386		HTTPPath:   "/",
4387	}
4388
4389	if input == nil {
4390		input = &GetAggregateResourceConfigInput{}
4391	}
4392
4393	output = &GetAggregateResourceConfigOutput{}
4394	req = c.newRequest(op, input, output)
4395	return
4396}
4397
4398// GetAggregateResourceConfig API operation for AWS Config.
4399//
4400// Returns configuration item that is aggregated for your specific resource
4401// in a specific source account and region.
4402//
4403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4404// with awserr.Error's Code and Message methods to get detailed information about
4405// the error.
4406//
4407// See the AWS API reference guide for AWS Config's
4408// API operation GetAggregateResourceConfig for usage and error information.
4409//
4410// Returned Error Types:
4411//   * ValidationException
4412//   The requested action is not valid.
4413//
4414//   * NoSuchConfigurationAggregatorException
4415//   You have specified a configuration aggregator that does not exist.
4416//
4417//   * OversizedConfigurationItemException
4418//   The configuration item size is outside the allowable range.
4419//
4420//   * ResourceNotDiscoveredException
4421//   You have specified a resource that is either unknown or has not been discovered.
4422//
4423// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig
4424func (c *ConfigService) GetAggregateResourceConfig(input *GetAggregateResourceConfigInput) (*GetAggregateResourceConfigOutput, error) {
4425	req, out := c.GetAggregateResourceConfigRequest(input)
4426	return out, req.Send()
4427}
4428
4429// GetAggregateResourceConfigWithContext is the same as GetAggregateResourceConfig with the addition of
4430// the ability to pass a context and additional request options.
4431//
4432// See GetAggregateResourceConfig for details on how to use this API operation.
4433//
4434// The context must be non-nil and will be used for request cancellation. If
4435// the context is nil a panic will occur. In the future the SDK may create
4436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4437// for more information on using Contexts.
4438func (c *ConfigService) GetAggregateResourceConfigWithContext(ctx aws.Context, input *GetAggregateResourceConfigInput, opts ...request.Option) (*GetAggregateResourceConfigOutput, error) {
4439	req, out := c.GetAggregateResourceConfigRequest(input)
4440	req.SetContext(ctx)
4441	req.ApplyOptions(opts...)
4442	return out, req.Send()
4443}
4444
4445const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
4446
4447// GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
4448// client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
4449// value will be populated with the request's response once the request completes
4450// successfully.
4451//
4452// Use "Send" method on the returned Request to send the API call to the service.
4453// the "output" return value is not valid until after Send returns without error.
4454//
4455// See GetComplianceDetailsByConfigRule for more information on using the GetComplianceDetailsByConfigRule
4456// API call, and error handling.
4457//
4458// This method is useful when you want to inject custom logic or configuration
4459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4460//
4461//
4462//    // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
4463//    req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
4464//
4465//    err := req.Send()
4466//    if err == nil { // resp is now filled
4467//        fmt.Println(resp)
4468//    }
4469//
4470// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
4471func (c *ConfigService) GetComplianceDetailsByConfigRuleRequest(input *GetComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetComplianceDetailsByConfigRuleOutput) {
4472	op := &request.Operation{
4473		Name:       opGetComplianceDetailsByConfigRule,
4474		HTTPMethod: "POST",
4475		HTTPPath:   "/",
4476	}
4477
4478	if input == nil {
4479		input = &GetComplianceDetailsByConfigRuleInput{}
4480	}
4481
4482	output = &GetComplianceDetailsByConfigRuleOutput{}
4483	req = c.newRequest(op, input, output)
4484	return
4485}
4486
4487// GetComplianceDetailsByConfigRule API operation for AWS Config.
4488//
4489// Returns the evaluation results for the specified AWS Config rule. The results
4490// indicate which AWS resources were evaluated by the rule, when each resource
4491// was last evaluated, and whether each resource complies with the rule.
4492//
4493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4494// with awserr.Error's Code and Message methods to get detailed information about
4495// the error.
4496//
4497// See the AWS API reference guide for AWS Config's
4498// API operation GetComplianceDetailsByConfigRule for usage and error information.
4499//
4500// Returned Error Types:
4501//   * InvalidParameterValueException
4502//   One or more of the specified parameters are invalid. Verify that your parameters
4503//   are valid and try again.
4504//
4505//   * InvalidNextTokenException
4506//   The specified next token is invalid. Specify the nextToken string that was
4507//   returned in the previous response to get the next page of results.
4508//
4509//   * NoSuchConfigRuleException
4510//   One or more AWS Config rules in the request are invalid. Verify that the
4511//   rule names are correct and try again.
4512//
4513// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByConfigRule
4514func (c *ConfigService) GetComplianceDetailsByConfigRule(input *GetComplianceDetailsByConfigRuleInput) (*GetComplianceDetailsByConfigRuleOutput, error) {
4515	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
4516	return out, req.Send()
4517}
4518
4519// GetComplianceDetailsByConfigRuleWithContext is the same as GetComplianceDetailsByConfigRule with the addition of
4520// the ability to pass a context and additional request options.
4521//
4522// See GetComplianceDetailsByConfigRule for details on how to use this API operation.
4523//
4524// The context must be non-nil and will be used for request cancellation. If
4525// the context is nil a panic will occur. In the future the SDK may create
4526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4527// for more information on using Contexts.
4528func (c *ConfigService) GetComplianceDetailsByConfigRuleWithContext(ctx aws.Context, input *GetComplianceDetailsByConfigRuleInput, opts ...request.Option) (*GetComplianceDetailsByConfigRuleOutput, error) {
4529	req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
4530	req.SetContext(ctx)
4531	req.ApplyOptions(opts...)
4532	return out, req.Send()
4533}
4534
4535const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
4536
4537// GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
4538// client's request for the GetComplianceDetailsByResource operation. The "output" return
4539// value will be populated with the request's response once the request completes
4540// successfully.
4541//
4542// Use "Send" method on the returned Request to send the API call to the service.
4543// the "output" return value is not valid until after Send returns without error.
4544//
4545// See GetComplianceDetailsByResource for more information on using the GetComplianceDetailsByResource
4546// API call, and error handling.
4547//
4548// This method is useful when you want to inject custom logic or configuration
4549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4550//
4551//
4552//    // Example sending a request using the GetComplianceDetailsByResourceRequest method.
4553//    req, resp := client.GetComplianceDetailsByResourceRequest(params)
4554//
4555//    err := req.Send()
4556//    if err == nil { // resp is now filled
4557//        fmt.Println(resp)
4558//    }
4559//
4560// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
4561func (c *ConfigService) GetComplianceDetailsByResourceRequest(input *GetComplianceDetailsByResourceInput) (req *request.Request, output *GetComplianceDetailsByResourceOutput) {
4562	op := &request.Operation{
4563		Name:       opGetComplianceDetailsByResource,
4564		HTTPMethod: "POST",
4565		HTTPPath:   "/",
4566	}
4567
4568	if input == nil {
4569		input = &GetComplianceDetailsByResourceInput{}
4570	}
4571
4572	output = &GetComplianceDetailsByResourceOutput{}
4573	req = c.newRequest(op, input, output)
4574	return
4575}
4576
4577// GetComplianceDetailsByResource API operation for AWS Config.
4578//
4579// Returns the evaluation results for the specified AWS resource. The results
4580// indicate which AWS Config rules were used to evaluate the resource, when
4581// each rule was last used, and whether the resource complies with each rule.
4582//
4583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4584// with awserr.Error's Code and Message methods to get detailed information about
4585// the error.
4586//
4587// See the AWS API reference guide for AWS Config's
4588// API operation GetComplianceDetailsByResource for usage and error information.
4589//
4590// Returned Error Types:
4591//   * InvalidParameterValueException
4592//   One or more of the specified parameters are invalid. Verify that your parameters
4593//   are valid and try again.
4594//
4595// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceDetailsByResource
4596func (c *ConfigService) GetComplianceDetailsByResource(input *GetComplianceDetailsByResourceInput) (*GetComplianceDetailsByResourceOutput, error) {
4597	req, out := c.GetComplianceDetailsByResourceRequest(input)
4598	return out, req.Send()
4599}
4600
4601// GetComplianceDetailsByResourceWithContext is the same as GetComplianceDetailsByResource with the addition of
4602// the ability to pass a context and additional request options.
4603//
4604// See GetComplianceDetailsByResource for details on how to use this API operation.
4605//
4606// The context must be non-nil and will be used for request cancellation. If
4607// the context is nil a panic will occur. In the future the SDK may create
4608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4609// for more information on using Contexts.
4610func (c *ConfigService) GetComplianceDetailsByResourceWithContext(ctx aws.Context, input *GetComplianceDetailsByResourceInput, opts ...request.Option) (*GetComplianceDetailsByResourceOutput, error) {
4611	req, out := c.GetComplianceDetailsByResourceRequest(input)
4612	req.SetContext(ctx)
4613	req.ApplyOptions(opts...)
4614	return out, req.Send()
4615}
4616
4617const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
4618
4619// GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
4620// client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
4621// value will be populated with the request's response once the request completes
4622// successfully.
4623//
4624// Use "Send" method on the returned Request to send the API call to the service.
4625// the "output" return value is not valid until after Send returns without error.
4626//
4627// See GetComplianceSummaryByConfigRule for more information on using the GetComplianceSummaryByConfigRule
4628// API call, and error handling.
4629//
4630// This method is useful when you want to inject custom logic or configuration
4631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4632//
4633//
4634//    // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
4635//    req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
4636//
4637//    err := req.Send()
4638//    if err == nil { // resp is now filled
4639//        fmt.Println(resp)
4640//    }
4641//
4642// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
4643func (c *ConfigService) GetComplianceSummaryByConfigRuleRequest(input *GetComplianceSummaryByConfigRuleInput) (req *request.Request, output *GetComplianceSummaryByConfigRuleOutput) {
4644	op := &request.Operation{
4645		Name:       opGetComplianceSummaryByConfigRule,
4646		HTTPMethod: "POST",
4647		HTTPPath:   "/",
4648	}
4649
4650	if input == nil {
4651		input = &GetComplianceSummaryByConfigRuleInput{}
4652	}
4653
4654	output = &GetComplianceSummaryByConfigRuleOutput{}
4655	req = c.newRequest(op, input, output)
4656	return
4657}
4658
4659// GetComplianceSummaryByConfigRule API operation for AWS Config.
4660//
4661// Returns the number of AWS Config rules that are compliant and noncompliant,
4662// up to a maximum of 25 for each.
4663//
4664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4665// with awserr.Error's Code and Message methods to get detailed information about
4666// the error.
4667//
4668// See the AWS API reference guide for AWS Config's
4669// API operation GetComplianceSummaryByConfigRule for usage and error information.
4670// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByConfigRule
4671func (c *ConfigService) GetComplianceSummaryByConfigRule(input *GetComplianceSummaryByConfigRuleInput) (*GetComplianceSummaryByConfigRuleOutput, error) {
4672	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
4673	return out, req.Send()
4674}
4675
4676// GetComplianceSummaryByConfigRuleWithContext is the same as GetComplianceSummaryByConfigRule with the addition of
4677// the ability to pass a context and additional request options.
4678//
4679// See GetComplianceSummaryByConfigRule for details on how to use this API operation.
4680//
4681// The context must be non-nil and will be used for request cancellation. If
4682// the context is nil a panic will occur. In the future the SDK may create
4683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4684// for more information on using Contexts.
4685func (c *ConfigService) GetComplianceSummaryByConfigRuleWithContext(ctx aws.Context, input *GetComplianceSummaryByConfigRuleInput, opts ...request.Option) (*GetComplianceSummaryByConfigRuleOutput, error) {
4686	req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
4687	req.SetContext(ctx)
4688	req.ApplyOptions(opts...)
4689	return out, req.Send()
4690}
4691
4692const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
4693
4694// GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
4695// client's request for the GetComplianceSummaryByResourceType operation. The "output" return
4696// value will be populated with the request's response once the request completes
4697// successfully.
4698//
4699// Use "Send" method on the returned Request to send the API call to the service.
4700// the "output" return value is not valid until after Send returns without error.
4701//
4702// See GetComplianceSummaryByResourceType for more information on using the GetComplianceSummaryByResourceType
4703// API call, and error handling.
4704//
4705// This method is useful when you want to inject custom logic or configuration
4706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4707//
4708//
4709//    // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
4710//    req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
4711//
4712//    err := req.Send()
4713//    if err == nil { // resp is now filled
4714//        fmt.Println(resp)
4715//    }
4716//
4717// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
4718func (c *ConfigService) GetComplianceSummaryByResourceTypeRequest(input *GetComplianceSummaryByResourceTypeInput) (req *request.Request, output *GetComplianceSummaryByResourceTypeOutput) {
4719	op := &request.Operation{
4720		Name:       opGetComplianceSummaryByResourceType,
4721		HTTPMethod: "POST",
4722		HTTPPath:   "/",
4723	}
4724
4725	if input == nil {
4726		input = &GetComplianceSummaryByResourceTypeInput{}
4727	}
4728
4729	output = &GetComplianceSummaryByResourceTypeOutput{}
4730	req = c.newRequest(op, input, output)
4731	return
4732}
4733
4734// GetComplianceSummaryByResourceType API operation for AWS Config.
4735//
4736// Returns the number of resources that are compliant and the number that are
4737// noncompliant. You can specify one or more resource types to get these numbers
4738// for each resource type. The maximum number returned is 100.
4739//
4740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4741// with awserr.Error's Code and Message methods to get detailed information about
4742// the error.
4743//
4744// See the AWS API reference guide for AWS Config's
4745// API operation GetComplianceSummaryByResourceType for usage and error information.
4746//
4747// Returned Error Types:
4748//   * InvalidParameterValueException
4749//   One or more of the specified parameters are invalid. Verify that your parameters
4750//   are valid and try again.
4751//
4752// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetComplianceSummaryByResourceType
4753func (c *ConfigService) GetComplianceSummaryByResourceType(input *GetComplianceSummaryByResourceTypeInput) (*GetComplianceSummaryByResourceTypeOutput, error) {
4754	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
4755	return out, req.Send()
4756}
4757
4758// GetComplianceSummaryByResourceTypeWithContext is the same as GetComplianceSummaryByResourceType with the addition of
4759// the ability to pass a context and additional request options.
4760//
4761// See GetComplianceSummaryByResourceType for details on how to use this API operation.
4762//
4763// The context must be non-nil and will be used for request cancellation. If
4764// the context is nil a panic will occur. In the future the SDK may create
4765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4766// for more information on using Contexts.
4767func (c *ConfigService) GetComplianceSummaryByResourceTypeWithContext(ctx aws.Context, input *GetComplianceSummaryByResourceTypeInput, opts ...request.Option) (*GetComplianceSummaryByResourceTypeOutput, error) {
4768	req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
4769	req.SetContext(ctx)
4770	req.ApplyOptions(opts...)
4771	return out, req.Send()
4772}
4773
4774const opGetConformancePackComplianceDetails = "GetConformancePackComplianceDetails"
4775
4776// GetConformancePackComplianceDetailsRequest generates a "aws/request.Request" representing the
4777// client's request for the GetConformancePackComplianceDetails operation. The "output" return
4778// value will be populated with the request's response once the request completes
4779// successfully.
4780//
4781// Use "Send" method on the returned Request to send the API call to the service.
4782// the "output" return value is not valid until after Send returns without error.
4783//
4784// See GetConformancePackComplianceDetails for more information on using the GetConformancePackComplianceDetails
4785// API call, and error handling.
4786//
4787// This method is useful when you want to inject custom logic or configuration
4788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4789//
4790//
4791//    // Example sending a request using the GetConformancePackComplianceDetailsRequest method.
4792//    req, resp := client.GetConformancePackComplianceDetailsRequest(params)
4793//
4794//    err := req.Send()
4795//    if err == nil { // resp is now filled
4796//        fmt.Println(resp)
4797//    }
4798//
4799// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
4800func (c *ConfigService) GetConformancePackComplianceDetailsRequest(input *GetConformancePackComplianceDetailsInput) (req *request.Request, output *GetConformancePackComplianceDetailsOutput) {
4801	op := &request.Operation{
4802		Name:       opGetConformancePackComplianceDetails,
4803		HTTPMethod: "POST",
4804		HTTPPath:   "/",
4805	}
4806
4807	if input == nil {
4808		input = &GetConformancePackComplianceDetailsInput{}
4809	}
4810
4811	output = &GetConformancePackComplianceDetailsOutput{}
4812	req = c.newRequest(op, input, output)
4813	return
4814}
4815
4816// GetConformancePackComplianceDetails API operation for AWS Config.
4817//
4818// Returns compliance details of a conformance pack for all AWS resources that
4819// are monitered by conformance pack.
4820//
4821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4822// with awserr.Error's Code and Message methods to get detailed information about
4823// the error.
4824//
4825// See the AWS API reference guide for AWS Config's
4826// API operation GetConformancePackComplianceDetails for usage and error information.
4827//
4828// Returned Error Types:
4829//   * InvalidLimitException
4830//   The specified limit is outside the allowable range.
4831//
4832//   * InvalidNextTokenException
4833//   The specified next token is invalid. Specify the nextToken string that was
4834//   returned in the previous response to get the next page of results.
4835//
4836//   * NoSuchConformancePackException
4837//   You specified one or more conformance packs that do not exist.
4838//
4839//   * NoSuchConfigRuleInConformancePackException
4840//   AWS Config rule that you passed in the filter does not exist.
4841//
4842//   * InvalidParameterValueException
4843//   One or more of the specified parameters are invalid. Verify that your parameters
4844//   are valid and try again.
4845//
4846// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceDetails
4847func (c *ConfigService) GetConformancePackComplianceDetails(input *GetConformancePackComplianceDetailsInput) (*GetConformancePackComplianceDetailsOutput, error) {
4848	req, out := c.GetConformancePackComplianceDetailsRequest(input)
4849	return out, req.Send()
4850}
4851
4852// GetConformancePackComplianceDetailsWithContext is the same as GetConformancePackComplianceDetails with the addition of
4853// the ability to pass a context and additional request options.
4854//
4855// See GetConformancePackComplianceDetails for details on how to use this API operation.
4856//
4857// The context must be non-nil and will be used for request cancellation. If
4858// the context is nil a panic will occur. In the future the SDK may create
4859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4860// for more information on using Contexts.
4861func (c *ConfigService) GetConformancePackComplianceDetailsWithContext(ctx aws.Context, input *GetConformancePackComplianceDetailsInput, opts ...request.Option) (*GetConformancePackComplianceDetailsOutput, error) {
4862	req, out := c.GetConformancePackComplianceDetailsRequest(input)
4863	req.SetContext(ctx)
4864	req.ApplyOptions(opts...)
4865	return out, req.Send()
4866}
4867
4868const opGetConformancePackComplianceSummary = "GetConformancePackComplianceSummary"
4869
4870// GetConformancePackComplianceSummaryRequest generates a "aws/request.Request" representing the
4871// client's request for the GetConformancePackComplianceSummary operation. The "output" return
4872// value will be populated with the request's response once the request completes
4873// successfully.
4874//
4875// Use "Send" method on the returned Request to send the API call to the service.
4876// the "output" return value is not valid until after Send returns without error.
4877//
4878// See GetConformancePackComplianceSummary for more information on using the GetConformancePackComplianceSummary
4879// API call, and error handling.
4880//
4881// This method is useful when you want to inject custom logic or configuration
4882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4883//
4884//
4885//    // Example sending a request using the GetConformancePackComplianceSummaryRequest method.
4886//    req, resp := client.GetConformancePackComplianceSummaryRequest(params)
4887//
4888//    err := req.Send()
4889//    if err == nil { // resp is now filled
4890//        fmt.Println(resp)
4891//    }
4892//
4893// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
4894func (c *ConfigService) GetConformancePackComplianceSummaryRequest(input *GetConformancePackComplianceSummaryInput) (req *request.Request, output *GetConformancePackComplianceSummaryOutput) {
4895	op := &request.Operation{
4896		Name:       opGetConformancePackComplianceSummary,
4897		HTTPMethod: "POST",
4898		HTTPPath:   "/",
4899	}
4900
4901	if input == nil {
4902		input = &GetConformancePackComplianceSummaryInput{}
4903	}
4904
4905	output = &GetConformancePackComplianceSummaryOutput{}
4906	req = c.newRequest(op, input, output)
4907	return
4908}
4909
4910// GetConformancePackComplianceSummary API operation for AWS Config.
4911//
4912// Returns compliance details for the conformance pack based on the cumulative
4913// compliance results of all the rules in that conformance pack.
4914//
4915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4916// with awserr.Error's Code and Message methods to get detailed information about
4917// the error.
4918//
4919// See the AWS API reference guide for AWS Config's
4920// API operation GetConformancePackComplianceSummary for usage and error information.
4921//
4922// Returned Error Types:
4923//   * NoSuchConformancePackException
4924//   You specified one or more conformance packs that do not exist.
4925//
4926//   * InvalidLimitException
4927//   The specified limit is outside the allowable range.
4928//
4929//   * InvalidNextTokenException
4930//   The specified next token is invalid. Specify the nextToken string that was
4931//   returned in the previous response to get the next page of results.
4932//
4933// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetConformancePackComplianceSummary
4934func (c *ConfigService) GetConformancePackComplianceSummary(input *GetConformancePackComplianceSummaryInput) (*GetConformancePackComplianceSummaryOutput, error) {
4935	req, out := c.GetConformancePackComplianceSummaryRequest(input)
4936	return out, req.Send()
4937}
4938
4939// GetConformancePackComplianceSummaryWithContext is the same as GetConformancePackComplianceSummary with the addition of
4940// the ability to pass a context and additional request options.
4941//
4942// See GetConformancePackComplianceSummary for details on how to use this API operation.
4943//
4944// The context must be non-nil and will be used for request cancellation. If
4945// the context is nil a panic will occur. In the future the SDK may create
4946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4947// for more information on using Contexts.
4948func (c *ConfigService) GetConformancePackComplianceSummaryWithContext(ctx aws.Context, input *GetConformancePackComplianceSummaryInput, opts ...request.Option) (*GetConformancePackComplianceSummaryOutput, error) {
4949	req, out := c.GetConformancePackComplianceSummaryRequest(input)
4950	req.SetContext(ctx)
4951	req.ApplyOptions(opts...)
4952	return out, req.Send()
4953}
4954
4955const opGetDiscoveredResourceCounts = "GetDiscoveredResourceCounts"
4956
4957// GetDiscoveredResourceCountsRequest generates a "aws/request.Request" representing the
4958// client's request for the GetDiscoveredResourceCounts operation. The "output" return
4959// value will be populated with the request's response once the request completes
4960// successfully.
4961//
4962// Use "Send" method on the returned Request to send the API call to the service.
4963// the "output" return value is not valid until after Send returns without error.
4964//
4965// See GetDiscoveredResourceCounts for more information on using the GetDiscoveredResourceCounts
4966// API call, and error handling.
4967//
4968// This method is useful when you want to inject custom logic or configuration
4969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4970//
4971//
4972//    // Example sending a request using the GetDiscoveredResourceCountsRequest method.
4973//    req, resp := client.GetDiscoveredResourceCountsRequest(params)
4974//
4975//    err := req.Send()
4976//    if err == nil { // resp is now filled
4977//        fmt.Println(resp)
4978//    }
4979//
4980// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
4981func (c *ConfigService) GetDiscoveredResourceCountsRequest(input *GetDiscoveredResourceCountsInput) (req *request.Request, output *GetDiscoveredResourceCountsOutput) {
4982	op := &request.Operation{
4983		Name:       opGetDiscoveredResourceCounts,
4984		HTTPMethod: "POST",
4985		HTTPPath:   "/",
4986	}
4987
4988	if input == nil {
4989		input = &GetDiscoveredResourceCountsInput{}
4990	}
4991
4992	output = &GetDiscoveredResourceCountsOutput{}
4993	req = c.newRequest(op, input, output)
4994	return
4995}
4996
4997// GetDiscoveredResourceCounts API operation for AWS Config.
4998//
4999// Returns the resource types, the number of each resource type, and the total
5000// number of resources that AWS Config is recording in this region for your
5001// AWS account.
5002//
5003// Example
5004//
5005// AWS Config is recording three resource types in the US East (Ohio) Region
5006// for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.
5007//
5008// You make a call to the GetDiscoveredResourceCounts action and specify that
5009// you want all resource types.
5010//
5011// AWS Config returns the following:
5012//
5013//    * The resource types (EC2 instances, IAM users, and S3 buckets).
5014//
5015//    * The number of each resource type (25, 20, and 15).
5016//
5017//    * The total number of all resources (60).
5018//
5019// The response is paginated. By default, AWS Config lists 100 ResourceCount
5020// objects on each page. You can customize this number with the limit parameter.
5021// The response includes a nextToken string. To get the next page of results,
5022// run the request again and specify the string for the nextToken parameter.
5023//
5024// If you make a call to the GetDiscoveredResourceCounts action, you might not
5025// immediately receive resource counts in the following situations:
5026//
5027//    * You are a new AWS Config customer.
5028//
5029//    * You just enabled resource recording.
5030//
5031// It might take a few minutes for AWS Config to record and count your resources.
5032// Wait a few minutes and then retry the GetDiscoveredResourceCounts action.
5033//
5034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5035// with awserr.Error's Code and Message methods to get detailed information about
5036// the error.
5037//
5038// See the AWS API reference guide for AWS Config's
5039// API operation GetDiscoveredResourceCounts for usage and error information.
5040//
5041// Returned Error Types:
5042//   * ValidationException
5043//   The requested action is not valid.
5044//
5045//   * InvalidLimitException
5046//   The specified limit is outside the allowable range.
5047//
5048//   * InvalidNextTokenException
5049//   The specified next token is invalid. Specify the nextToken string that was
5050//   returned in the previous response to get the next page of results.
5051//
5052// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetDiscoveredResourceCounts
5053func (c *ConfigService) GetDiscoveredResourceCounts(input *GetDiscoveredResourceCountsInput) (*GetDiscoveredResourceCountsOutput, error) {
5054	req, out := c.GetDiscoveredResourceCountsRequest(input)
5055	return out, req.Send()
5056}
5057
5058// GetDiscoveredResourceCountsWithContext is the same as GetDiscoveredResourceCounts with the addition of
5059// the ability to pass a context and additional request options.
5060//
5061// See GetDiscoveredResourceCounts for details on how to use this API operation.
5062//
5063// The context must be non-nil and will be used for request cancellation. If
5064// the context is nil a panic will occur. In the future the SDK may create
5065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5066// for more information on using Contexts.
5067func (c *ConfigService) GetDiscoveredResourceCountsWithContext(ctx aws.Context, input *GetDiscoveredResourceCountsInput, opts ...request.Option) (*GetDiscoveredResourceCountsOutput, error) {
5068	req, out := c.GetDiscoveredResourceCountsRequest(input)
5069	req.SetContext(ctx)
5070	req.ApplyOptions(opts...)
5071	return out, req.Send()
5072}
5073
5074const opGetOrganizationConfigRuleDetailedStatus = "GetOrganizationConfigRuleDetailedStatus"
5075
5076// GetOrganizationConfigRuleDetailedStatusRequest generates a "aws/request.Request" representing the
5077// client's request for the GetOrganizationConfigRuleDetailedStatus operation. The "output" return
5078// value will be populated with the request's response once the request completes
5079// successfully.
5080//
5081// Use "Send" method on the returned Request to send the API call to the service.
5082// the "output" return value is not valid until after Send returns without error.
5083//
5084// See GetOrganizationConfigRuleDetailedStatus for more information on using the GetOrganizationConfigRuleDetailedStatus
5085// API call, and error handling.
5086//
5087// This method is useful when you want to inject custom logic or configuration
5088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5089//
5090//
5091//    // Example sending a request using the GetOrganizationConfigRuleDetailedStatusRequest method.
5092//    req, resp := client.GetOrganizationConfigRuleDetailedStatusRequest(params)
5093//
5094//    err := req.Send()
5095//    if err == nil { // resp is now filled
5096//        fmt.Println(resp)
5097//    }
5098//
5099// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
5100func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *GetOrganizationConfigRuleDetailedStatusInput) (req *request.Request, output *GetOrganizationConfigRuleDetailedStatusOutput) {
5101	op := &request.Operation{
5102		Name:       opGetOrganizationConfigRuleDetailedStatus,
5103		HTTPMethod: "POST",
5104		HTTPPath:   "/",
5105	}
5106
5107	if input == nil {
5108		input = &GetOrganizationConfigRuleDetailedStatusInput{}
5109	}
5110
5111	output = &GetOrganizationConfigRuleDetailedStatusOutput{}
5112	req = c.newRequest(op, input, output)
5113	return
5114}
5115
5116// GetOrganizationConfigRuleDetailedStatus API operation for AWS Config.
5117//
5118// Returns detailed status for each member account within an organization for
5119// a given organization config rule.
5120//
5121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5122// with awserr.Error's Code and Message methods to get detailed information about
5123// the error.
5124//
5125// See the AWS API reference guide for AWS Config's
5126// API operation GetOrganizationConfigRuleDetailedStatus for usage and error information.
5127//
5128// Returned Error Types:
5129//   * NoSuchOrganizationConfigRuleException
5130//   You specified one or more organization config rules that do not exist.
5131//
5132//   * InvalidLimitException
5133//   The specified limit is outside the allowable range.
5134//
5135//   * InvalidNextTokenException
5136//   The specified next token is invalid. Specify the nextToken string that was
5137//   returned in the previous response to get the next page of results.
5138//
5139//   * OrganizationAccessDeniedException
5140//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
5141//   API.
5142//
5143//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
5144//   Config throws an exception if APIs are called from member accounts. All APIs
5145//   must be called from organization master account.
5146//
5147// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConfigRuleDetailedStatus
5148func (c *ConfigService) GetOrganizationConfigRuleDetailedStatus(input *GetOrganizationConfigRuleDetailedStatusInput) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
5149	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
5150	return out, req.Send()
5151}
5152
5153// GetOrganizationConfigRuleDetailedStatusWithContext is the same as GetOrganizationConfigRuleDetailedStatus with the addition of
5154// the ability to pass a context and additional request options.
5155//
5156// See GetOrganizationConfigRuleDetailedStatus for details on how to use this API operation.
5157//
5158// The context must be non-nil and will be used for request cancellation. If
5159// the context is nil a panic will occur. In the future the SDK may create
5160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5161// for more information on using Contexts.
5162func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConfigRuleDetailedStatusInput, opts ...request.Option) (*GetOrganizationConfigRuleDetailedStatusOutput, error) {
5163	req, out := c.GetOrganizationConfigRuleDetailedStatusRequest(input)
5164	req.SetContext(ctx)
5165	req.ApplyOptions(opts...)
5166	return out, req.Send()
5167}
5168
5169const opGetOrganizationConformancePackDetailedStatus = "GetOrganizationConformancePackDetailedStatus"
5170
5171// GetOrganizationConformancePackDetailedStatusRequest generates a "aws/request.Request" representing the
5172// client's request for the GetOrganizationConformancePackDetailedStatus operation. The "output" return
5173// value will be populated with the request's response once the request completes
5174// successfully.
5175//
5176// Use "Send" method on the returned Request to send the API call to the service.
5177// the "output" return value is not valid until after Send returns without error.
5178//
5179// See GetOrganizationConformancePackDetailedStatus for more information on using the GetOrganizationConformancePackDetailedStatus
5180// API call, and error handling.
5181//
5182// This method is useful when you want to inject custom logic or configuration
5183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5184//
5185//
5186//    // Example sending a request using the GetOrganizationConformancePackDetailedStatusRequest method.
5187//    req, resp := client.GetOrganizationConformancePackDetailedStatusRequest(params)
5188//
5189//    err := req.Send()
5190//    if err == nil { // resp is now filled
5191//        fmt.Println(resp)
5192//    }
5193//
5194// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
5195func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(input *GetOrganizationConformancePackDetailedStatusInput) (req *request.Request, output *GetOrganizationConformancePackDetailedStatusOutput) {
5196	op := &request.Operation{
5197		Name:       opGetOrganizationConformancePackDetailedStatus,
5198		HTTPMethod: "POST",
5199		HTTPPath:   "/",
5200	}
5201
5202	if input == nil {
5203		input = &GetOrganizationConformancePackDetailedStatusInput{}
5204	}
5205
5206	output = &GetOrganizationConformancePackDetailedStatusOutput{}
5207	req = c.newRequest(op, input, output)
5208	return
5209}
5210
5211// GetOrganizationConformancePackDetailedStatus API operation for AWS Config.
5212//
5213// Returns detailed status for each member account within an organization for
5214// a given organization conformance pack.
5215//
5216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5217// with awserr.Error's Code and Message methods to get detailed information about
5218// the error.
5219//
5220// See the AWS API reference guide for AWS Config's
5221// API operation GetOrganizationConformancePackDetailedStatus for usage and error information.
5222//
5223// Returned Error Types:
5224//   * NoSuchOrganizationConformancePackException
5225//   AWS Config organization conformance pack that you passed in the filter does
5226//   not exist.
5227//
5228//   For DeleteOrganizationConformancePack, you tried to delete an organization
5229//   conformance pack that does not exist.
5230//
5231//   * InvalidLimitException
5232//   The specified limit is outside the allowable range.
5233//
5234//   * InvalidNextTokenException
5235//   The specified next token is invalid. Specify the nextToken string that was
5236//   returned in the previous response to get the next page of results.
5237//
5238//   * OrganizationAccessDeniedException
5239//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
5240//   API.
5241//
5242//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
5243//   Config throws an exception if APIs are called from member accounts. All APIs
5244//   must be called from organization master account.
5245//
5246// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetOrganizationConformancePackDetailedStatus
5247func (c *ConfigService) GetOrganizationConformancePackDetailedStatus(input *GetOrganizationConformancePackDetailedStatusInput) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
5248	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
5249	return out, req.Send()
5250}
5251
5252// GetOrganizationConformancePackDetailedStatusWithContext is the same as GetOrganizationConformancePackDetailedStatus with the addition of
5253// the ability to pass a context and additional request options.
5254//
5255// See GetOrganizationConformancePackDetailedStatus for details on how to use this API operation.
5256//
5257// The context must be non-nil and will be used for request cancellation. If
5258// the context is nil a panic will occur. In the future the SDK may create
5259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5260// for more information on using Contexts.
5261func (c *ConfigService) GetOrganizationConformancePackDetailedStatusWithContext(ctx aws.Context, input *GetOrganizationConformancePackDetailedStatusInput, opts ...request.Option) (*GetOrganizationConformancePackDetailedStatusOutput, error) {
5262	req, out := c.GetOrganizationConformancePackDetailedStatusRequest(input)
5263	req.SetContext(ctx)
5264	req.ApplyOptions(opts...)
5265	return out, req.Send()
5266}
5267
5268const opGetResourceConfigHistory = "GetResourceConfigHistory"
5269
5270// GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
5271// client's request for the GetResourceConfigHistory operation. The "output" return
5272// value will be populated with the request's response once the request completes
5273// successfully.
5274//
5275// Use "Send" method on the returned Request to send the API call to the service.
5276// the "output" return value is not valid until after Send returns without error.
5277//
5278// See GetResourceConfigHistory for more information on using the GetResourceConfigHistory
5279// API call, and error handling.
5280//
5281// This method is useful when you want to inject custom logic or configuration
5282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5283//
5284//
5285//    // Example sending a request using the GetResourceConfigHistoryRequest method.
5286//    req, resp := client.GetResourceConfigHistoryRequest(params)
5287//
5288//    err := req.Send()
5289//    if err == nil { // resp is now filled
5290//        fmt.Println(resp)
5291//    }
5292//
5293// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
5294func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfigHistoryInput) (req *request.Request, output *GetResourceConfigHistoryOutput) {
5295	op := &request.Operation{
5296		Name:       opGetResourceConfigHistory,
5297		HTTPMethod: "POST",
5298		HTTPPath:   "/",
5299		Paginator: &request.Paginator{
5300			InputTokens:     []string{"nextToken"},
5301			OutputTokens:    []string{"nextToken"},
5302			LimitToken:      "limit",
5303			TruncationToken: "",
5304		},
5305	}
5306
5307	if input == nil {
5308		input = &GetResourceConfigHistoryInput{}
5309	}
5310
5311	output = &GetResourceConfigHistoryOutput{}
5312	req = c.newRequest(op, input, output)
5313	return
5314}
5315
5316// GetResourceConfigHistory API operation for AWS Config.
5317//
5318// Returns a list of configuration items for the specified resource. The list
5319// contains details about each state of the resource during the specified time
5320// interval. If you specified a retention period to retain your ConfigurationItems
5321// between a minimum of 30 days and a maximum of 7 years (2557 days), AWS Config
5322// returns the ConfigurationItems for the specified retention period.
5323//
5324// The response is paginated. By default, AWS Config returns a limit of 10 configuration
5325// items per page. You can customize this number with the limit parameter. The
5326// response includes a nextToken string. To get the next page of results, run
5327// the request again and specify the string for the nextToken parameter.
5328//
5329// Each call to the API is limited to span a duration of seven days. It is likely
5330// that the number of records returned is smaller than the specified limit.
5331// In such cases, you can make another call, using the nextToken.
5332//
5333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5334// with awserr.Error's Code and Message methods to get detailed information about
5335// the error.
5336//
5337// See the AWS API reference guide for AWS Config's
5338// API operation GetResourceConfigHistory for usage and error information.
5339//
5340// Returned Error Types:
5341//   * ValidationException
5342//   The requested action is not valid.
5343//
5344//   * InvalidTimeRangeException
5345//   The specified time range is not valid. The earlier time is not chronologically
5346//   before the later time.
5347//
5348//   * InvalidLimitException
5349//   The specified limit is outside the allowable range.
5350//
5351//   * InvalidNextTokenException
5352//   The specified next token is invalid. Specify the nextToken string that was
5353//   returned in the previous response to get the next page of results.
5354//
5355//   * NoAvailableConfigurationRecorderException
5356//   There are no configuration recorders available to provide the role needed
5357//   to describe your resources. Create a configuration recorder.
5358//
5359//   * ResourceNotDiscoveredException
5360//   You have specified a resource that is either unknown or has not been discovered.
5361//
5362// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetResourceConfigHistory
5363func (c *ConfigService) GetResourceConfigHistory(input *GetResourceConfigHistoryInput) (*GetResourceConfigHistoryOutput, error) {
5364	req, out := c.GetResourceConfigHistoryRequest(input)
5365	return out, req.Send()
5366}
5367
5368// GetResourceConfigHistoryWithContext is the same as GetResourceConfigHistory with the addition of
5369// the ability to pass a context and additional request options.
5370//
5371// See GetResourceConfigHistory for details on how to use this API operation.
5372//
5373// The context must be non-nil and will be used for request cancellation. If
5374// the context is nil a panic will occur. In the future the SDK may create
5375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5376// for more information on using Contexts.
5377func (c *ConfigService) GetResourceConfigHistoryWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, opts ...request.Option) (*GetResourceConfigHistoryOutput, error) {
5378	req, out := c.GetResourceConfigHistoryRequest(input)
5379	req.SetContext(ctx)
5380	req.ApplyOptions(opts...)
5381	return out, req.Send()
5382}
5383
5384// GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
5385// calling the "fn" function with the response data for each page. To stop
5386// iterating, return false from the fn function.
5387//
5388// See GetResourceConfigHistory method for more information on how to use this operation.
5389//
5390// Note: This operation can generate multiple requests to a service.
5391//
5392//    // Example iterating over at most 3 pages of a GetResourceConfigHistory operation.
5393//    pageNum := 0
5394//    err := client.GetResourceConfigHistoryPages(params,
5395//        func(page *configservice.GetResourceConfigHistoryOutput, lastPage bool) bool {
5396//            pageNum++
5397//            fmt.Println(page)
5398//            return pageNum <= 3
5399//        })
5400//
5401func (c *ConfigService) GetResourceConfigHistoryPages(input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool) error {
5402	return c.GetResourceConfigHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
5403}
5404
5405// GetResourceConfigHistoryPagesWithContext same as GetResourceConfigHistoryPages except
5406// it takes a Context and allows setting request options on the pages.
5407//
5408// The context must be non-nil and will be used for request cancellation. If
5409// the context is nil a panic will occur. In the future the SDK may create
5410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5411// for more information on using Contexts.
5412func (c *ConfigService) GetResourceConfigHistoryPagesWithContext(ctx aws.Context, input *GetResourceConfigHistoryInput, fn func(*GetResourceConfigHistoryOutput, bool) bool, opts ...request.Option) error {
5413	p := request.Pagination{
5414		NewRequest: func() (*request.Request, error) {
5415			var inCpy *GetResourceConfigHistoryInput
5416			if input != nil {
5417				tmp := *input
5418				inCpy = &tmp
5419			}
5420			req, _ := c.GetResourceConfigHistoryRequest(inCpy)
5421			req.SetContext(ctx)
5422			req.ApplyOptions(opts...)
5423			return req, nil
5424		},
5425	}
5426
5427	for p.Next() {
5428		if !fn(p.Page().(*GetResourceConfigHistoryOutput), !p.HasNextPage()) {
5429			break
5430		}
5431	}
5432
5433	return p.Err()
5434}
5435
5436const opGetStoredQuery = "GetStoredQuery"
5437
5438// GetStoredQueryRequest generates a "aws/request.Request" representing the
5439// client's request for the GetStoredQuery operation. The "output" return
5440// value will be populated with the request's response once the request completes
5441// successfully.
5442//
5443// Use "Send" method on the returned Request to send the API call to the service.
5444// the "output" return value is not valid until after Send returns without error.
5445//
5446// See GetStoredQuery for more information on using the GetStoredQuery
5447// API call, and error handling.
5448//
5449// This method is useful when you want to inject custom logic or configuration
5450// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5451//
5452//
5453//    // Example sending a request using the GetStoredQueryRequest method.
5454//    req, resp := client.GetStoredQueryRequest(params)
5455//
5456//    err := req.Send()
5457//    if err == nil { // resp is now filled
5458//        fmt.Println(resp)
5459//    }
5460//
5461// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
5462func (c *ConfigService) GetStoredQueryRequest(input *GetStoredQueryInput) (req *request.Request, output *GetStoredQueryOutput) {
5463	op := &request.Operation{
5464		Name:       opGetStoredQuery,
5465		HTTPMethod: "POST",
5466		HTTPPath:   "/",
5467	}
5468
5469	if input == nil {
5470		input = &GetStoredQueryInput{}
5471	}
5472
5473	output = &GetStoredQueryOutput{}
5474	req = c.newRequest(op, input, output)
5475	return
5476}
5477
5478// GetStoredQuery API operation for AWS Config.
5479//
5480// Returns the details of a specific stored query.
5481//
5482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5483// with awserr.Error's Code and Message methods to get detailed information about
5484// the error.
5485//
5486// See the AWS API reference guide for AWS Config's
5487// API operation GetStoredQuery for usage and error information.
5488//
5489// Returned Error Types:
5490//   * ValidationException
5491//   The requested action is not valid.
5492//
5493//   * ResourceNotFoundException
5494//   You have specified a resource that does not exist.
5495//
5496// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetStoredQuery
5497func (c *ConfigService) GetStoredQuery(input *GetStoredQueryInput) (*GetStoredQueryOutput, error) {
5498	req, out := c.GetStoredQueryRequest(input)
5499	return out, req.Send()
5500}
5501
5502// GetStoredQueryWithContext is the same as GetStoredQuery with the addition of
5503// the ability to pass a context and additional request options.
5504//
5505// See GetStoredQuery for details on how to use this API operation.
5506//
5507// The context must be non-nil and will be used for request cancellation. If
5508// the context is nil a panic will occur. In the future the SDK may create
5509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5510// for more information on using Contexts.
5511func (c *ConfigService) GetStoredQueryWithContext(ctx aws.Context, input *GetStoredQueryInput, opts ...request.Option) (*GetStoredQueryOutput, error) {
5512	req, out := c.GetStoredQueryRequest(input)
5513	req.SetContext(ctx)
5514	req.ApplyOptions(opts...)
5515	return out, req.Send()
5516}
5517
5518const opListAggregateDiscoveredResources = "ListAggregateDiscoveredResources"
5519
5520// ListAggregateDiscoveredResourcesRequest generates a "aws/request.Request" representing the
5521// client's request for the ListAggregateDiscoveredResources operation. The "output" return
5522// value will be populated with the request's response once the request completes
5523// successfully.
5524//
5525// Use "Send" method on the returned Request to send the API call to the service.
5526// the "output" return value is not valid until after Send returns without error.
5527//
5528// See ListAggregateDiscoveredResources for more information on using the ListAggregateDiscoveredResources
5529// API call, and error handling.
5530//
5531// This method is useful when you want to inject custom logic or configuration
5532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5533//
5534//
5535//    // Example sending a request using the ListAggregateDiscoveredResourcesRequest method.
5536//    req, resp := client.ListAggregateDiscoveredResourcesRequest(params)
5537//
5538//    err := req.Send()
5539//    if err == nil { // resp is now filled
5540//        fmt.Println(resp)
5541//    }
5542//
5543// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
5544func (c *ConfigService) ListAggregateDiscoveredResourcesRequest(input *ListAggregateDiscoveredResourcesInput) (req *request.Request, output *ListAggregateDiscoveredResourcesOutput) {
5545	op := &request.Operation{
5546		Name:       opListAggregateDiscoveredResources,
5547		HTTPMethod: "POST",
5548		HTTPPath:   "/",
5549	}
5550
5551	if input == nil {
5552		input = &ListAggregateDiscoveredResourcesInput{}
5553	}
5554
5555	output = &ListAggregateDiscoveredResourcesOutput{}
5556	req = c.newRequest(op, input, output)
5557	return
5558}
5559
5560// ListAggregateDiscoveredResources API operation for AWS Config.
5561//
5562// Accepts a resource type and returns a list of resource identifiers that are
5563// aggregated for a specific resource type across accounts and regions. A resource
5564// identifier includes the resource type, ID, (if available) the custom resource
5565// name, source account, and source region. You can narrow the results to include
5566// only resources that have specific resource IDs, or a resource name, or source
5567// account ID, or source region.
5568//
5569// For example, if the input consists of accountID 12345678910 and the region
5570// is us-east-1 for resource type AWS::EC2::Instance then the API returns all
5571// the EC2 instance identifiers of accountID 12345678910 and region us-east-1.
5572//
5573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5574// with awserr.Error's Code and Message methods to get detailed information about
5575// the error.
5576//
5577// See the AWS API reference guide for AWS Config's
5578// API operation ListAggregateDiscoveredResources for usage and error information.
5579//
5580// Returned Error Types:
5581//   * ValidationException
5582//   The requested action is not valid.
5583//
5584//   * InvalidLimitException
5585//   The specified limit is outside the allowable range.
5586//
5587//   * InvalidNextTokenException
5588//   The specified next token is invalid. Specify the nextToken string that was
5589//   returned in the previous response to get the next page of results.
5590//
5591//   * NoSuchConfigurationAggregatorException
5592//   You have specified a configuration aggregator that does not exist.
5593//
5594// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources
5595func (c *ConfigService) ListAggregateDiscoveredResources(input *ListAggregateDiscoveredResourcesInput) (*ListAggregateDiscoveredResourcesOutput, error) {
5596	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
5597	return out, req.Send()
5598}
5599
5600// ListAggregateDiscoveredResourcesWithContext is the same as ListAggregateDiscoveredResources with the addition of
5601// the ability to pass a context and additional request options.
5602//
5603// See ListAggregateDiscoveredResources for details on how to use this API operation.
5604//
5605// The context must be non-nil and will be used for request cancellation. If
5606// the context is nil a panic will occur. In the future the SDK may create
5607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5608// for more information on using Contexts.
5609func (c *ConfigService) ListAggregateDiscoveredResourcesWithContext(ctx aws.Context, input *ListAggregateDiscoveredResourcesInput, opts ...request.Option) (*ListAggregateDiscoveredResourcesOutput, error) {
5610	req, out := c.ListAggregateDiscoveredResourcesRequest(input)
5611	req.SetContext(ctx)
5612	req.ApplyOptions(opts...)
5613	return out, req.Send()
5614}
5615
5616const opListDiscoveredResources = "ListDiscoveredResources"
5617
5618// ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
5619// client's request for the ListDiscoveredResources operation. The "output" return
5620// value will be populated with the request's response once the request completes
5621// successfully.
5622//
5623// Use "Send" method on the returned Request to send the API call to the service.
5624// the "output" return value is not valid until after Send returns without error.
5625//
5626// See ListDiscoveredResources for more information on using the ListDiscoveredResources
5627// API call, and error handling.
5628//
5629// This method is useful when you want to inject custom logic or configuration
5630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5631//
5632//
5633//    // Example sending a request using the ListDiscoveredResourcesRequest method.
5634//    req, resp := client.ListDiscoveredResourcesRequest(params)
5635//
5636//    err := req.Send()
5637//    if err == nil { // resp is now filled
5638//        fmt.Println(resp)
5639//    }
5640//
5641// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
5642func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
5643	op := &request.Operation{
5644		Name:       opListDiscoveredResources,
5645		HTTPMethod: "POST",
5646		HTTPPath:   "/",
5647	}
5648
5649	if input == nil {
5650		input = &ListDiscoveredResourcesInput{}
5651	}
5652
5653	output = &ListDiscoveredResourcesOutput{}
5654	req = c.newRequest(op, input, output)
5655	return
5656}
5657
5658// ListDiscoveredResources API operation for AWS Config.
5659//
5660// Accepts a resource type and returns a list of resource identifiers for the
5661// resources of that type. A resource identifier includes the resource type,
5662// ID, and (if available) the custom resource name. The results consist of resources
5663// that AWS Config has discovered, including those that AWS Config is not currently
5664// recording. You can narrow the results to include only resources that have
5665// specific resource IDs or a resource name.
5666//
5667// You can specify either resource IDs or a resource name, but not both, in
5668// the same request.
5669//
5670// The response is paginated. By default, AWS Config lists 100 resource identifiers
5671// on each page. You can customize this number with the limit parameter. The
5672// response includes a nextToken string. To get the next page of results, run
5673// the request again and specify the string for the nextToken parameter.
5674//
5675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5676// with awserr.Error's Code and Message methods to get detailed information about
5677// the error.
5678//
5679// See the AWS API reference guide for AWS Config's
5680// API operation ListDiscoveredResources for usage and error information.
5681//
5682// Returned Error Types:
5683//   * ValidationException
5684//   The requested action is not valid.
5685//
5686//   * InvalidLimitException
5687//   The specified limit is outside the allowable range.
5688//
5689//   * InvalidNextTokenException
5690//   The specified next token is invalid. Specify the nextToken string that was
5691//   returned in the previous response to get the next page of results.
5692//
5693//   * NoAvailableConfigurationRecorderException
5694//   There are no configuration recorders available to provide the role needed
5695//   to describe your resources. Create a configuration recorder.
5696//
5697// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListDiscoveredResources
5698func (c *ConfigService) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
5699	req, out := c.ListDiscoveredResourcesRequest(input)
5700	return out, req.Send()
5701}
5702
5703// ListDiscoveredResourcesWithContext is the same as ListDiscoveredResources with the addition of
5704// the ability to pass a context and additional request options.
5705//
5706// See ListDiscoveredResources for details on how to use this API operation.
5707//
5708// The context must be non-nil and will be used for request cancellation. If
5709// the context is nil a panic will occur. In the future the SDK may create
5710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5711// for more information on using Contexts.
5712func (c *ConfigService) ListDiscoveredResourcesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, opts ...request.Option) (*ListDiscoveredResourcesOutput, error) {
5713	req, out := c.ListDiscoveredResourcesRequest(input)
5714	req.SetContext(ctx)
5715	req.ApplyOptions(opts...)
5716	return out, req.Send()
5717}
5718
5719const opListStoredQueries = "ListStoredQueries"
5720
5721// ListStoredQueriesRequest generates a "aws/request.Request" representing the
5722// client's request for the ListStoredQueries operation. The "output" return
5723// value will be populated with the request's response once the request completes
5724// successfully.
5725//
5726// Use "Send" method on the returned Request to send the API call to the service.
5727// the "output" return value is not valid until after Send returns without error.
5728//
5729// See ListStoredQueries for more information on using the ListStoredQueries
5730// API call, and error handling.
5731//
5732// This method is useful when you want to inject custom logic or configuration
5733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5734//
5735//
5736//    // Example sending a request using the ListStoredQueriesRequest method.
5737//    req, resp := client.ListStoredQueriesRequest(params)
5738//
5739//    err := req.Send()
5740//    if err == nil { // resp is now filled
5741//        fmt.Println(resp)
5742//    }
5743//
5744// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
5745func (c *ConfigService) ListStoredQueriesRequest(input *ListStoredQueriesInput) (req *request.Request, output *ListStoredQueriesOutput) {
5746	op := &request.Operation{
5747		Name:       opListStoredQueries,
5748		HTTPMethod: "POST",
5749		HTTPPath:   "/",
5750		Paginator: &request.Paginator{
5751			InputTokens:     []string{"NextToken"},
5752			OutputTokens:    []string{"NextToken"},
5753			LimitToken:      "MaxResults",
5754			TruncationToken: "",
5755		},
5756	}
5757
5758	if input == nil {
5759		input = &ListStoredQueriesInput{}
5760	}
5761
5762	output = &ListStoredQueriesOutput{}
5763	req = c.newRequest(op, input, output)
5764	return
5765}
5766
5767// ListStoredQueries API operation for AWS Config.
5768//
5769// List the stored queries for an AWS account in an AWS Region. The default
5770// is 100.
5771//
5772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5773// with awserr.Error's Code and Message methods to get detailed information about
5774// the error.
5775//
5776// See the AWS API reference guide for AWS Config's
5777// API operation ListStoredQueries for usage and error information.
5778//
5779// Returned Error Types:
5780//   * ValidationException
5781//   The requested action is not valid.
5782//
5783//   * InvalidNextTokenException
5784//   The specified next token is invalid. Specify the nextToken string that was
5785//   returned in the previous response to get the next page of results.
5786//
5787// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListStoredQueries
5788func (c *ConfigService) ListStoredQueries(input *ListStoredQueriesInput) (*ListStoredQueriesOutput, error) {
5789	req, out := c.ListStoredQueriesRequest(input)
5790	return out, req.Send()
5791}
5792
5793// ListStoredQueriesWithContext is the same as ListStoredQueries with the addition of
5794// the ability to pass a context and additional request options.
5795//
5796// See ListStoredQueries for details on how to use this API operation.
5797//
5798// The context must be non-nil and will be used for request cancellation. If
5799// the context is nil a panic will occur. In the future the SDK may create
5800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5801// for more information on using Contexts.
5802func (c *ConfigService) ListStoredQueriesWithContext(ctx aws.Context, input *ListStoredQueriesInput, opts ...request.Option) (*ListStoredQueriesOutput, error) {
5803	req, out := c.ListStoredQueriesRequest(input)
5804	req.SetContext(ctx)
5805	req.ApplyOptions(opts...)
5806	return out, req.Send()
5807}
5808
5809// ListStoredQueriesPages iterates over the pages of a ListStoredQueries operation,
5810// calling the "fn" function with the response data for each page. To stop
5811// iterating, return false from the fn function.
5812//
5813// See ListStoredQueries method for more information on how to use this operation.
5814//
5815// Note: This operation can generate multiple requests to a service.
5816//
5817//    // Example iterating over at most 3 pages of a ListStoredQueries operation.
5818//    pageNum := 0
5819//    err := client.ListStoredQueriesPages(params,
5820//        func(page *configservice.ListStoredQueriesOutput, lastPage bool) bool {
5821//            pageNum++
5822//            fmt.Println(page)
5823//            return pageNum <= 3
5824//        })
5825//
5826func (c *ConfigService) ListStoredQueriesPages(input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool) error {
5827	return c.ListStoredQueriesPagesWithContext(aws.BackgroundContext(), input, fn)
5828}
5829
5830// ListStoredQueriesPagesWithContext same as ListStoredQueriesPages except
5831// it takes a Context and allows setting request options on the pages.
5832//
5833// The context must be non-nil and will be used for request cancellation. If
5834// the context is nil a panic will occur. In the future the SDK may create
5835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5836// for more information on using Contexts.
5837func (c *ConfigService) ListStoredQueriesPagesWithContext(ctx aws.Context, input *ListStoredQueriesInput, fn func(*ListStoredQueriesOutput, bool) bool, opts ...request.Option) error {
5838	p := request.Pagination{
5839		NewRequest: func() (*request.Request, error) {
5840			var inCpy *ListStoredQueriesInput
5841			if input != nil {
5842				tmp := *input
5843				inCpy = &tmp
5844			}
5845			req, _ := c.ListStoredQueriesRequest(inCpy)
5846			req.SetContext(ctx)
5847			req.ApplyOptions(opts...)
5848			return req, nil
5849		},
5850	}
5851
5852	for p.Next() {
5853		if !fn(p.Page().(*ListStoredQueriesOutput), !p.HasNextPage()) {
5854			break
5855		}
5856	}
5857
5858	return p.Err()
5859}
5860
5861const opListTagsForResource = "ListTagsForResource"
5862
5863// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5864// client's request for the ListTagsForResource operation. The "output" return
5865// value will be populated with the request's response once the request completes
5866// successfully.
5867//
5868// Use "Send" method on the returned Request to send the API call to the service.
5869// the "output" return value is not valid until after Send returns without error.
5870//
5871// See ListTagsForResource for more information on using the ListTagsForResource
5872// API call, and error handling.
5873//
5874// This method is useful when you want to inject custom logic or configuration
5875// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5876//
5877//
5878//    // Example sending a request using the ListTagsForResourceRequest method.
5879//    req, resp := client.ListTagsForResourceRequest(params)
5880//
5881//    err := req.Send()
5882//    if err == nil { // resp is now filled
5883//        fmt.Println(resp)
5884//    }
5885//
5886// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
5887func (c *ConfigService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5888	op := &request.Operation{
5889		Name:       opListTagsForResource,
5890		HTTPMethod: "POST",
5891		HTTPPath:   "/",
5892	}
5893
5894	if input == nil {
5895		input = &ListTagsForResourceInput{}
5896	}
5897
5898	output = &ListTagsForResourceOutput{}
5899	req = c.newRequest(op, input, output)
5900	return
5901}
5902
5903// ListTagsForResource API operation for AWS Config.
5904//
5905// List the tags for AWS Config resource.
5906//
5907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5908// with awserr.Error's Code and Message methods to get detailed information about
5909// the error.
5910//
5911// See the AWS API reference guide for AWS Config's
5912// API operation ListTagsForResource for usage and error information.
5913//
5914// Returned Error Types:
5915//   * ResourceNotFoundException
5916//   You have specified a resource that does not exist.
5917//
5918//   * ValidationException
5919//   The requested action is not valid.
5920//
5921//   * InvalidLimitException
5922//   The specified limit is outside the allowable range.
5923//
5924//   * InvalidNextTokenException
5925//   The specified next token is invalid. Specify the nextToken string that was
5926//   returned in the previous response to get the next page of results.
5927//
5928// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListTagsForResource
5929func (c *ConfigService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5930	req, out := c.ListTagsForResourceRequest(input)
5931	return out, req.Send()
5932}
5933
5934// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5935// the ability to pass a context and additional request options.
5936//
5937// See ListTagsForResource for details on how to use this API operation.
5938//
5939// The context must be non-nil and will be used for request cancellation. If
5940// the context is nil a panic will occur. In the future the SDK may create
5941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5942// for more information on using Contexts.
5943func (c *ConfigService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5944	req, out := c.ListTagsForResourceRequest(input)
5945	req.SetContext(ctx)
5946	req.ApplyOptions(opts...)
5947	return out, req.Send()
5948}
5949
5950const opPutAggregationAuthorization = "PutAggregationAuthorization"
5951
5952// PutAggregationAuthorizationRequest generates a "aws/request.Request" representing the
5953// client's request for the PutAggregationAuthorization operation. The "output" return
5954// value will be populated with the request's response once the request completes
5955// successfully.
5956//
5957// Use "Send" method on the returned Request to send the API call to the service.
5958// the "output" return value is not valid until after Send returns without error.
5959//
5960// See PutAggregationAuthorization for more information on using the PutAggregationAuthorization
5961// API call, and error handling.
5962//
5963// This method is useful when you want to inject custom logic or configuration
5964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5965//
5966//
5967//    // Example sending a request using the PutAggregationAuthorizationRequest method.
5968//    req, resp := client.PutAggregationAuthorizationRequest(params)
5969//
5970//    err := req.Send()
5971//    if err == nil { // resp is now filled
5972//        fmt.Println(resp)
5973//    }
5974//
5975// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
5976func (c *ConfigService) PutAggregationAuthorizationRequest(input *PutAggregationAuthorizationInput) (req *request.Request, output *PutAggregationAuthorizationOutput) {
5977	op := &request.Operation{
5978		Name:       opPutAggregationAuthorization,
5979		HTTPMethod: "POST",
5980		HTTPPath:   "/",
5981	}
5982
5983	if input == nil {
5984		input = &PutAggregationAuthorizationInput{}
5985	}
5986
5987	output = &PutAggregationAuthorizationOutput{}
5988	req = c.newRequest(op, input, output)
5989	return
5990}
5991
5992// PutAggregationAuthorization API operation for AWS Config.
5993//
5994// Authorizes the aggregator account and region to collect data from the source
5995// account and region.
5996//
5997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5998// with awserr.Error's Code and Message methods to get detailed information about
5999// the error.
6000//
6001// See the AWS API reference guide for AWS Config's
6002// API operation PutAggregationAuthorization for usage and error information.
6003//
6004// Returned Error Types:
6005//   * InvalidParameterValueException
6006//   One or more of the specified parameters are invalid. Verify that your parameters
6007//   are valid and try again.
6008//
6009// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutAggregationAuthorization
6010func (c *ConfigService) PutAggregationAuthorization(input *PutAggregationAuthorizationInput) (*PutAggregationAuthorizationOutput, error) {
6011	req, out := c.PutAggregationAuthorizationRequest(input)
6012	return out, req.Send()
6013}
6014
6015// PutAggregationAuthorizationWithContext is the same as PutAggregationAuthorization with the addition of
6016// the ability to pass a context and additional request options.
6017//
6018// See PutAggregationAuthorization for details on how to use this API operation.
6019//
6020// The context must be non-nil and will be used for request cancellation. If
6021// the context is nil a panic will occur. In the future the SDK may create
6022// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6023// for more information on using Contexts.
6024func (c *ConfigService) PutAggregationAuthorizationWithContext(ctx aws.Context, input *PutAggregationAuthorizationInput, opts ...request.Option) (*PutAggregationAuthorizationOutput, error) {
6025	req, out := c.PutAggregationAuthorizationRequest(input)
6026	req.SetContext(ctx)
6027	req.ApplyOptions(opts...)
6028	return out, req.Send()
6029}
6030
6031const opPutConfigRule = "PutConfigRule"
6032
6033// PutConfigRuleRequest generates a "aws/request.Request" representing the
6034// client's request for the PutConfigRule operation. The "output" return
6035// value will be populated with the request's response once the request completes
6036// successfully.
6037//
6038// Use "Send" method on the returned Request to send the API call to the service.
6039// the "output" return value is not valid until after Send returns without error.
6040//
6041// See PutConfigRule for more information on using the PutConfigRule
6042// API call, and error handling.
6043//
6044// This method is useful when you want to inject custom logic or configuration
6045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6046//
6047//
6048//    // Example sending a request using the PutConfigRuleRequest method.
6049//    req, resp := client.PutConfigRuleRequest(params)
6050//
6051//    err := req.Send()
6052//    if err == nil { // resp is now filled
6053//        fmt.Println(resp)
6054//    }
6055//
6056// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
6057func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *request.Request, output *PutConfigRuleOutput) {
6058	op := &request.Operation{
6059		Name:       opPutConfigRule,
6060		HTTPMethod: "POST",
6061		HTTPPath:   "/",
6062	}
6063
6064	if input == nil {
6065		input = &PutConfigRuleInput{}
6066	}
6067
6068	output = &PutConfigRuleOutput{}
6069	req = c.newRequest(op, input, output)
6070	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6071	return
6072}
6073
6074// PutConfigRule API operation for AWS Config.
6075//
6076// Adds or updates an AWS Config rule for evaluating whether your AWS resources
6077// comply with your desired configurations.
6078//
6079// You can use this action for custom AWS Config rules and AWS managed Config
6080// rules. A custom AWS Config rule is a rule that you develop and maintain.
6081// An AWS managed Config rule is a customizable, predefined rule that AWS Config
6082// provides.
6083//
6084// If you are adding a new custom AWS Config rule, you must first create the
6085// AWS Lambda function that the rule invokes to evaluate your resources. When
6086// you use the PutConfigRule action to add the rule to AWS Config, you must
6087// specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function.
6088// Specify the ARN for the SourceIdentifier key. This key is part of the Source
6089// object, which is part of the ConfigRule object.
6090//
6091// If you are adding an AWS managed Config rule, specify the rule's identifier
6092// for the SourceIdentifier key. To reference AWS managed Config rule identifiers,
6093// see About AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
6094//
6095// For any new rule that you add, specify the ConfigRuleName in the ConfigRule
6096// object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
6097// are generated by AWS Config for new rules.
6098//
6099// If you are updating a rule that you added previously, you can specify the
6100// rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule
6101// data type that you use in this request.
6102//
6103// The maximum number of rules that AWS Config supports is 150.
6104//
6105// For information about requesting a rule limit increase, see AWS Config Limits
6106// (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
6107// in the AWS General Reference Guide.
6108//
6109// For more information about developing and using AWS Config rules, see Evaluating
6110// AWS Resource Configurations with AWS Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
6111// in the AWS Config Developer Guide.
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 PutConfigRule for usage and error information.
6119//
6120// Returned Error Types:
6121//   * InvalidParameterValueException
6122//   One or more of the specified parameters are invalid. Verify that your parameters
6123//   are valid and try again.
6124//
6125//   * MaxNumberOfConfigRulesExceededException
6126//   Failed to add the AWS Config rule because the account already contains the
6127//   maximum number of 150 rules. Consider deleting any deactivated rules before
6128//   you add new rules.
6129//
6130//   * ResourceInUseException
6131//   You see this exception in the following cases:
6132//
6133//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
6134//      again later.
6135//
6136//      * For DeleteConfigRule, the rule is deleting your evaluation results.
6137//      Try your request again later.
6138//
6139//      * For DeleteConfigRule, a remediation action is associated with the rule
6140//      and AWS Config cannot delete this rule. Delete the remediation action
6141//      associated with the rule before deleting the rule and try your request
6142//      again later.
6143//
6144//      * For PutConfigOrganizationRule, organization config rule deletion is
6145//      in progress. Try your request again later.
6146//
6147//      * For DeleteOrganizationConfigRule, organization config rule creation
6148//      is in progress. Try your request again later.
6149//
6150//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6151//      pack creation, update, and deletion is in progress. Try your request again
6152//      later.
6153//
6154//      * For DeleteConformancePack, a conformance pack creation, update, and
6155//      deletion is in progress. Try your request again later.
6156//
6157//   * InsufficientPermissionsException
6158//   Indicates one of the following errors:
6159//
6160//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
6161//      to AWS Config lacks permissions to perform the config:Put* action.
6162//
6163//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
6164//      the function ARN, and check the function's permissions.
6165//
6166//      * For PutOrganizationConfigRule, organization config rule cannot be created
6167//      because you do not have permissions to call IAM GetRole action or create
6168//      a service linked role.
6169//
6170//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6171//      pack cannot be created because you do not have permissions: To call IAM
6172//      GetRole action or create a service linked role. To read Amazon S3 bucket.
6173//
6174//   * NoAvailableConfigurationRecorderException
6175//   There are no configuration recorders available to provide the role needed
6176//   to describe your resources. Create a configuration recorder.
6177//
6178// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigRule
6179func (c *ConfigService) PutConfigRule(input *PutConfigRuleInput) (*PutConfigRuleOutput, error) {
6180	req, out := c.PutConfigRuleRequest(input)
6181	return out, req.Send()
6182}
6183
6184// PutConfigRuleWithContext is the same as PutConfigRule with the addition of
6185// the ability to pass a context and additional request options.
6186//
6187// See PutConfigRule for details on how to use this API operation.
6188//
6189// The context must be non-nil and will be used for request cancellation. If
6190// the context is nil a panic will occur. In the future the SDK may create
6191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6192// for more information on using Contexts.
6193func (c *ConfigService) PutConfigRuleWithContext(ctx aws.Context, input *PutConfigRuleInput, opts ...request.Option) (*PutConfigRuleOutput, error) {
6194	req, out := c.PutConfigRuleRequest(input)
6195	req.SetContext(ctx)
6196	req.ApplyOptions(opts...)
6197	return out, req.Send()
6198}
6199
6200const opPutConfigurationAggregator = "PutConfigurationAggregator"
6201
6202// PutConfigurationAggregatorRequest generates a "aws/request.Request" representing the
6203// client's request for the PutConfigurationAggregator operation. The "output" return
6204// value will be populated with the request's response once the request completes
6205// successfully.
6206//
6207// Use "Send" method on the returned Request to send the API call to the service.
6208// the "output" return value is not valid until after Send returns without error.
6209//
6210// See PutConfigurationAggregator for more information on using the PutConfigurationAggregator
6211// API call, and error handling.
6212//
6213// This method is useful when you want to inject custom logic or configuration
6214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6215//
6216//
6217//    // Example sending a request using the PutConfigurationAggregatorRequest method.
6218//    req, resp := client.PutConfigurationAggregatorRequest(params)
6219//
6220//    err := req.Send()
6221//    if err == nil { // resp is now filled
6222//        fmt.Println(resp)
6223//    }
6224//
6225// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
6226func (c *ConfigService) PutConfigurationAggregatorRequest(input *PutConfigurationAggregatorInput) (req *request.Request, output *PutConfigurationAggregatorOutput) {
6227	op := &request.Operation{
6228		Name:       opPutConfigurationAggregator,
6229		HTTPMethod: "POST",
6230		HTTPPath:   "/",
6231	}
6232
6233	if input == nil {
6234		input = &PutConfigurationAggregatorInput{}
6235	}
6236
6237	output = &PutConfigurationAggregatorOutput{}
6238	req = c.newRequest(op, input, output)
6239	return
6240}
6241
6242// PutConfigurationAggregator API operation for AWS Config.
6243//
6244// Creates and updates the configuration aggregator with the selected source
6245// accounts and regions. The source account can be individual account(s) or
6246// an organization.
6247//
6248// AWS Config should be enabled in source accounts and regions you want to aggregate.
6249//
6250// If your source type is an organization, you must be signed in to the master
6251// account and all features must be enabled in your organization. AWS Config
6252// calls EnableAwsServiceAccess API to enable integration between AWS Config
6253// and AWS Organizations.
6254//
6255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6256// with awserr.Error's Code and Message methods to get detailed information about
6257// the error.
6258//
6259// See the AWS API reference guide for AWS Config's
6260// API operation PutConfigurationAggregator for usage and error information.
6261//
6262// Returned Error Types:
6263//   * InvalidParameterValueException
6264//   One or more of the specified parameters are invalid. Verify that your parameters
6265//   are valid and try again.
6266//
6267//   * LimitExceededException
6268//   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
6269//   is in progress or if you call the StartConfigRulesEvaluation API more than
6270//   once per minute.
6271//
6272//   For PutConfigurationAggregator API, this exception is thrown if the number
6273//   of accounts and aggregators exceeds the limit.
6274//
6275//   * InvalidRoleException
6276//   You have provided a null or empty role ARN.
6277//
6278//   * OrganizationAccessDeniedException
6279//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
6280//   API.
6281//
6282//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
6283//   Config throws an exception if APIs are called from member accounts. All APIs
6284//   must be called from organization master account.
6285//
6286//   * NoAvailableOrganizationException
6287//   Organization is no longer available.
6288//
6289//   * OrganizationAllFeaturesNotEnabledException
6290//   AWS Config resource cannot be created because your organization does not
6291//   have all features enabled.
6292//
6293// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationAggregator
6294func (c *ConfigService) PutConfigurationAggregator(input *PutConfigurationAggregatorInput) (*PutConfigurationAggregatorOutput, error) {
6295	req, out := c.PutConfigurationAggregatorRequest(input)
6296	return out, req.Send()
6297}
6298
6299// PutConfigurationAggregatorWithContext is the same as PutConfigurationAggregator with the addition of
6300// the ability to pass a context and additional request options.
6301//
6302// See PutConfigurationAggregator for details on how to use this API operation.
6303//
6304// The context must be non-nil and will be used for request cancellation. If
6305// the context is nil a panic will occur. In the future the SDK may create
6306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6307// for more information on using Contexts.
6308func (c *ConfigService) PutConfigurationAggregatorWithContext(ctx aws.Context, input *PutConfigurationAggregatorInput, opts ...request.Option) (*PutConfigurationAggregatorOutput, error) {
6309	req, out := c.PutConfigurationAggregatorRequest(input)
6310	req.SetContext(ctx)
6311	req.ApplyOptions(opts...)
6312	return out, req.Send()
6313}
6314
6315const opPutConfigurationRecorder = "PutConfigurationRecorder"
6316
6317// PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
6318// client's request for the PutConfigurationRecorder 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 PutConfigurationRecorder for more information on using the PutConfigurationRecorder
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 PutConfigurationRecorderRequest method.
6333//    req, resp := client.PutConfigurationRecorderRequest(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/PutConfigurationRecorder
6341func (c *ConfigService) PutConfigurationRecorderRequest(input *PutConfigurationRecorderInput) (req *request.Request, output *PutConfigurationRecorderOutput) {
6342	op := &request.Operation{
6343		Name:       opPutConfigurationRecorder,
6344		HTTPMethod: "POST",
6345		HTTPPath:   "/",
6346	}
6347
6348	if input == nil {
6349		input = &PutConfigurationRecorderInput{}
6350	}
6351
6352	output = &PutConfigurationRecorderOutput{}
6353	req = c.newRequest(op, input, output)
6354	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6355	return
6356}
6357
6358// PutConfigurationRecorder API operation for AWS Config.
6359//
6360// Creates a new configuration recorder to record the selected resource configurations.
6361//
6362// You can use this action to change the role roleARN or the recordingGroup
6363// of an existing recorder. To change the role, call the action on the existing
6364// configuration recorder and specify a role.
6365//
6366// Currently, you can specify only one configuration recorder per region in
6367// your account.
6368//
6369// If ConfigurationRecorder does not have the recordingGroup parameter specified,
6370// the default is to record all supported resource types.
6371//
6372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6373// with awserr.Error's Code and Message methods to get detailed information about
6374// the error.
6375//
6376// See the AWS API reference guide for AWS Config's
6377// API operation PutConfigurationRecorder for usage and error information.
6378//
6379// Returned Error Types:
6380//   * MaxNumberOfConfigurationRecordersExceededException
6381//   You have reached the limit of the number of recorders you can create.
6382//
6383//   * InvalidConfigurationRecorderNameException
6384//   You have provided a configuration recorder name that is not valid.
6385//
6386//   * InvalidRoleException
6387//   You have provided a null or empty role ARN.
6388//
6389//   * InvalidRecordingGroupException
6390//   AWS Config throws an exception if the recording group does not contain a
6391//   valid list of resource types. Invalid values might also be incorrectly formatted.
6392//
6393// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConfigurationRecorder
6394func (c *ConfigService) PutConfigurationRecorder(input *PutConfigurationRecorderInput) (*PutConfigurationRecorderOutput, error) {
6395	req, out := c.PutConfigurationRecorderRequest(input)
6396	return out, req.Send()
6397}
6398
6399// PutConfigurationRecorderWithContext is the same as PutConfigurationRecorder with the addition of
6400// the ability to pass a context and additional request options.
6401//
6402// See PutConfigurationRecorder for details on how to use this API operation.
6403//
6404// The context must be non-nil and will be used for request cancellation. If
6405// the context is nil a panic will occur. In the future the SDK may create
6406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6407// for more information on using Contexts.
6408func (c *ConfigService) PutConfigurationRecorderWithContext(ctx aws.Context, input *PutConfigurationRecorderInput, opts ...request.Option) (*PutConfigurationRecorderOutput, error) {
6409	req, out := c.PutConfigurationRecorderRequest(input)
6410	req.SetContext(ctx)
6411	req.ApplyOptions(opts...)
6412	return out, req.Send()
6413}
6414
6415const opPutConformancePack = "PutConformancePack"
6416
6417// PutConformancePackRequest generates a "aws/request.Request" representing the
6418// client's request for the PutConformancePack operation. The "output" return
6419// value will be populated with the request's response once the request completes
6420// successfully.
6421//
6422// Use "Send" method on the returned Request to send the API call to the service.
6423// the "output" return value is not valid until after Send returns without error.
6424//
6425// See PutConformancePack for more information on using the PutConformancePack
6426// API call, and error handling.
6427//
6428// This method is useful when you want to inject custom logic or configuration
6429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6430//
6431//
6432//    // Example sending a request using the PutConformancePackRequest method.
6433//    req, resp := client.PutConformancePackRequest(params)
6434//
6435//    err := req.Send()
6436//    if err == nil { // resp is now filled
6437//        fmt.Println(resp)
6438//    }
6439//
6440// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
6441func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput) (req *request.Request, output *PutConformancePackOutput) {
6442	op := &request.Operation{
6443		Name:       opPutConformancePack,
6444		HTTPMethod: "POST",
6445		HTTPPath:   "/",
6446	}
6447
6448	if input == nil {
6449		input = &PutConformancePackInput{}
6450	}
6451
6452	output = &PutConformancePackOutput{}
6453	req = c.newRequest(op, input, output)
6454	return
6455}
6456
6457// PutConformancePack API operation for AWS Config.
6458//
6459// Creates or updates a conformance pack. A conformance pack is a collection
6460// of AWS Config rules that can be easily deployed in an account and a region
6461// and across AWS Organization.
6462//
6463// This API creates a service linked role AWSServiceRoleForConfigConforms in
6464// your account. The service linked role is created only when the role does
6465// not exist in your account.
6466//
6467// You must specify either the TemplateS3Uri or the TemplateBody parameter,
6468// but not both. If you provide both AWS Config uses the TemplateS3Uri parameter
6469// and ignores the TemplateBody parameter.
6470//
6471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6472// with awserr.Error's Code and Message methods to get detailed information about
6473// the error.
6474//
6475// See the AWS API reference guide for AWS Config's
6476// API operation PutConformancePack for usage and error information.
6477//
6478// Returned Error Types:
6479//   * InsufficientPermissionsException
6480//   Indicates one of the following errors:
6481//
6482//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
6483//      to AWS Config lacks permissions to perform the config:Put* action.
6484//
6485//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
6486//      the function ARN, and check the function's permissions.
6487//
6488//      * For PutOrganizationConfigRule, organization config rule cannot be created
6489//      because you do not have permissions to call IAM GetRole action or create
6490//      a service linked role.
6491//
6492//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6493//      pack cannot be created because you do not have permissions: To call IAM
6494//      GetRole action or create a service linked role. To read Amazon S3 bucket.
6495//
6496//   * ConformancePackTemplateValidationException
6497//   You have specified a template that is not valid or supported.
6498//
6499//   * ResourceInUseException
6500//   You see this exception in the following cases:
6501//
6502//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
6503//      again later.
6504//
6505//      * For DeleteConfigRule, the rule is deleting your evaluation results.
6506//      Try your request again later.
6507//
6508//      * For DeleteConfigRule, a remediation action is associated with the rule
6509//      and AWS Config cannot delete this rule. Delete the remediation action
6510//      associated with the rule before deleting the rule and try your request
6511//      again later.
6512//
6513//      * For PutConfigOrganizationRule, organization config rule deletion is
6514//      in progress. Try your request again later.
6515//
6516//      * For DeleteOrganizationConfigRule, organization config rule creation
6517//      is in progress. Try your request again later.
6518//
6519//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6520//      pack creation, update, and deletion is in progress. Try your request again
6521//      later.
6522//
6523//      * For DeleteConformancePack, a conformance pack creation, update, and
6524//      deletion is in progress. Try your request again later.
6525//
6526//   * InvalidParameterValueException
6527//   One or more of the specified parameters are invalid. Verify that your parameters
6528//   are valid and try again.
6529//
6530//   * MaxNumberOfConformancePacksExceededException
6531//   You have reached the limit (6) of the number of conformance packs in an account
6532//   (6 conformance pack with 25 AWS Config rules per pack).
6533//
6534// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutConformancePack
6535func (c *ConfigService) PutConformancePack(input *PutConformancePackInput) (*PutConformancePackOutput, error) {
6536	req, out := c.PutConformancePackRequest(input)
6537	return out, req.Send()
6538}
6539
6540// PutConformancePackWithContext is the same as PutConformancePack with the addition of
6541// the ability to pass a context and additional request options.
6542//
6543// See PutConformancePack for details on how to use this API operation.
6544//
6545// The context must be non-nil and will be used for request cancellation. If
6546// the context is nil a panic will occur. In the future the SDK may create
6547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6548// for more information on using Contexts.
6549func (c *ConfigService) PutConformancePackWithContext(ctx aws.Context, input *PutConformancePackInput, opts ...request.Option) (*PutConformancePackOutput, error) {
6550	req, out := c.PutConformancePackRequest(input)
6551	req.SetContext(ctx)
6552	req.ApplyOptions(opts...)
6553	return out, req.Send()
6554}
6555
6556const opPutDeliveryChannel = "PutDeliveryChannel"
6557
6558// PutDeliveryChannelRequest generates a "aws/request.Request" representing the
6559// client's request for the PutDeliveryChannel operation. The "output" return
6560// value will be populated with the request's response once the request completes
6561// successfully.
6562//
6563// Use "Send" method on the returned Request to send the API call to the service.
6564// the "output" return value is not valid until after Send returns without error.
6565//
6566// See PutDeliveryChannel for more information on using the PutDeliveryChannel
6567// API call, and error handling.
6568//
6569// This method is useful when you want to inject custom logic or configuration
6570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6571//
6572//
6573//    // Example sending a request using the PutDeliveryChannelRequest method.
6574//    req, resp := client.PutDeliveryChannelRequest(params)
6575//
6576//    err := req.Send()
6577//    if err == nil { // resp is now filled
6578//        fmt.Println(resp)
6579//    }
6580//
6581// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
6582func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput) (req *request.Request, output *PutDeliveryChannelOutput) {
6583	op := &request.Operation{
6584		Name:       opPutDeliveryChannel,
6585		HTTPMethod: "POST",
6586		HTTPPath:   "/",
6587	}
6588
6589	if input == nil {
6590		input = &PutDeliveryChannelInput{}
6591	}
6592
6593	output = &PutDeliveryChannelOutput{}
6594	req = c.newRequest(op, input, output)
6595	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6596	return
6597}
6598
6599// PutDeliveryChannel API operation for AWS Config.
6600//
6601// Creates a delivery channel object to deliver configuration information to
6602// an Amazon S3 bucket and Amazon SNS topic.
6603//
6604// Before you can create a delivery channel, you must create a configuration
6605// recorder.
6606//
6607// You can use this action to change the Amazon S3 bucket or an Amazon SNS topic
6608// of the existing delivery channel. To change the Amazon S3 bucket or an Amazon
6609// SNS topic, call this action and specify the changed values for the S3 bucket
6610// and the SNS topic. If you specify a different value for either the S3 bucket
6611// or the SNS topic, this action will keep the existing value for the parameter
6612// that is not changed.
6613//
6614// You can have only one delivery channel per region in your account.
6615//
6616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6617// with awserr.Error's Code and Message methods to get detailed information about
6618// the error.
6619//
6620// See the AWS API reference guide for AWS Config's
6621// API operation PutDeliveryChannel for usage and error information.
6622//
6623// Returned Error Types:
6624//   * MaxNumberOfDeliveryChannelsExceededException
6625//   You have reached the limit of the number of delivery channels you can create.
6626//
6627//   * NoAvailableConfigurationRecorderException
6628//   There are no configuration recorders available to provide the role needed
6629//   to describe your resources. Create a configuration recorder.
6630//
6631//   * InvalidDeliveryChannelNameException
6632//   The specified delivery channel name is not valid.
6633//
6634//   * NoSuchBucketException
6635//   The specified Amazon S3 bucket does not exist.
6636//
6637//   * InvalidS3KeyPrefixException
6638//   The specified Amazon S3 key prefix is not valid.
6639//
6640//   * InvalidSNSTopicARNException
6641//   The specified Amazon SNS topic does not exist.
6642//
6643//   * InsufficientDeliveryPolicyException
6644//   Your Amazon S3 bucket policy does not permit AWS Config to write to it.
6645//
6646// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutDeliveryChannel
6647func (c *ConfigService) PutDeliveryChannel(input *PutDeliveryChannelInput) (*PutDeliveryChannelOutput, error) {
6648	req, out := c.PutDeliveryChannelRequest(input)
6649	return out, req.Send()
6650}
6651
6652// PutDeliveryChannelWithContext is the same as PutDeliveryChannel with the addition of
6653// the ability to pass a context and additional request options.
6654//
6655// See PutDeliveryChannel for details on how to use this API operation.
6656//
6657// The context must be non-nil and will be used for request cancellation. If
6658// the context is nil a panic will occur. In the future the SDK may create
6659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6660// for more information on using Contexts.
6661func (c *ConfigService) PutDeliveryChannelWithContext(ctx aws.Context, input *PutDeliveryChannelInput, opts ...request.Option) (*PutDeliveryChannelOutput, error) {
6662	req, out := c.PutDeliveryChannelRequest(input)
6663	req.SetContext(ctx)
6664	req.ApplyOptions(opts...)
6665	return out, req.Send()
6666}
6667
6668const opPutEvaluations = "PutEvaluations"
6669
6670// PutEvaluationsRequest generates a "aws/request.Request" representing the
6671// client's request for the PutEvaluations operation. The "output" return
6672// value will be populated with the request's response once the request completes
6673// successfully.
6674//
6675// Use "Send" method on the returned Request to send the API call to the service.
6676// the "output" return value is not valid until after Send returns without error.
6677//
6678// See PutEvaluations for more information on using the PutEvaluations
6679// API call, and error handling.
6680//
6681// This method is useful when you want to inject custom logic or configuration
6682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6683//
6684//
6685//    // Example sending a request using the PutEvaluationsRequest method.
6686//    req, resp := client.PutEvaluationsRequest(params)
6687//
6688//    err := req.Send()
6689//    if err == nil { // resp is now filled
6690//        fmt.Println(resp)
6691//    }
6692//
6693// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
6694func (c *ConfigService) PutEvaluationsRequest(input *PutEvaluationsInput) (req *request.Request, output *PutEvaluationsOutput) {
6695	op := &request.Operation{
6696		Name:       opPutEvaluations,
6697		HTTPMethod: "POST",
6698		HTTPPath:   "/",
6699	}
6700
6701	if input == nil {
6702		input = &PutEvaluationsInput{}
6703	}
6704
6705	output = &PutEvaluationsOutput{}
6706	req = c.newRequest(op, input, output)
6707	return
6708}
6709
6710// PutEvaluations API operation for AWS Config.
6711//
6712// Used by an AWS Lambda function to deliver evaluation results to AWS Config.
6713// This action is required in every AWS Lambda function that is invoked by an
6714// AWS Config rule.
6715//
6716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6717// with awserr.Error's Code and Message methods to get detailed information about
6718// the error.
6719//
6720// See the AWS API reference guide for AWS Config's
6721// API operation PutEvaluations for usage and error information.
6722//
6723// Returned Error Types:
6724//   * InvalidParameterValueException
6725//   One or more of the specified parameters are invalid. Verify that your parameters
6726//   are valid and try again.
6727//
6728//   * InvalidResultTokenException
6729//   The specified ResultToken is invalid.
6730//
6731//   * NoSuchConfigRuleException
6732//   One or more AWS Config rules in the request are invalid. Verify that the
6733//   rule names are correct and try again.
6734//
6735// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutEvaluations
6736func (c *ConfigService) PutEvaluations(input *PutEvaluationsInput) (*PutEvaluationsOutput, error) {
6737	req, out := c.PutEvaluationsRequest(input)
6738	return out, req.Send()
6739}
6740
6741// PutEvaluationsWithContext is the same as PutEvaluations with the addition of
6742// the ability to pass a context and additional request options.
6743//
6744// See PutEvaluations for details on how to use this API operation.
6745//
6746// The context must be non-nil and will be used for request cancellation. If
6747// the context is nil a panic will occur. In the future the SDK may create
6748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6749// for more information on using Contexts.
6750func (c *ConfigService) PutEvaluationsWithContext(ctx aws.Context, input *PutEvaluationsInput, opts ...request.Option) (*PutEvaluationsOutput, error) {
6751	req, out := c.PutEvaluationsRequest(input)
6752	req.SetContext(ctx)
6753	req.ApplyOptions(opts...)
6754	return out, req.Send()
6755}
6756
6757const opPutExternalEvaluation = "PutExternalEvaluation"
6758
6759// PutExternalEvaluationRequest generates a "aws/request.Request" representing the
6760// client's request for the PutExternalEvaluation operation. The "output" return
6761// value will be populated with the request's response once the request completes
6762// successfully.
6763//
6764// Use "Send" method on the returned Request to send the API call to the service.
6765// the "output" return value is not valid until after Send returns without error.
6766//
6767// See PutExternalEvaluation for more information on using the PutExternalEvaluation
6768// API call, and error handling.
6769//
6770// This method is useful when you want to inject custom logic or configuration
6771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6772//
6773//
6774//    // Example sending a request using the PutExternalEvaluationRequest method.
6775//    req, resp := client.PutExternalEvaluationRequest(params)
6776//
6777//    err := req.Send()
6778//    if err == nil { // resp is now filled
6779//        fmt.Println(resp)
6780//    }
6781//
6782// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
6783func (c *ConfigService) PutExternalEvaluationRequest(input *PutExternalEvaluationInput) (req *request.Request, output *PutExternalEvaluationOutput) {
6784	op := &request.Operation{
6785		Name:       opPutExternalEvaluation,
6786		HTTPMethod: "POST",
6787		HTTPPath:   "/",
6788	}
6789
6790	if input == nil {
6791		input = &PutExternalEvaluationInput{}
6792	}
6793
6794	output = &PutExternalEvaluationOutput{}
6795	req = c.newRequest(op, input, output)
6796	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6797	return
6798}
6799
6800// PutExternalEvaluation API operation for AWS Config.
6801//
6802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6803// with awserr.Error's Code and Message methods to get detailed information about
6804// the error.
6805//
6806// See the AWS API reference guide for AWS Config's
6807// API operation PutExternalEvaluation for usage and error information.
6808//
6809// Returned Error Types:
6810//   * NoSuchConfigRuleException
6811//   One or more AWS Config rules in the request are invalid. Verify that the
6812//   rule names are correct and try again.
6813//
6814//   * InvalidParameterValueException
6815//   One or more of the specified parameters are invalid. Verify that your parameters
6816//   are valid and try again.
6817//
6818// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutExternalEvaluation
6819func (c *ConfigService) PutExternalEvaluation(input *PutExternalEvaluationInput) (*PutExternalEvaluationOutput, error) {
6820	req, out := c.PutExternalEvaluationRequest(input)
6821	return out, req.Send()
6822}
6823
6824// PutExternalEvaluationWithContext is the same as PutExternalEvaluation with the addition of
6825// the ability to pass a context and additional request options.
6826//
6827// See PutExternalEvaluation for details on how to use this API operation.
6828//
6829// The context must be non-nil and will be used for request cancellation. If
6830// the context is nil a panic will occur. In the future the SDK may create
6831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6832// for more information on using Contexts.
6833func (c *ConfigService) PutExternalEvaluationWithContext(ctx aws.Context, input *PutExternalEvaluationInput, opts ...request.Option) (*PutExternalEvaluationOutput, error) {
6834	req, out := c.PutExternalEvaluationRequest(input)
6835	req.SetContext(ctx)
6836	req.ApplyOptions(opts...)
6837	return out, req.Send()
6838}
6839
6840const opPutOrganizationConfigRule = "PutOrganizationConfigRule"
6841
6842// PutOrganizationConfigRuleRequest generates a "aws/request.Request" representing the
6843// client's request for the PutOrganizationConfigRule operation. The "output" return
6844// value will be populated with the request's response once the request completes
6845// successfully.
6846//
6847// Use "Send" method on the returned Request to send the API call to the service.
6848// the "output" return value is not valid until after Send returns without error.
6849//
6850// See PutOrganizationConfigRule for more information on using the PutOrganizationConfigRule
6851// API call, and error handling.
6852//
6853// This method is useful when you want to inject custom logic or configuration
6854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6855//
6856//
6857//    // Example sending a request using the PutOrganizationConfigRuleRequest method.
6858//    req, resp := client.PutOrganizationConfigRuleRequest(params)
6859//
6860//    err := req.Send()
6861//    if err == nil { // resp is now filled
6862//        fmt.Println(resp)
6863//    }
6864//
6865// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
6866func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationConfigRuleInput) (req *request.Request, output *PutOrganizationConfigRuleOutput) {
6867	op := &request.Operation{
6868		Name:       opPutOrganizationConfigRule,
6869		HTTPMethod: "POST",
6870		HTTPPath:   "/",
6871	}
6872
6873	if input == nil {
6874		input = &PutOrganizationConfigRuleInput{}
6875	}
6876
6877	output = &PutOrganizationConfigRuleOutput{}
6878	req = c.newRequest(op, input, output)
6879	return
6880}
6881
6882// PutOrganizationConfigRule API operation for AWS Config.
6883//
6884// Adds or updates organization config rule for your entire organization evaluating
6885// whether your AWS resources comply with your desired configurations.
6886//
6887// Only a master account and a delegated administrator can create or update
6888// an organization config rule. When calling this API with a delegated administrator,
6889// you must ensure AWS Organizations ListDelegatedAdministrator permissions
6890// are added.
6891//
6892// This API enables organization service access through the EnableAWSServiceAccess
6893// action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup
6894// in the master or delegated administrator account of your organization. The
6895// service linked role is created only when the role does not exist in the caller
6896// account. AWS Config verifies the existence of role with GetRole action.
6897//
6898// To use this API with delegated administrator, register a delegated administrator
6899// by calling AWS Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com.
6900//
6901// You can use this action to create both custom AWS Config rules and AWS managed
6902// Config rules. If you are adding a new custom AWS Config rule, you must first
6903// create AWS Lambda function in the master account or a delegated administrator
6904// that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule
6905// action to add the rule to AWS Config, you must specify the Amazon Resource
6906// Name (ARN) that AWS Lambda assigns to the function. If you are adding an
6907// AWS managed Config rule, specify the rule's identifier for the RuleIdentifier
6908// key.
6909//
6910// The maximum number of organization config rules that AWS Config supports
6911// is 150 and 3 delegated administrator per organization.
6912//
6913// Prerequisite: Ensure you call EnableAllFeatures API to enable all features
6914// in an organization.
6915//
6916// Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata.
6917//
6918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6919// with awserr.Error's Code and Message methods to get detailed information about
6920// the error.
6921//
6922// See the AWS API reference guide for AWS Config's
6923// API operation PutOrganizationConfigRule for usage and error information.
6924//
6925// Returned Error Types:
6926//   * MaxNumberOfOrganizationConfigRulesExceededException
6927//   You have reached the limit of the number of organization config rules you
6928//   can create.
6929//
6930//   * ResourceInUseException
6931//   You see this exception in the following cases:
6932//
6933//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
6934//      again later.
6935//
6936//      * For DeleteConfigRule, the rule is deleting your evaluation results.
6937//      Try your request again later.
6938//
6939//      * For DeleteConfigRule, a remediation action is associated with the rule
6940//      and AWS Config cannot delete this rule. Delete the remediation action
6941//      associated with the rule before deleting the rule and try your request
6942//      again later.
6943//
6944//      * For PutConfigOrganizationRule, organization config rule deletion is
6945//      in progress. Try your request again later.
6946//
6947//      * For DeleteOrganizationConfigRule, organization config rule creation
6948//      is in progress. Try your request again later.
6949//
6950//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6951//      pack creation, update, and deletion is in progress. Try your request again
6952//      later.
6953//
6954//      * For DeleteConformancePack, a conformance pack creation, update, and
6955//      deletion is in progress. Try your request again later.
6956//
6957//   * InvalidParameterValueException
6958//   One or more of the specified parameters are invalid. Verify that your parameters
6959//   are valid and try again.
6960//
6961//   * ValidationException
6962//   The requested action is not valid.
6963//
6964//   * OrganizationAccessDeniedException
6965//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
6966//   API.
6967//
6968//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
6969//   Config throws an exception if APIs are called from member accounts. All APIs
6970//   must be called from organization master account.
6971//
6972//   * NoAvailableOrganizationException
6973//   Organization is no longer available.
6974//
6975//   * OrganizationAllFeaturesNotEnabledException
6976//   AWS Config resource cannot be created because your organization does not
6977//   have all features enabled.
6978//
6979//   * InsufficientPermissionsException
6980//   Indicates one of the following errors:
6981//
6982//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
6983//      to AWS Config lacks permissions to perform the config:Put* action.
6984//
6985//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
6986//      the function ARN, and check the function's permissions.
6987//
6988//      * For PutOrganizationConfigRule, organization config rule cannot be created
6989//      because you do not have permissions to call IAM GetRole action or create
6990//      a service linked role.
6991//
6992//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
6993//      pack cannot be created because you do not have permissions: To call IAM
6994//      GetRole action or create a service linked role. To read Amazon S3 bucket.
6995//
6996// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConfigRule
6997func (c *ConfigService) PutOrganizationConfigRule(input *PutOrganizationConfigRuleInput) (*PutOrganizationConfigRuleOutput, error) {
6998	req, out := c.PutOrganizationConfigRuleRequest(input)
6999	return out, req.Send()
7000}
7001
7002// PutOrganizationConfigRuleWithContext is the same as PutOrganizationConfigRule with the addition of
7003// the ability to pass a context and additional request options.
7004//
7005// See PutOrganizationConfigRule for details on how to use this API operation.
7006//
7007// The context must be non-nil and will be used for request cancellation. If
7008// the context is nil a panic will occur. In the future the SDK may create
7009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7010// for more information on using Contexts.
7011func (c *ConfigService) PutOrganizationConfigRuleWithContext(ctx aws.Context, input *PutOrganizationConfigRuleInput, opts ...request.Option) (*PutOrganizationConfigRuleOutput, error) {
7012	req, out := c.PutOrganizationConfigRuleRequest(input)
7013	req.SetContext(ctx)
7014	req.ApplyOptions(opts...)
7015	return out, req.Send()
7016}
7017
7018const opPutOrganizationConformancePack = "PutOrganizationConformancePack"
7019
7020// PutOrganizationConformancePackRequest generates a "aws/request.Request" representing the
7021// client's request for the PutOrganizationConformancePack operation. The "output" return
7022// value will be populated with the request's response once the request completes
7023// successfully.
7024//
7025// Use "Send" method on the returned Request to send the API call to the service.
7026// the "output" return value is not valid until after Send returns without error.
7027//
7028// See PutOrganizationConformancePack for more information on using the PutOrganizationConformancePack
7029// API call, and error handling.
7030//
7031// This method is useful when you want to inject custom logic or configuration
7032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7033//
7034//
7035//    // Example sending a request using the PutOrganizationConformancePackRequest method.
7036//    req, resp := client.PutOrganizationConformancePackRequest(params)
7037//
7038//    err := req.Send()
7039//    if err == nil { // resp is now filled
7040//        fmt.Println(resp)
7041//    }
7042//
7043// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
7044func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganizationConformancePackInput) (req *request.Request, output *PutOrganizationConformancePackOutput) {
7045	op := &request.Operation{
7046		Name:       opPutOrganizationConformancePack,
7047		HTTPMethod: "POST",
7048		HTTPPath:   "/",
7049	}
7050
7051	if input == nil {
7052		input = &PutOrganizationConformancePackInput{}
7053	}
7054
7055	output = &PutOrganizationConformancePackOutput{}
7056	req = c.newRequest(op, input, output)
7057	return
7058}
7059
7060// PutOrganizationConformancePack API operation for AWS Config.
7061//
7062// Deploys conformance packs across member accounts in an AWS Organization.
7063//
7064// Only a master account and a delegated administrator can call this API. When
7065// calling this API with a delegated administrator, you must ensure AWS Organizations
7066// ListDelegatedAdministrator permissions are added.
7067//
7068// This API enables organization service access for config-multiaccountsetup.amazonaws.com
7069// through the EnableAWSServiceAccess action and creates a service linked role
7070// AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator
7071// account of your organization. The service linked role is created only when
7072// the role does not exist in the caller account. To use this API with delegated
7073// administrator, register a delegated administrator by calling AWS Organization
7074// register-delegate-admin for config-multiaccountsetup.amazonaws.com.
7075//
7076// Prerequisite: Ensure you call EnableAllFeatures API to enable all features
7077// in an organization.
7078//
7079// You must specify either the TemplateS3Uri or the TemplateBody parameter,
7080// but not both. If you provide both AWS Config uses the TemplateS3Uri parameter
7081// and ignores the TemplateBody parameter.
7082//
7083// AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and
7084// UPDATE_IN_PROGRESS until the conformance pack is created or updated. You
7085// cannot update a conformance pack while it is in this state.
7086//
7087// You can create 6 conformance packs with 25 AWS Config rules in each pack
7088// and 3 delegated administrator per organization.
7089//
7090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7091// with awserr.Error's Code and Message methods to get detailed information about
7092// the error.
7093//
7094// See the AWS API reference guide for AWS Config's
7095// API operation PutOrganizationConformancePack for usage and error information.
7096//
7097// Returned Error Types:
7098//   * MaxNumberOfOrganizationConformancePacksExceededException
7099//   You have reached the limit (6) of the number of organization conformance
7100//   packs in an account (6 conformance pack with 25 AWS Config rules per pack
7101//   per account).
7102//
7103//   * ResourceInUseException
7104//   You see this exception in the following cases:
7105//
7106//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
7107//      again later.
7108//
7109//      * For DeleteConfigRule, the rule is deleting your evaluation results.
7110//      Try your request again later.
7111//
7112//      * For DeleteConfigRule, a remediation action is associated with the rule
7113//      and AWS Config cannot delete this rule. Delete the remediation action
7114//      associated with the rule before deleting the rule and try your request
7115//      again later.
7116//
7117//      * For PutConfigOrganizationRule, organization config rule deletion is
7118//      in progress. Try your request again later.
7119//
7120//      * For DeleteOrganizationConfigRule, organization config rule creation
7121//      is in progress. Try your request again later.
7122//
7123//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7124//      pack creation, update, and deletion is in progress. Try your request again
7125//      later.
7126//
7127//      * For DeleteConformancePack, a conformance pack creation, update, and
7128//      deletion is in progress. Try your request again later.
7129//
7130//   * ValidationException
7131//   The requested action is not valid.
7132//
7133//   * OrganizationAccessDeniedException
7134//   For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
7135//   API.
7136//
7137//   For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
7138//   Config throws an exception if APIs are called from member accounts. All APIs
7139//   must be called from organization master account.
7140//
7141//   * InsufficientPermissionsException
7142//   Indicates one of the following errors:
7143//
7144//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7145//      to AWS Config lacks permissions to perform the config:Put* action.
7146//
7147//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7148//      the function ARN, and check the function's permissions.
7149//
7150//      * For PutOrganizationConfigRule, organization config rule cannot be created
7151//      because you do not have permissions to call IAM GetRole action or create
7152//      a service linked role.
7153//
7154//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7155//      pack cannot be created because you do not have permissions: To call IAM
7156//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7157//
7158//   * OrganizationConformancePackTemplateValidationException
7159//   You have specified a template that is not valid or supported.
7160//
7161//   * OrganizationAllFeaturesNotEnabledException
7162//   AWS Config resource cannot be created because your organization does not
7163//   have all features enabled.
7164//
7165//   * NoAvailableOrganizationException
7166//   Organization is no longer available.
7167//
7168// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutOrganizationConformancePack
7169func (c *ConfigService) PutOrganizationConformancePack(input *PutOrganizationConformancePackInput) (*PutOrganizationConformancePackOutput, error) {
7170	req, out := c.PutOrganizationConformancePackRequest(input)
7171	return out, req.Send()
7172}
7173
7174// PutOrganizationConformancePackWithContext is the same as PutOrganizationConformancePack with the addition of
7175// the ability to pass a context and additional request options.
7176//
7177// See PutOrganizationConformancePack for details on how to use this API operation.
7178//
7179// The context must be non-nil and will be used for request cancellation. If
7180// the context is nil a panic will occur. In the future the SDK may create
7181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7182// for more information on using Contexts.
7183func (c *ConfigService) PutOrganizationConformancePackWithContext(ctx aws.Context, input *PutOrganizationConformancePackInput, opts ...request.Option) (*PutOrganizationConformancePackOutput, error) {
7184	req, out := c.PutOrganizationConformancePackRequest(input)
7185	req.SetContext(ctx)
7186	req.ApplyOptions(opts...)
7187	return out, req.Send()
7188}
7189
7190const opPutRemediationConfigurations = "PutRemediationConfigurations"
7191
7192// PutRemediationConfigurationsRequest generates a "aws/request.Request" representing the
7193// client's request for the PutRemediationConfigurations operation. The "output" return
7194// value will be populated with the request's response once the request completes
7195// successfully.
7196//
7197// Use "Send" method on the returned Request to send the API call to the service.
7198// the "output" return value is not valid until after Send returns without error.
7199//
7200// See PutRemediationConfigurations for more information on using the PutRemediationConfigurations
7201// API call, and error handling.
7202//
7203// This method is useful when you want to inject custom logic or configuration
7204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7205//
7206//
7207//    // Example sending a request using the PutRemediationConfigurationsRequest method.
7208//    req, resp := client.PutRemediationConfigurationsRequest(params)
7209//
7210//    err := req.Send()
7211//    if err == nil { // resp is now filled
7212//        fmt.Println(resp)
7213//    }
7214//
7215// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
7216func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediationConfigurationsInput) (req *request.Request, output *PutRemediationConfigurationsOutput) {
7217	op := &request.Operation{
7218		Name:       opPutRemediationConfigurations,
7219		HTTPMethod: "POST",
7220		HTTPPath:   "/",
7221	}
7222
7223	if input == nil {
7224		input = &PutRemediationConfigurationsInput{}
7225	}
7226
7227	output = &PutRemediationConfigurationsOutput{}
7228	req = c.newRequest(op, input, output)
7229	return
7230}
7231
7232// PutRemediationConfigurations API operation for AWS Config.
7233//
7234// Adds or updates the remediation configuration with a specific AWS Config
7235// rule with the selected target or action. The API creates the RemediationConfiguration
7236// object for the AWS Config rule. The AWS Config rule must already exist for
7237// you to add a remediation configuration. The target (SSM document) must exist
7238// and have permissions to use the target.
7239//
7240// If you make backward incompatible changes to the SSM document, you must call
7241// this again to ensure the remediations can run.
7242//
7243// This API does not support adding remediation configurations for service-linked
7244// AWS Config Rules such as Organization Config rules, the rules deployed by
7245// conformance packs, and rules deployed by AWS Security Hub.
7246//
7247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7248// with awserr.Error's Code and Message methods to get detailed information about
7249// the error.
7250//
7251// See the AWS API reference guide for AWS Config's
7252// API operation PutRemediationConfigurations for usage and error information.
7253//
7254// Returned Error Types:
7255//   * InsufficientPermissionsException
7256//   Indicates one of the following errors:
7257//
7258//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7259//      to AWS Config lacks permissions to perform the config:Put* action.
7260//
7261//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7262//      the function ARN, and check the function's permissions.
7263//
7264//      * For PutOrganizationConfigRule, organization config rule cannot be created
7265//      because you do not have permissions to call IAM GetRole action or create
7266//      a service linked role.
7267//
7268//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7269//      pack cannot be created because you do not have permissions: To call IAM
7270//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7271//
7272//   * InvalidParameterValueException
7273//   One or more of the specified parameters are invalid. Verify that your parameters
7274//   are valid and try again.
7275//
7276// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationConfigurations
7277func (c *ConfigService) PutRemediationConfigurations(input *PutRemediationConfigurationsInput) (*PutRemediationConfigurationsOutput, error) {
7278	req, out := c.PutRemediationConfigurationsRequest(input)
7279	return out, req.Send()
7280}
7281
7282// PutRemediationConfigurationsWithContext is the same as PutRemediationConfigurations with the addition of
7283// the ability to pass a context and additional request options.
7284//
7285// See PutRemediationConfigurations for details on how to use this API operation.
7286//
7287// The context must be non-nil and will be used for request cancellation. If
7288// the context is nil a panic will occur. In the future the SDK may create
7289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7290// for more information on using Contexts.
7291func (c *ConfigService) PutRemediationConfigurationsWithContext(ctx aws.Context, input *PutRemediationConfigurationsInput, opts ...request.Option) (*PutRemediationConfigurationsOutput, error) {
7292	req, out := c.PutRemediationConfigurationsRequest(input)
7293	req.SetContext(ctx)
7294	req.ApplyOptions(opts...)
7295	return out, req.Send()
7296}
7297
7298const opPutRemediationExceptions = "PutRemediationExceptions"
7299
7300// PutRemediationExceptionsRequest generates a "aws/request.Request" representing the
7301// client's request for the PutRemediationExceptions operation. The "output" return
7302// value will be populated with the request's response once the request completes
7303// successfully.
7304//
7305// Use "Send" method on the returned Request to send the API call to the service.
7306// the "output" return value is not valid until after Send returns without error.
7307//
7308// See PutRemediationExceptions for more information on using the PutRemediationExceptions
7309// API call, and error handling.
7310//
7311// This method is useful when you want to inject custom logic or configuration
7312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7313//
7314//
7315//    // Example sending a request using the PutRemediationExceptionsRequest method.
7316//    req, resp := client.PutRemediationExceptionsRequest(params)
7317//
7318//    err := req.Send()
7319//    if err == nil { // resp is now filled
7320//        fmt.Println(resp)
7321//    }
7322//
7323// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
7324func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExceptionsInput) (req *request.Request, output *PutRemediationExceptionsOutput) {
7325	op := &request.Operation{
7326		Name:       opPutRemediationExceptions,
7327		HTTPMethod: "POST",
7328		HTTPPath:   "/",
7329	}
7330
7331	if input == nil {
7332		input = &PutRemediationExceptionsInput{}
7333	}
7334
7335	output = &PutRemediationExceptionsOutput{}
7336	req = c.newRequest(op, input, output)
7337	return
7338}
7339
7340// PutRemediationExceptions API operation for AWS Config.
7341//
7342// A remediation exception is when a specific resource is no longer considered
7343// for auto-remediation. This API adds a new exception or updates an exisiting
7344// exception for a specific resource with a specific AWS Config rule.
7345//
7346// AWS Config generates a remediation exception when a problem occurs executing
7347// a remediation action to a specific resource. Remediation exceptions blocks
7348// auto-remediation until the exception is cleared.
7349//
7350// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7351// with awserr.Error's Code and Message methods to get detailed information about
7352// the error.
7353//
7354// See the AWS API reference guide for AWS Config's
7355// API operation PutRemediationExceptions for usage and error information.
7356//
7357// Returned Error Types:
7358//   * InvalidParameterValueException
7359//   One or more of the specified parameters are invalid. Verify that your parameters
7360//   are valid and try again.
7361//
7362//   * InsufficientPermissionsException
7363//   Indicates one of the following errors:
7364//
7365//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7366//      to AWS Config lacks permissions to perform the config:Put* action.
7367//
7368//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7369//      the function ARN, and check the function's permissions.
7370//
7371//      * For PutOrganizationConfigRule, organization config rule cannot be created
7372//      because you do not have permissions to call IAM GetRole action or create
7373//      a service linked role.
7374//
7375//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7376//      pack cannot be created because you do not have permissions: To call IAM
7377//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7378//
7379// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions
7380func (c *ConfigService) PutRemediationExceptions(input *PutRemediationExceptionsInput) (*PutRemediationExceptionsOutput, error) {
7381	req, out := c.PutRemediationExceptionsRequest(input)
7382	return out, req.Send()
7383}
7384
7385// PutRemediationExceptionsWithContext is the same as PutRemediationExceptions with the addition of
7386// the ability to pass a context and additional request options.
7387//
7388// See PutRemediationExceptions for details on how to use this API operation.
7389//
7390// The context must be non-nil and will be used for request cancellation. If
7391// the context is nil a panic will occur. In the future the SDK may create
7392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7393// for more information on using Contexts.
7394func (c *ConfigService) PutRemediationExceptionsWithContext(ctx aws.Context, input *PutRemediationExceptionsInput, opts ...request.Option) (*PutRemediationExceptionsOutput, error) {
7395	req, out := c.PutRemediationExceptionsRequest(input)
7396	req.SetContext(ctx)
7397	req.ApplyOptions(opts...)
7398	return out, req.Send()
7399}
7400
7401const opPutResourceConfig = "PutResourceConfig"
7402
7403// PutResourceConfigRequest generates a "aws/request.Request" representing the
7404// client's request for the PutResourceConfig operation. The "output" return
7405// value will be populated with the request's response once the request completes
7406// successfully.
7407//
7408// Use "Send" method on the returned Request to send the API call to the service.
7409// the "output" return value is not valid until after Send returns without error.
7410//
7411// See PutResourceConfig for more information on using the PutResourceConfig
7412// API call, and error handling.
7413//
7414// This method is useful when you want to inject custom logic or configuration
7415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7416//
7417//
7418//    // Example sending a request using the PutResourceConfigRequest method.
7419//    req, resp := client.PutResourceConfigRequest(params)
7420//
7421//    err := req.Send()
7422//    if err == nil { // resp is now filled
7423//        fmt.Println(resp)
7424//    }
7425//
7426// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
7427func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) (req *request.Request, output *PutResourceConfigOutput) {
7428	op := &request.Operation{
7429		Name:       opPutResourceConfig,
7430		HTTPMethod: "POST",
7431		HTTPPath:   "/",
7432	}
7433
7434	if input == nil {
7435		input = &PutResourceConfigInput{}
7436	}
7437
7438	output = &PutResourceConfigOutput{}
7439	req = c.newRequest(op, input, output)
7440	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7441	return
7442}
7443
7444// PutResourceConfig API operation for AWS Config.
7445//
7446// Records the configuration state for the resource provided in the request.
7447// The configuration state of a resource is represented in AWS Config as Configuration
7448// Items. Once this API records the configuration item, you can retrieve the
7449// list of configuration items for the custom resource type using existing AWS
7450// Config APIs.
7451//
7452// The custom resource type must be registered with AWS CloudFormation. This
7453// API accepts the configuration item registered with AWS CloudFormation.
7454//
7455// When you call this API, AWS Config only stores configuration state of the
7456// resource provided in the request. This API does not change or remediate the
7457// configuration of the resource.
7458//
7459// Write-only schema properites are not recorded as part of the published configuration
7460// item.
7461//
7462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7463// with awserr.Error's Code and Message methods to get detailed information about
7464// the error.
7465//
7466// See the AWS API reference guide for AWS Config's
7467// API operation PutResourceConfig for usage and error information.
7468//
7469// Returned Error Types:
7470//   * ValidationException
7471//   The requested action is not valid.
7472//
7473//   * InsufficientPermissionsException
7474//   Indicates one of the following errors:
7475//
7476//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
7477//      to AWS Config lacks permissions to perform the config:Put* action.
7478//
7479//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
7480//      the function ARN, and check the function's permissions.
7481//
7482//      * For PutOrganizationConfigRule, organization config rule cannot be created
7483//      because you do not have permissions to call IAM GetRole action or create
7484//      a service linked role.
7485//
7486//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
7487//      pack cannot be created because you do not have permissions: To call IAM
7488//      GetRole action or create a service linked role. To read Amazon S3 bucket.
7489//
7490//   * NoRunningConfigurationRecorderException
7491//   There is no configuration recorder running.
7492//
7493//   * MaxActiveResourcesExceededException
7494//   You have reached the limit (100,000) of active custom resource types in your
7495//   account. Delete unused resources using DeleteResourceConfig.
7496//
7497// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutResourceConfig
7498func (c *ConfigService) PutResourceConfig(input *PutResourceConfigInput) (*PutResourceConfigOutput, error) {
7499	req, out := c.PutResourceConfigRequest(input)
7500	return out, req.Send()
7501}
7502
7503// PutResourceConfigWithContext is the same as PutResourceConfig with the addition of
7504// the ability to pass a context and additional request options.
7505//
7506// See PutResourceConfig for details on how to use this API operation.
7507//
7508// The context must be non-nil and will be used for request cancellation. If
7509// the context is nil a panic will occur. In the future the SDK may create
7510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7511// for more information on using Contexts.
7512func (c *ConfigService) PutResourceConfigWithContext(ctx aws.Context, input *PutResourceConfigInput, opts ...request.Option) (*PutResourceConfigOutput, error) {
7513	req, out := c.PutResourceConfigRequest(input)
7514	req.SetContext(ctx)
7515	req.ApplyOptions(opts...)
7516	return out, req.Send()
7517}
7518
7519const opPutRetentionConfiguration = "PutRetentionConfiguration"
7520
7521// PutRetentionConfigurationRequest generates a "aws/request.Request" representing the
7522// client's request for the PutRetentionConfiguration operation. The "output" return
7523// value will be populated with the request's response once the request completes
7524// successfully.
7525//
7526// Use "Send" method on the returned Request to send the API call to the service.
7527// the "output" return value is not valid until after Send returns without error.
7528//
7529// See PutRetentionConfiguration for more information on using the PutRetentionConfiguration
7530// API call, and error handling.
7531//
7532// This method is useful when you want to inject custom logic or configuration
7533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7534//
7535//
7536//    // Example sending a request using the PutRetentionConfigurationRequest method.
7537//    req, resp := client.PutRetentionConfigurationRequest(params)
7538//
7539//    err := req.Send()
7540//    if err == nil { // resp is now filled
7541//        fmt.Println(resp)
7542//    }
7543//
7544// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
7545func (c *ConfigService) PutRetentionConfigurationRequest(input *PutRetentionConfigurationInput) (req *request.Request, output *PutRetentionConfigurationOutput) {
7546	op := &request.Operation{
7547		Name:       opPutRetentionConfiguration,
7548		HTTPMethod: "POST",
7549		HTTPPath:   "/",
7550	}
7551
7552	if input == nil {
7553		input = &PutRetentionConfigurationInput{}
7554	}
7555
7556	output = &PutRetentionConfigurationOutput{}
7557	req = c.newRequest(op, input, output)
7558	return
7559}
7560
7561// PutRetentionConfiguration API operation for AWS Config.
7562//
7563// Creates and updates the retention configuration with details about retention
7564// period (number of days) that AWS Config stores your historical information.
7565// The API creates the RetentionConfiguration object and names the object as
7566// default. When you have a RetentionConfiguration object named default, calling
7567// the API modifies the default object.
7568//
7569// Currently, AWS Config supports only one retention configuration per region
7570// in your account.
7571//
7572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7573// with awserr.Error's Code and Message methods to get detailed information about
7574// the error.
7575//
7576// See the AWS API reference guide for AWS Config's
7577// API operation PutRetentionConfiguration for usage and error information.
7578//
7579// Returned Error Types:
7580//   * InvalidParameterValueException
7581//   One or more of the specified parameters are invalid. Verify that your parameters
7582//   are valid and try again.
7583//
7584//   * MaxNumberOfRetentionConfigurationsExceededException
7585//   Failed to add the retention configuration because a retention configuration
7586//   with that name already exists.
7587//
7588// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRetentionConfiguration
7589func (c *ConfigService) PutRetentionConfiguration(input *PutRetentionConfigurationInput) (*PutRetentionConfigurationOutput, error) {
7590	req, out := c.PutRetentionConfigurationRequest(input)
7591	return out, req.Send()
7592}
7593
7594// PutRetentionConfigurationWithContext is the same as PutRetentionConfiguration with the addition of
7595// the ability to pass a context and additional request options.
7596//
7597// See PutRetentionConfiguration for details on how to use this API operation.
7598//
7599// The context must be non-nil and will be used for request cancellation. If
7600// the context is nil a panic will occur. In the future the SDK may create
7601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7602// for more information on using Contexts.
7603func (c *ConfigService) PutRetentionConfigurationWithContext(ctx aws.Context, input *PutRetentionConfigurationInput, opts ...request.Option) (*PutRetentionConfigurationOutput, error) {
7604	req, out := c.PutRetentionConfigurationRequest(input)
7605	req.SetContext(ctx)
7606	req.ApplyOptions(opts...)
7607	return out, req.Send()
7608}
7609
7610const opPutStoredQuery = "PutStoredQuery"
7611
7612// PutStoredQueryRequest generates a "aws/request.Request" representing the
7613// client's request for the PutStoredQuery operation. The "output" return
7614// value will be populated with the request's response once the request completes
7615// successfully.
7616//
7617// Use "Send" method on the returned Request to send the API call to the service.
7618// the "output" return value is not valid until after Send returns without error.
7619//
7620// See PutStoredQuery for more information on using the PutStoredQuery
7621// API call, and error handling.
7622//
7623// This method is useful when you want to inject custom logic or configuration
7624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7625//
7626//
7627//    // Example sending a request using the PutStoredQueryRequest method.
7628//    req, resp := client.PutStoredQueryRequest(params)
7629//
7630//    err := req.Send()
7631//    if err == nil { // resp is now filled
7632//        fmt.Println(resp)
7633//    }
7634//
7635// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
7636func (c *ConfigService) PutStoredQueryRequest(input *PutStoredQueryInput) (req *request.Request, output *PutStoredQueryOutput) {
7637	op := &request.Operation{
7638		Name:       opPutStoredQuery,
7639		HTTPMethod: "POST",
7640		HTTPPath:   "/",
7641	}
7642
7643	if input == nil {
7644		input = &PutStoredQueryInput{}
7645	}
7646
7647	output = &PutStoredQueryOutput{}
7648	req = c.newRequest(op, input, output)
7649	return
7650}
7651
7652// PutStoredQuery API operation for AWS Config.
7653//
7654// Saves a new query or updates an existing saved query. The QueryName must
7655// be unique for an AWS account in an AWS Region. You can create upto 300 queries
7656// in an AWS account in an AWS Region.
7657//
7658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7659// with awserr.Error's Code and Message methods to get detailed information about
7660// the error.
7661//
7662// See the AWS API reference guide for AWS Config's
7663// API operation PutStoredQuery for usage and error information.
7664//
7665// Returned Error Types:
7666//   * ValidationException
7667//   The requested action is not valid.
7668//
7669//   * TooManyTagsException
7670//   You have reached the limit of the number of tags you can use. You have more
7671//   than 50 tags.
7672//
7673//   * ResourceConcurrentModificationException
7674//   Two users are trying to modify the same query at the same time. Wait for
7675//   a moment and try again.
7676//
7677// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutStoredQuery
7678func (c *ConfigService) PutStoredQuery(input *PutStoredQueryInput) (*PutStoredQueryOutput, error) {
7679	req, out := c.PutStoredQueryRequest(input)
7680	return out, req.Send()
7681}
7682
7683// PutStoredQueryWithContext is the same as PutStoredQuery with the addition of
7684// the ability to pass a context and additional request options.
7685//
7686// See PutStoredQuery for details on how to use this API operation.
7687//
7688// The context must be non-nil and will be used for request cancellation. If
7689// the context is nil a panic will occur. In the future the SDK may create
7690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7691// for more information on using Contexts.
7692func (c *ConfigService) PutStoredQueryWithContext(ctx aws.Context, input *PutStoredQueryInput, opts ...request.Option) (*PutStoredQueryOutput, error) {
7693	req, out := c.PutStoredQueryRequest(input)
7694	req.SetContext(ctx)
7695	req.ApplyOptions(opts...)
7696	return out, req.Send()
7697}
7698
7699const opSelectAggregateResourceConfig = "SelectAggregateResourceConfig"
7700
7701// SelectAggregateResourceConfigRequest generates a "aws/request.Request" representing the
7702// client's request for the SelectAggregateResourceConfig operation. The "output" return
7703// value will be populated with the request's response once the request completes
7704// successfully.
7705//
7706// Use "Send" method on the returned Request to send the API call to the service.
7707// the "output" return value is not valid until after Send returns without error.
7708//
7709// See SelectAggregateResourceConfig for more information on using the SelectAggregateResourceConfig
7710// API call, and error handling.
7711//
7712// This method is useful when you want to inject custom logic or configuration
7713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7714//
7715//
7716//    // Example sending a request using the SelectAggregateResourceConfigRequest method.
7717//    req, resp := client.SelectAggregateResourceConfigRequest(params)
7718//
7719//    err := req.Send()
7720//    if err == nil { // resp is now filled
7721//        fmt.Println(resp)
7722//    }
7723//
7724// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
7725func (c *ConfigService) SelectAggregateResourceConfigRequest(input *SelectAggregateResourceConfigInput) (req *request.Request, output *SelectAggregateResourceConfigOutput) {
7726	op := &request.Operation{
7727		Name:       opSelectAggregateResourceConfig,
7728		HTTPMethod: "POST",
7729		HTTPPath:   "/",
7730		Paginator: &request.Paginator{
7731			InputTokens:     []string{"NextToken"},
7732			OutputTokens:    []string{"NextToken"},
7733			LimitToken:      "MaxResults",
7734			TruncationToken: "",
7735		},
7736	}
7737
7738	if input == nil {
7739		input = &SelectAggregateResourceConfigInput{}
7740	}
7741
7742	output = &SelectAggregateResourceConfigOutput{}
7743	req = c.newRequest(op, input, output)
7744	return
7745}
7746
7747// SelectAggregateResourceConfig API operation for AWS Config.
7748//
7749// Accepts a structured query language (SQL) SELECT command and an aggregator
7750// to query configuration state of AWS resources across multiple accounts and
7751// regions, performs the corresponding search, and returns resource configurations
7752// matching the properties.
7753//
7754// For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
7755// section in the AWS Config Developer Guide.
7756//
7757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7758// with awserr.Error's Code and Message methods to get detailed information about
7759// the error.
7760//
7761// See the AWS API reference guide for AWS Config's
7762// API operation SelectAggregateResourceConfig for usage and error information.
7763//
7764// Returned Error Types:
7765//   * InvalidExpressionException
7766//   The syntax of the query is incorrect.
7767//
7768//   * NoSuchConfigurationAggregatorException
7769//   You have specified a configuration aggregator that does not exist.
7770//
7771//   * InvalidLimitException
7772//   The specified limit is outside the allowable range.
7773//
7774//   * InvalidNextTokenException
7775//   The specified next token is invalid. Specify the nextToken string that was
7776//   returned in the previous response to get the next page of results.
7777//
7778// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectAggregateResourceConfig
7779func (c *ConfigService) SelectAggregateResourceConfig(input *SelectAggregateResourceConfigInput) (*SelectAggregateResourceConfigOutput, error) {
7780	req, out := c.SelectAggregateResourceConfigRequest(input)
7781	return out, req.Send()
7782}
7783
7784// SelectAggregateResourceConfigWithContext is the same as SelectAggregateResourceConfig with the addition of
7785// the ability to pass a context and additional request options.
7786//
7787// See SelectAggregateResourceConfig for details on how to use this API operation.
7788//
7789// The context must be non-nil and will be used for request cancellation. If
7790// the context is nil a panic will occur. In the future the SDK may create
7791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7792// for more information on using Contexts.
7793func (c *ConfigService) SelectAggregateResourceConfigWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, opts ...request.Option) (*SelectAggregateResourceConfigOutput, error) {
7794	req, out := c.SelectAggregateResourceConfigRequest(input)
7795	req.SetContext(ctx)
7796	req.ApplyOptions(opts...)
7797	return out, req.Send()
7798}
7799
7800// SelectAggregateResourceConfigPages iterates over the pages of a SelectAggregateResourceConfig operation,
7801// calling the "fn" function with the response data for each page. To stop
7802// iterating, return false from the fn function.
7803//
7804// See SelectAggregateResourceConfig method for more information on how to use this operation.
7805//
7806// Note: This operation can generate multiple requests to a service.
7807//
7808//    // Example iterating over at most 3 pages of a SelectAggregateResourceConfig operation.
7809//    pageNum := 0
7810//    err := client.SelectAggregateResourceConfigPages(params,
7811//        func(page *configservice.SelectAggregateResourceConfigOutput, lastPage bool) bool {
7812//            pageNum++
7813//            fmt.Println(page)
7814//            return pageNum <= 3
7815//        })
7816//
7817func (c *ConfigService) SelectAggregateResourceConfigPages(input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool) error {
7818	return c.SelectAggregateResourceConfigPagesWithContext(aws.BackgroundContext(), input, fn)
7819}
7820
7821// SelectAggregateResourceConfigPagesWithContext same as SelectAggregateResourceConfigPages except
7822// it takes a Context and allows setting request options on the pages.
7823//
7824// The context must be non-nil and will be used for request cancellation. If
7825// the context is nil a panic will occur. In the future the SDK may create
7826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7827// for more information on using Contexts.
7828func (c *ConfigService) SelectAggregateResourceConfigPagesWithContext(ctx aws.Context, input *SelectAggregateResourceConfigInput, fn func(*SelectAggregateResourceConfigOutput, bool) bool, opts ...request.Option) error {
7829	p := request.Pagination{
7830		NewRequest: func() (*request.Request, error) {
7831			var inCpy *SelectAggregateResourceConfigInput
7832			if input != nil {
7833				tmp := *input
7834				inCpy = &tmp
7835			}
7836			req, _ := c.SelectAggregateResourceConfigRequest(inCpy)
7837			req.SetContext(ctx)
7838			req.ApplyOptions(opts...)
7839			return req, nil
7840		},
7841	}
7842
7843	for p.Next() {
7844		if !fn(p.Page().(*SelectAggregateResourceConfigOutput), !p.HasNextPage()) {
7845			break
7846		}
7847	}
7848
7849	return p.Err()
7850}
7851
7852const opSelectResourceConfig = "SelectResourceConfig"
7853
7854// SelectResourceConfigRequest generates a "aws/request.Request" representing the
7855// client's request for the SelectResourceConfig operation. The "output" return
7856// value will be populated with the request's response once the request completes
7857// successfully.
7858//
7859// Use "Send" method on the returned Request to send the API call to the service.
7860// the "output" return value is not valid until after Send returns without error.
7861//
7862// See SelectResourceConfig for more information on using the SelectResourceConfig
7863// API call, and error handling.
7864//
7865// This method is useful when you want to inject custom logic or configuration
7866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7867//
7868//
7869//    // Example sending a request using the SelectResourceConfigRequest method.
7870//    req, resp := client.SelectResourceConfigRequest(params)
7871//
7872//    err := req.Send()
7873//    if err == nil { // resp is now filled
7874//        fmt.Println(resp)
7875//    }
7876//
7877// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
7878func (c *ConfigService) SelectResourceConfigRequest(input *SelectResourceConfigInput) (req *request.Request, output *SelectResourceConfigOutput) {
7879	op := &request.Operation{
7880		Name:       opSelectResourceConfig,
7881		HTTPMethod: "POST",
7882		HTTPPath:   "/",
7883	}
7884
7885	if input == nil {
7886		input = &SelectResourceConfigInput{}
7887	}
7888
7889	output = &SelectResourceConfigOutput{}
7890	req = c.newRequest(op, input, output)
7891	return
7892}
7893
7894// SelectResourceConfig API operation for AWS Config.
7895//
7896// Accepts a structured query language (SQL) SELECT command, performs the corresponding
7897// search, and returns resource configurations matching the properties.
7898//
7899// For more information about query components, see the Query Components (https://docs.aws.amazon.com/config/latest/developerguide/query-components.html)
7900// section in the AWS Config Developer Guide.
7901//
7902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7903// with awserr.Error's Code and Message methods to get detailed information about
7904// the error.
7905//
7906// See the AWS API reference guide for AWS Config's
7907// API operation SelectResourceConfig for usage and error information.
7908//
7909// Returned Error Types:
7910//   * InvalidExpressionException
7911//   The syntax of the query is incorrect.
7912//
7913//   * InvalidLimitException
7914//   The specified limit is outside the allowable range.
7915//
7916//   * InvalidNextTokenException
7917//   The specified next token is invalid. Specify the nextToken string that was
7918//   returned in the previous response to get the next page of results.
7919//
7920// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/SelectResourceConfig
7921func (c *ConfigService) SelectResourceConfig(input *SelectResourceConfigInput) (*SelectResourceConfigOutput, error) {
7922	req, out := c.SelectResourceConfigRequest(input)
7923	return out, req.Send()
7924}
7925
7926// SelectResourceConfigWithContext is the same as SelectResourceConfig with the addition of
7927// the ability to pass a context and additional request options.
7928//
7929// See SelectResourceConfig for details on how to use this API operation.
7930//
7931// The context must be non-nil and will be used for request cancellation. If
7932// the context is nil a panic will occur. In the future the SDK may create
7933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7934// for more information on using Contexts.
7935func (c *ConfigService) SelectResourceConfigWithContext(ctx aws.Context, input *SelectResourceConfigInput, opts ...request.Option) (*SelectResourceConfigOutput, error) {
7936	req, out := c.SelectResourceConfigRequest(input)
7937	req.SetContext(ctx)
7938	req.ApplyOptions(opts...)
7939	return out, req.Send()
7940}
7941
7942const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
7943
7944// StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
7945// client's request for the StartConfigRulesEvaluation operation. The "output" return
7946// value will be populated with the request's response once the request completes
7947// successfully.
7948//
7949// Use "Send" method on the returned Request to send the API call to the service.
7950// the "output" return value is not valid until after Send returns without error.
7951//
7952// See StartConfigRulesEvaluation for more information on using the StartConfigRulesEvaluation
7953// API call, and error handling.
7954//
7955// This method is useful when you want to inject custom logic or configuration
7956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7957//
7958//
7959//    // Example sending a request using the StartConfigRulesEvaluationRequest method.
7960//    req, resp := client.StartConfigRulesEvaluationRequest(params)
7961//
7962//    err := req.Send()
7963//    if err == nil { // resp is now filled
7964//        fmt.Println(resp)
7965//    }
7966//
7967// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
7968func (c *ConfigService) StartConfigRulesEvaluationRequest(input *StartConfigRulesEvaluationInput) (req *request.Request, output *StartConfigRulesEvaluationOutput) {
7969	op := &request.Operation{
7970		Name:       opStartConfigRulesEvaluation,
7971		HTTPMethod: "POST",
7972		HTTPPath:   "/",
7973	}
7974
7975	if input == nil {
7976		input = &StartConfigRulesEvaluationInput{}
7977	}
7978
7979	output = &StartConfigRulesEvaluationOutput{}
7980	req = c.newRequest(op, input, output)
7981	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7982	return
7983}
7984
7985// StartConfigRulesEvaluation API operation for AWS Config.
7986//
7987// Runs an on-demand evaluation for the specified AWS Config rules against the
7988// last known configuration state of the resources. Use StartConfigRulesEvaluation
7989// when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation
7990// does not re-record the latest configuration state for your resources. It
7991// re-runs an evaluation against the last known state of your resources.
7992//
7993// You can specify up to 25 AWS Config rules per request.
7994//
7995// An existing StartConfigRulesEvaluation call for the specified rules must
7996// complete before you can call the API again. If you chose to have AWS Config
7997// stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted
7998// notification when the evaluation starts.
7999//
8000// You don't need to call the StartConfigRulesEvaluation API to run an evaluation
8001// for a new rule. When you create a rule, AWS Config evaluates your resources
8002// against the rule automatically.
8003//
8004// The StartConfigRulesEvaluation API is useful if you want to run on-demand
8005// evaluations, such as the following example:
8006//
8007// You have a custom rule that evaluates your IAM resources every 24 hours.
8008//
8009// You update your Lambda function to add additional conditions to your rule.
8010//
8011// Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation
8012// API.
8013//
8014// AWS Config invokes your Lambda function and evaluates your IAM resources.
8015//
8016// Your custom rule will still run periodic evaluations every 24 hours.
8017//
8018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8019// with awserr.Error's Code and Message methods to get detailed information about
8020// the error.
8021//
8022// See the AWS API reference guide for AWS Config's
8023// API operation StartConfigRulesEvaluation for usage and error information.
8024//
8025// Returned Error Types:
8026//   * NoSuchConfigRuleException
8027//   One or more AWS Config rules in the request are invalid. Verify that the
8028//   rule names are correct and try again.
8029//
8030//   * LimitExceededException
8031//   For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
8032//   is in progress or if you call the StartConfigRulesEvaluation API more than
8033//   once per minute.
8034//
8035//   For PutConfigurationAggregator API, this exception is thrown if the number
8036//   of accounts and aggregators exceeds the limit.
8037//
8038//   * ResourceInUseException
8039//   You see this exception in the following cases:
8040//
8041//      * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
8042//      again later.
8043//
8044//      * For DeleteConfigRule, the rule is deleting your evaluation results.
8045//      Try your request again later.
8046//
8047//      * For DeleteConfigRule, a remediation action is associated with the rule
8048//      and AWS Config cannot delete this rule. Delete the remediation action
8049//      associated with the rule before deleting the rule and try your request
8050//      again later.
8051//
8052//      * For PutConfigOrganizationRule, organization config rule deletion is
8053//      in progress. Try your request again later.
8054//
8055//      * For DeleteOrganizationConfigRule, organization config rule creation
8056//      is in progress. Try your request again later.
8057//
8058//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
8059//      pack creation, update, and deletion is in progress. Try your request again
8060//      later.
8061//
8062//      * For DeleteConformancePack, a conformance pack creation, update, and
8063//      deletion is in progress. Try your request again later.
8064//
8065//   * InvalidParameterValueException
8066//   One or more of the specified parameters are invalid. Verify that your parameters
8067//   are valid and try again.
8068//
8069// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigRulesEvaluation
8070func (c *ConfigService) StartConfigRulesEvaluation(input *StartConfigRulesEvaluationInput) (*StartConfigRulesEvaluationOutput, error) {
8071	req, out := c.StartConfigRulesEvaluationRequest(input)
8072	return out, req.Send()
8073}
8074
8075// StartConfigRulesEvaluationWithContext is the same as StartConfigRulesEvaluation with the addition of
8076// the ability to pass a context and additional request options.
8077//
8078// See StartConfigRulesEvaluation for details on how to use this API operation.
8079//
8080// The context must be non-nil and will be used for request cancellation. If
8081// the context is nil a panic will occur. In the future the SDK may create
8082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8083// for more information on using Contexts.
8084func (c *ConfigService) StartConfigRulesEvaluationWithContext(ctx aws.Context, input *StartConfigRulesEvaluationInput, opts ...request.Option) (*StartConfigRulesEvaluationOutput, error) {
8085	req, out := c.StartConfigRulesEvaluationRequest(input)
8086	req.SetContext(ctx)
8087	req.ApplyOptions(opts...)
8088	return out, req.Send()
8089}
8090
8091const opStartConfigurationRecorder = "StartConfigurationRecorder"
8092
8093// StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
8094// client's request for the StartConfigurationRecorder operation. The "output" return
8095// value will be populated with the request's response once the request completes
8096// successfully.
8097//
8098// Use "Send" method on the returned Request to send the API call to the service.
8099// the "output" return value is not valid until after Send returns without error.
8100//
8101// See StartConfigurationRecorder for more information on using the StartConfigurationRecorder
8102// API call, and error handling.
8103//
8104// This method is useful when you want to inject custom logic or configuration
8105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8106//
8107//
8108//    // Example sending a request using the StartConfigurationRecorderRequest method.
8109//    req, resp := client.StartConfigurationRecorderRequest(params)
8110//
8111//    err := req.Send()
8112//    if err == nil { // resp is now filled
8113//        fmt.Println(resp)
8114//    }
8115//
8116// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
8117func (c *ConfigService) StartConfigurationRecorderRequest(input *StartConfigurationRecorderInput) (req *request.Request, output *StartConfigurationRecorderOutput) {
8118	op := &request.Operation{
8119		Name:       opStartConfigurationRecorder,
8120		HTTPMethod: "POST",
8121		HTTPPath:   "/",
8122	}
8123
8124	if input == nil {
8125		input = &StartConfigurationRecorderInput{}
8126	}
8127
8128	output = &StartConfigurationRecorderOutput{}
8129	req = c.newRequest(op, input, output)
8130	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8131	return
8132}
8133
8134// StartConfigurationRecorder API operation for AWS Config.
8135//
8136// Starts recording configurations of the AWS resources you have selected to
8137// record in your AWS account.
8138//
8139// You must have created at least one delivery channel to successfully start
8140// the configuration recorder.
8141//
8142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8143// with awserr.Error's Code and Message methods to get detailed information about
8144// the error.
8145//
8146// See the AWS API reference guide for AWS Config's
8147// API operation StartConfigurationRecorder for usage and error information.
8148//
8149// Returned Error Types:
8150//   * NoSuchConfigurationRecorderException
8151//   You have specified a configuration recorder that does not exist.
8152//
8153//   * NoAvailableDeliveryChannelException
8154//   There is no delivery channel available to record configurations.
8155//
8156// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartConfigurationRecorder
8157func (c *ConfigService) StartConfigurationRecorder(input *StartConfigurationRecorderInput) (*StartConfigurationRecorderOutput, error) {
8158	req, out := c.StartConfigurationRecorderRequest(input)
8159	return out, req.Send()
8160}
8161
8162// StartConfigurationRecorderWithContext is the same as StartConfigurationRecorder with the addition of
8163// the ability to pass a context and additional request options.
8164//
8165// See StartConfigurationRecorder for details on how to use this API operation.
8166//
8167// The context must be non-nil and will be used for request cancellation. If
8168// the context is nil a panic will occur. In the future the SDK may create
8169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8170// for more information on using Contexts.
8171func (c *ConfigService) StartConfigurationRecorderWithContext(ctx aws.Context, input *StartConfigurationRecorderInput, opts ...request.Option) (*StartConfigurationRecorderOutput, error) {
8172	req, out := c.StartConfigurationRecorderRequest(input)
8173	req.SetContext(ctx)
8174	req.ApplyOptions(opts...)
8175	return out, req.Send()
8176}
8177
8178const opStartRemediationExecution = "StartRemediationExecution"
8179
8180// StartRemediationExecutionRequest generates a "aws/request.Request" representing the
8181// client's request for the StartRemediationExecution operation. The "output" return
8182// value will be populated with the request's response once the request completes
8183// successfully.
8184//
8185// Use "Send" method on the returned Request to send the API call to the service.
8186// the "output" return value is not valid until after Send returns without error.
8187//
8188// See StartRemediationExecution for more information on using the StartRemediationExecution
8189// API call, and error handling.
8190//
8191// This method is useful when you want to inject custom logic or configuration
8192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8193//
8194//
8195//    // Example sending a request using the StartRemediationExecutionRequest method.
8196//    req, resp := client.StartRemediationExecutionRequest(params)
8197//
8198//    err := req.Send()
8199//    if err == nil { // resp is now filled
8200//        fmt.Println(resp)
8201//    }
8202//
8203// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
8204func (c *ConfigService) StartRemediationExecutionRequest(input *StartRemediationExecutionInput) (req *request.Request, output *StartRemediationExecutionOutput) {
8205	op := &request.Operation{
8206		Name:       opStartRemediationExecution,
8207		HTTPMethod: "POST",
8208		HTTPPath:   "/",
8209	}
8210
8211	if input == nil {
8212		input = &StartRemediationExecutionInput{}
8213	}
8214
8215	output = &StartRemediationExecutionOutput{}
8216	req = c.newRequest(op, input, output)
8217	return
8218}
8219
8220// StartRemediationExecution API operation for AWS Config.
8221//
8222// Runs an on-demand remediation for the specified AWS Config rules against
8223// the last known remediation configuration. It runs an execution against the
8224// current state of your resources. Remediation execution is asynchronous.
8225//
8226// You can specify up to 100 resource keys per request. An existing StartRemediationExecution
8227// call for the specified resource keys must complete before you can call the
8228// API again.
8229//
8230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8231// with awserr.Error's Code and Message methods to get detailed information about
8232// the error.
8233//
8234// See the AWS API reference guide for AWS Config's
8235// API operation StartRemediationExecution for usage and error information.
8236//
8237// Returned Error Types:
8238//   * InvalidParameterValueException
8239//   One or more of the specified parameters are invalid. Verify that your parameters
8240//   are valid and try again.
8241//
8242//   * InsufficientPermissionsException
8243//   Indicates one of the following errors:
8244//
8245//      * For PutConfigRule, the rule cannot be created because the IAM role assigned
8246//      to AWS Config lacks permissions to perform the config:Put* action.
8247//
8248//      * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
8249//      the function ARN, and check the function's permissions.
8250//
8251//      * For PutOrganizationConfigRule, organization config rule cannot be created
8252//      because you do not have permissions to call IAM GetRole action or create
8253//      a service linked role.
8254//
8255//      * For PutConformancePack and PutOrganizationConformancePack, a conformance
8256//      pack cannot be created because you do not have permissions: To call IAM
8257//      GetRole action or create a service linked role. To read Amazon S3 bucket.
8258//
8259//   * NoSuchRemediationConfigurationException
8260//   You specified an AWS Config rule without a remediation configuration.
8261//
8262// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StartRemediationExecution
8263func (c *ConfigService) StartRemediationExecution(input *StartRemediationExecutionInput) (*StartRemediationExecutionOutput, error) {
8264	req, out := c.StartRemediationExecutionRequest(input)
8265	return out, req.Send()
8266}
8267
8268// StartRemediationExecutionWithContext is the same as StartRemediationExecution with the addition of
8269// the ability to pass a context and additional request options.
8270//
8271// See StartRemediationExecution for details on how to use this API operation.
8272//
8273// The context must be non-nil and will be used for request cancellation. If
8274// the context is nil a panic will occur. In the future the SDK may create
8275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8276// for more information on using Contexts.
8277func (c *ConfigService) StartRemediationExecutionWithContext(ctx aws.Context, input *StartRemediationExecutionInput, opts ...request.Option) (*StartRemediationExecutionOutput, error) {
8278	req, out := c.StartRemediationExecutionRequest(input)
8279	req.SetContext(ctx)
8280	req.ApplyOptions(opts...)
8281	return out, req.Send()
8282}
8283
8284const opStopConfigurationRecorder = "StopConfigurationRecorder"
8285
8286// StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
8287// client's request for the StopConfigurationRecorder operation. The "output" return
8288// value will be populated with the request's response once the request completes
8289// successfully.
8290//
8291// Use "Send" method on the returned Request to send the API call to the service.
8292// the "output" return value is not valid until after Send returns without error.
8293//
8294// See StopConfigurationRecorder for more information on using the StopConfigurationRecorder
8295// API call, and error handling.
8296//
8297// This method is useful when you want to inject custom logic or configuration
8298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8299//
8300//
8301//    // Example sending a request using the StopConfigurationRecorderRequest method.
8302//    req, resp := client.StopConfigurationRecorderRequest(params)
8303//
8304//    err := req.Send()
8305//    if err == nil { // resp is now filled
8306//        fmt.Println(resp)
8307//    }
8308//
8309// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
8310func (c *ConfigService) StopConfigurationRecorderRequest(input *StopConfigurationRecorderInput) (req *request.Request, output *StopConfigurationRecorderOutput) {
8311	op := &request.Operation{
8312		Name:       opStopConfigurationRecorder,
8313		HTTPMethod: "POST",
8314		HTTPPath:   "/",
8315	}
8316
8317	if input == nil {
8318		input = &StopConfigurationRecorderInput{}
8319	}
8320
8321	output = &StopConfigurationRecorderOutput{}
8322	req = c.newRequest(op, input, output)
8323	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8324	return
8325}
8326
8327// StopConfigurationRecorder API operation for AWS Config.
8328//
8329// Stops recording configurations of the AWS resources you have selected to
8330// record in your AWS account.
8331//
8332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8333// with awserr.Error's Code and Message methods to get detailed information about
8334// the error.
8335//
8336// See the AWS API reference guide for AWS Config's
8337// API operation StopConfigurationRecorder for usage and error information.
8338//
8339// Returned Error Types:
8340//   * NoSuchConfigurationRecorderException
8341//   You have specified a configuration recorder that does not exist.
8342//
8343// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/StopConfigurationRecorder
8344func (c *ConfigService) StopConfigurationRecorder(input *StopConfigurationRecorderInput) (*StopConfigurationRecorderOutput, error) {
8345	req, out := c.StopConfigurationRecorderRequest(input)
8346	return out, req.Send()
8347}
8348
8349// StopConfigurationRecorderWithContext is the same as StopConfigurationRecorder with the addition of
8350// the ability to pass a context and additional request options.
8351//
8352// See StopConfigurationRecorder for details on how to use this API operation.
8353//
8354// The context must be non-nil and will be used for request cancellation. If
8355// the context is nil a panic will occur. In the future the SDK may create
8356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8357// for more information on using Contexts.
8358func (c *ConfigService) StopConfigurationRecorderWithContext(ctx aws.Context, input *StopConfigurationRecorderInput, opts ...request.Option) (*StopConfigurationRecorderOutput, error) {
8359	req, out := c.StopConfigurationRecorderRequest(input)
8360	req.SetContext(ctx)
8361	req.ApplyOptions(opts...)
8362	return out, req.Send()
8363}
8364
8365const opTagResource = "TagResource"
8366
8367// TagResourceRequest generates a "aws/request.Request" representing the
8368// client's request for the TagResource operation. The "output" return
8369// value will be populated with the request's response once the request completes
8370// successfully.
8371//
8372// Use "Send" method on the returned Request to send the API call to the service.
8373// the "output" return value is not valid until after Send returns without error.
8374//
8375// See TagResource for more information on using the TagResource
8376// API call, and error handling.
8377//
8378// This method is useful when you want to inject custom logic or configuration
8379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8380//
8381//
8382//    // Example sending a request using the TagResourceRequest method.
8383//    req, resp := client.TagResourceRequest(params)
8384//
8385//    err := req.Send()
8386//    if err == nil { // resp is now filled
8387//        fmt.Println(resp)
8388//    }
8389//
8390// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
8391func (c *ConfigService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
8392	op := &request.Operation{
8393		Name:       opTagResource,
8394		HTTPMethod: "POST",
8395		HTTPPath:   "/",
8396	}
8397
8398	if input == nil {
8399		input = &TagResourceInput{}
8400	}
8401
8402	output = &TagResourceOutput{}
8403	req = c.newRequest(op, input, output)
8404	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8405	return
8406}
8407
8408// TagResource API operation for AWS Config.
8409//
8410// Associates the specified tags to a resource with the specified resourceArn.
8411// If existing tags on a resource are not specified in the request parameters,
8412// they are not changed. When a resource is deleted, the tags associated with
8413// that resource are deleted as well.
8414//
8415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8416// with awserr.Error's Code and Message methods to get detailed information about
8417// the error.
8418//
8419// See the AWS API reference guide for AWS Config's
8420// API operation TagResource for usage and error information.
8421//
8422// Returned Error Types:
8423//   * ValidationException
8424//   The requested action is not valid.
8425//
8426//   * ResourceNotFoundException
8427//   You have specified a resource that does not exist.
8428//
8429//   * TooManyTagsException
8430//   You have reached the limit of the number of tags you can use. You have more
8431//   than 50 tags.
8432//
8433// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/TagResource
8434func (c *ConfigService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
8435	req, out := c.TagResourceRequest(input)
8436	return out, req.Send()
8437}
8438
8439// TagResourceWithContext is the same as TagResource with the addition of
8440// the ability to pass a context and additional request options.
8441//
8442// See TagResource for details on how to use this API operation.
8443//
8444// The context must be non-nil and will be used for request cancellation. If
8445// the context is nil a panic will occur. In the future the SDK may create
8446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8447// for more information on using Contexts.
8448func (c *ConfigService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
8449	req, out := c.TagResourceRequest(input)
8450	req.SetContext(ctx)
8451	req.ApplyOptions(opts...)
8452	return out, req.Send()
8453}
8454
8455const opUntagResource = "UntagResource"
8456
8457// UntagResourceRequest generates a "aws/request.Request" representing the
8458// client's request for the UntagResource operation. The "output" return
8459// value will be populated with the request's response once the request completes
8460// successfully.
8461//
8462// Use "Send" method on the returned Request to send the API call to the service.
8463// the "output" return value is not valid until after Send returns without error.
8464//
8465// See UntagResource for more information on using the UntagResource
8466// API call, and error handling.
8467//
8468// This method is useful when you want to inject custom logic or configuration
8469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8470//
8471//
8472//    // Example sending a request using the UntagResourceRequest method.
8473//    req, resp := client.UntagResourceRequest(params)
8474//
8475//    err := req.Send()
8476//    if err == nil { // resp is now filled
8477//        fmt.Println(resp)
8478//    }
8479//
8480// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
8481func (c *ConfigService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
8482	op := &request.Operation{
8483		Name:       opUntagResource,
8484		HTTPMethod: "POST",
8485		HTTPPath:   "/",
8486	}
8487
8488	if input == nil {
8489		input = &UntagResourceInput{}
8490	}
8491
8492	output = &UntagResourceOutput{}
8493	req = c.newRequest(op, input, output)
8494	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8495	return
8496}
8497
8498// UntagResource API operation for AWS Config.
8499//
8500// Deletes specified tags from a resource.
8501//
8502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8503// with awserr.Error's Code and Message methods to get detailed information about
8504// the error.
8505//
8506// See the AWS API reference guide for AWS Config's
8507// API operation UntagResource for usage and error information.
8508//
8509// Returned Error Types:
8510//   * ValidationException
8511//   The requested action is not valid.
8512//
8513//   * ResourceNotFoundException
8514//   You have specified a resource that does not exist.
8515//
8516// See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/UntagResource
8517func (c *ConfigService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
8518	req, out := c.UntagResourceRequest(input)
8519	return out, req.Send()
8520}
8521
8522// UntagResourceWithContext is the same as UntagResource with the addition of
8523// the ability to pass a context and additional request options.
8524//
8525// See UntagResource for details on how to use this API operation.
8526//
8527// The context must be non-nil and will be used for request cancellation. If
8528// the context is nil a panic will occur. In the future the SDK may create
8529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8530// for more information on using Contexts.
8531func (c *ConfigService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
8532	req, out := c.UntagResourceRequest(input)
8533	req.SetContext(ctx)
8534	req.ApplyOptions(opts...)
8535	return out, req.Send()
8536}
8537
8538// A collection of accounts and regions.
8539type AccountAggregationSource struct {
8540	_ struct{} `type:"structure"`
8541
8542	// The 12-digit account ID of the account being aggregated.
8543	//
8544	// AccountIds is a required field
8545	AccountIds []*string `min:"1" type:"list" required:"true"`
8546
8547	// If true, aggregate existing AWS Config regions and future regions.
8548	AllAwsRegions *bool `type:"boolean"`
8549
8550	// The source regions being aggregated.
8551	AwsRegions []*string `min:"1" type:"list"`
8552}
8553
8554// String returns the string representation
8555func (s AccountAggregationSource) String() string {
8556	return awsutil.Prettify(s)
8557}
8558
8559// GoString returns the string representation
8560func (s AccountAggregationSource) GoString() string {
8561	return s.String()
8562}
8563
8564// Validate inspects the fields of the type to determine if they are valid.
8565func (s *AccountAggregationSource) Validate() error {
8566	invalidParams := request.ErrInvalidParams{Context: "AccountAggregationSource"}
8567	if s.AccountIds == nil {
8568		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
8569	}
8570	if s.AccountIds != nil && len(s.AccountIds) < 1 {
8571		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
8572	}
8573	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
8574		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
8575	}
8576
8577	if invalidParams.Len() > 0 {
8578		return invalidParams
8579	}
8580	return nil
8581}
8582
8583// SetAccountIds sets the AccountIds field's value.
8584func (s *AccountAggregationSource) SetAccountIds(v []*string) *AccountAggregationSource {
8585	s.AccountIds = v
8586	return s
8587}
8588
8589// SetAllAwsRegions sets the AllAwsRegions field's value.
8590func (s *AccountAggregationSource) SetAllAwsRegions(v bool) *AccountAggregationSource {
8591	s.AllAwsRegions = &v
8592	return s
8593}
8594
8595// SetAwsRegions sets the AwsRegions field's value.
8596func (s *AccountAggregationSource) SetAwsRegions(v []*string) *AccountAggregationSource {
8597	s.AwsRegions = v
8598	return s
8599}
8600
8601// Indicates whether an AWS Config rule is compliant based on account ID, region,
8602// compliance, and rule name.
8603//
8604// A rule is compliant if all of the resources that the rule evaluated comply
8605// with it. It is noncompliant if any of these resources do not comply.
8606type AggregateComplianceByConfigRule struct {
8607	_ struct{} `type:"structure"`
8608
8609	// The 12-digit account ID of the source account.
8610	AccountId *string `type:"string"`
8611
8612	// The source region from where the data is aggregated.
8613	AwsRegion *string `min:"1" type:"string"`
8614
8615	// Indicates whether an AWS resource or AWS Config rule is compliant and provides
8616	// the number of contributors that affect the compliance.
8617	Compliance *Compliance `type:"structure"`
8618
8619	// The name of the AWS Config rule.
8620	ConfigRuleName *string `min:"1" type:"string"`
8621}
8622
8623// String returns the string representation
8624func (s AggregateComplianceByConfigRule) String() string {
8625	return awsutil.Prettify(s)
8626}
8627
8628// GoString returns the string representation
8629func (s AggregateComplianceByConfigRule) GoString() string {
8630	return s.String()
8631}
8632
8633// SetAccountId sets the AccountId field's value.
8634func (s *AggregateComplianceByConfigRule) SetAccountId(v string) *AggregateComplianceByConfigRule {
8635	s.AccountId = &v
8636	return s
8637}
8638
8639// SetAwsRegion sets the AwsRegion field's value.
8640func (s *AggregateComplianceByConfigRule) SetAwsRegion(v string) *AggregateComplianceByConfigRule {
8641	s.AwsRegion = &v
8642	return s
8643}
8644
8645// SetCompliance sets the Compliance field's value.
8646func (s *AggregateComplianceByConfigRule) SetCompliance(v *Compliance) *AggregateComplianceByConfigRule {
8647	s.Compliance = v
8648	return s
8649}
8650
8651// SetConfigRuleName sets the ConfigRuleName field's value.
8652func (s *AggregateComplianceByConfigRule) SetConfigRuleName(v string) *AggregateComplianceByConfigRule {
8653	s.ConfigRuleName = &v
8654	return s
8655}
8656
8657// Returns the number of compliant and noncompliant rules for one or more accounts
8658// and regions in an aggregator.
8659type AggregateComplianceCount struct {
8660	_ struct{} `type:"structure"`
8661
8662	// The number of compliant and noncompliant AWS Config rules.
8663	ComplianceSummary *ComplianceSummary `type:"structure"`
8664
8665	// The 12-digit account ID or region based on the GroupByKey value.
8666	GroupName *string `min:"1" type:"string"`
8667}
8668
8669// String returns the string representation
8670func (s AggregateComplianceCount) String() string {
8671	return awsutil.Prettify(s)
8672}
8673
8674// GoString returns the string representation
8675func (s AggregateComplianceCount) GoString() string {
8676	return s.String()
8677}
8678
8679// SetComplianceSummary sets the ComplianceSummary field's value.
8680func (s *AggregateComplianceCount) SetComplianceSummary(v *ComplianceSummary) *AggregateComplianceCount {
8681	s.ComplianceSummary = v
8682	return s
8683}
8684
8685// SetGroupName sets the GroupName field's value.
8686func (s *AggregateComplianceCount) SetGroupName(v string) *AggregateComplianceCount {
8687	s.GroupName = &v
8688	return s
8689}
8690
8691// The details of an AWS Config evaluation for an account ID and region in an
8692// aggregator. Provides the AWS resource that was evaluated, the compliance
8693// of the resource, related time stamps, and supplementary information.
8694type AggregateEvaluationResult struct {
8695	_ struct{} `type:"structure"`
8696
8697	// The 12-digit account ID of the source account.
8698	AccountId *string `type:"string"`
8699
8700	// Supplementary information about how the agrregate evaluation determined the
8701	// compliance.
8702	Annotation *string `min:"1" type:"string"`
8703
8704	// The source region from where the data is aggregated.
8705	AwsRegion *string `min:"1" type:"string"`
8706
8707	// The resource compliance status.
8708	//
8709	// For the AggregationEvaluationResult data type, AWS Config supports only the
8710	// COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE
8711	// and INSUFFICIENT_DATA value.
8712	ComplianceType *string `type:"string" enum:"ComplianceType"`
8713
8714	// The time when the AWS Config rule evaluated the AWS resource.
8715	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
8716
8717	// Uniquely identifies the evaluation result.
8718	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
8719
8720	// The time when AWS Config recorded the aggregate evaluation result.
8721	ResultRecordedTime *time.Time `type:"timestamp"`
8722}
8723
8724// String returns the string representation
8725func (s AggregateEvaluationResult) String() string {
8726	return awsutil.Prettify(s)
8727}
8728
8729// GoString returns the string representation
8730func (s AggregateEvaluationResult) GoString() string {
8731	return s.String()
8732}
8733
8734// SetAccountId sets the AccountId field's value.
8735func (s *AggregateEvaluationResult) SetAccountId(v string) *AggregateEvaluationResult {
8736	s.AccountId = &v
8737	return s
8738}
8739
8740// SetAnnotation sets the Annotation field's value.
8741func (s *AggregateEvaluationResult) SetAnnotation(v string) *AggregateEvaluationResult {
8742	s.Annotation = &v
8743	return s
8744}
8745
8746// SetAwsRegion sets the AwsRegion field's value.
8747func (s *AggregateEvaluationResult) SetAwsRegion(v string) *AggregateEvaluationResult {
8748	s.AwsRegion = &v
8749	return s
8750}
8751
8752// SetComplianceType sets the ComplianceType field's value.
8753func (s *AggregateEvaluationResult) SetComplianceType(v string) *AggregateEvaluationResult {
8754	s.ComplianceType = &v
8755	return s
8756}
8757
8758// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
8759func (s *AggregateEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *AggregateEvaluationResult {
8760	s.ConfigRuleInvokedTime = &v
8761	return s
8762}
8763
8764// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
8765func (s *AggregateEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *AggregateEvaluationResult {
8766	s.EvaluationResultIdentifier = v
8767	return s
8768}
8769
8770// SetResultRecordedTime sets the ResultRecordedTime field's value.
8771func (s *AggregateEvaluationResult) SetResultRecordedTime(v time.Time) *AggregateEvaluationResult {
8772	s.ResultRecordedTime = &v
8773	return s
8774}
8775
8776// The details that identify a resource that is collected by AWS Config aggregator,
8777// including the resource type, ID, (if available) the custom resource name,
8778// the source account, and source region.
8779type AggregateResourceIdentifier struct {
8780	_ struct{} `type:"structure"`
8781
8782	// The ID of the AWS resource.
8783	//
8784	// ResourceId is a required field
8785	ResourceId *string `min:"1" type:"string" required:"true"`
8786
8787	// The name of the AWS resource.
8788	ResourceName *string `type:"string"`
8789
8790	// The type of the AWS resource.
8791	//
8792	// ResourceType is a required field
8793	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
8794
8795	// The 12-digit account ID of the source account.
8796	//
8797	// SourceAccountId is a required field
8798	SourceAccountId *string `type:"string" required:"true"`
8799
8800	// The source region where data is aggregated.
8801	//
8802	// SourceRegion is a required field
8803	SourceRegion *string `min:"1" type:"string" required:"true"`
8804}
8805
8806// String returns the string representation
8807func (s AggregateResourceIdentifier) String() string {
8808	return awsutil.Prettify(s)
8809}
8810
8811// GoString returns the string representation
8812func (s AggregateResourceIdentifier) GoString() string {
8813	return s.String()
8814}
8815
8816// Validate inspects the fields of the type to determine if they are valid.
8817func (s *AggregateResourceIdentifier) Validate() error {
8818	invalidParams := request.ErrInvalidParams{Context: "AggregateResourceIdentifier"}
8819	if s.ResourceId == nil {
8820		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
8821	}
8822	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
8823		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
8824	}
8825	if s.ResourceType == nil {
8826		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
8827	}
8828	if s.SourceAccountId == nil {
8829		invalidParams.Add(request.NewErrParamRequired("SourceAccountId"))
8830	}
8831	if s.SourceRegion == nil {
8832		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
8833	}
8834	if s.SourceRegion != nil && len(*s.SourceRegion) < 1 {
8835		invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1))
8836	}
8837
8838	if invalidParams.Len() > 0 {
8839		return invalidParams
8840	}
8841	return nil
8842}
8843
8844// SetResourceId sets the ResourceId field's value.
8845func (s *AggregateResourceIdentifier) SetResourceId(v string) *AggregateResourceIdentifier {
8846	s.ResourceId = &v
8847	return s
8848}
8849
8850// SetResourceName sets the ResourceName field's value.
8851func (s *AggregateResourceIdentifier) SetResourceName(v string) *AggregateResourceIdentifier {
8852	s.ResourceName = &v
8853	return s
8854}
8855
8856// SetResourceType sets the ResourceType field's value.
8857func (s *AggregateResourceIdentifier) SetResourceType(v string) *AggregateResourceIdentifier {
8858	s.ResourceType = &v
8859	return s
8860}
8861
8862// SetSourceAccountId sets the SourceAccountId field's value.
8863func (s *AggregateResourceIdentifier) SetSourceAccountId(v string) *AggregateResourceIdentifier {
8864	s.SourceAccountId = &v
8865	return s
8866}
8867
8868// SetSourceRegion sets the SourceRegion field's value.
8869func (s *AggregateResourceIdentifier) SetSourceRegion(v string) *AggregateResourceIdentifier {
8870	s.SourceRegion = &v
8871	return s
8872}
8873
8874// The current sync status between the source and the aggregator account.
8875type AggregatedSourceStatus struct {
8876	_ struct{} `type:"structure"`
8877
8878	// The region authorized to collect aggregated data.
8879	AwsRegion *string `min:"1" type:"string"`
8880
8881	// The error code that AWS Config returned when the source account aggregation
8882	// last failed.
8883	LastErrorCode *string `type:"string"`
8884
8885	// The message indicating that the source account aggregation failed due to
8886	// an error.
8887	LastErrorMessage *string `type:"string"`
8888
8889	// Filters the last updated status type.
8890	//
8891	//    * Valid value FAILED indicates errors while moving data.
8892	//
8893	//    * Valid value SUCCEEDED indicates the data was successfully moved.
8894	//
8895	//    * Valid value OUTDATED indicates the data is not the most recent.
8896	LastUpdateStatus *string `type:"string" enum:"AggregatedSourceStatusType"`
8897
8898	// The time of the last update.
8899	LastUpdateTime *time.Time `type:"timestamp"`
8900
8901	// The source account ID or an organization.
8902	SourceId *string `type:"string"`
8903
8904	// The source account or an organization.
8905	SourceType *string `type:"string" enum:"AggregatedSourceType"`
8906}
8907
8908// String returns the string representation
8909func (s AggregatedSourceStatus) String() string {
8910	return awsutil.Prettify(s)
8911}
8912
8913// GoString returns the string representation
8914func (s AggregatedSourceStatus) GoString() string {
8915	return s.String()
8916}
8917
8918// SetAwsRegion sets the AwsRegion field's value.
8919func (s *AggregatedSourceStatus) SetAwsRegion(v string) *AggregatedSourceStatus {
8920	s.AwsRegion = &v
8921	return s
8922}
8923
8924// SetLastErrorCode sets the LastErrorCode field's value.
8925func (s *AggregatedSourceStatus) SetLastErrorCode(v string) *AggregatedSourceStatus {
8926	s.LastErrorCode = &v
8927	return s
8928}
8929
8930// SetLastErrorMessage sets the LastErrorMessage field's value.
8931func (s *AggregatedSourceStatus) SetLastErrorMessage(v string) *AggregatedSourceStatus {
8932	s.LastErrorMessage = &v
8933	return s
8934}
8935
8936// SetLastUpdateStatus sets the LastUpdateStatus field's value.
8937func (s *AggregatedSourceStatus) SetLastUpdateStatus(v string) *AggregatedSourceStatus {
8938	s.LastUpdateStatus = &v
8939	return s
8940}
8941
8942// SetLastUpdateTime sets the LastUpdateTime field's value.
8943func (s *AggregatedSourceStatus) SetLastUpdateTime(v time.Time) *AggregatedSourceStatus {
8944	s.LastUpdateTime = &v
8945	return s
8946}
8947
8948// SetSourceId sets the SourceId field's value.
8949func (s *AggregatedSourceStatus) SetSourceId(v string) *AggregatedSourceStatus {
8950	s.SourceId = &v
8951	return s
8952}
8953
8954// SetSourceType sets the SourceType field's value.
8955func (s *AggregatedSourceStatus) SetSourceType(v string) *AggregatedSourceStatus {
8956	s.SourceType = &v
8957	return s
8958}
8959
8960// An object that represents the authorizations granted to aggregator accounts
8961// and regions.
8962type AggregationAuthorization struct {
8963	_ struct{} `type:"structure"`
8964
8965	// The Amazon Resource Name (ARN) of the aggregation object.
8966	AggregationAuthorizationArn *string `type:"string"`
8967
8968	// The 12-digit account ID of the account authorized to aggregate data.
8969	AuthorizedAccountId *string `type:"string"`
8970
8971	// The region authorized to collect aggregated data.
8972	AuthorizedAwsRegion *string `min:"1" type:"string"`
8973
8974	// The time stamp when the aggregation authorization was created.
8975	CreationTime *time.Time `type:"timestamp"`
8976}
8977
8978// String returns the string representation
8979func (s AggregationAuthorization) String() string {
8980	return awsutil.Prettify(s)
8981}
8982
8983// GoString returns the string representation
8984func (s AggregationAuthorization) GoString() string {
8985	return s.String()
8986}
8987
8988// SetAggregationAuthorizationArn sets the AggregationAuthorizationArn field's value.
8989func (s *AggregationAuthorization) SetAggregationAuthorizationArn(v string) *AggregationAuthorization {
8990	s.AggregationAuthorizationArn = &v
8991	return s
8992}
8993
8994// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
8995func (s *AggregationAuthorization) SetAuthorizedAccountId(v string) *AggregationAuthorization {
8996	s.AuthorizedAccountId = &v
8997	return s
8998}
8999
9000// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
9001func (s *AggregationAuthorization) SetAuthorizedAwsRegion(v string) *AggregationAuthorization {
9002	s.AuthorizedAwsRegion = &v
9003	return s
9004}
9005
9006// SetCreationTime sets the CreationTime field's value.
9007func (s *AggregationAuthorization) SetCreationTime(v time.Time) *AggregationAuthorization {
9008	s.CreationTime = &v
9009	return s
9010}
9011
9012// The detailed configuration of a specified resource.
9013type BaseConfigurationItem struct {
9014	_ struct{} `type:"structure"`
9015
9016	// The 12-digit AWS account ID associated with the resource.
9017	AccountId *string `locationName:"accountId" type:"string"`
9018
9019	// The Amazon Resource Name (ARN) of the resource.
9020	Arn *string `locationName:"arn" type:"string"`
9021
9022	// The Availability Zone associated with the resource.
9023	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
9024
9025	// The region where the resource resides.
9026	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
9027
9028	// The description of the resource configuration.
9029	Configuration *string `locationName:"configuration" type:"string"`
9030
9031	// The time when the configuration recording was initiated.
9032	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
9033
9034	// The configuration item status. The valid values are:
9035	//
9036	//    * OK – The resource configuration has been updated
9037	//
9038	//    * ResourceDiscovered – The resource was newly discovered
9039	//
9040	//    * ResourceNotRecorded – The resource was discovered but its configuration
9041	//    was not recorded since the recorder excludes the recording of resources
9042	//    of this type
9043	//
9044	//    * ResourceDeleted – The resource was deleted
9045	//
9046	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
9047	//    was not recorded since the recorder excludes the recording of resources
9048	//    of this type
9049	//
9050	// The CIs do not incur any cost.
9051	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
9052
9053	// An identifier that indicates the ordering of the configuration items of a
9054	// resource.
9055	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
9056
9057	// The time stamp when the resource was created.
9058	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
9059
9060	// The ID of the resource (for example., sg-xxxxxx).
9061	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
9062
9063	// The custom name of the resource, if available.
9064	ResourceName *string `locationName:"resourceName" type:"string"`
9065
9066	// The type of AWS resource.
9067	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
9068
9069	// Configuration attributes that AWS Config returns for certain resource types
9070	// to supplement the information returned for the configuration parameter.
9071	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
9072
9073	// The version number of the resource configuration.
9074	Version *string `locationName:"version" type:"string"`
9075}
9076
9077// String returns the string representation
9078func (s BaseConfigurationItem) String() string {
9079	return awsutil.Prettify(s)
9080}
9081
9082// GoString returns the string representation
9083func (s BaseConfigurationItem) GoString() string {
9084	return s.String()
9085}
9086
9087// SetAccountId sets the AccountId field's value.
9088func (s *BaseConfigurationItem) SetAccountId(v string) *BaseConfigurationItem {
9089	s.AccountId = &v
9090	return s
9091}
9092
9093// SetArn sets the Arn field's value.
9094func (s *BaseConfigurationItem) SetArn(v string) *BaseConfigurationItem {
9095	s.Arn = &v
9096	return s
9097}
9098
9099// SetAvailabilityZone sets the AvailabilityZone field's value.
9100func (s *BaseConfigurationItem) SetAvailabilityZone(v string) *BaseConfigurationItem {
9101	s.AvailabilityZone = &v
9102	return s
9103}
9104
9105// SetAwsRegion sets the AwsRegion field's value.
9106func (s *BaseConfigurationItem) SetAwsRegion(v string) *BaseConfigurationItem {
9107	s.AwsRegion = &v
9108	return s
9109}
9110
9111// SetConfiguration sets the Configuration field's value.
9112func (s *BaseConfigurationItem) SetConfiguration(v string) *BaseConfigurationItem {
9113	s.Configuration = &v
9114	return s
9115}
9116
9117// SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
9118func (s *BaseConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *BaseConfigurationItem {
9119	s.ConfigurationItemCaptureTime = &v
9120	return s
9121}
9122
9123// SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
9124func (s *BaseConfigurationItem) SetConfigurationItemStatus(v string) *BaseConfigurationItem {
9125	s.ConfigurationItemStatus = &v
9126	return s
9127}
9128
9129// SetConfigurationStateId sets the ConfigurationStateId field's value.
9130func (s *BaseConfigurationItem) SetConfigurationStateId(v string) *BaseConfigurationItem {
9131	s.ConfigurationStateId = &v
9132	return s
9133}
9134
9135// SetResourceCreationTime sets the ResourceCreationTime field's value.
9136func (s *BaseConfigurationItem) SetResourceCreationTime(v time.Time) *BaseConfigurationItem {
9137	s.ResourceCreationTime = &v
9138	return s
9139}
9140
9141// SetResourceId sets the ResourceId field's value.
9142func (s *BaseConfigurationItem) SetResourceId(v string) *BaseConfigurationItem {
9143	s.ResourceId = &v
9144	return s
9145}
9146
9147// SetResourceName sets the ResourceName field's value.
9148func (s *BaseConfigurationItem) SetResourceName(v string) *BaseConfigurationItem {
9149	s.ResourceName = &v
9150	return s
9151}
9152
9153// SetResourceType sets the ResourceType field's value.
9154func (s *BaseConfigurationItem) SetResourceType(v string) *BaseConfigurationItem {
9155	s.ResourceType = &v
9156	return s
9157}
9158
9159// SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
9160func (s *BaseConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *BaseConfigurationItem {
9161	s.SupplementaryConfiguration = v
9162	return s
9163}
9164
9165// SetVersion sets the Version field's value.
9166func (s *BaseConfigurationItem) SetVersion(v string) *BaseConfigurationItem {
9167	s.Version = &v
9168	return s
9169}
9170
9171type BatchGetAggregateResourceConfigInput struct {
9172	_ struct{} `type:"structure"`
9173
9174	// The name of the configuration aggregator.
9175	//
9176	// ConfigurationAggregatorName is a required field
9177	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
9178
9179	// A list of aggregate ResourceIdentifiers objects.
9180	//
9181	// ResourceIdentifiers is a required field
9182	ResourceIdentifiers []*AggregateResourceIdentifier `min:"1" type:"list" required:"true"`
9183}
9184
9185// String returns the string representation
9186func (s BatchGetAggregateResourceConfigInput) String() string {
9187	return awsutil.Prettify(s)
9188}
9189
9190// GoString returns the string representation
9191func (s BatchGetAggregateResourceConfigInput) GoString() string {
9192	return s.String()
9193}
9194
9195// Validate inspects the fields of the type to determine if they are valid.
9196func (s *BatchGetAggregateResourceConfigInput) Validate() error {
9197	invalidParams := request.ErrInvalidParams{Context: "BatchGetAggregateResourceConfigInput"}
9198	if s.ConfigurationAggregatorName == nil {
9199		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
9200	}
9201	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
9202		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
9203	}
9204	if s.ResourceIdentifiers == nil {
9205		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifiers"))
9206	}
9207	if s.ResourceIdentifiers != nil && len(s.ResourceIdentifiers) < 1 {
9208		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifiers", 1))
9209	}
9210	if s.ResourceIdentifiers != nil {
9211		for i, v := range s.ResourceIdentifiers {
9212			if v == nil {
9213				continue
9214			}
9215			if err := v.Validate(); err != nil {
9216				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIdentifiers", i), err.(request.ErrInvalidParams))
9217			}
9218		}
9219	}
9220
9221	if invalidParams.Len() > 0 {
9222		return invalidParams
9223	}
9224	return nil
9225}
9226
9227// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
9228func (s *BatchGetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *BatchGetAggregateResourceConfigInput {
9229	s.ConfigurationAggregatorName = &v
9230	return s
9231}
9232
9233// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
9234func (s *BatchGetAggregateResourceConfigInput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigInput {
9235	s.ResourceIdentifiers = v
9236	return s
9237}
9238
9239type BatchGetAggregateResourceConfigOutput struct {
9240	_ struct{} `type:"structure"`
9241
9242	// A list that contains the current configuration of one or more resources.
9243	BaseConfigurationItems []*BaseConfigurationItem `type:"list"`
9244
9245	// A list of resource identifiers that were not processed with current scope.
9246	// The list is empty if all the resources are processed.
9247	UnprocessedResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
9248}
9249
9250// String returns the string representation
9251func (s BatchGetAggregateResourceConfigOutput) String() string {
9252	return awsutil.Prettify(s)
9253}
9254
9255// GoString returns the string representation
9256func (s BatchGetAggregateResourceConfigOutput) GoString() string {
9257	return s.String()
9258}
9259
9260// SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
9261func (s *BatchGetAggregateResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetAggregateResourceConfigOutput {
9262	s.BaseConfigurationItems = v
9263	return s
9264}
9265
9266// SetUnprocessedResourceIdentifiers sets the UnprocessedResourceIdentifiers field's value.
9267func (s *BatchGetAggregateResourceConfigOutput) SetUnprocessedResourceIdentifiers(v []*AggregateResourceIdentifier) *BatchGetAggregateResourceConfigOutput {
9268	s.UnprocessedResourceIdentifiers = v
9269	return s
9270}
9271
9272type BatchGetResourceConfigInput struct {
9273	_ struct{} `type:"structure"`
9274
9275	// A list of resource keys to be processed with the current request. Each element
9276	// in the list consists of the resource type and resource ID.
9277	//
9278	// ResourceKeys is a required field
9279	ResourceKeys []*ResourceKey `locationName:"resourceKeys" min:"1" type:"list" required:"true"`
9280}
9281
9282// String returns the string representation
9283func (s BatchGetResourceConfigInput) String() string {
9284	return awsutil.Prettify(s)
9285}
9286
9287// GoString returns the string representation
9288func (s BatchGetResourceConfigInput) GoString() string {
9289	return s.String()
9290}
9291
9292// Validate inspects the fields of the type to determine if they are valid.
9293func (s *BatchGetResourceConfigInput) Validate() error {
9294	invalidParams := request.ErrInvalidParams{Context: "BatchGetResourceConfigInput"}
9295	if s.ResourceKeys == nil {
9296		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
9297	}
9298	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
9299		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
9300	}
9301	if s.ResourceKeys != nil {
9302		for i, v := range s.ResourceKeys {
9303			if v == nil {
9304				continue
9305			}
9306			if err := v.Validate(); err != nil {
9307				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
9308			}
9309		}
9310	}
9311
9312	if invalidParams.Len() > 0 {
9313		return invalidParams
9314	}
9315	return nil
9316}
9317
9318// SetResourceKeys sets the ResourceKeys field's value.
9319func (s *BatchGetResourceConfigInput) SetResourceKeys(v []*ResourceKey) *BatchGetResourceConfigInput {
9320	s.ResourceKeys = v
9321	return s
9322}
9323
9324type BatchGetResourceConfigOutput struct {
9325	_ struct{} `type:"structure"`
9326
9327	// A list that contains the current configuration of one or more resources.
9328	BaseConfigurationItems []*BaseConfigurationItem `locationName:"baseConfigurationItems" type:"list"`
9329
9330	// A list of resource keys that were not processed with the current response.
9331	// The unprocessesResourceKeys value is in the same form as ResourceKeys, so
9332	// the value can be directly provided to a subsequent BatchGetResourceConfig
9333	// operation. If there are no unprocessed resource keys, the response contains
9334	// an empty unprocessedResourceKeys list.
9335	UnprocessedResourceKeys []*ResourceKey `locationName:"unprocessedResourceKeys" min:"1" type:"list"`
9336}
9337
9338// String returns the string representation
9339func (s BatchGetResourceConfigOutput) String() string {
9340	return awsutil.Prettify(s)
9341}
9342
9343// GoString returns the string representation
9344func (s BatchGetResourceConfigOutput) GoString() string {
9345	return s.String()
9346}
9347
9348// SetBaseConfigurationItems sets the BaseConfigurationItems field's value.
9349func (s *BatchGetResourceConfigOutput) SetBaseConfigurationItems(v []*BaseConfigurationItem) *BatchGetResourceConfigOutput {
9350	s.BaseConfigurationItems = v
9351	return s
9352}
9353
9354// SetUnprocessedResourceKeys sets the UnprocessedResourceKeys field's value.
9355func (s *BatchGetResourceConfigOutput) SetUnprocessedResourceKeys(v []*ResourceKey) *BatchGetResourceConfigOutput {
9356	s.UnprocessedResourceKeys = v
9357	return s
9358}
9359
9360// Indicates whether an AWS resource or AWS Config rule is compliant and provides
9361// the number of contributors that affect the compliance.
9362type Compliance struct {
9363	_ struct{} `type:"structure"`
9364
9365	// The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT,
9366	// up to a maximum number.
9367	ComplianceContributorCount *ComplianceContributorCount `type:"structure"`
9368
9369	// Indicates whether an AWS resource or AWS Config rule is compliant.
9370	//
9371	// A resource is compliant if it complies with all of the AWS Config rules that
9372	// evaluate it. A resource is noncompliant if it does not comply with one or
9373	// more of these rules.
9374	//
9375	// A rule is compliant if all of the resources that the rule evaluates comply
9376	// with it. A rule is noncompliant if any of these resources do not comply.
9377	//
9378	// AWS Config returns the INSUFFICIENT_DATA value when no evaluation results
9379	// are available for the AWS resource or AWS Config rule.
9380	//
9381	// For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT,
9382	// and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE
9383	// value for the Compliance data type.
9384	ComplianceType *string `type:"string" enum:"ComplianceType"`
9385}
9386
9387// String returns the string representation
9388func (s Compliance) String() string {
9389	return awsutil.Prettify(s)
9390}
9391
9392// GoString returns the string representation
9393func (s Compliance) GoString() string {
9394	return s.String()
9395}
9396
9397// SetComplianceContributorCount sets the ComplianceContributorCount field's value.
9398func (s *Compliance) SetComplianceContributorCount(v *ComplianceContributorCount) *Compliance {
9399	s.ComplianceContributorCount = v
9400	return s
9401}
9402
9403// SetComplianceType sets the ComplianceType field's value.
9404func (s *Compliance) SetComplianceType(v string) *Compliance {
9405	s.ComplianceType = &v
9406	return s
9407}
9408
9409// Indicates whether an AWS Config rule is compliant. A rule is compliant if
9410// all of the resources that the rule evaluated comply with it. A rule is noncompliant
9411// if any of these resources do not comply.
9412type ComplianceByConfigRule struct {
9413	_ struct{} `type:"structure"`
9414
9415	// Indicates whether the AWS Config rule is compliant.
9416	Compliance *Compliance `type:"structure"`
9417
9418	// The name of the AWS Config rule.
9419	ConfigRuleName *string `min:"1" type:"string"`
9420}
9421
9422// String returns the string representation
9423func (s ComplianceByConfigRule) String() string {
9424	return awsutil.Prettify(s)
9425}
9426
9427// GoString returns the string representation
9428func (s ComplianceByConfigRule) GoString() string {
9429	return s.String()
9430}
9431
9432// SetCompliance sets the Compliance field's value.
9433func (s *ComplianceByConfigRule) SetCompliance(v *Compliance) *ComplianceByConfigRule {
9434	s.Compliance = v
9435	return s
9436}
9437
9438// SetConfigRuleName sets the ConfigRuleName field's value.
9439func (s *ComplianceByConfigRule) SetConfigRuleName(v string) *ComplianceByConfigRule {
9440	s.ConfigRuleName = &v
9441	return s
9442}
9443
9444// Indicates whether an AWS resource that is evaluated according to one or more
9445// AWS Config rules is compliant. A resource is compliant if it complies with
9446// all of the rules that evaluate it. A resource is noncompliant if it does
9447// not comply with one or more of these rules.
9448type ComplianceByResource struct {
9449	_ struct{} `type:"structure"`
9450
9451	// Indicates whether the AWS resource complies with all of the AWS Config rules
9452	// that evaluated it.
9453	Compliance *Compliance `type:"structure"`
9454
9455	// The ID of the AWS resource that was evaluated.
9456	ResourceId *string `min:"1" type:"string"`
9457
9458	// The type of the AWS resource that was evaluated.
9459	ResourceType *string `min:"1" type:"string"`
9460}
9461
9462// String returns the string representation
9463func (s ComplianceByResource) String() string {
9464	return awsutil.Prettify(s)
9465}
9466
9467// GoString returns the string representation
9468func (s ComplianceByResource) GoString() string {
9469	return s.String()
9470}
9471
9472// SetCompliance sets the Compliance field's value.
9473func (s *ComplianceByResource) SetCompliance(v *Compliance) *ComplianceByResource {
9474	s.Compliance = v
9475	return s
9476}
9477
9478// SetResourceId sets the ResourceId field's value.
9479func (s *ComplianceByResource) SetResourceId(v string) *ComplianceByResource {
9480	s.ResourceId = &v
9481	return s
9482}
9483
9484// SetResourceType sets the ResourceType field's value.
9485func (s *ComplianceByResource) SetResourceType(v string) *ComplianceByResource {
9486	s.ResourceType = &v
9487	return s
9488}
9489
9490// The number of AWS resources or AWS Config rules responsible for the current
9491// compliance of the item, up to a maximum number.
9492type ComplianceContributorCount struct {
9493	_ struct{} `type:"structure"`
9494
9495	// Indicates whether the maximum count is reached.
9496	CapExceeded *bool `type:"boolean"`
9497
9498	// The number of AWS resources or AWS Config rules responsible for the current
9499	// compliance of the item.
9500	CappedCount *int64 `type:"integer"`
9501}
9502
9503// String returns the string representation
9504func (s ComplianceContributorCount) String() string {
9505	return awsutil.Prettify(s)
9506}
9507
9508// GoString returns the string representation
9509func (s ComplianceContributorCount) GoString() string {
9510	return s.String()
9511}
9512
9513// SetCapExceeded sets the CapExceeded field's value.
9514func (s *ComplianceContributorCount) SetCapExceeded(v bool) *ComplianceContributorCount {
9515	s.CapExceeded = &v
9516	return s
9517}
9518
9519// SetCappedCount sets the CappedCount field's value.
9520func (s *ComplianceContributorCount) SetCappedCount(v int64) *ComplianceContributorCount {
9521	s.CappedCount = &v
9522	return s
9523}
9524
9525// The number of AWS Config rules or AWS resources that are compliant and noncompliant.
9526type ComplianceSummary struct {
9527	_ struct{} `type:"structure"`
9528
9529	// The time that AWS Config created the compliance summary.
9530	ComplianceSummaryTimestamp *time.Time `type:"timestamp"`
9531
9532	// The number of AWS Config rules or AWS resources that are compliant, up to
9533	// a maximum of 25 for rules and 100 for resources.
9534	CompliantResourceCount *ComplianceContributorCount `type:"structure"`
9535
9536	// The number of AWS Config rules or AWS resources that are noncompliant, up
9537	// to a maximum of 25 for rules and 100 for resources.
9538	NonCompliantResourceCount *ComplianceContributorCount `type:"structure"`
9539}
9540
9541// String returns the string representation
9542func (s ComplianceSummary) String() string {
9543	return awsutil.Prettify(s)
9544}
9545
9546// GoString returns the string representation
9547func (s ComplianceSummary) GoString() string {
9548	return s.String()
9549}
9550
9551// SetComplianceSummaryTimestamp sets the ComplianceSummaryTimestamp field's value.
9552func (s *ComplianceSummary) SetComplianceSummaryTimestamp(v time.Time) *ComplianceSummary {
9553	s.ComplianceSummaryTimestamp = &v
9554	return s
9555}
9556
9557// SetCompliantResourceCount sets the CompliantResourceCount field's value.
9558func (s *ComplianceSummary) SetCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
9559	s.CompliantResourceCount = v
9560	return s
9561}
9562
9563// SetNonCompliantResourceCount sets the NonCompliantResourceCount field's value.
9564func (s *ComplianceSummary) SetNonCompliantResourceCount(v *ComplianceContributorCount) *ComplianceSummary {
9565	s.NonCompliantResourceCount = v
9566	return s
9567}
9568
9569// The number of AWS resources of a specific type that are compliant or noncompliant,
9570// up to a maximum of 100 for each.
9571type ComplianceSummaryByResourceType struct {
9572	_ struct{} `type:"structure"`
9573
9574	// The number of AWS resources that are compliant or noncompliant, up to a maximum
9575	// of 100 for each.
9576	ComplianceSummary *ComplianceSummary `type:"structure"`
9577
9578	// The type of AWS resource.
9579	ResourceType *string `min:"1" type:"string"`
9580}
9581
9582// String returns the string representation
9583func (s ComplianceSummaryByResourceType) String() string {
9584	return awsutil.Prettify(s)
9585}
9586
9587// GoString returns the string representation
9588func (s ComplianceSummaryByResourceType) GoString() string {
9589	return s.String()
9590}
9591
9592// SetComplianceSummary sets the ComplianceSummary field's value.
9593func (s *ComplianceSummaryByResourceType) SetComplianceSummary(v *ComplianceSummary) *ComplianceSummaryByResourceType {
9594	s.ComplianceSummary = v
9595	return s
9596}
9597
9598// SetResourceType sets the ResourceType field's value.
9599func (s *ComplianceSummaryByResourceType) SetResourceType(v string) *ComplianceSummaryByResourceType {
9600	s.ResourceType = &v
9601	return s
9602}
9603
9604// Provides status of the delivery of the snapshot or the configuration history
9605// to the specified Amazon S3 bucket. Also provides the status of notifications
9606// about the Amazon S3 delivery to the specified Amazon SNS topic.
9607type ConfigExportDeliveryInfo struct {
9608	_ struct{} `type:"structure"`
9609
9610	// The time of the last attempted delivery.
9611	LastAttemptTime *time.Time `locationName:"lastAttemptTime" type:"timestamp"`
9612
9613	// The error code from the last attempted delivery.
9614	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
9615
9616	// The error message from the last attempted delivery.
9617	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
9618
9619	// Status of the last attempted delivery.
9620	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
9621
9622	// The time of the last successful delivery.
9623	LastSuccessfulTime *time.Time `locationName:"lastSuccessfulTime" type:"timestamp"`
9624
9625	// The time that the next delivery occurs.
9626	NextDeliveryTime *time.Time `locationName:"nextDeliveryTime" type:"timestamp"`
9627}
9628
9629// String returns the string representation
9630func (s ConfigExportDeliveryInfo) String() string {
9631	return awsutil.Prettify(s)
9632}
9633
9634// GoString returns the string representation
9635func (s ConfigExportDeliveryInfo) GoString() string {
9636	return s.String()
9637}
9638
9639// SetLastAttemptTime sets the LastAttemptTime field's value.
9640func (s *ConfigExportDeliveryInfo) SetLastAttemptTime(v time.Time) *ConfigExportDeliveryInfo {
9641	s.LastAttemptTime = &v
9642	return s
9643}
9644
9645// SetLastErrorCode sets the LastErrorCode field's value.
9646func (s *ConfigExportDeliveryInfo) SetLastErrorCode(v string) *ConfigExportDeliveryInfo {
9647	s.LastErrorCode = &v
9648	return s
9649}
9650
9651// SetLastErrorMessage sets the LastErrorMessage field's value.
9652func (s *ConfigExportDeliveryInfo) SetLastErrorMessage(v string) *ConfigExportDeliveryInfo {
9653	s.LastErrorMessage = &v
9654	return s
9655}
9656
9657// SetLastStatus sets the LastStatus field's value.
9658func (s *ConfigExportDeliveryInfo) SetLastStatus(v string) *ConfigExportDeliveryInfo {
9659	s.LastStatus = &v
9660	return s
9661}
9662
9663// SetLastSuccessfulTime sets the LastSuccessfulTime field's value.
9664func (s *ConfigExportDeliveryInfo) SetLastSuccessfulTime(v time.Time) *ConfigExportDeliveryInfo {
9665	s.LastSuccessfulTime = &v
9666	return s
9667}
9668
9669// SetNextDeliveryTime sets the NextDeliveryTime field's value.
9670func (s *ConfigExportDeliveryInfo) SetNextDeliveryTime(v time.Time) *ConfigExportDeliveryInfo {
9671	s.NextDeliveryTime = &v
9672	return s
9673}
9674
9675// An AWS Config rule represents an AWS Lambda function that you create for
9676// a custom rule or a predefined function for an AWS managed rule. The function
9677// evaluates configuration items to assess whether your AWS resources comply
9678// with your desired configurations. This function can run when AWS Config detects
9679// a configuration change to an AWS resource and at a periodic frequency that
9680// you choose (for example, every 24 hours).
9681//
9682// You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
9683// evaluations for your resources when AWS Config delivers the configuration
9684// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
9685//
9686// For more information about developing and using AWS Config rules, see Evaluating
9687// AWS Resource Configurations with AWS Config (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
9688// in the AWS Config Developer Guide.
9689type ConfigRule struct {
9690	_ struct{} `type:"structure"`
9691
9692	// The Amazon Resource Name (ARN) of the AWS Config rule.
9693	ConfigRuleArn *string `min:"1" type:"string"`
9694
9695	// The ID of the AWS Config rule.
9696	ConfigRuleId *string `min:"1" type:"string"`
9697
9698	// The name that you assign to the AWS Config rule. The name is required if
9699	// you are adding a new rule.
9700	ConfigRuleName *string `min:"1" type:"string"`
9701
9702	// Indicates whether the AWS Config rule is active or is currently being deleted
9703	// by AWS Config. It can also indicate the evaluation status for the AWS Config
9704	// rule.
9705	//
9706	// AWS Config sets the state of the rule to EVALUATING temporarily after you
9707	// use the StartConfigRulesEvaluation request to evaluate your resources against
9708	// the AWS Config rule.
9709	//
9710	// AWS Config sets the state of the rule to DELETING_RESULTS temporarily after
9711	// you use the DeleteEvaluationResults request to delete the current evaluation
9712	// results for the AWS Config rule.
9713	//
9714	// AWS Config temporarily sets the state of a rule to DELETING after you use
9715	// the DeleteConfigRule request to delete the rule. After AWS Config deletes
9716	// the rule, the rule and all of its evaluations are erased and are no longer
9717	// available.
9718	ConfigRuleState *string `type:"string" enum:"ConfigRuleState"`
9719
9720	// Service principal name of the service that created the rule.
9721	//
9722	// The field is populated only if the service linked rule is created by a service.
9723	// The field is empty if you create your own rule.
9724	CreatedBy *string `min:"1" type:"string"`
9725
9726	// The description that you provide for the AWS Config rule.
9727	Description *string `type:"string"`
9728
9729	// A string, in JSON format, that is passed to the AWS Config rule Lambda function.
9730	InputParameters *string `min:"1" type:"string"`
9731
9732	// The maximum frequency with which AWS Config runs evaluations for a rule.
9733	// You can specify a value for MaximumExecutionFrequency when:
9734	//
9735	//    * You are using an AWS managed rule that is triggered at a periodic frequency.
9736	//
9737	//    * Your custom rule is triggered when AWS Config delivers the configuration
9738	//    snapshot. For more information, see ConfigSnapshotDeliveryProperties.
9739	//
9740	// By default, rules with a periodic trigger are evaluated every 24 hours. To
9741	// change the frequency, specify a valid value for the MaximumExecutionFrequency
9742	// parameter.
9743	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
9744
9745	// Defines which resources can trigger an evaluation for the rule. The scope
9746	// can include one or more resource types, a combination of one resource type
9747	// and one resource ID, or a combination of a tag key and value. Specify a scope
9748	// to constrain the resources that can trigger an evaluation for the rule. If
9749	// you do not specify a scope, evaluations are triggered when any resource in
9750	// the recording group changes.
9751	//
9752	// The scope can be empty.
9753	Scope *Scope `type:"structure"`
9754
9755	// Provides the rule owner (AWS or customer), the rule identifier, and the notifications
9756	// that cause the function to evaluate your AWS resources.
9757	//
9758	// Source is a required field
9759	Source *Source `type:"structure" required:"true"`
9760}
9761
9762// String returns the string representation
9763func (s ConfigRule) String() string {
9764	return awsutil.Prettify(s)
9765}
9766
9767// GoString returns the string representation
9768func (s ConfigRule) GoString() string {
9769	return s.String()
9770}
9771
9772// Validate inspects the fields of the type to determine if they are valid.
9773func (s *ConfigRule) Validate() error {
9774	invalidParams := request.ErrInvalidParams{Context: "ConfigRule"}
9775	if s.ConfigRuleArn != nil && len(*s.ConfigRuleArn) < 1 {
9776		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleArn", 1))
9777	}
9778	if s.ConfigRuleId != nil && len(*s.ConfigRuleId) < 1 {
9779		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleId", 1))
9780	}
9781	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
9782		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
9783	}
9784	if s.CreatedBy != nil && len(*s.CreatedBy) < 1 {
9785		invalidParams.Add(request.NewErrParamMinLen("CreatedBy", 1))
9786	}
9787	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
9788		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
9789	}
9790	if s.Source == nil {
9791		invalidParams.Add(request.NewErrParamRequired("Source"))
9792	}
9793	if s.Scope != nil {
9794		if err := s.Scope.Validate(); err != nil {
9795			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
9796		}
9797	}
9798	if s.Source != nil {
9799		if err := s.Source.Validate(); err != nil {
9800			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
9801		}
9802	}
9803
9804	if invalidParams.Len() > 0 {
9805		return invalidParams
9806	}
9807	return nil
9808}
9809
9810// SetConfigRuleArn sets the ConfigRuleArn field's value.
9811func (s *ConfigRule) SetConfigRuleArn(v string) *ConfigRule {
9812	s.ConfigRuleArn = &v
9813	return s
9814}
9815
9816// SetConfigRuleId sets the ConfigRuleId field's value.
9817func (s *ConfigRule) SetConfigRuleId(v string) *ConfigRule {
9818	s.ConfigRuleId = &v
9819	return s
9820}
9821
9822// SetConfigRuleName sets the ConfigRuleName field's value.
9823func (s *ConfigRule) SetConfigRuleName(v string) *ConfigRule {
9824	s.ConfigRuleName = &v
9825	return s
9826}
9827
9828// SetConfigRuleState sets the ConfigRuleState field's value.
9829func (s *ConfigRule) SetConfigRuleState(v string) *ConfigRule {
9830	s.ConfigRuleState = &v
9831	return s
9832}
9833
9834// SetCreatedBy sets the CreatedBy field's value.
9835func (s *ConfigRule) SetCreatedBy(v string) *ConfigRule {
9836	s.CreatedBy = &v
9837	return s
9838}
9839
9840// SetDescription sets the Description field's value.
9841func (s *ConfigRule) SetDescription(v string) *ConfigRule {
9842	s.Description = &v
9843	return s
9844}
9845
9846// SetInputParameters sets the InputParameters field's value.
9847func (s *ConfigRule) SetInputParameters(v string) *ConfigRule {
9848	s.InputParameters = &v
9849	return s
9850}
9851
9852// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
9853func (s *ConfigRule) SetMaximumExecutionFrequency(v string) *ConfigRule {
9854	s.MaximumExecutionFrequency = &v
9855	return s
9856}
9857
9858// SetScope sets the Scope field's value.
9859func (s *ConfigRule) SetScope(v *Scope) *ConfigRule {
9860	s.Scope = v
9861	return s
9862}
9863
9864// SetSource sets the Source field's value.
9865func (s *ConfigRule) SetSource(v *Source) *ConfigRule {
9866	s.Source = v
9867	return s
9868}
9869
9870// Filters the compliance results based on account ID, region, compliance type,
9871// and rule name.
9872type ConfigRuleComplianceFilters struct {
9873	_ struct{} `type:"structure"`
9874
9875	// The 12-digit account ID of the source account.
9876	AccountId *string `type:"string"`
9877
9878	// The source region where the data is aggregated.
9879	AwsRegion *string `min:"1" type:"string"`
9880
9881	// The rule compliance status.
9882	//
9883	// For the ConfigRuleComplianceFilters data type, AWS Config supports only COMPLIANT
9884	// and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and the
9885	// INSUFFICIENT_DATA values.
9886	ComplianceType *string `type:"string" enum:"ComplianceType"`
9887
9888	// The name of the AWS Config rule.
9889	ConfigRuleName *string `min:"1" type:"string"`
9890}
9891
9892// String returns the string representation
9893func (s ConfigRuleComplianceFilters) String() string {
9894	return awsutil.Prettify(s)
9895}
9896
9897// GoString returns the string representation
9898func (s ConfigRuleComplianceFilters) GoString() string {
9899	return s.String()
9900}
9901
9902// Validate inspects the fields of the type to determine if they are valid.
9903func (s *ConfigRuleComplianceFilters) Validate() error {
9904	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceFilters"}
9905	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
9906		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
9907	}
9908	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
9909		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
9910	}
9911
9912	if invalidParams.Len() > 0 {
9913		return invalidParams
9914	}
9915	return nil
9916}
9917
9918// SetAccountId sets the AccountId field's value.
9919func (s *ConfigRuleComplianceFilters) SetAccountId(v string) *ConfigRuleComplianceFilters {
9920	s.AccountId = &v
9921	return s
9922}
9923
9924// SetAwsRegion sets the AwsRegion field's value.
9925func (s *ConfigRuleComplianceFilters) SetAwsRegion(v string) *ConfigRuleComplianceFilters {
9926	s.AwsRegion = &v
9927	return s
9928}
9929
9930// SetComplianceType sets the ComplianceType field's value.
9931func (s *ConfigRuleComplianceFilters) SetComplianceType(v string) *ConfigRuleComplianceFilters {
9932	s.ComplianceType = &v
9933	return s
9934}
9935
9936// SetConfigRuleName sets the ConfigRuleName field's value.
9937func (s *ConfigRuleComplianceFilters) SetConfigRuleName(v string) *ConfigRuleComplianceFilters {
9938	s.ConfigRuleName = &v
9939	return s
9940}
9941
9942// Filters the results based on the account IDs and regions.
9943type ConfigRuleComplianceSummaryFilters struct {
9944	_ struct{} `type:"structure"`
9945
9946	// The 12-digit account ID of the source account.
9947	AccountId *string `type:"string"`
9948
9949	// The source region where the data is aggregated.
9950	AwsRegion *string `min:"1" type:"string"`
9951}
9952
9953// String returns the string representation
9954func (s ConfigRuleComplianceSummaryFilters) String() string {
9955	return awsutil.Prettify(s)
9956}
9957
9958// GoString returns the string representation
9959func (s ConfigRuleComplianceSummaryFilters) GoString() string {
9960	return s.String()
9961}
9962
9963// Validate inspects the fields of the type to determine if they are valid.
9964func (s *ConfigRuleComplianceSummaryFilters) Validate() error {
9965	invalidParams := request.ErrInvalidParams{Context: "ConfigRuleComplianceSummaryFilters"}
9966	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
9967		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
9968	}
9969
9970	if invalidParams.Len() > 0 {
9971		return invalidParams
9972	}
9973	return nil
9974}
9975
9976// SetAccountId sets the AccountId field's value.
9977func (s *ConfigRuleComplianceSummaryFilters) SetAccountId(v string) *ConfigRuleComplianceSummaryFilters {
9978	s.AccountId = &v
9979	return s
9980}
9981
9982// SetAwsRegion sets the AwsRegion field's value.
9983func (s *ConfigRuleComplianceSummaryFilters) SetAwsRegion(v string) *ConfigRuleComplianceSummaryFilters {
9984	s.AwsRegion = &v
9985	return s
9986}
9987
9988// Status information for your AWS managed Config rules. The status includes
9989// information such as the last time the rule ran, the last time it failed,
9990// and the related error for the last failure.
9991//
9992// This action does not return status information about custom AWS Config rules.
9993type ConfigRuleEvaluationStatus struct {
9994	_ struct{} `type:"structure"`
9995
9996	// The Amazon Resource Name (ARN) of the AWS Config rule.
9997	ConfigRuleArn *string `type:"string"`
9998
9999	// The ID of the AWS Config rule.
10000	ConfigRuleId *string `type:"string"`
10001
10002	// The name of the AWS Config rule.
10003	ConfigRuleName *string `min:"1" type:"string"`
10004
10005	// The time that you first activated the AWS Config rule.
10006	FirstActivatedTime *time.Time `type:"timestamp"`
10007
10008	// Indicates whether AWS Config has evaluated your resources against the rule
10009	// at least once.
10010	//
10011	//    * true - AWS Config has evaluated your AWS resources against the rule
10012	//    at least once.
10013	//
10014	//    * false - AWS Config has not once finished evaluating your AWS resources
10015	//    against the rule.
10016	FirstEvaluationStarted *bool `type:"boolean"`
10017
10018	// The time that you last turned off the AWS Config rule.
10019	LastDeactivatedTime *time.Time `type:"timestamp"`
10020
10021	// The error code that AWS Config returned when the rule last failed.
10022	LastErrorCode *string `type:"string"`
10023
10024	// The error message that AWS Config returned when the rule last failed.
10025	LastErrorMessage *string `type:"string"`
10026
10027	// The time that AWS Config last failed to evaluate your AWS resources against
10028	// the rule.
10029	LastFailedEvaluationTime *time.Time `type:"timestamp"`
10030
10031	// The time that AWS Config last failed to invoke the AWS Config rule to evaluate
10032	// your AWS resources.
10033	LastFailedInvocationTime *time.Time `type:"timestamp"`
10034
10035	// The time that AWS Config last successfully evaluated your AWS resources against
10036	// the rule.
10037	LastSuccessfulEvaluationTime *time.Time `type:"timestamp"`
10038
10039	// The time that AWS Config last successfully invoked the AWS Config rule to
10040	// evaluate your AWS resources.
10041	LastSuccessfulInvocationTime *time.Time `type:"timestamp"`
10042}
10043
10044// String returns the string representation
10045func (s ConfigRuleEvaluationStatus) String() string {
10046	return awsutil.Prettify(s)
10047}
10048
10049// GoString returns the string representation
10050func (s ConfigRuleEvaluationStatus) GoString() string {
10051	return s.String()
10052}
10053
10054// SetConfigRuleArn sets the ConfigRuleArn field's value.
10055func (s *ConfigRuleEvaluationStatus) SetConfigRuleArn(v string) *ConfigRuleEvaluationStatus {
10056	s.ConfigRuleArn = &v
10057	return s
10058}
10059
10060// SetConfigRuleId sets the ConfigRuleId field's value.
10061func (s *ConfigRuleEvaluationStatus) SetConfigRuleId(v string) *ConfigRuleEvaluationStatus {
10062	s.ConfigRuleId = &v
10063	return s
10064}
10065
10066// SetConfigRuleName sets the ConfigRuleName field's value.
10067func (s *ConfigRuleEvaluationStatus) SetConfigRuleName(v string) *ConfigRuleEvaluationStatus {
10068	s.ConfigRuleName = &v
10069	return s
10070}
10071
10072// SetFirstActivatedTime sets the FirstActivatedTime field's value.
10073func (s *ConfigRuleEvaluationStatus) SetFirstActivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
10074	s.FirstActivatedTime = &v
10075	return s
10076}
10077
10078// SetFirstEvaluationStarted sets the FirstEvaluationStarted field's value.
10079func (s *ConfigRuleEvaluationStatus) SetFirstEvaluationStarted(v bool) *ConfigRuleEvaluationStatus {
10080	s.FirstEvaluationStarted = &v
10081	return s
10082}
10083
10084// SetLastDeactivatedTime sets the LastDeactivatedTime field's value.
10085func (s *ConfigRuleEvaluationStatus) SetLastDeactivatedTime(v time.Time) *ConfigRuleEvaluationStatus {
10086	s.LastDeactivatedTime = &v
10087	return s
10088}
10089
10090// SetLastErrorCode sets the LastErrorCode field's value.
10091func (s *ConfigRuleEvaluationStatus) SetLastErrorCode(v string) *ConfigRuleEvaluationStatus {
10092	s.LastErrorCode = &v
10093	return s
10094}
10095
10096// SetLastErrorMessage sets the LastErrorMessage field's value.
10097func (s *ConfigRuleEvaluationStatus) SetLastErrorMessage(v string) *ConfigRuleEvaluationStatus {
10098	s.LastErrorMessage = &v
10099	return s
10100}
10101
10102// SetLastFailedEvaluationTime sets the LastFailedEvaluationTime field's value.
10103func (s *ConfigRuleEvaluationStatus) SetLastFailedEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
10104	s.LastFailedEvaluationTime = &v
10105	return s
10106}
10107
10108// SetLastFailedInvocationTime sets the LastFailedInvocationTime field's value.
10109func (s *ConfigRuleEvaluationStatus) SetLastFailedInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
10110	s.LastFailedInvocationTime = &v
10111	return s
10112}
10113
10114// SetLastSuccessfulEvaluationTime sets the LastSuccessfulEvaluationTime field's value.
10115func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulEvaluationTime(v time.Time) *ConfigRuleEvaluationStatus {
10116	s.LastSuccessfulEvaluationTime = &v
10117	return s
10118}
10119
10120// SetLastSuccessfulInvocationTime sets the LastSuccessfulInvocationTime field's value.
10121func (s *ConfigRuleEvaluationStatus) SetLastSuccessfulInvocationTime(v time.Time) *ConfigRuleEvaluationStatus {
10122	s.LastSuccessfulInvocationTime = &v
10123	return s
10124}
10125
10126// Provides options for how often AWS Config delivers configuration snapshots
10127// to the Amazon S3 bucket in your delivery channel.
10128//
10129// The frequency for a rule that triggers evaluations for your resources when
10130// AWS Config delivers the configuration snapshot is set by one of two values,
10131// depending on which is less frequent:
10132//
10133//    * The value for the deliveryFrequency parameter within the delivery channel
10134//    configuration, which sets how often AWS Config delivers configuration
10135//    snapshots. This value also sets how often AWS Config invokes evaluations
10136//    for AWS Config rules.
10137//
10138//    * The value for the MaximumExecutionFrequency parameter, which sets the
10139//    maximum frequency with which AWS Config invokes evaluations for the rule.
10140//    For more information, see ConfigRule.
10141//
10142// If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
10143// value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
10144// value.
10145//
10146// For example, you want your rule to run evaluations when AWS Config delivers
10147// the configuration snapshot.
10148//
10149// You specify the MaximumExecutionFrequency value for Six_Hours.
10150//
10151// You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
10152//
10153// Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
10154// AWS Config invokes evaluations for the rule every 24 hours.
10155//
10156// You should set the MaximumExecutionFrequency value to be at least as frequent
10157// as the deliveryFrequency value. You can view the deliveryFrequency value
10158// by using the DescribeDeliveryChannnels action.
10159//
10160// To update the deliveryFrequency with which AWS Config delivers your configuration
10161// snapshots, use the PutDeliveryChannel action.
10162type ConfigSnapshotDeliveryProperties struct {
10163	_ struct{} `type:"structure"`
10164
10165	// The frequency with which AWS Config delivers configuration snapshots.
10166	DeliveryFrequency *string `locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency"`
10167}
10168
10169// String returns the string representation
10170func (s ConfigSnapshotDeliveryProperties) String() string {
10171	return awsutil.Prettify(s)
10172}
10173
10174// GoString returns the string representation
10175func (s ConfigSnapshotDeliveryProperties) GoString() string {
10176	return s.String()
10177}
10178
10179// SetDeliveryFrequency sets the DeliveryFrequency field's value.
10180func (s *ConfigSnapshotDeliveryProperties) SetDeliveryFrequency(v string) *ConfigSnapshotDeliveryProperties {
10181	s.DeliveryFrequency = &v
10182	return s
10183}
10184
10185// A list that contains the status of the delivery of the configuration stream
10186// notification to the Amazon SNS topic.
10187type ConfigStreamDeliveryInfo struct {
10188	_ struct{} `type:"structure"`
10189
10190	// The error code from the last attempted delivery.
10191	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
10192
10193	// The error message from the last attempted delivery.
10194	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
10195
10196	// Status of the last attempted delivery.
10197	//
10198	// Note Providing an SNS topic on a DeliveryChannel (https://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
10199	// for AWS Config is optional. If the SNS delivery is turned off, the last status
10200	// will be Not_Applicable.
10201	LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
10202
10203	// The time from the last status change.
10204	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
10205}
10206
10207// String returns the string representation
10208func (s ConfigStreamDeliveryInfo) String() string {
10209	return awsutil.Prettify(s)
10210}
10211
10212// GoString returns the string representation
10213func (s ConfigStreamDeliveryInfo) GoString() string {
10214	return s.String()
10215}
10216
10217// SetLastErrorCode sets the LastErrorCode field's value.
10218func (s *ConfigStreamDeliveryInfo) SetLastErrorCode(v string) *ConfigStreamDeliveryInfo {
10219	s.LastErrorCode = &v
10220	return s
10221}
10222
10223// SetLastErrorMessage sets the LastErrorMessage field's value.
10224func (s *ConfigStreamDeliveryInfo) SetLastErrorMessage(v string) *ConfigStreamDeliveryInfo {
10225	s.LastErrorMessage = &v
10226	return s
10227}
10228
10229// SetLastStatus sets the LastStatus field's value.
10230func (s *ConfigStreamDeliveryInfo) SetLastStatus(v string) *ConfigStreamDeliveryInfo {
10231	s.LastStatus = &v
10232	return s
10233}
10234
10235// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
10236func (s *ConfigStreamDeliveryInfo) SetLastStatusChangeTime(v time.Time) *ConfigStreamDeliveryInfo {
10237	s.LastStatusChangeTime = &v
10238	return s
10239}
10240
10241// The details about the configuration aggregator, including information about
10242// source accounts, regions, and metadata of the aggregator.
10243type ConfigurationAggregator struct {
10244	_ struct{} `type:"structure"`
10245
10246	// Provides a list of source accounts and regions to be aggregated.
10247	AccountAggregationSources []*AccountAggregationSource `type:"list"`
10248
10249	// The Amazon Resource Name (ARN) of the aggregator.
10250	ConfigurationAggregatorArn *string `type:"string"`
10251
10252	// The name of the aggregator.
10253	ConfigurationAggregatorName *string `min:"1" type:"string"`
10254
10255	// AWS service that created the configuration aggregator.
10256	CreatedBy *string `min:"1" type:"string"`
10257
10258	// The time stamp when the configuration aggregator was created.
10259	CreationTime *time.Time `type:"timestamp"`
10260
10261	// The time of the last update.
10262	LastUpdatedTime *time.Time `type:"timestamp"`
10263
10264	// Provides an organization and list of regions to be aggregated.
10265	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
10266}
10267
10268// String returns the string representation
10269func (s ConfigurationAggregator) String() string {
10270	return awsutil.Prettify(s)
10271}
10272
10273// GoString returns the string representation
10274func (s ConfigurationAggregator) GoString() string {
10275	return s.String()
10276}
10277
10278// SetAccountAggregationSources sets the AccountAggregationSources field's value.
10279func (s *ConfigurationAggregator) SetAccountAggregationSources(v []*AccountAggregationSource) *ConfigurationAggregator {
10280	s.AccountAggregationSources = v
10281	return s
10282}
10283
10284// SetConfigurationAggregatorArn sets the ConfigurationAggregatorArn field's value.
10285func (s *ConfigurationAggregator) SetConfigurationAggregatorArn(v string) *ConfigurationAggregator {
10286	s.ConfigurationAggregatorArn = &v
10287	return s
10288}
10289
10290// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
10291func (s *ConfigurationAggregator) SetConfigurationAggregatorName(v string) *ConfigurationAggregator {
10292	s.ConfigurationAggregatorName = &v
10293	return s
10294}
10295
10296// SetCreatedBy sets the CreatedBy field's value.
10297func (s *ConfigurationAggregator) SetCreatedBy(v string) *ConfigurationAggregator {
10298	s.CreatedBy = &v
10299	return s
10300}
10301
10302// SetCreationTime sets the CreationTime field's value.
10303func (s *ConfigurationAggregator) SetCreationTime(v time.Time) *ConfigurationAggregator {
10304	s.CreationTime = &v
10305	return s
10306}
10307
10308// SetLastUpdatedTime sets the LastUpdatedTime field's value.
10309func (s *ConfigurationAggregator) SetLastUpdatedTime(v time.Time) *ConfigurationAggregator {
10310	s.LastUpdatedTime = &v
10311	return s
10312}
10313
10314// SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
10315func (s *ConfigurationAggregator) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *ConfigurationAggregator {
10316	s.OrganizationAggregationSource = v
10317	return s
10318}
10319
10320// A list that contains detailed configurations of a specified resource.
10321type ConfigurationItem struct {
10322	_ struct{} `type:"structure"`
10323
10324	// The 12-digit AWS account ID associated with the resource.
10325	AccountId *string `locationName:"accountId" type:"string"`
10326
10327	// accoun
10328	Arn *string `locationName:"arn" type:"string"`
10329
10330	// The Availability Zone associated with the resource.
10331	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
10332
10333	// The region where the resource resides.
10334	AwsRegion *string `locationName:"awsRegion" min:"1" type:"string"`
10335
10336	// The description of the resource configuration.
10337	Configuration *string `locationName:"configuration" type:"string"`
10338
10339	// The time when the configuration recording was initiated.
10340	ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"`
10341
10342	// Unique MD5 hash that represents the configuration item's state.
10343	//
10344	// You can use MD5 hash to compare the states of two or more configuration items
10345	// that are associated with the same resource.
10346	ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"`
10347
10348	// The configuration item status. The valid values are:
10349	//
10350	//    * OK – The resource configuration has been updated
10351	//
10352	//    * ResourceDiscovered – The resource was newly discovered
10353	//
10354	//    * ResourceNotRecorded – The resource was discovered but its configuration
10355	//    was not recorded since the recorder excludes the recording of resources
10356	//    of this type
10357	//
10358	//    * ResourceDeleted – The resource was deleted
10359	//
10360	//    * ResourceDeletedNotRecorded – The resource was deleted but its configuration
10361	//    was not recorded since the recorder excludes the recording of resources
10362	//    of this type
10363	//
10364	// The CIs do not incur any cost.
10365	ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
10366
10367	// An identifier that indicates the ordering of the configuration items of a
10368	// resource.
10369	ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
10370
10371	// A list of CloudTrail event IDs.
10372	//
10373	// A populated field indicates that the current configuration was initiated
10374	// by the events recorded in the CloudTrail log. For more information about
10375	// CloudTrail, see What Is AWS CloudTrail (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
10376	//
10377	// An empty field indicates that the current configuration was not initiated
10378	// by any event. As of Version 1.3, the relatedEvents field is empty. You can
10379	// access the LookupEvents API (https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html)
10380	// in the AWS CloudTrail API Reference to retrieve the events for the resource.
10381	RelatedEvents []*string `locationName:"relatedEvents" type:"list"`
10382
10383	// A list of related AWS resources.
10384	Relationships []*Relationship `locationName:"relationships" type:"list"`
10385
10386	// The time stamp when the resource was created.
10387	ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp"`
10388
10389	// The ID of the resource (for example, sg-xxxxxx).
10390	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
10391
10392	// The custom name of the resource, if available.
10393	ResourceName *string `locationName:"resourceName" type:"string"`
10394
10395	// The type of AWS resource.
10396	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
10397
10398	// Configuration attributes that AWS Config returns for certain resource types
10399	// to supplement the information returned for the configuration parameter.
10400	SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
10401
10402	// A mapping of key value tags associated with the resource.
10403	Tags map[string]*string `locationName:"tags" type:"map"`
10404
10405	// The version number of the resource configuration.
10406	Version *string `locationName:"version" type:"string"`
10407}
10408
10409// String returns the string representation
10410func (s ConfigurationItem) String() string {
10411	return awsutil.Prettify(s)
10412}
10413
10414// GoString returns the string representation
10415func (s ConfigurationItem) GoString() string {
10416	return s.String()
10417}
10418
10419// SetAccountId sets the AccountId field's value.
10420func (s *ConfigurationItem) SetAccountId(v string) *ConfigurationItem {
10421	s.AccountId = &v
10422	return s
10423}
10424
10425// SetArn sets the Arn field's value.
10426func (s *ConfigurationItem) SetArn(v string) *ConfigurationItem {
10427	s.Arn = &v
10428	return s
10429}
10430
10431// SetAvailabilityZone sets the AvailabilityZone field's value.
10432func (s *ConfigurationItem) SetAvailabilityZone(v string) *ConfigurationItem {
10433	s.AvailabilityZone = &v
10434	return s
10435}
10436
10437// SetAwsRegion sets the AwsRegion field's value.
10438func (s *ConfigurationItem) SetAwsRegion(v string) *ConfigurationItem {
10439	s.AwsRegion = &v
10440	return s
10441}
10442
10443// SetConfiguration sets the Configuration field's value.
10444func (s *ConfigurationItem) SetConfiguration(v string) *ConfigurationItem {
10445	s.Configuration = &v
10446	return s
10447}
10448
10449// SetConfigurationItemCaptureTime sets the ConfigurationItemCaptureTime field's value.
10450func (s *ConfigurationItem) SetConfigurationItemCaptureTime(v time.Time) *ConfigurationItem {
10451	s.ConfigurationItemCaptureTime = &v
10452	return s
10453}
10454
10455// SetConfigurationItemMD5Hash sets the ConfigurationItemMD5Hash field's value.
10456func (s *ConfigurationItem) SetConfigurationItemMD5Hash(v string) *ConfigurationItem {
10457	s.ConfigurationItemMD5Hash = &v
10458	return s
10459}
10460
10461// SetConfigurationItemStatus sets the ConfigurationItemStatus field's value.
10462func (s *ConfigurationItem) SetConfigurationItemStatus(v string) *ConfigurationItem {
10463	s.ConfigurationItemStatus = &v
10464	return s
10465}
10466
10467// SetConfigurationStateId sets the ConfigurationStateId field's value.
10468func (s *ConfigurationItem) SetConfigurationStateId(v string) *ConfigurationItem {
10469	s.ConfigurationStateId = &v
10470	return s
10471}
10472
10473// SetRelatedEvents sets the RelatedEvents field's value.
10474func (s *ConfigurationItem) SetRelatedEvents(v []*string) *ConfigurationItem {
10475	s.RelatedEvents = v
10476	return s
10477}
10478
10479// SetRelationships sets the Relationships field's value.
10480func (s *ConfigurationItem) SetRelationships(v []*Relationship) *ConfigurationItem {
10481	s.Relationships = v
10482	return s
10483}
10484
10485// SetResourceCreationTime sets the ResourceCreationTime field's value.
10486func (s *ConfigurationItem) SetResourceCreationTime(v time.Time) *ConfigurationItem {
10487	s.ResourceCreationTime = &v
10488	return s
10489}
10490
10491// SetResourceId sets the ResourceId field's value.
10492func (s *ConfigurationItem) SetResourceId(v string) *ConfigurationItem {
10493	s.ResourceId = &v
10494	return s
10495}
10496
10497// SetResourceName sets the ResourceName field's value.
10498func (s *ConfigurationItem) SetResourceName(v string) *ConfigurationItem {
10499	s.ResourceName = &v
10500	return s
10501}
10502
10503// SetResourceType sets the ResourceType field's value.
10504func (s *ConfigurationItem) SetResourceType(v string) *ConfigurationItem {
10505	s.ResourceType = &v
10506	return s
10507}
10508
10509// SetSupplementaryConfiguration sets the SupplementaryConfiguration field's value.
10510func (s *ConfigurationItem) SetSupplementaryConfiguration(v map[string]*string) *ConfigurationItem {
10511	s.SupplementaryConfiguration = v
10512	return s
10513}
10514
10515// SetTags sets the Tags field's value.
10516func (s *ConfigurationItem) SetTags(v map[string]*string) *ConfigurationItem {
10517	s.Tags = v
10518	return s
10519}
10520
10521// SetVersion sets the Version field's value.
10522func (s *ConfigurationItem) SetVersion(v string) *ConfigurationItem {
10523	s.Version = &v
10524	return s
10525}
10526
10527// An object that represents the recording of configuration changes of an AWS
10528// resource.
10529type ConfigurationRecorder struct {
10530	_ struct{} `type:"structure"`
10531
10532	// The name of the recorder. By default, AWS Config automatically assigns the
10533	// name "default" when creating the configuration recorder. You cannot change
10534	// the assigned name.
10535	Name *string `locationName:"name" min:"1" type:"string"`
10536
10537	// Specifies the types of AWS resources for which AWS Config records configuration
10538	// changes.
10539	RecordingGroup *RecordingGroup `locationName:"recordingGroup" type:"structure"`
10540
10541	// Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources
10542	// associated with the account.
10543	RoleARN *string `locationName:"roleARN" type:"string"`
10544}
10545
10546// String returns the string representation
10547func (s ConfigurationRecorder) String() string {
10548	return awsutil.Prettify(s)
10549}
10550
10551// GoString returns the string representation
10552func (s ConfigurationRecorder) GoString() string {
10553	return s.String()
10554}
10555
10556// Validate inspects the fields of the type to determine if they are valid.
10557func (s *ConfigurationRecorder) Validate() error {
10558	invalidParams := request.ErrInvalidParams{Context: "ConfigurationRecorder"}
10559	if s.Name != nil && len(*s.Name) < 1 {
10560		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10561	}
10562
10563	if invalidParams.Len() > 0 {
10564		return invalidParams
10565	}
10566	return nil
10567}
10568
10569// SetName sets the Name field's value.
10570func (s *ConfigurationRecorder) SetName(v string) *ConfigurationRecorder {
10571	s.Name = &v
10572	return s
10573}
10574
10575// SetRecordingGroup sets the RecordingGroup field's value.
10576func (s *ConfigurationRecorder) SetRecordingGroup(v *RecordingGroup) *ConfigurationRecorder {
10577	s.RecordingGroup = v
10578	return s
10579}
10580
10581// SetRoleARN sets the RoleARN field's value.
10582func (s *ConfigurationRecorder) SetRoleARN(v string) *ConfigurationRecorder {
10583	s.RoleARN = &v
10584	return s
10585}
10586
10587// The current status of the configuration recorder.
10588type ConfigurationRecorderStatus struct {
10589	_ struct{} `type:"structure"`
10590
10591	// The error code indicating that the recording failed.
10592	LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
10593
10594	// The message indicating that the recording failed due to an error.
10595	LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
10596
10597	// The time the recorder was last started.
10598	LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"`
10599
10600	// The last (previous) status of the recorder.
10601	LastStatus *string `locationName:"lastStatus" type:"string" enum:"RecorderStatus"`
10602
10603	// The time when the status was last changed.
10604	LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp"`
10605
10606	// The time the recorder was last stopped.
10607	LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp"`
10608
10609	// The name of the configuration recorder.
10610	Name *string `locationName:"name" type:"string"`
10611
10612	// Specifies whether or not the recorder is currently recording.
10613	Recording *bool `locationName:"recording" type:"boolean"`
10614}
10615
10616// String returns the string representation
10617func (s ConfigurationRecorderStatus) String() string {
10618	return awsutil.Prettify(s)
10619}
10620
10621// GoString returns the string representation
10622func (s ConfigurationRecorderStatus) GoString() string {
10623	return s.String()
10624}
10625
10626// SetLastErrorCode sets the LastErrorCode field's value.
10627func (s *ConfigurationRecorderStatus) SetLastErrorCode(v string) *ConfigurationRecorderStatus {
10628	s.LastErrorCode = &v
10629	return s
10630}
10631
10632// SetLastErrorMessage sets the LastErrorMessage field's value.
10633func (s *ConfigurationRecorderStatus) SetLastErrorMessage(v string) *ConfigurationRecorderStatus {
10634	s.LastErrorMessage = &v
10635	return s
10636}
10637
10638// SetLastStartTime sets the LastStartTime field's value.
10639func (s *ConfigurationRecorderStatus) SetLastStartTime(v time.Time) *ConfigurationRecorderStatus {
10640	s.LastStartTime = &v
10641	return s
10642}
10643
10644// SetLastStatus sets the LastStatus field's value.
10645func (s *ConfigurationRecorderStatus) SetLastStatus(v string) *ConfigurationRecorderStatus {
10646	s.LastStatus = &v
10647	return s
10648}
10649
10650// SetLastStatusChangeTime sets the LastStatusChangeTime field's value.
10651func (s *ConfigurationRecorderStatus) SetLastStatusChangeTime(v time.Time) *ConfigurationRecorderStatus {
10652	s.LastStatusChangeTime = &v
10653	return s
10654}
10655
10656// SetLastStopTime sets the LastStopTime field's value.
10657func (s *ConfigurationRecorderStatus) SetLastStopTime(v time.Time) *ConfigurationRecorderStatus {
10658	s.LastStopTime = &v
10659	return s
10660}
10661
10662// SetName sets the Name field's value.
10663func (s *ConfigurationRecorderStatus) SetName(v string) *ConfigurationRecorderStatus {
10664	s.Name = &v
10665	return s
10666}
10667
10668// SetRecording sets the Recording field's value.
10669func (s *ConfigurationRecorderStatus) SetRecording(v bool) *ConfigurationRecorderStatus {
10670	s.Recording = &v
10671	return s
10672}
10673
10674// Filters the conformance pack by compliance types and AWS Config rule names.
10675type ConformancePackComplianceFilters struct {
10676	_ struct{} `type:"structure"`
10677
10678	// Filters the results by compliance.
10679	//
10680	// The allowed values are COMPLIANT and NON_COMPLIANT.
10681	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
10682
10683	// Filters the results by AWS Config rule names.
10684	ConfigRuleNames []*string `type:"list"`
10685}
10686
10687// String returns the string representation
10688func (s ConformancePackComplianceFilters) String() string {
10689	return awsutil.Prettify(s)
10690}
10691
10692// GoString returns the string representation
10693func (s ConformancePackComplianceFilters) GoString() string {
10694	return s.String()
10695}
10696
10697// SetComplianceType sets the ComplianceType field's value.
10698func (s *ConformancePackComplianceFilters) SetComplianceType(v string) *ConformancePackComplianceFilters {
10699	s.ComplianceType = &v
10700	return s
10701}
10702
10703// SetConfigRuleNames sets the ConfigRuleNames field's value.
10704func (s *ConformancePackComplianceFilters) SetConfigRuleNames(v []*string) *ConformancePackComplianceFilters {
10705	s.ConfigRuleNames = v
10706	return s
10707}
10708
10709// Summary includes the name and status of the conformance pack.
10710type ConformancePackComplianceSummary struct {
10711	_ struct{} `type:"structure"`
10712
10713	// The status of the conformance pack. The allowed values are COMPLIANT and
10714	// NON_COMPLIANT.
10715	//
10716	// ConformancePackComplianceStatus is a required field
10717	ConformancePackComplianceStatus *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
10718
10719	// The name of the conformance pack name.
10720	//
10721	// ConformancePackName is a required field
10722	ConformancePackName *string `min:"1" type:"string" required:"true"`
10723}
10724
10725// String returns the string representation
10726func (s ConformancePackComplianceSummary) String() string {
10727	return awsutil.Prettify(s)
10728}
10729
10730// GoString returns the string representation
10731func (s ConformancePackComplianceSummary) GoString() string {
10732	return s.String()
10733}
10734
10735// SetConformancePackComplianceStatus sets the ConformancePackComplianceStatus field's value.
10736func (s *ConformancePackComplianceSummary) SetConformancePackComplianceStatus(v string) *ConformancePackComplianceSummary {
10737	s.ConformancePackComplianceStatus = &v
10738	return s
10739}
10740
10741// SetConformancePackName sets the ConformancePackName field's value.
10742func (s *ConformancePackComplianceSummary) SetConformancePackName(v string) *ConformancePackComplianceSummary {
10743	s.ConformancePackName = &v
10744	return s
10745}
10746
10747// Returns details of a conformance pack. A conformance pack is a collection
10748// of AWS Config rules and remediation actions that can be easily deployed in
10749// an account and a region.
10750type ConformancePackDetail struct {
10751	_ struct{} `type:"structure"`
10752
10753	// Amazon Resource Name (ARN) of the conformance pack.
10754	//
10755	// ConformancePackArn is a required field
10756	ConformancePackArn *string `min:"1" type:"string" required:"true"`
10757
10758	// ID of the conformance pack.
10759	//
10760	// ConformancePackId is a required field
10761	ConformancePackId *string `min:"1" type:"string" required:"true"`
10762
10763	// A list of ConformancePackInputParameter objects.
10764	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
10765
10766	// Name of the conformance pack.
10767	//
10768	// ConformancePackName is a required field
10769	ConformancePackName *string `min:"1" type:"string" required:"true"`
10770
10771	// AWS service that created the conformance pack.
10772	CreatedBy *string `min:"1" type:"string"`
10773
10774	// Conformance pack template that is used to create a pack. The delivery bucket
10775	// name should start with awsconfigconforms. For example: "Resource": "arn:aws:s3:::your_bucket_name/*".
10776	DeliveryS3Bucket *string `type:"string"`
10777
10778	// The prefix for the Amazon S3 bucket.
10779	DeliveryS3KeyPrefix *string `type:"string"`
10780
10781	// Last time when conformation pack update was requested.
10782	LastUpdateRequestedTime *time.Time `type:"timestamp"`
10783}
10784
10785// String returns the string representation
10786func (s ConformancePackDetail) String() string {
10787	return awsutil.Prettify(s)
10788}
10789
10790// GoString returns the string representation
10791func (s ConformancePackDetail) GoString() string {
10792	return s.String()
10793}
10794
10795// SetConformancePackArn sets the ConformancePackArn field's value.
10796func (s *ConformancePackDetail) SetConformancePackArn(v string) *ConformancePackDetail {
10797	s.ConformancePackArn = &v
10798	return s
10799}
10800
10801// SetConformancePackId sets the ConformancePackId field's value.
10802func (s *ConformancePackDetail) SetConformancePackId(v string) *ConformancePackDetail {
10803	s.ConformancePackId = &v
10804	return s
10805}
10806
10807// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
10808func (s *ConformancePackDetail) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *ConformancePackDetail {
10809	s.ConformancePackInputParameters = v
10810	return s
10811}
10812
10813// SetConformancePackName sets the ConformancePackName field's value.
10814func (s *ConformancePackDetail) SetConformancePackName(v string) *ConformancePackDetail {
10815	s.ConformancePackName = &v
10816	return s
10817}
10818
10819// SetCreatedBy sets the CreatedBy field's value.
10820func (s *ConformancePackDetail) SetCreatedBy(v string) *ConformancePackDetail {
10821	s.CreatedBy = &v
10822	return s
10823}
10824
10825// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
10826func (s *ConformancePackDetail) SetDeliveryS3Bucket(v string) *ConformancePackDetail {
10827	s.DeliveryS3Bucket = &v
10828	return s
10829}
10830
10831// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
10832func (s *ConformancePackDetail) SetDeliveryS3KeyPrefix(v string) *ConformancePackDetail {
10833	s.DeliveryS3KeyPrefix = &v
10834	return s
10835}
10836
10837// SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
10838func (s *ConformancePackDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackDetail {
10839	s.LastUpdateRequestedTime = &v
10840	return s
10841}
10842
10843// Filters a conformance pack by AWS Config rule names, compliance types, AWS
10844// resource types, and resource IDs.
10845type ConformancePackEvaluationFilters struct {
10846	_ struct{} `type:"structure"`
10847
10848	// Filters the results by compliance.
10849	//
10850	// The allowed values are COMPLIANT and NON_COMPLIANT.
10851	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
10852
10853	// Filters the results by AWS Config rule names.
10854	ConfigRuleNames []*string `type:"list"`
10855
10856	// Filters the results by resource IDs.
10857	//
10858	// This is valid only when you provide resource type. If there is no resource
10859	// type, you will see an error.
10860	ResourceIds []*string `type:"list"`
10861
10862	// Filters the results by the resource type (for example, "AWS::EC2::Instance").
10863	ResourceType *string `min:"1" type:"string"`
10864}
10865
10866// String returns the string representation
10867func (s ConformancePackEvaluationFilters) String() string {
10868	return awsutil.Prettify(s)
10869}
10870
10871// GoString returns the string representation
10872func (s ConformancePackEvaluationFilters) GoString() string {
10873	return s.String()
10874}
10875
10876// Validate inspects the fields of the type to determine if they are valid.
10877func (s *ConformancePackEvaluationFilters) Validate() error {
10878	invalidParams := request.ErrInvalidParams{Context: "ConformancePackEvaluationFilters"}
10879	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
10880		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
10881	}
10882
10883	if invalidParams.Len() > 0 {
10884		return invalidParams
10885	}
10886	return nil
10887}
10888
10889// SetComplianceType sets the ComplianceType field's value.
10890func (s *ConformancePackEvaluationFilters) SetComplianceType(v string) *ConformancePackEvaluationFilters {
10891	s.ComplianceType = &v
10892	return s
10893}
10894
10895// SetConfigRuleNames sets the ConfigRuleNames field's value.
10896func (s *ConformancePackEvaluationFilters) SetConfigRuleNames(v []*string) *ConformancePackEvaluationFilters {
10897	s.ConfigRuleNames = v
10898	return s
10899}
10900
10901// SetResourceIds sets the ResourceIds field's value.
10902func (s *ConformancePackEvaluationFilters) SetResourceIds(v []*string) *ConformancePackEvaluationFilters {
10903	s.ResourceIds = v
10904	return s
10905}
10906
10907// SetResourceType sets the ResourceType field's value.
10908func (s *ConformancePackEvaluationFilters) SetResourceType(v string) *ConformancePackEvaluationFilters {
10909	s.ResourceType = &v
10910	return s
10911}
10912
10913// The details of a conformance pack evaluation. Provides AWS Config rule and
10914// AWS resource type that was evaluated, the compliance of the conformance pack,
10915// related time stamps, and supplementary information.
10916type ConformancePackEvaluationResult struct {
10917	_ struct{} `type:"structure"`
10918
10919	// Supplementary information about how the evaluation determined the compliance.
10920	Annotation *string `type:"string"`
10921
10922	// The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT.
10923	//
10924	// ComplianceType is a required field
10925	ComplianceType *string `type:"string" required:"true" enum:"ConformancePackComplianceType"`
10926
10927	// The time when AWS Config rule evaluated AWS resource.
10928	//
10929	// ConfigRuleInvokedTime is a required field
10930	ConfigRuleInvokedTime *time.Time `type:"timestamp" required:"true"`
10931
10932	// Uniquely identifies an evaluation result.
10933	//
10934	// EvaluationResultIdentifier is a required field
10935	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure" required:"true"`
10936
10937	// The time when AWS Config recorded the evaluation result.
10938	//
10939	// ResultRecordedTime is a required field
10940	ResultRecordedTime *time.Time `type:"timestamp" required:"true"`
10941}
10942
10943// String returns the string representation
10944func (s ConformancePackEvaluationResult) String() string {
10945	return awsutil.Prettify(s)
10946}
10947
10948// GoString returns the string representation
10949func (s ConformancePackEvaluationResult) GoString() string {
10950	return s.String()
10951}
10952
10953// SetAnnotation sets the Annotation field's value.
10954func (s *ConformancePackEvaluationResult) SetAnnotation(v string) *ConformancePackEvaluationResult {
10955	s.Annotation = &v
10956	return s
10957}
10958
10959// SetComplianceType sets the ComplianceType field's value.
10960func (s *ConformancePackEvaluationResult) SetComplianceType(v string) *ConformancePackEvaluationResult {
10961	s.ComplianceType = &v
10962	return s
10963}
10964
10965// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
10966func (s *ConformancePackEvaluationResult) SetConfigRuleInvokedTime(v time.Time) *ConformancePackEvaluationResult {
10967	s.ConfigRuleInvokedTime = &v
10968	return s
10969}
10970
10971// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
10972func (s *ConformancePackEvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *ConformancePackEvaluationResult {
10973	s.EvaluationResultIdentifier = v
10974	return s
10975}
10976
10977// SetResultRecordedTime sets the ResultRecordedTime field's value.
10978func (s *ConformancePackEvaluationResult) SetResultRecordedTime(v time.Time) *ConformancePackEvaluationResult {
10979	s.ResultRecordedTime = &v
10980	return s
10981}
10982
10983// Input parameters in the form of key-value pairs for the conformance pack,
10984// both of which you define. Keys can have a maximum character length of 255
10985// characters, and values can have a maximum length of 4096 characters.
10986type ConformancePackInputParameter struct {
10987	_ struct{} `type:"structure"`
10988
10989	// One part of a key-value pair.
10990	//
10991	// ParameterName is a required field
10992	ParameterName *string `type:"string" required:"true"`
10993
10994	// Another part of the key-value pair.
10995	//
10996	// ParameterValue is a required field
10997	ParameterValue *string `type:"string" required:"true"`
10998}
10999
11000// String returns the string representation
11001func (s ConformancePackInputParameter) String() string {
11002	return awsutil.Prettify(s)
11003}
11004
11005// GoString returns the string representation
11006func (s ConformancePackInputParameter) GoString() string {
11007	return s.String()
11008}
11009
11010// Validate inspects the fields of the type to determine if they are valid.
11011func (s *ConformancePackInputParameter) Validate() error {
11012	invalidParams := request.ErrInvalidParams{Context: "ConformancePackInputParameter"}
11013	if s.ParameterName == nil {
11014		invalidParams.Add(request.NewErrParamRequired("ParameterName"))
11015	}
11016	if s.ParameterValue == nil {
11017		invalidParams.Add(request.NewErrParamRequired("ParameterValue"))
11018	}
11019
11020	if invalidParams.Len() > 0 {
11021		return invalidParams
11022	}
11023	return nil
11024}
11025
11026// SetParameterName sets the ParameterName field's value.
11027func (s *ConformancePackInputParameter) SetParameterName(v string) *ConformancePackInputParameter {
11028	s.ParameterName = &v
11029	return s
11030}
11031
11032// SetParameterValue sets the ParameterValue field's value.
11033func (s *ConformancePackInputParameter) SetParameterValue(v string) *ConformancePackInputParameter {
11034	s.ParameterValue = &v
11035	return s
11036}
11037
11038// Compliance information of one or more AWS Config rules within a conformance
11039// pack. You can filter using AWS Config rule names and compliance types.
11040type ConformancePackRuleCompliance struct {
11041	_ struct{} `type:"structure"`
11042
11043	// Compliance of the AWS Config rule
11044	//
11045	// The allowed values are COMPLIANT and NON_COMPLIANT.
11046	ComplianceType *string `type:"string" enum:"ConformancePackComplianceType"`
11047
11048	// Name of the config rule.
11049	ConfigRuleName *string `min:"1" type:"string"`
11050}
11051
11052// String returns the string representation
11053func (s ConformancePackRuleCompliance) String() string {
11054	return awsutil.Prettify(s)
11055}
11056
11057// GoString returns the string representation
11058func (s ConformancePackRuleCompliance) GoString() string {
11059	return s.String()
11060}
11061
11062// SetComplianceType sets the ComplianceType field's value.
11063func (s *ConformancePackRuleCompliance) SetComplianceType(v string) *ConformancePackRuleCompliance {
11064	s.ComplianceType = &v
11065	return s
11066}
11067
11068// SetConfigRuleName sets the ConfigRuleName field's value.
11069func (s *ConformancePackRuleCompliance) SetConfigRuleName(v string) *ConformancePackRuleCompliance {
11070	s.ConfigRuleName = &v
11071	return s
11072}
11073
11074// Status details of a conformance pack.
11075type ConformancePackStatusDetail struct {
11076	_ struct{} `type:"structure"`
11077
11078	// Amazon Resource Name (ARN) of comformance pack.
11079	//
11080	// ConformancePackArn is a required field
11081	ConformancePackArn *string `min:"1" type:"string" required:"true"`
11082
11083	// ID of the conformance pack.
11084	//
11085	// ConformancePackId is a required field
11086	ConformancePackId *string `min:"1" type:"string" required:"true"`
11087
11088	// Name of the conformance pack.
11089	//
11090	// ConformancePackName is a required field
11091	ConformancePackName *string `min:"1" type:"string" required:"true"`
11092
11093	// Indicates deployment status of conformance pack.
11094	//
11095	// AWS Config sets the state of the conformance pack to:
11096	//
11097	//    * CREATE_IN_PROGRESS when a conformance pack creation is in progress for
11098	//    an account.
11099	//
11100	//    * CREATE_COMPLETE when a conformance pack has been successfully created
11101	//    in your account.
11102	//
11103	//    * CREATE_FAILED when a conformance pack creation failed in your account.
11104	//
11105	//    * DELETE_IN_PROGRESS when a conformance pack deletion is in progress.
11106	//
11107	//    * DELETE_FAILED when a conformance pack deletion failed in your account.
11108	//
11109	// ConformancePackState is a required field
11110	ConformancePackState *string `type:"string" required:"true" enum:"ConformancePackState"`
11111
11112	// The reason of conformance pack creation failure.
11113	ConformancePackStatusReason *string `type:"string"`
11114
11115	// Last time when conformation pack creation and update was successful.
11116	LastUpdateCompletedTime *time.Time `type:"timestamp"`
11117
11118	// Last time when conformation pack creation and update was requested.
11119	//
11120	// LastUpdateRequestedTime is a required field
11121	LastUpdateRequestedTime *time.Time `type:"timestamp" required:"true"`
11122
11123	// Amazon Resource Name (ARN) of AWS CloudFormation stack.
11124	//
11125	// StackArn is a required field
11126	StackArn *string `min:"1" type:"string" required:"true"`
11127}
11128
11129// String returns the string representation
11130func (s ConformancePackStatusDetail) String() string {
11131	return awsutil.Prettify(s)
11132}
11133
11134// GoString returns the string representation
11135func (s ConformancePackStatusDetail) GoString() string {
11136	return s.String()
11137}
11138
11139// SetConformancePackArn sets the ConformancePackArn field's value.
11140func (s *ConformancePackStatusDetail) SetConformancePackArn(v string) *ConformancePackStatusDetail {
11141	s.ConformancePackArn = &v
11142	return s
11143}
11144
11145// SetConformancePackId sets the ConformancePackId field's value.
11146func (s *ConformancePackStatusDetail) SetConformancePackId(v string) *ConformancePackStatusDetail {
11147	s.ConformancePackId = &v
11148	return s
11149}
11150
11151// SetConformancePackName sets the ConformancePackName field's value.
11152func (s *ConformancePackStatusDetail) SetConformancePackName(v string) *ConformancePackStatusDetail {
11153	s.ConformancePackName = &v
11154	return s
11155}
11156
11157// SetConformancePackState sets the ConformancePackState field's value.
11158func (s *ConformancePackStatusDetail) SetConformancePackState(v string) *ConformancePackStatusDetail {
11159	s.ConformancePackState = &v
11160	return s
11161}
11162
11163// SetConformancePackStatusReason sets the ConformancePackStatusReason field's value.
11164func (s *ConformancePackStatusDetail) SetConformancePackStatusReason(v string) *ConformancePackStatusDetail {
11165	s.ConformancePackStatusReason = &v
11166	return s
11167}
11168
11169// SetLastUpdateCompletedTime sets the LastUpdateCompletedTime field's value.
11170func (s *ConformancePackStatusDetail) SetLastUpdateCompletedTime(v time.Time) *ConformancePackStatusDetail {
11171	s.LastUpdateCompletedTime = &v
11172	return s
11173}
11174
11175// SetLastUpdateRequestedTime sets the LastUpdateRequestedTime field's value.
11176func (s *ConformancePackStatusDetail) SetLastUpdateRequestedTime(v time.Time) *ConformancePackStatusDetail {
11177	s.LastUpdateRequestedTime = &v
11178	return s
11179}
11180
11181// SetStackArn sets the StackArn field's value.
11182func (s *ConformancePackStatusDetail) SetStackArn(v string) *ConformancePackStatusDetail {
11183	s.StackArn = &v
11184	return s
11185}
11186
11187// You have specified a template that is not valid or supported.
11188type ConformancePackTemplateValidationException struct {
11189	_            struct{}                  `type:"structure"`
11190	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11191
11192	Message_ *string `locationName:"message" type:"string"`
11193}
11194
11195// String returns the string representation
11196func (s ConformancePackTemplateValidationException) String() string {
11197	return awsutil.Prettify(s)
11198}
11199
11200// GoString returns the string representation
11201func (s ConformancePackTemplateValidationException) GoString() string {
11202	return s.String()
11203}
11204
11205func newErrorConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
11206	return &ConformancePackTemplateValidationException{
11207		RespMetadata: v,
11208	}
11209}
11210
11211// Code returns the exception type name.
11212func (s *ConformancePackTemplateValidationException) Code() string {
11213	return "ConformancePackTemplateValidationException"
11214}
11215
11216// Message returns the exception's message.
11217func (s *ConformancePackTemplateValidationException) Message() string {
11218	if s.Message_ != nil {
11219		return *s.Message_
11220	}
11221	return ""
11222}
11223
11224// OrigErr always returns nil, satisfies awserr.Error interface.
11225func (s *ConformancePackTemplateValidationException) OrigErr() error {
11226	return nil
11227}
11228
11229func (s *ConformancePackTemplateValidationException) Error() string {
11230	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11231}
11232
11233// Status code returns the HTTP status code for the request's response error.
11234func (s *ConformancePackTemplateValidationException) StatusCode() int {
11235	return s.RespMetadata.StatusCode
11236}
11237
11238// RequestID returns the service's response RequestID for request.
11239func (s *ConformancePackTemplateValidationException) RequestID() string {
11240	return s.RespMetadata.RequestID
11241}
11242
11243type DeleteAggregationAuthorizationInput struct {
11244	_ struct{} `type:"structure"`
11245
11246	// The 12-digit account ID of the account authorized to aggregate data.
11247	//
11248	// AuthorizedAccountId is a required field
11249	AuthorizedAccountId *string `type:"string" required:"true"`
11250
11251	// The region authorized to collect aggregated data.
11252	//
11253	// AuthorizedAwsRegion is a required field
11254	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
11255}
11256
11257// String returns the string representation
11258func (s DeleteAggregationAuthorizationInput) String() string {
11259	return awsutil.Prettify(s)
11260}
11261
11262// GoString returns the string representation
11263func (s DeleteAggregationAuthorizationInput) GoString() string {
11264	return s.String()
11265}
11266
11267// Validate inspects the fields of the type to determine if they are valid.
11268func (s *DeleteAggregationAuthorizationInput) Validate() error {
11269	invalidParams := request.ErrInvalidParams{Context: "DeleteAggregationAuthorizationInput"}
11270	if s.AuthorizedAccountId == nil {
11271		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
11272	}
11273	if s.AuthorizedAwsRegion == nil {
11274		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
11275	}
11276	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
11277		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
11278	}
11279
11280	if invalidParams.Len() > 0 {
11281		return invalidParams
11282	}
11283	return nil
11284}
11285
11286// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
11287func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *DeleteAggregationAuthorizationInput {
11288	s.AuthorizedAccountId = &v
11289	return s
11290}
11291
11292// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
11293func (s *DeleteAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *DeleteAggregationAuthorizationInput {
11294	s.AuthorizedAwsRegion = &v
11295	return s
11296}
11297
11298type DeleteAggregationAuthorizationOutput struct {
11299	_ struct{} `type:"structure"`
11300}
11301
11302// String returns the string representation
11303func (s DeleteAggregationAuthorizationOutput) String() string {
11304	return awsutil.Prettify(s)
11305}
11306
11307// GoString returns the string representation
11308func (s DeleteAggregationAuthorizationOutput) GoString() string {
11309	return s.String()
11310}
11311
11312type DeleteConfigRuleInput struct {
11313	_ struct{} `type:"structure"`
11314
11315	// The name of the AWS Config rule that you want to delete.
11316	//
11317	// ConfigRuleName is a required field
11318	ConfigRuleName *string `min:"1" type:"string" required:"true"`
11319}
11320
11321// String returns the string representation
11322func (s DeleteConfigRuleInput) String() string {
11323	return awsutil.Prettify(s)
11324}
11325
11326// GoString returns the string representation
11327func (s DeleteConfigRuleInput) GoString() string {
11328	return s.String()
11329}
11330
11331// Validate inspects the fields of the type to determine if they are valid.
11332func (s *DeleteConfigRuleInput) Validate() error {
11333	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigRuleInput"}
11334	if s.ConfigRuleName == nil {
11335		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
11336	}
11337	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
11338		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
11339	}
11340
11341	if invalidParams.Len() > 0 {
11342		return invalidParams
11343	}
11344	return nil
11345}
11346
11347// SetConfigRuleName sets the ConfigRuleName field's value.
11348func (s *DeleteConfigRuleInput) SetConfigRuleName(v string) *DeleteConfigRuleInput {
11349	s.ConfigRuleName = &v
11350	return s
11351}
11352
11353type DeleteConfigRuleOutput struct {
11354	_ struct{} `type:"structure"`
11355}
11356
11357// String returns the string representation
11358func (s DeleteConfigRuleOutput) String() string {
11359	return awsutil.Prettify(s)
11360}
11361
11362// GoString returns the string representation
11363func (s DeleteConfigRuleOutput) GoString() string {
11364	return s.String()
11365}
11366
11367type DeleteConfigurationAggregatorInput struct {
11368	_ struct{} `type:"structure"`
11369
11370	// The name of the configuration aggregator.
11371	//
11372	// ConfigurationAggregatorName is a required field
11373	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
11374}
11375
11376// String returns the string representation
11377func (s DeleteConfigurationAggregatorInput) String() string {
11378	return awsutil.Prettify(s)
11379}
11380
11381// GoString returns the string representation
11382func (s DeleteConfigurationAggregatorInput) GoString() string {
11383	return s.String()
11384}
11385
11386// Validate inspects the fields of the type to determine if they are valid.
11387func (s *DeleteConfigurationAggregatorInput) Validate() error {
11388	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationAggregatorInput"}
11389	if s.ConfigurationAggregatorName == nil {
11390		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
11391	}
11392	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
11393		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
11394	}
11395
11396	if invalidParams.Len() > 0 {
11397		return invalidParams
11398	}
11399	return nil
11400}
11401
11402// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
11403func (s *DeleteConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *DeleteConfigurationAggregatorInput {
11404	s.ConfigurationAggregatorName = &v
11405	return s
11406}
11407
11408type DeleteConfigurationAggregatorOutput struct {
11409	_ struct{} `type:"structure"`
11410}
11411
11412// String returns the string representation
11413func (s DeleteConfigurationAggregatorOutput) String() string {
11414	return awsutil.Prettify(s)
11415}
11416
11417// GoString returns the string representation
11418func (s DeleteConfigurationAggregatorOutput) GoString() string {
11419	return s.String()
11420}
11421
11422// The request object for the DeleteConfigurationRecorder action.
11423type DeleteConfigurationRecorderInput struct {
11424	_ struct{} `type:"structure"`
11425
11426	// The name of the configuration recorder to be deleted. You can retrieve the
11427	// name of your configuration recorder by using the DescribeConfigurationRecorders
11428	// action.
11429	//
11430	// ConfigurationRecorderName is a required field
11431	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
11432}
11433
11434// String returns the string representation
11435func (s DeleteConfigurationRecorderInput) String() string {
11436	return awsutil.Prettify(s)
11437}
11438
11439// GoString returns the string representation
11440func (s DeleteConfigurationRecorderInput) GoString() string {
11441	return s.String()
11442}
11443
11444// Validate inspects the fields of the type to determine if they are valid.
11445func (s *DeleteConfigurationRecorderInput) Validate() error {
11446	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationRecorderInput"}
11447	if s.ConfigurationRecorderName == nil {
11448		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
11449	}
11450	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
11451		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
11452	}
11453
11454	if invalidParams.Len() > 0 {
11455		return invalidParams
11456	}
11457	return nil
11458}
11459
11460// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
11461func (s *DeleteConfigurationRecorderInput) SetConfigurationRecorderName(v string) *DeleteConfigurationRecorderInput {
11462	s.ConfigurationRecorderName = &v
11463	return s
11464}
11465
11466type DeleteConfigurationRecorderOutput struct {
11467	_ struct{} `type:"structure"`
11468}
11469
11470// String returns the string representation
11471func (s DeleteConfigurationRecorderOutput) String() string {
11472	return awsutil.Prettify(s)
11473}
11474
11475// GoString returns the string representation
11476func (s DeleteConfigurationRecorderOutput) GoString() string {
11477	return s.String()
11478}
11479
11480type DeleteConformancePackInput struct {
11481	_ struct{} `type:"structure"`
11482
11483	// Name of the conformance pack you want to delete.
11484	//
11485	// ConformancePackName is a required field
11486	ConformancePackName *string `min:"1" type:"string" required:"true"`
11487}
11488
11489// String returns the string representation
11490func (s DeleteConformancePackInput) String() string {
11491	return awsutil.Prettify(s)
11492}
11493
11494// GoString returns the string representation
11495func (s DeleteConformancePackInput) GoString() string {
11496	return s.String()
11497}
11498
11499// Validate inspects the fields of the type to determine if they are valid.
11500func (s *DeleteConformancePackInput) Validate() error {
11501	invalidParams := request.ErrInvalidParams{Context: "DeleteConformancePackInput"}
11502	if s.ConformancePackName == nil {
11503		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
11504	}
11505	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
11506		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
11507	}
11508
11509	if invalidParams.Len() > 0 {
11510		return invalidParams
11511	}
11512	return nil
11513}
11514
11515// SetConformancePackName sets the ConformancePackName field's value.
11516func (s *DeleteConformancePackInput) SetConformancePackName(v string) *DeleteConformancePackInput {
11517	s.ConformancePackName = &v
11518	return s
11519}
11520
11521type DeleteConformancePackOutput struct {
11522	_ struct{} `type:"structure"`
11523}
11524
11525// String returns the string representation
11526func (s DeleteConformancePackOutput) String() string {
11527	return awsutil.Prettify(s)
11528}
11529
11530// GoString returns the string representation
11531func (s DeleteConformancePackOutput) GoString() string {
11532	return s.String()
11533}
11534
11535// The input for the DeleteDeliveryChannel action. The action accepts the following
11536// data, in JSON format.
11537type DeleteDeliveryChannelInput struct {
11538	_ struct{} `type:"structure"`
11539
11540	// The name of the delivery channel to delete.
11541	//
11542	// DeliveryChannelName is a required field
11543	DeliveryChannelName *string `min:"1" type:"string" required:"true"`
11544}
11545
11546// String returns the string representation
11547func (s DeleteDeliveryChannelInput) String() string {
11548	return awsutil.Prettify(s)
11549}
11550
11551// GoString returns the string representation
11552func (s DeleteDeliveryChannelInput) GoString() string {
11553	return s.String()
11554}
11555
11556// Validate inspects the fields of the type to determine if they are valid.
11557func (s *DeleteDeliveryChannelInput) Validate() error {
11558	invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryChannelInput"}
11559	if s.DeliveryChannelName == nil {
11560		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
11561	}
11562	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
11563		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
11564	}
11565
11566	if invalidParams.Len() > 0 {
11567		return invalidParams
11568	}
11569	return nil
11570}
11571
11572// SetDeliveryChannelName sets the DeliveryChannelName field's value.
11573func (s *DeleteDeliveryChannelInput) SetDeliveryChannelName(v string) *DeleteDeliveryChannelInput {
11574	s.DeliveryChannelName = &v
11575	return s
11576}
11577
11578type DeleteDeliveryChannelOutput struct {
11579	_ struct{} `type:"structure"`
11580}
11581
11582// String returns the string representation
11583func (s DeleteDeliveryChannelOutput) String() string {
11584	return awsutil.Prettify(s)
11585}
11586
11587// GoString returns the string representation
11588func (s DeleteDeliveryChannelOutput) GoString() string {
11589	return s.String()
11590}
11591
11592type DeleteEvaluationResultsInput struct {
11593	_ struct{} `type:"structure"`
11594
11595	// The name of the AWS Config rule for which you want to delete the evaluation
11596	// results.
11597	//
11598	// ConfigRuleName is a required field
11599	ConfigRuleName *string `min:"1" type:"string" required:"true"`
11600}
11601
11602// String returns the string representation
11603func (s DeleteEvaluationResultsInput) String() string {
11604	return awsutil.Prettify(s)
11605}
11606
11607// GoString returns the string representation
11608func (s DeleteEvaluationResultsInput) GoString() string {
11609	return s.String()
11610}
11611
11612// Validate inspects the fields of the type to determine if they are valid.
11613func (s *DeleteEvaluationResultsInput) Validate() error {
11614	invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationResultsInput"}
11615	if s.ConfigRuleName == nil {
11616		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
11617	}
11618	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
11619		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
11620	}
11621
11622	if invalidParams.Len() > 0 {
11623		return invalidParams
11624	}
11625	return nil
11626}
11627
11628// SetConfigRuleName sets the ConfigRuleName field's value.
11629func (s *DeleteEvaluationResultsInput) SetConfigRuleName(v string) *DeleteEvaluationResultsInput {
11630	s.ConfigRuleName = &v
11631	return s
11632}
11633
11634// The output when you delete the evaluation results for the specified AWS Config
11635// rule.
11636type DeleteEvaluationResultsOutput struct {
11637	_ struct{} `type:"structure"`
11638}
11639
11640// String returns the string representation
11641func (s DeleteEvaluationResultsOutput) String() string {
11642	return awsutil.Prettify(s)
11643}
11644
11645// GoString returns the string representation
11646func (s DeleteEvaluationResultsOutput) GoString() string {
11647	return s.String()
11648}
11649
11650type DeleteOrganizationConfigRuleInput struct {
11651	_ struct{} `type:"structure"`
11652
11653	// The name of organization config rule that you want to delete.
11654	//
11655	// OrganizationConfigRuleName is a required field
11656	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
11657}
11658
11659// String returns the string representation
11660func (s DeleteOrganizationConfigRuleInput) String() string {
11661	return awsutil.Prettify(s)
11662}
11663
11664// GoString returns the string representation
11665func (s DeleteOrganizationConfigRuleInput) GoString() string {
11666	return s.String()
11667}
11668
11669// Validate inspects the fields of the type to determine if they are valid.
11670func (s *DeleteOrganizationConfigRuleInput) Validate() error {
11671	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConfigRuleInput"}
11672	if s.OrganizationConfigRuleName == nil {
11673		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
11674	}
11675	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
11676		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
11677	}
11678
11679	if invalidParams.Len() > 0 {
11680		return invalidParams
11681	}
11682	return nil
11683}
11684
11685// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
11686func (s *DeleteOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *DeleteOrganizationConfigRuleInput {
11687	s.OrganizationConfigRuleName = &v
11688	return s
11689}
11690
11691type DeleteOrganizationConfigRuleOutput struct {
11692	_ struct{} `type:"structure"`
11693}
11694
11695// String returns the string representation
11696func (s DeleteOrganizationConfigRuleOutput) String() string {
11697	return awsutil.Prettify(s)
11698}
11699
11700// GoString returns the string representation
11701func (s DeleteOrganizationConfigRuleOutput) GoString() string {
11702	return s.String()
11703}
11704
11705type DeleteOrganizationConformancePackInput struct {
11706	_ struct{} `type:"structure"`
11707
11708	// The name of organization conformance pack that you want to delete.
11709	//
11710	// OrganizationConformancePackName is a required field
11711	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
11712}
11713
11714// String returns the string representation
11715func (s DeleteOrganizationConformancePackInput) String() string {
11716	return awsutil.Prettify(s)
11717}
11718
11719// GoString returns the string representation
11720func (s DeleteOrganizationConformancePackInput) GoString() string {
11721	return s.String()
11722}
11723
11724// Validate inspects the fields of the type to determine if they are valid.
11725func (s *DeleteOrganizationConformancePackInput) Validate() error {
11726	invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationConformancePackInput"}
11727	if s.OrganizationConformancePackName == nil {
11728		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
11729	}
11730	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
11731		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
11732	}
11733
11734	if invalidParams.Len() > 0 {
11735		return invalidParams
11736	}
11737	return nil
11738}
11739
11740// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
11741func (s *DeleteOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *DeleteOrganizationConformancePackInput {
11742	s.OrganizationConformancePackName = &v
11743	return s
11744}
11745
11746type DeleteOrganizationConformancePackOutput struct {
11747	_ struct{} `type:"structure"`
11748}
11749
11750// String returns the string representation
11751func (s DeleteOrganizationConformancePackOutput) String() string {
11752	return awsutil.Prettify(s)
11753}
11754
11755// GoString returns the string representation
11756func (s DeleteOrganizationConformancePackOutput) GoString() string {
11757	return s.String()
11758}
11759
11760type DeletePendingAggregationRequestInput struct {
11761	_ struct{} `type:"structure"`
11762
11763	// The 12-digit account ID of the account requesting to aggregate data.
11764	//
11765	// RequesterAccountId is a required field
11766	RequesterAccountId *string `type:"string" required:"true"`
11767
11768	// The region requesting to aggregate data.
11769	//
11770	// RequesterAwsRegion is a required field
11771	RequesterAwsRegion *string `min:"1" type:"string" required:"true"`
11772}
11773
11774// String returns the string representation
11775func (s DeletePendingAggregationRequestInput) String() string {
11776	return awsutil.Prettify(s)
11777}
11778
11779// GoString returns the string representation
11780func (s DeletePendingAggregationRequestInput) GoString() string {
11781	return s.String()
11782}
11783
11784// Validate inspects the fields of the type to determine if they are valid.
11785func (s *DeletePendingAggregationRequestInput) Validate() error {
11786	invalidParams := request.ErrInvalidParams{Context: "DeletePendingAggregationRequestInput"}
11787	if s.RequesterAccountId == nil {
11788		invalidParams.Add(request.NewErrParamRequired("RequesterAccountId"))
11789	}
11790	if s.RequesterAwsRegion == nil {
11791		invalidParams.Add(request.NewErrParamRequired("RequesterAwsRegion"))
11792	}
11793	if s.RequesterAwsRegion != nil && len(*s.RequesterAwsRegion) < 1 {
11794		invalidParams.Add(request.NewErrParamMinLen("RequesterAwsRegion", 1))
11795	}
11796
11797	if invalidParams.Len() > 0 {
11798		return invalidParams
11799	}
11800	return nil
11801}
11802
11803// SetRequesterAccountId sets the RequesterAccountId field's value.
11804func (s *DeletePendingAggregationRequestInput) SetRequesterAccountId(v string) *DeletePendingAggregationRequestInput {
11805	s.RequesterAccountId = &v
11806	return s
11807}
11808
11809// SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
11810func (s *DeletePendingAggregationRequestInput) SetRequesterAwsRegion(v string) *DeletePendingAggregationRequestInput {
11811	s.RequesterAwsRegion = &v
11812	return s
11813}
11814
11815type DeletePendingAggregationRequestOutput struct {
11816	_ struct{} `type:"structure"`
11817}
11818
11819// String returns the string representation
11820func (s DeletePendingAggregationRequestOutput) String() string {
11821	return awsutil.Prettify(s)
11822}
11823
11824// GoString returns the string representation
11825func (s DeletePendingAggregationRequestOutput) GoString() string {
11826	return s.String()
11827}
11828
11829type DeleteRemediationConfigurationInput struct {
11830	_ struct{} `type:"structure"`
11831
11832	// The name of the AWS Config rule for which you want to delete remediation
11833	// configuration.
11834	//
11835	// ConfigRuleName is a required field
11836	ConfigRuleName *string `min:"1" type:"string" required:"true"`
11837
11838	// The type of a resource.
11839	ResourceType *string `type:"string"`
11840}
11841
11842// String returns the string representation
11843func (s DeleteRemediationConfigurationInput) String() string {
11844	return awsutil.Prettify(s)
11845}
11846
11847// GoString returns the string representation
11848func (s DeleteRemediationConfigurationInput) GoString() string {
11849	return s.String()
11850}
11851
11852// Validate inspects the fields of the type to determine if they are valid.
11853func (s *DeleteRemediationConfigurationInput) Validate() error {
11854	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationConfigurationInput"}
11855	if s.ConfigRuleName == nil {
11856		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
11857	}
11858	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
11859		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
11860	}
11861
11862	if invalidParams.Len() > 0 {
11863		return invalidParams
11864	}
11865	return nil
11866}
11867
11868// SetConfigRuleName sets the ConfigRuleName field's value.
11869func (s *DeleteRemediationConfigurationInput) SetConfigRuleName(v string) *DeleteRemediationConfigurationInput {
11870	s.ConfigRuleName = &v
11871	return s
11872}
11873
11874// SetResourceType sets the ResourceType field's value.
11875func (s *DeleteRemediationConfigurationInput) SetResourceType(v string) *DeleteRemediationConfigurationInput {
11876	s.ResourceType = &v
11877	return s
11878}
11879
11880type DeleteRemediationConfigurationOutput struct {
11881	_ struct{} `type:"structure"`
11882}
11883
11884// String returns the string representation
11885func (s DeleteRemediationConfigurationOutput) String() string {
11886	return awsutil.Prettify(s)
11887}
11888
11889// GoString returns the string representation
11890func (s DeleteRemediationConfigurationOutput) GoString() string {
11891	return s.String()
11892}
11893
11894type DeleteRemediationExceptionsInput struct {
11895	_ struct{} `type:"structure"`
11896
11897	// The name of the AWS Config rule for which you want to delete remediation
11898	// exception configuration.
11899	//
11900	// ConfigRuleName is a required field
11901	ConfigRuleName *string `min:"1" type:"string" required:"true"`
11902
11903	// An exception list of resource exception keys to be processed with the current
11904	// request. AWS Config adds exception for each resource key. For example, AWS
11905	// Config adds 3 exceptions for 3 resource keys.
11906	//
11907	// ResourceKeys is a required field
11908	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
11909}
11910
11911// String returns the string representation
11912func (s DeleteRemediationExceptionsInput) String() string {
11913	return awsutil.Prettify(s)
11914}
11915
11916// GoString returns the string representation
11917func (s DeleteRemediationExceptionsInput) GoString() string {
11918	return s.String()
11919}
11920
11921// Validate inspects the fields of the type to determine if they are valid.
11922func (s *DeleteRemediationExceptionsInput) Validate() error {
11923	invalidParams := request.ErrInvalidParams{Context: "DeleteRemediationExceptionsInput"}
11924	if s.ConfigRuleName == nil {
11925		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
11926	}
11927	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
11928		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
11929	}
11930	if s.ResourceKeys == nil {
11931		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
11932	}
11933	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
11934		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
11935	}
11936	if s.ResourceKeys != nil {
11937		for i, v := range s.ResourceKeys {
11938			if v == nil {
11939				continue
11940			}
11941			if err := v.Validate(); err != nil {
11942				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
11943			}
11944		}
11945	}
11946
11947	if invalidParams.Len() > 0 {
11948		return invalidParams
11949	}
11950	return nil
11951}
11952
11953// SetConfigRuleName sets the ConfigRuleName field's value.
11954func (s *DeleteRemediationExceptionsInput) SetConfigRuleName(v string) *DeleteRemediationExceptionsInput {
11955	s.ConfigRuleName = &v
11956	return s
11957}
11958
11959// SetResourceKeys sets the ResourceKeys field's value.
11960func (s *DeleteRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DeleteRemediationExceptionsInput {
11961	s.ResourceKeys = v
11962	return s
11963}
11964
11965type DeleteRemediationExceptionsOutput struct {
11966	_ struct{} `type:"structure"`
11967
11968	// Returns a list of failed delete remediation exceptions batch objects. Each
11969	// object in the batch consists of a list of failed items and failure messages.
11970	FailedBatches []*FailedDeleteRemediationExceptionsBatch `type:"list"`
11971}
11972
11973// String returns the string representation
11974func (s DeleteRemediationExceptionsOutput) String() string {
11975	return awsutil.Prettify(s)
11976}
11977
11978// GoString returns the string representation
11979func (s DeleteRemediationExceptionsOutput) GoString() string {
11980	return s.String()
11981}
11982
11983// SetFailedBatches sets the FailedBatches field's value.
11984func (s *DeleteRemediationExceptionsOutput) SetFailedBatches(v []*FailedDeleteRemediationExceptionsBatch) *DeleteRemediationExceptionsOutput {
11985	s.FailedBatches = v
11986	return s
11987}
11988
11989type DeleteResourceConfigInput struct {
11990	_ struct{} `type:"structure"`
11991
11992	// Unique identifier of the resource.
11993	//
11994	// ResourceId is a required field
11995	ResourceId *string `min:"1" type:"string" required:"true"`
11996
11997	// The type of the resource.
11998	//
11999	// ResourceType is a required field
12000	ResourceType *string `min:"1" type:"string" required:"true"`
12001}
12002
12003// String returns the string representation
12004func (s DeleteResourceConfigInput) String() string {
12005	return awsutil.Prettify(s)
12006}
12007
12008// GoString returns the string representation
12009func (s DeleteResourceConfigInput) GoString() string {
12010	return s.String()
12011}
12012
12013// Validate inspects the fields of the type to determine if they are valid.
12014func (s *DeleteResourceConfigInput) Validate() error {
12015	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceConfigInput"}
12016	if s.ResourceId == nil {
12017		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12018	}
12019	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
12020		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
12021	}
12022	if s.ResourceType == nil {
12023		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
12024	}
12025	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
12026		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
12027	}
12028
12029	if invalidParams.Len() > 0 {
12030		return invalidParams
12031	}
12032	return nil
12033}
12034
12035// SetResourceId sets the ResourceId field's value.
12036func (s *DeleteResourceConfigInput) SetResourceId(v string) *DeleteResourceConfigInput {
12037	s.ResourceId = &v
12038	return s
12039}
12040
12041// SetResourceType sets the ResourceType field's value.
12042func (s *DeleteResourceConfigInput) SetResourceType(v string) *DeleteResourceConfigInput {
12043	s.ResourceType = &v
12044	return s
12045}
12046
12047type DeleteResourceConfigOutput struct {
12048	_ struct{} `type:"structure"`
12049}
12050
12051// String returns the string representation
12052func (s DeleteResourceConfigOutput) String() string {
12053	return awsutil.Prettify(s)
12054}
12055
12056// GoString returns the string representation
12057func (s DeleteResourceConfigOutput) GoString() string {
12058	return s.String()
12059}
12060
12061type DeleteRetentionConfigurationInput struct {
12062	_ struct{} `type:"structure"`
12063
12064	// The name of the retention configuration to delete.
12065	//
12066	// RetentionConfigurationName is a required field
12067	RetentionConfigurationName *string `min:"1" type:"string" required:"true"`
12068}
12069
12070// String returns the string representation
12071func (s DeleteRetentionConfigurationInput) String() string {
12072	return awsutil.Prettify(s)
12073}
12074
12075// GoString returns the string representation
12076func (s DeleteRetentionConfigurationInput) GoString() string {
12077	return s.String()
12078}
12079
12080// Validate inspects the fields of the type to determine if they are valid.
12081func (s *DeleteRetentionConfigurationInput) Validate() error {
12082	invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionConfigurationInput"}
12083	if s.RetentionConfigurationName == nil {
12084		invalidParams.Add(request.NewErrParamRequired("RetentionConfigurationName"))
12085	}
12086	if s.RetentionConfigurationName != nil && len(*s.RetentionConfigurationName) < 1 {
12087		invalidParams.Add(request.NewErrParamMinLen("RetentionConfigurationName", 1))
12088	}
12089
12090	if invalidParams.Len() > 0 {
12091		return invalidParams
12092	}
12093	return nil
12094}
12095
12096// SetRetentionConfigurationName sets the RetentionConfigurationName field's value.
12097func (s *DeleteRetentionConfigurationInput) SetRetentionConfigurationName(v string) *DeleteRetentionConfigurationInput {
12098	s.RetentionConfigurationName = &v
12099	return s
12100}
12101
12102type DeleteRetentionConfigurationOutput struct {
12103	_ struct{} `type:"structure"`
12104}
12105
12106// String returns the string representation
12107func (s DeleteRetentionConfigurationOutput) String() string {
12108	return awsutil.Prettify(s)
12109}
12110
12111// GoString returns the string representation
12112func (s DeleteRetentionConfigurationOutput) GoString() string {
12113	return s.String()
12114}
12115
12116type DeleteStoredQueryInput struct {
12117	_ struct{} `type:"structure"`
12118
12119	// The name of the query that you want to delete.
12120	//
12121	// QueryName is a required field
12122	QueryName *string `min:"1" type:"string" required:"true"`
12123}
12124
12125// String returns the string representation
12126func (s DeleteStoredQueryInput) String() string {
12127	return awsutil.Prettify(s)
12128}
12129
12130// GoString returns the string representation
12131func (s DeleteStoredQueryInput) GoString() string {
12132	return s.String()
12133}
12134
12135// Validate inspects the fields of the type to determine if they are valid.
12136func (s *DeleteStoredQueryInput) Validate() error {
12137	invalidParams := request.ErrInvalidParams{Context: "DeleteStoredQueryInput"}
12138	if s.QueryName == nil {
12139		invalidParams.Add(request.NewErrParamRequired("QueryName"))
12140	}
12141	if s.QueryName != nil && len(*s.QueryName) < 1 {
12142		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
12143	}
12144
12145	if invalidParams.Len() > 0 {
12146		return invalidParams
12147	}
12148	return nil
12149}
12150
12151// SetQueryName sets the QueryName field's value.
12152func (s *DeleteStoredQueryInput) SetQueryName(v string) *DeleteStoredQueryInput {
12153	s.QueryName = &v
12154	return s
12155}
12156
12157type DeleteStoredQueryOutput struct {
12158	_ struct{} `type:"structure"`
12159}
12160
12161// String returns the string representation
12162func (s DeleteStoredQueryOutput) String() string {
12163	return awsutil.Prettify(s)
12164}
12165
12166// GoString returns the string representation
12167func (s DeleteStoredQueryOutput) GoString() string {
12168	return s.String()
12169}
12170
12171// The input for the DeliverConfigSnapshot action.
12172type DeliverConfigSnapshotInput struct {
12173	_ struct{} `type:"structure"`
12174
12175	// The name of the delivery channel through which the snapshot is delivered.
12176	//
12177	// DeliveryChannelName is a required field
12178	DeliveryChannelName *string `locationName:"deliveryChannelName" min:"1" type:"string" required:"true"`
12179}
12180
12181// String returns the string representation
12182func (s DeliverConfigSnapshotInput) String() string {
12183	return awsutil.Prettify(s)
12184}
12185
12186// GoString returns the string representation
12187func (s DeliverConfigSnapshotInput) GoString() string {
12188	return s.String()
12189}
12190
12191// Validate inspects the fields of the type to determine if they are valid.
12192func (s *DeliverConfigSnapshotInput) Validate() error {
12193	invalidParams := request.ErrInvalidParams{Context: "DeliverConfigSnapshotInput"}
12194	if s.DeliveryChannelName == nil {
12195		invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
12196	}
12197	if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
12198		invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
12199	}
12200
12201	if invalidParams.Len() > 0 {
12202		return invalidParams
12203	}
12204	return nil
12205}
12206
12207// SetDeliveryChannelName sets the DeliveryChannelName field's value.
12208func (s *DeliverConfigSnapshotInput) SetDeliveryChannelName(v string) *DeliverConfigSnapshotInput {
12209	s.DeliveryChannelName = &v
12210	return s
12211}
12212
12213// The output for the DeliverConfigSnapshot action, in JSON format.
12214type DeliverConfigSnapshotOutput struct {
12215	_ struct{} `type:"structure"`
12216
12217	// The ID of the snapshot that is being created.
12218	ConfigSnapshotId *string `locationName:"configSnapshotId" type:"string"`
12219}
12220
12221// String returns the string representation
12222func (s DeliverConfigSnapshotOutput) String() string {
12223	return awsutil.Prettify(s)
12224}
12225
12226// GoString returns the string representation
12227func (s DeliverConfigSnapshotOutput) GoString() string {
12228	return s.String()
12229}
12230
12231// SetConfigSnapshotId sets the ConfigSnapshotId field's value.
12232func (s *DeliverConfigSnapshotOutput) SetConfigSnapshotId(v string) *DeliverConfigSnapshotOutput {
12233	s.ConfigSnapshotId = &v
12234	return s
12235}
12236
12237// The channel through which AWS Config delivers notifications and updated configuration
12238// states.
12239type DeliveryChannel struct {
12240	_ struct{} `type:"structure"`
12241
12242	// The options for how often AWS Config delivers configuration snapshots to
12243	// the Amazon S3 bucket.
12244	ConfigSnapshotDeliveryProperties *ConfigSnapshotDeliveryProperties `locationName:"configSnapshotDeliveryProperties" type:"structure"`
12245
12246	// The name of the delivery channel. By default, AWS Config assigns the name
12247	// "default" when creating the delivery channel. To change the delivery channel
12248	// name, you must use the DeleteDeliveryChannel action to delete your current
12249	// delivery channel, and then you must use the PutDeliveryChannel command to
12250	// create a delivery channel that has the desired name.
12251	Name *string `locationName:"name" min:"1" type:"string"`
12252
12253	// The name of the Amazon S3 bucket to which AWS Config delivers configuration
12254	// snapshots and configuration history files.
12255	//
12256	// If you specify a bucket that belongs to another AWS account, that bucket
12257	// must have policies that grant access permissions to AWS Config. For more
12258	// information, see Permissions for the Amazon S3 Bucket (https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
12259	// in the AWS Config Developer Guide.
12260	S3BucketName *string `locationName:"s3BucketName" type:"string"`
12261
12262	// The prefix for the specified Amazon S3 bucket.
12263	S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
12264
12265	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config
12266	// sends notifications about configuration changes.
12267	//
12268	// If you choose a topic from another account, the topic must have policies
12269	// that grant access permissions to AWS Config. For more information, see Permissions
12270	// for the Amazon SNS Topic (https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
12271	// in the AWS Config Developer Guide.
12272	SnsTopicARN *string `locationName:"snsTopicARN" type:"string"`
12273}
12274
12275// String returns the string representation
12276func (s DeliveryChannel) String() string {
12277	return awsutil.Prettify(s)
12278}
12279
12280// GoString returns the string representation
12281func (s DeliveryChannel) GoString() string {
12282	return s.String()
12283}
12284
12285// Validate inspects the fields of the type to determine if they are valid.
12286func (s *DeliveryChannel) Validate() error {
12287	invalidParams := request.ErrInvalidParams{Context: "DeliveryChannel"}
12288	if s.Name != nil && len(*s.Name) < 1 {
12289		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12290	}
12291
12292	if invalidParams.Len() > 0 {
12293		return invalidParams
12294	}
12295	return nil
12296}
12297
12298// SetConfigSnapshotDeliveryProperties sets the ConfigSnapshotDeliveryProperties field's value.
12299func (s *DeliveryChannel) SetConfigSnapshotDeliveryProperties(v *ConfigSnapshotDeliveryProperties) *DeliveryChannel {
12300	s.ConfigSnapshotDeliveryProperties = v
12301	return s
12302}
12303
12304// SetName sets the Name field's value.
12305func (s *DeliveryChannel) SetName(v string) *DeliveryChannel {
12306	s.Name = &v
12307	return s
12308}
12309
12310// SetS3BucketName sets the S3BucketName field's value.
12311func (s *DeliveryChannel) SetS3BucketName(v string) *DeliveryChannel {
12312	s.S3BucketName = &v
12313	return s
12314}
12315
12316// SetS3KeyPrefix sets the S3KeyPrefix field's value.
12317func (s *DeliveryChannel) SetS3KeyPrefix(v string) *DeliveryChannel {
12318	s.S3KeyPrefix = &v
12319	return s
12320}
12321
12322// SetSnsTopicARN sets the SnsTopicARN field's value.
12323func (s *DeliveryChannel) SetSnsTopicARN(v string) *DeliveryChannel {
12324	s.SnsTopicARN = &v
12325	return s
12326}
12327
12328// The status of a specified delivery channel.
12329//
12330// Valid values: Success | Failure
12331type DeliveryChannelStatus struct {
12332	_ struct{} `type:"structure"`
12333
12334	// A list that contains the status of the delivery of the configuration history
12335	// to the specified Amazon S3 bucket.
12336	ConfigHistoryDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configHistoryDeliveryInfo" type:"structure"`
12337
12338	// A list containing the status of the delivery of the snapshot to the specified
12339	// Amazon S3 bucket.
12340	ConfigSnapshotDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configSnapshotDeliveryInfo" type:"structure"`
12341
12342	// A list containing the status of the delivery of the configuration stream
12343	// notification to the specified Amazon SNS topic.
12344	ConfigStreamDeliveryInfo *ConfigStreamDeliveryInfo `locationName:"configStreamDeliveryInfo" type:"structure"`
12345
12346	// The name of the delivery channel.
12347	Name *string `locationName:"name" type:"string"`
12348}
12349
12350// String returns the string representation
12351func (s DeliveryChannelStatus) String() string {
12352	return awsutil.Prettify(s)
12353}
12354
12355// GoString returns the string representation
12356func (s DeliveryChannelStatus) GoString() string {
12357	return s.String()
12358}
12359
12360// SetConfigHistoryDeliveryInfo sets the ConfigHistoryDeliveryInfo field's value.
12361func (s *DeliveryChannelStatus) SetConfigHistoryDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
12362	s.ConfigHistoryDeliveryInfo = v
12363	return s
12364}
12365
12366// SetConfigSnapshotDeliveryInfo sets the ConfigSnapshotDeliveryInfo field's value.
12367func (s *DeliveryChannelStatus) SetConfigSnapshotDeliveryInfo(v *ConfigExportDeliveryInfo) *DeliveryChannelStatus {
12368	s.ConfigSnapshotDeliveryInfo = v
12369	return s
12370}
12371
12372// SetConfigStreamDeliveryInfo sets the ConfigStreamDeliveryInfo field's value.
12373func (s *DeliveryChannelStatus) SetConfigStreamDeliveryInfo(v *ConfigStreamDeliveryInfo) *DeliveryChannelStatus {
12374	s.ConfigStreamDeliveryInfo = v
12375	return s
12376}
12377
12378// SetName sets the Name field's value.
12379func (s *DeliveryChannelStatus) SetName(v string) *DeliveryChannelStatus {
12380	s.Name = &v
12381	return s
12382}
12383
12384type DescribeAggregateComplianceByConfigRulesInput struct {
12385	_ struct{} `type:"structure"`
12386
12387	// The name of the configuration aggregator.
12388	//
12389	// ConfigurationAggregatorName is a required field
12390	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
12391
12392	// Filters the results by ConfigRuleComplianceFilters object.
12393	Filters *ConfigRuleComplianceFilters `type:"structure"`
12394
12395	// The maximum number of evaluation results returned on each page. The default
12396	// is maximum. If you specify 0, AWS Config uses the default.
12397	Limit *int64 `type:"integer"`
12398
12399	// The nextToken string returned on a previous page that you use to get the
12400	// next page of results in a paginated response.
12401	NextToken *string `type:"string"`
12402}
12403
12404// String returns the string representation
12405func (s DescribeAggregateComplianceByConfigRulesInput) String() string {
12406	return awsutil.Prettify(s)
12407}
12408
12409// GoString returns the string representation
12410func (s DescribeAggregateComplianceByConfigRulesInput) GoString() string {
12411	return s.String()
12412}
12413
12414// Validate inspects the fields of the type to determine if they are valid.
12415func (s *DescribeAggregateComplianceByConfigRulesInput) Validate() error {
12416	invalidParams := request.ErrInvalidParams{Context: "DescribeAggregateComplianceByConfigRulesInput"}
12417	if s.ConfigurationAggregatorName == nil {
12418		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
12419	}
12420	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
12421		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
12422	}
12423	if s.Filters != nil {
12424		if err := s.Filters.Validate(); err != nil {
12425			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
12426		}
12427	}
12428
12429	if invalidParams.Len() > 0 {
12430		return invalidParams
12431	}
12432	return nil
12433}
12434
12435// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
12436func (s *DescribeAggregateComplianceByConfigRulesInput) SetConfigurationAggregatorName(v string) *DescribeAggregateComplianceByConfigRulesInput {
12437	s.ConfigurationAggregatorName = &v
12438	return s
12439}
12440
12441// SetFilters sets the Filters field's value.
12442func (s *DescribeAggregateComplianceByConfigRulesInput) SetFilters(v *ConfigRuleComplianceFilters) *DescribeAggregateComplianceByConfigRulesInput {
12443	s.Filters = v
12444	return s
12445}
12446
12447// SetLimit sets the Limit field's value.
12448func (s *DescribeAggregateComplianceByConfigRulesInput) SetLimit(v int64) *DescribeAggregateComplianceByConfigRulesInput {
12449	s.Limit = &v
12450	return s
12451}
12452
12453// SetNextToken sets the NextToken field's value.
12454func (s *DescribeAggregateComplianceByConfigRulesInput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesInput {
12455	s.NextToken = &v
12456	return s
12457}
12458
12459type DescribeAggregateComplianceByConfigRulesOutput struct {
12460	_ struct{} `type:"structure"`
12461
12462	// Returns a list of AggregateComplianceByConfigRule object.
12463	AggregateComplianceByConfigRules []*AggregateComplianceByConfigRule `type:"list"`
12464
12465	// The nextToken string returned on a previous page that you use to get the
12466	// next page of results in a paginated response.
12467	NextToken *string `type:"string"`
12468}
12469
12470// String returns the string representation
12471func (s DescribeAggregateComplianceByConfigRulesOutput) String() string {
12472	return awsutil.Prettify(s)
12473}
12474
12475// GoString returns the string representation
12476func (s DescribeAggregateComplianceByConfigRulesOutput) GoString() string {
12477	return s.String()
12478}
12479
12480// SetAggregateComplianceByConfigRules sets the AggregateComplianceByConfigRules field's value.
12481func (s *DescribeAggregateComplianceByConfigRulesOutput) SetAggregateComplianceByConfigRules(v []*AggregateComplianceByConfigRule) *DescribeAggregateComplianceByConfigRulesOutput {
12482	s.AggregateComplianceByConfigRules = v
12483	return s
12484}
12485
12486// SetNextToken sets the NextToken field's value.
12487func (s *DescribeAggregateComplianceByConfigRulesOutput) SetNextToken(v string) *DescribeAggregateComplianceByConfigRulesOutput {
12488	s.NextToken = &v
12489	return s
12490}
12491
12492type DescribeAggregationAuthorizationsInput struct {
12493	_ struct{} `type:"structure"`
12494
12495	// The maximum number of AggregationAuthorizations returned on each page. The
12496	// default is maximum. If you specify 0, AWS Config uses the default.
12497	Limit *int64 `type:"integer"`
12498
12499	// The nextToken string returned on a previous page that you use to get the
12500	// next page of results in a paginated response.
12501	NextToken *string `type:"string"`
12502}
12503
12504// String returns the string representation
12505func (s DescribeAggregationAuthorizationsInput) String() string {
12506	return awsutil.Prettify(s)
12507}
12508
12509// GoString returns the string representation
12510func (s DescribeAggregationAuthorizationsInput) GoString() string {
12511	return s.String()
12512}
12513
12514// SetLimit sets the Limit field's value.
12515func (s *DescribeAggregationAuthorizationsInput) SetLimit(v int64) *DescribeAggregationAuthorizationsInput {
12516	s.Limit = &v
12517	return s
12518}
12519
12520// SetNextToken sets the NextToken field's value.
12521func (s *DescribeAggregationAuthorizationsInput) SetNextToken(v string) *DescribeAggregationAuthorizationsInput {
12522	s.NextToken = &v
12523	return s
12524}
12525
12526type DescribeAggregationAuthorizationsOutput struct {
12527	_ struct{} `type:"structure"`
12528
12529	// Returns a list of authorizations granted to various aggregator accounts and
12530	// regions.
12531	AggregationAuthorizations []*AggregationAuthorization `type:"list"`
12532
12533	// The nextToken string returned on a previous page that you use to get the
12534	// next page of results in a paginated response.
12535	NextToken *string `type:"string"`
12536}
12537
12538// String returns the string representation
12539func (s DescribeAggregationAuthorizationsOutput) String() string {
12540	return awsutil.Prettify(s)
12541}
12542
12543// GoString returns the string representation
12544func (s DescribeAggregationAuthorizationsOutput) GoString() string {
12545	return s.String()
12546}
12547
12548// SetAggregationAuthorizations sets the AggregationAuthorizations field's value.
12549func (s *DescribeAggregationAuthorizationsOutput) SetAggregationAuthorizations(v []*AggregationAuthorization) *DescribeAggregationAuthorizationsOutput {
12550	s.AggregationAuthorizations = v
12551	return s
12552}
12553
12554// SetNextToken sets the NextToken field's value.
12555func (s *DescribeAggregationAuthorizationsOutput) SetNextToken(v string) *DescribeAggregationAuthorizationsOutput {
12556	s.NextToken = &v
12557	return s
12558}
12559
12560type DescribeComplianceByConfigRuleInput struct {
12561	_ struct{} `type:"structure"`
12562
12563	// Filters the results by compliance.
12564	//
12565	// The allowed values are COMPLIANT and NON_COMPLIANT.
12566	ComplianceTypes []*string `type:"list"`
12567
12568	// Specify one or more AWS Config rule names to filter the results by rule.
12569	ConfigRuleNames []*string `type:"list"`
12570
12571	// The nextToken string returned on a previous page that you use to get the
12572	// next page of results in a paginated response.
12573	NextToken *string `type:"string"`
12574}
12575
12576// String returns the string representation
12577func (s DescribeComplianceByConfigRuleInput) String() string {
12578	return awsutil.Prettify(s)
12579}
12580
12581// GoString returns the string representation
12582func (s DescribeComplianceByConfigRuleInput) GoString() string {
12583	return s.String()
12584}
12585
12586// SetComplianceTypes sets the ComplianceTypes field's value.
12587func (s *DescribeComplianceByConfigRuleInput) SetComplianceTypes(v []*string) *DescribeComplianceByConfigRuleInput {
12588	s.ComplianceTypes = v
12589	return s
12590}
12591
12592// SetConfigRuleNames sets the ConfigRuleNames field's value.
12593func (s *DescribeComplianceByConfigRuleInput) SetConfigRuleNames(v []*string) *DescribeComplianceByConfigRuleInput {
12594	s.ConfigRuleNames = v
12595	return s
12596}
12597
12598// SetNextToken sets the NextToken field's value.
12599func (s *DescribeComplianceByConfigRuleInput) SetNextToken(v string) *DescribeComplianceByConfigRuleInput {
12600	s.NextToken = &v
12601	return s
12602}
12603
12604type DescribeComplianceByConfigRuleOutput struct {
12605	_ struct{} `type:"structure"`
12606
12607	// Indicates whether each of the specified AWS Config rules is compliant.
12608	ComplianceByConfigRules []*ComplianceByConfigRule `type:"list"`
12609
12610	// The string that you use in a subsequent request to get the next page of results
12611	// in a paginated response.
12612	NextToken *string `type:"string"`
12613}
12614
12615// String returns the string representation
12616func (s DescribeComplianceByConfigRuleOutput) String() string {
12617	return awsutil.Prettify(s)
12618}
12619
12620// GoString returns the string representation
12621func (s DescribeComplianceByConfigRuleOutput) GoString() string {
12622	return s.String()
12623}
12624
12625// SetComplianceByConfigRules sets the ComplianceByConfigRules field's value.
12626func (s *DescribeComplianceByConfigRuleOutput) SetComplianceByConfigRules(v []*ComplianceByConfigRule) *DescribeComplianceByConfigRuleOutput {
12627	s.ComplianceByConfigRules = v
12628	return s
12629}
12630
12631// SetNextToken sets the NextToken field's value.
12632func (s *DescribeComplianceByConfigRuleOutput) SetNextToken(v string) *DescribeComplianceByConfigRuleOutput {
12633	s.NextToken = &v
12634	return s
12635}
12636
12637type DescribeComplianceByResourceInput struct {
12638	_ struct{} `type:"structure"`
12639
12640	// Filters the results by compliance.
12641	//
12642	// The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
12643	ComplianceTypes []*string `type:"list"`
12644
12645	// The maximum number of evaluation results returned on each page. The default
12646	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
12647	// Config uses the default.
12648	Limit *int64 `type:"integer"`
12649
12650	// The nextToken string returned on a previous page that you use to get the
12651	// next page of results in a paginated response.
12652	NextToken *string `type:"string"`
12653
12654	// The ID of the AWS resource for which you want compliance information. You
12655	// can specify only one resource ID. If you specify a resource ID, you must
12656	// also specify a type for ResourceType.
12657	ResourceId *string `min:"1" type:"string"`
12658
12659	// The types of AWS resources for which you want compliance information (for
12660	// example, AWS::EC2::Instance). For this action, you can specify that the resource
12661	// type is an AWS account by specifying AWS::::Account.
12662	ResourceType *string `min:"1" type:"string"`
12663}
12664
12665// String returns the string representation
12666func (s DescribeComplianceByResourceInput) String() string {
12667	return awsutil.Prettify(s)
12668}
12669
12670// GoString returns the string representation
12671func (s DescribeComplianceByResourceInput) GoString() string {
12672	return s.String()
12673}
12674
12675// Validate inspects the fields of the type to determine if they are valid.
12676func (s *DescribeComplianceByResourceInput) Validate() error {
12677	invalidParams := request.ErrInvalidParams{Context: "DescribeComplianceByResourceInput"}
12678	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
12679		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
12680	}
12681	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
12682		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
12683	}
12684
12685	if invalidParams.Len() > 0 {
12686		return invalidParams
12687	}
12688	return nil
12689}
12690
12691// SetComplianceTypes sets the ComplianceTypes field's value.
12692func (s *DescribeComplianceByResourceInput) SetComplianceTypes(v []*string) *DescribeComplianceByResourceInput {
12693	s.ComplianceTypes = v
12694	return s
12695}
12696
12697// SetLimit sets the Limit field's value.
12698func (s *DescribeComplianceByResourceInput) SetLimit(v int64) *DescribeComplianceByResourceInput {
12699	s.Limit = &v
12700	return s
12701}
12702
12703// SetNextToken sets the NextToken field's value.
12704func (s *DescribeComplianceByResourceInput) SetNextToken(v string) *DescribeComplianceByResourceInput {
12705	s.NextToken = &v
12706	return s
12707}
12708
12709// SetResourceId sets the ResourceId field's value.
12710func (s *DescribeComplianceByResourceInput) SetResourceId(v string) *DescribeComplianceByResourceInput {
12711	s.ResourceId = &v
12712	return s
12713}
12714
12715// SetResourceType sets the ResourceType field's value.
12716func (s *DescribeComplianceByResourceInput) SetResourceType(v string) *DescribeComplianceByResourceInput {
12717	s.ResourceType = &v
12718	return s
12719}
12720
12721type DescribeComplianceByResourceOutput struct {
12722	_ struct{} `type:"structure"`
12723
12724	// Indicates whether the specified AWS resource complies with all of the AWS
12725	// Config rules that evaluate it.
12726	ComplianceByResources []*ComplianceByResource `type:"list"`
12727
12728	// The string that you use in a subsequent request to get the next page of results
12729	// in a paginated response.
12730	NextToken *string `type:"string"`
12731}
12732
12733// String returns the string representation
12734func (s DescribeComplianceByResourceOutput) String() string {
12735	return awsutil.Prettify(s)
12736}
12737
12738// GoString returns the string representation
12739func (s DescribeComplianceByResourceOutput) GoString() string {
12740	return s.String()
12741}
12742
12743// SetComplianceByResources sets the ComplianceByResources field's value.
12744func (s *DescribeComplianceByResourceOutput) SetComplianceByResources(v []*ComplianceByResource) *DescribeComplianceByResourceOutput {
12745	s.ComplianceByResources = v
12746	return s
12747}
12748
12749// SetNextToken sets the NextToken field's value.
12750func (s *DescribeComplianceByResourceOutput) SetNextToken(v string) *DescribeComplianceByResourceOutput {
12751	s.NextToken = &v
12752	return s
12753}
12754
12755type DescribeConfigRuleEvaluationStatusInput struct {
12756	_ struct{} `type:"structure"`
12757
12758	// The name of the AWS managed Config rules for which you want status information.
12759	// If you do not specify any names, AWS Config returns status information for
12760	// all AWS managed Config rules that you use.
12761	ConfigRuleNames []*string `type:"list"`
12762
12763	// The number of rule evaluation results that you want returned.
12764	//
12765	// This parameter is required if the rule limit for your account is more than
12766	// the default of 150 rules.
12767	//
12768	// For information about requesting a rule limit increase, see AWS Config Limits
12769	// (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_config)
12770	// in the AWS General Reference Guide.
12771	Limit *int64 `type:"integer"`
12772
12773	// The nextToken string returned on a previous page that you use to get the
12774	// next page of results in a paginated response.
12775	NextToken *string `type:"string"`
12776}
12777
12778// String returns the string representation
12779func (s DescribeConfigRuleEvaluationStatusInput) String() string {
12780	return awsutil.Prettify(s)
12781}
12782
12783// GoString returns the string representation
12784func (s DescribeConfigRuleEvaluationStatusInput) GoString() string {
12785	return s.String()
12786}
12787
12788// SetConfigRuleNames sets the ConfigRuleNames field's value.
12789func (s *DescribeConfigRuleEvaluationStatusInput) SetConfigRuleNames(v []*string) *DescribeConfigRuleEvaluationStatusInput {
12790	s.ConfigRuleNames = v
12791	return s
12792}
12793
12794// SetLimit sets the Limit field's value.
12795func (s *DescribeConfigRuleEvaluationStatusInput) SetLimit(v int64) *DescribeConfigRuleEvaluationStatusInput {
12796	s.Limit = &v
12797	return s
12798}
12799
12800// SetNextToken sets the NextToken field's value.
12801func (s *DescribeConfigRuleEvaluationStatusInput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusInput {
12802	s.NextToken = &v
12803	return s
12804}
12805
12806type DescribeConfigRuleEvaluationStatusOutput struct {
12807	_ struct{} `type:"structure"`
12808
12809	// Status information about your AWS managed Config rules.
12810	ConfigRulesEvaluationStatus []*ConfigRuleEvaluationStatus `type:"list"`
12811
12812	// The string that you use in a subsequent request to get the next page of results
12813	// in a paginated response.
12814	NextToken *string `type:"string"`
12815}
12816
12817// String returns the string representation
12818func (s DescribeConfigRuleEvaluationStatusOutput) String() string {
12819	return awsutil.Prettify(s)
12820}
12821
12822// GoString returns the string representation
12823func (s DescribeConfigRuleEvaluationStatusOutput) GoString() string {
12824	return s.String()
12825}
12826
12827// SetConfigRulesEvaluationStatus sets the ConfigRulesEvaluationStatus field's value.
12828func (s *DescribeConfigRuleEvaluationStatusOutput) SetConfigRulesEvaluationStatus(v []*ConfigRuleEvaluationStatus) *DescribeConfigRuleEvaluationStatusOutput {
12829	s.ConfigRulesEvaluationStatus = v
12830	return s
12831}
12832
12833// SetNextToken sets the NextToken field's value.
12834func (s *DescribeConfigRuleEvaluationStatusOutput) SetNextToken(v string) *DescribeConfigRuleEvaluationStatusOutput {
12835	s.NextToken = &v
12836	return s
12837}
12838
12839type DescribeConfigRulesInput struct {
12840	_ struct{} `type:"structure"`
12841
12842	// The names of the AWS Config rules for which you want details. If you do not
12843	// specify any names, AWS Config returns details for all your rules.
12844	ConfigRuleNames []*string `type:"list"`
12845
12846	// The nextToken string returned on a previous page that you use to get the
12847	// next page of results in a paginated response.
12848	NextToken *string `type:"string"`
12849}
12850
12851// String returns the string representation
12852func (s DescribeConfigRulesInput) String() string {
12853	return awsutil.Prettify(s)
12854}
12855
12856// GoString returns the string representation
12857func (s DescribeConfigRulesInput) GoString() string {
12858	return s.String()
12859}
12860
12861// SetConfigRuleNames sets the ConfigRuleNames field's value.
12862func (s *DescribeConfigRulesInput) SetConfigRuleNames(v []*string) *DescribeConfigRulesInput {
12863	s.ConfigRuleNames = v
12864	return s
12865}
12866
12867// SetNextToken sets the NextToken field's value.
12868func (s *DescribeConfigRulesInput) SetNextToken(v string) *DescribeConfigRulesInput {
12869	s.NextToken = &v
12870	return s
12871}
12872
12873type DescribeConfigRulesOutput struct {
12874	_ struct{} `type:"structure"`
12875
12876	// The details about your AWS Config rules.
12877	ConfigRules []*ConfigRule `type:"list"`
12878
12879	// The string that you use in a subsequent request to get the next page of results
12880	// in a paginated response.
12881	NextToken *string `type:"string"`
12882}
12883
12884// String returns the string representation
12885func (s DescribeConfigRulesOutput) String() string {
12886	return awsutil.Prettify(s)
12887}
12888
12889// GoString returns the string representation
12890func (s DescribeConfigRulesOutput) GoString() string {
12891	return s.String()
12892}
12893
12894// SetConfigRules sets the ConfigRules field's value.
12895func (s *DescribeConfigRulesOutput) SetConfigRules(v []*ConfigRule) *DescribeConfigRulesOutput {
12896	s.ConfigRules = v
12897	return s
12898}
12899
12900// SetNextToken sets the NextToken field's value.
12901func (s *DescribeConfigRulesOutput) SetNextToken(v string) *DescribeConfigRulesOutput {
12902	s.NextToken = &v
12903	return s
12904}
12905
12906type DescribeConfigurationAggregatorSourcesStatusInput struct {
12907	_ struct{} `type:"structure"`
12908
12909	// The name of the configuration aggregator.
12910	//
12911	// ConfigurationAggregatorName is a required field
12912	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
12913
12914	// The maximum number of AggregatorSourceStatus returned on each page. The default
12915	// is maximum. If you specify 0, AWS Config uses the default.
12916	Limit *int64 `type:"integer"`
12917
12918	// The nextToken string returned on a previous page that you use to get the
12919	// next page of results in a paginated response.
12920	NextToken *string `type:"string"`
12921
12922	// Filters the status type.
12923	//
12924	//    * Valid value FAILED indicates errors while moving data.
12925	//
12926	//    * Valid value SUCCEEDED indicates the data was successfully moved.
12927	//
12928	//    * Valid value OUTDATED indicates the data is not the most recent.
12929	UpdateStatus []*string `min:"1" type:"list"`
12930}
12931
12932// String returns the string representation
12933func (s DescribeConfigurationAggregatorSourcesStatusInput) String() string {
12934	return awsutil.Prettify(s)
12935}
12936
12937// GoString returns the string representation
12938func (s DescribeConfigurationAggregatorSourcesStatusInput) GoString() string {
12939	return s.String()
12940}
12941
12942// Validate inspects the fields of the type to determine if they are valid.
12943func (s *DescribeConfigurationAggregatorSourcesStatusInput) Validate() error {
12944	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationAggregatorSourcesStatusInput"}
12945	if s.ConfigurationAggregatorName == nil {
12946		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
12947	}
12948	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
12949		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
12950	}
12951	if s.UpdateStatus != nil && len(s.UpdateStatus) < 1 {
12952		invalidParams.Add(request.NewErrParamMinLen("UpdateStatus", 1))
12953	}
12954
12955	if invalidParams.Len() > 0 {
12956		return invalidParams
12957	}
12958	return nil
12959}
12960
12961// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
12962func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetConfigurationAggregatorName(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
12963	s.ConfigurationAggregatorName = &v
12964	return s
12965}
12966
12967// SetLimit sets the Limit field's value.
12968func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetLimit(v int64) *DescribeConfigurationAggregatorSourcesStatusInput {
12969	s.Limit = &v
12970	return s
12971}
12972
12973// SetNextToken sets the NextToken field's value.
12974func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusInput {
12975	s.NextToken = &v
12976	return s
12977}
12978
12979// SetUpdateStatus sets the UpdateStatus field's value.
12980func (s *DescribeConfigurationAggregatorSourcesStatusInput) SetUpdateStatus(v []*string) *DescribeConfigurationAggregatorSourcesStatusInput {
12981	s.UpdateStatus = v
12982	return s
12983}
12984
12985type DescribeConfigurationAggregatorSourcesStatusOutput struct {
12986	_ struct{} `type:"structure"`
12987
12988	// Returns an AggregatedSourceStatus object.
12989	AggregatedSourceStatusList []*AggregatedSourceStatus `type:"list"`
12990
12991	// The nextToken string returned on a previous page that you use to get the
12992	// next page of results in a paginated response.
12993	NextToken *string `type:"string"`
12994}
12995
12996// String returns the string representation
12997func (s DescribeConfigurationAggregatorSourcesStatusOutput) String() string {
12998	return awsutil.Prettify(s)
12999}
13000
13001// GoString returns the string representation
13002func (s DescribeConfigurationAggregatorSourcesStatusOutput) GoString() string {
13003	return s.String()
13004}
13005
13006// SetAggregatedSourceStatusList sets the AggregatedSourceStatusList field's value.
13007func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetAggregatedSourceStatusList(v []*AggregatedSourceStatus) *DescribeConfigurationAggregatorSourcesStatusOutput {
13008	s.AggregatedSourceStatusList = v
13009	return s
13010}
13011
13012// SetNextToken sets the NextToken field's value.
13013func (s *DescribeConfigurationAggregatorSourcesStatusOutput) SetNextToken(v string) *DescribeConfigurationAggregatorSourcesStatusOutput {
13014	s.NextToken = &v
13015	return s
13016}
13017
13018type DescribeConfigurationAggregatorsInput struct {
13019	_ struct{} `type:"structure"`
13020
13021	// The name of the configuration aggregators.
13022	ConfigurationAggregatorNames []*string `type:"list"`
13023
13024	// The maximum number of configuration aggregators returned on each page. The
13025	// default is maximum. If you specify 0, AWS Config uses the default.
13026	Limit *int64 `type:"integer"`
13027
13028	// The nextToken string returned on a previous page that you use to get the
13029	// next page of results in a paginated response.
13030	NextToken *string `type:"string"`
13031}
13032
13033// String returns the string representation
13034func (s DescribeConfigurationAggregatorsInput) String() string {
13035	return awsutil.Prettify(s)
13036}
13037
13038// GoString returns the string representation
13039func (s DescribeConfigurationAggregatorsInput) GoString() string {
13040	return s.String()
13041}
13042
13043// SetConfigurationAggregatorNames sets the ConfigurationAggregatorNames field's value.
13044func (s *DescribeConfigurationAggregatorsInput) SetConfigurationAggregatorNames(v []*string) *DescribeConfigurationAggregatorsInput {
13045	s.ConfigurationAggregatorNames = v
13046	return s
13047}
13048
13049// SetLimit sets the Limit field's value.
13050func (s *DescribeConfigurationAggregatorsInput) SetLimit(v int64) *DescribeConfigurationAggregatorsInput {
13051	s.Limit = &v
13052	return s
13053}
13054
13055// SetNextToken sets the NextToken field's value.
13056func (s *DescribeConfigurationAggregatorsInput) SetNextToken(v string) *DescribeConfigurationAggregatorsInput {
13057	s.NextToken = &v
13058	return s
13059}
13060
13061type DescribeConfigurationAggregatorsOutput struct {
13062	_ struct{} `type:"structure"`
13063
13064	// Returns a ConfigurationAggregators object.
13065	ConfigurationAggregators []*ConfigurationAggregator `type:"list"`
13066
13067	// The nextToken string returned on a previous page that you use to get the
13068	// next page of results in a paginated response.
13069	NextToken *string `type:"string"`
13070}
13071
13072// String returns the string representation
13073func (s DescribeConfigurationAggregatorsOutput) String() string {
13074	return awsutil.Prettify(s)
13075}
13076
13077// GoString returns the string representation
13078func (s DescribeConfigurationAggregatorsOutput) GoString() string {
13079	return s.String()
13080}
13081
13082// SetConfigurationAggregators sets the ConfigurationAggregators field's value.
13083func (s *DescribeConfigurationAggregatorsOutput) SetConfigurationAggregators(v []*ConfigurationAggregator) *DescribeConfigurationAggregatorsOutput {
13084	s.ConfigurationAggregators = v
13085	return s
13086}
13087
13088// SetNextToken sets the NextToken field's value.
13089func (s *DescribeConfigurationAggregatorsOutput) SetNextToken(v string) *DescribeConfigurationAggregatorsOutput {
13090	s.NextToken = &v
13091	return s
13092}
13093
13094// The input for the DescribeConfigurationRecorderStatus action.
13095type DescribeConfigurationRecorderStatusInput struct {
13096	_ struct{} `type:"structure"`
13097
13098	// The name(s) of the configuration recorder. If the name is not specified,
13099	// the action returns the current status of all the configuration recorders
13100	// associated with the account.
13101	ConfigurationRecorderNames []*string `type:"list"`
13102}
13103
13104// String returns the string representation
13105func (s DescribeConfigurationRecorderStatusInput) String() string {
13106	return awsutil.Prettify(s)
13107}
13108
13109// GoString returns the string representation
13110func (s DescribeConfigurationRecorderStatusInput) GoString() string {
13111	return s.String()
13112}
13113
13114// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
13115func (s *DescribeConfigurationRecorderStatusInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecorderStatusInput {
13116	s.ConfigurationRecorderNames = v
13117	return s
13118}
13119
13120// The output for the DescribeConfigurationRecorderStatus action, in JSON format.
13121type DescribeConfigurationRecorderStatusOutput struct {
13122	_ struct{} `type:"structure"`
13123
13124	// A list that contains status of the specified recorders.
13125	ConfigurationRecordersStatus []*ConfigurationRecorderStatus `type:"list"`
13126}
13127
13128// String returns the string representation
13129func (s DescribeConfigurationRecorderStatusOutput) String() string {
13130	return awsutil.Prettify(s)
13131}
13132
13133// GoString returns the string representation
13134func (s DescribeConfigurationRecorderStatusOutput) GoString() string {
13135	return s.String()
13136}
13137
13138// SetConfigurationRecordersStatus sets the ConfigurationRecordersStatus field's value.
13139func (s *DescribeConfigurationRecorderStatusOutput) SetConfigurationRecordersStatus(v []*ConfigurationRecorderStatus) *DescribeConfigurationRecorderStatusOutput {
13140	s.ConfigurationRecordersStatus = v
13141	return s
13142}
13143
13144// The input for the DescribeConfigurationRecorders action.
13145type DescribeConfigurationRecordersInput struct {
13146	_ struct{} `type:"structure"`
13147
13148	// A list of configuration recorder names.
13149	ConfigurationRecorderNames []*string `type:"list"`
13150}
13151
13152// String returns the string representation
13153func (s DescribeConfigurationRecordersInput) String() string {
13154	return awsutil.Prettify(s)
13155}
13156
13157// GoString returns the string representation
13158func (s DescribeConfigurationRecordersInput) GoString() string {
13159	return s.String()
13160}
13161
13162// SetConfigurationRecorderNames sets the ConfigurationRecorderNames field's value.
13163func (s *DescribeConfigurationRecordersInput) SetConfigurationRecorderNames(v []*string) *DescribeConfigurationRecordersInput {
13164	s.ConfigurationRecorderNames = v
13165	return s
13166}
13167
13168// The output for the DescribeConfigurationRecorders action.
13169type DescribeConfigurationRecordersOutput struct {
13170	_ struct{} `type:"structure"`
13171
13172	// A list that contains the descriptions of the specified configuration recorders.
13173	ConfigurationRecorders []*ConfigurationRecorder `type:"list"`
13174}
13175
13176// String returns the string representation
13177func (s DescribeConfigurationRecordersOutput) String() string {
13178	return awsutil.Prettify(s)
13179}
13180
13181// GoString returns the string representation
13182func (s DescribeConfigurationRecordersOutput) GoString() string {
13183	return s.String()
13184}
13185
13186// SetConfigurationRecorders sets the ConfigurationRecorders field's value.
13187func (s *DescribeConfigurationRecordersOutput) SetConfigurationRecorders(v []*ConfigurationRecorder) *DescribeConfigurationRecordersOutput {
13188	s.ConfigurationRecorders = v
13189	return s
13190}
13191
13192type DescribeConformancePackComplianceInput struct {
13193	_ struct{} `type:"structure"`
13194
13195	// Name of the conformance pack.
13196	//
13197	// ConformancePackName is a required field
13198	ConformancePackName *string `min:"1" type:"string" required:"true"`
13199
13200	// A ConformancePackComplianceFilters object.
13201	Filters *ConformancePackComplianceFilters `type:"structure"`
13202
13203	// The maximum number of AWS Config rules within a conformance pack are returned
13204	// on each page.
13205	Limit *int64 `type:"integer"`
13206
13207	// The nextToken string returned in a previous request that you use to request
13208	// the next page of results in a paginated response.
13209	NextToken *string `type:"string"`
13210}
13211
13212// String returns the string representation
13213func (s DescribeConformancePackComplianceInput) String() string {
13214	return awsutil.Prettify(s)
13215}
13216
13217// GoString returns the string representation
13218func (s DescribeConformancePackComplianceInput) GoString() string {
13219	return s.String()
13220}
13221
13222// Validate inspects the fields of the type to determine if they are valid.
13223func (s *DescribeConformancePackComplianceInput) Validate() error {
13224	invalidParams := request.ErrInvalidParams{Context: "DescribeConformancePackComplianceInput"}
13225	if s.ConformancePackName == nil {
13226		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
13227	}
13228	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
13229		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
13230	}
13231
13232	if invalidParams.Len() > 0 {
13233		return invalidParams
13234	}
13235	return nil
13236}
13237
13238// SetConformancePackName sets the ConformancePackName field's value.
13239func (s *DescribeConformancePackComplianceInput) SetConformancePackName(v string) *DescribeConformancePackComplianceInput {
13240	s.ConformancePackName = &v
13241	return s
13242}
13243
13244// SetFilters sets the Filters field's value.
13245func (s *DescribeConformancePackComplianceInput) SetFilters(v *ConformancePackComplianceFilters) *DescribeConformancePackComplianceInput {
13246	s.Filters = v
13247	return s
13248}
13249
13250// SetLimit sets the Limit field's value.
13251func (s *DescribeConformancePackComplianceInput) SetLimit(v int64) *DescribeConformancePackComplianceInput {
13252	s.Limit = &v
13253	return s
13254}
13255
13256// SetNextToken sets the NextToken field's value.
13257func (s *DescribeConformancePackComplianceInput) SetNextToken(v string) *DescribeConformancePackComplianceInput {
13258	s.NextToken = &v
13259	return s
13260}
13261
13262type DescribeConformancePackComplianceOutput struct {
13263	_ struct{} `type:"structure"`
13264
13265	// Name of the conformance pack.
13266	//
13267	// ConformancePackName is a required field
13268	ConformancePackName *string `min:"1" type:"string" required:"true"`
13269
13270	// Returns a list of ConformancePackRuleCompliance objects.
13271	//
13272	// ConformancePackRuleComplianceList is a required field
13273	ConformancePackRuleComplianceList []*ConformancePackRuleCompliance `type:"list" required:"true"`
13274
13275	// The nextToken string returned in a previous request that you use to request
13276	// the next page of results in a paginated response.
13277	NextToken *string `type:"string"`
13278}
13279
13280// String returns the string representation
13281func (s DescribeConformancePackComplianceOutput) String() string {
13282	return awsutil.Prettify(s)
13283}
13284
13285// GoString returns the string representation
13286func (s DescribeConformancePackComplianceOutput) GoString() string {
13287	return s.String()
13288}
13289
13290// SetConformancePackName sets the ConformancePackName field's value.
13291func (s *DescribeConformancePackComplianceOutput) SetConformancePackName(v string) *DescribeConformancePackComplianceOutput {
13292	s.ConformancePackName = &v
13293	return s
13294}
13295
13296// SetConformancePackRuleComplianceList sets the ConformancePackRuleComplianceList field's value.
13297func (s *DescribeConformancePackComplianceOutput) SetConformancePackRuleComplianceList(v []*ConformancePackRuleCompliance) *DescribeConformancePackComplianceOutput {
13298	s.ConformancePackRuleComplianceList = v
13299	return s
13300}
13301
13302// SetNextToken sets the NextToken field's value.
13303func (s *DescribeConformancePackComplianceOutput) SetNextToken(v string) *DescribeConformancePackComplianceOutput {
13304	s.NextToken = &v
13305	return s
13306}
13307
13308type DescribeConformancePackStatusInput struct {
13309	_ struct{} `type:"structure"`
13310
13311	// Comma-separated list of conformance pack names.
13312	ConformancePackNames []*string `type:"list"`
13313
13314	// The maximum number of conformance packs status returned on each page.
13315	Limit *int64 `type:"integer"`
13316
13317	// The nextToken string returned in a previous request that you use to request
13318	// the next page of results in a paginated response.
13319	NextToken *string `type:"string"`
13320}
13321
13322// String returns the string representation
13323func (s DescribeConformancePackStatusInput) String() string {
13324	return awsutil.Prettify(s)
13325}
13326
13327// GoString returns the string representation
13328func (s DescribeConformancePackStatusInput) GoString() string {
13329	return s.String()
13330}
13331
13332// SetConformancePackNames sets the ConformancePackNames field's value.
13333func (s *DescribeConformancePackStatusInput) SetConformancePackNames(v []*string) *DescribeConformancePackStatusInput {
13334	s.ConformancePackNames = v
13335	return s
13336}
13337
13338// SetLimit sets the Limit field's value.
13339func (s *DescribeConformancePackStatusInput) SetLimit(v int64) *DescribeConformancePackStatusInput {
13340	s.Limit = &v
13341	return s
13342}
13343
13344// SetNextToken sets the NextToken field's value.
13345func (s *DescribeConformancePackStatusInput) SetNextToken(v string) *DescribeConformancePackStatusInput {
13346	s.NextToken = &v
13347	return s
13348}
13349
13350type DescribeConformancePackStatusOutput struct {
13351	_ struct{} `type:"structure"`
13352
13353	// A list of ConformancePackStatusDetail objects.
13354	ConformancePackStatusDetails []*ConformancePackStatusDetail `type:"list"`
13355
13356	// The nextToken string returned in a previous request that you use to request
13357	// the next page of results in a paginated response.
13358	NextToken *string `type:"string"`
13359}
13360
13361// String returns the string representation
13362func (s DescribeConformancePackStatusOutput) String() string {
13363	return awsutil.Prettify(s)
13364}
13365
13366// GoString returns the string representation
13367func (s DescribeConformancePackStatusOutput) GoString() string {
13368	return s.String()
13369}
13370
13371// SetConformancePackStatusDetails sets the ConformancePackStatusDetails field's value.
13372func (s *DescribeConformancePackStatusOutput) SetConformancePackStatusDetails(v []*ConformancePackStatusDetail) *DescribeConformancePackStatusOutput {
13373	s.ConformancePackStatusDetails = v
13374	return s
13375}
13376
13377// SetNextToken sets the NextToken field's value.
13378func (s *DescribeConformancePackStatusOutput) SetNextToken(v string) *DescribeConformancePackStatusOutput {
13379	s.NextToken = &v
13380	return s
13381}
13382
13383type DescribeConformancePacksInput struct {
13384	_ struct{} `type:"structure"`
13385
13386	// Comma-separated list of conformance pack names for which you want details.
13387	// If you do not specify any names, AWS Config returns details for all your
13388	// conformance packs.
13389	ConformancePackNames []*string `type:"list"`
13390
13391	// The maximum number of conformance packs returned on each page.
13392	Limit *int64 `type:"integer"`
13393
13394	// The nextToken string returned in a previous request that you use to request
13395	// the next page of results in a paginated response.
13396	NextToken *string `type:"string"`
13397}
13398
13399// String returns the string representation
13400func (s DescribeConformancePacksInput) String() string {
13401	return awsutil.Prettify(s)
13402}
13403
13404// GoString returns the string representation
13405func (s DescribeConformancePacksInput) GoString() string {
13406	return s.String()
13407}
13408
13409// SetConformancePackNames sets the ConformancePackNames field's value.
13410func (s *DescribeConformancePacksInput) SetConformancePackNames(v []*string) *DescribeConformancePacksInput {
13411	s.ConformancePackNames = v
13412	return s
13413}
13414
13415// SetLimit sets the Limit field's value.
13416func (s *DescribeConformancePacksInput) SetLimit(v int64) *DescribeConformancePacksInput {
13417	s.Limit = &v
13418	return s
13419}
13420
13421// SetNextToken sets the NextToken field's value.
13422func (s *DescribeConformancePacksInput) SetNextToken(v string) *DescribeConformancePacksInput {
13423	s.NextToken = &v
13424	return s
13425}
13426
13427type DescribeConformancePacksOutput struct {
13428	_ struct{} `type:"structure"`
13429
13430	// Returns a list of ConformancePackDetail objects.
13431	ConformancePackDetails []*ConformancePackDetail `type:"list"`
13432
13433	// The nextToken string returned in a previous request that you use to request
13434	// the next page of results in a paginated response.
13435	NextToken *string `type:"string"`
13436}
13437
13438// String returns the string representation
13439func (s DescribeConformancePacksOutput) String() string {
13440	return awsutil.Prettify(s)
13441}
13442
13443// GoString returns the string representation
13444func (s DescribeConformancePacksOutput) GoString() string {
13445	return s.String()
13446}
13447
13448// SetConformancePackDetails sets the ConformancePackDetails field's value.
13449func (s *DescribeConformancePacksOutput) SetConformancePackDetails(v []*ConformancePackDetail) *DescribeConformancePacksOutput {
13450	s.ConformancePackDetails = v
13451	return s
13452}
13453
13454// SetNextToken sets the NextToken field's value.
13455func (s *DescribeConformancePacksOutput) SetNextToken(v string) *DescribeConformancePacksOutput {
13456	s.NextToken = &v
13457	return s
13458}
13459
13460// The input for the DeliveryChannelStatus action.
13461type DescribeDeliveryChannelStatusInput struct {
13462	_ struct{} `type:"structure"`
13463
13464	// A list of delivery channel names.
13465	DeliveryChannelNames []*string `type:"list"`
13466}
13467
13468// String returns the string representation
13469func (s DescribeDeliveryChannelStatusInput) String() string {
13470	return awsutil.Prettify(s)
13471}
13472
13473// GoString returns the string representation
13474func (s DescribeDeliveryChannelStatusInput) GoString() string {
13475	return s.String()
13476}
13477
13478// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
13479func (s *DescribeDeliveryChannelStatusInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelStatusInput {
13480	s.DeliveryChannelNames = v
13481	return s
13482}
13483
13484// The output for the DescribeDeliveryChannelStatus action.
13485type DescribeDeliveryChannelStatusOutput struct {
13486	_ struct{} `type:"structure"`
13487
13488	// A list that contains the status of a specified delivery channel.
13489	DeliveryChannelsStatus []*DeliveryChannelStatus `type:"list"`
13490}
13491
13492// String returns the string representation
13493func (s DescribeDeliveryChannelStatusOutput) String() string {
13494	return awsutil.Prettify(s)
13495}
13496
13497// GoString returns the string representation
13498func (s DescribeDeliveryChannelStatusOutput) GoString() string {
13499	return s.String()
13500}
13501
13502// SetDeliveryChannelsStatus sets the DeliveryChannelsStatus field's value.
13503func (s *DescribeDeliveryChannelStatusOutput) SetDeliveryChannelsStatus(v []*DeliveryChannelStatus) *DescribeDeliveryChannelStatusOutput {
13504	s.DeliveryChannelsStatus = v
13505	return s
13506}
13507
13508// The input for the DescribeDeliveryChannels action.
13509type DescribeDeliveryChannelsInput struct {
13510	_ struct{} `type:"structure"`
13511
13512	// A list of delivery channel names.
13513	DeliveryChannelNames []*string `type:"list"`
13514}
13515
13516// String returns the string representation
13517func (s DescribeDeliveryChannelsInput) String() string {
13518	return awsutil.Prettify(s)
13519}
13520
13521// GoString returns the string representation
13522func (s DescribeDeliveryChannelsInput) GoString() string {
13523	return s.String()
13524}
13525
13526// SetDeliveryChannelNames sets the DeliveryChannelNames field's value.
13527func (s *DescribeDeliveryChannelsInput) SetDeliveryChannelNames(v []*string) *DescribeDeliveryChannelsInput {
13528	s.DeliveryChannelNames = v
13529	return s
13530}
13531
13532// The output for the DescribeDeliveryChannels action.
13533type DescribeDeliveryChannelsOutput struct {
13534	_ struct{} `type:"structure"`
13535
13536	// A list that contains the descriptions of the specified delivery channel.
13537	DeliveryChannels []*DeliveryChannel `type:"list"`
13538}
13539
13540// String returns the string representation
13541func (s DescribeDeliveryChannelsOutput) String() string {
13542	return awsutil.Prettify(s)
13543}
13544
13545// GoString returns the string representation
13546func (s DescribeDeliveryChannelsOutput) GoString() string {
13547	return s.String()
13548}
13549
13550// SetDeliveryChannels sets the DeliveryChannels field's value.
13551func (s *DescribeDeliveryChannelsOutput) SetDeliveryChannels(v []*DeliveryChannel) *DescribeDeliveryChannelsOutput {
13552	s.DeliveryChannels = v
13553	return s
13554}
13555
13556type DescribeOrganizationConfigRuleStatusesInput struct {
13557	_ struct{} `type:"structure"`
13558
13559	// The maximum number of OrganizationConfigRuleStatuses returned on each page.
13560	// If you do no specify a number, AWS Config uses the default. The default is
13561	// 100.
13562	Limit *int64 `type:"integer"`
13563
13564	// The nextToken string returned on a previous page that you use to get the
13565	// next page of results in a paginated response.
13566	NextToken *string `type:"string"`
13567
13568	// The names of organization config rules for which you want status details.
13569	// If you do not specify any names, AWS Config returns details for all your
13570	// organization AWS Confg rules.
13571	OrganizationConfigRuleNames []*string `type:"list"`
13572}
13573
13574// String returns the string representation
13575func (s DescribeOrganizationConfigRuleStatusesInput) String() string {
13576	return awsutil.Prettify(s)
13577}
13578
13579// GoString returns the string representation
13580func (s DescribeOrganizationConfigRuleStatusesInput) GoString() string {
13581	return s.String()
13582}
13583
13584// SetLimit sets the Limit field's value.
13585func (s *DescribeOrganizationConfigRuleStatusesInput) SetLimit(v int64) *DescribeOrganizationConfigRuleStatusesInput {
13586	s.Limit = &v
13587	return s
13588}
13589
13590// SetNextToken sets the NextToken field's value.
13591func (s *DescribeOrganizationConfigRuleStatusesInput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesInput {
13592	s.NextToken = &v
13593	return s
13594}
13595
13596// SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
13597func (s *DescribeOrganizationConfigRuleStatusesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRuleStatusesInput {
13598	s.OrganizationConfigRuleNames = v
13599	return s
13600}
13601
13602type DescribeOrganizationConfigRuleStatusesOutput struct {
13603	_ struct{} `type:"structure"`
13604
13605	// The nextToken string returned on a previous page that you use to get the
13606	// next page of results in a paginated response.
13607	NextToken *string `type:"string"`
13608
13609	// A list of OrganizationConfigRuleStatus objects.
13610	OrganizationConfigRuleStatuses []*OrganizationConfigRuleStatus `type:"list"`
13611}
13612
13613// String returns the string representation
13614func (s DescribeOrganizationConfigRuleStatusesOutput) String() string {
13615	return awsutil.Prettify(s)
13616}
13617
13618// GoString returns the string representation
13619func (s DescribeOrganizationConfigRuleStatusesOutput) GoString() string {
13620	return s.String()
13621}
13622
13623// SetNextToken sets the NextToken field's value.
13624func (s *DescribeOrganizationConfigRuleStatusesOutput) SetNextToken(v string) *DescribeOrganizationConfigRuleStatusesOutput {
13625	s.NextToken = &v
13626	return s
13627}
13628
13629// SetOrganizationConfigRuleStatuses sets the OrganizationConfigRuleStatuses field's value.
13630func (s *DescribeOrganizationConfigRuleStatusesOutput) SetOrganizationConfigRuleStatuses(v []*OrganizationConfigRuleStatus) *DescribeOrganizationConfigRuleStatusesOutput {
13631	s.OrganizationConfigRuleStatuses = v
13632	return s
13633}
13634
13635type DescribeOrganizationConfigRulesInput struct {
13636	_ struct{} `type:"structure"`
13637
13638	// The maximum number of organization config rules returned on each page. If
13639	// you do no specify a number, AWS Config uses the default. The default is 100.
13640	Limit *int64 `type:"integer"`
13641
13642	// The nextToken string returned on a previous page that you use to get the
13643	// next page of results in a paginated response.
13644	NextToken *string `type:"string"`
13645
13646	// The names of organization config rules for which you want details. If you
13647	// do not specify any names, AWS Config returns details for all your organization
13648	// config rules.
13649	OrganizationConfigRuleNames []*string `type:"list"`
13650}
13651
13652// String returns the string representation
13653func (s DescribeOrganizationConfigRulesInput) String() string {
13654	return awsutil.Prettify(s)
13655}
13656
13657// GoString returns the string representation
13658func (s DescribeOrganizationConfigRulesInput) GoString() string {
13659	return s.String()
13660}
13661
13662// SetLimit sets the Limit field's value.
13663func (s *DescribeOrganizationConfigRulesInput) SetLimit(v int64) *DescribeOrganizationConfigRulesInput {
13664	s.Limit = &v
13665	return s
13666}
13667
13668// SetNextToken sets the NextToken field's value.
13669func (s *DescribeOrganizationConfigRulesInput) SetNextToken(v string) *DescribeOrganizationConfigRulesInput {
13670	s.NextToken = &v
13671	return s
13672}
13673
13674// SetOrganizationConfigRuleNames sets the OrganizationConfigRuleNames field's value.
13675func (s *DescribeOrganizationConfigRulesInput) SetOrganizationConfigRuleNames(v []*string) *DescribeOrganizationConfigRulesInput {
13676	s.OrganizationConfigRuleNames = v
13677	return s
13678}
13679
13680type DescribeOrganizationConfigRulesOutput struct {
13681	_ struct{} `type:"structure"`
13682
13683	// The nextToken string returned on a previous page that you use to get the
13684	// next page of results in a paginated response.
13685	NextToken *string `type:"string"`
13686
13687	// Returns a list of OrganizationConfigRule objects.
13688	OrganizationConfigRules []*OrganizationConfigRule `type:"list"`
13689}
13690
13691// String returns the string representation
13692func (s DescribeOrganizationConfigRulesOutput) String() string {
13693	return awsutil.Prettify(s)
13694}
13695
13696// GoString returns the string representation
13697func (s DescribeOrganizationConfigRulesOutput) GoString() string {
13698	return s.String()
13699}
13700
13701// SetNextToken sets the NextToken field's value.
13702func (s *DescribeOrganizationConfigRulesOutput) SetNextToken(v string) *DescribeOrganizationConfigRulesOutput {
13703	s.NextToken = &v
13704	return s
13705}
13706
13707// SetOrganizationConfigRules sets the OrganizationConfigRules field's value.
13708func (s *DescribeOrganizationConfigRulesOutput) SetOrganizationConfigRules(v []*OrganizationConfigRule) *DescribeOrganizationConfigRulesOutput {
13709	s.OrganizationConfigRules = v
13710	return s
13711}
13712
13713type DescribeOrganizationConformancePackStatusesInput struct {
13714	_ struct{} `type:"structure"`
13715
13716	// The maximum number of OrganizationConformancePackStatuses returned on each
13717	// page. If you do no specify a number, AWS Config uses the default. The default
13718	// is 100.
13719	Limit *int64 `type:"integer"`
13720
13721	// The nextToken string returned on a previous page that you use to get the
13722	// next page of results in a paginated response.
13723	NextToken *string `type:"string"`
13724
13725	// The names of organization conformance packs for which you want status details.
13726	// If you do not specify any names, AWS Config returns details for all your
13727	// organization conformance packs.
13728	OrganizationConformancePackNames []*string `type:"list"`
13729}
13730
13731// String returns the string representation
13732func (s DescribeOrganizationConformancePackStatusesInput) String() string {
13733	return awsutil.Prettify(s)
13734}
13735
13736// GoString returns the string representation
13737func (s DescribeOrganizationConformancePackStatusesInput) GoString() string {
13738	return s.String()
13739}
13740
13741// SetLimit sets the Limit field's value.
13742func (s *DescribeOrganizationConformancePackStatusesInput) SetLimit(v int64) *DescribeOrganizationConformancePackStatusesInput {
13743	s.Limit = &v
13744	return s
13745}
13746
13747// SetNextToken sets the NextToken field's value.
13748func (s *DescribeOrganizationConformancePackStatusesInput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesInput {
13749	s.NextToken = &v
13750	return s
13751}
13752
13753// SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
13754func (s *DescribeOrganizationConformancePackStatusesInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePackStatusesInput {
13755	s.OrganizationConformancePackNames = v
13756	return s
13757}
13758
13759type DescribeOrganizationConformancePackStatusesOutput struct {
13760	_ struct{} `type:"structure"`
13761
13762	// The nextToken string returned on a previous page that you use to get the
13763	// next page of results in a paginated response.
13764	NextToken *string `type:"string"`
13765
13766	// A list of OrganizationConformancePackStatus objects.
13767	OrganizationConformancePackStatuses []*OrganizationConformancePackStatus `type:"list"`
13768}
13769
13770// String returns the string representation
13771func (s DescribeOrganizationConformancePackStatusesOutput) String() string {
13772	return awsutil.Prettify(s)
13773}
13774
13775// GoString returns the string representation
13776func (s DescribeOrganizationConformancePackStatusesOutput) GoString() string {
13777	return s.String()
13778}
13779
13780// SetNextToken sets the NextToken field's value.
13781func (s *DescribeOrganizationConformancePackStatusesOutput) SetNextToken(v string) *DescribeOrganizationConformancePackStatusesOutput {
13782	s.NextToken = &v
13783	return s
13784}
13785
13786// SetOrganizationConformancePackStatuses sets the OrganizationConformancePackStatuses field's value.
13787func (s *DescribeOrganizationConformancePackStatusesOutput) SetOrganizationConformancePackStatuses(v []*OrganizationConformancePackStatus) *DescribeOrganizationConformancePackStatusesOutput {
13788	s.OrganizationConformancePackStatuses = v
13789	return s
13790}
13791
13792type DescribeOrganizationConformancePacksInput struct {
13793	_ struct{} `type:"structure"`
13794
13795	// The maximum number of organization config packs returned on each page. If
13796	// you do no specify a number, AWS Config uses the default. The default is 100.
13797	Limit *int64 `type:"integer"`
13798
13799	// The nextToken string returned on a previous page that you use to get the
13800	// next page of results in a paginated response.
13801	NextToken *string `type:"string"`
13802
13803	// The name that you assign to an organization conformance pack.
13804	OrganizationConformancePackNames []*string `type:"list"`
13805}
13806
13807// String returns the string representation
13808func (s DescribeOrganizationConformancePacksInput) String() string {
13809	return awsutil.Prettify(s)
13810}
13811
13812// GoString returns the string representation
13813func (s DescribeOrganizationConformancePacksInput) GoString() string {
13814	return s.String()
13815}
13816
13817// SetLimit sets the Limit field's value.
13818func (s *DescribeOrganizationConformancePacksInput) SetLimit(v int64) *DescribeOrganizationConformancePacksInput {
13819	s.Limit = &v
13820	return s
13821}
13822
13823// SetNextToken sets the NextToken field's value.
13824func (s *DescribeOrganizationConformancePacksInput) SetNextToken(v string) *DescribeOrganizationConformancePacksInput {
13825	s.NextToken = &v
13826	return s
13827}
13828
13829// SetOrganizationConformancePackNames sets the OrganizationConformancePackNames field's value.
13830func (s *DescribeOrganizationConformancePacksInput) SetOrganizationConformancePackNames(v []*string) *DescribeOrganizationConformancePacksInput {
13831	s.OrganizationConformancePackNames = v
13832	return s
13833}
13834
13835type DescribeOrganizationConformancePacksOutput struct {
13836	_ struct{} `type:"structure"`
13837
13838	// The nextToken string returned on a previous page that you use to get the
13839	// next page of results in a paginated response.
13840	NextToken *string `type:"string"`
13841
13842	// Returns a list of OrganizationConformancePacks objects.
13843	OrganizationConformancePacks []*OrganizationConformancePack `type:"list"`
13844}
13845
13846// String returns the string representation
13847func (s DescribeOrganizationConformancePacksOutput) String() string {
13848	return awsutil.Prettify(s)
13849}
13850
13851// GoString returns the string representation
13852func (s DescribeOrganizationConformancePacksOutput) GoString() string {
13853	return s.String()
13854}
13855
13856// SetNextToken sets the NextToken field's value.
13857func (s *DescribeOrganizationConformancePacksOutput) SetNextToken(v string) *DescribeOrganizationConformancePacksOutput {
13858	s.NextToken = &v
13859	return s
13860}
13861
13862// SetOrganizationConformancePacks sets the OrganizationConformancePacks field's value.
13863func (s *DescribeOrganizationConformancePacksOutput) SetOrganizationConformancePacks(v []*OrganizationConformancePack) *DescribeOrganizationConformancePacksOutput {
13864	s.OrganizationConformancePacks = v
13865	return s
13866}
13867
13868type DescribePendingAggregationRequestsInput struct {
13869	_ struct{} `type:"structure"`
13870
13871	// The maximum number of evaluation results returned on each page. The default
13872	// is maximum. If you specify 0, AWS Config uses the default.
13873	Limit *int64 `type:"integer"`
13874
13875	// The nextToken string returned on a previous page that you use to get the
13876	// next page of results in a paginated response.
13877	NextToken *string `type:"string"`
13878}
13879
13880// String returns the string representation
13881func (s DescribePendingAggregationRequestsInput) String() string {
13882	return awsutil.Prettify(s)
13883}
13884
13885// GoString returns the string representation
13886func (s DescribePendingAggregationRequestsInput) GoString() string {
13887	return s.String()
13888}
13889
13890// SetLimit sets the Limit field's value.
13891func (s *DescribePendingAggregationRequestsInput) SetLimit(v int64) *DescribePendingAggregationRequestsInput {
13892	s.Limit = &v
13893	return s
13894}
13895
13896// SetNextToken sets the NextToken field's value.
13897func (s *DescribePendingAggregationRequestsInput) SetNextToken(v string) *DescribePendingAggregationRequestsInput {
13898	s.NextToken = &v
13899	return s
13900}
13901
13902type DescribePendingAggregationRequestsOutput struct {
13903	_ struct{} `type:"structure"`
13904
13905	// The nextToken string returned on a previous page that you use to get the
13906	// next page of results in a paginated response.
13907	NextToken *string `type:"string"`
13908
13909	// Returns a PendingAggregationRequests object.
13910	PendingAggregationRequests []*PendingAggregationRequest `type:"list"`
13911}
13912
13913// String returns the string representation
13914func (s DescribePendingAggregationRequestsOutput) String() string {
13915	return awsutil.Prettify(s)
13916}
13917
13918// GoString returns the string representation
13919func (s DescribePendingAggregationRequestsOutput) GoString() string {
13920	return s.String()
13921}
13922
13923// SetNextToken sets the NextToken field's value.
13924func (s *DescribePendingAggregationRequestsOutput) SetNextToken(v string) *DescribePendingAggregationRequestsOutput {
13925	s.NextToken = &v
13926	return s
13927}
13928
13929// SetPendingAggregationRequests sets the PendingAggregationRequests field's value.
13930func (s *DescribePendingAggregationRequestsOutput) SetPendingAggregationRequests(v []*PendingAggregationRequest) *DescribePendingAggregationRequestsOutput {
13931	s.PendingAggregationRequests = v
13932	return s
13933}
13934
13935type DescribeRemediationConfigurationsInput struct {
13936	_ struct{} `type:"structure"`
13937
13938	// A list of AWS Config rule names of remediation configurations for which you
13939	// want details.
13940	//
13941	// ConfigRuleNames is a required field
13942	ConfigRuleNames []*string `type:"list" required:"true"`
13943}
13944
13945// String returns the string representation
13946func (s DescribeRemediationConfigurationsInput) String() string {
13947	return awsutil.Prettify(s)
13948}
13949
13950// GoString returns the string representation
13951func (s DescribeRemediationConfigurationsInput) GoString() string {
13952	return s.String()
13953}
13954
13955// Validate inspects the fields of the type to determine if they are valid.
13956func (s *DescribeRemediationConfigurationsInput) Validate() error {
13957	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationConfigurationsInput"}
13958	if s.ConfigRuleNames == nil {
13959		invalidParams.Add(request.NewErrParamRequired("ConfigRuleNames"))
13960	}
13961
13962	if invalidParams.Len() > 0 {
13963		return invalidParams
13964	}
13965	return nil
13966}
13967
13968// SetConfigRuleNames sets the ConfigRuleNames field's value.
13969func (s *DescribeRemediationConfigurationsInput) SetConfigRuleNames(v []*string) *DescribeRemediationConfigurationsInput {
13970	s.ConfigRuleNames = v
13971	return s
13972}
13973
13974type DescribeRemediationConfigurationsOutput struct {
13975	_ struct{} `type:"structure"`
13976
13977	// Returns a remediation configuration object.
13978	RemediationConfigurations []*RemediationConfiguration `type:"list"`
13979}
13980
13981// String returns the string representation
13982func (s DescribeRemediationConfigurationsOutput) String() string {
13983	return awsutil.Prettify(s)
13984}
13985
13986// GoString returns the string representation
13987func (s DescribeRemediationConfigurationsOutput) GoString() string {
13988	return s.String()
13989}
13990
13991// SetRemediationConfigurations sets the RemediationConfigurations field's value.
13992func (s *DescribeRemediationConfigurationsOutput) SetRemediationConfigurations(v []*RemediationConfiguration) *DescribeRemediationConfigurationsOutput {
13993	s.RemediationConfigurations = v
13994	return s
13995}
13996
13997type DescribeRemediationExceptionsInput struct {
13998	_ struct{} `type:"structure"`
13999
14000	// The name of the AWS Config rule.
14001	//
14002	// ConfigRuleName is a required field
14003	ConfigRuleName *string `min:"1" type:"string" required:"true"`
14004
14005	// The maximum number of RemediationExceptionResourceKey returned on each page.
14006	// The default is 25. If you specify 0, AWS Config uses the default.
14007	Limit *int64 `type:"integer"`
14008
14009	// The nextToken string returned in a previous request that you use to request
14010	// the next page of results in a paginated response.
14011	NextToken *string `type:"string"`
14012
14013	// An exception list of resource exception keys to be processed with the current
14014	// request. AWS Config adds exception for each resource key. For example, AWS
14015	// Config adds 3 exceptions for 3 resource keys.
14016	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list"`
14017}
14018
14019// String returns the string representation
14020func (s DescribeRemediationExceptionsInput) String() string {
14021	return awsutil.Prettify(s)
14022}
14023
14024// GoString returns the string representation
14025func (s DescribeRemediationExceptionsInput) GoString() string {
14026	return s.String()
14027}
14028
14029// Validate inspects the fields of the type to determine if they are valid.
14030func (s *DescribeRemediationExceptionsInput) Validate() error {
14031	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExceptionsInput"}
14032	if s.ConfigRuleName == nil {
14033		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
14034	}
14035	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
14036		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
14037	}
14038	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
14039		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
14040	}
14041	if s.ResourceKeys != nil {
14042		for i, v := range s.ResourceKeys {
14043			if v == nil {
14044				continue
14045			}
14046			if err := v.Validate(); err != nil {
14047				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
14048			}
14049		}
14050	}
14051
14052	if invalidParams.Len() > 0 {
14053		return invalidParams
14054	}
14055	return nil
14056}
14057
14058// SetConfigRuleName sets the ConfigRuleName field's value.
14059func (s *DescribeRemediationExceptionsInput) SetConfigRuleName(v string) *DescribeRemediationExceptionsInput {
14060	s.ConfigRuleName = &v
14061	return s
14062}
14063
14064// SetLimit sets the Limit field's value.
14065func (s *DescribeRemediationExceptionsInput) SetLimit(v int64) *DescribeRemediationExceptionsInput {
14066	s.Limit = &v
14067	return s
14068}
14069
14070// SetNextToken sets the NextToken field's value.
14071func (s *DescribeRemediationExceptionsInput) SetNextToken(v string) *DescribeRemediationExceptionsInput {
14072	s.NextToken = &v
14073	return s
14074}
14075
14076// SetResourceKeys sets the ResourceKeys field's value.
14077func (s *DescribeRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *DescribeRemediationExceptionsInput {
14078	s.ResourceKeys = v
14079	return s
14080}
14081
14082type DescribeRemediationExceptionsOutput struct {
14083	_ struct{} `type:"structure"`
14084
14085	// The nextToken string returned in a previous request that you use to request
14086	// the next page of results in a paginated response.
14087	NextToken *string `type:"string"`
14088
14089	// Returns a list of remediation exception objects.
14090	RemediationExceptions []*RemediationException `type:"list"`
14091}
14092
14093// String returns the string representation
14094func (s DescribeRemediationExceptionsOutput) String() string {
14095	return awsutil.Prettify(s)
14096}
14097
14098// GoString returns the string representation
14099func (s DescribeRemediationExceptionsOutput) GoString() string {
14100	return s.String()
14101}
14102
14103// SetNextToken sets the NextToken field's value.
14104func (s *DescribeRemediationExceptionsOutput) SetNextToken(v string) *DescribeRemediationExceptionsOutput {
14105	s.NextToken = &v
14106	return s
14107}
14108
14109// SetRemediationExceptions sets the RemediationExceptions field's value.
14110func (s *DescribeRemediationExceptionsOutput) SetRemediationExceptions(v []*RemediationException) *DescribeRemediationExceptionsOutput {
14111	s.RemediationExceptions = v
14112	return s
14113}
14114
14115type DescribeRemediationExecutionStatusInput struct {
14116	_ struct{} `type:"structure"`
14117
14118	// A list of AWS Config rule names.
14119	//
14120	// ConfigRuleName is a required field
14121	ConfigRuleName *string `min:"1" type:"string" required:"true"`
14122
14123	// The maximum number of RemediationExecutionStatuses returned on each page.
14124	// The default is maximum. If you specify 0, AWS Config uses the default.
14125	Limit *int64 `type:"integer"`
14126
14127	// The nextToken string returned on a previous page that you use to get the
14128	// next page of results in a paginated response.
14129	NextToken *string `type:"string"`
14130
14131	// A list of resource keys to be processed with the current request. Each element
14132	// in the list consists of the resource type and resource ID.
14133	ResourceKeys []*ResourceKey `min:"1" type:"list"`
14134}
14135
14136// String returns the string representation
14137func (s DescribeRemediationExecutionStatusInput) String() string {
14138	return awsutil.Prettify(s)
14139}
14140
14141// GoString returns the string representation
14142func (s DescribeRemediationExecutionStatusInput) GoString() string {
14143	return s.String()
14144}
14145
14146// Validate inspects the fields of the type to determine if they are valid.
14147func (s *DescribeRemediationExecutionStatusInput) Validate() error {
14148	invalidParams := request.ErrInvalidParams{Context: "DescribeRemediationExecutionStatusInput"}
14149	if s.ConfigRuleName == nil {
14150		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
14151	}
14152	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
14153		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
14154	}
14155	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
14156		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
14157	}
14158	if s.ResourceKeys != nil {
14159		for i, v := range s.ResourceKeys {
14160			if v == nil {
14161				continue
14162			}
14163			if err := v.Validate(); err != nil {
14164				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
14165			}
14166		}
14167	}
14168
14169	if invalidParams.Len() > 0 {
14170		return invalidParams
14171	}
14172	return nil
14173}
14174
14175// SetConfigRuleName sets the ConfigRuleName field's value.
14176func (s *DescribeRemediationExecutionStatusInput) SetConfigRuleName(v string) *DescribeRemediationExecutionStatusInput {
14177	s.ConfigRuleName = &v
14178	return s
14179}
14180
14181// SetLimit sets the Limit field's value.
14182func (s *DescribeRemediationExecutionStatusInput) SetLimit(v int64) *DescribeRemediationExecutionStatusInput {
14183	s.Limit = &v
14184	return s
14185}
14186
14187// SetNextToken sets the NextToken field's value.
14188func (s *DescribeRemediationExecutionStatusInput) SetNextToken(v string) *DescribeRemediationExecutionStatusInput {
14189	s.NextToken = &v
14190	return s
14191}
14192
14193// SetResourceKeys sets the ResourceKeys field's value.
14194func (s *DescribeRemediationExecutionStatusInput) SetResourceKeys(v []*ResourceKey) *DescribeRemediationExecutionStatusInput {
14195	s.ResourceKeys = v
14196	return s
14197}
14198
14199type DescribeRemediationExecutionStatusOutput struct {
14200	_ struct{} `type:"structure"`
14201
14202	// The nextToken string returned on a previous page that you use to get the
14203	// next page of results in a paginated response.
14204	NextToken *string `type:"string"`
14205
14206	// Returns a list of remediation execution statuses objects.
14207	RemediationExecutionStatuses []*RemediationExecutionStatus `type:"list"`
14208}
14209
14210// String returns the string representation
14211func (s DescribeRemediationExecutionStatusOutput) String() string {
14212	return awsutil.Prettify(s)
14213}
14214
14215// GoString returns the string representation
14216func (s DescribeRemediationExecutionStatusOutput) GoString() string {
14217	return s.String()
14218}
14219
14220// SetNextToken sets the NextToken field's value.
14221func (s *DescribeRemediationExecutionStatusOutput) SetNextToken(v string) *DescribeRemediationExecutionStatusOutput {
14222	s.NextToken = &v
14223	return s
14224}
14225
14226// SetRemediationExecutionStatuses sets the RemediationExecutionStatuses field's value.
14227func (s *DescribeRemediationExecutionStatusOutput) SetRemediationExecutionStatuses(v []*RemediationExecutionStatus) *DescribeRemediationExecutionStatusOutput {
14228	s.RemediationExecutionStatuses = v
14229	return s
14230}
14231
14232type DescribeRetentionConfigurationsInput struct {
14233	_ struct{} `type:"structure"`
14234
14235	// The nextToken string returned on a previous page that you use to get the
14236	// next page of results in a paginated response.
14237	NextToken *string `type:"string"`
14238
14239	// A list of names of retention configurations for which you want details. If
14240	// you do not specify a name, AWS Config returns details for all the retention
14241	// configurations for that account.
14242	//
14243	// Currently, AWS Config supports only one retention configuration per region
14244	// in your account.
14245	RetentionConfigurationNames []*string `type:"list"`
14246}
14247
14248// String returns the string representation
14249func (s DescribeRetentionConfigurationsInput) String() string {
14250	return awsutil.Prettify(s)
14251}
14252
14253// GoString returns the string representation
14254func (s DescribeRetentionConfigurationsInput) GoString() string {
14255	return s.String()
14256}
14257
14258// SetNextToken sets the NextToken field's value.
14259func (s *DescribeRetentionConfigurationsInput) SetNextToken(v string) *DescribeRetentionConfigurationsInput {
14260	s.NextToken = &v
14261	return s
14262}
14263
14264// SetRetentionConfigurationNames sets the RetentionConfigurationNames field's value.
14265func (s *DescribeRetentionConfigurationsInput) SetRetentionConfigurationNames(v []*string) *DescribeRetentionConfigurationsInput {
14266	s.RetentionConfigurationNames = v
14267	return s
14268}
14269
14270type DescribeRetentionConfigurationsOutput struct {
14271	_ struct{} `type:"structure"`
14272
14273	// The nextToken string returned on a previous page that you use to get the
14274	// next page of results in a paginated response.
14275	NextToken *string `type:"string"`
14276
14277	// Returns a retention configuration object.
14278	RetentionConfigurations []*RetentionConfiguration `type:"list"`
14279}
14280
14281// String returns the string representation
14282func (s DescribeRetentionConfigurationsOutput) String() string {
14283	return awsutil.Prettify(s)
14284}
14285
14286// GoString returns the string representation
14287func (s DescribeRetentionConfigurationsOutput) GoString() string {
14288	return s.String()
14289}
14290
14291// SetNextToken sets the NextToken field's value.
14292func (s *DescribeRetentionConfigurationsOutput) SetNextToken(v string) *DescribeRetentionConfigurationsOutput {
14293	s.NextToken = &v
14294	return s
14295}
14296
14297// SetRetentionConfigurations sets the RetentionConfigurations field's value.
14298func (s *DescribeRetentionConfigurationsOutput) SetRetentionConfigurations(v []*RetentionConfiguration) *DescribeRetentionConfigurationsOutput {
14299	s.RetentionConfigurations = v
14300	return s
14301}
14302
14303// Identifies an AWS resource and indicates whether it complies with the AWS
14304// Config rule that it was evaluated against.
14305type Evaluation struct {
14306	_ struct{} `type:"structure"`
14307
14308	// Supplementary information about how the evaluation determined the compliance.
14309	Annotation *string `min:"1" type:"string"`
14310
14311	// The ID of the AWS resource that was evaluated.
14312	//
14313	// ComplianceResourceId is a required field
14314	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
14315
14316	// The type of AWS resource that was evaluated.
14317	//
14318	// ComplianceResourceType is a required field
14319	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
14320
14321	// Indicates whether the AWS resource complies with the AWS Config rule that
14322	// it was evaluated against.
14323	//
14324	// For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT,
14325	// and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA
14326	// value for this data type.
14327	//
14328	// Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for
14329	// ComplianceType from a PutEvaluations request. For example, an AWS Lambda
14330	// function for a custom AWS Config rule cannot pass an INSUFFICIENT_DATA value
14331	// to AWS Config.
14332	//
14333	// ComplianceType is a required field
14334	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
14335
14336	// The time of the event in AWS Config that triggered the evaluation. For event-based
14337	// evaluations, the time indicates when AWS Config created the configuration
14338	// item that triggered the evaluation. For periodic evaluations, the time indicates
14339	// when AWS Config triggered the evaluation at the frequency that you specified
14340	// (for example, every 24 hours).
14341	//
14342	// OrderingTimestamp is a required field
14343	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
14344}
14345
14346// String returns the string representation
14347func (s Evaluation) String() string {
14348	return awsutil.Prettify(s)
14349}
14350
14351// GoString returns the string representation
14352func (s Evaluation) GoString() string {
14353	return s.String()
14354}
14355
14356// Validate inspects the fields of the type to determine if they are valid.
14357func (s *Evaluation) Validate() error {
14358	invalidParams := request.ErrInvalidParams{Context: "Evaluation"}
14359	if s.Annotation != nil && len(*s.Annotation) < 1 {
14360		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
14361	}
14362	if s.ComplianceResourceId == nil {
14363		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
14364	}
14365	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
14366		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
14367	}
14368	if s.ComplianceResourceType == nil {
14369		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
14370	}
14371	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
14372		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
14373	}
14374	if s.ComplianceType == nil {
14375		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
14376	}
14377	if s.OrderingTimestamp == nil {
14378		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
14379	}
14380
14381	if invalidParams.Len() > 0 {
14382		return invalidParams
14383	}
14384	return nil
14385}
14386
14387// SetAnnotation sets the Annotation field's value.
14388func (s *Evaluation) SetAnnotation(v string) *Evaluation {
14389	s.Annotation = &v
14390	return s
14391}
14392
14393// SetComplianceResourceId sets the ComplianceResourceId field's value.
14394func (s *Evaluation) SetComplianceResourceId(v string) *Evaluation {
14395	s.ComplianceResourceId = &v
14396	return s
14397}
14398
14399// SetComplianceResourceType sets the ComplianceResourceType field's value.
14400func (s *Evaluation) SetComplianceResourceType(v string) *Evaluation {
14401	s.ComplianceResourceType = &v
14402	return s
14403}
14404
14405// SetComplianceType sets the ComplianceType field's value.
14406func (s *Evaluation) SetComplianceType(v string) *Evaluation {
14407	s.ComplianceType = &v
14408	return s
14409}
14410
14411// SetOrderingTimestamp sets the OrderingTimestamp field's value.
14412func (s *Evaluation) SetOrderingTimestamp(v time.Time) *Evaluation {
14413	s.OrderingTimestamp = &v
14414	return s
14415}
14416
14417// The details of an AWS Config evaluation. Provides the AWS resource that was
14418// evaluated, the compliance of the resource, related time stamps, and supplementary
14419// information.
14420type EvaluationResult struct {
14421	_ struct{} `type:"structure"`
14422
14423	// Supplementary information about how the evaluation determined the compliance.
14424	Annotation *string `min:"1" type:"string"`
14425
14426	// Indicates whether the AWS resource complies with the AWS Config rule that
14427	// evaluated it.
14428	//
14429	// For the EvaluationResult data type, AWS Config supports only the COMPLIANT,
14430	// NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the
14431	// INSUFFICIENT_DATA value for the EvaluationResult data type.
14432	ComplianceType *string `type:"string" enum:"ComplianceType"`
14433
14434	// The time when the AWS Config rule evaluated the AWS resource.
14435	ConfigRuleInvokedTime *time.Time `type:"timestamp"`
14436
14437	// Uniquely identifies the evaluation result.
14438	EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
14439
14440	// The time when AWS Config recorded the evaluation result.
14441	ResultRecordedTime *time.Time `type:"timestamp"`
14442
14443	// An encrypted token that associates an evaluation with an AWS Config rule.
14444	// The token identifies the rule, the AWS resource being evaluated, and the
14445	// event that triggered the evaluation.
14446	ResultToken *string `type:"string"`
14447}
14448
14449// String returns the string representation
14450func (s EvaluationResult) String() string {
14451	return awsutil.Prettify(s)
14452}
14453
14454// GoString returns the string representation
14455func (s EvaluationResult) GoString() string {
14456	return s.String()
14457}
14458
14459// SetAnnotation sets the Annotation field's value.
14460func (s *EvaluationResult) SetAnnotation(v string) *EvaluationResult {
14461	s.Annotation = &v
14462	return s
14463}
14464
14465// SetComplianceType sets the ComplianceType field's value.
14466func (s *EvaluationResult) SetComplianceType(v string) *EvaluationResult {
14467	s.ComplianceType = &v
14468	return s
14469}
14470
14471// SetConfigRuleInvokedTime sets the ConfigRuleInvokedTime field's value.
14472func (s *EvaluationResult) SetConfigRuleInvokedTime(v time.Time) *EvaluationResult {
14473	s.ConfigRuleInvokedTime = &v
14474	return s
14475}
14476
14477// SetEvaluationResultIdentifier sets the EvaluationResultIdentifier field's value.
14478func (s *EvaluationResult) SetEvaluationResultIdentifier(v *EvaluationResultIdentifier) *EvaluationResult {
14479	s.EvaluationResultIdentifier = v
14480	return s
14481}
14482
14483// SetResultRecordedTime sets the ResultRecordedTime field's value.
14484func (s *EvaluationResult) SetResultRecordedTime(v time.Time) *EvaluationResult {
14485	s.ResultRecordedTime = &v
14486	return s
14487}
14488
14489// SetResultToken sets the ResultToken field's value.
14490func (s *EvaluationResult) SetResultToken(v string) *EvaluationResult {
14491	s.ResultToken = &v
14492	return s
14493}
14494
14495// Uniquely identifies an evaluation result.
14496type EvaluationResultIdentifier struct {
14497	_ struct{} `type:"structure"`
14498
14499	// Identifies an AWS Config rule used to evaluate an AWS resource, and provides
14500	// the type and ID of the evaluated resource.
14501	EvaluationResultQualifier *EvaluationResultQualifier `type:"structure"`
14502
14503	// The time of the event that triggered the evaluation of your AWS resources.
14504	// The time can indicate when AWS Config delivered a configuration item change
14505	// notification, or it can indicate when AWS Config delivered the configuration
14506	// snapshot, depending on which event triggered the evaluation.
14507	OrderingTimestamp *time.Time `type:"timestamp"`
14508}
14509
14510// String returns the string representation
14511func (s EvaluationResultIdentifier) String() string {
14512	return awsutil.Prettify(s)
14513}
14514
14515// GoString returns the string representation
14516func (s EvaluationResultIdentifier) GoString() string {
14517	return s.String()
14518}
14519
14520// SetEvaluationResultQualifier sets the EvaluationResultQualifier field's value.
14521func (s *EvaluationResultIdentifier) SetEvaluationResultQualifier(v *EvaluationResultQualifier) *EvaluationResultIdentifier {
14522	s.EvaluationResultQualifier = v
14523	return s
14524}
14525
14526// SetOrderingTimestamp sets the OrderingTimestamp field's value.
14527func (s *EvaluationResultIdentifier) SetOrderingTimestamp(v time.Time) *EvaluationResultIdentifier {
14528	s.OrderingTimestamp = &v
14529	return s
14530}
14531
14532// Identifies an AWS Config rule that evaluated an AWS resource, and provides
14533// the type and ID of the resource that the rule evaluated.
14534type EvaluationResultQualifier struct {
14535	_ struct{} `type:"structure"`
14536
14537	// The name of the AWS Config rule that was used in the evaluation.
14538	ConfigRuleName *string `min:"1" type:"string"`
14539
14540	// The ID of the evaluated AWS resource.
14541	ResourceId *string `min:"1" type:"string"`
14542
14543	// The type of AWS resource that was evaluated.
14544	ResourceType *string `min:"1" type:"string"`
14545}
14546
14547// String returns the string representation
14548func (s EvaluationResultQualifier) String() string {
14549	return awsutil.Prettify(s)
14550}
14551
14552// GoString returns the string representation
14553func (s EvaluationResultQualifier) GoString() string {
14554	return s.String()
14555}
14556
14557// SetConfigRuleName sets the ConfigRuleName field's value.
14558func (s *EvaluationResultQualifier) SetConfigRuleName(v string) *EvaluationResultQualifier {
14559	s.ConfigRuleName = &v
14560	return s
14561}
14562
14563// SetResourceId sets the ResourceId field's value.
14564func (s *EvaluationResultQualifier) SetResourceId(v string) *EvaluationResultQualifier {
14565	s.ResourceId = &v
14566	return s
14567}
14568
14569// SetResourceType sets the ResourceType field's value.
14570func (s *EvaluationResultQualifier) SetResourceType(v string) *EvaluationResultQualifier {
14571	s.ResourceType = &v
14572	return s
14573}
14574
14575// The controls that AWS Config uses for executing remediations.
14576type ExecutionControls struct {
14577	_ struct{} `type:"structure"`
14578
14579	// A SsmControls object.
14580	SsmControls *SsmControls `type:"structure"`
14581}
14582
14583// String returns the string representation
14584func (s ExecutionControls) String() string {
14585	return awsutil.Prettify(s)
14586}
14587
14588// GoString returns the string representation
14589func (s ExecutionControls) GoString() string {
14590	return s.String()
14591}
14592
14593// Validate inspects the fields of the type to determine if they are valid.
14594func (s *ExecutionControls) Validate() error {
14595	invalidParams := request.ErrInvalidParams{Context: "ExecutionControls"}
14596	if s.SsmControls != nil {
14597		if err := s.SsmControls.Validate(); err != nil {
14598			invalidParams.AddNested("SsmControls", err.(request.ErrInvalidParams))
14599		}
14600	}
14601
14602	if invalidParams.Len() > 0 {
14603		return invalidParams
14604	}
14605	return nil
14606}
14607
14608// SetSsmControls sets the SsmControls field's value.
14609func (s *ExecutionControls) SetSsmControls(v *SsmControls) *ExecutionControls {
14610	s.SsmControls = v
14611	return s
14612}
14613
14614type ExternalEvaluation struct {
14615	_ struct{} `type:"structure"`
14616
14617	Annotation *string `min:"1" type:"string"`
14618
14619	// ComplianceResourceId is a required field
14620	ComplianceResourceId *string `min:"1" type:"string" required:"true"`
14621
14622	// ComplianceResourceType is a required field
14623	ComplianceResourceType *string `min:"1" type:"string" required:"true"`
14624
14625	// ComplianceType is a required field
14626	ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
14627
14628	// OrderingTimestamp is a required field
14629	OrderingTimestamp *time.Time `type:"timestamp" required:"true"`
14630}
14631
14632// String returns the string representation
14633func (s ExternalEvaluation) String() string {
14634	return awsutil.Prettify(s)
14635}
14636
14637// GoString returns the string representation
14638func (s ExternalEvaluation) GoString() string {
14639	return s.String()
14640}
14641
14642// Validate inspects the fields of the type to determine if they are valid.
14643func (s *ExternalEvaluation) Validate() error {
14644	invalidParams := request.ErrInvalidParams{Context: "ExternalEvaluation"}
14645	if s.Annotation != nil && len(*s.Annotation) < 1 {
14646		invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
14647	}
14648	if s.ComplianceResourceId == nil {
14649		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
14650	}
14651	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
14652		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
14653	}
14654	if s.ComplianceResourceType == nil {
14655		invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
14656	}
14657	if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
14658		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
14659	}
14660	if s.ComplianceType == nil {
14661		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
14662	}
14663	if s.OrderingTimestamp == nil {
14664		invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
14665	}
14666
14667	if invalidParams.Len() > 0 {
14668		return invalidParams
14669	}
14670	return nil
14671}
14672
14673// SetAnnotation sets the Annotation field's value.
14674func (s *ExternalEvaluation) SetAnnotation(v string) *ExternalEvaluation {
14675	s.Annotation = &v
14676	return s
14677}
14678
14679// SetComplianceResourceId sets the ComplianceResourceId field's value.
14680func (s *ExternalEvaluation) SetComplianceResourceId(v string) *ExternalEvaluation {
14681	s.ComplianceResourceId = &v
14682	return s
14683}
14684
14685// SetComplianceResourceType sets the ComplianceResourceType field's value.
14686func (s *ExternalEvaluation) SetComplianceResourceType(v string) *ExternalEvaluation {
14687	s.ComplianceResourceType = &v
14688	return s
14689}
14690
14691// SetComplianceType sets the ComplianceType field's value.
14692func (s *ExternalEvaluation) SetComplianceType(v string) *ExternalEvaluation {
14693	s.ComplianceType = &v
14694	return s
14695}
14696
14697// SetOrderingTimestamp sets the OrderingTimestamp field's value.
14698func (s *ExternalEvaluation) SetOrderingTimestamp(v time.Time) *ExternalEvaluation {
14699	s.OrderingTimestamp = &v
14700	return s
14701}
14702
14703// List of each of the failed delete remediation exceptions with specific reasons.
14704type FailedDeleteRemediationExceptionsBatch struct {
14705	_ struct{} `type:"structure"`
14706
14707	// Returns remediation exception resource key object of the failed items.
14708	FailedItems []*RemediationExceptionResourceKey `min:"1" type:"list"`
14709
14710	// Returns a failure message for delete remediation exception. For example,
14711	// AWS Config creates an exception due to an internal error.
14712	FailureMessage *string `type:"string"`
14713}
14714
14715// String returns the string representation
14716func (s FailedDeleteRemediationExceptionsBatch) String() string {
14717	return awsutil.Prettify(s)
14718}
14719
14720// GoString returns the string representation
14721func (s FailedDeleteRemediationExceptionsBatch) GoString() string {
14722	return s.String()
14723}
14724
14725// SetFailedItems sets the FailedItems field's value.
14726func (s *FailedDeleteRemediationExceptionsBatch) SetFailedItems(v []*RemediationExceptionResourceKey) *FailedDeleteRemediationExceptionsBatch {
14727	s.FailedItems = v
14728	return s
14729}
14730
14731// SetFailureMessage sets the FailureMessage field's value.
14732func (s *FailedDeleteRemediationExceptionsBatch) SetFailureMessage(v string) *FailedDeleteRemediationExceptionsBatch {
14733	s.FailureMessage = &v
14734	return s
14735}
14736
14737// List of each of the failed remediations with specific reasons.
14738type FailedRemediationBatch struct {
14739	_ struct{} `type:"structure"`
14740
14741	// Returns remediation configurations of the failed items.
14742	FailedItems []*RemediationConfiguration `type:"list"`
14743
14744	// Returns a failure message. For example, the resource is already compliant.
14745	FailureMessage *string `type:"string"`
14746}
14747
14748// String returns the string representation
14749func (s FailedRemediationBatch) String() string {
14750	return awsutil.Prettify(s)
14751}
14752
14753// GoString returns the string representation
14754func (s FailedRemediationBatch) GoString() string {
14755	return s.String()
14756}
14757
14758// SetFailedItems sets the FailedItems field's value.
14759func (s *FailedRemediationBatch) SetFailedItems(v []*RemediationConfiguration) *FailedRemediationBatch {
14760	s.FailedItems = v
14761	return s
14762}
14763
14764// SetFailureMessage sets the FailureMessage field's value.
14765func (s *FailedRemediationBatch) SetFailureMessage(v string) *FailedRemediationBatch {
14766	s.FailureMessage = &v
14767	return s
14768}
14769
14770// List of each of the failed remediation exceptions with specific reasons.
14771type FailedRemediationExceptionBatch struct {
14772	_ struct{} `type:"structure"`
14773
14774	// Returns remediation exception resource key object of the failed items.
14775	FailedItems []*RemediationException `type:"list"`
14776
14777	// Returns a failure message. For example, the auto-remediation has failed.
14778	FailureMessage *string `type:"string"`
14779}
14780
14781// String returns the string representation
14782func (s FailedRemediationExceptionBatch) String() string {
14783	return awsutil.Prettify(s)
14784}
14785
14786// GoString returns the string representation
14787func (s FailedRemediationExceptionBatch) GoString() string {
14788	return s.String()
14789}
14790
14791// SetFailedItems sets the FailedItems field's value.
14792func (s *FailedRemediationExceptionBatch) SetFailedItems(v []*RemediationException) *FailedRemediationExceptionBatch {
14793	s.FailedItems = v
14794	return s
14795}
14796
14797// SetFailureMessage sets the FailureMessage field's value.
14798func (s *FailedRemediationExceptionBatch) SetFailureMessage(v string) *FailedRemediationExceptionBatch {
14799	s.FailureMessage = &v
14800	return s
14801}
14802
14803// Details about the fields such as name of the field.
14804type FieldInfo struct {
14805	_ struct{} `type:"structure"`
14806
14807	// Name of the field.
14808	Name *string `type:"string"`
14809}
14810
14811// String returns the string representation
14812func (s FieldInfo) String() string {
14813	return awsutil.Prettify(s)
14814}
14815
14816// GoString returns the string representation
14817func (s FieldInfo) GoString() string {
14818	return s.String()
14819}
14820
14821// SetName sets the Name field's value.
14822func (s *FieldInfo) SetName(v string) *FieldInfo {
14823	s.Name = &v
14824	return s
14825}
14826
14827type GetAggregateComplianceDetailsByConfigRuleInput struct {
14828	_ struct{} `type:"structure"`
14829
14830	// The 12-digit account ID of the source account.
14831	//
14832	// AccountId is a required field
14833	AccountId *string `type:"string" required:"true"`
14834
14835	// The source region from where the data is aggregated.
14836	//
14837	// AwsRegion is a required field
14838	AwsRegion *string `min:"1" type:"string" required:"true"`
14839
14840	// The resource compliance status.
14841	//
14842	// For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config
14843	// supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support
14844	// the NOT_APPLICABLE and INSUFFICIENT_DATA values.
14845	ComplianceType *string `type:"string" enum:"ComplianceType"`
14846
14847	// The name of the AWS Config rule for which you want compliance information.
14848	//
14849	// ConfigRuleName is a required field
14850	ConfigRuleName *string `min:"1" type:"string" required:"true"`
14851
14852	// The name of the configuration aggregator.
14853	//
14854	// ConfigurationAggregatorName is a required field
14855	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
14856
14857	// The maximum number of evaluation results returned on each page. The default
14858	// is 50. You cannot specify a number greater than 100. If you specify 0, AWS
14859	// Config uses the default.
14860	Limit *int64 `type:"integer"`
14861
14862	// The nextToken string returned on a previous page that you use to get the
14863	// next page of results in a paginated response.
14864	NextToken *string `type:"string"`
14865}
14866
14867// String returns the string representation
14868func (s GetAggregateComplianceDetailsByConfigRuleInput) String() string {
14869	return awsutil.Prettify(s)
14870}
14871
14872// GoString returns the string representation
14873func (s GetAggregateComplianceDetailsByConfigRuleInput) GoString() string {
14874	return s.String()
14875}
14876
14877// Validate inspects the fields of the type to determine if they are valid.
14878func (s *GetAggregateComplianceDetailsByConfigRuleInput) Validate() error {
14879	invalidParams := request.ErrInvalidParams{Context: "GetAggregateComplianceDetailsByConfigRuleInput"}
14880	if s.AccountId == nil {
14881		invalidParams.Add(request.NewErrParamRequired("AccountId"))
14882	}
14883	if s.AwsRegion == nil {
14884		invalidParams.Add(request.NewErrParamRequired("AwsRegion"))
14885	}
14886	if s.AwsRegion != nil && len(*s.AwsRegion) < 1 {
14887		invalidParams.Add(request.NewErrParamMinLen("AwsRegion", 1))
14888	}
14889	if s.ConfigRuleName == nil {
14890		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
14891	}
14892	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
14893		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
14894	}
14895	if s.ConfigurationAggregatorName == nil {
14896		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
14897	}
14898	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
14899		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
14900	}
14901
14902	if invalidParams.Len() > 0 {
14903		return invalidParams
14904	}
14905	return nil
14906}
14907
14908// SetAccountId sets the AccountId field's value.
14909func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAccountId(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14910	s.AccountId = &v
14911	return s
14912}
14913
14914// SetAwsRegion sets the AwsRegion field's value.
14915func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetAwsRegion(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14916	s.AwsRegion = &v
14917	return s
14918}
14919
14920// SetComplianceType sets the ComplianceType field's value.
14921func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetComplianceType(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14922	s.ComplianceType = &v
14923	return s
14924}
14925
14926// SetConfigRuleName sets the ConfigRuleName field's value.
14927func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14928	s.ConfigRuleName = &v
14929	return s
14930}
14931
14932// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
14933func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetConfigurationAggregatorName(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14934	s.ConfigurationAggregatorName = &v
14935	return s
14936}
14937
14938// SetLimit sets the Limit field's value.
14939func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetAggregateComplianceDetailsByConfigRuleInput {
14940	s.Limit = &v
14941	return s
14942}
14943
14944// SetNextToken sets the NextToken field's value.
14945func (s *GetAggregateComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleInput {
14946	s.NextToken = &v
14947	return s
14948}
14949
14950type GetAggregateComplianceDetailsByConfigRuleOutput struct {
14951	_ struct{} `type:"structure"`
14952
14953	// Returns an AggregateEvaluationResults object.
14954	AggregateEvaluationResults []*AggregateEvaluationResult `type:"list"`
14955
14956	// The nextToken string returned on a previous page that you use to get the
14957	// next page of results in a paginated response.
14958	NextToken *string `type:"string"`
14959}
14960
14961// String returns the string representation
14962func (s GetAggregateComplianceDetailsByConfigRuleOutput) String() string {
14963	return awsutil.Prettify(s)
14964}
14965
14966// GoString returns the string representation
14967func (s GetAggregateComplianceDetailsByConfigRuleOutput) GoString() string {
14968	return s.String()
14969}
14970
14971// SetAggregateEvaluationResults sets the AggregateEvaluationResults field's value.
14972func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetAggregateEvaluationResults(v []*AggregateEvaluationResult) *GetAggregateComplianceDetailsByConfigRuleOutput {
14973	s.AggregateEvaluationResults = v
14974	return s
14975}
14976
14977// SetNextToken sets the NextToken field's value.
14978func (s *GetAggregateComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetAggregateComplianceDetailsByConfigRuleOutput {
14979	s.NextToken = &v
14980	return s
14981}
14982
14983type GetAggregateConfigRuleComplianceSummaryInput struct {
14984	_ struct{} `type:"structure"`
14985
14986	// The name of the configuration aggregator.
14987	//
14988	// ConfigurationAggregatorName is a required field
14989	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
14990
14991	// Filters the results based on the ConfigRuleComplianceSummaryFilters object.
14992	Filters *ConfigRuleComplianceSummaryFilters `type:"structure"`
14993
14994	// Groups the result based on ACCOUNT_ID or AWS_REGION.
14995	GroupByKey *string `type:"string" enum:"ConfigRuleComplianceSummaryGroupKey"`
14996
14997	// The maximum number of evaluation results returned on each page. The default
14998	// is 1000. You cannot specify a number greater than 1000. If you specify 0,
14999	// AWS Config uses the default.
15000	Limit *int64 `type:"integer"`
15001
15002	// The nextToken string returned on a previous page that you use to get the
15003	// next page of results in a paginated response.
15004	NextToken *string `type:"string"`
15005}
15006
15007// String returns the string representation
15008func (s GetAggregateConfigRuleComplianceSummaryInput) String() string {
15009	return awsutil.Prettify(s)
15010}
15011
15012// GoString returns the string representation
15013func (s GetAggregateConfigRuleComplianceSummaryInput) GoString() string {
15014	return s.String()
15015}
15016
15017// Validate inspects the fields of the type to determine if they are valid.
15018func (s *GetAggregateConfigRuleComplianceSummaryInput) Validate() error {
15019	invalidParams := request.ErrInvalidParams{Context: "GetAggregateConfigRuleComplianceSummaryInput"}
15020	if s.ConfigurationAggregatorName == nil {
15021		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
15022	}
15023	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
15024		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
15025	}
15026	if s.Filters != nil {
15027		if err := s.Filters.Validate(); err != nil {
15028			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
15029		}
15030	}
15031
15032	if invalidParams.Len() > 0 {
15033		return invalidParams
15034	}
15035	return nil
15036}
15037
15038// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
15039func (s *GetAggregateConfigRuleComplianceSummaryInput) SetConfigurationAggregatorName(v string) *GetAggregateConfigRuleComplianceSummaryInput {
15040	s.ConfigurationAggregatorName = &v
15041	return s
15042}
15043
15044// SetFilters sets the Filters field's value.
15045func (s *GetAggregateConfigRuleComplianceSummaryInput) SetFilters(v *ConfigRuleComplianceSummaryFilters) *GetAggregateConfigRuleComplianceSummaryInput {
15046	s.Filters = v
15047	return s
15048}
15049
15050// SetGroupByKey sets the GroupByKey field's value.
15051func (s *GetAggregateConfigRuleComplianceSummaryInput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryInput {
15052	s.GroupByKey = &v
15053	return s
15054}
15055
15056// SetLimit sets the Limit field's value.
15057func (s *GetAggregateConfigRuleComplianceSummaryInput) SetLimit(v int64) *GetAggregateConfigRuleComplianceSummaryInput {
15058	s.Limit = &v
15059	return s
15060}
15061
15062// SetNextToken sets the NextToken field's value.
15063func (s *GetAggregateConfigRuleComplianceSummaryInput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryInput {
15064	s.NextToken = &v
15065	return s
15066}
15067
15068type GetAggregateConfigRuleComplianceSummaryOutput struct {
15069	_ struct{} `type:"structure"`
15070
15071	// Returns a list of AggregateComplianceCounts object.
15072	AggregateComplianceCounts []*AggregateComplianceCount `type:"list"`
15073
15074	// Groups the result based on ACCOUNT_ID or AWS_REGION.
15075	GroupByKey *string `min:"1" type:"string"`
15076
15077	// The nextToken string returned on a previous page that you use to get the
15078	// next page of results in a paginated response.
15079	NextToken *string `type:"string"`
15080}
15081
15082// String returns the string representation
15083func (s GetAggregateConfigRuleComplianceSummaryOutput) String() string {
15084	return awsutil.Prettify(s)
15085}
15086
15087// GoString returns the string representation
15088func (s GetAggregateConfigRuleComplianceSummaryOutput) GoString() string {
15089	return s.String()
15090}
15091
15092// SetAggregateComplianceCounts sets the AggregateComplianceCounts field's value.
15093func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetAggregateComplianceCounts(v []*AggregateComplianceCount) *GetAggregateConfigRuleComplianceSummaryOutput {
15094	s.AggregateComplianceCounts = v
15095	return s
15096}
15097
15098// SetGroupByKey sets the GroupByKey field's value.
15099func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetGroupByKey(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
15100	s.GroupByKey = &v
15101	return s
15102}
15103
15104// SetNextToken sets the NextToken field's value.
15105func (s *GetAggregateConfigRuleComplianceSummaryOutput) SetNextToken(v string) *GetAggregateConfigRuleComplianceSummaryOutput {
15106	s.NextToken = &v
15107	return s
15108}
15109
15110type GetAggregateDiscoveredResourceCountsInput struct {
15111	_ struct{} `type:"structure"`
15112
15113	// The name of the configuration aggregator.
15114	//
15115	// ConfigurationAggregatorName is a required field
15116	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
15117
15118	// Filters the results based on the ResourceCountFilters object.
15119	Filters *ResourceCountFilters `type:"structure"`
15120
15121	// The key to group the resource counts.
15122	GroupByKey *string `type:"string" enum:"ResourceCountGroupKey"`
15123
15124	// The maximum number of GroupedResourceCount objects returned on each page.
15125	// The default is 1000. You cannot specify a number greater than 1000. If you
15126	// specify 0, AWS Config uses the default.
15127	Limit *int64 `type:"integer"`
15128
15129	// The nextToken string returned on a previous page that you use to get the
15130	// next page of results in a paginated response.
15131	NextToken *string `type:"string"`
15132}
15133
15134// String returns the string representation
15135func (s GetAggregateDiscoveredResourceCountsInput) String() string {
15136	return awsutil.Prettify(s)
15137}
15138
15139// GoString returns the string representation
15140func (s GetAggregateDiscoveredResourceCountsInput) GoString() string {
15141	return s.String()
15142}
15143
15144// Validate inspects the fields of the type to determine if they are valid.
15145func (s *GetAggregateDiscoveredResourceCountsInput) Validate() error {
15146	invalidParams := request.ErrInvalidParams{Context: "GetAggregateDiscoveredResourceCountsInput"}
15147	if s.ConfigurationAggregatorName == nil {
15148		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
15149	}
15150	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
15151		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
15152	}
15153	if s.Filters != nil {
15154		if err := s.Filters.Validate(); err != nil {
15155			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
15156		}
15157	}
15158
15159	if invalidParams.Len() > 0 {
15160		return invalidParams
15161	}
15162	return nil
15163}
15164
15165// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
15166func (s *GetAggregateDiscoveredResourceCountsInput) SetConfigurationAggregatorName(v string) *GetAggregateDiscoveredResourceCountsInput {
15167	s.ConfigurationAggregatorName = &v
15168	return s
15169}
15170
15171// SetFilters sets the Filters field's value.
15172func (s *GetAggregateDiscoveredResourceCountsInput) SetFilters(v *ResourceCountFilters) *GetAggregateDiscoveredResourceCountsInput {
15173	s.Filters = v
15174	return s
15175}
15176
15177// SetGroupByKey sets the GroupByKey field's value.
15178func (s *GetAggregateDiscoveredResourceCountsInput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsInput {
15179	s.GroupByKey = &v
15180	return s
15181}
15182
15183// SetLimit sets the Limit field's value.
15184func (s *GetAggregateDiscoveredResourceCountsInput) SetLimit(v int64) *GetAggregateDiscoveredResourceCountsInput {
15185	s.Limit = &v
15186	return s
15187}
15188
15189// SetNextToken sets the NextToken field's value.
15190func (s *GetAggregateDiscoveredResourceCountsInput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsInput {
15191	s.NextToken = &v
15192	return s
15193}
15194
15195type GetAggregateDiscoveredResourceCountsOutput struct {
15196	_ struct{} `type:"structure"`
15197
15198	// The key passed into the request object. If GroupByKey is not provided, the
15199	// result will be empty.
15200	GroupByKey *string `min:"1" type:"string"`
15201
15202	// Returns a list of GroupedResourceCount objects.
15203	GroupedResourceCounts []*GroupedResourceCount `type:"list"`
15204
15205	// The nextToken string returned on a previous page that you use to get the
15206	// next page of results in a paginated response.
15207	NextToken *string `type:"string"`
15208
15209	// The total number of resources that are present in an aggregator with the
15210	// filters that you provide.
15211	//
15212	// TotalDiscoveredResources is a required field
15213	TotalDiscoveredResources *int64 `type:"long" required:"true"`
15214}
15215
15216// String returns the string representation
15217func (s GetAggregateDiscoveredResourceCountsOutput) String() string {
15218	return awsutil.Prettify(s)
15219}
15220
15221// GoString returns the string representation
15222func (s GetAggregateDiscoveredResourceCountsOutput) GoString() string {
15223	return s.String()
15224}
15225
15226// SetGroupByKey sets the GroupByKey field's value.
15227func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupByKey(v string) *GetAggregateDiscoveredResourceCountsOutput {
15228	s.GroupByKey = &v
15229	return s
15230}
15231
15232// SetGroupedResourceCounts sets the GroupedResourceCounts field's value.
15233func (s *GetAggregateDiscoveredResourceCountsOutput) SetGroupedResourceCounts(v []*GroupedResourceCount) *GetAggregateDiscoveredResourceCountsOutput {
15234	s.GroupedResourceCounts = v
15235	return s
15236}
15237
15238// SetNextToken sets the NextToken field's value.
15239func (s *GetAggregateDiscoveredResourceCountsOutput) SetNextToken(v string) *GetAggregateDiscoveredResourceCountsOutput {
15240	s.NextToken = &v
15241	return s
15242}
15243
15244// SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
15245func (s *GetAggregateDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetAggregateDiscoveredResourceCountsOutput {
15246	s.TotalDiscoveredResources = &v
15247	return s
15248}
15249
15250type GetAggregateResourceConfigInput struct {
15251	_ struct{} `type:"structure"`
15252
15253	// The name of the configuration aggregator.
15254	//
15255	// ConfigurationAggregatorName is a required field
15256	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
15257
15258	// An object that identifies aggregate resource.
15259	//
15260	// ResourceIdentifier is a required field
15261	ResourceIdentifier *AggregateResourceIdentifier `type:"structure" required:"true"`
15262}
15263
15264// String returns the string representation
15265func (s GetAggregateResourceConfigInput) String() string {
15266	return awsutil.Prettify(s)
15267}
15268
15269// GoString returns the string representation
15270func (s GetAggregateResourceConfigInput) GoString() string {
15271	return s.String()
15272}
15273
15274// Validate inspects the fields of the type to determine if they are valid.
15275func (s *GetAggregateResourceConfigInput) Validate() error {
15276	invalidParams := request.ErrInvalidParams{Context: "GetAggregateResourceConfigInput"}
15277	if s.ConfigurationAggregatorName == nil {
15278		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
15279	}
15280	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
15281		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
15282	}
15283	if s.ResourceIdentifier == nil {
15284		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
15285	}
15286	if s.ResourceIdentifier != nil {
15287		if err := s.ResourceIdentifier.Validate(); err != nil {
15288			invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams))
15289		}
15290	}
15291
15292	if invalidParams.Len() > 0 {
15293		return invalidParams
15294	}
15295	return nil
15296}
15297
15298// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
15299func (s *GetAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *GetAggregateResourceConfigInput {
15300	s.ConfigurationAggregatorName = &v
15301	return s
15302}
15303
15304// SetResourceIdentifier sets the ResourceIdentifier field's value.
15305func (s *GetAggregateResourceConfigInput) SetResourceIdentifier(v *AggregateResourceIdentifier) *GetAggregateResourceConfigInput {
15306	s.ResourceIdentifier = v
15307	return s
15308}
15309
15310type GetAggregateResourceConfigOutput struct {
15311	_ struct{} `type:"structure"`
15312
15313	// Returns a ConfigurationItem object.
15314	ConfigurationItem *ConfigurationItem `type:"structure"`
15315}
15316
15317// String returns the string representation
15318func (s GetAggregateResourceConfigOutput) String() string {
15319	return awsutil.Prettify(s)
15320}
15321
15322// GoString returns the string representation
15323func (s GetAggregateResourceConfigOutput) GoString() string {
15324	return s.String()
15325}
15326
15327// SetConfigurationItem sets the ConfigurationItem field's value.
15328func (s *GetAggregateResourceConfigOutput) SetConfigurationItem(v *ConfigurationItem) *GetAggregateResourceConfigOutput {
15329	s.ConfigurationItem = v
15330	return s
15331}
15332
15333type GetComplianceDetailsByConfigRuleInput struct {
15334	_ struct{} `type:"structure"`
15335
15336	// Filters the results by compliance.
15337	//
15338	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
15339	ComplianceTypes []*string `type:"list"`
15340
15341	// The name of the AWS Config rule for which you want compliance information.
15342	//
15343	// ConfigRuleName is a required field
15344	ConfigRuleName *string `min:"1" type:"string" required:"true"`
15345
15346	// The maximum number of evaluation results returned on each page. The default
15347	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
15348	// Config uses the default.
15349	Limit *int64 `type:"integer"`
15350
15351	// The nextToken string returned on a previous page that you use to get the
15352	// next page of results in a paginated response.
15353	NextToken *string `type:"string"`
15354}
15355
15356// String returns the string representation
15357func (s GetComplianceDetailsByConfigRuleInput) String() string {
15358	return awsutil.Prettify(s)
15359}
15360
15361// GoString returns the string representation
15362func (s GetComplianceDetailsByConfigRuleInput) GoString() string {
15363	return s.String()
15364}
15365
15366// Validate inspects the fields of the type to determine if they are valid.
15367func (s *GetComplianceDetailsByConfigRuleInput) Validate() error {
15368	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByConfigRuleInput"}
15369	if s.ConfigRuleName == nil {
15370		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
15371	}
15372	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
15373		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
15374	}
15375
15376	if invalidParams.Len() > 0 {
15377		return invalidParams
15378	}
15379	return nil
15380}
15381
15382// SetComplianceTypes sets the ComplianceTypes field's value.
15383func (s *GetComplianceDetailsByConfigRuleInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByConfigRuleInput {
15384	s.ComplianceTypes = v
15385	return s
15386}
15387
15388// SetConfigRuleName sets the ConfigRuleName field's value.
15389func (s *GetComplianceDetailsByConfigRuleInput) SetConfigRuleName(v string) *GetComplianceDetailsByConfigRuleInput {
15390	s.ConfigRuleName = &v
15391	return s
15392}
15393
15394// SetLimit sets the Limit field's value.
15395func (s *GetComplianceDetailsByConfigRuleInput) SetLimit(v int64) *GetComplianceDetailsByConfigRuleInput {
15396	s.Limit = &v
15397	return s
15398}
15399
15400// SetNextToken sets the NextToken field's value.
15401func (s *GetComplianceDetailsByConfigRuleInput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleInput {
15402	s.NextToken = &v
15403	return s
15404}
15405
15406type GetComplianceDetailsByConfigRuleOutput struct {
15407	_ struct{} `type:"structure"`
15408
15409	// Indicates whether the AWS resource complies with the specified AWS Config
15410	// rule.
15411	EvaluationResults []*EvaluationResult `type:"list"`
15412
15413	// The string that you use in a subsequent request to get the next page of results
15414	// in a paginated response.
15415	NextToken *string `type:"string"`
15416}
15417
15418// String returns the string representation
15419func (s GetComplianceDetailsByConfigRuleOutput) String() string {
15420	return awsutil.Prettify(s)
15421}
15422
15423// GoString returns the string representation
15424func (s GetComplianceDetailsByConfigRuleOutput) GoString() string {
15425	return s.String()
15426}
15427
15428// SetEvaluationResults sets the EvaluationResults field's value.
15429func (s *GetComplianceDetailsByConfigRuleOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByConfigRuleOutput {
15430	s.EvaluationResults = v
15431	return s
15432}
15433
15434// SetNextToken sets the NextToken field's value.
15435func (s *GetComplianceDetailsByConfigRuleOutput) SetNextToken(v string) *GetComplianceDetailsByConfigRuleOutput {
15436	s.NextToken = &v
15437	return s
15438}
15439
15440type GetComplianceDetailsByResourceInput struct {
15441	_ struct{} `type:"structure"`
15442
15443	// Filters the results by compliance.
15444	//
15445	// The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
15446	ComplianceTypes []*string `type:"list"`
15447
15448	// The nextToken string returned on a previous page that you use to get the
15449	// next page of results in a paginated response.
15450	NextToken *string `type:"string"`
15451
15452	// The ID of the AWS resource for which you want compliance information.
15453	//
15454	// ResourceId is a required field
15455	ResourceId *string `min:"1" type:"string" required:"true"`
15456
15457	// The type of the AWS resource for which you want compliance information.
15458	//
15459	// ResourceType is a required field
15460	ResourceType *string `min:"1" type:"string" required:"true"`
15461}
15462
15463// String returns the string representation
15464func (s GetComplianceDetailsByResourceInput) String() string {
15465	return awsutil.Prettify(s)
15466}
15467
15468// GoString returns the string representation
15469func (s GetComplianceDetailsByResourceInput) GoString() string {
15470	return s.String()
15471}
15472
15473// Validate inspects the fields of the type to determine if they are valid.
15474func (s *GetComplianceDetailsByResourceInput) Validate() error {
15475	invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByResourceInput"}
15476	if s.ResourceId == nil {
15477		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
15478	}
15479	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
15480		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
15481	}
15482	if s.ResourceType == nil {
15483		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
15484	}
15485	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
15486		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
15487	}
15488
15489	if invalidParams.Len() > 0 {
15490		return invalidParams
15491	}
15492	return nil
15493}
15494
15495// SetComplianceTypes sets the ComplianceTypes field's value.
15496func (s *GetComplianceDetailsByResourceInput) SetComplianceTypes(v []*string) *GetComplianceDetailsByResourceInput {
15497	s.ComplianceTypes = v
15498	return s
15499}
15500
15501// SetNextToken sets the NextToken field's value.
15502func (s *GetComplianceDetailsByResourceInput) SetNextToken(v string) *GetComplianceDetailsByResourceInput {
15503	s.NextToken = &v
15504	return s
15505}
15506
15507// SetResourceId sets the ResourceId field's value.
15508func (s *GetComplianceDetailsByResourceInput) SetResourceId(v string) *GetComplianceDetailsByResourceInput {
15509	s.ResourceId = &v
15510	return s
15511}
15512
15513// SetResourceType sets the ResourceType field's value.
15514func (s *GetComplianceDetailsByResourceInput) SetResourceType(v string) *GetComplianceDetailsByResourceInput {
15515	s.ResourceType = &v
15516	return s
15517}
15518
15519type GetComplianceDetailsByResourceOutput struct {
15520	_ struct{} `type:"structure"`
15521
15522	// Indicates whether the specified AWS resource complies each AWS Config rule.
15523	EvaluationResults []*EvaluationResult `type:"list"`
15524
15525	// The string that you use in a subsequent request to get the next page of results
15526	// in a paginated response.
15527	NextToken *string `type:"string"`
15528}
15529
15530// String returns the string representation
15531func (s GetComplianceDetailsByResourceOutput) String() string {
15532	return awsutil.Prettify(s)
15533}
15534
15535// GoString returns the string representation
15536func (s GetComplianceDetailsByResourceOutput) GoString() string {
15537	return s.String()
15538}
15539
15540// SetEvaluationResults sets the EvaluationResults field's value.
15541func (s *GetComplianceDetailsByResourceOutput) SetEvaluationResults(v []*EvaluationResult) *GetComplianceDetailsByResourceOutput {
15542	s.EvaluationResults = v
15543	return s
15544}
15545
15546// SetNextToken sets the NextToken field's value.
15547func (s *GetComplianceDetailsByResourceOutput) SetNextToken(v string) *GetComplianceDetailsByResourceOutput {
15548	s.NextToken = &v
15549	return s
15550}
15551
15552type GetComplianceSummaryByConfigRuleInput struct {
15553	_ struct{} `type:"structure"`
15554}
15555
15556// String returns the string representation
15557func (s GetComplianceSummaryByConfigRuleInput) String() string {
15558	return awsutil.Prettify(s)
15559}
15560
15561// GoString returns the string representation
15562func (s GetComplianceSummaryByConfigRuleInput) GoString() string {
15563	return s.String()
15564}
15565
15566type GetComplianceSummaryByConfigRuleOutput struct {
15567	_ struct{} `type:"structure"`
15568
15569	// The number of AWS Config rules that are compliant and the number that are
15570	// noncompliant, up to a maximum of 25 for each.
15571	ComplianceSummary *ComplianceSummary `type:"structure"`
15572}
15573
15574// String returns the string representation
15575func (s GetComplianceSummaryByConfigRuleOutput) String() string {
15576	return awsutil.Prettify(s)
15577}
15578
15579// GoString returns the string representation
15580func (s GetComplianceSummaryByConfigRuleOutput) GoString() string {
15581	return s.String()
15582}
15583
15584// SetComplianceSummary sets the ComplianceSummary field's value.
15585func (s *GetComplianceSummaryByConfigRuleOutput) SetComplianceSummary(v *ComplianceSummary) *GetComplianceSummaryByConfigRuleOutput {
15586	s.ComplianceSummary = v
15587	return s
15588}
15589
15590type GetComplianceSummaryByResourceTypeInput struct {
15591	_ struct{} `type:"structure"`
15592
15593	// Specify one or more resource types to get the number of resources that are
15594	// compliant and the number that are noncompliant for each resource type.
15595	//
15596	// For this request, you can specify an AWS resource type such as AWS::EC2::Instance.
15597	// You can specify that the resource type is an AWS account by specifying AWS::::Account.
15598	ResourceTypes []*string `type:"list"`
15599}
15600
15601// String returns the string representation
15602func (s GetComplianceSummaryByResourceTypeInput) String() string {
15603	return awsutil.Prettify(s)
15604}
15605
15606// GoString returns the string representation
15607func (s GetComplianceSummaryByResourceTypeInput) GoString() string {
15608	return s.String()
15609}
15610
15611// SetResourceTypes sets the ResourceTypes field's value.
15612func (s *GetComplianceSummaryByResourceTypeInput) SetResourceTypes(v []*string) *GetComplianceSummaryByResourceTypeInput {
15613	s.ResourceTypes = v
15614	return s
15615}
15616
15617type GetComplianceSummaryByResourceTypeOutput struct {
15618	_ struct{} `type:"structure"`
15619
15620	// The number of resources that are compliant and the number that are noncompliant.
15621	// If one or more resource types were provided with the request, the numbers
15622	// are returned for each resource type. The maximum number returned is 100.
15623	ComplianceSummariesByResourceType []*ComplianceSummaryByResourceType `type:"list"`
15624}
15625
15626// String returns the string representation
15627func (s GetComplianceSummaryByResourceTypeOutput) String() string {
15628	return awsutil.Prettify(s)
15629}
15630
15631// GoString returns the string representation
15632func (s GetComplianceSummaryByResourceTypeOutput) GoString() string {
15633	return s.String()
15634}
15635
15636// SetComplianceSummariesByResourceType sets the ComplianceSummariesByResourceType field's value.
15637func (s *GetComplianceSummaryByResourceTypeOutput) SetComplianceSummariesByResourceType(v []*ComplianceSummaryByResourceType) *GetComplianceSummaryByResourceTypeOutput {
15638	s.ComplianceSummariesByResourceType = v
15639	return s
15640}
15641
15642type GetConformancePackComplianceDetailsInput struct {
15643	_ struct{} `type:"structure"`
15644
15645	// Name of the conformance pack.
15646	//
15647	// ConformancePackName is a required field
15648	ConformancePackName *string `min:"1" type:"string" required:"true"`
15649
15650	// A ConformancePackEvaluationFilters object.
15651	Filters *ConformancePackEvaluationFilters `type:"structure"`
15652
15653	// The maximum number of evaluation results returned on each page. If you do
15654	// no specify a number, AWS Config uses the default. The default is 100.
15655	Limit *int64 `type:"integer"`
15656
15657	// The nextToken string returned in a previous request that you use to request
15658	// the next page of results in a paginated response.
15659	NextToken *string `type:"string"`
15660}
15661
15662// String returns the string representation
15663func (s GetConformancePackComplianceDetailsInput) String() string {
15664	return awsutil.Prettify(s)
15665}
15666
15667// GoString returns the string representation
15668func (s GetConformancePackComplianceDetailsInput) GoString() string {
15669	return s.String()
15670}
15671
15672// Validate inspects the fields of the type to determine if they are valid.
15673func (s *GetConformancePackComplianceDetailsInput) Validate() error {
15674	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceDetailsInput"}
15675	if s.ConformancePackName == nil {
15676		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
15677	}
15678	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
15679		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
15680	}
15681	if s.Filters != nil {
15682		if err := s.Filters.Validate(); err != nil {
15683			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
15684		}
15685	}
15686
15687	if invalidParams.Len() > 0 {
15688		return invalidParams
15689	}
15690	return nil
15691}
15692
15693// SetConformancePackName sets the ConformancePackName field's value.
15694func (s *GetConformancePackComplianceDetailsInput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsInput {
15695	s.ConformancePackName = &v
15696	return s
15697}
15698
15699// SetFilters sets the Filters field's value.
15700func (s *GetConformancePackComplianceDetailsInput) SetFilters(v *ConformancePackEvaluationFilters) *GetConformancePackComplianceDetailsInput {
15701	s.Filters = v
15702	return s
15703}
15704
15705// SetLimit sets the Limit field's value.
15706func (s *GetConformancePackComplianceDetailsInput) SetLimit(v int64) *GetConformancePackComplianceDetailsInput {
15707	s.Limit = &v
15708	return s
15709}
15710
15711// SetNextToken sets the NextToken field's value.
15712func (s *GetConformancePackComplianceDetailsInput) SetNextToken(v string) *GetConformancePackComplianceDetailsInput {
15713	s.NextToken = &v
15714	return s
15715}
15716
15717type GetConformancePackComplianceDetailsOutput struct {
15718	_ struct{} `type:"structure"`
15719
15720	// Name of the conformance pack.
15721	//
15722	// ConformancePackName is a required field
15723	ConformancePackName *string `min:"1" type:"string" required:"true"`
15724
15725	// Returns a list of ConformancePackEvaluationResult objects.
15726	ConformancePackRuleEvaluationResults []*ConformancePackEvaluationResult `type:"list"`
15727
15728	// The nextToken string returned in a previous request that you use to request
15729	// the next page of results in a paginated response.
15730	NextToken *string `type:"string"`
15731}
15732
15733// String returns the string representation
15734func (s GetConformancePackComplianceDetailsOutput) String() string {
15735	return awsutil.Prettify(s)
15736}
15737
15738// GoString returns the string representation
15739func (s GetConformancePackComplianceDetailsOutput) GoString() string {
15740	return s.String()
15741}
15742
15743// SetConformancePackName sets the ConformancePackName field's value.
15744func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackName(v string) *GetConformancePackComplianceDetailsOutput {
15745	s.ConformancePackName = &v
15746	return s
15747}
15748
15749// SetConformancePackRuleEvaluationResults sets the ConformancePackRuleEvaluationResults field's value.
15750func (s *GetConformancePackComplianceDetailsOutput) SetConformancePackRuleEvaluationResults(v []*ConformancePackEvaluationResult) *GetConformancePackComplianceDetailsOutput {
15751	s.ConformancePackRuleEvaluationResults = v
15752	return s
15753}
15754
15755// SetNextToken sets the NextToken field's value.
15756func (s *GetConformancePackComplianceDetailsOutput) SetNextToken(v string) *GetConformancePackComplianceDetailsOutput {
15757	s.NextToken = &v
15758	return s
15759}
15760
15761type GetConformancePackComplianceSummaryInput struct {
15762	_ struct{} `type:"structure"`
15763
15764	// Names of conformance packs.
15765	//
15766	// ConformancePackNames is a required field
15767	ConformancePackNames []*string `min:"1" type:"list" required:"true"`
15768
15769	// The maximum number of conformance packs returned on each page.
15770	Limit *int64 `type:"integer"`
15771
15772	// The nextToken string returned on a previous page that you use to get the
15773	// next page of results in a paginated response.
15774	NextToken *string `type:"string"`
15775}
15776
15777// String returns the string representation
15778func (s GetConformancePackComplianceSummaryInput) String() string {
15779	return awsutil.Prettify(s)
15780}
15781
15782// GoString returns the string representation
15783func (s GetConformancePackComplianceSummaryInput) GoString() string {
15784	return s.String()
15785}
15786
15787// Validate inspects the fields of the type to determine if they are valid.
15788func (s *GetConformancePackComplianceSummaryInput) Validate() error {
15789	invalidParams := request.ErrInvalidParams{Context: "GetConformancePackComplianceSummaryInput"}
15790	if s.ConformancePackNames == nil {
15791		invalidParams.Add(request.NewErrParamRequired("ConformancePackNames"))
15792	}
15793	if s.ConformancePackNames != nil && len(s.ConformancePackNames) < 1 {
15794		invalidParams.Add(request.NewErrParamMinLen("ConformancePackNames", 1))
15795	}
15796
15797	if invalidParams.Len() > 0 {
15798		return invalidParams
15799	}
15800	return nil
15801}
15802
15803// SetConformancePackNames sets the ConformancePackNames field's value.
15804func (s *GetConformancePackComplianceSummaryInput) SetConformancePackNames(v []*string) *GetConformancePackComplianceSummaryInput {
15805	s.ConformancePackNames = v
15806	return s
15807}
15808
15809// SetLimit sets the Limit field's value.
15810func (s *GetConformancePackComplianceSummaryInput) SetLimit(v int64) *GetConformancePackComplianceSummaryInput {
15811	s.Limit = &v
15812	return s
15813}
15814
15815// SetNextToken sets the NextToken field's value.
15816func (s *GetConformancePackComplianceSummaryInput) SetNextToken(v string) *GetConformancePackComplianceSummaryInput {
15817	s.NextToken = &v
15818	return s
15819}
15820
15821type GetConformancePackComplianceSummaryOutput struct {
15822	_ struct{} `type:"structure"`
15823
15824	// A list of ConformancePackComplianceSummary objects.
15825	ConformancePackComplianceSummaryList []*ConformancePackComplianceSummary `min:"1" type:"list"`
15826
15827	// The nextToken string returned on a previous page that you use to get the
15828	// next page of results in a paginated response.
15829	NextToken *string `type:"string"`
15830}
15831
15832// String returns the string representation
15833func (s GetConformancePackComplianceSummaryOutput) String() string {
15834	return awsutil.Prettify(s)
15835}
15836
15837// GoString returns the string representation
15838func (s GetConformancePackComplianceSummaryOutput) GoString() string {
15839	return s.String()
15840}
15841
15842// SetConformancePackComplianceSummaryList sets the ConformancePackComplianceSummaryList field's value.
15843func (s *GetConformancePackComplianceSummaryOutput) SetConformancePackComplianceSummaryList(v []*ConformancePackComplianceSummary) *GetConformancePackComplianceSummaryOutput {
15844	s.ConformancePackComplianceSummaryList = v
15845	return s
15846}
15847
15848// SetNextToken sets the NextToken field's value.
15849func (s *GetConformancePackComplianceSummaryOutput) SetNextToken(v string) *GetConformancePackComplianceSummaryOutput {
15850	s.NextToken = &v
15851	return s
15852}
15853
15854type GetDiscoveredResourceCountsInput struct {
15855	_ struct{} `type:"structure"`
15856
15857	// The maximum number of ResourceCount objects returned on each page. The default
15858	// is 100. You cannot specify a number greater than 100. If you specify 0, AWS
15859	// Config uses the default.
15860	Limit *int64 `locationName:"limit" type:"integer"`
15861
15862	// The nextToken string returned on a previous page that you use to get the
15863	// next page of results in a paginated response.
15864	NextToken *string `locationName:"nextToken" type:"string"`
15865
15866	// The comma-separated list that specifies the resource types that you want
15867	// AWS Config to return (for example, "AWS::EC2::Instance", "AWS::IAM::User").
15868	//
15869	// If a value for resourceTypes is not specified, AWS Config returns all resource
15870	// types that AWS Config is recording in the region for your account.
15871	//
15872	// If the configuration recorder is turned off, AWS Config returns an empty
15873	// list of ResourceCount objects. If the configuration recorder is not recording
15874	// a specific resource type (for example, S3 buckets), that resource type is
15875	// not returned in the list of ResourceCount objects.
15876	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
15877}
15878
15879// String returns the string representation
15880func (s GetDiscoveredResourceCountsInput) String() string {
15881	return awsutil.Prettify(s)
15882}
15883
15884// GoString returns the string representation
15885func (s GetDiscoveredResourceCountsInput) GoString() string {
15886	return s.String()
15887}
15888
15889// SetLimit sets the Limit field's value.
15890func (s *GetDiscoveredResourceCountsInput) SetLimit(v int64) *GetDiscoveredResourceCountsInput {
15891	s.Limit = &v
15892	return s
15893}
15894
15895// SetNextToken sets the NextToken field's value.
15896func (s *GetDiscoveredResourceCountsInput) SetNextToken(v string) *GetDiscoveredResourceCountsInput {
15897	s.NextToken = &v
15898	return s
15899}
15900
15901// SetResourceTypes sets the ResourceTypes field's value.
15902func (s *GetDiscoveredResourceCountsInput) SetResourceTypes(v []*string) *GetDiscoveredResourceCountsInput {
15903	s.ResourceTypes = v
15904	return s
15905}
15906
15907type GetDiscoveredResourceCountsOutput struct {
15908	_ struct{} `type:"structure"`
15909
15910	// The string that you use in a subsequent request to get the next page of results
15911	// in a paginated response.
15912	NextToken *string `locationName:"nextToken" type:"string"`
15913
15914	// The list of ResourceCount objects. Each object is listed in descending order
15915	// by the number of resources.
15916	ResourceCounts []*ResourceCount `locationName:"resourceCounts" type:"list"`
15917
15918	// The total number of resources that AWS Config is recording in the region
15919	// for your account. If you specify resource types in the request, AWS Config
15920	// returns only the total number of resources for those resource types.
15921	//
15922	// Example
15923	//
15924	// AWS Config is recording three resource types in the US East (Ohio) Region
15925	// for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for
15926	// a total of 60 resources.
15927	//
15928	// You make a call to the GetDiscoveredResourceCounts action and specify the
15929	// resource type, "AWS::EC2::Instances", in the request.
15930	//
15931	// AWS Config returns 25 for totalDiscoveredResources.
15932	TotalDiscoveredResources *int64 `locationName:"totalDiscoveredResources" type:"long"`
15933}
15934
15935// String returns the string representation
15936func (s GetDiscoveredResourceCountsOutput) String() string {
15937	return awsutil.Prettify(s)
15938}
15939
15940// GoString returns the string representation
15941func (s GetDiscoveredResourceCountsOutput) GoString() string {
15942	return s.String()
15943}
15944
15945// SetNextToken sets the NextToken field's value.
15946func (s *GetDiscoveredResourceCountsOutput) SetNextToken(v string) *GetDiscoveredResourceCountsOutput {
15947	s.NextToken = &v
15948	return s
15949}
15950
15951// SetResourceCounts sets the ResourceCounts field's value.
15952func (s *GetDiscoveredResourceCountsOutput) SetResourceCounts(v []*ResourceCount) *GetDiscoveredResourceCountsOutput {
15953	s.ResourceCounts = v
15954	return s
15955}
15956
15957// SetTotalDiscoveredResources sets the TotalDiscoveredResources field's value.
15958func (s *GetDiscoveredResourceCountsOutput) SetTotalDiscoveredResources(v int64) *GetDiscoveredResourceCountsOutput {
15959	s.TotalDiscoveredResources = &v
15960	return s
15961}
15962
15963type GetOrganizationConfigRuleDetailedStatusInput struct {
15964	_ struct{} `type:"structure"`
15965
15966	// A StatusDetailFilters object.
15967	Filters *StatusDetailFilters `type:"structure"`
15968
15969	// The maximum number of OrganizationConfigRuleDetailedStatus returned on each
15970	// page. If you do not specify a number, AWS Config uses the default. The default
15971	// is 100.
15972	Limit *int64 `type:"integer"`
15973
15974	// The nextToken string returned on a previous page that you use to get the
15975	// next page of results in a paginated response.
15976	NextToken *string `type:"string"`
15977
15978	// The name of organization config rule for which you want status details for
15979	// member accounts.
15980	//
15981	// OrganizationConfigRuleName is a required field
15982	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
15983}
15984
15985// String returns the string representation
15986func (s GetOrganizationConfigRuleDetailedStatusInput) String() string {
15987	return awsutil.Prettify(s)
15988}
15989
15990// GoString returns the string representation
15991func (s GetOrganizationConfigRuleDetailedStatusInput) GoString() string {
15992	return s.String()
15993}
15994
15995// Validate inspects the fields of the type to determine if they are valid.
15996func (s *GetOrganizationConfigRuleDetailedStatusInput) Validate() error {
15997	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConfigRuleDetailedStatusInput"}
15998	if s.OrganizationConfigRuleName == nil {
15999		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
16000	}
16001	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
16002		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
16003	}
16004
16005	if invalidParams.Len() > 0 {
16006		return invalidParams
16007	}
16008	return nil
16009}
16010
16011// SetFilters sets the Filters field's value.
16012func (s *GetOrganizationConfigRuleDetailedStatusInput) SetFilters(v *StatusDetailFilters) *GetOrganizationConfigRuleDetailedStatusInput {
16013	s.Filters = v
16014	return s
16015}
16016
16017// SetLimit sets the Limit field's value.
16018func (s *GetOrganizationConfigRuleDetailedStatusInput) SetLimit(v int64) *GetOrganizationConfigRuleDetailedStatusInput {
16019	s.Limit = &v
16020	return s
16021}
16022
16023// SetNextToken sets the NextToken field's value.
16024func (s *GetOrganizationConfigRuleDetailedStatusInput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusInput {
16025	s.NextToken = &v
16026	return s
16027}
16028
16029// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
16030func (s *GetOrganizationConfigRuleDetailedStatusInput) SetOrganizationConfigRuleName(v string) *GetOrganizationConfigRuleDetailedStatusInput {
16031	s.OrganizationConfigRuleName = &v
16032	return s
16033}
16034
16035type GetOrganizationConfigRuleDetailedStatusOutput struct {
16036	_ struct{} `type:"structure"`
16037
16038	// The nextToken string returned on a previous page that you use to get the
16039	// next page of results in a paginated response.
16040	NextToken *string `type:"string"`
16041
16042	// A list of MemberAccountStatus objects.
16043	OrganizationConfigRuleDetailedStatus []*MemberAccountStatus `type:"list"`
16044}
16045
16046// String returns the string representation
16047func (s GetOrganizationConfigRuleDetailedStatusOutput) String() string {
16048	return awsutil.Prettify(s)
16049}
16050
16051// GoString returns the string representation
16052func (s GetOrganizationConfigRuleDetailedStatusOutput) GoString() string {
16053	return s.String()
16054}
16055
16056// SetNextToken sets the NextToken field's value.
16057func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConfigRuleDetailedStatusOutput {
16058	s.NextToken = &v
16059	return s
16060}
16061
16062// SetOrganizationConfigRuleDetailedStatus sets the OrganizationConfigRuleDetailedStatus field's value.
16063func (s *GetOrganizationConfigRuleDetailedStatusOutput) SetOrganizationConfigRuleDetailedStatus(v []*MemberAccountStatus) *GetOrganizationConfigRuleDetailedStatusOutput {
16064	s.OrganizationConfigRuleDetailedStatus = v
16065	return s
16066}
16067
16068type GetOrganizationConformancePackDetailedStatusInput struct {
16069	_ struct{} `type:"structure"`
16070
16071	// An OrganizationResourceDetailedStatusFilters object.
16072	Filters *OrganizationResourceDetailedStatusFilters `type:"structure"`
16073
16074	// The maximum number of OrganizationConformancePackDetailedStatuses returned
16075	// on each page. If you do not specify a number, AWS Config uses the default.
16076	// The default is 100.
16077	Limit *int64 `type:"integer"`
16078
16079	// The nextToken string returned on a previous page that you use to get the
16080	// next page of results in a paginated response.
16081	NextToken *string `type:"string"`
16082
16083	// The name of organization conformance pack for which you want status details
16084	// for member accounts.
16085	//
16086	// OrganizationConformancePackName is a required field
16087	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
16088}
16089
16090// String returns the string representation
16091func (s GetOrganizationConformancePackDetailedStatusInput) String() string {
16092	return awsutil.Prettify(s)
16093}
16094
16095// GoString returns the string representation
16096func (s GetOrganizationConformancePackDetailedStatusInput) GoString() string {
16097	return s.String()
16098}
16099
16100// Validate inspects the fields of the type to determine if they are valid.
16101func (s *GetOrganizationConformancePackDetailedStatusInput) Validate() error {
16102	invalidParams := request.ErrInvalidParams{Context: "GetOrganizationConformancePackDetailedStatusInput"}
16103	if s.OrganizationConformancePackName == nil {
16104		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
16105	}
16106	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
16107		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
16108	}
16109
16110	if invalidParams.Len() > 0 {
16111		return invalidParams
16112	}
16113	return nil
16114}
16115
16116// SetFilters sets the Filters field's value.
16117func (s *GetOrganizationConformancePackDetailedStatusInput) SetFilters(v *OrganizationResourceDetailedStatusFilters) *GetOrganizationConformancePackDetailedStatusInput {
16118	s.Filters = v
16119	return s
16120}
16121
16122// SetLimit sets the Limit field's value.
16123func (s *GetOrganizationConformancePackDetailedStatusInput) SetLimit(v int64) *GetOrganizationConformancePackDetailedStatusInput {
16124	s.Limit = &v
16125	return s
16126}
16127
16128// SetNextToken sets the NextToken field's value.
16129func (s *GetOrganizationConformancePackDetailedStatusInput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusInput {
16130	s.NextToken = &v
16131	return s
16132}
16133
16134// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
16135func (s *GetOrganizationConformancePackDetailedStatusInput) SetOrganizationConformancePackName(v string) *GetOrganizationConformancePackDetailedStatusInput {
16136	s.OrganizationConformancePackName = &v
16137	return s
16138}
16139
16140type GetOrganizationConformancePackDetailedStatusOutput struct {
16141	_ struct{} `type:"structure"`
16142
16143	// The nextToken string returned on a previous page that you use to get the
16144	// next page of results in a paginated response.
16145	NextToken *string `type:"string"`
16146
16147	// A list of OrganizationConformancePackDetailedStatus objects.
16148	OrganizationConformancePackDetailedStatuses []*OrganizationConformancePackDetailedStatus `type:"list"`
16149}
16150
16151// String returns the string representation
16152func (s GetOrganizationConformancePackDetailedStatusOutput) String() string {
16153	return awsutil.Prettify(s)
16154}
16155
16156// GoString returns the string representation
16157func (s GetOrganizationConformancePackDetailedStatusOutput) GoString() string {
16158	return s.String()
16159}
16160
16161// SetNextToken sets the NextToken field's value.
16162func (s *GetOrganizationConformancePackDetailedStatusOutput) SetNextToken(v string) *GetOrganizationConformancePackDetailedStatusOutput {
16163	s.NextToken = &v
16164	return s
16165}
16166
16167// SetOrganizationConformancePackDetailedStatuses sets the OrganizationConformancePackDetailedStatuses field's value.
16168func (s *GetOrganizationConformancePackDetailedStatusOutput) SetOrganizationConformancePackDetailedStatuses(v []*OrganizationConformancePackDetailedStatus) *GetOrganizationConformancePackDetailedStatusOutput {
16169	s.OrganizationConformancePackDetailedStatuses = v
16170	return s
16171}
16172
16173// The input for the GetResourceConfigHistory action.
16174type GetResourceConfigHistoryInput struct {
16175	_ struct{} `type:"structure"`
16176
16177	// The chronological order for configuration items listed. By default, the results
16178	// are listed in reverse chronological order.
16179	ChronologicalOrder *string `locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder"`
16180
16181	// The time stamp that indicates an earlier time. If not specified, the action
16182	// returns paginated results that contain configuration items that start when
16183	// the first configuration item was recorded.
16184	EarlierTime *time.Time `locationName:"earlierTime" type:"timestamp"`
16185
16186	// The time stamp that indicates a later time. If not specified, current time
16187	// is taken.
16188	LaterTime *time.Time `locationName:"laterTime" type:"timestamp"`
16189
16190	// The maximum number of configuration items returned on each page. The default
16191	// is 10. You cannot specify a number greater than 100. If you specify 0, AWS
16192	// Config uses the default.
16193	Limit *int64 `locationName:"limit" type:"integer"`
16194
16195	// The nextToken string returned on a previous page that you use to get the
16196	// next page of results in a paginated response.
16197	NextToken *string `locationName:"nextToken" type:"string"`
16198
16199	// The ID of the resource (for example., sg-xxxxxx).
16200	//
16201	// ResourceId is a required field
16202	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
16203
16204	// The resource type.
16205	//
16206	// ResourceType is a required field
16207	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
16208}
16209
16210// String returns the string representation
16211func (s GetResourceConfigHistoryInput) String() string {
16212	return awsutil.Prettify(s)
16213}
16214
16215// GoString returns the string representation
16216func (s GetResourceConfigHistoryInput) GoString() string {
16217	return s.String()
16218}
16219
16220// Validate inspects the fields of the type to determine if they are valid.
16221func (s *GetResourceConfigHistoryInput) Validate() error {
16222	invalidParams := request.ErrInvalidParams{Context: "GetResourceConfigHistoryInput"}
16223	if s.ResourceId == nil {
16224		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
16225	}
16226	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
16227		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
16228	}
16229	if s.ResourceType == nil {
16230		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
16231	}
16232
16233	if invalidParams.Len() > 0 {
16234		return invalidParams
16235	}
16236	return nil
16237}
16238
16239// SetChronologicalOrder sets the ChronologicalOrder field's value.
16240func (s *GetResourceConfigHistoryInput) SetChronologicalOrder(v string) *GetResourceConfigHistoryInput {
16241	s.ChronologicalOrder = &v
16242	return s
16243}
16244
16245// SetEarlierTime sets the EarlierTime field's value.
16246func (s *GetResourceConfigHistoryInput) SetEarlierTime(v time.Time) *GetResourceConfigHistoryInput {
16247	s.EarlierTime = &v
16248	return s
16249}
16250
16251// SetLaterTime sets the LaterTime field's value.
16252func (s *GetResourceConfigHistoryInput) SetLaterTime(v time.Time) *GetResourceConfigHistoryInput {
16253	s.LaterTime = &v
16254	return s
16255}
16256
16257// SetLimit sets the Limit field's value.
16258func (s *GetResourceConfigHistoryInput) SetLimit(v int64) *GetResourceConfigHistoryInput {
16259	s.Limit = &v
16260	return s
16261}
16262
16263// SetNextToken sets the NextToken field's value.
16264func (s *GetResourceConfigHistoryInput) SetNextToken(v string) *GetResourceConfigHistoryInput {
16265	s.NextToken = &v
16266	return s
16267}
16268
16269// SetResourceId sets the ResourceId field's value.
16270func (s *GetResourceConfigHistoryInput) SetResourceId(v string) *GetResourceConfigHistoryInput {
16271	s.ResourceId = &v
16272	return s
16273}
16274
16275// SetResourceType sets the ResourceType field's value.
16276func (s *GetResourceConfigHistoryInput) SetResourceType(v string) *GetResourceConfigHistoryInput {
16277	s.ResourceType = &v
16278	return s
16279}
16280
16281// The output for the GetResourceConfigHistory action.
16282type GetResourceConfigHistoryOutput struct {
16283	_ struct{} `type:"structure"`
16284
16285	// A list that contains the configuration history of one or more resources.
16286	ConfigurationItems []*ConfigurationItem `locationName:"configurationItems" type:"list"`
16287
16288	// The string that you use in a subsequent request to get the next page of results
16289	// in a paginated response.
16290	NextToken *string `locationName:"nextToken" type:"string"`
16291}
16292
16293// String returns the string representation
16294func (s GetResourceConfigHistoryOutput) String() string {
16295	return awsutil.Prettify(s)
16296}
16297
16298// GoString returns the string representation
16299func (s GetResourceConfigHistoryOutput) GoString() string {
16300	return s.String()
16301}
16302
16303// SetConfigurationItems sets the ConfigurationItems field's value.
16304func (s *GetResourceConfigHistoryOutput) SetConfigurationItems(v []*ConfigurationItem) *GetResourceConfigHistoryOutput {
16305	s.ConfigurationItems = v
16306	return s
16307}
16308
16309// SetNextToken sets the NextToken field's value.
16310func (s *GetResourceConfigHistoryOutput) SetNextToken(v string) *GetResourceConfigHistoryOutput {
16311	s.NextToken = &v
16312	return s
16313}
16314
16315type GetStoredQueryInput struct {
16316	_ struct{} `type:"structure"`
16317
16318	// The name of the query.
16319	//
16320	// QueryName is a required field
16321	QueryName *string `min:"1" type:"string" required:"true"`
16322}
16323
16324// String returns the string representation
16325func (s GetStoredQueryInput) String() string {
16326	return awsutil.Prettify(s)
16327}
16328
16329// GoString returns the string representation
16330func (s GetStoredQueryInput) GoString() string {
16331	return s.String()
16332}
16333
16334// Validate inspects the fields of the type to determine if they are valid.
16335func (s *GetStoredQueryInput) Validate() error {
16336	invalidParams := request.ErrInvalidParams{Context: "GetStoredQueryInput"}
16337	if s.QueryName == nil {
16338		invalidParams.Add(request.NewErrParamRequired("QueryName"))
16339	}
16340	if s.QueryName != nil && len(*s.QueryName) < 1 {
16341		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
16342	}
16343
16344	if invalidParams.Len() > 0 {
16345		return invalidParams
16346	}
16347	return nil
16348}
16349
16350// SetQueryName sets the QueryName field's value.
16351func (s *GetStoredQueryInput) SetQueryName(v string) *GetStoredQueryInput {
16352	s.QueryName = &v
16353	return s
16354}
16355
16356type GetStoredQueryOutput struct {
16357	_ struct{} `type:"structure"`
16358
16359	// Returns a StoredQuery object.
16360	StoredQuery *StoredQuery `type:"structure"`
16361}
16362
16363// String returns the string representation
16364func (s GetStoredQueryOutput) String() string {
16365	return awsutil.Prettify(s)
16366}
16367
16368// GoString returns the string representation
16369func (s GetStoredQueryOutput) GoString() string {
16370	return s.String()
16371}
16372
16373// SetStoredQuery sets the StoredQuery field's value.
16374func (s *GetStoredQueryOutput) SetStoredQuery(v *StoredQuery) *GetStoredQueryOutput {
16375	s.StoredQuery = v
16376	return s
16377}
16378
16379// The count of resources that are grouped by the group name.
16380type GroupedResourceCount struct {
16381	_ struct{} `type:"structure"`
16382
16383	// The name of the group that can be region, account ID, or resource type. For
16384	// example, region1, region2 if the region was chosen as GroupByKey.
16385	//
16386	// GroupName is a required field
16387	GroupName *string `min:"1" type:"string" required:"true"`
16388
16389	// The number of resources in the group.
16390	//
16391	// ResourceCount is a required field
16392	ResourceCount *int64 `type:"long" required:"true"`
16393}
16394
16395// String returns the string representation
16396func (s GroupedResourceCount) String() string {
16397	return awsutil.Prettify(s)
16398}
16399
16400// GoString returns the string representation
16401func (s GroupedResourceCount) GoString() string {
16402	return s.String()
16403}
16404
16405// SetGroupName sets the GroupName field's value.
16406func (s *GroupedResourceCount) SetGroupName(v string) *GroupedResourceCount {
16407	s.GroupName = &v
16408	return s
16409}
16410
16411// SetResourceCount sets the ResourceCount field's value.
16412func (s *GroupedResourceCount) SetResourceCount(v int64) *GroupedResourceCount {
16413	s.ResourceCount = &v
16414	return s
16415}
16416
16417// Your Amazon S3 bucket policy does not permit AWS Config to write to it.
16418type InsufficientDeliveryPolicyException struct {
16419	_            struct{}                  `type:"structure"`
16420	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16421
16422	Message_ *string `locationName:"message" type:"string"`
16423}
16424
16425// String returns the string representation
16426func (s InsufficientDeliveryPolicyException) String() string {
16427	return awsutil.Prettify(s)
16428}
16429
16430// GoString returns the string representation
16431func (s InsufficientDeliveryPolicyException) GoString() string {
16432	return s.String()
16433}
16434
16435func newErrorInsufficientDeliveryPolicyException(v protocol.ResponseMetadata) error {
16436	return &InsufficientDeliveryPolicyException{
16437		RespMetadata: v,
16438	}
16439}
16440
16441// Code returns the exception type name.
16442func (s *InsufficientDeliveryPolicyException) Code() string {
16443	return "InsufficientDeliveryPolicyException"
16444}
16445
16446// Message returns the exception's message.
16447func (s *InsufficientDeliveryPolicyException) Message() string {
16448	if s.Message_ != nil {
16449		return *s.Message_
16450	}
16451	return ""
16452}
16453
16454// OrigErr always returns nil, satisfies awserr.Error interface.
16455func (s *InsufficientDeliveryPolicyException) OrigErr() error {
16456	return nil
16457}
16458
16459func (s *InsufficientDeliveryPolicyException) Error() string {
16460	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16461}
16462
16463// Status code returns the HTTP status code for the request's response error.
16464func (s *InsufficientDeliveryPolicyException) StatusCode() int {
16465	return s.RespMetadata.StatusCode
16466}
16467
16468// RequestID returns the service's response RequestID for request.
16469func (s *InsufficientDeliveryPolicyException) RequestID() string {
16470	return s.RespMetadata.RequestID
16471}
16472
16473// Indicates one of the following errors:
16474//
16475//    * For PutConfigRule, the rule cannot be created because the IAM role assigned
16476//    to AWS Config lacks permissions to perform the config:Put* action.
16477//
16478//    * For PutConfigRule, the AWS Lambda function cannot be invoked. Check
16479//    the function ARN, and check the function's permissions.
16480//
16481//    * For PutOrganizationConfigRule, organization config rule cannot be created
16482//    because you do not have permissions to call IAM GetRole action or create
16483//    a service linked role.
16484//
16485//    * For PutConformancePack and PutOrganizationConformancePack, a conformance
16486//    pack cannot be created because you do not have permissions: To call IAM
16487//    GetRole action or create a service linked role. To read Amazon S3 bucket.
16488type InsufficientPermissionsException struct {
16489	_            struct{}                  `type:"structure"`
16490	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16491
16492	Message_ *string `locationName:"message" type:"string"`
16493}
16494
16495// String returns the string representation
16496func (s InsufficientPermissionsException) String() string {
16497	return awsutil.Prettify(s)
16498}
16499
16500// GoString returns the string representation
16501func (s InsufficientPermissionsException) GoString() string {
16502	return s.String()
16503}
16504
16505func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
16506	return &InsufficientPermissionsException{
16507		RespMetadata: v,
16508	}
16509}
16510
16511// Code returns the exception type name.
16512func (s *InsufficientPermissionsException) Code() string {
16513	return "InsufficientPermissionsException"
16514}
16515
16516// Message returns the exception's message.
16517func (s *InsufficientPermissionsException) Message() string {
16518	if s.Message_ != nil {
16519		return *s.Message_
16520	}
16521	return ""
16522}
16523
16524// OrigErr always returns nil, satisfies awserr.Error interface.
16525func (s *InsufficientPermissionsException) OrigErr() error {
16526	return nil
16527}
16528
16529func (s *InsufficientPermissionsException) Error() string {
16530	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16531}
16532
16533// Status code returns the HTTP status code for the request's response error.
16534func (s *InsufficientPermissionsException) StatusCode() int {
16535	return s.RespMetadata.StatusCode
16536}
16537
16538// RequestID returns the service's response RequestID for request.
16539func (s *InsufficientPermissionsException) RequestID() string {
16540	return s.RespMetadata.RequestID
16541}
16542
16543// You have provided a configuration recorder name that is not valid.
16544type InvalidConfigurationRecorderNameException struct {
16545	_            struct{}                  `type:"structure"`
16546	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16547
16548	Message_ *string `locationName:"message" type:"string"`
16549}
16550
16551// String returns the string representation
16552func (s InvalidConfigurationRecorderNameException) String() string {
16553	return awsutil.Prettify(s)
16554}
16555
16556// GoString returns the string representation
16557func (s InvalidConfigurationRecorderNameException) GoString() string {
16558	return s.String()
16559}
16560
16561func newErrorInvalidConfigurationRecorderNameException(v protocol.ResponseMetadata) error {
16562	return &InvalidConfigurationRecorderNameException{
16563		RespMetadata: v,
16564	}
16565}
16566
16567// Code returns the exception type name.
16568func (s *InvalidConfigurationRecorderNameException) Code() string {
16569	return "InvalidConfigurationRecorderNameException"
16570}
16571
16572// Message returns the exception's message.
16573func (s *InvalidConfigurationRecorderNameException) Message() string {
16574	if s.Message_ != nil {
16575		return *s.Message_
16576	}
16577	return ""
16578}
16579
16580// OrigErr always returns nil, satisfies awserr.Error interface.
16581func (s *InvalidConfigurationRecorderNameException) OrigErr() error {
16582	return nil
16583}
16584
16585func (s *InvalidConfigurationRecorderNameException) Error() string {
16586	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16587}
16588
16589// Status code returns the HTTP status code for the request's response error.
16590func (s *InvalidConfigurationRecorderNameException) StatusCode() int {
16591	return s.RespMetadata.StatusCode
16592}
16593
16594// RequestID returns the service's response RequestID for request.
16595func (s *InvalidConfigurationRecorderNameException) RequestID() string {
16596	return s.RespMetadata.RequestID
16597}
16598
16599// The specified delivery channel name is not valid.
16600type InvalidDeliveryChannelNameException struct {
16601	_            struct{}                  `type:"structure"`
16602	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16603
16604	Message_ *string `locationName:"message" type:"string"`
16605}
16606
16607// String returns the string representation
16608func (s InvalidDeliveryChannelNameException) String() string {
16609	return awsutil.Prettify(s)
16610}
16611
16612// GoString returns the string representation
16613func (s InvalidDeliveryChannelNameException) GoString() string {
16614	return s.String()
16615}
16616
16617func newErrorInvalidDeliveryChannelNameException(v protocol.ResponseMetadata) error {
16618	return &InvalidDeliveryChannelNameException{
16619		RespMetadata: v,
16620	}
16621}
16622
16623// Code returns the exception type name.
16624func (s *InvalidDeliveryChannelNameException) Code() string {
16625	return "InvalidDeliveryChannelNameException"
16626}
16627
16628// Message returns the exception's message.
16629func (s *InvalidDeliveryChannelNameException) Message() string {
16630	if s.Message_ != nil {
16631		return *s.Message_
16632	}
16633	return ""
16634}
16635
16636// OrigErr always returns nil, satisfies awserr.Error interface.
16637func (s *InvalidDeliveryChannelNameException) OrigErr() error {
16638	return nil
16639}
16640
16641func (s *InvalidDeliveryChannelNameException) Error() string {
16642	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16643}
16644
16645// Status code returns the HTTP status code for the request's response error.
16646func (s *InvalidDeliveryChannelNameException) StatusCode() int {
16647	return s.RespMetadata.StatusCode
16648}
16649
16650// RequestID returns the service's response RequestID for request.
16651func (s *InvalidDeliveryChannelNameException) RequestID() string {
16652	return s.RespMetadata.RequestID
16653}
16654
16655// The syntax of the query is incorrect.
16656type InvalidExpressionException struct {
16657	_            struct{}                  `type:"structure"`
16658	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16659
16660	Message_ *string `locationName:"message" type:"string"`
16661}
16662
16663// String returns the string representation
16664func (s InvalidExpressionException) String() string {
16665	return awsutil.Prettify(s)
16666}
16667
16668// GoString returns the string representation
16669func (s InvalidExpressionException) GoString() string {
16670	return s.String()
16671}
16672
16673func newErrorInvalidExpressionException(v protocol.ResponseMetadata) error {
16674	return &InvalidExpressionException{
16675		RespMetadata: v,
16676	}
16677}
16678
16679// Code returns the exception type name.
16680func (s *InvalidExpressionException) Code() string {
16681	return "InvalidExpressionException"
16682}
16683
16684// Message returns the exception's message.
16685func (s *InvalidExpressionException) Message() string {
16686	if s.Message_ != nil {
16687		return *s.Message_
16688	}
16689	return ""
16690}
16691
16692// OrigErr always returns nil, satisfies awserr.Error interface.
16693func (s *InvalidExpressionException) OrigErr() error {
16694	return nil
16695}
16696
16697func (s *InvalidExpressionException) Error() string {
16698	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16699}
16700
16701// Status code returns the HTTP status code for the request's response error.
16702func (s *InvalidExpressionException) StatusCode() int {
16703	return s.RespMetadata.StatusCode
16704}
16705
16706// RequestID returns the service's response RequestID for request.
16707func (s *InvalidExpressionException) RequestID() string {
16708	return s.RespMetadata.RequestID
16709}
16710
16711// The specified limit is outside the allowable range.
16712type InvalidLimitException struct {
16713	_            struct{}                  `type:"structure"`
16714	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16715
16716	Message_ *string `locationName:"message" type:"string"`
16717}
16718
16719// String returns the string representation
16720func (s InvalidLimitException) String() string {
16721	return awsutil.Prettify(s)
16722}
16723
16724// GoString returns the string representation
16725func (s InvalidLimitException) GoString() string {
16726	return s.String()
16727}
16728
16729func newErrorInvalidLimitException(v protocol.ResponseMetadata) error {
16730	return &InvalidLimitException{
16731		RespMetadata: v,
16732	}
16733}
16734
16735// Code returns the exception type name.
16736func (s *InvalidLimitException) Code() string {
16737	return "InvalidLimitException"
16738}
16739
16740// Message returns the exception's message.
16741func (s *InvalidLimitException) Message() string {
16742	if s.Message_ != nil {
16743		return *s.Message_
16744	}
16745	return ""
16746}
16747
16748// OrigErr always returns nil, satisfies awserr.Error interface.
16749func (s *InvalidLimitException) OrigErr() error {
16750	return nil
16751}
16752
16753func (s *InvalidLimitException) Error() string {
16754	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16755}
16756
16757// Status code returns the HTTP status code for the request's response error.
16758func (s *InvalidLimitException) StatusCode() int {
16759	return s.RespMetadata.StatusCode
16760}
16761
16762// RequestID returns the service's response RequestID for request.
16763func (s *InvalidLimitException) RequestID() string {
16764	return s.RespMetadata.RequestID
16765}
16766
16767// The specified next token is invalid. Specify the nextToken string that was
16768// returned in the previous response to get the next page of results.
16769type InvalidNextTokenException struct {
16770	_            struct{}                  `type:"structure"`
16771	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16772
16773	Message_ *string `locationName:"message" type:"string"`
16774}
16775
16776// String returns the string representation
16777func (s InvalidNextTokenException) String() string {
16778	return awsutil.Prettify(s)
16779}
16780
16781// GoString returns the string representation
16782func (s InvalidNextTokenException) GoString() string {
16783	return s.String()
16784}
16785
16786func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
16787	return &InvalidNextTokenException{
16788		RespMetadata: v,
16789	}
16790}
16791
16792// Code returns the exception type name.
16793func (s *InvalidNextTokenException) Code() string {
16794	return "InvalidNextTokenException"
16795}
16796
16797// Message returns the exception's message.
16798func (s *InvalidNextTokenException) Message() string {
16799	if s.Message_ != nil {
16800		return *s.Message_
16801	}
16802	return ""
16803}
16804
16805// OrigErr always returns nil, satisfies awserr.Error interface.
16806func (s *InvalidNextTokenException) OrigErr() error {
16807	return nil
16808}
16809
16810func (s *InvalidNextTokenException) Error() string {
16811	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16812}
16813
16814// Status code returns the HTTP status code for the request's response error.
16815func (s *InvalidNextTokenException) StatusCode() int {
16816	return s.RespMetadata.StatusCode
16817}
16818
16819// RequestID returns the service's response RequestID for request.
16820func (s *InvalidNextTokenException) RequestID() string {
16821	return s.RespMetadata.RequestID
16822}
16823
16824// One or more of the specified parameters are invalid. Verify that your parameters
16825// are valid and try again.
16826type InvalidParameterValueException struct {
16827	_            struct{}                  `type:"structure"`
16828	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16829
16830	Message_ *string `locationName:"message" type:"string"`
16831}
16832
16833// String returns the string representation
16834func (s InvalidParameterValueException) String() string {
16835	return awsutil.Prettify(s)
16836}
16837
16838// GoString returns the string representation
16839func (s InvalidParameterValueException) GoString() string {
16840	return s.String()
16841}
16842
16843func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error {
16844	return &InvalidParameterValueException{
16845		RespMetadata: v,
16846	}
16847}
16848
16849// Code returns the exception type name.
16850func (s *InvalidParameterValueException) Code() string {
16851	return "InvalidParameterValueException"
16852}
16853
16854// Message returns the exception's message.
16855func (s *InvalidParameterValueException) Message() string {
16856	if s.Message_ != nil {
16857		return *s.Message_
16858	}
16859	return ""
16860}
16861
16862// OrigErr always returns nil, satisfies awserr.Error interface.
16863func (s *InvalidParameterValueException) OrigErr() error {
16864	return nil
16865}
16866
16867func (s *InvalidParameterValueException) Error() string {
16868	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16869}
16870
16871// Status code returns the HTTP status code for the request's response error.
16872func (s *InvalidParameterValueException) StatusCode() int {
16873	return s.RespMetadata.StatusCode
16874}
16875
16876// RequestID returns the service's response RequestID for request.
16877func (s *InvalidParameterValueException) RequestID() string {
16878	return s.RespMetadata.RequestID
16879}
16880
16881// AWS Config throws an exception if the recording group does not contain a
16882// valid list of resource types. Invalid values might also be incorrectly formatted.
16883type InvalidRecordingGroupException struct {
16884	_            struct{}                  `type:"structure"`
16885	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16886
16887	Message_ *string `locationName:"message" type:"string"`
16888}
16889
16890// String returns the string representation
16891func (s InvalidRecordingGroupException) String() string {
16892	return awsutil.Prettify(s)
16893}
16894
16895// GoString returns the string representation
16896func (s InvalidRecordingGroupException) GoString() string {
16897	return s.String()
16898}
16899
16900func newErrorInvalidRecordingGroupException(v protocol.ResponseMetadata) error {
16901	return &InvalidRecordingGroupException{
16902		RespMetadata: v,
16903	}
16904}
16905
16906// Code returns the exception type name.
16907func (s *InvalidRecordingGroupException) Code() string {
16908	return "InvalidRecordingGroupException"
16909}
16910
16911// Message returns the exception's message.
16912func (s *InvalidRecordingGroupException) Message() string {
16913	if s.Message_ != nil {
16914		return *s.Message_
16915	}
16916	return ""
16917}
16918
16919// OrigErr always returns nil, satisfies awserr.Error interface.
16920func (s *InvalidRecordingGroupException) OrigErr() error {
16921	return nil
16922}
16923
16924func (s *InvalidRecordingGroupException) Error() string {
16925	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16926}
16927
16928// Status code returns the HTTP status code for the request's response error.
16929func (s *InvalidRecordingGroupException) StatusCode() int {
16930	return s.RespMetadata.StatusCode
16931}
16932
16933// RequestID returns the service's response RequestID for request.
16934func (s *InvalidRecordingGroupException) RequestID() string {
16935	return s.RespMetadata.RequestID
16936}
16937
16938// The specified ResultToken is invalid.
16939type InvalidResultTokenException struct {
16940	_            struct{}                  `type:"structure"`
16941	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16942
16943	Message_ *string `locationName:"message" type:"string"`
16944}
16945
16946// String returns the string representation
16947func (s InvalidResultTokenException) String() string {
16948	return awsutil.Prettify(s)
16949}
16950
16951// GoString returns the string representation
16952func (s InvalidResultTokenException) GoString() string {
16953	return s.String()
16954}
16955
16956func newErrorInvalidResultTokenException(v protocol.ResponseMetadata) error {
16957	return &InvalidResultTokenException{
16958		RespMetadata: v,
16959	}
16960}
16961
16962// Code returns the exception type name.
16963func (s *InvalidResultTokenException) Code() string {
16964	return "InvalidResultTokenException"
16965}
16966
16967// Message returns the exception's message.
16968func (s *InvalidResultTokenException) Message() string {
16969	if s.Message_ != nil {
16970		return *s.Message_
16971	}
16972	return ""
16973}
16974
16975// OrigErr always returns nil, satisfies awserr.Error interface.
16976func (s *InvalidResultTokenException) OrigErr() error {
16977	return nil
16978}
16979
16980func (s *InvalidResultTokenException) Error() string {
16981	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16982}
16983
16984// Status code returns the HTTP status code for the request's response error.
16985func (s *InvalidResultTokenException) StatusCode() int {
16986	return s.RespMetadata.StatusCode
16987}
16988
16989// RequestID returns the service's response RequestID for request.
16990func (s *InvalidResultTokenException) RequestID() string {
16991	return s.RespMetadata.RequestID
16992}
16993
16994// You have provided a null or empty role ARN.
16995type InvalidRoleException struct {
16996	_            struct{}                  `type:"structure"`
16997	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16998
16999	Message_ *string `locationName:"message" type:"string"`
17000}
17001
17002// String returns the string representation
17003func (s InvalidRoleException) String() string {
17004	return awsutil.Prettify(s)
17005}
17006
17007// GoString returns the string representation
17008func (s InvalidRoleException) GoString() string {
17009	return s.String()
17010}
17011
17012func newErrorInvalidRoleException(v protocol.ResponseMetadata) error {
17013	return &InvalidRoleException{
17014		RespMetadata: v,
17015	}
17016}
17017
17018// Code returns the exception type name.
17019func (s *InvalidRoleException) Code() string {
17020	return "InvalidRoleException"
17021}
17022
17023// Message returns the exception's message.
17024func (s *InvalidRoleException) Message() string {
17025	if s.Message_ != nil {
17026		return *s.Message_
17027	}
17028	return ""
17029}
17030
17031// OrigErr always returns nil, satisfies awserr.Error interface.
17032func (s *InvalidRoleException) OrigErr() error {
17033	return nil
17034}
17035
17036func (s *InvalidRoleException) Error() string {
17037	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17038}
17039
17040// Status code returns the HTTP status code for the request's response error.
17041func (s *InvalidRoleException) StatusCode() int {
17042	return s.RespMetadata.StatusCode
17043}
17044
17045// RequestID returns the service's response RequestID for request.
17046func (s *InvalidRoleException) RequestID() string {
17047	return s.RespMetadata.RequestID
17048}
17049
17050// The specified Amazon S3 key prefix is not valid.
17051type InvalidS3KeyPrefixException struct {
17052	_            struct{}                  `type:"structure"`
17053	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17054
17055	Message_ *string `locationName:"message" type:"string"`
17056}
17057
17058// String returns the string representation
17059func (s InvalidS3KeyPrefixException) String() string {
17060	return awsutil.Prettify(s)
17061}
17062
17063// GoString returns the string representation
17064func (s InvalidS3KeyPrefixException) GoString() string {
17065	return s.String()
17066}
17067
17068func newErrorInvalidS3KeyPrefixException(v protocol.ResponseMetadata) error {
17069	return &InvalidS3KeyPrefixException{
17070		RespMetadata: v,
17071	}
17072}
17073
17074// Code returns the exception type name.
17075func (s *InvalidS3KeyPrefixException) Code() string {
17076	return "InvalidS3KeyPrefixException"
17077}
17078
17079// Message returns the exception's message.
17080func (s *InvalidS3KeyPrefixException) Message() string {
17081	if s.Message_ != nil {
17082		return *s.Message_
17083	}
17084	return ""
17085}
17086
17087// OrigErr always returns nil, satisfies awserr.Error interface.
17088func (s *InvalidS3KeyPrefixException) OrigErr() error {
17089	return nil
17090}
17091
17092func (s *InvalidS3KeyPrefixException) Error() string {
17093	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17094}
17095
17096// Status code returns the HTTP status code for the request's response error.
17097func (s *InvalidS3KeyPrefixException) StatusCode() int {
17098	return s.RespMetadata.StatusCode
17099}
17100
17101// RequestID returns the service's response RequestID for request.
17102func (s *InvalidS3KeyPrefixException) RequestID() string {
17103	return s.RespMetadata.RequestID
17104}
17105
17106// The specified Amazon SNS topic does not exist.
17107type InvalidSNSTopicARNException struct {
17108	_            struct{}                  `type:"structure"`
17109	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17110
17111	Message_ *string `locationName:"message" type:"string"`
17112}
17113
17114// String returns the string representation
17115func (s InvalidSNSTopicARNException) String() string {
17116	return awsutil.Prettify(s)
17117}
17118
17119// GoString returns the string representation
17120func (s InvalidSNSTopicARNException) GoString() string {
17121	return s.String()
17122}
17123
17124func newErrorInvalidSNSTopicARNException(v protocol.ResponseMetadata) error {
17125	return &InvalidSNSTopicARNException{
17126		RespMetadata: v,
17127	}
17128}
17129
17130// Code returns the exception type name.
17131func (s *InvalidSNSTopicARNException) Code() string {
17132	return "InvalidSNSTopicARNException"
17133}
17134
17135// Message returns the exception's message.
17136func (s *InvalidSNSTopicARNException) Message() string {
17137	if s.Message_ != nil {
17138		return *s.Message_
17139	}
17140	return ""
17141}
17142
17143// OrigErr always returns nil, satisfies awserr.Error interface.
17144func (s *InvalidSNSTopicARNException) OrigErr() error {
17145	return nil
17146}
17147
17148func (s *InvalidSNSTopicARNException) Error() string {
17149	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17150}
17151
17152// Status code returns the HTTP status code for the request's response error.
17153func (s *InvalidSNSTopicARNException) StatusCode() int {
17154	return s.RespMetadata.StatusCode
17155}
17156
17157// RequestID returns the service's response RequestID for request.
17158func (s *InvalidSNSTopicARNException) RequestID() string {
17159	return s.RespMetadata.RequestID
17160}
17161
17162// The specified time range is not valid. The earlier time is not chronologically
17163// before the later time.
17164type InvalidTimeRangeException struct {
17165	_            struct{}                  `type:"structure"`
17166	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17167
17168	Message_ *string `locationName:"message" type:"string"`
17169}
17170
17171// String returns the string representation
17172func (s InvalidTimeRangeException) String() string {
17173	return awsutil.Prettify(s)
17174}
17175
17176// GoString returns the string representation
17177func (s InvalidTimeRangeException) GoString() string {
17178	return s.String()
17179}
17180
17181func newErrorInvalidTimeRangeException(v protocol.ResponseMetadata) error {
17182	return &InvalidTimeRangeException{
17183		RespMetadata: v,
17184	}
17185}
17186
17187// Code returns the exception type name.
17188func (s *InvalidTimeRangeException) Code() string {
17189	return "InvalidTimeRangeException"
17190}
17191
17192// Message returns the exception's message.
17193func (s *InvalidTimeRangeException) Message() string {
17194	if s.Message_ != nil {
17195		return *s.Message_
17196	}
17197	return ""
17198}
17199
17200// OrigErr always returns nil, satisfies awserr.Error interface.
17201func (s *InvalidTimeRangeException) OrigErr() error {
17202	return nil
17203}
17204
17205func (s *InvalidTimeRangeException) Error() string {
17206	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17207}
17208
17209// Status code returns the HTTP status code for the request's response error.
17210func (s *InvalidTimeRangeException) StatusCode() int {
17211	return s.RespMetadata.StatusCode
17212}
17213
17214// RequestID returns the service's response RequestID for request.
17215func (s *InvalidTimeRangeException) RequestID() string {
17216	return s.RespMetadata.RequestID
17217}
17218
17219// You cannot delete the delivery channel you specified because the configuration
17220// recorder is running.
17221type LastDeliveryChannelDeleteFailedException struct {
17222	_            struct{}                  `type:"structure"`
17223	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17224
17225	Message_ *string `locationName:"message" type:"string"`
17226}
17227
17228// String returns the string representation
17229func (s LastDeliveryChannelDeleteFailedException) String() string {
17230	return awsutil.Prettify(s)
17231}
17232
17233// GoString returns the string representation
17234func (s LastDeliveryChannelDeleteFailedException) GoString() string {
17235	return s.String()
17236}
17237
17238func newErrorLastDeliveryChannelDeleteFailedException(v protocol.ResponseMetadata) error {
17239	return &LastDeliveryChannelDeleteFailedException{
17240		RespMetadata: v,
17241	}
17242}
17243
17244// Code returns the exception type name.
17245func (s *LastDeliveryChannelDeleteFailedException) Code() string {
17246	return "LastDeliveryChannelDeleteFailedException"
17247}
17248
17249// Message returns the exception's message.
17250func (s *LastDeliveryChannelDeleteFailedException) Message() string {
17251	if s.Message_ != nil {
17252		return *s.Message_
17253	}
17254	return ""
17255}
17256
17257// OrigErr always returns nil, satisfies awserr.Error interface.
17258func (s *LastDeliveryChannelDeleteFailedException) OrigErr() error {
17259	return nil
17260}
17261
17262func (s *LastDeliveryChannelDeleteFailedException) Error() string {
17263	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17264}
17265
17266// Status code returns the HTTP status code for the request's response error.
17267func (s *LastDeliveryChannelDeleteFailedException) StatusCode() int {
17268	return s.RespMetadata.StatusCode
17269}
17270
17271// RequestID returns the service's response RequestID for request.
17272func (s *LastDeliveryChannelDeleteFailedException) RequestID() string {
17273	return s.RespMetadata.RequestID
17274}
17275
17276// For StartConfigRulesEvaluation API, this exception is thrown if an evaluation
17277// is in progress or if you call the StartConfigRulesEvaluation API more than
17278// once per minute.
17279//
17280// For PutConfigurationAggregator API, this exception is thrown if the number
17281// of accounts and aggregators exceeds the limit.
17282type LimitExceededException struct {
17283	_            struct{}                  `type:"structure"`
17284	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17285
17286	Message_ *string `locationName:"message" type:"string"`
17287}
17288
17289// String returns the string representation
17290func (s LimitExceededException) String() string {
17291	return awsutil.Prettify(s)
17292}
17293
17294// GoString returns the string representation
17295func (s LimitExceededException) GoString() string {
17296	return s.String()
17297}
17298
17299func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
17300	return &LimitExceededException{
17301		RespMetadata: v,
17302	}
17303}
17304
17305// Code returns the exception type name.
17306func (s *LimitExceededException) Code() string {
17307	return "LimitExceededException"
17308}
17309
17310// Message returns the exception's message.
17311func (s *LimitExceededException) Message() string {
17312	if s.Message_ != nil {
17313		return *s.Message_
17314	}
17315	return ""
17316}
17317
17318// OrigErr always returns nil, satisfies awserr.Error interface.
17319func (s *LimitExceededException) OrigErr() error {
17320	return nil
17321}
17322
17323func (s *LimitExceededException) Error() string {
17324	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17325}
17326
17327// Status code returns the HTTP status code for the request's response error.
17328func (s *LimitExceededException) StatusCode() int {
17329	return s.RespMetadata.StatusCode
17330}
17331
17332// RequestID returns the service's response RequestID for request.
17333func (s *LimitExceededException) RequestID() string {
17334	return s.RespMetadata.RequestID
17335}
17336
17337type ListAggregateDiscoveredResourcesInput struct {
17338	_ struct{} `type:"structure"`
17339
17340	// The name of the configuration aggregator.
17341	//
17342	// ConfigurationAggregatorName is a required field
17343	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
17344
17345	// Filters the results based on the ResourceFilters object.
17346	Filters *ResourceFilters `type:"structure"`
17347
17348	// The maximum number of resource identifiers returned on each page. The default
17349	// is 100. You cannot specify a number greater than 100. If you specify 0, AWS
17350	// Config uses the default.
17351	Limit *int64 `type:"integer"`
17352
17353	// The nextToken string returned on a previous page that you use to get the
17354	// next page of results in a paginated response.
17355	NextToken *string `type:"string"`
17356
17357	// The type of resources that you want AWS Config to list in the response.
17358	//
17359	// ResourceType is a required field
17360	ResourceType *string `type:"string" required:"true" enum:"ResourceType"`
17361}
17362
17363// String returns the string representation
17364func (s ListAggregateDiscoveredResourcesInput) String() string {
17365	return awsutil.Prettify(s)
17366}
17367
17368// GoString returns the string representation
17369func (s ListAggregateDiscoveredResourcesInput) GoString() string {
17370	return s.String()
17371}
17372
17373// Validate inspects the fields of the type to determine if they are valid.
17374func (s *ListAggregateDiscoveredResourcesInput) Validate() error {
17375	invalidParams := request.ErrInvalidParams{Context: "ListAggregateDiscoveredResourcesInput"}
17376	if s.ConfigurationAggregatorName == nil {
17377		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
17378	}
17379	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
17380		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
17381	}
17382	if s.ResourceType == nil {
17383		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
17384	}
17385	if s.Filters != nil {
17386		if err := s.Filters.Validate(); err != nil {
17387			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
17388		}
17389	}
17390
17391	if invalidParams.Len() > 0 {
17392		return invalidParams
17393	}
17394	return nil
17395}
17396
17397// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
17398func (s *ListAggregateDiscoveredResourcesInput) SetConfigurationAggregatorName(v string) *ListAggregateDiscoveredResourcesInput {
17399	s.ConfigurationAggregatorName = &v
17400	return s
17401}
17402
17403// SetFilters sets the Filters field's value.
17404func (s *ListAggregateDiscoveredResourcesInput) SetFilters(v *ResourceFilters) *ListAggregateDiscoveredResourcesInput {
17405	s.Filters = v
17406	return s
17407}
17408
17409// SetLimit sets the Limit field's value.
17410func (s *ListAggregateDiscoveredResourcesInput) SetLimit(v int64) *ListAggregateDiscoveredResourcesInput {
17411	s.Limit = &v
17412	return s
17413}
17414
17415// SetNextToken sets the NextToken field's value.
17416func (s *ListAggregateDiscoveredResourcesInput) SetNextToken(v string) *ListAggregateDiscoveredResourcesInput {
17417	s.NextToken = &v
17418	return s
17419}
17420
17421// SetResourceType sets the ResourceType field's value.
17422func (s *ListAggregateDiscoveredResourcesInput) SetResourceType(v string) *ListAggregateDiscoveredResourcesInput {
17423	s.ResourceType = &v
17424	return s
17425}
17426
17427type ListAggregateDiscoveredResourcesOutput struct {
17428	_ struct{} `type:"structure"`
17429
17430	// The nextToken string returned on a previous page that you use to get the
17431	// next page of results in a paginated response.
17432	NextToken *string `type:"string"`
17433
17434	// Returns a list of ResourceIdentifiers objects.
17435	ResourceIdentifiers []*AggregateResourceIdentifier `type:"list"`
17436}
17437
17438// String returns the string representation
17439func (s ListAggregateDiscoveredResourcesOutput) String() string {
17440	return awsutil.Prettify(s)
17441}
17442
17443// GoString returns the string representation
17444func (s ListAggregateDiscoveredResourcesOutput) GoString() string {
17445	return s.String()
17446}
17447
17448// SetNextToken sets the NextToken field's value.
17449func (s *ListAggregateDiscoveredResourcesOutput) SetNextToken(v string) *ListAggregateDiscoveredResourcesOutput {
17450	s.NextToken = &v
17451	return s
17452}
17453
17454// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
17455func (s *ListAggregateDiscoveredResourcesOutput) SetResourceIdentifiers(v []*AggregateResourceIdentifier) *ListAggregateDiscoveredResourcesOutput {
17456	s.ResourceIdentifiers = v
17457	return s
17458}
17459
17460type ListDiscoveredResourcesInput struct {
17461	_ struct{} `type:"structure"`
17462
17463	// Specifies whether AWS Config includes deleted resources in the results. By
17464	// default, deleted resources are not included.
17465	IncludeDeletedResources *bool `locationName:"includeDeletedResources" type:"boolean"`
17466
17467	// The maximum number of resource identifiers returned on each page. The default
17468	// is 100. You cannot specify a number greater than 100. If you specify 0, AWS
17469	// Config uses the default.
17470	Limit *int64 `locationName:"limit" type:"integer"`
17471
17472	// The nextToken string returned on a previous page that you use to get the
17473	// next page of results in a paginated response.
17474	NextToken *string `locationName:"nextToken" type:"string"`
17475
17476	// The IDs of only those resources that you want AWS Config to list in the response.
17477	// If you do not specify this parameter, AWS Config lists all resources of the
17478	// specified type that it has discovered.
17479	ResourceIds []*string `locationName:"resourceIds" type:"list"`
17480
17481	// The custom name of only those resources that you want AWS Config to list
17482	// in the response. If you do not specify this parameter, AWS Config lists all
17483	// resources of the specified type that it has discovered.
17484	ResourceName *string `locationName:"resourceName" type:"string"`
17485
17486	// The type of resources that you want AWS Config to list in the response.
17487	//
17488	// ResourceType is a required field
17489	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
17490}
17491
17492// String returns the string representation
17493func (s ListDiscoveredResourcesInput) String() string {
17494	return awsutil.Prettify(s)
17495}
17496
17497// GoString returns the string representation
17498func (s ListDiscoveredResourcesInput) GoString() string {
17499	return s.String()
17500}
17501
17502// Validate inspects the fields of the type to determine if they are valid.
17503func (s *ListDiscoveredResourcesInput) Validate() error {
17504	invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
17505	if s.ResourceType == nil {
17506		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
17507	}
17508
17509	if invalidParams.Len() > 0 {
17510		return invalidParams
17511	}
17512	return nil
17513}
17514
17515// SetIncludeDeletedResources sets the IncludeDeletedResources field's value.
17516func (s *ListDiscoveredResourcesInput) SetIncludeDeletedResources(v bool) *ListDiscoveredResourcesInput {
17517	s.IncludeDeletedResources = &v
17518	return s
17519}
17520
17521// SetLimit sets the Limit field's value.
17522func (s *ListDiscoveredResourcesInput) SetLimit(v int64) *ListDiscoveredResourcesInput {
17523	s.Limit = &v
17524	return s
17525}
17526
17527// SetNextToken sets the NextToken field's value.
17528func (s *ListDiscoveredResourcesInput) SetNextToken(v string) *ListDiscoveredResourcesInput {
17529	s.NextToken = &v
17530	return s
17531}
17532
17533// SetResourceIds sets the ResourceIds field's value.
17534func (s *ListDiscoveredResourcesInput) SetResourceIds(v []*string) *ListDiscoveredResourcesInput {
17535	s.ResourceIds = v
17536	return s
17537}
17538
17539// SetResourceName sets the ResourceName field's value.
17540func (s *ListDiscoveredResourcesInput) SetResourceName(v string) *ListDiscoveredResourcesInput {
17541	s.ResourceName = &v
17542	return s
17543}
17544
17545// SetResourceType sets the ResourceType field's value.
17546func (s *ListDiscoveredResourcesInput) SetResourceType(v string) *ListDiscoveredResourcesInput {
17547	s.ResourceType = &v
17548	return s
17549}
17550
17551type ListDiscoveredResourcesOutput struct {
17552	_ struct{} `type:"structure"`
17553
17554	// The string that you use in a subsequent request to get the next page of results
17555	// in a paginated response.
17556	NextToken *string `locationName:"nextToken" type:"string"`
17557
17558	// The details that identify a resource that is discovered by AWS Config, including
17559	// the resource type, ID, and (if available) the custom resource name.
17560	ResourceIdentifiers []*ResourceIdentifier `locationName:"resourceIdentifiers" type:"list"`
17561}
17562
17563// String returns the string representation
17564func (s ListDiscoveredResourcesOutput) String() string {
17565	return awsutil.Prettify(s)
17566}
17567
17568// GoString returns the string representation
17569func (s ListDiscoveredResourcesOutput) GoString() string {
17570	return s.String()
17571}
17572
17573// SetNextToken sets the NextToken field's value.
17574func (s *ListDiscoveredResourcesOutput) SetNextToken(v string) *ListDiscoveredResourcesOutput {
17575	s.NextToken = &v
17576	return s
17577}
17578
17579// SetResourceIdentifiers sets the ResourceIdentifiers field's value.
17580func (s *ListDiscoveredResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) *ListDiscoveredResourcesOutput {
17581	s.ResourceIdentifiers = v
17582	return s
17583}
17584
17585type ListStoredQueriesInput struct {
17586	_ struct{} `type:"structure"`
17587
17588	// The maximum number of results to be returned with a single call.
17589	MaxResults *int64 `type:"integer"`
17590
17591	// The nextToken string returned in a previous request that you use to request
17592	// the next page of results in a paginated response.
17593	NextToken *string `type:"string"`
17594}
17595
17596// String returns the string representation
17597func (s ListStoredQueriesInput) String() string {
17598	return awsutil.Prettify(s)
17599}
17600
17601// GoString returns the string representation
17602func (s ListStoredQueriesInput) GoString() string {
17603	return s.String()
17604}
17605
17606// SetMaxResults sets the MaxResults field's value.
17607func (s *ListStoredQueriesInput) SetMaxResults(v int64) *ListStoredQueriesInput {
17608	s.MaxResults = &v
17609	return s
17610}
17611
17612// SetNextToken sets the NextToken field's value.
17613func (s *ListStoredQueriesInput) SetNextToken(v string) *ListStoredQueriesInput {
17614	s.NextToken = &v
17615	return s
17616}
17617
17618type ListStoredQueriesOutput struct {
17619	_ struct{} `type:"structure"`
17620
17621	// If the previous paginated request didn't return all of the remaining results,
17622	// the response object's NextToken parameter value is set to a token. To retrieve
17623	// the next set of results, call this action again and assign that token to
17624	// the request object's NextToken parameter. If there are no remaining results,
17625	// the previous response object's NextToken parameter is set to null.
17626	NextToken *string `type:"string"`
17627
17628	// A list of StoredQueryMetadata objects.
17629	StoredQueryMetadata []*StoredQueryMetadata `type:"list"`
17630}
17631
17632// String returns the string representation
17633func (s ListStoredQueriesOutput) String() string {
17634	return awsutil.Prettify(s)
17635}
17636
17637// GoString returns the string representation
17638func (s ListStoredQueriesOutput) GoString() string {
17639	return s.String()
17640}
17641
17642// SetNextToken sets the NextToken field's value.
17643func (s *ListStoredQueriesOutput) SetNextToken(v string) *ListStoredQueriesOutput {
17644	s.NextToken = &v
17645	return s
17646}
17647
17648// SetStoredQueryMetadata sets the StoredQueryMetadata field's value.
17649func (s *ListStoredQueriesOutput) SetStoredQueryMetadata(v []*StoredQueryMetadata) *ListStoredQueriesOutput {
17650	s.StoredQueryMetadata = v
17651	return s
17652}
17653
17654type ListTagsForResourceInput struct {
17655	_ struct{} `type:"structure"`
17656
17657	// The maximum number of tags returned on each page. The limit maximum is 50.
17658	// You cannot specify a number greater than 50. If you specify 0, AWS Config
17659	// uses the default.
17660	Limit *int64 `type:"integer"`
17661
17662	// The nextToken string returned on a previous page that you use to get the
17663	// next page of results in a paginated response.
17664	NextToken *string `type:"string"`
17665
17666	// The Amazon Resource Name (ARN) that identifies the resource for which to
17667	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
17668	// and AggregatorAuthorization.
17669	//
17670	// ResourceArn is a required field
17671	ResourceArn *string `min:"1" type:"string" required:"true"`
17672}
17673
17674// String returns the string representation
17675func (s ListTagsForResourceInput) String() string {
17676	return awsutil.Prettify(s)
17677}
17678
17679// GoString returns the string representation
17680func (s ListTagsForResourceInput) GoString() string {
17681	return s.String()
17682}
17683
17684// Validate inspects the fields of the type to determine if they are valid.
17685func (s *ListTagsForResourceInput) Validate() error {
17686	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
17687	if s.ResourceArn == nil {
17688		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17689	}
17690	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
17691		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
17692	}
17693
17694	if invalidParams.Len() > 0 {
17695		return invalidParams
17696	}
17697	return nil
17698}
17699
17700// SetLimit sets the Limit field's value.
17701func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
17702	s.Limit = &v
17703	return s
17704}
17705
17706// SetNextToken sets the NextToken field's value.
17707func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
17708	s.NextToken = &v
17709	return s
17710}
17711
17712// SetResourceArn sets the ResourceArn field's value.
17713func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
17714	s.ResourceArn = &v
17715	return s
17716}
17717
17718type ListTagsForResourceOutput struct {
17719	_ struct{} `type:"structure"`
17720
17721	// The nextToken string returned on a previous page that you use to get the
17722	// next page of results in a paginated response.
17723	NextToken *string `type:"string"`
17724
17725	// The tags for the resource.
17726	Tags []*Tag `min:"1" type:"list"`
17727}
17728
17729// String returns the string representation
17730func (s ListTagsForResourceOutput) String() string {
17731	return awsutil.Prettify(s)
17732}
17733
17734// GoString returns the string representation
17735func (s ListTagsForResourceOutput) GoString() string {
17736	return s.String()
17737}
17738
17739// SetNextToken sets the NextToken field's value.
17740func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
17741	s.NextToken = &v
17742	return s
17743}
17744
17745// SetTags sets the Tags field's value.
17746func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
17747	s.Tags = v
17748	return s
17749}
17750
17751// You have reached the limit (100,000) of active custom resource types in your
17752// account. Delete unused resources using DeleteResourceConfig.
17753type MaxActiveResourcesExceededException struct {
17754	_            struct{}                  `type:"structure"`
17755	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17756
17757	Message_ *string `locationName:"message" type:"string"`
17758}
17759
17760// String returns the string representation
17761func (s MaxActiveResourcesExceededException) String() string {
17762	return awsutil.Prettify(s)
17763}
17764
17765// GoString returns the string representation
17766func (s MaxActiveResourcesExceededException) GoString() string {
17767	return s.String()
17768}
17769
17770func newErrorMaxActiveResourcesExceededException(v protocol.ResponseMetadata) error {
17771	return &MaxActiveResourcesExceededException{
17772		RespMetadata: v,
17773	}
17774}
17775
17776// Code returns the exception type name.
17777func (s *MaxActiveResourcesExceededException) Code() string {
17778	return "MaxActiveResourcesExceededException"
17779}
17780
17781// Message returns the exception's message.
17782func (s *MaxActiveResourcesExceededException) Message() string {
17783	if s.Message_ != nil {
17784		return *s.Message_
17785	}
17786	return ""
17787}
17788
17789// OrigErr always returns nil, satisfies awserr.Error interface.
17790func (s *MaxActiveResourcesExceededException) OrigErr() error {
17791	return nil
17792}
17793
17794func (s *MaxActiveResourcesExceededException) Error() string {
17795	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17796}
17797
17798// Status code returns the HTTP status code for the request's response error.
17799func (s *MaxActiveResourcesExceededException) StatusCode() int {
17800	return s.RespMetadata.StatusCode
17801}
17802
17803// RequestID returns the service's response RequestID for request.
17804func (s *MaxActiveResourcesExceededException) RequestID() string {
17805	return s.RespMetadata.RequestID
17806}
17807
17808// Failed to add the AWS Config rule because the account already contains the
17809// maximum number of 150 rules. Consider deleting any deactivated rules before
17810// you add new rules.
17811type MaxNumberOfConfigRulesExceededException 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 MaxNumberOfConfigRulesExceededException) String() string {
17820	return awsutil.Prettify(s)
17821}
17822
17823// GoString returns the string representation
17824func (s MaxNumberOfConfigRulesExceededException) GoString() string {
17825	return s.String()
17826}
17827
17828func newErrorMaxNumberOfConfigRulesExceededException(v protocol.ResponseMetadata) error {
17829	return &MaxNumberOfConfigRulesExceededException{
17830		RespMetadata: v,
17831	}
17832}
17833
17834// Code returns the exception type name.
17835func (s *MaxNumberOfConfigRulesExceededException) Code() string {
17836	return "MaxNumberOfConfigRulesExceededException"
17837}
17838
17839// Message returns the exception's message.
17840func (s *MaxNumberOfConfigRulesExceededException) 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 *MaxNumberOfConfigRulesExceededException) OrigErr() error {
17849	return nil
17850}
17851
17852func (s *MaxNumberOfConfigRulesExceededException) 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 *MaxNumberOfConfigRulesExceededException) StatusCode() int {
17858	return s.RespMetadata.StatusCode
17859}
17860
17861// RequestID returns the service's response RequestID for request.
17862func (s *MaxNumberOfConfigRulesExceededException) RequestID() string {
17863	return s.RespMetadata.RequestID
17864}
17865
17866// You have reached the limit of the number of recorders you can create.
17867type MaxNumberOfConfigurationRecordersExceededException 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 MaxNumberOfConfigurationRecordersExceededException) String() string {
17876	return awsutil.Prettify(s)
17877}
17878
17879// GoString returns the string representation
17880func (s MaxNumberOfConfigurationRecordersExceededException) GoString() string {
17881	return s.String()
17882}
17883
17884func newErrorMaxNumberOfConfigurationRecordersExceededException(v protocol.ResponseMetadata) error {
17885	return &MaxNumberOfConfigurationRecordersExceededException{
17886		RespMetadata: v,
17887	}
17888}
17889
17890// Code returns the exception type name.
17891func (s *MaxNumberOfConfigurationRecordersExceededException) Code() string {
17892	return "MaxNumberOfConfigurationRecordersExceededException"
17893}
17894
17895// Message returns the exception's message.
17896func (s *MaxNumberOfConfigurationRecordersExceededException) 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 *MaxNumberOfConfigurationRecordersExceededException) OrigErr() error {
17905	return nil
17906}
17907
17908func (s *MaxNumberOfConfigurationRecordersExceededException) 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 *MaxNumberOfConfigurationRecordersExceededException) StatusCode() int {
17914	return s.RespMetadata.StatusCode
17915}
17916
17917// RequestID returns the service's response RequestID for request.
17918func (s *MaxNumberOfConfigurationRecordersExceededException) RequestID() string {
17919	return s.RespMetadata.RequestID
17920}
17921
17922// You have reached the limit (6) of the number of conformance packs in an account
17923// (6 conformance pack with 25 AWS Config rules per pack).
17924type MaxNumberOfConformancePacksExceededException 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 MaxNumberOfConformancePacksExceededException) String() string {
17933	return awsutil.Prettify(s)
17934}
17935
17936// GoString returns the string representation
17937func (s MaxNumberOfConformancePacksExceededException) GoString() string {
17938	return s.String()
17939}
17940
17941func newErrorMaxNumberOfConformancePacksExceededException(v protocol.ResponseMetadata) error {
17942	return &MaxNumberOfConformancePacksExceededException{
17943		RespMetadata: v,
17944	}
17945}
17946
17947// Code returns the exception type name.
17948func (s *MaxNumberOfConformancePacksExceededException) Code() string {
17949	return "MaxNumberOfConformancePacksExceededException"
17950}
17951
17952// Message returns the exception's message.
17953func (s *MaxNumberOfConformancePacksExceededException) 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 *MaxNumberOfConformancePacksExceededException) OrigErr() error {
17962	return nil
17963}
17964
17965func (s *MaxNumberOfConformancePacksExceededException) 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 *MaxNumberOfConformancePacksExceededException) StatusCode() int {
17971	return s.RespMetadata.StatusCode
17972}
17973
17974// RequestID returns the service's response RequestID for request.
17975func (s *MaxNumberOfConformancePacksExceededException) RequestID() string {
17976	return s.RespMetadata.RequestID
17977}
17978
17979// You have reached the limit of the number of delivery channels you can create.
17980type MaxNumberOfDeliveryChannelsExceededException struct {
17981	_            struct{}                  `type:"structure"`
17982	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17983
17984	Message_ *string `locationName:"message" type:"string"`
17985}
17986
17987// String returns the string representation
17988func (s MaxNumberOfDeliveryChannelsExceededException) String() string {
17989	return awsutil.Prettify(s)
17990}
17991
17992// GoString returns the string representation
17993func (s MaxNumberOfDeliveryChannelsExceededException) GoString() string {
17994	return s.String()
17995}
17996
17997func newErrorMaxNumberOfDeliveryChannelsExceededException(v protocol.ResponseMetadata) error {
17998	return &MaxNumberOfDeliveryChannelsExceededException{
17999		RespMetadata: v,
18000	}
18001}
18002
18003// Code returns the exception type name.
18004func (s *MaxNumberOfDeliveryChannelsExceededException) Code() string {
18005	return "MaxNumberOfDeliveryChannelsExceededException"
18006}
18007
18008// Message returns the exception's message.
18009func (s *MaxNumberOfDeliveryChannelsExceededException) Message() string {
18010	if s.Message_ != nil {
18011		return *s.Message_
18012	}
18013	return ""
18014}
18015
18016// OrigErr always returns nil, satisfies awserr.Error interface.
18017func (s *MaxNumberOfDeliveryChannelsExceededException) OrigErr() error {
18018	return nil
18019}
18020
18021func (s *MaxNumberOfDeliveryChannelsExceededException) Error() string {
18022	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18023}
18024
18025// Status code returns the HTTP status code for the request's response error.
18026func (s *MaxNumberOfDeliveryChannelsExceededException) StatusCode() int {
18027	return s.RespMetadata.StatusCode
18028}
18029
18030// RequestID returns the service's response RequestID for request.
18031func (s *MaxNumberOfDeliveryChannelsExceededException) RequestID() string {
18032	return s.RespMetadata.RequestID
18033}
18034
18035// You have reached the limit of the number of organization config rules you
18036// can create.
18037type MaxNumberOfOrganizationConfigRulesExceededException struct {
18038	_            struct{}                  `type:"structure"`
18039	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18040
18041	Message_ *string `locationName:"message" type:"string"`
18042}
18043
18044// String returns the string representation
18045func (s MaxNumberOfOrganizationConfigRulesExceededException) String() string {
18046	return awsutil.Prettify(s)
18047}
18048
18049// GoString returns the string representation
18050func (s MaxNumberOfOrganizationConfigRulesExceededException) GoString() string {
18051	return s.String()
18052}
18053
18054func newErrorMaxNumberOfOrganizationConfigRulesExceededException(v protocol.ResponseMetadata) error {
18055	return &MaxNumberOfOrganizationConfigRulesExceededException{
18056		RespMetadata: v,
18057	}
18058}
18059
18060// Code returns the exception type name.
18061func (s *MaxNumberOfOrganizationConfigRulesExceededException) Code() string {
18062	return "MaxNumberOfOrganizationConfigRulesExceededException"
18063}
18064
18065// Message returns the exception's message.
18066func (s *MaxNumberOfOrganizationConfigRulesExceededException) Message() string {
18067	if s.Message_ != nil {
18068		return *s.Message_
18069	}
18070	return ""
18071}
18072
18073// OrigErr always returns nil, satisfies awserr.Error interface.
18074func (s *MaxNumberOfOrganizationConfigRulesExceededException) OrigErr() error {
18075	return nil
18076}
18077
18078func (s *MaxNumberOfOrganizationConfigRulesExceededException) Error() string {
18079	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18080}
18081
18082// Status code returns the HTTP status code for the request's response error.
18083func (s *MaxNumberOfOrganizationConfigRulesExceededException) StatusCode() int {
18084	return s.RespMetadata.StatusCode
18085}
18086
18087// RequestID returns the service's response RequestID for request.
18088func (s *MaxNumberOfOrganizationConfigRulesExceededException) RequestID() string {
18089	return s.RespMetadata.RequestID
18090}
18091
18092// You have reached the limit (6) of the number of organization conformance
18093// packs in an account (6 conformance pack with 25 AWS Config rules per pack
18094// per account).
18095type MaxNumberOfOrganizationConformancePacksExceededException struct {
18096	_            struct{}                  `type:"structure"`
18097	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18098
18099	Message_ *string `locationName:"message" type:"string"`
18100}
18101
18102// String returns the string representation
18103func (s MaxNumberOfOrganizationConformancePacksExceededException) String() string {
18104	return awsutil.Prettify(s)
18105}
18106
18107// GoString returns the string representation
18108func (s MaxNumberOfOrganizationConformancePacksExceededException) GoString() string {
18109	return s.String()
18110}
18111
18112func newErrorMaxNumberOfOrganizationConformancePacksExceededException(v protocol.ResponseMetadata) error {
18113	return &MaxNumberOfOrganizationConformancePacksExceededException{
18114		RespMetadata: v,
18115	}
18116}
18117
18118// Code returns the exception type name.
18119func (s *MaxNumberOfOrganizationConformancePacksExceededException) Code() string {
18120	return "MaxNumberOfOrganizationConformancePacksExceededException"
18121}
18122
18123// Message returns the exception's message.
18124func (s *MaxNumberOfOrganizationConformancePacksExceededException) Message() string {
18125	if s.Message_ != nil {
18126		return *s.Message_
18127	}
18128	return ""
18129}
18130
18131// OrigErr always returns nil, satisfies awserr.Error interface.
18132func (s *MaxNumberOfOrganizationConformancePacksExceededException) OrigErr() error {
18133	return nil
18134}
18135
18136func (s *MaxNumberOfOrganizationConformancePacksExceededException) Error() string {
18137	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18138}
18139
18140// Status code returns the HTTP status code for the request's response error.
18141func (s *MaxNumberOfOrganizationConformancePacksExceededException) StatusCode() int {
18142	return s.RespMetadata.StatusCode
18143}
18144
18145// RequestID returns the service's response RequestID for request.
18146func (s *MaxNumberOfOrganizationConformancePacksExceededException) RequestID() string {
18147	return s.RespMetadata.RequestID
18148}
18149
18150// Failed to add the retention configuration because a retention configuration
18151// with that name already exists.
18152type MaxNumberOfRetentionConfigurationsExceededException struct {
18153	_            struct{}                  `type:"structure"`
18154	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18155
18156	Message_ *string `locationName:"message" type:"string"`
18157}
18158
18159// String returns the string representation
18160func (s MaxNumberOfRetentionConfigurationsExceededException) String() string {
18161	return awsutil.Prettify(s)
18162}
18163
18164// GoString returns the string representation
18165func (s MaxNumberOfRetentionConfigurationsExceededException) GoString() string {
18166	return s.String()
18167}
18168
18169func newErrorMaxNumberOfRetentionConfigurationsExceededException(v protocol.ResponseMetadata) error {
18170	return &MaxNumberOfRetentionConfigurationsExceededException{
18171		RespMetadata: v,
18172	}
18173}
18174
18175// Code returns the exception type name.
18176func (s *MaxNumberOfRetentionConfigurationsExceededException) Code() string {
18177	return "MaxNumberOfRetentionConfigurationsExceededException"
18178}
18179
18180// Message returns the exception's message.
18181func (s *MaxNumberOfRetentionConfigurationsExceededException) Message() string {
18182	if s.Message_ != nil {
18183		return *s.Message_
18184	}
18185	return ""
18186}
18187
18188// OrigErr always returns nil, satisfies awserr.Error interface.
18189func (s *MaxNumberOfRetentionConfigurationsExceededException) OrigErr() error {
18190	return nil
18191}
18192
18193func (s *MaxNumberOfRetentionConfigurationsExceededException) Error() string {
18194	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18195}
18196
18197// Status code returns the HTTP status code for the request's response error.
18198func (s *MaxNumberOfRetentionConfigurationsExceededException) StatusCode() int {
18199	return s.RespMetadata.StatusCode
18200}
18201
18202// RequestID returns the service's response RequestID for request.
18203func (s *MaxNumberOfRetentionConfigurationsExceededException) RequestID() string {
18204	return s.RespMetadata.RequestID
18205}
18206
18207// Organization config rule creation or deletion status in each member account.
18208// This includes the name of the rule, the status, error code and error message
18209// when the rule creation or deletion failed.
18210type MemberAccountStatus struct {
18211	_ struct{} `type:"structure"`
18212
18213	// The 12-digit account ID of a member account.
18214	//
18215	// AccountId is a required field
18216	AccountId *string `type:"string" required:"true"`
18217
18218	// The name of config rule deployed in the member account.
18219	//
18220	// ConfigRuleName is a required field
18221	ConfigRuleName *string `min:"1" type:"string" required:"true"`
18222
18223	// An error code that is returned when config rule creation or deletion failed
18224	// in the member account.
18225	ErrorCode *string `type:"string"`
18226
18227	// An error message indicating that config rule account creation or deletion
18228	// has failed due to an error in the member account.
18229	ErrorMessage *string `type:"string"`
18230
18231	// The timestamp of the last status update.
18232	LastUpdateTime *time.Time `type:"timestamp"`
18233
18234	// Indicates deployment status for config rule in the member account. When master
18235	// account calls PutOrganizationConfigRule action for the first time, config
18236	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
18237	// action for the second time, config rule status is updated in the member account.
18238	// Config rule status is deleted when the master account deletes OrganizationConfigRule
18239	// and disables service access for config-multiaccountsetup.amazonaws.com.
18240	//
18241	// AWS Config sets the state of the rule to:
18242	//
18243	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
18244	//
18245	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
18246	//
18247	//    * CREATE_FAILED when config rule creation has failed in the member account.
18248	//
18249	//    * DELETE_FAILED when config rule deletion has failed in the member account.
18250	//
18251	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
18252	//
18253	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
18254	//
18255	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
18256	//
18257	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
18258	//
18259	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
18260	//
18261	// MemberAccountRuleStatus is a required field
18262	MemberAccountRuleStatus *string `type:"string" required:"true" enum:"MemberAccountRuleStatus"`
18263}
18264
18265// String returns the string representation
18266func (s MemberAccountStatus) String() string {
18267	return awsutil.Prettify(s)
18268}
18269
18270// GoString returns the string representation
18271func (s MemberAccountStatus) GoString() string {
18272	return s.String()
18273}
18274
18275// SetAccountId sets the AccountId field's value.
18276func (s *MemberAccountStatus) SetAccountId(v string) *MemberAccountStatus {
18277	s.AccountId = &v
18278	return s
18279}
18280
18281// SetConfigRuleName sets the ConfigRuleName field's value.
18282func (s *MemberAccountStatus) SetConfigRuleName(v string) *MemberAccountStatus {
18283	s.ConfigRuleName = &v
18284	return s
18285}
18286
18287// SetErrorCode sets the ErrorCode field's value.
18288func (s *MemberAccountStatus) SetErrorCode(v string) *MemberAccountStatus {
18289	s.ErrorCode = &v
18290	return s
18291}
18292
18293// SetErrorMessage sets the ErrorMessage field's value.
18294func (s *MemberAccountStatus) SetErrorMessage(v string) *MemberAccountStatus {
18295	s.ErrorMessage = &v
18296	return s
18297}
18298
18299// SetLastUpdateTime sets the LastUpdateTime field's value.
18300func (s *MemberAccountStatus) SetLastUpdateTime(v time.Time) *MemberAccountStatus {
18301	s.LastUpdateTime = &v
18302	return s
18303}
18304
18305// SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
18306func (s *MemberAccountStatus) SetMemberAccountRuleStatus(v string) *MemberAccountStatus {
18307	s.MemberAccountRuleStatus = &v
18308	return s
18309}
18310
18311// There are no configuration recorders available to provide the role needed
18312// to describe your resources. Create a configuration recorder.
18313type NoAvailableConfigurationRecorderException struct {
18314	_            struct{}                  `type:"structure"`
18315	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18316
18317	Message_ *string `locationName:"message" type:"string"`
18318}
18319
18320// String returns the string representation
18321func (s NoAvailableConfigurationRecorderException) String() string {
18322	return awsutil.Prettify(s)
18323}
18324
18325// GoString returns the string representation
18326func (s NoAvailableConfigurationRecorderException) GoString() string {
18327	return s.String()
18328}
18329
18330func newErrorNoAvailableConfigurationRecorderException(v protocol.ResponseMetadata) error {
18331	return &NoAvailableConfigurationRecorderException{
18332		RespMetadata: v,
18333	}
18334}
18335
18336// Code returns the exception type name.
18337func (s *NoAvailableConfigurationRecorderException) Code() string {
18338	return "NoAvailableConfigurationRecorderException"
18339}
18340
18341// Message returns the exception's message.
18342func (s *NoAvailableConfigurationRecorderException) Message() string {
18343	if s.Message_ != nil {
18344		return *s.Message_
18345	}
18346	return ""
18347}
18348
18349// OrigErr always returns nil, satisfies awserr.Error interface.
18350func (s *NoAvailableConfigurationRecorderException) OrigErr() error {
18351	return nil
18352}
18353
18354func (s *NoAvailableConfigurationRecorderException) Error() string {
18355	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18356}
18357
18358// Status code returns the HTTP status code for the request's response error.
18359func (s *NoAvailableConfigurationRecorderException) StatusCode() int {
18360	return s.RespMetadata.StatusCode
18361}
18362
18363// RequestID returns the service's response RequestID for request.
18364func (s *NoAvailableConfigurationRecorderException) RequestID() string {
18365	return s.RespMetadata.RequestID
18366}
18367
18368// There is no delivery channel available to record configurations.
18369type NoAvailableDeliveryChannelException struct {
18370	_            struct{}                  `type:"structure"`
18371	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18372
18373	Message_ *string `locationName:"message" type:"string"`
18374}
18375
18376// String returns the string representation
18377func (s NoAvailableDeliveryChannelException) String() string {
18378	return awsutil.Prettify(s)
18379}
18380
18381// GoString returns the string representation
18382func (s NoAvailableDeliveryChannelException) GoString() string {
18383	return s.String()
18384}
18385
18386func newErrorNoAvailableDeliveryChannelException(v protocol.ResponseMetadata) error {
18387	return &NoAvailableDeliveryChannelException{
18388		RespMetadata: v,
18389	}
18390}
18391
18392// Code returns the exception type name.
18393func (s *NoAvailableDeliveryChannelException) Code() string {
18394	return "NoAvailableDeliveryChannelException"
18395}
18396
18397// Message returns the exception's message.
18398func (s *NoAvailableDeliveryChannelException) Message() string {
18399	if s.Message_ != nil {
18400		return *s.Message_
18401	}
18402	return ""
18403}
18404
18405// OrigErr always returns nil, satisfies awserr.Error interface.
18406func (s *NoAvailableDeliveryChannelException) OrigErr() error {
18407	return nil
18408}
18409
18410func (s *NoAvailableDeliveryChannelException) Error() string {
18411	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18412}
18413
18414// Status code returns the HTTP status code for the request's response error.
18415func (s *NoAvailableDeliveryChannelException) StatusCode() int {
18416	return s.RespMetadata.StatusCode
18417}
18418
18419// RequestID returns the service's response RequestID for request.
18420func (s *NoAvailableDeliveryChannelException) RequestID() string {
18421	return s.RespMetadata.RequestID
18422}
18423
18424// Organization is no longer available.
18425type NoAvailableOrganizationException struct {
18426	_            struct{}                  `type:"structure"`
18427	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18428
18429	Message_ *string `locationName:"message" type:"string"`
18430}
18431
18432// String returns the string representation
18433func (s NoAvailableOrganizationException) String() string {
18434	return awsutil.Prettify(s)
18435}
18436
18437// GoString returns the string representation
18438func (s NoAvailableOrganizationException) GoString() string {
18439	return s.String()
18440}
18441
18442func newErrorNoAvailableOrganizationException(v protocol.ResponseMetadata) error {
18443	return &NoAvailableOrganizationException{
18444		RespMetadata: v,
18445	}
18446}
18447
18448// Code returns the exception type name.
18449func (s *NoAvailableOrganizationException) Code() string {
18450	return "NoAvailableOrganizationException"
18451}
18452
18453// Message returns the exception's message.
18454func (s *NoAvailableOrganizationException) Message() string {
18455	if s.Message_ != nil {
18456		return *s.Message_
18457	}
18458	return ""
18459}
18460
18461// OrigErr always returns nil, satisfies awserr.Error interface.
18462func (s *NoAvailableOrganizationException) OrigErr() error {
18463	return nil
18464}
18465
18466func (s *NoAvailableOrganizationException) Error() string {
18467	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18468}
18469
18470// Status code returns the HTTP status code for the request's response error.
18471func (s *NoAvailableOrganizationException) StatusCode() int {
18472	return s.RespMetadata.StatusCode
18473}
18474
18475// RequestID returns the service's response RequestID for request.
18476func (s *NoAvailableOrganizationException) RequestID() string {
18477	return s.RespMetadata.RequestID
18478}
18479
18480// There is no configuration recorder running.
18481type NoRunningConfigurationRecorderException struct {
18482	_            struct{}                  `type:"structure"`
18483	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18484
18485	Message_ *string `locationName:"message" type:"string"`
18486}
18487
18488// String returns the string representation
18489func (s NoRunningConfigurationRecorderException) String() string {
18490	return awsutil.Prettify(s)
18491}
18492
18493// GoString returns the string representation
18494func (s NoRunningConfigurationRecorderException) GoString() string {
18495	return s.String()
18496}
18497
18498func newErrorNoRunningConfigurationRecorderException(v protocol.ResponseMetadata) error {
18499	return &NoRunningConfigurationRecorderException{
18500		RespMetadata: v,
18501	}
18502}
18503
18504// Code returns the exception type name.
18505func (s *NoRunningConfigurationRecorderException) Code() string {
18506	return "NoRunningConfigurationRecorderException"
18507}
18508
18509// Message returns the exception's message.
18510func (s *NoRunningConfigurationRecorderException) Message() string {
18511	if s.Message_ != nil {
18512		return *s.Message_
18513	}
18514	return ""
18515}
18516
18517// OrigErr always returns nil, satisfies awserr.Error interface.
18518func (s *NoRunningConfigurationRecorderException) OrigErr() error {
18519	return nil
18520}
18521
18522func (s *NoRunningConfigurationRecorderException) Error() string {
18523	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18524}
18525
18526// Status code returns the HTTP status code for the request's response error.
18527func (s *NoRunningConfigurationRecorderException) StatusCode() int {
18528	return s.RespMetadata.StatusCode
18529}
18530
18531// RequestID returns the service's response RequestID for request.
18532func (s *NoRunningConfigurationRecorderException) RequestID() string {
18533	return s.RespMetadata.RequestID
18534}
18535
18536// The specified Amazon S3 bucket does not exist.
18537type NoSuchBucketException struct {
18538	_            struct{}                  `type:"structure"`
18539	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18540
18541	Message_ *string `locationName:"message" type:"string"`
18542}
18543
18544// String returns the string representation
18545func (s NoSuchBucketException) String() string {
18546	return awsutil.Prettify(s)
18547}
18548
18549// GoString returns the string representation
18550func (s NoSuchBucketException) GoString() string {
18551	return s.String()
18552}
18553
18554func newErrorNoSuchBucketException(v protocol.ResponseMetadata) error {
18555	return &NoSuchBucketException{
18556		RespMetadata: v,
18557	}
18558}
18559
18560// Code returns the exception type name.
18561func (s *NoSuchBucketException) Code() string {
18562	return "NoSuchBucketException"
18563}
18564
18565// Message returns the exception's message.
18566func (s *NoSuchBucketException) Message() string {
18567	if s.Message_ != nil {
18568		return *s.Message_
18569	}
18570	return ""
18571}
18572
18573// OrigErr always returns nil, satisfies awserr.Error interface.
18574func (s *NoSuchBucketException) OrigErr() error {
18575	return nil
18576}
18577
18578func (s *NoSuchBucketException) Error() string {
18579	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18580}
18581
18582// Status code returns the HTTP status code for the request's response error.
18583func (s *NoSuchBucketException) StatusCode() int {
18584	return s.RespMetadata.StatusCode
18585}
18586
18587// RequestID returns the service's response RequestID for request.
18588func (s *NoSuchBucketException) RequestID() string {
18589	return s.RespMetadata.RequestID
18590}
18591
18592// One or more AWS Config rules in the request are invalid. Verify that the
18593// rule names are correct and try again.
18594type NoSuchConfigRuleException struct {
18595	_            struct{}                  `type:"structure"`
18596	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18597
18598	Message_ *string `locationName:"message" type:"string"`
18599}
18600
18601// String returns the string representation
18602func (s NoSuchConfigRuleException) String() string {
18603	return awsutil.Prettify(s)
18604}
18605
18606// GoString returns the string representation
18607func (s NoSuchConfigRuleException) GoString() string {
18608	return s.String()
18609}
18610
18611func newErrorNoSuchConfigRuleException(v protocol.ResponseMetadata) error {
18612	return &NoSuchConfigRuleException{
18613		RespMetadata: v,
18614	}
18615}
18616
18617// Code returns the exception type name.
18618func (s *NoSuchConfigRuleException) Code() string {
18619	return "NoSuchConfigRuleException"
18620}
18621
18622// Message returns the exception's message.
18623func (s *NoSuchConfigRuleException) Message() string {
18624	if s.Message_ != nil {
18625		return *s.Message_
18626	}
18627	return ""
18628}
18629
18630// OrigErr always returns nil, satisfies awserr.Error interface.
18631func (s *NoSuchConfigRuleException) OrigErr() error {
18632	return nil
18633}
18634
18635func (s *NoSuchConfigRuleException) Error() string {
18636	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18637}
18638
18639// Status code returns the HTTP status code for the request's response error.
18640func (s *NoSuchConfigRuleException) StatusCode() int {
18641	return s.RespMetadata.StatusCode
18642}
18643
18644// RequestID returns the service's response RequestID for request.
18645func (s *NoSuchConfigRuleException) RequestID() string {
18646	return s.RespMetadata.RequestID
18647}
18648
18649// AWS Config rule that you passed in the filter does not exist.
18650type NoSuchConfigRuleInConformancePackException struct {
18651	_            struct{}                  `type:"structure"`
18652	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18653
18654	Message_ *string `locationName:"message" type:"string"`
18655}
18656
18657// String returns the string representation
18658func (s NoSuchConfigRuleInConformancePackException) String() string {
18659	return awsutil.Prettify(s)
18660}
18661
18662// GoString returns the string representation
18663func (s NoSuchConfigRuleInConformancePackException) GoString() string {
18664	return s.String()
18665}
18666
18667func newErrorNoSuchConfigRuleInConformancePackException(v protocol.ResponseMetadata) error {
18668	return &NoSuchConfigRuleInConformancePackException{
18669		RespMetadata: v,
18670	}
18671}
18672
18673// Code returns the exception type name.
18674func (s *NoSuchConfigRuleInConformancePackException) Code() string {
18675	return "NoSuchConfigRuleInConformancePackException"
18676}
18677
18678// Message returns the exception's message.
18679func (s *NoSuchConfigRuleInConformancePackException) Message() string {
18680	if s.Message_ != nil {
18681		return *s.Message_
18682	}
18683	return ""
18684}
18685
18686// OrigErr always returns nil, satisfies awserr.Error interface.
18687func (s *NoSuchConfigRuleInConformancePackException) OrigErr() error {
18688	return nil
18689}
18690
18691func (s *NoSuchConfigRuleInConformancePackException) Error() string {
18692	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18693}
18694
18695// Status code returns the HTTP status code for the request's response error.
18696func (s *NoSuchConfigRuleInConformancePackException) StatusCode() int {
18697	return s.RespMetadata.StatusCode
18698}
18699
18700// RequestID returns the service's response RequestID for request.
18701func (s *NoSuchConfigRuleInConformancePackException) RequestID() string {
18702	return s.RespMetadata.RequestID
18703}
18704
18705// You have specified a configuration aggregator that does not exist.
18706type NoSuchConfigurationAggregatorException struct {
18707	_            struct{}                  `type:"structure"`
18708	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18709
18710	Message_ *string `locationName:"message" type:"string"`
18711}
18712
18713// String returns the string representation
18714func (s NoSuchConfigurationAggregatorException) String() string {
18715	return awsutil.Prettify(s)
18716}
18717
18718// GoString returns the string representation
18719func (s NoSuchConfigurationAggregatorException) GoString() string {
18720	return s.String()
18721}
18722
18723func newErrorNoSuchConfigurationAggregatorException(v protocol.ResponseMetadata) error {
18724	return &NoSuchConfigurationAggregatorException{
18725		RespMetadata: v,
18726	}
18727}
18728
18729// Code returns the exception type name.
18730func (s *NoSuchConfigurationAggregatorException) Code() string {
18731	return "NoSuchConfigurationAggregatorException"
18732}
18733
18734// Message returns the exception's message.
18735func (s *NoSuchConfigurationAggregatorException) Message() string {
18736	if s.Message_ != nil {
18737		return *s.Message_
18738	}
18739	return ""
18740}
18741
18742// OrigErr always returns nil, satisfies awserr.Error interface.
18743func (s *NoSuchConfigurationAggregatorException) OrigErr() error {
18744	return nil
18745}
18746
18747func (s *NoSuchConfigurationAggregatorException) Error() string {
18748	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18749}
18750
18751// Status code returns the HTTP status code for the request's response error.
18752func (s *NoSuchConfigurationAggregatorException) StatusCode() int {
18753	return s.RespMetadata.StatusCode
18754}
18755
18756// RequestID returns the service's response RequestID for request.
18757func (s *NoSuchConfigurationAggregatorException) RequestID() string {
18758	return s.RespMetadata.RequestID
18759}
18760
18761// You have specified a configuration recorder that does not exist.
18762type NoSuchConfigurationRecorderException struct {
18763	_            struct{}                  `type:"structure"`
18764	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18765
18766	Message_ *string `locationName:"message" type:"string"`
18767}
18768
18769// String returns the string representation
18770func (s NoSuchConfigurationRecorderException) String() string {
18771	return awsutil.Prettify(s)
18772}
18773
18774// GoString returns the string representation
18775func (s NoSuchConfigurationRecorderException) GoString() string {
18776	return s.String()
18777}
18778
18779func newErrorNoSuchConfigurationRecorderException(v protocol.ResponseMetadata) error {
18780	return &NoSuchConfigurationRecorderException{
18781		RespMetadata: v,
18782	}
18783}
18784
18785// Code returns the exception type name.
18786func (s *NoSuchConfigurationRecorderException) Code() string {
18787	return "NoSuchConfigurationRecorderException"
18788}
18789
18790// Message returns the exception's message.
18791func (s *NoSuchConfigurationRecorderException) Message() string {
18792	if s.Message_ != nil {
18793		return *s.Message_
18794	}
18795	return ""
18796}
18797
18798// OrigErr always returns nil, satisfies awserr.Error interface.
18799func (s *NoSuchConfigurationRecorderException) OrigErr() error {
18800	return nil
18801}
18802
18803func (s *NoSuchConfigurationRecorderException) Error() string {
18804	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18805}
18806
18807// Status code returns the HTTP status code for the request's response error.
18808func (s *NoSuchConfigurationRecorderException) StatusCode() int {
18809	return s.RespMetadata.StatusCode
18810}
18811
18812// RequestID returns the service's response RequestID for request.
18813func (s *NoSuchConfigurationRecorderException) RequestID() string {
18814	return s.RespMetadata.RequestID
18815}
18816
18817// You specified one or more conformance packs that do not exist.
18818type NoSuchConformancePackException struct {
18819	_            struct{}                  `type:"structure"`
18820	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18821
18822	Message_ *string `locationName:"message" type:"string"`
18823}
18824
18825// String returns the string representation
18826func (s NoSuchConformancePackException) String() string {
18827	return awsutil.Prettify(s)
18828}
18829
18830// GoString returns the string representation
18831func (s NoSuchConformancePackException) GoString() string {
18832	return s.String()
18833}
18834
18835func newErrorNoSuchConformancePackException(v protocol.ResponseMetadata) error {
18836	return &NoSuchConformancePackException{
18837		RespMetadata: v,
18838	}
18839}
18840
18841// Code returns the exception type name.
18842func (s *NoSuchConformancePackException) Code() string {
18843	return "NoSuchConformancePackException"
18844}
18845
18846// Message returns the exception's message.
18847func (s *NoSuchConformancePackException) Message() string {
18848	if s.Message_ != nil {
18849		return *s.Message_
18850	}
18851	return ""
18852}
18853
18854// OrigErr always returns nil, satisfies awserr.Error interface.
18855func (s *NoSuchConformancePackException) OrigErr() error {
18856	return nil
18857}
18858
18859func (s *NoSuchConformancePackException) Error() string {
18860	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18861}
18862
18863// Status code returns the HTTP status code for the request's response error.
18864func (s *NoSuchConformancePackException) StatusCode() int {
18865	return s.RespMetadata.StatusCode
18866}
18867
18868// RequestID returns the service's response RequestID for request.
18869func (s *NoSuchConformancePackException) RequestID() string {
18870	return s.RespMetadata.RequestID
18871}
18872
18873// You have specified a delivery channel that does not exist.
18874type NoSuchDeliveryChannelException struct {
18875	_            struct{}                  `type:"structure"`
18876	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18877
18878	Message_ *string `locationName:"message" type:"string"`
18879}
18880
18881// String returns the string representation
18882func (s NoSuchDeliveryChannelException) String() string {
18883	return awsutil.Prettify(s)
18884}
18885
18886// GoString returns the string representation
18887func (s NoSuchDeliveryChannelException) GoString() string {
18888	return s.String()
18889}
18890
18891func newErrorNoSuchDeliveryChannelException(v protocol.ResponseMetadata) error {
18892	return &NoSuchDeliveryChannelException{
18893		RespMetadata: v,
18894	}
18895}
18896
18897// Code returns the exception type name.
18898func (s *NoSuchDeliveryChannelException) Code() string {
18899	return "NoSuchDeliveryChannelException"
18900}
18901
18902// Message returns the exception's message.
18903func (s *NoSuchDeliveryChannelException) Message() string {
18904	if s.Message_ != nil {
18905		return *s.Message_
18906	}
18907	return ""
18908}
18909
18910// OrigErr always returns nil, satisfies awserr.Error interface.
18911func (s *NoSuchDeliveryChannelException) OrigErr() error {
18912	return nil
18913}
18914
18915func (s *NoSuchDeliveryChannelException) Error() string {
18916	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18917}
18918
18919// Status code returns the HTTP status code for the request's response error.
18920func (s *NoSuchDeliveryChannelException) StatusCode() int {
18921	return s.RespMetadata.StatusCode
18922}
18923
18924// RequestID returns the service's response RequestID for request.
18925func (s *NoSuchDeliveryChannelException) RequestID() string {
18926	return s.RespMetadata.RequestID
18927}
18928
18929// You specified one or more organization config rules that do not exist.
18930type NoSuchOrganizationConfigRuleException struct {
18931	_            struct{}                  `type:"structure"`
18932	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18933
18934	Message_ *string `locationName:"message" type:"string"`
18935}
18936
18937// String returns the string representation
18938func (s NoSuchOrganizationConfigRuleException) String() string {
18939	return awsutil.Prettify(s)
18940}
18941
18942// GoString returns the string representation
18943func (s NoSuchOrganizationConfigRuleException) GoString() string {
18944	return s.String()
18945}
18946
18947func newErrorNoSuchOrganizationConfigRuleException(v protocol.ResponseMetadata) error {
18948	return &NoSuchOrganizationConfigRuleException{
18949		RespMetadata: v,
18950	}
18951}
18952
18953// Code returns the exception type name.
18954func (s *NoSuchOrganizationConfigRuleException) Code() string {
18955	return "NoSuchOrganizationConfigRuleException"
18956}
18957
18958// Message returns the exception's message.
18959func (s *NoSuchOrganizationConfigRuleException) Message() string {
18960	if s.Message_ != nil {
18961		return *s.Message_
18962	}
18963	return ""
18964}
18965
18966// OrigErr always returns nil, satisfies awserr.Error interface.
18967func (s *NoSuchOrganizationConfigRuleException) OrigErr() error {
18968	return nil
18969}
18970
18971func (s *NoSuchOrganizationConfigRuleException) Error() string {
18972	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18973}
18974
18975// Status code returns the HTTP status code for the request's response error.
18976func (s *NoSuchOrganizationConfigRuleException) StatusCode() int {
18977	return s.RespMetadata.StatusCode
18978}
18979
18980// RequestID returns the service's response RequestID for request.
18981func (s *NoSuchOrganizationConfigRuleException) RequestID() string {
18982	return s.RespMetadata.RequestID
18983}
18984
18985// AWS Config organization conformance pack that you passed in the filter does
18986// not exist.
18987//
18988// For DeleteOrganizationConformancePack, you tried to delete an organization
18989// conformance pack that does not exist.
18990type NoSuchOrganizationConformancePackException struct {
18991	_            struct{}                  `type:"structure"`
18992	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18993
18994	Message_ *string `locationName:"message" type:"string"`
18995}
18996
18997// String returns the string representation
18998func (s NoSuchOrganizationConformancePackException) String() string {
18999	return awsutil.Prettify(s)
19000}
19001
19002// GoString returns the string representation
19003func (s NoSuchOrganizationConformancePackException) GoString() string {
19004	return s.String()
19005}
19006
19007func newErrorNoSuchOrganizationConformancePackException(v protocol.ResponseMetadata) error {
19008	return &NoSuchOrganizationConformancePackException{
19009		RespMetadata: v,
19010	}
19011}
19012
19013// Code returns the exception type name.
19014func (s *NoSuchOrganizationConformancePackException) Code() string {
19015	return "NoSuchOrganizationConformancePackException"
19016}
19017
19018// Message returns the exception's message.
19019func (s *NoSuchOrganizationConformancePackException) Message() string {
19020	if s.Message_ != nil {
19021		return *s.Message_
19022	}
19023	return ""
19024}
19025
19026// OrigErr always returns nil, satisfies awserr.Error interface.
19027func (s *NoSuchOrganizationConformancePackException) OrigErr() error {
19028	return nil
19029}
19030
19031func (s *NoSuchOrganizationConformancePackException) Error() string {
19032	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19033}
19034
19035// Status code returns the HTTP status code for the request's response error.
19036func (s *NoSuchOrganizationConformancePackException) StatusCode() int {
19037	return s.RespMetadata.StatusCode
19038}
19039
19040// RequestID returns the service's response RequestID for request.
19041func (s *NoSuchOrganizationConformancePackException) RequestID() string {
19042	return s.RespMetadata.RequestID
19043}
19044
19045// You specified an AWS Config rule without a remediation configuration.
19046type NoSuchRemediationConfigurationException struct {
19047	_            struct{}                  `type:"structure"`
19048	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19049
19050	Message_ *string `locationName:"message" type:"string"`
19051}
19052
19053// String returns the string representation
19054func (s NoSuchRemediationConfigurationException) String() string {
19055	return awsutil.Prettify(s)
19056}
19057
19058// GoString returns the string representation
19059func (s NoSuchRemediationConfigurationException) GoString() string {
19060	return s.String()
19061}
19062
19063func newErrorNoSuchRemediationConfigurationException(v protocol.ResponseMetadata) error {
19064	return &NoSuchRemediationConfigurationException{
19065		RespMetadata: v,
19066	}
19067}
19068
19069// Code returns the exception type name.
19070func (s *NoSuchRemediationConfigurationException) Code() string {
19071	return "NoSuchRemediationConfigurationException"
19072}
19073
19074// Message returns the exception's message.
19075func (s *NoSuchRemediationConfigurationException) Message() string {
19076	if s.Message_ != nil {
19077		return *s.Message_
19078	}
19079	return ""
19080}
19081
19082// OrigErr always returns nil, satisfies awserr.Error interface.
19083func (s *NoSuchRemediationConfigurationException) OrigErr() error {
19084	return nil
19085}
19086
19087func (s *NoSuchRemediationConfigurationException) Error() string {
19088	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19089}
19090
19091// Status code returns the HTTP status code for the request's response error.
19092func (s *NoSuchRemediationConfigurationException) StatusCode() int {
19093	return s.RespMetadata.StatusCode
19094}
19095
19096// RequestID returns the service's response RequestID for request.
19097func (s *NoSuchRemediationConfigurationException) RequestID() string {
19098	return s.RespMetadata.RequestID
19099}
19100
19101// You tried to delete a remediation exception that does not exist.
19102type NoSuchRemediationExceptionException struct {
19103	_            struct{}                  `type:"structure"`
19104	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19105
19106	Message_ *string `locationName:"message" type:"string"`
19107}
19108
19109// String returns the string representation
19110func (s NoSuchRemediationExceptionException) String() string {
19111	return awsutil.Prettify(s)
19112}
19113
19114// GoString returns the string representation
19115func (s NoSuchRemediationExceptionException) GoString() string {
19116	return s.String()
19117}
19118
19119func newErrorNoSuchRemediationExceptionException(v protocol.ResponseMetadata) error {
19120	return &NoSuchRemediationExceptionException{
19121		RespMetadata: v,
19122	}
19123}
19124
19125// Code returns the exception type name.
19126func (s *NoSuchRemediationExceptionException) Code() string {
19127	return "NoSuchRemediationExceptionException"
19128}
19129
19130// Message returns the exception's message.
19131func (s *NoSuchRemediationExceptionException) Message() string {
19132	if s.Message_ != nil {
19133		return *s.Message_
19134	}
19135	return ""
19136}
19137
19138// OrigErr always returns nil, satisfies awserr.Error interface.
19139func (s *NoSuchRemediationExceptionException) OrigErr() error {
19140	return nil
19141}
19142
19143func (s *NoSuchRemediationExceptionException) Error() string {
19144	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19145}
19146
19147// Status code returns the HTTP status code for the request's response error.
19148func (s *NoSuchRemediationExceptionException) StatusCode() int {
19149	return s.RespMetadata.StatusCode
19150}
19151
19152// RequestID returns the service's response RequestID for request.
19153func (s *NoSuchRemediationExceptionException) RequestID() string {
19154	return s.RespMetadata.RequestID
19155}
19156
19157// You have specified a retention configuration that does not exist.
19158type NoSuchRetentionConfigurationException struct {
19159	_            struct{}                  `type:"structure"`
19160	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19161
19162	Message_ *string `locationName:"message" type:"string"`
19163}
19164
19165// String returns the string representation
19166func (s NoSuchRetentionConfigurationException) String() string {
19167	return awsutil.Prettify(s)
19168}
19169
19170// GoString returns the string representation
19171func (s NoSuchRetentionConfigurationException) GoString() string {
19172	return s.String()
19173}
19174
19175func newErrorNoSuchRetentionConfigurationException(v protocol.ResponseMetadata) error {
19176	return &NoSuchRetentionConfigurationException{
19177		RespMetadata: v,
19178	}
19179}
19180
19181// Code returns the exception type name.
19182func (s *NoSuchRetentionConfigurationException) Code() string {
19183	return "NoSuchRetentionConfigurationException"
19184}
19185
19186// Message returns the exception's message.
19187func (s *NoSuchRetentionConfigurationException) Message() string {
19188	if s.Message_ != nil {
19189		return *s.Message_
19190	}
19191	return ""
19192}
19193
19194// OrigErr always returns nil, satisfies awserr.Error interface.
19195func (s *NoSuchRetentionConfigurationException) OrigErr() error {
19196	return nil
19197}
19198
19199func (s *NoSuchRetentionConfigurationException) Error() string {
19200	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19201}
19202
19203// Status code returns the HTTP status code for the request's response error.
19204func (s *NoSuchRetentionConfigurationException) StatusCode() int {
19205	return s.RespMetadata.StatusCode
19206}
19207
19208// RequestID returns the service's response RequestID for request.
19209func (s *NoSuchRetentionConfigurationException) RequestID() string {
19210	return s.RespMetadata.RequestID
19211}
19212
19213// For PutConfigAggregator API, no permission to call EnableAWSServiceAccess
19214// API.
19215//
19216// For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS
19217// Config throws an exception if APIs are called from member accounts. All APIs
19218// must be called from organization master account.
19219type OrganizationAccessDeniedException struct {
19220	_            struct{}                  `type:"structure"`
19221	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19222
19223	Message_ *string `locationName:"message" type:"string"`
19224}
19225
19226// String returns the string representation
19227func (s OrganizationAccessDeniedException) String() string {
19228	return awsutil.Prettify(s)
19229}
19230
19231// GoString returns the string representation
19232func (s OrganizationAccessDeniedException) GoString() string {
19233	return s.String()
19234}
19235
19236func newErrorOrganizationAccessDeniedException(v protocol.ResponseMetadata) error {
19237	return &OrganizationAccessDeniedException{
19238		RespMetadata: v,
19239	}
19240}
19241
19242// Code returns the exception type name.
19243func (s *OrganizationAccessDeniedException) Code() string {
19244	return "OrganizationAccessDeniedException"
19245}
19246
19247// Message returns the exception's message.
19248func (s *OrganizationAccessDeniedException) Message() string {
19249	if s.Message_ != nil {
19250		return *s.Message_
19251	}
19252	return ""
19253}
19254
19255// OrigErr always returns nil, satisfies awserr.Error interface.
19256func (s *OrganizationAccessDeniedException) OrigErr() error {
19257	return nil
19258}
19259
19260func (s *OrganizationAccessDeniedException) Error() string {
19261	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19262}
19263
19264// Status code returns the HTTP status code for the request's response error.
19265func (s *OrganizationAccessDeniedException) StatusCode() int {
19266	return s.RespMetadata.StatusCode
19267}
19268
19269// RequestID returns the service's response RequestID for request.
19270func (s *OrganizationAccessDeniedException) RequestID() string {
19271	return s.RespMetadata.RequestID
19272}
19273
19274// This object contains regions to set up the aggregator and an IAM role to
19275// retrieve organization details.
19276type OrganizationAggregationSource struct {
19277	_ struct{} `type:"structure"`
19278
19279	// If true, aggregate existing AWS Config regions and future regions.
19280	AllAwsRegions *bool `type:"boolean"`
19281
19282	// The source regions being aggregated.
19283	AwsRegions []*string `min:"1" type:"list"`
19284
19285	// ARN of the IAM role used to retrieve AWS Organization details associated
19286	// with the aggregator account.
19287	//
19288	// RoleArn is a required field
19289	RoleArn *string `type:"string" required:"true"`
19290}
19291
19292// String returns the string representation
19293func (s OrganizationAggregationSource) String() string {
19294	return awsutil.Prettify(s)
19295}
19296
19297// GoString returns the string representation
19298func (s OrganizationAggregationSource) GoString() string {
19299	return s.String()
19300}
19301
19302// Validate inspects the fields of the type to determine if they are valid.
19303func (s *OrganizationAggregationSource) Validate() error {
19304	invalidParams := request.ErrInvalidParams{Context: "OrganizationAggregationSource"}
19305	if s.AwsRegions != nil && len(s.AwsRegions) < 1 {
19306		invalidParams.Add(request.NewErrParamMinLen("AwsRegions", 1))
19307	}
19308	if s.RoleArn == nil {
19309		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
19310	}
19311
19312	if invalidParams.Len() > 0 {
19313		return invalidParams
19314	}
19315	return nil
19316}
19317
19318// SetAllAwsRegions sets the AllAwsRegions field's value.
19319func (s *OrganizationAggregationSource) SetAllAwsRegions(v bool) *OrganizationAggregationSource {
19320	s.AllAwsRegions = &v
19321	return s
19322}
19323
19324// SetAwsRegions sets the AwsRegions field's value.
19325func (s *OrganizationAggregationSource) SetAwsRegions(v []*string) *OrganizationAggregationSource {
19326	s.AwsRegions = v
19327	return s
19328}
19329
19330// SetRoleArn sets the RoleArn field's value.
19331func (s *OrganizationAggregationSource) SetRoleArn(v string) *OrganizationAggregationSource {
19332	s.RoleArn = &v
19333	return s
19334}
19335
19336// AWS Config resource cannot be created because your organization does not
19337// have all features enabled.
19338type OrganizationAllFeaturesNotEnabledException struct {
19339	_            struct{}                  `type:"structure"`
19340	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19341
19342	Message_ *string `locationName:"message" type:"string"`
19343}
19344
19345// String returns the string representation
19346func (s OrganizationAllFeaturesNotEnabledException) String() string {
19347	return awsutil.Prettify(s)
19348}
19349
19350// GoString returns the string representation
19351func (s OrganizationAllFeaturesNotEnabledException) GoString() string {
19352	return s.String()
19353}
19354
19355func newErrorOrganizationAllFeaturesNotEnabledException(v protocol.ResponseMetadata) error {
19356	return &OrganizationAllFeaturesNotEnabledException{
19357		RespMetadata: v,
19358	}
19359}
19360
19361// Code returns the exception type name.
19362func (s *OrganizationAllFeaturesNotEnabledException) Code() string {
19363	return "OrganizationAllFeaturesNotEnabledException"
19364}
19365
19366// Message returns the exception's message.
19367func (s *OrganizationAllFeaturesNotEnabledException) Message() string {
19368	if s.Message_ != nil {
19369		return *s.Message_
19370	}
19371	return ""
19372}
19373
19374// OrigErr always returns nil, satisfies awserr.Error interface.
19375func (s *OrganizationAllFeaturesNotEnabledException) OrigErr() error {
19376	return nil
19377}
19378
19379func (s *OrganizationAllFeaturesNotEnabledException) Error() string {
19380	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19381}
19382
19383// Status code returns the HTTP status code for the request's response error.
19384func (s *OrganizationAllFeaturesNotEnabledException) StatusCode() int {
19385	return s.RespMetadata.StatusCode
19386}
19387
19388// RequestID returns the service's response RequestID for request.
19389func (s *OrganizationAllFeaturesNotEnabledException) RequestID() string {
19390	return s.RespMetadata.RequestID
19391}
19392
19393// An organization config rule that has information about config rules that
19394// AWS Config creates in member accounts.
19395type OrganizationConfigRule struct {
19396	_ struct{} `type:"structure"`
19397
19398	// A comma-separated list of accounts excluded from organization config rule.
19399	ExcludedAccounts []*string `type:"list"`
19400
19401	// The timestamp of the last update.
19402	LastUpdateTime *time.Time `type:"timestamp"`
19403
19404	// Amazon Resource Name (ARN) of organization config rule.
19405	//
19406	// OrganizationConfigRuleArn is a required field
19407	OrganizationConfigRuleArn *string `min:"1" type:"string" required:"true"`
19408
19409	// The name that you assign to organization config rule.
19410	//
19411	// OrganizationConfigRuleName is a required field
19412	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
19413
19414	// An OrganizationCustomRuleMetadata object.
19415	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
19416
19417	// An OrganizationManagedRuleMetadata object.
19418	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
19419}
19420
19421// String returns the string representation
19422func (s OrganizationConfigRule) String() string {
19423	return awsutil.Prettify(s)
19424}
19425
19426// GoString returns the string representation
19427func (s OrganizationConfigRule) GoString() string {
19428	return s.String()
19429}
19430
19431// SetExcludedAccounts sets the ExcludedAccounts field's value.
19432func (s *OrganizationConfigRule) SetExcludedAccounts(v []*string) *OrganizationConfigRule {
19433	s.ExcludedAccounts = v
19434	return s
19435}
19436
19437// SetLastUpdateTime sets the LastUpdateTime field's value.
19438func (s *OrganizationConfigRule) SetLastUpdateTime(v time.Time) *OrganizationConfigRule {
19439	s.LastUpdateTime = &v
19440	return s
19441}
19442
19443// SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
19444func (s *OrganizationConfigRule) SetOrganizationConfigRuleArn(v string) *OrganizationConfigRule {
19445	s.OrganizationConfigRuleArn = &v
19446	return s
19447}
19448
19449// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
19450func (s *OrganizationConfigRule) SetOrganizationConfigRuleName(v string) *OrganizationConfigRule {
19451	s.OrganizationConfigRuleName = &v
19452	return s
19453}
19454
19455// SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
19456func (s *OrganizationConfigRule) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *OrganizationConfigRule {
19457	s.OrganizationCustomRuleMetadata = v
19458	return s
19459}
19460
19461// SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
19462func (s *OrganizationConfigRule) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *OrganizationConfigRule {
19463	s.OrganizationManagedRuleMetadata = v
19464	return s
19465}
19466
19467// Returns the status for an organization config rule in an organization.
19468type OrganizationConfigRuleStatus struct {
19469	_ struct{} `type:"structure"`
19470
19471	// An error code that is returned when organization config rule creation or
19472	// deletion has failed.
19473	ErrorCode *string `type:"string"`
19474
19475	// An error message indicating that organization config rule creation or deletion
19476	// failed due to an error.
19477	ErrorMessage *string `type:"string"`
19478
19479	// The timestamp of the last update.
19480	LastUpdateTime *time.Time `type:"timestamp"`
19481
19482	// The name that you assign to organization config rule.
19483	//
19484	// OrganizationConfigRuleName is a required field
19485	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
19486
19487	// Indicates deployment status of an organization config rule. When master account
19488	// calls PutOrganizationConfigRule action for the first time, config rule status
19489	// is created in all the member accounts. When master account calls PutOrganizationConfigRule
19490	// action for the second time, config rule status is updated in all the member
19491	// accounts. Additionally, config rule status is updated when one or more member
19492	// accounts join or leave an organization. Config rule status is deleted when
19493	// the master account deletes OrganizationConfigRule in all the member accounts
19494	// and disables service access for config-multiaccountsetup.amazonaws.com.
19495	//
19496	// AWS Config sets the state of the rule to:
19497	//
19498	//    * CREATE_SUCCESSFUL when an organization config rule has been successfully
19499	//    created in all the member accounts.
19500	//
19501	//    * CREATE_IN_PROGRESS when an organization config rule creation is in progress.
19502	//
19503	//    * CREATE_FAILED when an organization config rule creation failed in one
19504	//    or more member accounts within that organization.
19505	//
19506	//    * DELETE_FAILED when an organization config rule deletion failed in one
19507	//    or more member accounts within that organization.
19508	//
19509	//    * DELETE_IN_PROGRESS when an organization config rule deletion is in progress.
19510	//
19511	//    * DELETE_SUCCESSFUL when an organization config rule has been successfully
19512	//    deleted from all the member accounts.
19513	//
19514	//    * UPDATE_SUCCESSFUL when an organization config rule has been successfully
19515	//    updated in all the member accounts.
19516	//
19517	//    * UPDATE_IN_PROGRESS when an organization config rule update is in progress.
19518	//
19519	//    * UPDATE_FAILED when an organization config rule update failed in one
19520	//    or more member accounts within that organization.
19521	//
19522	// OrganizationRuleStatus is a required field
19523	OrganizationRuleStatus *string `type:"string" required:"true" enum:"OrganizationRuleStatus"`
19524}
19525
19526// String returns the string representation
19527func (s OrganizationConfigRuleStatus) String() string {
19528	return awsutil.Prettify(s)
19529}
19530
19531// GoString returns the string representation
19532func (s OrganizationConfigRuleStatus) GoString() string {
19533	return s.String()
19534}
19535
19536// SetErrorCode sets the ErrorCode field's value.
19537func (s *OrganizationConfigRuleStatus) SetErrorCode(v string) *OrganizationConfigRuleStatus {
19538	s.ErrorCode = &v
19539	return s
19540}
19541
19542// SetErrorMessage sets the ErrorMessage field's value.
19543func (s *OrganizationConfigRuleStatus) SetErrorMessage(v string) *OrganizationConfigRuleStatus {
19544	s.ErrorMessage = &v
19545	return s
19546}
19547
19548// SetLastUpdateTime sets the LastUpdateTime field's value.
19549func (s *OrganizationConfigRuleStatus) SetLastUpdateTime(v time.Time) *OrganizationConfigRuleStatus {
19550	s.LastUpdateTime = &v
19551	return s
19552}
19553
19554// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
19555func (s *OrganizationConfigRuleStatus) SetOrganizationConfigRuleName(v string) *OrganizationConfigRuleStatus {
19556	s.OrganizationConfigRuleName = &v
19557	return s
19558}
19559
19560// SetOrganizationRuleStatus sets the OrganizationRuleStatus field's value.
19561func (s *OrganizationConfigRuleStatus) SetOrganizationRuleStatus(v string) *OrganizationConfigRuleStatus {
19562	s.OrganizationRuleStatus = &v
19563	return s
19564}
19565
19566// An organization conformance pack that has information about conformance packs
19567// that AWS Config creates in member accounts.
19568type OrganizationConformancePack struct {
19569	_ struct{} `type:"structure"`
19570
19571	// A list of ConformancePackInputParameter objects.
19572	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
19573
19574	// Location of an Amazon S3 bucket where AWS Config can deliver evaluation results
19575	// and conformance pack template that is used to create a pack.
19576	DeliveryS3Bucket *string `type:"string"`
19577
19578	// Any folder structure you want to add to an Amazon S3 bucket.
19579	DeliveryS3KeyPrefix *string `type:"string"`
19580
19581	// A comma-separated list of accounts excluded from organization conformance
19582	// pack.
19583	ExcludedAccounts []*string `type:"list"`
19584
19585	// Last time when organization conformation pack was updated.
19586	//
19587	// LastUpdateTime is a required field
19588	LastUpdateTime *time.Time `type:"timestamp" required:"true"`
19589
19590	// Amazon Resource Name (ARN) of organization conformance pack.
19591	//
19592	// OrganizationConformancePackArn is a required field
19593	OrganizationConformancePackArn *string `min:"1" type:"string" required:"true"`
19594
19595	// The name you assign to an organization conformance pack.
19596	//
19597	// OrganizationConformancePackName is a required field
19598	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
19599}
19600
19601// String returns the string representation
19602func (s OrganizationConformancePack) String() string {
19603	return awsutil.Prettify(s)
19604}
19605
19606// GoString returns the string representation
19607func (s OrganizationConformancePack) GoString() string {
19608	return s.String()
19609}
19610
19611// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
19612func (s *OrganizationConformancePack) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *OrganizationConformancePack {
19613	s.ConformancePackInputParameters = v
19614	return s
19615}
19616
19617// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
19618func (s *OrganizationConformancePack) SetDeliveryS3Bucket(v string) *OrganizationConformancePack {
19619	s.DeliveryS3Bucket = &v
19620	return s
19621}
19622
19623// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
19624func (s *OrganizationConformancePack) SetDeliveryS3KeyPrefix(v string) *OrganizationConformancePack {
19625	s.DeliveryS3KeyPrefix = &v
19626	return s
19627}
19628
19629// SetExcludedAccounts sets the ExcludedAccounts field's value.
19630func (s *OrganizationConformancePack) SetExcludedAccounts(v []*string) *OrganizationConformancePack {
19631	s.ExcludedAccounts = v
19632	return s
19633}
19634
19635// SetLastUpdateTime sets the LastUpdateTime field's value.
19636func (s *OrganizationConformancePack) SetLastUpdateTime(v time.Time) *OrganizationConformancePack {
19637	s.LastUpdateTime = &v
19638	return s
19639}
19640
19641// SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
19642func (s *OrganizationConformancePack) SetOrganizationConformancePackArn(v string) *OrganizationConformancePack {
19643	s.OrganizationConformancePackArn = &v
19644	return s
19645}
19646
19647// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
19648func (s *OrganizationConformancePack) SetOrganizationConformancePackName(v string) *OrganizationConformancePack {
19649	s.OrganizationConformancePackName = &v
19650	return s
19651}
19652
19653// Organization conformance pack creation or deletion status in each member
19654// account. This includes the name of the conformance pack, the status, error
19655// code and error message when the conformance pack creation or deletion failed.
19656type OrganizationConformancePackDetailedStatus struct {
19657	_ struct{} `type:"structure"`
19658
19659	// The 12-digit account ID of a member account.
19660	//
19661	// AccountId is a required field
19662	AccountId *string `type:"string" required:"true"`
19663
19664	// The name of conformance pack deployed in the member account.
19665	//
19666	// ConformancePackName is a required field
19667	ConformancePackName *string `min:"1" type:"string" required:"true"`
19668
19669	// An error code that is returned when conformance pack creation or deletion
19670	// failed in the member account.
19671	ErrorCode *string `type:"string"`
19672
19673	// An error message indicating that conformance pack account creation or deletion
19674	// has failed due to an error in the member account.
19675	ErrorMessage *string `type:"string"`
19676
19677	// The timestamp of the last status update.
19678	LastUpdateTime *time.Time `type:"timestamp"`
19679
19680	// Indicates deployment status for conformance pack in a member account. When
19681	// master account calls PutOrganizationConformancePack action for the first
19682	// time, conformance pack status is created in the member account. When master
19683	// account calls PutOrganizationConformancePack action for the second time,
19684	// conformance pack status is updated in the member account. Conformance pack
19685	// status is deleted when the master account deletes OrganizationConformancePack
19686	// and disables service access for config-multiaccountsetup.amazonaws.com.
19687	//
19688	// AWS Config sets the state of the conformance pack to:
19689	//
19690	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
19691	//    account.
19692	//
19693	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
19694	//    account.
19695	//
19696	//    * CREATE_FAILED when conformance pack creation has failed in the member
19697	//    account.
19698	//
19699	//    * DELETE_FAILED when conformance pack deletion has failed in the member
19700	//    account.
19701	//
19702	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
19703	//    account.
19704	//
19705	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
19706	//    account.
19707	//
19708	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
19709	//    account.
19710	//
19711	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
19712	//    account.
19713	//
19714	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
19715	//    account.
19716	//
19717	// Status is a required field
19718	Status *string `type:"string" required:"true" enum:"OrganizationResourceDetailedStatus"`
19719}
19720
19721// String returns the string representation
19722func (s OrganizationConformancePackDetailedStatus) String() string {
19723	return awsutil.Prettify(s)
19724}
19725
19726// GoString returns the string representation
19727func (s OrganizationConformancePackDetailedStatus) GoString() string {
19728	return s.String()
19729}
19730
19731// SetAccountId sets the AccountId field's value.
19732func (s *OrganizationConformancePackDetailedStatus) SetAccountId(v string) *OrganizationConformancePackDetailedStatus {
19733	s.AccountId = &v
19734	return s
19735}
19736
19737// SetConformancePackName sets the ConformancePackName field's value.
19738func (s *OrganizationConformancePackDetailedStatus) SetConformancePackName(v string) *OrganizationConformancePackDetailedStatus {
19739	s.ConformancePackName = &v
19740	return s
19741}
19742
19743// SetErrorCode sets the ErrorCode field's value.
19744func (s *OrganizationConformancePackDetailedStatus) SetErrorCode(v string) *OrganizationConformancePackDetailedStatus {
19745	s.ErrorCode = &v
19746	return s
19747}
19748
19749// SetErrorMessage sets the ErrorMessage field's value.
19750func (s *OrganizationConformancePackDetailedStatus) SetErrorMessage(v string) *OrganizationConformancePackDetailedStatus {
19751	s.ErrorMessage = &v
19752	return s
19753}
19754
19755// SetLastUpdateTime sets the LastUpdateTime field's value.
19756func (s *OrganizationConformancePackDetailedStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackDetailedStatus {
19757	s.LastUpdateTime = &v
19758	return s
19759}
19760
19761// SetStatus sets the Status field's value.
19762func (s *OrganizationConformancePackDetailedStatus) SetStatus(v string) *OrganizationConformancePackDetailedStatus {
19763	s.Status = &v
19764	return s
19765}
19766
19767// Returns the status for an organization conformance pack in an organization.
19768type OrganizationConformancePackStatus struct {
19769	_ struct{} `type:"structure"`
19770
19771	// An error code that is returned when organization conformance pack creation
19772	// or deletion has failed in a member account.
19773	ErrorCode *string `type:"string"`
19774
19775	// An error message indicating that organization conformance pack creation or
19776	// deletion failed due to an error.
19777	ErrorMessage *string `type:"string"`
19778
19779	// The timestamp of the last update.
19780	LastUpdateTime *time.Time `type:"timestamp"`
19781
19782	// The name that you assign to organization conformance pack.
19783	//
19784	// OrganizationConformancePackName is a required field
19785	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
19786
19787	// Indicates deployment status of an organization conformance pack. When master
19788	// account calls PutOrganizationConformancePack for the first time, conformance
19789	// pack status is created in all the member accounts. When master account calls
19790	// PutOrganizationConformancePack for the second time, conformance pack status
19791	// is updated in all the member accounts. Additionally, conformance pack status
19792	// is updated when one or more member accounts join or leave an organization.
19793	// Conformance pack status is deleted when the master account deletes OrganizationConformancePack
19794	// in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.
19795	//
19796	// AWS Config sets the state of the conformance pack to:
19797	//
19798	//    * CREATE_SUCCESSFUL when an organization conformance pack has been successfully
19799	//    created in all the member accounts.
19800	//
19801	//    * CREATE_IN_PROGRESS when an organization conformance pack creation is
19802	//    in progress.
19803	//
19804	//    * CREATE_FAILED when an organization conformance pack creation failed
19805	//    in one or more member accounts within that organization.
19806	//
19807	//    * DELETE_FAILED when an organization conformance pack deletion failed
19808	//    in one or more member accounts within that organization.
19809	//
19810	//    * DELETE_IN_PROGRESS when an organization conformance pack deletion is
19811	//    in progress.
19812	//
19813	//    * DELETE_SUCCESSFUL when an organization conformance pack has been successfully
19814	//    deleted from all the member accounts.
19815	//
19816	//    * UPDATE_SUCCESSFUL when an organization conformance pack has been successfully
19817	//    updated in all the member accounts.
19818	//
19819	//    * UPDATE_IN_PROGRESS when an organization conformance pack update is in
19820	//    progress.
19821	//
19822	//    * UPDATE_FAILED when an organization conformance pack update failed in
19823	//    one or more member accounts within that organization.
19824	//
19825	// Status is a required field
19826	Status *string `type:"string" required:"true" enum:"OrganizationResourceStatus"`
19827}
19828
19829// String returns the string representation
19830func (s OrganizationConformancePackStatus) String() string {
19831	return awsutil.Prettify(s)
19832}
19833
19834// GoString returns the string representation
19835func (s OrganizationConformancePackStatus) GoString() string {
19836	return s.String()
19837}
19838
19839// SetErrorCode sets the ErrorCode field's value.
19840func (s *OrganizationConformancePackStatus) SetErrorCode(v string) *OrganizationConformancePackStatus {
19841	s.ErrorCode = &v
19842	return s
19843}
19844
19845// SetErrorMessage sets the ErrorMessage field's value.
19846func (s *OrganizationConformancePackStatus) SetErrorMessage(v string) *OrganizationConformancePackStatus {
19847	s.ErrorMessage = &v
19848	return s
19849}
19850
19851// SetLastUpdateTime sets the LastUpdateTime field's value.
19852func (s *OrganizationConformancePackStatus) SetLastUpdateTime(v time.Time) *OrganizationConformancePackStatus {
19853	s.LastUpdateTime = &v
19854	return s
19855}
19856
19857// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
19858func (s *OrganizationConformancePackStatus) SetOrganizationConformancePackName(v string) *OrganizationConformancePackStatus {
19859	s.OrganizationConformancePackName = &v
19860	return s
19861}
19862
19863// SetStatus sets the Status field's value.
19864func (s *OrganizationConformancePackStatus) SetStatus(v string) *OrganizationConformancePackStatus {
19865	s.Status = &v
19866	return s
19867}
19868
19869// You have specified a template that is not valid or supported.
19870type OrganizationConformancePackTemplateValidationException struct {
19871	_            struct{}                  `type:"structure"`
19872	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19873
19874	Message_ *string `locationName:"message" type:"string"`
19875}
19876
19877// String returns the string representation
19878func (s OrganizationConformancePackTemplateValidationException) String() string {
19879	return awsutil.Prettify(s)
19880}
19881
19882// GoString returns the string representation
19883func (s OrganizationConformancePackTemplateValidationException) GoString() string {
19884	return s.String()
19885}
19886
19887func newErrorOrganizationConformancePackTemplateValidationException(v protocol.ResponseMetadata) error {
19888	return &OrganizationConformancePackTemplateValidationException{
19889		RespMetadata: v,
19890	}
19891}
19892
19893// Code returns the exception type name.
19894func (s *OrganizationConformancePackTemplateValidationException) Code() string {
19895	return "OrganizationConformancePackTemplateValidationException"
19896}
19897
19898// Message returns the exception's message.
19899func (s *OrganizationConformancePackTemplateValidationException) Message() string {
19900	if s.Message_ != nil {
19901		return *s.Message_
19902	}
19903	return ""
19904}
19905
19906// OrigErr always returns nil, satisfies awserr.Error interface.
19907func (s *OrganizationConformancePackTemplateValidationException) OrigErr() error {
19908	return nil
19909}
19910
19911func (s *OrganizationConformancePackTemplateValidationException) Error() string {
19912	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19913}
19914
19915// Status code returns the HTTP status code for the request's response error.
19916func (s *OrganizationConformancePackTemplateValidationException) StatusCode() int {
19917	return s.RespMetadata.StatusCode
19918}
19919
19920// RequestID returns the service's response RequestID for request.
19921func (s *OrganizationConformancePackTemplateValidationException) RequestID() string {
19922	return s.RespMetadata.RequestID
19923}
19924
19925// An object that specifies organization custom rule metadata such as resource
19926// type, resource ID of AWS resource, Lamdba function ARN, and organization
19927// trigger types that trigger AWS Config to evaluate your AWS resources against
19928// a rule. It also provides the frequency with which you want AWS Config to
19929// run evaluations for the rule if the trigger type is periodic.
19930type OrganizationCustomRuleMetadata struct {
19931	_ struct{} `type:"structure"`
19932
19933	// The description that you provide for organization config rule.
19934	Description *string `type:"string"`
19935
19936	// A string, in JSON format, that is passed to organization config rule Lambda
19937	// function.
19938	InputParameters *string `min:"1" type:"string"`
19939
19940	// The lambda function ARN.
19941	//
19942	// LambdaFunctionArn is a required field
19943	LambdaFunctionArn *string `min:"1" type:"string" required:"true"`
19944
19945	// The maximum frequency with which AWS Config runs evaluations for a rule.
19946	// Your custom rule is triggered when AWS Config delivers the configuration
19947	// snapshot. For more information, see ConfigSnapshotDeliveryProperties.
19948	//
19949	// By default, rules with a periodic trigger are evaluated every 24 hours. To
19950	// change the frequency, specify a valid value for the MaximumExecutionFrequency
19951	// parameter.
19952	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
19953
19954	// The type of notification that triggers AWS Config to run an evaluation for
19955	// a rule. You can specify the following notification types:
19956	//
19957	//    * ConfigurationItemChangeNotification - Triggers an evaluation when AWS
19958	//    Config delivers a configuration item as a result of a resource change.
19959	//
19960	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
19961	//    when AWS Config delivers an oversized configuration item. AWS Config may
19962	//    generate this notification type when a resource changes and the notification
19963	//    exceeds the maximum size allowed by Amazon SNS.
19964	//
19965	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
19966	//    specified for MaximumExecutionFrequency.
19967	//
19968	// OrganizationConfigRuleTriggerTypes is a required field
19969	OrganizationConfigRuleTriggerTypes []*string `type:"list" required:"true"`
19970
19971	// The ID of the AWS resource that was evaluated.
19972	ResourceIdScope *string `min:"1" type:"string"`
19973
19974	// The type of the AWS resource that was evaluated.
19975	ResourceTypesScope []*string `type:"list"`
19976
19977	// One part of a key-value pair that make up a tag. A key is a general label
19978	// that acts like a category for more specific tag values.
19979	TagKeyScope *string `min:"1" type:"string"`
19980
19981	// The optional part of a key-value pair that make up a tag. A value acts as
19982	// a descriptor within a tag category (key).
19983	TagValueScope *string `min:"1" type:"string"`
19984}
19985
19986// String returns the string representation
19987func (s OrganizationCustomRuleMetadata) String() string {
19988	return awsutil.Prettify(s)
19989}
19990
19991// GoString returns the string representation
19992func (s OrganizationCustomRuleMetadata) GoString() string {
19993	return s.String()
19994}
19995
19996// Validate inspects the fields of the type to determine if they are valid.
19997func (s *OrganizationCustomRuleMetadata) Validate() error {
19998	invalidParams := request.ErrInvalidParams{Context: "OrganizationCustomRuleMetadata"}
19999	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
20000		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
20001	}
20002	if s.LambdaFunctionArn == nil {
20003		invalidParams.Add(request.NewErrParamRequired("LambdaFunctionArn"))
20004	}
20005	if s.LambdaFunctionArn != nil && len(*s.LambdaFunctionArn) < 1 {
20006		invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionArn", 1))
20007	}
20008	if s.OrganizationConfigRuleTriggerTypes == nil {
20009		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleTriggerTypes"))
20010	}
20011	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
20012		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
20013	}
20014	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
20015		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
20016	}
20017	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
20018		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
20019	}
20020
20021	if invalidParams.Len() > 0 {
20022		return invalidParams
20023	}
20024	return nil
20025}
20026
20027// SetDescription sets the Description field's value.
20028func (s *OrganizationCustomRuleMetadata) SetDescription(v string) *OrganizationCustomRuleMetadata {
20029	s.Description = &v
20030	return s
20031}
20032
20033// SetInputParameters sets the InputParameters field's value.
20034func (s *OrganizationCustomRuleMetadata) SetInputParameters(v string) *OrganizationCustomRuleMetadata {
20035	s.InputParameters = &v
20036	return s
20037}
20038
20039// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
20040func (s *OrganizationCustomRuleMetadata) SetLambdaFunctionArn(v string) *OrganizationCustomRuleMetadata {
20041	s.LambdaFunctionArn = &v
20042	return s
20043}
20044
20045// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
20046func (s *OrganizationCustomRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationCustomRuleMetadata {
20047	s.MaximumExecutionFrequency = &v
20048	return s
20049}
20050
20051// SetOrganizationConfigRuleTriggerTypes sets the OrganizationConfigRuleTriggerTypes field's value.
20052func (s *OrganizationCustomRuleMetadata) SetOrganizationConfigRuleTriggerTypes(v []*string) *OrganizationCustomRuleMetadata {
20053	s.OrganizationConfigRuleTriggerTypes = v
20054	return s
20055}
20056
20057// SetResourceIdScope sets the ResourceIdScope field's value.
20058func (s *OrganizationCustomRuleMetadata) SetResourceIdScope(v string) *OrganizationCustomRuleMetadata {
20059	s.ResourceIdScope = &v
20060	return s
20061}
20062
20063// SetResourceTypesScope sets the ResourceTypesScope field's value.
20064func (s *OrganizationCustomRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationCustomRuleMetadata {
20065	s.ResourceTypesScope = v
20066	return s
20067}
20068
20069// SetTagKeyScope sets the TagKeyScope field's value.
20070func (s *OrganizationCustomRuleMetadata) SetTagKeyScope(v string) *OrganizationCustomRuleMetadata {
20071	s.TagKeyScope = &v
20072	return s
20073}
20074
20075// SetTagValueScope sets the TagValueScope field's value.
20076func (s *OrganizationCustomRuleMetadata) SetTagValueScope(v string) *OrganizationCustomRuleMetadata {
20077	s.TagValueScope = &v
20078	return s
20079}
20080
20081// An object that specifies organization managed rule metadata such as resource
20082// type and ID of AWS resource along with the rule identifier. It also provides
20083// the frequency with which you want AWS Config to run evaluations for the rule
20084// if the trigger type is periodic.
20085type OrganizationManagedRuleMetadata struct {
20086	_ struct{} `type:"structure"`
20087
20088	// The description that you provide for organization config rule.
20089	Description *string `type:"string"`
20090
20091	// A string, in JSON format, that is passed to organization config rule Lambda
20092	// function.
20093	InputParameters *string `min:"1" type:"string"`
20094
20095	// The maximum frequency with which AWS Config runs evaluations for a rule.
20096	// You are using an AWS managed rule that is triggered at a periodic frequency.
20097	//
20098	// By default, rules with a periodic trigger are evaluated every 24 hours. To
20099	// change the frequency, specify a valid value for the MaximumExecutionFrequency
20100	// parameter.
20101	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
20102
20103	// The ID of the AWS resource that was evaluated.
20104	ResourceIdScope *string `min:"1" type:"string"`
20105
20106	// The type of the AWS resource that was evaluated.
20107	ResourceTypesScope []*string `type:"list"`
20108
20109	// For organization config managed rules, a predefined identifier from a list.
20110	// For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed
20111	// rule, see Using AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
20112	//
20113	// RuleIdentifier is a required field
20114	RuleIdentifier *string `min:"1" type:"string" required:"true"`
20115
20116	// One part of a key-value pair that make up a tag. A key is a general label
20117	// that acts like a category for more specific tag values.
20118	TagKeyScope *string `min:"1" type:"string"`
20119
20120	// The optional part of a key-value pair that make up a tag. A value acts as
20121	// a descriptor within a tag category (key).
20122	TagValueScope *string `min:"1" type:"string"`
20123}
20124
20125// String returns the string representation
20126func (s OrganizationManagedRuleMetadata) String() string {
20127	return awsutil.Prettify(s)
20128}
20129
20130// GoString returns the string representation
20131func (s OrganizationManagedRuleMetadata) GoString() string {
20132	return s.String()
20133}
20134
20135// Validate inspects the fields of the type to determine if they are valid.
20136func (s *OrganizationManagedRuleMetadata) Validate() error {
20137	invalidParams := request.ErrInvalidParams{Context: "OrganizationManagedRuleMetadata"}
20138	if s.InputParameters != nil && len(*s.InputParameters) < 1 {
20139		invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
20140	}
20141	if s.ResourceIdScope != nil && len(*s.ResourceIdScope) < 1 {
20142		invalidParams.Add(request.NewErrParamMinLen("ResourceIdScope", 1))
20143	}
20144	if s.RuleIdentifier == nil {
20145		invalidParams.Add(request.NewErrParamRequired("RuleIdentifier"))
20146	}
20147	if s.RuleIdentifier != nil && len(*s.RuleIdentifier) < 1 {
20148		invalidParams.Add(request.NewErrParamMinLen("RuleIdentifier", 1))
20149	}
20150	if s.TagKeyScope != nil && len(*s.TagKeyScope) < 1 {
20151		invalidParams.Add(request.NewErrParamMinLen("TagKeyScope", 1))
20152	}
20153	if s.TagValueScope != nil && len(*s.TagValueScope) < 1 {
20154		invalidParams.Add(request.NewErrParamMinLen("TagValueScope", 1))
20155	}
20156
20157	if invalidParams.Len() > 0 {
20158		return invalidParams
20159	}
20160	return nil
20161}
20162
20163// SetDescription sets the Description field's value.
20164func (s *OrganizationManagedRuleMetadata) SetDescription(v string) *OrganizationManagedRuleMetadata {
20165	s.Description = &v
20166	return s
20167}
20168
20169// SetInputParameters sets the InputParameters field's value.
20170func (s *OrganizationManagedRuleMetadata) SetInputParameters(v string) *OrganizationManagedRuleMetadata {
20171	s.InputParameters = &v
20172	return s
20173}
20174
20175// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
20176func (s *OrganizationManagedRuleMetadata) SetMaximumExecutionFrequency(v string) *OrganizationManagedRuleMetadata {
20177	s.MaximumExecutionFrequency = &v
20178	return s
20179}
20180
20181// SetResourceIdScope sets the ResourceIdScope field's value.
20182func (s *OrganizationManagedRuleMetadata) SetResourceIdScope(v string) *OrganizationManagedRuleMetadata {
20183	s.ResourceIdScope = &v
20184	return s
20185}
20186
20187// SetResourceTypesScope sets the ResourceTypesScope field's value.
20188func (s *OrganizationManagedRuleMetadata) SetResourceTypesScope(v []*string) *OrganizationManagedRuleMetadata {
20189	s.ResourceTypesScope = v
20190	return s
20191}
20192
20193// SetRuleIdentifier sets the RuleIdentifier field's value.
20194func (s *OrganizationManagedRuleMetadata) SetRuleIdentifier(v string) *OrganizationManagedRuleMetadata {
20195	s.RuleIdentifier = &v
20196	return s
20197}
20198
20199// SetTagKeyScope sets the TagKeyScope field's value.
20200func (s *OrganizationManagedRuleMetadata) SetTagKeyScope(v string) *OrganizationManagedRuleMetadata {
20201	s.TagKeyScope = &v
20202	return s
20203}
20204
20205// SetTagValueScope sets the TagValueScope field's value.
20206func (s *OrganizationManagedRuleMetadata) SetTagValueScope(v string) *OrganizationManagedRuleMetadata {
20207	s.TagValueScope = &v
20208	return s
20209}
20210
20211// Status filter object to filter results based on specific member account ID
20212// or status type for an organization conformance pack.
20213type OrganizationResourceDetailedStatusFilters struct {
20214	_ struct{} `type:"structure"`
20215
20216	// The 12-digit account ID of the member account within an organization.
20217	AccountId *string `type:"string"`
20218
20219	// Indicates deployment status for conformance pack in a member account. When
20220	// master account calls PutOrganizationConformancePack action for the first
20221	// time, conformance pack status is created in the member account. When master
20222	// account calls PutOrganizationConformancePack action for the second time,
20223	// conformance pack status is updated in the member account. Conformance pack
20224	// status is deleted when the master account deletes OrganizationConformancePack
20225	// and disables service access for config-multiaccountsetup.amazonaws.com.
20226	//
20227	// AWS Config sets the state of the conformance pack to:
20228	//
20229	//    * CREATE_SUCCESSFUL when conformance pack has been created in the member
20230	//    account.
20231	//
20232	//    * CREATE_IN_PROGRESS when conformance pack is being created in the member
20233	//    account.
20234	//
20235	//    * CREATE_FAILED when conformance pack creation has failed in the member
20236	//    account.
20237	//
20238	//    * DELETE_FAILED when conformance pack deletion has failed in the member
20239	//    account.
20240	//
20241	//    * DELETE_IN_PROGRESS when conformance pack is being deleted in the member
20242	//    account.
20243	//
20244	//    * DELETE_SUCCESSFUL when conformance pack has been deleted in the member
20245	//    account.
20246	//
20247	//    * UPDATE_SUCCESSFUL when conformance pack has been updated in the member
20248	//    account.
20249	//
20250	//    * UPDATE_IN_PROGRESS when conformance pack is being updated in the member
20251	//    account.
20252	//
20253	//    * UPDATE_FAILED when conformance pack deletion has failed in the member
20254	//    account.
20255	Status *string `type:"string" enum:"OrganizationResourceDetailedStatus"`
20256}
20257
20258// String returns the string representation
20259func (s OrganizationResourceDetailedStatusFilters) String() string {
20260	return awsutil.Prettify(s)
20261}
20262
20263// GoString returns the string representation
20264func (s OrganizationResourceDetailedStatusFilters) GoString() string {
20265	return s.String()
20266}
20267
20268// SetAccountId sets the AccountId field's value.
20269func (s *OrganizationResourceDetailedStatusFilters) SetAccountId(v string) *OrganizationResourceDetailedStatusFilters {
20270	s.AccountId = &v
20271	return s
20272}
20273
20274// SetStatus sets the Status field's value.
20275func (s *OrganizationResourceDetailedStatusFilters) SetStatus(v string) *OrganizationResourceDetailedStatusFilters {
20276	s.Status = &v
20277	return s
20278}
20279
20280// The configuration item size is outside the allowable range.
20281type OversizedConfigurationItemException struct {
20282	_            struct{}                  `type:"structure"`
20283	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20284
20285	Message_ *string `locationName:"message" type:"string"`
20286}
20287
20288// String returns the string representation
20289func (s OversizedConfigurationItemException) String() string {
20290	return awsutil.Prettify(s)
20291}
20292
20293// GoString returns the string representation
20294func (s OversizedConfigurationItemException) GoString() string {
20295	return s.String()
20296}
20297
20298func newErrorOversizedConfigurationItemException(v protocol.ResponseMetadata) error {
20299	return &OversizedConfigurationItemException{
20300		RespMetadata: v,
20301	}
20302}
20303
20304// Code returns the exception type name.
20305func (s *OversizedConfigurationItemException) Code() string {
20306	return "OversizedConfigurationItemException"
20307}
20308
20309// Message returns the exception's message.
20310func (s *OversizedConfigurationItemException) Message() string {
20311	if s.Message_ != nil {
20312		return *s.Message_
20313	}
20314	return ""
20315}
20316
20317// OrigErr always returns nil, satisfies awserr.Error interface.
20318func (s *OversizedConfigurationItemException) OrigErr() error {
20319	return nil
20320}
20321
20322func (s *OversizedConfigurationItemException) Error() string {
20323	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20324}
20325
20326// Status code returns the HTTP status code for the request's response error.
20327func (s *OversizedConfigurationItemException) StatusCode() int {
20328	return s.RespMetadata.StatusCode
20329}
20330
20331// RequestID returns the service's response RequestID for request.
20332func (s *OversizedConfigurationItemException) RequestID() string {
20333	return s.RespMetadata.RequestID
20334}
20335
20336// An object that represents the account ID and region of an aggregator account
20337// that is requesting authorization but is not yet authorized.
20338type PendingAggregationRequest struct {
20339	_ struct{} `type:"structure"`
20340
20341	// The 12-digit account ID of the account requesting to aggregate data.
20342	RequesterAccountId *string `type:"string"`
20343
20344	// The region requesting to aggregate data.
20345	RequesterAwsRegion *string `min:"1" type:"string"`
20346}
20347
20348// String returns the string representation
20349func (s PendingAggregationRequest) String() string {
20350	return awsutil.Prettify(s)
20351}
20352
20353// GoString returns the string representation
20354func (s PendingAggregationRequest) GoString() string {
20355	return s.String()
20356}
20357
20358// SetRequesterAccountId sets the RequesterAccountId field's value.
20359func (s *PendingAggregationRequest) SetRequesterAccountId(v string) *PendingAggregationRequest {
20360	s.RequesterAccountId = &v
20361	return s
20362}
20363
20364// SetRequesterAwsRegion sets the RequesterAwsRegion field's value.
20365func (s *PendingAggregationRequest) SetRequesterAwsRegion(v string) *PendingAggregationRequest {
20366	s.RequesterAwsRegion = &v
20367	return s
20368}
20369
20370type PutAggregationAuthorizationInput struct {
20371	_ struct{} `type:"structure"`
20372
20373	// The 12-digit account ID of the account authorized to aggregate data.
20374	//
20375	// AuthorizedAccountId is a required field
20376	AuthorizedAccountId *string `type:"string" required:"true"`
20377
20378	// The region authorized to collect aggregated data.
20379	//
20380	// AuthorizedAwsRegion is a required field
20381	AuthorizedAwsRegion *string `min:"1" type:"string" required:"true"`
20382
20383	// An array of tag object.
20384	Tags []*Tag `type:"list"`
20385}
20386
20387// String returns the string representation
20388func (s PutAggregationAuthorizationInput) String() string {
20389	return awsutil.Prettify(s)
20390}
20391
20392// GoString returns the string representation
20393func (s PutAggregationAuthorizationInput) GoString() string {
20394	return s.String()
20395}
20396
20397// Validate inspects the fields of the type to determine if they are valid.
20398func (s *PutAggregationAuthorizationInput) Validate() error {
20399	invalidParams := request.ErrInvalidParams{Context: "PutAggregationAuthorizationInput"}
20400	if s.AuthorizedAccountId == nil {
20401		invalidParams.Add(request.NewErrParamRequired("AuthorizedAccountId"))
20402	}
20403	if s.AuthorizedAwsRegion == nil {
20404		invalidParams.Add(request.NewErrParamRequired("AuthorizedAwsRegion"))
20405	}
20406	if s.AuthorizedAwsRegion != nil && len(*s.AuthorizedAwsRegion) < 1 {
20407		invalidParams.Add(request.NewErrParamMinLen("AuthorizedAwsRegion", 1))
20408	}
20409	if s.Tags != nil {
20410		for i, v := range s.Tags {
20411			if v == nil {
20412				continue
20413			}
20414			if err := v.Validate(); err != nil {
20415				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20416			}
20417		}
20418	}
20419
20420	if invalidParams.Len() > 0 {
20421		return invalidParams
20422	}
20423	return nil
20424}
20425
20426// SetAuthorizedAccountId sets the AuthorizedAccountId field's value.
20427func (s *PutAggregationAuthorizationInput) SetAuthorizedAccountId(v string) *PutAggregationAuthorizationInput {
20428	s.AuthorizedAccountId = &v
20429	return s
20430}
20431
20432// SetAuthorizedAwsRegion sets the AuthorizedAwsRegion field's value.
20433func (s *PutAggregationAuthorizationInput) SetAuthorizedAwsRegion(v string) *PutAggregationAuthorizationInput {
20434	s.AuthorizedAwsRegion = &v
20435	return s
20436}
20437
20438// SetTags sets the Tags field's value.
20439func (s *PutAggregationAuthorizationInput) SetTags(v []*Tag) *PutAggregationAuthorizationInput {
20440	s.Tags = v
20441	return s
20442}
20443
20444type PutAggregationAuthorizationOutput struct {
20445	_ struct{} `type:"structure"`
20446
20447	// Returns an AggregationAuthorization object.
20448	AggregationAuthorization *AggregationAuthorization `type:"structure"`
20449}
20450
20451// String returns the string representation
20452func (s PutAggregationAuthorizationOutput) String() string {
20453	return awsutil.Prettify(s)
20454}
20455
20456// GoString returns the string representation
20457func (s PutAggregationAuthorizationOutput) GoString() string {
20458	return s.String()
20459}
20460
20461// SetAggregationAuthorization sets the AggregationAuthorization field's value.
20462func (s *PutAggregationAuthorizationOutput) SetAggregationAuthorization(v *AggregationAuthorization) *PutAggregationAuthorizationOutput {
20463	s.AggregationAuthorization = v
20464	return s
20465}
20466
20467type PutConfigRuleInput struct {
20468	_ struct{} `type:"structure"`
20469
20470	// The rule that you want to add to your account.
20471	//
20472	// ConfigRule is a required field
20473	ConfigRule *ConfigRule `type:"structure" required:"true"`
20474
20475	// An array of tag object.
20476	Tags []*Tag `type:"list"`
20477}
20478
20479// String returns the string representation
20480func (s PutConfigRuleInput) String() string {
20481	return awsutil.Prettify(s)
20482}
20483
20484// GoString returns the string representation
20485func (s PutConfigRuleInput) GoString() string {
20486	return s.String()
20487}
20488
20489// Validate inspects the fields of the type to determine if they are valid.
20490func (s *PutConfigRuleInput) Validate() error {
20491	invalidParams := request.ErrInvalidParams{Context: "PutConfigRuleInput"}
20492	if s.ConfigRule == nil {
20493		invalidParams.Add(request.NewErrParamRequired("ConfigRule"))
20494	}
20495	if s.ConfigRule != nil {
20496		if err := s.ConfigRule.Validate(); err != nil {
20497			invalidParams.AddNested("ConfigRule", err.(request.ErrInvalidParams))
20498		}
20499	}
20500	if s.Tags != nil {
20501		for i, v := range s.Tags {
20502			if v == nil {
20503				continue
20504			}
20505			if err := v.Validate(); err != nil {
20506				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20507			}
20508		}
20509	}
20510
20511	if invalidParams.Len() > 0 {
20512		return invalidParams
20513	}
20514	return nil
20515}
20516
20517// SetConfigRule sets the ConfigRule field's value.
20518func (s *PutConfigRuleInput) SetConfigRule(v *ConfigRule) *PutConfigRuleInput {
20519	s.ConfigRule = v
20520	return s
20521}
20522
20523// SetTags sets the Tags field's value.
20524func (s *PutConfigRuleInput) SetTags(v []*Tag) *PutConfigRuleInput {
20525	s.Tags = v
20526	return s
20527}
20528
20529type PutConfigRuleOutput struct {
20530	_ struct{} `type:"structure"`
20531}
20532
20533// String returns the string representation
20534func (s PutConfigRuleOutput) String() string {
20535	return awsutil.Prettify(s)
20536}
20537
20538// GoString returns the string representation
20539func (s PutConfigRuleOutput) GoString() string {
20540	return s.String()
20541}
20542
20543type PutConfigurationAggregatorInput struct {
20544	_ struct{} `type:"structure"`
20545
20546	// A list of AccountAggregationSource object.
20547	AccountAggregationSources []*AccountAggregationSource `type:"list"`
20548
20549	// The name of the configuration aggregator.
20550	//
20551	// ConfigurationAggregatorName is a required field
20552	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
20553
20554	// An OrganizationAggregationSource object.
20555	OrganizationAggregationSource *OrganizationAggregationSource `type:"structure"`
20556
20557	// An array of tag object.
20558	Tags []*Tag `type:"list"`
20559}
20560
20561// String returns the string representation
20562func (s PutConfigurationAggregatorInput) String() string {
20563	return awsutil.Prettify(s)
20564}
20565
20566// GoString returns the string representation
20567func (s PutConfigurationAggregatorInput) GoString() string {
20568	return s.String()
20569}
20570
20571// Validate inspects the fields of the type to determine if they are valid.
20572func (s *PutConfigurationAggregatorInput) Validate() error {
20573	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationAggregatorInput"}
20574	if s.ConfigurationAggregatorName == nil {
20575		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
20576	}
20577	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
20578		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
20579	}
20580	if s.AccountAggregationSources != nil {
20581		for i, v := range s.AccountAggregationSources {
20582			if v == nil {
20583				continue
20584			}
20585			if err := v.Validate(); err != nil {
20586				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountAggregationSources", i), err.(request.ErrInvalidParams))
20587			}
20588		}
20589	}
20590	if s.OrganizationAggregationSource != nil {
20591		if err := s.OrganizationAggregationSource.Validate(); err != nil {
20592			invalidParams.AddNested("OrganizationAggregationSource", err.(request.ErrInvalidParams))
20593		}
20594	}
20595	if s.Tags != nil {
20596		for i, v := range s.Tags {
20597			if v == nil {
20598				continue
20599			}
20600			if err := v.Validate(); err != nil {
20601				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20602			}
20603		}
20604	}
20605
20606	if invalidParams.Len() > 0 {
20607		return invalidParams
20608	}
20609	return nil
20610}
20611
20612// SetAccountAggregationSources sets the AccountAggregationSources field's value.
20613func (s *PutConfigurationAggregatorInput) SetAccountAggregationSources(v []*AccountAggregationSource) *PutConfigurationAggregatorInput {
20614	s.AccountAggregationSources = v
20615	return s
20616}
20617
20618// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
20619func (s *PutConfigurationAggregatorInput) SetConfigurationAggregatorName(v string) *PutConfigurationAggregatorInput {
20620	s.ConfigurationAggregatorName = &v
20621	return s
20622}
20623
20624// SetOrganizationAggregationSource sets the OrganizationAggregationSource field's value.
20625func (s *PutConfigurationAggregatorInput) SetOrganizationAggregationSource(v *OrganizationAggregationSource) *PutConfigurationAggregatorInput {
20626	s.OrganizationAggregationSource = v
20627	return s
20628}
20629
20630// SetTags sets the Tags field's value.
20631func (s *PutConfigurationAggregatorInput) SetTags(v []*Tag) *PutConfigurationAggregatorInput {
20632	s.Tags = v
20633	return s
20634}
20635
20636type PutConfigurationAggregatorOutput struct {
20637	_ struct{} `type:"structure"`
20638
20639	// Returns a ConfigurationAggregator object.
20640	ConfigurationAggregator *ConfigurationAggregator `type:"structure"`
20641}
20642
20643// String returns the string representation
20644func (s PutConfigurationAggregatorOutput) String() string {
20645	return awsutil.Prettify(s)
20646}
20647
20648// GoString returns the string representation
20649func (s PutConfigurationAggregatorOutput) GoString() string {
20650	return s.String()
20651}
20652
20653// SetConfigurationAggregator sets the ConfigurationAggregator field's value.
20654func (s *PutConfigurationAggregatorOutput) SetConfigurationAggregator(v *ConfigurationAggregator) *PutConfigurationAggregatorOutput {
20655	s.ConfigurationAggregator = v
20656	return s
20657}
20658
20659// The input for the PutConfigurationRecorder action.
20660type PutConfigurationRecorderInput struct {
20661	_ struct{} `type:"structure"`
20662
20663	// The configuration recorder object that records each configuration change
20664	// made to the resources.
20665	//
20666	// ConfigurationRecorder is a required field
20667	ConfigurationRecorder *ConfigurationRecorder `type:"structure" required:"true"`
20668}
20669
20670// String returns the string representation
20671func (s PutConfigurationRecorderInput) String() string {
20672	return awsutil.Prettify(s)
20673}
20674
20675// GoString returns the string representation
20676func (s PutConfigurationRecorderInput) GoString() string {
20677	return s.String()
20678}
20679
20680// Validate inspects the fields of the type to determine if they are valid.
20681func (s *PutConfigurationRecorderInput) Validate() error {
20682	invalidParams := request.ErrInvalidParams{Context: "PutConfigurationRecorderInput"}
20683	if s.ConfigurationRecorder == nil {
20684		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorder"))
20685	}
20686	if s.ConfigurationRecorder != nil {
20687		if err := s.ConfigurationRecorder.Validate(); err != nil {
20688			invalidParams.AddNested("ConfigurationRecorder", err.(request.ErrInvalidParams))
20689		}
20690	}
20691
20692	if invalidParams.Len() > 0 {
20693		return invalidParams
20694	}
20695	return nil
20696}
20697
20698// SetConfigurationRecorder sets the ConfigurationRecorder field's value.
20699func (s *PutConfigurationRecorderInput) SetConfigurationRecorder(v *ConfigurationRecorder) *PutConfigurationRecorderInput {
20700	s.ConfigurationRecorder = v
20701	return s
20702}
20703
20704type PutConfigurationRecorderOutput struct {
20705	_ struct{} `type:"structure"`
20706}
20707
20708// String returns the string representation
20709func (s PutConfigurationRecorderOutput) String() string {
20710	return awsutil.Prettify(s)
20711}
20712
20713// GoString returns the string representation
20714func (s PutConfigurationRecorderOutput) GoString() string {
20715	return s.String()
20716}
20717
20718type PutConformancePackInput struct {
20719	_ struct{} `type:"structure"`
20720
20721	// A list of ConformancePackInputParameter objects.
20722	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
20723
20724	// Name of the conformance pack you want to create.
20725	//
20726	// ConformancePackName is a required field
20727	ConformancePackName *string `min:"1" type:"string" required:"true"`
20728
20729	// AWS Config stores intermediate files while processing conformance pack template.
20730	DeliveryS3Bucket *string `type:"string"`
20731
20732	// The prefix for the Amazon S3 bucket.
20733	DeliveryS3KeyPrefix *string `type:"string"`
20734
20735	// A string containing full conformance pack template body. Structure containing
20736	// the template body with a minimum length of 1 byte and a maximum length of
20737	// 51,200 bytes.
20738	//
20739	// You can only use a YAML template with one resource type, that is, config
20740	// rule and a remediation action.
20741	TemplateBody *string `min:"1" type:"string"`
20742
20743	// Location of file containing the template body (s3://bucketname/prefix). The
20744	// uri must point to the conformance pack template (max size: 300 KB) that is
20745	// located in an Amazon S3 bucket in the same region as the conformance pack.
20746	//
20747	// You must have access to read Amazon S3 bucket.
20748	TemplateS3Uri *string `min:"1" type:"string"`
20749}
20750
20751// String returns the string representation
20752func (s PutConformancePackInput) String() string {
20753	return awsutil.Prettify(s)
20754}
20755
20756// GoString returns the string representation
20757func (s PutConformancePackInput) GoString() string {
20758	return s.String()
20759}
20760
20761// Validate inspects the fields of the type to determine if they are valid.
20762func (s *PutConformancePackInput) Validate() error {
20763	invalidParams := request.ErrInvalidParams{Context: "PutConformancePackInput"}
20764	if s.ConformancePackName == nil {
20765		invalidParams.Add(request.NewErrParamRequired("ConformancePackName"))
20766	}
20767	if s.ConformancePackName != nil && len(*s.ConformancePackName) < 1 {
20768		invalidParams.Add(request.NewErrParamMinLen("ConformancePackName", 1))
20769	}
20770	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
20771		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
20772	}
20773	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
20774		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
20775	}
20776	if s.ConformancePackInputParameters != nil {
20777		for i, v := range s.ConformancePackInputParameters {
20778			if v == nil {
20779				continue
20780			}
20781			if err := v.Validate(); err != nil {
20782				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
20783			}
20784		}
20785	}
20786
20787	if invalidParams.Len() > 0 {
20788		return invalidParams
20789	}
20790	return nil
20791}
20792
20793// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
20794func (s *PutConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutConformancePackInput {
20795	s.ConformancePackInputParameters = v
20796	return s
20797}
20798
20799// SetConformancePackName sets the ConformancePackName field's value.
20800func (s *PutConformancePackInput) SetConformancePackName(v string) *PutConformancePackInput {
20801	s.ConformancePackName = &v
20802	return s
20803}
20804
20805// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
20806func (s *PutConformancePackInput) SetDeliveryS3Bucket(v string) *PutConformancePackInput {
20807	s.DeliveryS3Bucket = &v
20808	return s
20809}
20810
20811// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
20812func (s *PutConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutConformancePackInput {
20813	s.DeliveryS3KeyPrefix = &v
20814	return s
20815}
20816
20817// SetTemplateBody sets the TemplateBody field's value.
20818func (s *PutConformancePackInput) SetTemplateBody(v string) *PutConformancePackInput {
20819	s.TemplateBody = &v
20820	return s
20821}
20822
20823// SetTemplateS3Uri sets the TemplateS3Uri field's value.
20824func (s *PutConformancePackInput) SetTemplateS3Uri(v string) *PutConformancePackInput {
20825	s.TemplateS3Uri = &v
20826	return s
20827}
20828
20829type PutConformancePackOutput struct {
20830	_ struct{} `type:"structure"`
20831
20832	// ARN of the conformance pack.
20833	ConformancePackArn *string `min:"1" type:"string"`
20834}
20835
20836// String returns the string representation
20837func (s PutConformancePackOutput) String() string {
20838	return awsutil.Prettify(s)
20839}
20840
20841// GoString returns the string representation
20842func (s PutConformancePackOutput) GoString() string {
20843	return s.String()
20844}
20845
20846// SetConformancePackArn sets the ConformancePackArn field's value.
20847func (s *PutConformancePackOutput) SetConformancePackArn(v string) *PutConformancePackOutput {
20848	s.ConformancePackArn = &v
20849	return s
20850}
20851
20852// The input for the PutDeliveryChannel action.
20853type PutDeliveryChannelInput struct {
20854	_ struct{} `type:"structure"`
20855
20856	// The configuration delivery channel object that delivers the configuration
20857	// information to an Amazon S3 bucket and to an Amazon SNS topic.
20858	//
20859	// DeliveryChannel is a required field
20860	DeliveryChannel *DeliveryChannel `type:"structure" required:"true"`
20861}
20862
20863// String returns the string representation
20864func (s PutDeliveryChannelInput) String() string {
20865	return awsutil.Prettify(s)
20866}
20867
20868// GoString returns the string representation
20869func (s PutDeliveryChannelInput) GoString() string {
20870	return s.String()
20871}
20872
20873// Validate inspects the fields of the type to determine if they are valid.
20874func (s *PutDeliveryChannelInput) Validate() error {
20875	invalidParams := request.ErrInvalidParams{Context: "PutDeliveryChannelInput"}
20876	if s.DeliveryChannel == nil {
20877		invalidParams.Add(request.NewErrParamRequired("DeliveryChannel"))
20878	}
20879	if s.DeliveryChannel != nil {
20880		if err := s.DeliveryChannel.Validate(); err != nil {
20881			invalidParams.AddNested("DeliveryChannel", err.(request.ErrInvalidParams))
20882		}
20883	}
20884
20885	if invalidParams.Len() > 0 {
20886		return invalidParams
20887	}
20888	return nil
20889}
20890
20891// SetDeliveryChannel sets the DeliveryChannel field's value.
20892func (s *PutDeliveryChannelInput) SetDeliveryChannel(v *DeliveryChannel) *PutDeliveryChannelInput {
20893	s.DeliveryChannel = v
20894	return s
20895}
20896
20897type PutDeliveryChannelOutput struct {
20898	_ struct{} `type:"structure"`
20899}
20900
20901// String returns the string representation
20902func (s PutDeliveryChannelOutput) String() string {
20903	return awsutil.Prettify(s)
20904}
20905
20906// GoString returns the string representation
20907func (s PutDeliveryChannelOutput) GoString() string {
20908	return s.String()
20909}
20910
20911type PutEvaluationsInput struct {
20912	_ struct{} `type:"structure"`
20913
20914	// The assessments that the AWS Lambda function performs. Each evaluation identifies
20915	// an AWS resource and indicates whether it complies with the AWS Config rule
20916	// that invokes the AWS Lambda function.
20917	Evaluations []*Evaluation `type:"list"`
20918
20919	// An encrypted token that associates an evaluation with an AWS Config rule.
20920	// Identifies the rule and the event that triggered the evaluation.
20921	//
20922	// ResultToken is a required field
20923	ResultToken *string `type:"string" required:"true"`
20924
20925	// Use this parameter to specify a test run for PutEvaluations. You can verify
20926	// whether your AWS Lambda function will deliver evaluation results to AWS Config.
20927	// No updates occur to your existing evaluations, and evaluation results are
20928	// not sent to AWS Config.
20929	//
20930	// When TestMode is true, PutEvaluations doesn't require a valid value for the
20931	// ResultToken parameter, but the value cannot be null.
20932	TestMode *bool `type:"boolean"`
20933}
20934
20935// String returns the string representation
20936func (s PutEvaluationsInput) String() string {
20937	return awsutil.Prettify(s)
20938}
20939
20940// GoString returns the string representation
20941func (s PutEvaluationsInput) GoString() string {
20942	return s.String()
20943}
20944
20945// Validate inspects the fields of the type to determine if they are valid.
20946func (s *PutEvaluationsInput) Validate() error {
20947	invalidParams := request.ErrInvalidParams{Context: "PutEvaluationsInput"}
20948	if s.ResultToken == nil {
20949		invalidParams.Add(request.NewErrParamRequired("ResultToken"))
20950	}
20951	if s.Evaluations != nil {
20952		for i, v := range s.Evaluations {
20953			if v == nil {
20954				continue
20955			}
20956			if err := v.Validate(); err != nil {
20957				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Evaluations", i), err.(request.ErrInvalidParams))
20958			}
20959		}
20960	}
20961
20962	if invalidParams.Len() > 0 {
20963		return invalidParams
20964	}
20965	return nil
20966}
20967
20968// SetEvaluations sets the Evaluations field's value.
20969func (s *PutEvaluationsInput) SetEvaluations(v []*Evaluation) *PutEvaluationsInput {
20970	s.Evaluations = v
20971	return s
20972}
20973
20974// SetResultToken sets the ResultToken field's value.
20975func (s *PutEvaluationsInput) SetResultToken(v string) *PutEvaluationsInput {
20976	s.ResultToken = &v
20977	return s
20978}
20979
20980// SetTestMode sets the TestMode field's value.
20981func (s *PutEvaluationsInput) SetTestMode(v bool) *PutEvaluationsInput {
20982	s.TestMode = &v
20983	return s
20984}
20985
20986type PutEvaluationsOutput struct {
20987	_ struct{} `type:"structure"`
20988
20989	// Requests that failed because of a client or server error.
20990	FailedEvaluations []*Evaluation `type:"list"`
20991}
20992
20993// String returns the string representation
20994func (s PutEvaluationsOutput) String() string {
20995	return awsutil.Prettify(s)
20996}
20997
20998// GoString returns the string representation
20999func (s PutEvaluationsOutput) GoString() string {
21000	return s.String()
21001}
21002
21003// SetFailedEvaluations sets the FailedEvaluations field's value.
21004func (s *PutEvaluationsOutput) SetFailedEvaluations(v []*Evaluation) *PutEvaluationsOutput {
21005	s.FailedEvaluations = v
21006	return s
21007}
21008
21009type PutExternalEvaluationInput struct {
21010	_ struct{} `type:"structure"`
21011
21012	// ConfigRuleName is a required field
21013	ConfigRuleName *string `min:"1" type:"string" required:"true"`
21014
21015	// ExternalEvaluation is a required field
21016	ExternalEvaluation *ExternalEvaluation `type:"structure" required:"true"`
21017}
21018
21019// String returns the string representation
21020func (s PutExternalEvaluationInput) String() string {
21021	return awsutil.Prettify(s)
21022}
21023
21024// GoString returns the string representation
21025func (s PutExternalEvaluationInput) GoString() string {
21026	return s.String()
21027}
21028
21029// Validate inspects the fields of the type to determine if they are valid.
21030func (s *PutExternalEvaluationInput) Validate() error {
21031	invalidParams := request.ErrInvalidParams{Context: "PutExternalEvaluationInput"}
21032	if s.ConfigRuleName == nil {
21033		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
21034	}
21035	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
21036		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
21037	}
21038	if s.ExternalEvaluation == nil {
21039		invalidParams.Add(request.NewErrParamRequired("ExternalEvaluation"))
21040	}
21041	if s.ExternalEvaluation != nil {
21042		if err := s.ExternalEvaluation.Validate(); err != nil {
21043			invalidParams.AddNested("ExternalEvaluation", err.(request.ErrInvalidParams))
21044		}
21045	}
21046
21047	if invalidParams.Len() > 0 {
21048		return invalidParams
21049	}
21050	return nil
21051}
21052
21053// SetConfigRuleName sets the ConfigRuleName field's value.
21054func (s *PutExternalEvaluationInput) SetConfigRuleName(v string) *PutExternalEvaluationInput {
21055	s.ConfigRuleName = &v
21056	return s
21057}
21058
21059// SetExternalEvaluation sets the ExternalEvaluation field's value.
21060func (s *PutExternalEvaluationInput) SetExternalEvaluation(v *ExternalEvaluation) *PutExternalEvaluationInput {
21061	s.ExternalEvaluation = v
21062	return s
21063}
21064
21065type PutExternalEvaluationOutput struct {
21066	_ struct{} `type:"structure"`
21067}
21068
21069// String returns the string representation
21070func (s PutExternalEvaluationOutput) String() string {
21071	return awsutil.Prettify(s)
21072}
21073
21074// GoString returns the string representation
21075func (s PutExternalEvaluationOutput) GoString() string {
21076	return s.String()
21077}
21078
21079type PutOrganizationConfigRuleInput struct {
21080	_ struct{} `type:"structure"`
21081
21082	// A comma-separated list of accounts that you want to exclude from an organization
21083	// config rule.
21084	ExcludedAccounts []*string `type:"list"`
21085
21086	// The name that you assign to an organization config rule.
21087	//
21088	// OrganizationConfigRuleName is a required field
21089	OrganizationConfigRuleName *string `min:"1" type:"string" required:"true"`
21090
21091	// An OrganizationCustomRuleMetadata object.
21092	OrganizationCustomRuleMetadata *OrganizationCustomRuleMetadata `type:"structure"`
21093
21094	// An OrganizationManagedRuleMetadata object.
21095	OrganizationManagedRuleMetadata *OrganizationManagedRuleMetadata `type:"structure"`
21096}
21097
21098// String returns the string representation
21099func (s PutOrganizationConfigRuleInput) String() string {
21100	return awsutil.Prettify(s)
21101}
21102
21103// GoString returns the string representation
21104func (s PutOrganizationConfigRuleInput) GoString() string {
21105	return s.String()
21106}
21107
21108// Validate inspects the fields of the type to determine if they are valid.
21109func (s *PutOrganizationConfigRuleInput) Validate() error {
21110	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConfigRuleInput"}
21111	if s.OrganizationConfigRuleName == nil {
21112		invalidParams.Add(request.NewErrParamRequired("OrganizationConfigRuleName"))
21113	}
21114	if s.OrganizationConfigRuleName != nil && len(*s.OrganizationConfigRuleName) < 1 {
21115		invalidParams.Add(request.NewErrParamMinLen("OrganizationConfigRuleName", 1))
21116	}
21117	if s.OrganizationCustomRuleMetadata != nil {
21118		if err := s.OrganizationCustomRuleMetadata.Validate(); err != nil {
21119			invalidParams.AddNested("OrganizationCustomRuleMetadata", err.(request.ErrInvalidParams))
21120		}
21121	}
21122	if s.OrganizationManagedRuleMetadata != nil {
21123		if err := s.OrganizationManagedRuleMetadata.Validate(); err != nil {
21124			invalidParams.AddNested("OrganizationManagedRuleMetadata", err.(request.ErrInvalidParams))
21125		}
21126	}
21127
21128	if invalidParams.Len() > 0 {
21129		return invalidParams
21130	}
21131	return nil
21132}
21133
21134// SetExcludedAccounts sets the ExcludedAccounts field's value.
21135func (s *PutOrganizationConfigRuleInput) SetExcludedAccounts(v []*string) *PutOrganizationConfigRuleInput {
21136	s.ExcludedAccounts = v
21137	return s
21138}
21139
21140// SetOrganizationConfigRuleName sets the OrganizationConfigRuleName field's value.
21141func (s *PutOrganizationConfigRuleInput) SetOrganizationConfigRuleName(v string) *PutOrganizationConfigRuleInput {
21142	s.OrganizationConfigRuleName = &v
21143	return s
21144}
21145
21146// SetOrganizationCustomRuleMetadata sets the OrganizationCustomRuleMetadata field's value.
21147func (s *PutOrganizationConfigRuleInput) SetOrganizationCustomRuleMetadata(v *OrganizationCustomRuleMetadata) *PutOrganizationConfigRuleInput {
21148	s.OrganizationCustomRuleMetadata = v
21149	return s
21150}
21151
21152// SetOrganizationManagedRuleMetadata sets the OrganizationManagedRuleMetadata field's value.
21153func (s *PutOrganizationConfigRuleInput) SetOrganizationManagedRuleMetadata(v *OrganizationManagedRuleMetadata) *PutOrganizationConfigRuleInput {
21154	s.OrganizationManagedRuleMetadata = v
21155	return s
21156}
21157
21158type PutOrganizationConfigRuleOutput struct {
21159	_ struct{} `type:"structure"`
21160
21161	// The Amazon Resource Name (ARN) of an organization config rule.
21162	OrganizationConfigRuleArn *string `min:"1" type:"string"`
21163}
21164
21165// String returns the string representation
21166func (s PutOrganizationConfigRuleOutput) String() string {
21167	return awsutil.Prettify(s)
21168}
21169
21170// GoString returns the string representation
21171func (s PutOrganizationConfigRuleOutput) GoString() string {
21172	return s.String()
21173}
21174
21175// SetOrganizationConfigRuleArn sets the OrganizationConfigRuleArn field's value.
21176func (s *PutOrganizationConfigRuleOutput) SetOrganizationConfigRuleArn(v string) *PutOrganizationConfigRuleOutput {
21177	s.OrganizationConfigRuleArn = &v
21178	return s
21179}
21180
21181type PutOrganizationConformancePackInput struct {
21182	_ struct{} `type:"structure"`
21183
21184	// A list of ConformancePackInputParameter objects.
21185	ConformancePackInputParameters []*ConformancePackInputParameter `type:"list"`
21186
21187	// Location of an Amazon S3 bucket where AWS Config can deliver evaluation results.
21188	// AWS Config stores intermediate files while processing conformance pack template.
21189	//
21190	// The delivery bucket name should start with awsconfigconforms. For example:
21191	// "Resource": "arn:aws:s3:::your_bucket_name/*". For more information, see
21192	// Permissions for cross account bucket access (https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html).
21193	DeliveryS3Bucket *string `type:"string"`
21194
21195	// The prefix for the Amazon S3 bucket.
21196	DeliveryS3KeyPrefix *string `type:"string"`
21197
21198	// A list of AWS accounts to be excluded from an organization conformance pack
21199	// while deploying a conformance pack.
21200	ExcludedAccounts []*string `type:"list"`
21201
21202	// Name of the organization conformance pack you want to create.
21203	//
21204	// OrganizationConformancePackName is a required field
21205	OrganizationConformancePackName *string `min:"1" type:"string" required:"true"`
21206
21207	// A string containing full conformance pack template body. Structure containing
21208	// the template body with a minimum length of 1 byte and a maximum length of
21209	// 51,200 bytes.
21210	TemplateBody *string `min:"1" type:"string"`
21211
21212	// Location of file containing the template body. The uri must point to the
21213	// conformance pack template (max size: 300 KB).
21214	//
21215	// You must have access to read Amazon S3 bucket.
21216	TemplateS3Uri *string `min:"1" type:"string"`
21217}
21218
21219// String returns the string representation
21220func (s PutOrganizationConformancePackInput) String() string {
21221	return awsutil.Prettify(s)
21222}
21223
21224// GoString returns the string representation
21225func (s PutOrganizationConformancePackInput) GoString() string {
21226	return s.String()
21227}
21228
21229// Validate inspects the fields of the type to determine if they are valid.
21230func (s *PutOrganizationConformancePackInput) Validate() error {
21231	invalidParams := request.ErrInvalidParams{Context: "PutOrganizationConformancePackInput"}
21232	if s.OrganizationConformancePackName == nil {
21233		invalidParams.Add(request.NewErrParamRequired("OrganizationConformancePackName"))
21234	}
21235	if s.OrganizationConformancePackName != nil && len(*s.OrganizationConformancePackName) < 1 {
21236		invalidParams.Add(request.NewErrParamMinLen("OrganizationConformancePackName", 1))
21237	}
21238	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
21239		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
21240	}
21241	if s.TemplateS3Uri != nil && len(*s.TemplateS3Uri) < 1 {
21242		invalidParams.Add(request.NewErrParamMinLen("TemplateS3Uri", 1))
21243	}
21244	if s.ConformancePackInputParameters != nil {
21245		for i, v := range s.ConformancePackInputParameters {
21246			if v == nil {
21247				continue
21248			}
21249			if err := v.Validate(); err != nil {
21250				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ConformancePackInputParameters", i), err.(request.ErrInvalidParams))
21251			}
21252		}
21253	}
21254
21255	if invalidParams.Len() > 0 {
21256		return invalidParams
21257	}
21258	return nil
21259}
21260
21261// SetConformancePackInputParameters sets the ConformancePackInputParameters field's value.
21262func (s *PutOrganizationConformancePackInput) SetConformancePackInputParameters(v []*ConformancePackInputParameter) *PutOrganizationConformancePackInput {
21263	s.ConformancePackInputParameters = v
21264	return s
21265}
21266
21267// SetDeliveryS3Bucket sets the DeliveryS3Bucket field's value.
21268func (s *PutOrganizationConformancePackInput) SetDeliveryS3Bucket(v string) *PutOrganizationConformancePackInput {
21269	s.DeliveryS3Bucket = &v
21270	return s
21271}
21272
21273// SetDeliveryS3KeyPrefix sets the DeliveryS3KeyPrefix field's value.
21274func (s *PutOrganizationConformancePackInput) SetDeliveryS3KeyPrefix(v string) *PutOrganizationConformancePackInput {
21275	s.DeliveryS3KeyPrefix = &v
21276	return s
21277}
21278
21279// SetExcludedAccounts sets the ExcludedAccounts field's value.
21280func (s *PutOrganizationConformancePackInput) SetExcludedAccounts(v []*string) *PutOrganizationConformancePackInput {
21281	s.ExcludedAccounts = v
21282	return s
21283}
21284
21285// SetOrganizationConformancePackName sets the OrganizationConformancePackName field's value.
21286func (s *PutOrganizationConformancePackInput) SetOrganizationConformancePackName(v string) *PutOrganizationConformancePackInput {
21287	s.OrganizationConformancePackName = &v
21288	return s
21289}
21290
21291// SetTemplateBody sets the TemplateBody field's value.
21292func (s *PutOrganizationConformancePackInput) SetTemplateBody(v string) *PutOrganizationConformancePackInput {
21293	s.TemplateBody = &v
21294	return s
21295}
21296
21297// SetTemplateS3Uri sets the TemplateS3Uri field's value.
21298func (s *PutOrganizationConformancePackInput) SetTemplateS3Uri(v string) *PutOrganizationConformancePackInput {
21299	s.TemplateS3Uri = &v
21300	return s
21301}
21302
21303type PutOrganizationConformancePackOutput struct {
21304	_ struct{} `type:"structure"`
21305
21306	// ARN of the organization conformance pack.
21307	OrganizationConformancePackArn *string `min:"1" type:"string"`
21308}
21309
21310// String returns the string representation
21311func (s PutOrganizationConformancePackOutput) String() string {
21312	return awsutil.Prettify(s)
21313}
21314
21315// GoString returns the string representation
21316func (s PutOrganizationConformancePackOutput) GoString() string {
21317	return s.String()
21318}
21319
21320// SetOrganizationConformancePackArn sets the OrganizationConformancePackArn field's value.
21321func (s *PutOrganizationConformancePackOutput) SetOrganizationConformancePackArn(v string) *PutOrganizationConformancePackOutput {
21322	s.OrganizationConformancePackArn = &v
21323	return s
21324}
21325
21326type PutRemediationConfigurationsInput struct {
21327	_ struct{} `type:"structure"`
21328
21329	// A list of remediation configuration objects.
21330	//
21331	// RemediationConfigurations is a required field
21332	RemediationConfigurations []*RemediationConfiguration `type:"list" required:"true"`
21333}
21334
21335// String returns the string representation
21336func (s PutRemediationConfigurationsInput) String() string {
21337	return awsutil.Prettify(s)
21338}
21339
21340// GoString returns the string representation
21341func (s PutRemediationConfigurationsInput) GoString() string {
21342	return s.String()
21343}
21344
21345// Validate inspects the fields of the type to determine if they are valid.
21346func (s *PutRemediationConfigurationsInput) Validate() error {
21347	invalidParams := request.ErrInvalidParams{Context: "PutRemediationConfigurationsInput"}
21348	if s.RemediationConfigurations == nil {
21349		invalidParams.Add(request.NewErrParamRequired("RemediationConfigurations"))
21350	}
21351	if s.RemediationConfigurations != nil {
21352		for i, v := range s.RemediationConfigurations {
21353			if v == nil {
21354				continue
21355			}
21356			if err := v.Validate(); err != nil {
21357				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemediationConfigurations", i), err.(request.ErrInvalidParams))
21358			}
21359		}
21360	}
21361
21362	if invalidParams.Len() > 0 {
21363		return invalidParams
21364	}
21365	return nil
21366}
21367
21368// SetRemediationConfigurations sets the RemediationConfigurations field's value.
21369func (s *PutRemediationConfigurationsInput) SetRemediationConfigurations(v []*RemediationConfiguration) *PutRemediationConfigurationsInput {
21370	s.RemediationConfigurations = v
21371	return s
21372}
21373
21374type PutRemediationConfigurationsOutput struct {
21375	_ struct{} `type:"structure"`
21376
21377	// Returns a list of failed remediation batch objects.
21378	FailedBatches []*FailedRemediationBatch `type:"list"`
21379}
21380
21381// String returns the string representation
21382func (s PutRemediationConfigurationsOutput) String() string {
21383	return awsutil.Prettify(s)
21384}
21385
21386// GoString returns the string representation
21387func (s PutRemediationConfigurationsOutput) GoString() string {
21388	return s.String()
21389}
21390
21391// SetFailedBatches sets the FailedBatches field's value.
21392func (s *PutRemediationConfigurationsOutput) SetFailedBatches(v []*FailedRemediationBatch) *PutRemediationConfigurationsOutput {
21393	s.FailedBatches = v
21394	return s
21395}
21396
21397type PutRemediationExceptionsInput struct {
21398	_ struct{} `type:"structure"`
21399
21400	// The name of the AWS Config rule for which you want to create remediation
21401	// exception.
21402	//
21403	// ConfigRuleName is a required field
21404	ConfigRuleName *string `min:"1" type:"string" required:"true"`
21405
21406	// The exception is automatically deleted after the expiration date.
21407	ExpirationTime *time.Time `type:"timestamp"`
21408
21409	// The message contains an explanation of the exception.
21410	Message *string `min:"1" type:"string"`
21411
21412	// An exception list of resource exception keys to be processed with the current
21413	// request. AWS Config adds exception for each resource key. For example, AWS
21414	// Config adds 3 exceptions for 3 resource keys.
21415	//
21416	// ResourceKeys is a required field
21417	ResourceKeys []*RemediationExceptionResourceKey `min:"1" type:"list" required:"true"`
21418}
21419
21420// String returns the string representation
21421func (s PutRemediationExceptionsInput) String() string {
21422	return awsutil.Prettify(s)
21423}
21424
21425// GoString returns the string representation
21426func (s PutRemediationExceptionsInput) GoString() string {
21427	return s.String()
21428}
21429
21430// Validate inspects the fields of the type to determine if they are valid.
21431func (s *PutRemediationExceptionsInput) Validate() error {
21432	invalidParams := request.ErrInvalidParams{Context: "PutRemediationExceptionsInput"}
21433	if s.ConfigRuleName == nil {
21434		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
21435	}
21436	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
21437		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
21438	}
21439	if s.Message != nil && len(*s.Message) < 1 {
21440		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
21441	}
21442	if s.ResourceKeys == nil {
21443		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
21444	}
21445	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
21446		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
21447	}
21448	if s.ResourceKeys != nil {
21449		for i, v := range s.ResourceKeys {
21450			if v == nil {
21451				continue
21452			}
21453			if err := v.Validate(); err != nil {
21454				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
21455			}
21456		}
21457	}
21458
21459	if invalidParams.Len() > 0 {
21460		return invalidParams
21461	}
21462	return nil
21463}
21464
21465// SetConfigRuleName sets the ConfigRuleName field's value.
21466func (s *PutRemediationExceptionsInput) SetConfigRuleName(v string) *PutRemediationExceptionsInput {
21467	s.ConfigRuleName = &v
21468	return s
21469}
21470
21471// SetExpirationTime sets the ExpirationTime field's value.
21472func (s *PutRemediationExceptionsInput) SetExpirationTime(v time.Time) *PutRemediationExceptionsInput {
21473	s.ExpirationTime = &v
21474	return s
21475}
21476
21477// SetMessage sets the Message field's value.
21478func (s *PutRemediationExceptionsInput) SetMessage(v string) *PutRemediationExceptionsInput {
21479	s.Message = &v
21480	return s
21481}
21482
21483// SetResourceKeys sets the ResourceKeys field's value.
21484func (s *PutRemediationExceptionsInput) SetResourceKeys(v []*RemediationExceptionResourceKey) *PutRemediationExceptionsInput {
21485	s.ResourceKeys = v
21486	return s
21487}
21488
21489type PutRemediationExceptionsOutput struct {
21490	_ struct{} `type:"structure"`
21491
21492	// Returns a list of failed remediation exceptions batch objects. Each object
21493	// in the batch consists of a list of failed items and failure messages.
21494	FailedBatches []*FailedRemediationExceptionBatch `type:"list"`
21495}
21496
21497// String returns the string representation
21498func (s PutRemediationExceptionsOutput) String() string {
21499	return awsutil.Prettify(s)
21500}
21501
21502// GoString returns the string representation
21503func (s PutRemediationExceptionsOutput) GoString() string {
21504	return s.String()
21505}
21506
21507// SetFailedBatches sets the FailedBatches field's value.
21508func (s *PutRemediationExceptionsOutput) SetFailedBatches(v []*FailedRemediationExceptionBatch) *PutRemediationExceptionsOutput {
21509	s.FailedBatches = v
21510	return s
21511}
21512
21513type PutResourceConfigInput struct {
21514	_ struct{} `type:"structure"`
21515
21516	// The configuration object of the resource in valid JSON format. It must match
21517	// the schema registered with AWS CloudFormation.
21518	//
21519	// The configuration JSON must not exceed 64 KB.
21520	//
21521	// Configuration is a required field
21522	Configuration *string `type:"string" required:"true"`
21523
21524	// Unique identifier of the resource.
21525	//
21526	// ResourceId is a required field
21527	ResourceId *string `min:"1" type:"string" required:"true"`
21528
21529	// Name of the resource.
21530	ResourceName *string `type:"string"`
21531
21532	// The type of the resource. The custom resource type must be registered with
21533	// AWS CloudFormation.
21534	//
21535	// You cannot use the organization names “aws”, “amzn”, “amazon”,
21536	// “alexa”, “custom” with custom resource types. It is the first part
21537	// of the ResourceType up to the first ::.
21538	//
21539	// ResourceType is a required field
21540	ResourceType *string `min:"1" type:"string" required:"true"`
21541
21542	// Version of the schema registered for the ResourceType in AWS CloudFormation.
21543	//
21544	// SchemaVersionId is a required field
21545	SchemaVersionId *string `min:"1" type:"string" required:"true"`
21546
21547	// Tags associated with the resource.
21548	Tags map[string]*string `type:"map"`
21549}
21550
21551// String returns the string representation
21552func (s PutResourceConfigInput) String() string {
21553	return awsutil.Prettify(s)
21554}
21555
21556// GoString returns the string representation
21557func (s PutResourceConfigInput) GoString() string {
21558	return s.String()
21559}
21560
21561// Validate inspects the fields of the type to determine if they are valid.
21562func (s *PutResourceConfigInput) Validate() error {
21563	invalidParams := request.ErrInvalidParams{Context: "PutResourceConfigInput"}
21564	if s.Configuration == nil {
21565		invalidParams.Add(request.NewErrParamRequired("Configuration"))
21566	}
21567	if s.ResourceId == nil {
21568		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
21569	}
21570	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
21571		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
21572	}
21573	if s.ResourceType == nil {
21574		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
21575	}
21576	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
21577		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
21578	}
21579	if s.SchemaVersionId == nil {
21580		invalidParams.Add(request.NewErrParamRequired("SchemaVersionId"))
21581	}
21582	if s.SchemaVersionId != nil && len(*s.SchemaVersionId) < 1 {
21583		invalidParams.Add(request.NewErrParamMinLen("SchemaVersionId", 1))
21584	}
21585
21586	if invalidParams.Len() > 0 {
21587		return invalidParams
21588	}
21589	return nil
21590}
21591
21592// SetConfiguration sets the Configuration field's value.
21593func (s *PutResourceConfigInput) SetConfiguration(v string) *PutResourceConfigInput {
21594	s.Configuration = &v
21595	return s
21596}
21597
21598// SetResourceId sets the ResourceId field's value.
21599func (s *PutResourceConfigInput) SetResourceId(v string) *PutResourceConfigInput {
21600	s.ResourceId = &v
21601	return s
21602}
21603
21604// SetResourceName sets the ResourceName field's value.
21605func (s *PutResourceConfigInput) SetResourceName(v string) *PutResourceConfigInput {
21606	s.ResourceName = &v
21607	return s
21608}
21609
21610// SetResourceType sets the ResourceType field's value.
21611func (s *PutResourceConfigInput) SetResourceType(v string) *PutResourceConfigInput {
21612	s.ResourceType = &v
21613	return s
21614}
21615
21616// SetSchemaVersionId sets the SchemaVersionId field's value.
21617func (s *PutResourceConfigInput) SetSchemaVersionId(v string) *PutResourceConfigInput {
21618	s.SchemaVersionId = &v
21619	return s
21620}
21621
21622// SetTags sets the Tags field's value.
21623func (s *PutResourceConfigInput) SetTags(v map[string]*string) *PutResourceConfigInput {
21624	s.Tags = v
21625	return s
21626}
21627
21628type PutResourceConfigOutput struct {
21629	_ struct{} `type:"structure"`
21630}
21631
21632// String returns the string representation
21633func (s PutResourceConfigOutput) String() string {
21634	return awsutil.Prettify(s)
21635}
21636
21637// GoString returns the string representation
21638func (s PutResourceConfigOutput) GoString() string {
21639	return s.String()
21640}
21641
21642type PutRetentionConfigurationInput struct {
21643	_ struct{} `type:"structure"`
21644
21645	// Number of days AWS Config stores your historical information.
21646	//
21647	// Currently, only applicable to the configuration item history.
21648	//
21649	// RetentionPeriodInDays is a required field
21650	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
21651}
21652
21653// String returns the string representation
21654func (s PutRetentionConfigurationInput) String() string {
21655	return awsutil.Prettify(s)
21656}
21657
21658// GoString returns the string representation
21659func (s PutRetentionConfigurationInput) GoString() string {
21660	return s.String()
21661}
21662
21663// Validate inspects the fields of the type to determine if they are valid.
21664func (s *PutRetentionConfigurationInput) Validate() error {
21665	invalidParams := request.ErrInvalidParams{Context: "PutRetentionConfigurationInput"}
21666	if s.RetentionPeriodInDays == nil {
21667		invalidParams.Add(request.NewErrParamRequired("RetentionPeriodInDays"))
21668	}
21669	if s.RetentionPeriodInDays != nil && *s.RetentionPeriodInDays < 30 {
21670		invalidParams.Add(request.NewErrParamMinValue("RetentionPeriodInDays", 30))
21671	}
21672
21673	if invalidParams.Len() > 0 {
21674		return invalidParams
21675	}
21676	return nil
21677}
21678
21679// SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
21680func (s *PutRetentionConfigurationInput) SetRetentionPeriodInDays(v int64) *PutRetentionConfigurationInput {
21681	s.RetentionPeriodInDays = &v
21682	return s
21683}
21684
21685type PutRetentionConfigurationOutput struct {
21686	_ struct{} `type:"structure"`
21687
21688	// Returns a retention configuration object.
21689	RetentionConfiguration *RetentionConfiguration `type:"structure"`
21690}
21691
21692// String returns the string representation
21693func (s PutRetentionConfigurationOutput) String() string {
21694	return awsutil.Prettify(s)
21695}
21696
21697// GoString returns the string representation
21698func (s PutRetentionConfigurationOutput) GoString() string {
21699	return s.String()
21700}
21701
21702// SetRetentionConfiguration sets the RetentionConfiguration field's value.
21703func (s *PutRetentionConfigurationOutput) SetRetentionConfiguration(v *RetentionConfiguration) *PutRetentionConfigurationOutput {
21704	s.RetentionConfiguration = v
21705	return s
21706}
21707
21708type PutStoredQueryInput struct {
21709	_ struct{} `type:"structure"`
21710
21711	// A list of StoredQuery objects. The mandatory fields are QueryName and Expression.
21712	//
21713	// StoredQuery is a required field
21714	StoredQuery *StoredQuery `type:"structure" required:"true"`
21715
21716	// A list of Tags object.
21717	Tags []*Tag `type:"list"`
21718}
21719
21720// String returns the string representation
21721func (s PutStoredQueryInput) String() string {
21722	return awsutil.Prettify(s)
21723}
21724
21725// GoString returns the string representation
21726func (s PutStoredQueryInput) GoString() string {
21727	return s.String()
21728}
21729
21730// Validate inspects the fields of the type to determine if they are valid.
21731func (s *PutStoredQueryInput) Validate() error {
21732	invalidParams := request.ErrInvalidParams{Context: "PutStoredQueryInput"}
21733	if s.StoredQuery == nil {
21734		invalidParams.Add(request.NewErrParamRequired("StoredQuery"))
21735	}
21736	if s.StoredQuery != nil {
21737		if err := s.StoredQuery.Validate(); err != nil {
21738			invalidParams.AddNested("StoredQuery", err.(request.ErrInvalidParams))
21739		}
21740	}
21741	if s.Tags != nil {
21742		for i, v := range s.Tags {
21743			if v == nil {
21744				continue
21745			}
21746			if err := v.Validate(); err != nil {
21747				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21748			}
21749		}
21750	}
21751
21752	if invalidParams.Len() > 0 {
21753		return invalidParams
21754	}
21755	return nil
21756}
21757
21758// SetStoredQuery sets the StoredQuery field's value.
21759func (s *PutStoredQueryInput) SetStoredQuery(v *StoredQuery) *PutStoredQueryInput {
21760	s.StoredQuery = v
21761	return s
21762}
21763
21764// SetTags sets the Tags field's value.
21765func (s *PutStoredQueryInput) SetTags(v []*Tag) *PutStoredQueryInput {
21766	s.Tags = v
21767	return s
21768}
21769
21770type PutStoredQueryOutput struct {
21771	_ struct{} `type:"structure"`
21772
21773	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.
21774	QueryArn *string `min:"1" type:"string"`
21775}
21776
21777// String returns the string representation
21778func (s PutStoredQueryOutput) String() string {
21779	return awsutil.Prettify(s)
21780}
21781
21782// GoString returns the string representation
21783func (s PutStoredQueryOutput) GoString() string {
21784	return s.String()
21785}
21786
21787// SetQueryArn sets the QueryArn field's value.
21788func (s *PutStoredQueryOutput) SetQueryArn(v string) *PutStoredQueryOutput {
21789	s.QueryArn = &v
21790	return s
21791}
21792
21793// Details about the query.
21794type QueryInfo struct {
21795	_ struct{} `type:"structure"`
21796
21797	// Returns a FieldInfo object.
21798	SelectFields []*FieldInfo `type:"list"`
21799}
21800
21801// String returns the string representation
21802func (s QueryInfo) String() string {
21803	return awsutil.Prettify(s)
21804}
21805
21806// GoString returns the string representation
21807func (s QueryInfo) GoString() string {
21808	return s.String()
21809}
21810
21811// SetSelectFields sets the SelectFields field's value.
21812func (s *QueryInfo) SetSelectFields(v []*FieldInfo) *QueryInfo {
21813	s.SelectFields = v
21814	return s
21815}
21816
21817// Specifies the types of AWS resource for which AWS Config records configuration
21818// changes.
21819//
21820// In the recording group, you specify whether all supported types or specific
21821// types of resources are recorded.
21822//
21823// By default, AWS Config records configuration changes for all supported types
21824// of regional resources that AWS Config discovers in the region in which it
21825// is running. Regional resources are tied to a region and can be used only
21826// in that region. Examples of regional resources are EC2 instances and EBS
21827// volumes.
21828//
21829// You can also have AWS Config record configuration changes for supported types
21830// of global resources (for example, IAM resources). Global resources are not
21831// tied to an individual region and can be used in all regions.
21832//
21833// The configuration details for any global resource are the same in all regions.
21834// If you customize AWS Config in multiple regions to record global resources,
21835// it will create multiple configuration items each time a global resource changes:
21836// one configuration item for each region. These configuration items will contain
21837// identical data. To prevent duplicate configuration items, you should consider
21838// customizing AWS Config in only one region to record global resources, unless
21839// you want the configuration items to be available in multiple regions.
21840//
21841// If you don't want AWS Config to record all resources, you can specify which
21842// types of resources it will record with the resourceTypes parameter.
21843//
21844// 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).
21845//
21846// For more information, see Selecting Which Resources AWS Config Records (https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
21847type RecordingGroup struct {
21848	_ struct{} `type:"structure"`
21849
21850	// Specifies whether AWS Config records configuration changes for every supported
21851	// type of regional resource.
21852	//
21853	// If you set this option to true, when AWS Config adds support for a new type
21854	// of regional resource, it starts recording resources of that type automatically.
21855	//
21856	// If you set this option to true, you cannot enumerate a list of resourceTypes.
21857	AllSupported *bool `locationName:"allSupported" type:"boolean"`
21858
21859	// Specifies whether AWS Config includes all supported types of global resources
21860	// (for example, IAM resources) with the resources that it records.
21861	//
21862	// Before you can set this option to true, you must set the allSupported option
21863	// to true.
21864	//
21865	// If you set this option to true, when AWS Config adds support for a new type
21866	// of global resource, it starts recording resources of that type automatically.
21867	//
21868	// The configuration details for any global resource are the same in all regions.
21869	// To prevent duplicate configuration items, you should consider customizing
21870	// AWS Config in only one region to record global resources.
21871	IncludeGlobalResourceTypes *bool `locationName:"includeGlobalResourceTypes" type:"boolean"`
21872
21873	// A comma-separated list that specifies the types of AWS resources for which
21874	// AWS Config records configuration changes (for example, AWS::EC2::Instance
21875	// or AWS::CloudTrail::Trail).
21876	//
21877	// Before you can set this option to true, you must set the allSupported option
21878	// to false.
21879	//
21880	// If you set this option to true, when AWS Config adds support for a new type
21881	// of resource, it will not record resources of that type unless you manually
21882	// add that type to your recording group.
21883	//
21884	// For a list of valid resourceTypes values, see the resourceType Value column
21885	// in Supported AWS Resource Types (https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
21886	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
21887}
21888
21889// String returns the string representation
21890func (s RecordingGroup) String() string {
21891	return awsutil.Prettify(s)
21892}
21893
21894// GoString returns the string representation
21895func (s RecordingGroup) GoString() string {
21896	return s.String()
21897}
21898
21899// SetAllSupported sets the AllSupported field's value.
21900func (s *RecordingGroup) SetAllSupported(v bool) *RecordingGroup {
21901	s.AllSupported = &v
21902	return s
21903}
21904
21905// SetIncludeGlobalResourceTypes sets the IncludeGlobalResourceTypes field's value.
21906func (s *RecordingGroup) SetIncludeGlobalResourceTypes(v bool) *RecordingGroup {
21907	s.IncludeGlobalResourceTypes = &v
21908	return s
21909}
21910
21911// SetResourceTypes sets the ResourceTypes field's value.
21912func (s *RecordingGroup) SetResourceTypes(v []*string) *RecordingGroup {
21913	s.ResourceTypes = v
21914	return s
21915}
21916
21917// The relationship of the related resource to the main resource.
21918type Relationship struct {
21919	_ struct{} `type:"structure"`
21920
21921	// The type of relationship with the related resource.
21922	RelationshipName *string `locationName:"relationshipName" type:"string"`
21923
21924	// The ID of the related resource (for example, sg-xxxxxx).
21925	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
21926
21927	// The custom name of the related resource, if available.
21928	ResourceName *string `locationName:"resourceName" type:"string"`
21929
21930	// The resource type of the related resource.
21931	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
21932}
21933
21934// String returns the string representation
21935func (s Relationship) String() string {
21936	return awsutil.Prettify(s)
21937}
21938
21939// GoString returns the string representation
21940func (s Relationship) GoString() string {
21941	return s.String()
21942}
21943
21944// SetRelationshipName sets the RelationshipName field's value.
21945func (s *Relationship) SetRelationshipName(v string) *Relationship {
21946	s.RelationshipName = &v
21947	return s
21948}
21949
21950// SetResourceId sets the ResourceId field's value.
21951func (s *Relationship) SetResourceId(v string) *Relationship {
21952	s.ResourceId = &v
21953	return s
21954}
21955
21956// SetResourceName sets the ResourceName field's value.
21957func (s *Relationship) SetResourceName(v string) *Relationship {
21958	s.ResourceName = &v
21959	return s
21960}
21961
21962// SetResourceType sets the ResourceType field's value.
21963func (s *Relationship) SetResourceType(v string) *Relationship {
21964	s.ResourceType = &v
21965	return s
21966}
21967
21968// An object that represents the details about the remediation configuration
21969// that includes the remediation action, parameters, and data to execute the
21970// action.
21971type RemediationConfiguration struct {
21972	_ struct{} `type:"structure"`
21973
21974	// Amazon Resource Name (ARN) of remediation configuration.
21975	Arn *string `min:"1" type:"string"`
21976
21977	// The remediation is triggered automatically.
21978	Automatic *bool `type:"boolean"`
21979
21980	// The name of the AWS Config rule.
21981	//
21982	// ConfigRuleName is a required field
21983	ConfigRuleName *string `min:"1" type:"string" required:"true"`
21984
21985	// Name of the service that owns the service linked rule, if applicable.
21986	CreatedByService *string `min:"1" type:"string"`
21987
21988	// An ExecutionControls object.
21989	ExecutionControls *ExecutionControls `type:"structure"`
21990
21991	// The maximum number of failed attempts for auto-remediation. If you do not
21992	// select a number, the default is 5.
21993	//
21994	// For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds
21995	// as 50 seconds, AWS Config will put a RemediationException on your behalf
21996	// for the failing resource after the 5th failed attempt within 50 seconds.
21997	MaximumAutomaticAttempts *int64 `min:"1" type:"integer"`
21998
21999	// An object of the RemediationParameterValue.
22000	Parameters map[string]*RemediationParameterValue `type:"map"`
22001
22002	// The type of a resource.
22003	ResourceType *string `type:"string"`
22004
22005	// Maximum time in seconds that AWS Config runs auto-remediation. If you do
22006	// not select a number, the default is 60 seconds.
22007	//
22008	// For example, if you specify RetryAttemptSeconds as 50 seconds and MaximumAutomaticAttempts
22009	// as 5, AWS Config will run auto-remediations 5 times within 50 seconds before
22010	// throwing an exception.
22011	RetryAttemptSeconds *int64 `min:"1" type:"long"`
22012
22013	// Target ID is the name of the public document.
22014	//
22015	// TargetId is a required field
22016	TargetId *string `min:"1" type:"string" required:"true"`
22017
22018	// The type of the target. Target executes remediation. For example, SSM document.
22019	//
22020	// TargetType is a required field
22021	TargetType *string `type:"string" required:"true" enum:"RemediationTargetType"`
22022
22023	// Version of the target. For example, version of the SSM document.
22024	//
22025	// If you make backward incompatible changes to the SSM document, you must call
22026	// PutRemediationConfiguration API again to ensure the remediations can run.
22027	TargetVersion *string `type:"string"`
22028}
22029
22030// String returns the string representation
22031func (s RemediationConfiguration) String() string {
22032	return awsutil.Prettify(s)
22033}
22034
22035// GoString returns the string representation
22036func (s RemediationConfiguration) GoString() string {
22037	return s.String()
22038}
22039
22040// Validate inspects the fields of the type to determine if they are valid.
22041func (s *RemediationConfiguration) Validate() error {
22042	invalidParams := request.ErrInvalidParams{Context: "RemediationConfiguration"}
22043	if s.Arn != nil && len(*s.Arn) < 1 {
22044		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
22045	}
22046	if s.ConfigRuleName == nil {
22047		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
22048	}
22049	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
22050		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
22051	}
22052	if s.CreatedByService != nil && len(*s.CreatedByService) < 1 {
22053		invalidParams.Add(request.NewErrParamMinLen("CreatedByService", 1))
22054	}
22055	if s.MaximumAutomaticAttempts != nil && *s.MaximumAutomaticAttempts < 1 {
22056		invalidParams.Add(request.NewErrParamMinValue("MaximumAutomaticAttempts", 1))
22057	}
22058	if s.RetryAttemptSeconds != nil && *s.RetryAttemptSeconds < 1 {
22059		invalidParams.Add(request.NewErrParamMinValue("RetryAttemptSeconds", 1))
22060	}
22061	if s.TargetId == nil {
22062		invalidParams.Add(request.NewErrParamRequired("TargetId"))
22063	}
22064	if s.TargetId != nil && len(*s.TargetId) < 1 {
22065		invalidParams.Add(request.NewErrParamMinLen("TargetId", 1))
22066	}
22067	if s.TargetType == nil {
22068		invalidParams.Add(request.NewErrParamRequired("TargetType"))
22069	}
22070	if s.ExecutionControls != nil {
22071		if err := s.ExecutionControls.Validate(); err != nil {
22072			invalidParams.AddNested("ExecutionControls", err.(request.ErrInvalidParams))
22073		}
22074	}
22075	if s.Parameters != nil {
22076		for i, v := range s.Parameters {
22077			if v == nil {
22078				continue
22079			}
22080			if err := v.Validate(); err != nil {
22081				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams))
22082			}
22083		}
22084	}
22085
22086	if invalidParams.Len() > 0 {
22087		return invalidParams
22088	}
22089	return nil
22090}
22091
22092// SetArn sets the Arn field's value.
22093func (s *RemediationConfiguration) SetArn(v string) *RemediationConfiguration {
22094	s.Arn = &v
22095	return s
22096}
22097
22098// SetAutomatic sets the Automatic field's value.
22099func (s *RemediationConfiguration) SetAutomatic(v bool) *RemediationConfiguration {
22100	s.Automatic = &v
22101	return s
22102}
22103
22104// SetConfigRuleName sets the ConfigRuleName field's value.
22105func (s *RemediationConfiguration) SetConfigRuleName(v string) *RemediationConfiguration {
22106	s.ConfigRuleName = &v
22107	return s
22108}
22109
22110// SetCreatedByService sets the CreatedByService field's value.
22111func (s *RemediationConfiguration) SetCreatedByService(v string) *RemediationConfiguration {
22112	s.CreatedByService = &v
22113	return s
22114}
22115
22116// SetExecutionControls sets the ExecutionControls field's value.
22117func (s *RemediationConfiguration) SetExecutionControls(v *ExecutionControls) *RemediationConfiguration {
22118	s.ExecutionControls = v
22119	return s
22120}
22121
22122// SetMaximumAutomaticAttempts sets the MaximumAutomaticAttempts field's value.
22123func (s *RemediationConfiguration) SetMaximumAutomaticAttempts(v int64) *RemediationConfiguration {
22124	s.MaximumAutomaticAttempts = &v
22125	return s
22126}
22127
22128// SetParameters sets the Parameters field's value.
22129func (s *RemediationConfiguration) SetParameters(v map[string]*RemediationParameterValue) *RemediationConfiguration {
22130	s.Parameters = v
22131	return s
22132}
22133
22134// SetResourceType sets the ResourceType field's value.
22135func (s *RemediationConfiguration) SetResourceType(v string) *RemediationConfiguration {
22136	s.ResourceType = &v
22137	return s
22138}
22139
22140// SetRetryAttemptSeconds sets the RetryAttemptSeconds field's value.
22141func (s *RemediationConfiguration) SetRetryAttemptSeconds(v int64) *RemediationConfiguration {
22142	s.RetryAttemptSeconds = &v
22143	return s
22144}
22145
22146// SetTargetId sets the TargetId field's value.
22147func (s *RemediationConfiguration) SetTargetId(v string) *RemediationConfiguration {
22148	s.TargetId = &v
22149	return s
22150}
22151
22152// SetTargetType sets the TargetType field's value.
22153func (s *RemediationConfiguration) SetTargetType(v string) *RemediationConfiguration {
22154	s.TargetType = &v
22155	return s
22156}
22157
22158// SetTargetVersion sets the TargetVersion field's value.
22159func (s *RemediationConfiguration) SetTargetVersion(v string) *RemediationConfiguration {
22160	s.TargetVersion = &v
22161	return s
22162}
22163
22164// An object that represents the details about the remediation exception. The
22165// details include the rule name, an explanation of an exception, the time when
22166// the exception will be deleted, the resource ID, and resource type.
22167type RemediationException struct {
22168	_ struct{} `type:"structure"`
22169
22170	// The name of the AWS Config rule.
22171	//
22172	// ConfigRuleName is a required field
22173	ConfigRuleName *string `min:"1" type:"string" required:"true"`
22174
22175	// The time when the remediation exception will be deleted.
22176	ExpirationTime *time.Time `type:"timestamp"`
22177
22178	// An explanation of an remediation exception.
22179	Message *string `min:"1" type:"string"`
22180
22181	// The ID of the resource (for example., sg-xxxxxx).
22182	//
22183	// ResourceId is a required field
22184	ResourceId *string `min:"1" type:"string" required:"true"`
22185
22186	// The type of a resource.
22187	//
22188	// ResourceType is a required field
22189	ResourceType *string `min:"1" type:"string" required:"true"`
22190}
22191
22192// String returns the string representation
22193func (s RemediationException) String() string {
22194	return awsutil.Prettify(s)
22195}
22196
22197// GoString returns the string representation
22198func (s RemediationException) GoString() string {
22199	return s.String()
22200}
22201
22202// SetConfigRuleName sets the ConfigRuleName field's value.
22203func (s *RemediationException) SetConfigRuleName(v string) *RemediationException {
22204	s.ConfigRuleName = &v
22205	return s
22206}
22207
22208// SetExpirationTime sets the ExpirationTime field's value.
22209func (s *RemediationException) SetExpirationTime(v time.Time) *RemediationException {
22210	s.ExpirationTime = &v
22211	return s
22212}
22213
22214// SetMessage sets the Message field's value.
22215func (s *RemediationException) SetMessage(v string) *RemediationException {
22216	s.Message = &v
22217	return s
22218}
22219
22220// SetResourceId sets the ResourceId field's value.
22221func (s *RemediationException) SetResourceId(v string) *RemediationException {
22222	s.ResourceId = &v
22223	return s
22224}
22225
22226// SetResourceType sets the ResourceType field's value.
22227func (s *RemediationException) SetResourceType(v string) *RemediationException {
22228	s.ResourceType = &v
22229	return s
22230}
22231
22232// The details that identify a resource within AWS Config, including the resource
22233// type and resource ID.
22234type RemediationExceptionResourceKey struct {
22235	_ struct{} `type:"structure"`
22236
22237	// The ID of the resource (for example., sg-xxxxxx).
22238	ResourceId *string `min:"1" type:"string"`
22239
22240	// The type of a resource.
22241	ResourceType *string `min:"1" type:"string"`
22242}
22243
22244// String returns the string representation
22245func (s RemediationExceptionResourceKey) String() string {
22246	return awsutil.Prettify(s)
22247}
22248
22249// GoString returns the string representation
22250func (s RemediationExceptionResourceKey) GoString() string {
22251	return s.String()
22252}
22253
22254// Validate inspects the fields of the type to determine if they are valid.
22255func (s *RemediationExceptionResourceKey) Validate() error {
22256	invalidParams := request.ErrInvalidParams{Context: "RemediationExceptionResourceKey"}
22257	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
22258		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
22259	}
22260	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
22261		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
22262	}
22263
22264	if invalidParams.Len() > 0 {
22265		return invalidParams
22266	}
22267	return nil
22268}
22269
22270// SetResourceId sets the ResourceId field's value.
22271func (s *RemediationExceptionResourceKey) SetResourceId(v string) *RemediationExceptionResourceKey {
22272	s.ResourceId = &v
22273	return s
22274}
22275
22276// SetResourceType sets the ResourceType field's value.
22277func (s *RemediationExceptionResourceKey) SetResourceType(v string) *RemediationExceptionResourceKey {
22278	s.ResourceType = &v
22279	return s
22280}
22281
22282// Provides details of the current status of the invoked remediation action
22283// for that resource.
22284type RemediationExecutionStatus struct {
22285	_ struct{} `type:"structure"`
22286
22287	// Start time when the remediation was executed.
22288	InvocationTime *time.Time `type:"timestamp"`
22289
22290	// The time when the remediation execution was last updated.
22291	LastUpdatedTime *time.Time `type:"timestamp"`
22292
22293	// The details that identify a resource within AWS Config, including the resource
22294	// type and resource ID.
22295	ResourceKey *ResourceKey `type:"structure"`
22296
22297	// ENUM of the values.
22298	State *string `type:"string" enum:"RemediationExecutionState"`
22299
22300	// Details of every step.
22301	StepDetails []*RemediationExecutionStep `type:"list"`
22302}
22303
22304// String returns the string representation
22305func (s RemediationExecutionStatus) String() string {
22306	return awsutil.Prettify(s)
22307}
22308
22309// GoString returns the string representation
22310func (s RemediationExecutionStatus) GoString() string {
22311	return s.String()
22312}
22313
22314// SetInvocationTime sets the InvocationTime field's value.
22315func (s *RemediationExecutionStatus) SetInvocationTime(v time.Time) *RemediationExecutionStatus {
22316	s.InvocationTime = &v
22317	return s
22318}
22319
22320// SetLastUpdatedTime sets the LastUpdatedTime field's value.
22321func (s *RemediationExecutionStatus) SetLastUpdatedTime(v time.Time) *RemediationExecutionStatus {
22322	s.LastUpdatedTime = &v
22323	return s
22324}
22325
22326// SetResourceKey sets the ResourceKey field's value.
22327func (s *RemediationExecutionStatus) SetResourceKey(v *ResourceKey) *RemediationExecutionStatus {
22328	s.ResourceKey = v
22329	return s
22330}
22331
22332// SetState sets the State field's value.
22333func (s *RemediationExecutionStatus) SetState(v string) *RemediationExecutionStatus {
22334	s.State = &v
22335	return s
22336}
22337
22338// SetStepDetails sets the StepDetails field's value.
22339func (s *RemediationExecutionStatus) SetStepDetails(v []*RemediationExecutionStep) *RemediationExecutionStatus {
22340	s.StepDetails = v
22341	return s
22342}
22343
22344// Name of the step from the SSM document.
22345type RemediationExecutionStep struct {
22346	_ struct{} `type:"structure"`
22347
22348	// An error message if the step was interrupted during execution.
22349	ErrorMessage *string `type:"string"`
22350
22351	// The details of the step.
22352	Name *string `type:"string"`
22353
22354	// The time when the step started.
22355	StartTime *time.Time `type:"timestamp"`
22356
22357	// The valid status of the step.
22358	State *string `type:"string" enum:"RemediationExecutionStepState"`
22359
22360	// The time when the step stopped.
22361	StopTime *time.Time `type:"timestamp"`
22362}
22363
22364// String returns the string representation
22365func (s RemediationExecutionStep) String() string {
22366	return awsutil.Prettify(s)
22367}
22368
22369// GoString returns the string representation
22370func (s RemediationExecutionStep) GoString() string {
22371	return s.String()
22372}
22373
22374// SetErrorMessage sets the ErrorMessage field's value.
22375func (s *RemediationExecutionStep) SetErrorMessage(v string) *RemediationExecutionStep {
22376	s.ErrorMessage = &v
22377	return s
22378}
22379
22380// SetName sets the Name field's value.
22381func (s *RemediationExecutionStep) SetName(v string) *RemediationExecutionStep {
22382	s.Name = &v
22383	return s
22384}
22385
22386// SetStartTime sets the StartTime field's value.
22387func (s *RemediationExecutionStep) SetStartTime(v time.Time) *RemediationExecutionStep {
22388	s.StartTime = &v
22389	return s
22390}
22391
22392// SetState sets the State field's value.
22393func (s *RemediationExecutionStep) SetState(v string) *RemediationExecutionStep {
22394	s.State = &v
22395	return s
22396}
22397
22398// SetStopTime sets the StopTime field's value.
22399func (s *RemediationExecutionStep) SetStopTime(v time.Time) *RemediationExecutionStep {
22400	s.StopTime = &v
22401	return s
22402}
22403
22404// Remediation action is in progress. You can either cancel execution in AWS
22405// Systems Manager or wait and try again later.
22406type RemediationInProgressException struct {
22407	_            struct{}                  `type:"structure"`
22408	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22409
22410	Message_ *string `locationName:"message" type:"string"`
22411}
22412
22413// String returns the string representation
22414func (s RemediationInProgressException) String() string {
22415	return awsutil.Prettify(s)
22416}
22417
22418// GoString returns the string representation
22419func (s RemediationInProgressException) GoString() string {
22420	return s.String()
22421}
22422
22423func newErrorRemediationInProgressException(v protocol.ResponseMetadata) error {
22424	return &RemediationInProgressException{
22425		RespMetadata: v,
22426	}
22427}
22428
22429// Code returns the exception type name.
22430func (s *RemediationInProgressException) Code() string {
22431	return "RemediationInProgressException"
22432}
22433
22434// Message returns the exception's message.
22435func (s *RemediationInProgressException) Message() string {
22436	if s.Message_ != nil {
22437		return *s.Message_
22438	}
22439	return ""
22440}
22441
22442// OrigErr always returns nil, satisfies awserr.Error interface.
22443func (s *RemediationInProgressException) OrigErr() error {
22444	return nil
22445}
22446
22447func (s *RemediationInProgressException) Error() string {
22448	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22449}
22450
22451// Status code returns the HTTP status code for the request's response error.
22452func (s *RemediationInProgressException) StatusCode() int {
22453	return s.RespMetadata.StatusCode
22454}
22455
22456// RequestID returns the service's response RequestID for request.
22457func (s *RemediationInProgressException) RequestID() string {
22458	return s.RespMetadata.RequestID
22459}
22460
22461// The value is either a dynamic (resource) value or a static value. You must
22462// select either a dynamic value or a static value.
22463type RemediationParameterValue struct {
22464	_ struct{} `type:"structure"`
22465
22466	// The value is dynamic and changes at run-time.
22467	ResourceValue *ResourceValue `type:"structure"`
22468
22469	// The value is static and does not change at run-time.
22470	StaticValue *StaticValue `type:"structure"`
22471}
22472
22473// String returns the string representation
22474func (s RemediationParameterValue) String() string {
22475	return awsutil.Prettify(s)
22476}
22477
22478// GoString returns the string representation
22479func (s RemediationParameterValue) GoString() string {
22480	return s.String()
22481}
22482
22483// Validate inspects the fields of the type to determine if they are valid.
22484func (s *RemediationParameterValue) Validate() error {
22485	invalidParams := request.ErrInvalidParams{Context: "RemediationParameterValue"}
22486	if s.ResourceValue != nil {
22487		if err := s.ResourceValue.Validate(); err != nil {
22488			invalidParams.AddNested("ResourceValue", err.(request.ErrInvalidParams))
22489		}
22490	}
22491	if s.StaticValue != nil {
22492		if err := s.StaticValue.Validate(); err != nil {
22493			invalidParams.AddNested("StaticValue", err.(request.ErrInvalidParams))
22494		}
22495	}
22496
22497	if invalidParams.Len() > 0 {
22498		return invalidParams
22499	}
22500	return nil
22501}
22502
22503// SetResourceValue sets the ResourceValue field's value.
22504func (s *RemediationParameterValue) SetResourceValue(v *ResourceValue) *RemediationParameterValue {
22505	s.ResourceValue = v
22506	return s
22507}
22508
22509// SetStaticValue sets the StaticValue field's value.
22510func (s *RemediationParameterValue) SetStaticValue(v *StaticValue) *RemediationParameterValue {
22511	s.StaticValue = v
22512	return s
22513}
22514
22515// Two users are trying to modify the same query at the same time. Wait for
22516// a moment and try again.
22517type ResourceConcurrentModificationException struct {
22518	_            struct{}                  `type:"structure"`
22519	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22520
22521	Message_ *string `locationName:"message" type:"string"`
22522}
22523
22524// String returns the string representation
22525func (s ResourceConcurrentModificationException) String() string {
22526	return awsutil.Prettify(s)
22527}
22528
22529// GoString returns the string representation
22530func (s ResourceConcurrentModificationException) GoString() string {
22531	return s.String()
22532}
22533
22534func newErrorResourceConcurrentModificationException(v protocol.ResponseMetadata) error {
22535	return &ResourceConcurrentModificationException{
22536		RespMetadata: v,
22537	}
22538}
22539
22540// Code returns the exception type name.
22541func (s *ResourceConcurrentModificationException) Code() string {
22542	return "ResourceConcurrentModificationException"
22543}
22544
22545// Message returns the exception's message.
22546func (s *ResourceConcurrentModificationException) Message() string {
22547	if s.Message_ != nil {
22548		return *s.Message_
22549	}
22550	return ""
22551}
22552
22553// OrigErr always returns nil, satisfies awserr.Error interface.
22554func (s *ResourceConcurrentModificationException) OrigErr() error {
22555	return nil
22556}
22557
22558func (s *ResourceConcurrentModificationException) Error() string {
22559	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22560}
22561
22562// Status code returns the HTTP status code for the request's response error.
22563func (s *ResourceConcurrentModificationException) StatusCode() int {
22564	return s.RespMetadata.StatusCode
22565}
22566
22567// RequestID returns the service's response RequestID for request.
22568func (s *ResourceConcurrentModificationException) RequestID() string {
22569	return s.RespMetadata.RequestID
22570}
22571
22572// An object that contains the resource type and the number of resources.
22573type ResourceCount struct {
22574	_ struct{} `type:"structure"`
22575
22576	// The number of resources.
22577	Count *int64 `locationName:"count" type:"long"`
22578
22579	// The resource type (for example, "AWS::EC2::Instance").
22580	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22581}
22582
22583// String returns the string representation
22584func (s ResourceCount) String() string {
22585	return awsutil.Prettify(s)
22586}
22587
22588// GoString returns the string representation
22589func (s ResourceCount) GoString() string {
22590	return s.String()
22591}
22592
22593// SetCount sets the Count field's value.
22594func (s *ResourceCount) SetCount(v int64) *ResourceCount {
22595	s.Count = &v
22596	return s
22597}
22598
22599// SetResourceType sets the ResourceType field's value.
22600func (s *ResourceCount) SetResourceType(v string) *ResourceCount {
22601	s.ResourceType = &v
22602	return s
22603}
22604
22605// Filters the resource count based on account ID, region, and resource type.
22606type ResourceCountFilters struct {
22607	_ struct{} `type:"structure"`
22608
22609	// The 12-digit ID of the account.
22610	AccountId *string `type:"string"`
22611
22612	// The region where the account is located.
22613	Region *string `min:"1" type:"string"`
22614
22615	// The type of the AWS resource.
22616	ResourceType *string `type:"string" enum:"ResourceType"`
22617}
22618
22619// String returns the string representation
22620func (s ResourceCountFilters) String() string {
22621	return awsutil.Prettify(s)
22622}
22623
22624// GoString returns the string representation
22625func (s ResourceCountFilters) GoString() string {
22626	return s.String()
22627}
22628
22629// Validate inspects the fields of the type to determine if they are valid.
22630func (s *ResourceCountFilters) Validate() error {
22631	invalidParams := request.ErrInvalidParams{Context: "ResourceCountFilters"}
22632	if s.Region != nil && len(*s.Region) < 1 {
22633		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
22634	}
22635
22636	if invalidParams.Len() > 0 {
22637		return invalidParams
22638	}
22639	return nil
22640}
22641
22642// SetAccountId sets the AccountId field's value.
22643func (s *ResourceCountFilters) SetAccountId(v string) *ResourceCountFilters {
22644	s.AccountId = &v
22645	return s
22646}
22647
22648// SetRegion sets the Region field's value.
22649func (s *ResourceCountFilters) SetRegion(v string) *ResourceCountFilters {
22650	s.Region = &v
22651	return s
22652}
22653
22654// SetResourceType sets the ResourceType field's value.
22655func (s *ResourceCountFilters) SetResourceType(v string) *ResourceCountFilters {
22656	s.ResourceType = &v
22657	return s
22658}
22659
22660// Filters the results by resource account ID, region, resource ID, and resource
22661// name.
22662type ResourceFilters struct {
22663	_ struct{} `type:"structure"`
22664
22665	// The 12-digit source account ID.
22666	AccountId *string `type:"string"`
22667
22668	// The source region.
22669	Region *string `min:"1" type:"string"`
22670
22671	// The ID of the resource.
22672	ResourceId *string `min:"1" type:"string"`
22673
22674	// The name of the resource.
22675	ResourceName *string `type:"string"`
22676}
22677
22678// String returns the string representation
22679func (s ResourceFilters) String() string {
22680	return awsutil.Prettify(s)
22681}
22682
22683// GoString returns the string representation
22684func (s ResourceFilters) GoString() string {
22685	return s.String()
22686}
22687
22688// Validate inspects the fields of the type to determine if they are valid.
22689func (s *ResourceFilters) Validate() error {
22690	invalidParams := request.ErrInvalidParams{Context: "ResourceFilters"}
22691	if s.Region != nil && len(*s.Region) < 1 {
22692		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
22693	}
22694	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
22695		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
22696	}
22697
22698	if invalidParams.Len() > 0 {
22699		return invalidParams
22700	}
22701	return nil
22702}
22703
22704// SetAccountId sets the AccountId field's value.
22705func (s *ResourceFilters) SetAccountId(v string) *ResourceFilters {
22706	s.AccountId = &v
22707	return s
22708}
22709
22710// SetRegion sets the Region field's value.
22711func (s *ResourceFilters) SetRegion(v string) *ResourceFilters {
22712	s.Region = &v
22713	return s
22714}
22715
22716// SetResourceId sets the ResourceId field's value.
22717func (s *ResourceFilters) SetResourceId(v string) *ResourceFilters {
22718	s.ResourceId = &v
22719	return s
22720}
22721
22722// SetResourceName sets the ResourceName field's value.
22723func (s *ResourceFilters) SetResourceName(v string) *ResourceFilters {
22724	s.ResourceName = &v
22725	return s
22726}
22727
22728// The details that identify a resource that is discovered by AWS Config, including
22729// the resource type, ID, and (if available) the custom resource name.
22730type ResourceIdentifier struct {
22731	_ struct{} `type:"structure"`
22732
22733	// The time that the resource was deleted.
22734	ResourceDeletionTime *time.Time `locationName:"resourceDeletionTime" type:"timestamp"`
22735
22736	// The ID of the resource (for example, sg-xxxxxx).
22737	ResourceId *string `locationName:"resourceId" min:"1" type:"string"`
22738
22739	// The custom name of the resource (if available).
22740	ResourceName *string `locationName:"resourceName" type:"string"`
22741
22742	// The type of resource.
22743	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
22744}
22745
22746// String returns the string representation
22747func (s ResourceIdentifier) String() string {
22748	return awsutil.Prettify(s)
22749}
22750
22751// GoString returns the string representation
22752func (s ResourceIdentifier) GoString() string {
22753	return s.String()
22754}
22755
22756// SetResourceDeletionTime sets the ResourceDeletionTime field's value.
22757func (s *ResourceIdentifier) SetResourceDeletionTime(v time.Time) *ResourceIdentifier {
22758	s.ResourceDeletionTime = &v
22759	return s
22760}
22761
22762// SetResourceId sets the ResourceId field's value.
22763func (s *ResourceIdentifier) SetResourceId(v string) *ResourceIdentifier {
22764	s.ResourceId = &v
22765	return s
22766}
22767
22768// SetResourceName sets the ResourceName field's value.
22769func (s *ResourceIdentifier) SetResourceName(v string) *ResourceIdentifier {
22770	s.ResourceName = &v
22771	return s
22772}
22773
22774// SetResourceType sets the ResourceType field's value.
22775func (s *ResourceIdentifier) SetResourceType(v string) *ResourceIdentifier {
22776	s.ResourceType = &v
22777	return s
22778}
22779
22780// You see this exception in the following cases:
22781//
22782//    * For DeleteConfigRule, AWS Config is deleting this rule. Try your request
22783//    again later.
22784//
22785//    * For DeleteConfigRule, the rule is deleting your evaluation results.
22786//    Try your request again later.
22787//
22788//    * For DeleteConfigRule, a remediation action is associated with the rule
22789//    and AWS Config cannot delete this rule. Delete the remediation action
22790//    associated with the rule before deleting the rule and try your request
22791//    again later.
22792//
22793//    * For PutConfigOrganizationRule, organization config rule deletion is
22794//    in progress. Try your request again later.
22795//
22796//    * For DeleteOrganizationConfigRule, organization config rule creation
22797//    is in progress. Try your request again later.
22798//
22799//    * For PutConformancePack and PutOrganizationConformancePack, a conformance
22800//    pack creation, update, and deletion is in progress. Try your request again
22801//    later.
22802//
22803//    * For DeleteConformancePack, a conformance pack creation, update, and
22804//    deletion is in progress. Try your request again later.
22805type ResourceInUseException struct {
22806	_            struct{}                  `type:"structure"`
22807	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22808
22809	Message_ *string `locationName:"message" type:"string"`
22810}
22811
22812// String returns the string representation
22813func (s ResourceInUseException) String() string {
22814	return awsutil.Prettify(s)
22815}
22816
22817// GoString returns the string representation
22818func (s ResourceInUseException) GoString() string {
22819	return s.String()
22820}
22821
22822func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
22823	return &ResourceInUseException{
22824		RespMetadata: v,
22825	}
22826}
22827
22828// Code returns the exception type name.
22829func (s *ResourceInUseException) Code() string {
22830	return "ResourceInUseException"
22831}
22832
22833// Message returns the exception's message.
22834func (s *ResourceInUseException) Message() string {
22835	if s.Message_ != nil {
22836		return *s.Message_
22837	}
22838	return ""
22839}
22840
22841// OrigErr always returns nil, satisfies awserr.Error interface.
22842func (s *ResourceInUseException) OrigErr() error {
22843	return nil
22844}
22845
22846func (s *ResourceInUseException) Error() string {
22847	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22848}
22849
22850// Status code returns the HTTP status code for the request's response error.
22851func (s *ResourceInUseException) StatusCode() int {
22852	return s.RespMetadata.StatusCode
22853}
22854
22855// RequestID returns the service's response RequestID for request.
22856func (s *ResourceInUseException) RequestID() string {
22857	return s.RespMetadata.RequestID
22858}
22859
22860// The details that identify a resource within AWS Config, including the resource
22861// type and resource ID.
22862type ResourceKey struct {
22863	_ struct{} `type:"structure"`
22864
22865	// The ID of the resource (for example., sg-xxxxxx).
22866	//
22867	// ResourceId is a required field
22868	ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"`
22869
22870	// The resource type.
22871	//
22872	// ResourceType is a required field
22873	ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
22874}
22875
22876// String returns the string representation
22877func (s ResourceKey) String() string {
22878	return awsutil.Prettify(s)
22879}
22880
22881// GoString returns the string representation
22882func (s ResourceKey) GoString() string {
22883	return s.String()
22884}
22885
22886// Validate inspects the fields of the type to determine if they are valid.
22887func (s *ResourceKey) Validate() error {
22888	invalidParams := request.ErrInvalidParams{Context: "ResourceKey"}
22889	if s.ResourceId == nil {
22890		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
22891	}
22892	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
22893		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
22894	}
22895	if s.ResourceType == nil {
22896		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
22897	}
22898
22899	if invalidParams.Len() > 0 {
22900		return invalidParams
22901	}
22902	return nil
22903}
22904
22905// SetResourceId sets the ResourceId field's value.
22906func (s *ResourceKey) SetResourceId(v string) *ResourceKey {
22907	s.ResourceId = &v
22908	return s
22909}
22910
22911// SetResourceType sets the ResourceType field's value.
22912func (s *ResourceKey) SetResourceType(v string) *ResourceKey {
22913	s.ResourceType = &v
22914	return s
22915}
22916
22917// You have specified a resource that is either unknown or has not been discovered.
22918type ResourceNotDiscoveredException struct {
22919	_            struct{}                  `type:"structure"`
22920	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22921
22922	Message_ *string `locationName:"message" type:"string"`
22923}
22924
22925// String returns the string representation
22926func (s ResourceNotDiscoveredException) String() string {
22927	return awsutil.Prettify(s)
22928}
22929
22930// GoString returns the string representation
22931func (s ResourceNotDiscoveredException) GoString() string {
22932	return s.String()
22933}
22934
22935func newErrorResourceNotDiscoveredException(v protocol.ResponseMetadata) error {
22936	return &ResourceNotDiscoveredException{
22937		RespMetadata: v,
22938	}
22939}
22940
22941// Code returns the exception type name.
22942func (s *ResourceNotDiscoveredException) Code() string {
22943	return "ResourceNotDiscoveredException"
22944}
22945
22946// Message returns the exception's message.
22947func (s *ResourceNotDiscoveredException) Message() string {
22948	if s.Message_ != nil {
22949		return *s.Message_
22950	}
22951	return ""
22952}
22953
22954// OrigErr always returns nil, satisfies awserr.Error interface.
22955func (s *ResourceNotDiscoveredException) OrigErr() error {
22956	return nil
22957}
22958
22959func (s *ResourceNotDiscoveredException) Error() string {
22960	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22961}
22962
22963// Status code returns the HTTP status code for the request's response error.
22964func (s *ResourceNotDiscoveredException) StatusCode() int {
22965	return s.RespMetadata.StatusCode
22966}
22967
22968// RequestID returns the service's response RequestID for request.
22969func (s *ResourceNotDiscoveredException) RequestID() string {
22970	return s.RespMetadata.RequestID
22971}
22972
22973// You have specified a resource that does not exist.
22974type ResourceNotFoundException struct {
22975	_            struct{}                  `type:"structure"`
22976	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22977
22978	Message_ *string `locationName:"message" type:"string"`
22979}
22980
22981// String returns the string representation
22982func (s ResourceNotFoundException) String() string {
22983	return awsutil.Prettify(s)
22984}
22985
22986// GoString returns the string representation
22987func (s ResourceNotFoundException) GoString() string {
22988	return s.String()
22989}
22990
22991func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
22992	return &ResourceNotFoundException{
22993		RespMetadata: v,
22994	}
22995}
22996
22997// Code returns the exception type name.
22998func (s *ResourceNotFoundException) Code() string {
22999	return "ResourceNotFoundException"
23000}
23001
23002// Message returns the exception's message.
23003func (s *ResourceNotFoundException) Message() string {
23004	if s.Message_ != nil {
23005		return *s.Message_
23006	}
23007	return ""
23008}
23009
23010// OrigErr always returns nil, satisfies awserr.Error interface.
23011func (s *ResourceNotFoundException) OrigErr() error {
23012	return nil
23013}
23014
23015func (s *ResourceNotFoundException) Error() string {
23016	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23017}
23018
23019// Status code returns the HTTP status code for the request's response error.
23020func (s *ResourceNotFoundException) StatusCode() int {
23021	return s.RespMetadata.StatusCode
23022}
23023
23024// RequestID returns the service's response RequestID for request.
23025func (s *ResourceNotFoundException) RequestID() string {
23026	return s.RespMetadata.RequestID
23027}
23028
23029// The dynamic value of the resource.
23030type ResourceValue struct {
23031	_ struct{} `type:"structure"`
23032
23033	// The value is a resource ID.
23034	//
23035	// Value is a required field
23036	Value *string `type:"string" required:"true" enum:"ResourceValueType"`
23037}
23038
23039// String returns the string representation
23040func (s ResourceValue) String() string {
23041	return awsutil.Prettify(s)
23042}
23043
23044// GoString returns the string representation
23045func (s ResourceValue) GoString() string {
23046	return s.String()
23047}
23048
23049// Validate inspects the fields of the type to determine if they are valid.
23050func (s *ResourceValue) Validate() error {
23051	invalidParams := request.ErrInvalidParams{Context: "ResourceValue"}
23052	if s.Value == nil {
23053		invalidParams.Add(request.NewErrParamRequired("Value"))
23054	}
23055
23056	if invalidParams.Len() > 0 {
23057		return invalidParams
23058	}
23059	return nil
23060}
23061
23062// SetValue sets the Value field's value.
23063func (s *ResourceValue) SetValue(v string) *ResourceValue {
23064	s.Value = &v
23065	return s
23066}
23067
23068// An object with the name of the retention configuration and the retention
23069// period in days. The object stores the configuration for data retention in
23070// AWS Config.
23071type RetentionConfiguration struct {
23072	_ struct{} `type:"structure"`
23073
23074	// The name of the retention configuration object.
23075	//
23076	// Name is a required field
23077	Name *string `min:"1" type:"string" required:"true"`
23078
23079	// Number of days AWS Config stores your historical information.
23080	//
23081	// Currently, only applicable to the configuration item history.
23082	//
23083	// RetentionPeriodInDays is a required field
23084	RetentionPeriodInDays *int64 `min:"30" type:"integer" required:"true"`
23085}
23086
23087// String returns the string representation
23088func (s RetentionConfiguration) String() string {
23089	return awsutil.Prettify(s)
23090}
23091
23092// GoString returns the string representation
23093func (s RetentionConfiguration) GoString() string {
23094	return s.String()
23095}
23096
23097// SetName sets the Name field's value.
23098func (s *RetentionConfiguration) SetName(v string) *RetentionConfiguration {
23099	s.Name = &v
23100	return s
23101}
23102
23103// SetRetentionPeriodInDays sets the RetentionPeriodInDays field's value.
23104func (s *RetentionConfiguration) SetRetentionPeriodInDays(v int64) *RetentionConfiguration {
23105	s.RetentionPeriodInDays = &v
23106	return s
23107}
23108
23109// Defines which resources trigger an evaluation for an AWS Config rule. The
23110// scope can include one or more resource types, a combination of a tag key
23111// and value, or a combination of one resource type and one resource ID. Specify
23112// a scope to constrain which resources trigger an evaluation for a rule. Otherwise,
23113// evaluations for the rule are triggered when any resource in your recording
23114// group changes in configuration.
23115type Scope struct {
23116	_ struct{} `type:"structure"`
23117
23118	// The ID of the only AWS resource that you want to trigger an evaluation for
23119	// the rule. If you specify a resource ID, you must specify one resource type
23120	// for ComplianceResourceTypes.
23121	ComplianceResourceId *string `min:"1" type:"string"`
23122
23123	// The resource types of only those AWS resources that you want to trigger an
23124	// evaluation for the rule. You can only specify one type if you also specify
23125	// a resource ID for ComplianceResourceId.
23126	ComplianceResourceTypes []*string `type:"list"`
23127
23128	// The tag key that is applied to only those AWS resources that you want to
23129	// trigger an evaluation for the rule.
23130	TagKey *string `min:"1" type:"string"`
23131
23132	// The tag value applied to only those AWS resources that you want to trigger
23133	// an evaluation for the rule. If you specify a value for TagValue, you must
23134	// also specify a value for TagKey.
23135	TagValue *string `min:"1" type:"string"`
23136}
23137
23138// String returns the string representation
23139func (s Scope) String() string {
23140	return awsutil.Prettify(s)
23141}
23142
23143// GoString returns the string representation
23144func (s Scope) GoString() string {
23145	return s.String()
23146}
23147
23148// Validate inspects the fields of the type to determine if they are valid.
23149func (s *Scope) Validate() error {
23150	invalidParams := request.ErrInvalidParams{Context: "Scope"}
23151	if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
23152		invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
23153	}
23154	if s.TagKey != nil && len(*s.TagKey) < 1 {
23155		invalidParams.Add(request.NewErrParamMinLen("TagKey", 1))
23156	}
23157	if s.TagValue != nil && len(*s.TagValue) < 1 {
23158		invalidParams.Add(request.NewErrParamMinLen("TagValue", 1))
23159	}
23160
23161	if invalidParams.Len() > 0 {
23162		return invalidParams
23163	}
23164	return nil
23165}
23166
23167// SetComplianceResourceId sets the ComplianceResourceId field's value.
23168func (s *Scope) SetComplianceResourceId(v string) *Scope {
23169	s.ComplianceResourceId = &v
23170	return s
23171}
23172
23173// SetComplianceResourceTypes sets the ComplianceResourceTypes field's value.
23174func (s *Scope) SetComplianceResourceTypes(v []*string) *Scope {
23175	s.ComplianceResourceTypes = v
23176	return s
23177}
23178
23179// SetTagKey sets the TagKey field's value.
23180func (s *Scope) SetTagKey(v string) *Scope {
23181	s.TagKey = &v
23182	return s
23183}
23184
23185// SetTagValue sets the TagValue field's value.
23186func (s *Scope) SetTagValue(v string) *Scope {
23187	s.TagValue = &v
23188	return s
23189}
23190
23191type SelectAggregateResourceConfigInput struct {
23192	_ struct{} `type:"structure"`
23193
23194	// The name of the configuration aggregator.
23195	//
23196	// ConfigurationAggregatorName is a required field
23197	ConfigurationAggregatorName *string `min:"1" type:"string" required:"true"`
23198
23199	// The SQL query SELECT command.
23200	//
23201	// Expression is a required field
23202	Expression *string `min:"1" type:"string" required:"true"`
23203
23204	// The maximum number of query results returned on each page.
23205	Limit *int64 `type:"integer"`
23206
23207	// The maximum number of query results returned on each page. AWS Config also
23208	// allows the Limit request parameter.
23209	MaxResults *int64 `type:"integer"`
23210
23211	// The nextToken string returned in a previous request that you use to request
23212	// the next page of results in a paginated response.
23213	NextToken *string `type:"string"`
23214}
23215
23216// String returns the string representation
23217func (s SelectAggregateResourceConfigInput) String() string {
23218	return awsutil.Prettify(s)
23219}
23220
23221// GoString returns the string representation
23222func (s SelectAggregateResourceConfigInput) GoString() string {
23223	return s.String()
23224}
23225
23226// Validate inspects the fields of the type to determine if they are valid.
23227func (s *SelectAggregateResourceConfigInput) Validate() error {
23228	invalidParams := request.ErrInvalidParams{Context: "SelectAggregateResourceConfigInput"}
23229	if s.ConfigurationAggregatorName == nil {
23230		invalidParams.Add(request.NewErrParamRequired("ConfigurationAggregatorName"))
23231	}
23232	if s.ConfigurationAggregatorName != nil && len(*s.ConfigurationAggregatorName) < 1 {
23233		invalidParams.Add(request.NewErrParamMinLen("ConfigurationAggregatorName", 1))
23234	}
23235	if s.Expression == nil {
23236		invalidParams.Add(request.NewErrParamRequired("Expression"))
23237	}
23238	if s.Expression != nil && len(*s.Expression) < 1 {
23239		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
23240	}
23241
23242	if invalidParams.Len() > 0 {
23243		return invalidParams
23244	}
23245	return nil
23246}
23247
23248// SetConfigurationAggregatorName sets the ConfigurationAggregatorName field's value.
23249func (s *SelectAggregateResourceConfigInput) SetConfigurationAggregatorName(v string) *SelectAggregateResourceConfigInput {
23250	s.ConfigurationAggregatorName = &v
23251	return s
23252}
23253
23254// SetExpression sets the Expression field's value.
23255func (s *SelectAggregateResourceConfigInput) SetExpression(v string) *SelectAggregateResourceConfigInput {
23256	s.Expression = &v
23257	return s
23258}
23259
23260// SetLimit sets the Limit field's value.
23261func (s *SelectAggregateResourceConfigInput) SetLimit(v int64) *SelectAggregateResourceConfigInput {
23262	s.Limit = &v
23263	return s
23264}
23265
23266// SetMaxResults sets the MaxResults field's value.
23267func (s *SelectAggregateResourceConfigInput) SetMaxResults(v int64) *SelectAggregateResourceConfigInput {
23268	s.MaxResults = &v
23269	return s
23270}
23271
23272// SetNextToken sets the NextToken field's value.
23273func (s *SelectAggregateResourceConfigInput) SetNextToken(v string) *SelectAggregateResourceConfigInput {
23274	s.NextToken = &v
23275	return s
23276}
23277
23278type SelectAggregateResourceConfigOutput struct {
23279	_ struct{} `type:"structure"`
23280
23281	// The nextToken string returned in a previous request that you use to request
23282	// the next page of results in a paginated response.
23283	NextToken *string `type:"string"`
23284
23285	// Details about the query.
23286	QueryInfo *QueryInfo `type:"structure"`
23287
23288	// Returns the results for the SQL query.
23289	Results []*string `type:"list"`
23290}
23291
23292// String returns the string representation
23293func (s SelectAggregateResourceConfigOutput) String() string {
23294	return awsutil.Prettify(s)
23295}
23296
23297// GoString returns the string representation
23298func (s SelectAggregateResourceConfigOutput) GoString() string {
23299	return s.String()
23300}
23301
23302// SetNextToken sets the NextToken field's value.
23303func (s *SelectAggregateResourceConfigOutput) SetNextToken(v string) *SelectAggregateResourceConfigOutput {
23304	s.NextToken = &v
23305	return s
23306}
23307
23308// SetQueryInfo sets the QueryInfo field's value.
23309func (s *SelectAggregateResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectAggregateResourceConfigOutput {
23310	s.QueryInfo = v
23311	return s
23312}
23313
23314// SetResults sets the Results field's value.
23315func (s *SelectAggregateResourceConfigOutput) SetResults(v []*string) *SelectAggregateResourceConfigOutput {
23316	s.Results = v
23317	return s
23318}
23319
23320type SelectResourceConfigInput struct {
23321	_ struct{} `type:"structure"`
23322
23323	// The SQL query SELECT command.
23324	//
23325	// Expression is a required field
23326	Expression *string `min:"1" type:"string" required:"true"`
23327
23328	// The maximum number of query results returned on each page.
23329	Limit *int64 `type:"integer"`
23330
23331	// The nextToken string returned in a previous request that you use to request
23332	// the next page of results in a paginated response.
23333	NextToken *string `type:"string"`
23334}
23335
23336// String returns the string representation
23337func (s SelectResourceConfigInput) String() string {
23338	return awsutil.Prettify(s)
23339}
23340
23341// GoString returns the string representation
23342func (s SelectResourceConfigInput) GoString() string {
23343	return s.String()
23344}
23345
23346// Validate inspects the fields of the type to determine if they are valid.
23347func (s *SelectResourceConfigInput) Validate() error {
23348	invalidParams := request.ErrInvalidParams{Context: "SelectResourceConfigInput"}
23349	if s.Expression == nil {
23350		invalidParams.Add(request.NewErrParamRequired("Expression"))
23351	}
23352	if s.Expression != nil && len(*s.Expression) < 1 {
23353		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
23354	}
23355
23356	if invalidParams.Len() > 0 {
23357		return invalidParams
23358	}
23359	return nil
23360}
23361
23362// SetExpression sets the Expression field's value.
23363func (s *SelectResourceConfigInput) SetExpression(v string) *SelectResourceConfigInput {
23364	s.Expression = &v
23365	return s
23366}
23367
23368// SetLimit sets the Limit field's value.
23369func (s *SelectResourceConfigInput) SetLimit(v int64) *SelectResourceConfigInput {
23370	s.Limit = &v
23371	return s
23372}
23373
23374// SetNextToken sets the NextToken field's value.
23375func (s *SelectResourceConfigInput) SetNextToken(v string) *SelectResourceConfigInput {
23376	s.NextToken = &v
23377	return s
23378}
23379
23380type SelectResourceConfigOutput struct {
23381	_ struct{} `type:"structure"`
23382
23383	// The nextToken string returned in a previous request that you use to request
23384	// the next page of results in a paginated response.
23385	NextToken *string `type:"string"`
23386
23387	// Returns the QueryInfo object.
23388	QueryInfo *QueryInfo `type:"structure"`
23389
23390	// Returns the results for the SQL query.
23391	Results []*string `type:"list"`
23392}
23393
23394// String returns the string representation
23395func (s SelectResourceConfigOutput) String() string {
23396	return awsutil.Prettify(s)
23397}
23398
23399// GoString returns the string representation
23400func (s SelectResourceConfigOutput) GoString() string {
23401	return s.String()
23402}
23403
23404// SetNextToken sets the NextToken field's value.
23405func (s *SelectResourceConfigOutput) SetNextToken(v string) *SelectResourceConfigOutput {
23406	s.NextToken = &v
23407	return s
23408}
23409
23410// SetQueryInfo sets the QueryInfo field's value.
23411func (s *SelectResourceConfigOutput) SetQueryInfo(v *QueryInfo) *SelectResourceConfigOutput {
23412	s.QueryInfo = v
23413	return s
23414}
23415
23416// SetResults sets the Results field's value.
23417func (s *SelectResourceConfigOutput) SetResults(v []*string) *SelectResourceConfigOutput {
23418	s.Results = v
23419	return s
23420}
23421
23422// Provides the AWS Config rule owner (AWS or customer), the rule identifier,
23423// and the events that trigger the evaluation of your AWS resources.
23424type Source struct {
23425	_ struct{} `type:"structure"`
23426
23427	// Indicates whether AWS or the customer owns and manages the AWS Config rule.
23428	//
23429	// Owner is a required field
23430	Owner *string `type:"string" required:"true" enum:"Owner"`
23431
23432	// Provides the source and type of the event that causes AWS Config to evaluate
23433	// your AWS resources.
23434	SourceDetails []*SourceDetail `type:"list"`
23435
23436	// For AWS Config managed rules, a predefined identifier from a list. For example,
23437	// IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using
23438	// AWS Managed Config Rules (https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
23439	//
23440	// For custom rules, the identifier is the Amazon Resource Name (ARN) of the
23441	// rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.
23442	//
23443	// SourceIdentifier is a required field
23444	SourceIdentifier *string `min:"1" type:"string" required:"true"`
23445}
23446
23447// String returns the string representation
23448func (s Source) String() string {
23449	return awsutil.Prettify(s)
23450}
23451
23452// GoString returns the string representation
23453func (s Source) GoString() string {
23454	return s.String()
23455}
23456
23457// Validate inspects the fields of the type to determine if they are valid.
23458func (s *Source) Validate() error {
23459	invalidParams := request.ErrInvalidParams{Context: "Source"}
23460	if s.Owner == nil {
23461		invalidParams.Add(request.NewErrParamRequired("Owner"))
23462	}
23463	if s.SourceIdentifier == nil {
23464		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
23465	}
23466	if s.SourceIdentifier != nil && len(*s.SourceIdentifier) < 1 {
23467		invalidParams.Add(request.NewErrParamMinLen("SourceIdentifier", 1))
23468	}
23469
23470	if invalidParams.Len() > 0 {
23471		return invalidParams
23472	}
23473	return nil
23474}
23475
23476// SetOwner sets the Owner field's value.
23477func (s *Source) SetOwner(v string) *Source {
23478	s.Owner = &v
23479	return s
23480}
23481
23482// SetSourceDetails sets the SourceDetails field's value.
23483func (s *Source) SetSourceDetails(v []*SourceDetail) *Source {
23484	s.SourceDetails = v
23485	return s
23486}
23487
23488// SetSourceIdentifier sets the SourceIdentifier field's value.
23489func (s *Source) SetSourceIdentifier(v string) *Source {
23490	s.SourceIdentifier = &v
23491	return s
23492}
23493
23494// Provides the source and the message types that trigger AWS Config to evaluate
23495// your AWS resources against a rule. It also provides the frequency with which
23496// you want AWS Config to run evaluations for the rule if the trigger type is
23497// periodic. You can specify the parameter values for SourceDetail only for
23498// custom rules.
23499type SourceDetail struct {
23500	_ struct{} `type:"structure"`
23501
23502	// The source of the event, such as an AWS service, that triggers AWS Config
23503	// to evaluate your AWS resources.
23504	EventSource *string `type:"string" enum:"EventSource"`
23505
23506	// The frequency at which you want AWS Config to run evaluations for a custom
23507	// rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency,
23508	// then MessageType must use the ScheduledNotification value.
23509	//
23510	// By default, rules with a periodic trigger are evaluated every 24 hours. To
23511	// change the frequency, specify a valid value for the MaximumExecutionFrequency
23512	// parameter.
23513	//
23514	// Based on the valid value you choose, AWS Config runs evaluations once for
23515	// each valid value. For example, if you choose Three_Hours, AWS Config runs
23516	// evaluations once every three hours. In this case, Three_Hours is the frequency
23517	// of this rule.
23518	MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
23519
23520	// The type of notification that triggers AWS Config to run an evaluation for
23521	// a rule. You can specify the following notification types:
23522	//
23523	//    * ConfigurationItemChangeNotification - Triggers an evaluation when AWS
23524	//    Config delivers a configuration item as a result of a resource change.
23525	//
23526	//    * OversizedConfigurationItemChangeNotification - Triggers an evaluation
23527	//    when AWS Config delivers an oversized configuration item. AWS Config may
23528	//    generate this notification type when a resource changes and the notification
23529	//    exceeds the maximum size allowed by Amazon SNS.
23530	//
23531	//    * ScheduledNotification - Triggers a periodic evaluation at the frequency
23532	//    specified for MaximumExecutionFrequency.
23533	//
23534	//    * ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation
23535	//    when AWS Config delivers a configuration snapshot.
23536	//
23537	// If you want your custom rule to be triggered by configuration changes, specify
23538	// two SourceDetail objects, one for ConfigurationItemChangeNotification and
23539	// one for OversizedConfigurationItemChangeNotification.
23540	MessageType *string `type:"string" enum:"MessageType"`
23541}
23542
23543// String returns the string representation
23544func (s SourceDetail) String() string {
23545	return awsutil.Prettify(s)
23546}
23547
23548// GoString returns the string representation
23549func (s SourceDetail) GoString() string {
23550	return s.String()
23551}
23552
23553// SetEventSource sets the EventSource field's value.
23554func (s *SourceDetail) SetEventSource(v string) *SourceDetail {
23555	s.EventSource = &v
23556	return s
23557}
23558
23559// SetMaximumExecutionFrequency sets the MaximumExecutionFrequency field's value.
23560func (s *SourceDetail) SetMaximumExecutionFrequency(v string) *SourceDetail {
23561	s.MaximumExecutionFrequency = &v
23562	return s
23563}
23564
23565// SetMessageType sets the MessageType field's value.
23566func (s *SourceDetail) SetMessageType(v string) *SourceDetail {
23567	s.MessageType = &v
23568	return s
23569}
23570
23571// AWS Systems Manager (SSM) specific remediation controls.
23572type SsmControls struct {
23573	_ struct{} `type:"structure"`
23574
23575	// The maximum percentage of remediation actions allowed to run in parallel
23576	// on the non-compliant resources for that specific rule. You can specify a
23577	// percentage, such as 10%. The default value is 10.
23578	ConcurrentExecutionRatePercentage *int64 `min:"1" type:"integer"`
23579
23580	// The percentage of errors that are allowed before SSM stops running automations
23581	// on non-compliant resources for that specific rule. You can specify a percentage
23582	// of errors, for example 10%. If you do not specifiy a percentage, the default
23583	// is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant
23584	// resources, then SSM stops running the automations when the fifth error is
23585	// received.
23586	ErrorPercentage *int64 `min:"1" type:"integer"`
23587}
23588
23589// String returns the string representation
23590func (s SsmControls) String() string {
23591	return awsutil.Prettify(s)
23592}
23593
23594// GoString returns the string representation
23595func (s SsmControls) GoString() string {
23596	return s.String()
23597}
23598
23599// Validate inspects the fields of the type to determine if they are valid.
23600func (s *SsmControls) Validate() error {
23601	invalidParams := request.ErrInvalidParams{Context: "SsmControls"}
23602	if s.ConcurrentExecutionRatePercentage != nil && *s.ConcurrentExecutionRatePercentage < 1 {
23603		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutionRatePercentage", 1))
23604	}
23605	if s.ErrorPercentage != nil && *s.ErrorPercentage < 1 {
23606		invalidParams.Add(request.NewErrParamMinValue("ErrorPercentage", 1))
23607	}
23608
23609	if invalidParams.Len() > 0 {
23610		return invalidParams
23611	}
23612	return nil
23613}
23614
23615// SetConcurrentExecutionRatePercentage sets the ConcurrentExecutionRatePercentage field's value.
23616func (s *SsmControls) SetConcurrentExecutionRatePercentage(v int64) *SsmControls {
23617	s.ConcurrentExecutionRatePercentage = &v
23618	return s
23619}
23620
23621// SetErrorPercentage sets the ErrorPercentage field's value.
23622func (s *SsmControls) SetErrorPercentage(v int64) *SsmControls {
23623	s.ErrorPercentage = &v
23624	return s
23625}
23626
23627type StartConfigRulesEvaluationInput struct {
23628	_ struct{} `type:"structure"`
23629
23630	// The list of names of AWS Config rules that you want to run evaluations for.
23631	ConfigRuleNames []*string `min:"1" type:"list"`
23632}
23633
23634// String returns the string representation
23635func (s StartConfigRulesEvaluationInput) String() string {
23636	return awsutil.Prettify(s)
23637}
23638
23639// GoString returns the string representation
23640func (s StartConfigRulesEvaluationInput) GoString() string {
23641	return s.String()
23642}
23643
23644// Validate inspects the fields of the type to determine if they are valid.
23645func (s *StartConfigRulesEvaluationInput) Validate() error {
23646	invalidParams := request.ErrInvalidParams{Context: "StartConfigRulesEvaluationInput"}
23647	if s.ConfigRuleNames != nil && len(s.ConfigRuleNames) < 1 {
23648		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleNames", 1))
23649	}
23650
23651	if invalidParams.Len() > 0 {
23652		return invalidParams
23653	}
23654	return nil
23655}
23656
23657// SetConfigRuleNames sets the ConfigRuleNames field's value.
23658func (s *StartConfigRulesEvaluationInput) SetConfigRuleNames(v []*string) *StartConfigRulesEvaluationInput {
23659	s.ConfigRuleNames = v
23660	return s
23661}
23662
23663// The output when you start the evaluation for the specified AWS Config rule.
23664type StartConfigRulesEvaluationOutput struct {
23665	_ struct{} `type:"structure"`
23666}
23667
23668// String returns the string representation
23669func (s StartConfigRulesEvaluationOutput) String() string {
23670	return awsutil.Prettify(s)
23671}
23672
23673// GoString returns the string representation
23674func (s StartConfigRulesEvaluationOutput) GoString() string {
23675	return s.String()
23676}
23677
23678// The input for the StartConfigurationRecorder action.
23679type StartConfigurationRecorderInput struct {
23680	_ struct{} `type:"structure"`
23681
23682	// The name of the recorder object that records each configuration change made
23683	// to the resources.
23684	//
23685	// ConfigurationRecorderName is a required field
23686	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
23687}
23688
23689// String returns the string representation
23690func (s StartConfigurationRecorderInput) String() string {
23691	return awsutil.Prettify(s)
23692}
23693
23694// GoString returns the string representation
23695func (s StartConfigurationRecorderInput) GoString() string {
23696	return s.String()
23697}
23698
23699// Validate inspects the fields of the type to determine if they are valid.
23700func (s *StartConfigurationRecorderInput) Validate() error {
23701	invalidParams := request.ErrInvalidParams{Context: "StartConfigurationRecorderInput"}
23702	if s.ConfigurationRecorderName == nil {
23703		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
23704	}
23705	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
23706		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
23707	}
23708
23709	if invalidParams.Len() > 0 {
23710		return invalidParams
23711	}
23712	return nil
23713}
23714
23715// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
23716func (s *StartConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StartConfigurationRecorderInput {
23717	s.ConfigurationRecorderName = &v
23718	return s
23719}
23720
23721type StartConfigurationRecorderOutput struct {
23722	_ struct{} `type:"structure"`
23723}
23724
23725// String returns the string representation
23726func (s StartConfigurationRecorderOutput) String() string {
23727	return awsutil.Prettify(s)
23728}
23729
23730// GoString returns the string representation
23731func (s StartConfigurationRecorderOutput) GoString() string {
23732	return s.String()
23733}
23734
23735type StartRemediationExecutionInput struct {
23736	_ struct{} `type:"structure"`
23737
23738	// The list of names of AWS Config rules that you want to run remediation execution
23739	// for.
23740	//
23741	// ConfigRuleName is a required field
23742	ConfigRuleName *string `min:"1" type:"string" required:"true"`
23743
23744	// A list of resource keys to be processed with the current request. Each element
23745	// in the list consists of the resource type and resource ID.
23746	//
23747	// ResourceKeys is a required field
23748	ResourceKeys []*ResourceKey `min:"1" type:"list" required:"true"`
23749}
23750
23751// String returns the string representation
23752func (s StartRemediationExecutionInput) String() string {
23753	return awsutil.Prettify(s)
23754}
23755
23756// GoString returns the string representation
23757func (s StartRemediationExecutionInput) GoString() string {
23758	return s.String()
23759}
23760
23761// Validate inspects the fields of the type to determine if they are valid.
23762func (s *StartRemediationExecutionInput) Validate() error {
23763	invalidParams := request.ErrInvalidParams{Context: "StartRemediationExecutionInput"}
23764	if s.ConfigRuleName == nil {
23765		invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
23766	}
23767	if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
23768		invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
23769	}
23770	if s.ResourceKeys == nil {
23771		invalidParams.Add(request.NewErrParamRequired("ResourceKeys"))
23772	}
23773	if s.ResourceKeys != nil && len(s.ResourceKeys) < 1 {
23774		invalidParams.Add(request.NewErrParamMinLen("ResourceKeys", 1))
23775	}
23776	if s.ResourceKeys != nil {
23777		for i, v := range s.ResourceKeys {
23778			if v == nil {
23779				continue
23780			}
23781			if err := v.Validate(); err != nil {
23782				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceKeys", i), err.(request.ErrInvalidParams))
23783			}
23784		}
23785	}
23786
23787	if invalidParams.Len() > 0 {
23788		return invalidParams
23789	}
23790	return nil
23791}
23792
23793// SetConfigRuleName sets the ConfigRuleName field's value.
23794func (s *StartRemediationExecutionInput) SetConfigRuleName(v string) *StartRemediationExecutionInput {
23795	s.ConfigRuleName = &v
23796	return s
23797}
23798
23799// SetResourceKeys sets the ResourceKeys field's value.
23800func (s *StartRemediationExecutionInput) SetResourceKeys(v []*ResourceKey) *StartRemediationExecutionInput {
23801	s.ResourceKeys = v
23802	return s
23803}
23804
23805type StartRemediationExecutionOutput struct {
23806	_ struct{} `type:"structure"`
23807
23808	// For resources that have failed to start execution, the API returns a resource
23809	// key object.
23810	FailedItems []*ResourceKey `min:"1" type:"list"`
23811
23812	// Returns a failure message. For example, the resource is already compliant.
23813	FailureMessage *string `type:"string"`
23814}
23815
23816// String returns the string representation
23817func (s StartRemediationExecutionOutput) String() string {
23818	return awsutil.Prettify(s)
23819}
23820
23821// GoString returns the string representation
23822func (s StartRemediationExecutionOutput) GoString() string {
23823	return s.String()
23824}
23825
23826// SetFailedItems sets the FailedItems field's value.
23827func (s *StartRemediationExecutionOutput) SetFailedItems(v []*ResourceKey) *StartRemediationExecutionOutput {
23828	s.FailedItems = v
23829	return s
23830}
23831
23832// SetFailureMessage sets the FailureMessage field's value.
23833func (s *StartRemediationExecutionOutput) SetFailureMessage(v string) *StartRemediationExecutionOutput {
23834	s.FailureMessage = &v
23835	return s
23836}
23837
23838// The static value of the resource.
23839type StaticValue struct {
23840	_ struct{} `type:"structure"`
23841
23842	// A list of values. For example, the ARN of the assumed role.
23843	//
23844	// Values is a required field
23845	Values []*string `type:"list" required:"true"`
23846}
23847
23848// String returns the string representation
23849func (s StaticValue) String() string {
23850	return awsutil.Prettify(s)
23851}
23852
23853// GoString returns the string representation
23854func (s StaticValue) GoString() string {
23855	return s.String()
23856}
23857
23858// Validate inspects the fields of the type to determine if they are valid.
23859func (s *StaticValue) Validate() error {
23860	invalidParams := request.ErrInvalidParams{Context: "StaticValue"}
23861	if s.Values == nil {
23862		invalidParams.Add(request.NewErrParamRequired("Values"))
23863	}
23864
23865	if invalidParams.Len() > 0 {
23866		return invalidParams
23867	}
23868	return nil
23869}
23870
23871// SetValues sets the Values field's value.
23872func (s *StaticValue) SetValues(v []*string) *StaticValue {
23873	s.Values = v
23874	return s
23875}
23876
23877// Status filter object to filter results based on specific member account ID
23878// or status type for an organization config rule.
23879type StatusDetailFilters struct {
23880	_ struct{} `type:"structure"`
23881
23882	// The 12-digit account ID of the member account within an organization.
23883	AccountId *string `type:"string"`
23884
23885	// Indicates deployment status for config rule in the member account. When master
23886	// account calls PutOrganizationConfigRule action for the first time, config
23887	// rule status is created in the member account. When master account calls PutOrganizationConfigRule
23888	// action for the second time, config rule status is updated in the member account.
23889	// Config rule status is deleted when the master account deletes OrganizationConfigRule
23890	// and disables service access for config-multiaccountsetup.amazonaws.com.
23891	//
23892	// AWS Config sets the state of the rule to:
23893	//
23894	//    * CREATE_SUCCESSFUL when config rule has been created in the member account.
23895	//
23896	//    * CREATE_IN_PROGRESS when config rule is being created in the member account.
23897	//
23898	//    * CREATE_FAILED when config rule creation has failed in the member account.
23899	//
23900	//    * DELETE_FAILED when config rule deletion has failed in the member account.
23901	//
23902	//    * DELETE_IN_PROGRESS when config rule is being deleted in the member account.
23903	//
23904	//    * DELETE_SUCCESSFUL when config rule has been deleted in the member account.
23905	//
23906	//    * UPDATE_SUCCESSFUL when config rule has been updated in the member account.
23907	//
23908	//    * UPDATE_IN_PROGRESS when config rule is being updated in the member account.
23909	//
23910	//    * UPDATE_FAILED when config rule deletion has failed in the member account.
23911	MemberAccountRuleStatus *string `type:"string" enum:"MemberAccountRuleStatus"`
23912}
23913
23914// String returns the string representation
23915func (s StatusDetailFilters) String() string {
23916	return awsutil.Prettify(s)
23917}
23918
23919// GoString returns the string representation
23920func (s StatusDetailFilters) GoString() string {
23921	return s.String()
23922}
23923
23924// SetAccountId sets the AccountId field's value.
23925func (s *StatusDetailFilters) SetAccountId(v string) *StatusDetailFilters {
23926	s.AccountId = &v
23927	return s
23928}
23929
23930// SetMemberAccountRuleStatus sets the MemberAccountRuleStatus field's value.
23931func (s *StatusDetailFilters) SetMemberAccountRuleStatus(v string) *StatusDetailFilters {
23932	s.MemberAccountRuleStatus = &v
23933	return s
23934}
23935
23936// The input for the StopConfigurationRecorder action.
23937type StopConfigurationRecorderInput struct {
23938	_ struct{} `type:"structure"`
23939
23940	// The name of the recorder object that records each configuration change made
23941	// to the resources.
23942	//
23943	// ConfigurationRecorderName is a required field
23944	ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
23945}
23946
23947// String returns the string representation
23948func (s StopConfigurationRecorderInput) String() string {
23949	return awsutil.Prettify(s)
23950}
23951
23952// GoString returns the string representation
23953func (s StopConfigurationRecorderInput) GoString() string {
23954	return s.String()
23955}
23956
23957// Validate inspects the fields of the type to determine if they are valid.
23958func (s *StopConfigurationRecorderInput) Validate() error {
23959	invalidParams := request.ErrInvalidParams{Context: "StopConfigurationRecorderInput"}
23960	if s.ConfigurationRecorderName == nil {
23961		invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
23962	}
23963	if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
23964		invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
23965	}
23966
23967	if invalidParams.Len() > 0 {
23968		return invalidParams
23969	}
23970	return nil
23971}
23972
23973// SetConfigurationRecorderName sets the ConfigurationRecorderName field's value.
23974func (s *StopConfigurationRecorderInput) SetConfigurationRecorderName(v string) *StopConfigurationRecorderInput {
23975	s.ConfigurationRecorderName = &v
23976	return s
23977}
23978
23979type StopConfigurationRecorderOutput struct {
23980	_ struct{} `type:"structure"`
23981}
23982
23983// String returns the string representation
23984func (s StopConfigurationRecorderOutput) String() string {
23985	return awsutil.Prettify(s)
23986}
23987
23988// GoString returns the string representation
23989func (s StopConfigurationRecorderOutput) GoString() string {
23990	return s.String()
23991}
23992
23993// Provides the details of a stored query.
23994type StoredQuery struct {
23995	_ struct{} `type:"structure"`
23996
23997	// A unique description for the query.
23998	Description *string `type:"string"`
23999
24000	// The expression of the query. For example, SELECT resourceId, resourceType,
24001	// supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType
24002	// = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status
24003	// = 'Off'.
24004	Expression *string `min:"1" type:"string"`
24005
24006	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.
24007	QueryArn *string `min:"1" type:"string"`
24008
24009	// The ID of the query.
24010	QueryId *string `min:"1" type:"string"`
24011
24012	// The name of the query.
24013	//
24014	// QueryName is a required field
24015	QueryName *string `min:"1" type:"string" required:"true"`
24016}
24017
24018// String returns the string representation
24019func (s StoredQuery) String() string {
24020	return awsutil.Prettify(s)
24021}
24022
24023// GoString returns the string representation
24024func (s StoredQuery) GoString() string {
24025	return s.String()
24026}
24027
24028// Validate inspects the fields of the type to determine if they are valid.
24029func (s *StoredQuery) Validate() error {
24030	invalidParams := request.ErrInvalidParams{Context: "StoredQuery"}
24031	if s.Expression != nil && len(*s.Expression) < 1 {
24032		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
24033	}
24034	if s.QueryArn != nil && len(*s.QueryArn) < 1 {
24035		invalidParams.Add(request.NewErrParamMinLen("QueryArn", 1))
24036	}
24037	if s.QueryId != nil && len(*s.QueryId) < 1 {
24038		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
24039	}
24040	if s.QueryName == nil {
24041		invalidParams.Add(request.NewErrParamRequired("QueryName"))
24042	}
24043	if s.QueryName != nil && len(*s.QueryName) < 1 {
24044		invalidParams.Add(request.NewErrParamMinLen("QueryName", 1))
24045	}
24046
24047	if invalidParams.Len() > 0 {
24048		return invalidParams
24049	}
24050	return nil
24051}
24052
24053// SetDescription sets the Description field's value.
24054func (s *StoredQuery) SetDescription(v string) *StoredQuery {
24055	s.Description = &v
24056	return s
24057}
24058
24059// SetExpression sets the Expression field's value.
24060func (s *StoredQuery) SetExpression(v string) *StoredQuery {
24061	s.Expression = &v
24062	return s
24063}
24064
24065// SetQueryArn sets the QueryArn field's value.
24066func (s *StoredQuery) SetQueryArn(v string) *StoredQuery {
24067	s.QueryArn = &v
24068	return s
24069}
24070
24071// SetQueryId sets the QueryId field's value.
24072func (s *StoredQuery) SetQueryId(v string) *StoredQuery {
24073	s.QueryId = &v
24074	return s
24075}
24076
24077// SetQueryName sets the QueryName field's value.
24078func (s *StoredQuery) SetQueryName(v string) *StoredQuery {
24079	s.QueryName = &v
24080	return s
24081}
24082
24083// Returns details of a specific query.
24084type StoredQueryMetadata struct {
24085	_ struct{} `type:"structure"`
24086
24087	// A unique description for the query.
24088	Description *string `type:"string"`
24089
24090	// Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-id.
24091	//
24092	// QueryArn is a required field
24093	QueryArn *string `min:"1" type:"string" required:"true"`
24094
24095	// The ID of the query.
24096	//
24097	// QueryId is a required field
24098	QueryId *string `min:"1" type:"string" required:"true"`
24099
24100	// The name of the query.
24101	//
24102	// QueryName is a required field
24103	QueryName *string `min:"1" type:"string" required:"true"`
24104}
24105
24106// String returns the string representation
24107func (s StoredQueryMetadata) String() string {
24108	return awsutil.Prettify(s)
24109}
24110
24111// GoString returns the string representation
24112func (s StoredQueryMetadata) GoString() string {
24113	return s.String()
24114}
24115
24116// SetDescription sets the Description field's value.
24117func (s *StoredQueryMetadata) SetDescription(v string) *StoredQueryMetadata {
24118	s.Description = &v
24119	return s
24120}
24121
24122// SetQueryArn sets the QueryArn field's value.
24123func (s *StoredQueryMetadata) SetQueryArn(v string) *StoredQueryMetadata {
24124	s.QueryArn = &v
24125	return s
24126}
24127
24128// SetQueryId sets the QueryId field's value.
24129func (s *StoredQueryMetadata) SetQueryId(v string) *StoredQueryMetadata {
24130	s.QueryId = &v
24131	return s
24132}
24133
24134// SetQueryName sets the QueryName field's value.
24135func (s *StoredQueryMetadata) SetQueryName(v string) *StoredQueryMetadata {
24136	s.QueryName = &v
24137	return s
24138}
24139
24140// The tags for the resource. The metadata that you apply to a resource to help
24141// you categorize and organize them. Each tag consists of a key and an optional
24142// value, both of which you define. Tag keys can have a maximum character length
24143// of 128 characters, and tag values can have a maximum length of 256 characters.
24144type Tag struct {
24145	_ struct{} `type:"structure"`
24146
24147	// One part of a key-value pair that make up a tag. A key is a general label
24148	// that acts like a category for more specific tag values.
24149	Key *string `min:"1" type:"string"`
24150
24151	// The optional part of a key-value pair that make up a tag. A value acts as
24152	// a descriptor within a tag category (key).
24153	Value *string `type:"string"`
24154}
24155
24156// String returns the string representation
24157func (s Tag) String() string {
24158	return awsutil.Prettify(s)
24159}
24160
24161// GoString returns the string representation
24162func (s Tag) GoString() string {
24163	return s.String()
24164}
24165
24166// Validate inspects the fields of the type to determine if they are valid.
24167func (s *Tag) Validate() error {
24168	invalidParams := request.ErrInvalidParams{Context: "Tag"}
24169	if s.Key != nil && len(*s.Key) < 1 {
24170		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
24171	}
24172
24173	if invalidParams.Len() > 0 {
24174		return invalidParams
24175	}
24176	return nil
24177}
24178
24179// SetKey sets the Key field's value.
24180func (s *Tag) SetKey(v string) *Tag {
24181	s.Key = &v
24182	return s
24183}
24184
24185// SetValue sets the Value field's value.
24186func (s *Tag) SetValue(v string) *Tag {
24187	s.Value = &v
24188	return s
24189}
24190
24191type TagResourceInput struct {
24192	_ struct{} `type:"structure"`
24193
24194	// The Amazon Resource Name (ARN) that identifies the resource for which to
24195	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
24196	// and AggregatorAuthorization.
24197	//
24198	// ResourceArn is a required field
24199	ResourceArn *string `min:"1" type:"string" required:"true"`
24200
24201	// An array of tag object.
24202	//
24203	// Tags is a required field
24204	Tags []*Tag `min:"1" type:"list" required:"true"`
24205}
24206
24207// String returns the string representation
24208func (s TagResourceInput) String() string {
24209	return awsutil.Prettify(s)
24210}
24211
24212// GoString returns the string representation
24213func (s TagResourceInput) GoString() string {
24214	return s.String()
24215}
24216
24217// Validate inspects the fields of the type to determine if they are valid.
24218func (s *TagResourceInput) Validate() error {
24219	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
24220	if s.ResourceArn == nil {
24221		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24222	}
24223	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24224		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24225	}
24226	if s.Tags == nil {
24227		invalidParams.Add(request.NewErrParamRequired("Tags"))
24228	}
24229	if s.Tags != nil && len(s.Tags) < 1 {
24230		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
24231	}
24232	if s.Tags != nil {
24233		for i, v := range s.Tags {
24234			if v == nil {
24235				continue
24236			}
24237			if err := v.Validate(); err != nil {
24238				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
24239			}
24240		}
24241	}
24242
24243	if invalidParams.Len() > 0 {
24244		return invalidParams
24245	}
24246	return nil
24247}
24248
24249// SetResourceArn sets the ResourceArn field's value.
24250func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
24251	s.ResourceArn = &v
24252	return s
24253}
24254
24255// SetTags sets the Tags field's value.
24256func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
24257	s.Tags = v
24258	return s
24259}
24260
24261type TagResourceOutput struct {
24262	_ struct{} `type:"structure"`
24263}
24264
24265// String returns the string representation
24266func (s TagResourceOutput) String() string {
24267	return awsutil.Prettify(s)
24268}
24269
24270// GoString returns the string representation
24271func (s TagResourceOutput) GoString() string {
24272	return s.String()
24273}
24274
24275// You have reached the limit of the number of tags you can use. You have more
24276// than 50 tags.
24277type TooManyTagsException struct {
24278	_            struct{}                  `type:"structure"`
24279	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24280
24281	Message_ *string `locationName:"message" type:"string"`
24282}
24283
24284// String returns the string representation
24285func (s TooManyTagsException) String() string {
24286	return awsutil.Prettify(s)
24287}
24288
24289// GoString returns the string representation
24290func (s TooManyTagsException) GoString() string {
24291	return s.String()
24292}
24293
24294func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
24295	return &TooManyTagsException{
24296		RespMetadata: v,
24297	}
24298}
24299
24300// Code returns the exception type name.
24301func (s *TooManyTagsException) Code() string {
24302	return "TooManyTagsException"
24303}
24304
24305// Message returns the exception's message.
24306func (s *TooManyTagsException) Message() string {
24307	if s.Message_ != nil {
24308		return *s.Message_
24309	}
24310	return ""
24311}
24312
24313// OrigErr always returns nil, satisfies awserr.Error interface.
24314func (s *TooManyTagsException) OrigErr() error {
24315	return nil
24316}
24317
24318func (s *TooManyTagsException) Error() string {
24319	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24320}
24321
24322// Status code returns the HTTP status code for the request's response error.
24323func (s *TooManyTagsException) StatusCode() int {
24324	return s.RespMetadata.StatusCode
24325}
24326
24327// RequestID returns the service's response RequestID for request.
24328func (s *TooManyTagsException) RequestID() string {
24329	return s.RespMetadata.RequestID
24330}
24331
24332type UntagResourceInput struct {
24333	_ struct{} `type:"structure"`
24334
24335	// The Amazon Resource Name (ARN) that identifies the resource for which to
24336	// list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator
24337	// and AggregatorAuthorization.
24338	//
24339	// ResourceArn is a required field
24340	ResourceArn *string `min:"1" type:"string" required:"true"`
24341
24342	// The keys of the tags to be removed.
24343	//
24344	// TagKeys is a required field
24345	TagKeys []*string `min:"1" type:"list" required:"true"`
24346}
24347
24348// String returns the string representation
24349func (s UntagResourceInput) String() string {
24350	return awsutil.Prettify(s)
24351}
24352
24353// GoString returns the string representation
24354func (s UntagResourceInput) GoString() string {
24355	return s.String()
24356}
24357
24358// Validate inspects the fields of the type to determine if they are valid.
24359func (s *UntagResourceInput) Validate() error {
24360	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
24361	if s.ResourceArn == nil {
24362		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24363	}
24364	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24365		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24366	}
24367	if s.TagKeys == nil {
24368		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
24369	}
24370	if s.TagKeys != nil && len(s.TagKeys) < 1 {
24371		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
24372	}
24373
24374	if invalidParams.Len() > 0 {
24375		return invalidParams
24376	}
24377	return nil
24378}
24379
24380// SetResourceArn sets the ResourceArn field's value.
24381func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
24382	s.ResourceArn = &v
24383	return s
24384}
24385
24386// SetTagKeys sets the TagKeys field's value.
24387func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
24388	s.TagKeys = v
24389	return s
24390}
24391
24392type UntagResourceOutput struct {
24393	_ struct{} `type:"structure"`
24394}
24395
24396// String returns the string representation
24397func (s UntagResourceOutput) String() string {
24398	return awsutil.Prettify(s)
24399}
24400
24401// GoString returns the string representation
24402func (s UntagResourceOutput) GoString() string {
24403	return s.String()
24404}
24405
24406// The requested action is not valid.
24407type ValidationException struct {
24408	_            struct{}                  `type:"structure"`
24409	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24410
24411	Message_ *string `locationName:"message" type:"string"`
24412}
24413
24414// String returns the string representation
24415func (s ValidationException) String() string {
24416	return awsutil.Prettify(s)
24417}
24418
24419// GoString returns the string representation
24420func (s ValidationException) GoString() string {
24421	return s.String()
24422}
24423
24424func newErrorValidationException(v protocol.ResponseMetadata) error {
24425	return &ValidationException{
24426		RespMetadata: v,
24427	}
24428}
24429
24430// Code returns the exception type name.
24431func (s *ValidationException) Code() string {
24432	return "ValidationException"
24433}
24434
24435// Message returns the exception's message.
24436func (s *ValidationException) Message() string {
24437	if s.Message_ != nil {
24438		return *s.Message_
24439	}
24440	return ""
24441}
24442
24443// OrigErr always returns nil, satisfies awserr.Error interface.
24444func (s *ValidationException) OrigErr() error {
24445	return nil
24446}
24447
24448func (s *ValidationException) Error() string {
24449	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24450}
24451
24452// Status code returns the HTTP status code for the request's response error.
24453func (s *ValidationException) StatusCode() int {
24454	return s.RespMetadata.StatusCode
24455}
24456
24457// RequestID returns the service's response RequestID for request.
24458func (s *ValidationException) RequestID() string {
24459	return s.RespMetadata.RequestID
24460}
24461
24462const (
24463	// AggregatedSourceStatusTypeFailed is a AggregatedSourceStatusType enum value
24464	AggregatedSourceStatusTypeFailed = "FAILED"
24465
24466	// AggregatedSourceStatusTypeSucceeded is a AggregatedSourceStatusType enum value
24467	AggregatedSourceStatusTypeSucceeded = "SUCCEEDED"
24468
24469	// AggregatedSourceStatusTypeOutdated is a AggregatedSourceStatusType enum value
24470	AggregatedSourceStatusTypeOutdated = "OUTDATED"
24471)
24472
24473// AggregatedSourceStatusType_Values returns all elements of the AggregatedSourceStatusType enum
24474func AggregatedSourceStatusType_Values() []string {
24475	return []string{
24476		AggregatedSourceStatusTypeFailed,
24477		AggregatedSourceStatusTypeSucceeded,
24478		AggregatedSourceStatusTypeOutdated,
24479	}
24480}
24481
24482const (
24483	// AggregatedSourceTypeAccount is a AggregatedSourceType enum value
24484	AggregatedSourceTypeAccount = "ACCOUNT"
24485
24486	// AggregatedSourceTypeOrganization is a AggregatedSourceType enum value
24487	AggregatedSourceTypeOrganization = "ORGANIZATION"
24488)
24489
24490// AggregatedSourceType_Values returns all elements of the AggregatedSourceType enum
24491func AggregatedSourceType_Values() []string {
24492	return []string{
24493		AggregatedSourceTypeAccount,
24494		AggregatedSourceTypeOrganization,
24495	}
24496}
24497
24498const (
24499	// ChronologicalOrderReverse is a ChronologicalOrder enum value
24500	ChronologicalOrderReverse = "Reverse"
24501
24502	// ChronologicalOrderForward is a ChronologicalOrder enum value
24503	ChronologicalOrderForward = "Forward"
24504)
24505
24506// ChronologicalOrder_Values returns all elements of the ChronologicalOrder enum
24507func ChronologicalOrder_Values() []string {
24508	return []string{
24509		ChronologicalOrderReverse,
24510		ChronologicalOrderForward,
24511	}
24512}
24513
24514const (
24515	// ComplianceTypeCompliant is a ComplianceType enum value
24516	ComplianceTypeCompliant = "COMPLIANT"
24517
24518	// ComplianceTypeNonCompliant is a ComplianceType enum value
24519	ComplianceTypeNonCompliant = "NON_COMPLIANT"
24520
24521	// ComplianceTypeNotApplicable is a ComplianceType enum value
24522	ComplianceTypeNotApplicable = "NOT_APPLICABLE"
24523
24524	// ComplianceTypeInsufficientData is a ComplianceType enum value
24525	ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
24526)
24527
24528// ComplianceType_Values returns all elements of the ComplianceType enum
24529func ComplianceType_Values() []string {
24530	return []string{
24531		ComplianceTypeCompliant,
24532		ComplianceTypeNonCompliant,
24533		ComplianceTypeNotApplicable,
24534		ComplianceTypeInsufficientData,
24535	}
24536}
24537
24538const (
24539	// ConfigRuleComplianceSummaryGroupKeyAccountId is a ConfigRuleComplianceSummaryGroupKey enum value
24540	ConfigRuleComplianceSummaryGroupKeyAccountId = "ACCOUNT_ID"
24541
24542	// ConfigRuleComplianceSummaryGroupKeyAwsRegion is a ConfigRuleComplianceSummaryGroupKey enum value
24543	ConfigRuleComplianceSummaryGroupKeyAwsRegion = "AWS_REGION"
24544)
24545
24546// ConfigRuleComplianceSummaryGroupKey_Values returns all elements of the ConfigRuleComplianceSummaryGroupKey enum
24547func ConfigRuleComplianceSummaryGroupKey_Values() []string {
24548	return []string{
24549		ConfigRuleComplianceSummaryGroupKeyAccountId,
24550		ConfigRuleComplianceSummaryGroupKeyAwsRegion,
24551	}
24552}
24553
24554const (
24555	// ConfigRuleStateActive is a ConfigRuleState enum value
24556	ConfigRuleStateActive = "ACTIVE"
24557
24558	// ConfigRuleStateDeleting is a ConfigRuleState enum value
24559	ConfigRuleStateDeleting = "DELETING"
24560
24561	// ConfigRuleStateDeletingResults is a ConfigRuleState enum value
24562	ConfigRuleStateDeletingResults = "DELETING_RESULTS"
24563
24564	// ConfigRuleStateEvaluating is a ConfigRuleState enum value
24565	ConfigRuleStateEvaluating = "EVALUATING"
24566)
24567
24568// ConfigRuleState_Values returns all elements of the ConfigRuleState enum
24569func ConfigRuleState_Values() []string {
24570	return []string{
24571		ConfigRuleStateActive,
24572		ConfigRuleStateDeleting,
24573		ConfigRuleStateDeletingResults,
24574		ConfigRuleStateEvaluating,
24575	}
24576}
24577
24578const (
24579	// ConfigurationItemStatusOk is a ConfigurationItemStatus enum value
24580	ConfigurationItemStatusOk = "OK"
24581
24582	// ConfigurationItemStatusResourceDiscovered is a ConfigurationItemStatus enum value
24583	ConfigurationItemStatusResourceDiscovered = "ResourceDiscovered"
24584
24585	// ConfigurationItemStatusResourceNotRecorded is a ConfigurationItemStatus enum value
24586	ConfigurationItemStatusResourceNotRecorded = "ResourceNotRecorded"
24587
24588	// ConfigurationItemStatusResourceDeleted is a ConfigurationItemStatus enum value
24589	ConfigurationItemStatusResourceDeleted = "ResourceDeleted"
24590
24591	// ConfigurationItemStatusResourceDeletedNotRecorded is a ConfigurationItemStatus enum value
24592	ConfigurationItemStatusResourceDeletedNotRecorded = "ResourceDeletedNotRecorded"
24593)
24594
24595// ConfigurationItemStatus_Values returns all elements of the ConfigurationItemStatus enum
24596func ConfigurationItemStatus_Values() []string {
24597	return []string{
24598		ConfigurationItemStatusOk,
24599		ConfigurationItemStatusResourceDiscovered,
24600		ConfigurationItemStatusResourceNotRecorded,
24601		ConfigurationItemStatusResourceDeleted,
24602		ConfigurationItemStatusResourceDeletedNotRecorded,
24603	}
24604}
24605
24606const (
24607	// ConformancePackComplianceTypeCompliant is a ConformancePackComplianceType enum value
24608	ConformancePackComplianceTypeCompliant = "COMPLIANT"
24609
24610	// ConformancePackComplianceTypeNonCompliant is a ConformancePackComplianceType enum value
24611	ConformancePackComplianceTypeNonCompliant = "NON_COMPLIANT"
24612)
24613
24614// ConformancePackComplianceType_Values returns all elements of the ConformancePackComplianceType enum
24615func ConformancePackComplianceType_Values() []string {
24616	return []string{
24617		ConformancePackComplianceTypeCompliant,
24618		ConformancePackComplianceTypeNonCompliant,
24619	}
24620}
24621
24622const (
24623	// ConformancePackStateCreateInProgress is a ConformancePackState enum value
24624	ConformancePackStateCreateInProgress = "CREATE_IN_PROGRESS"
24625
24626	// ConformancePackStateCreateComplete is a ConformancePackState enum value
24627	ConformancePackStateCreateComplete = "CREATE_COMPLETE"
24628
24629	// ConformancePackStateCreateFailed is a ConformancePackState enum value
24630	ConformancePackStateCreateFailed = "CREATE_FAILED"
24631
24632	// ConformancePackStateDeleteInProgress is a ConformancePackState enum value
24633	ConformancePackStateDeleteInProgress = "DELETE_IN_PROGRESS"
24634
24635	// ConformancePackStateDeleteFailed is a ConformancePackState enum value
24636	ConformancePackStateDeleteFailed = "DELETE_FAILED"
24637)
24638
24639// ConformancePackState_Values returns all elements of the ConformancePackState enum
24640func ConformancePackState_Values() []string {
24641	return []string{
24642		ConformancePackStateCreateInProgress,
24643		ConformancePackStateCreateComplete,
24644		ConformancePackStateCreateFailed,
24645		ConformancePackStateDeleteInProgress,
24646		ConformancePackStateDeleteFailed,
24647	}
24648}
24649
24650const (
24651	// DeliveryStatusSuccess is a DeliveryStatus enum value
24652	DeliveryStatusSuccess = "Success"
24653
24654	// DeliveryStatusFailure is a DeliveryStatus enum value
24655	DeliveryStatusFailure = "Failure"
24656
24657	// DeliveryStatusNotApplicable is a DeliveryStatus enum value
24658	DeliveryStatusNotApplicable = "Not_Applicable"
24659)
24660
24661// DeliveryStatus_Values returns all elements of the DeliveryStatus enum
24662func DeliveryStatus_Values() []string {
24663	return []string{
24664		DeliveryStatusSuccess,
24665		DeliveryStatusFailure,
24666		DeliveryStatusNotApplicable,
24667	}
24668}
24669
24670const (
24671	// EventSourceAwsConfig is a EventSource enum value
24672	EventSourceAwsConfig = "aws.config"
24673)
24674
24675// EventSource_Values returns all elements of the EventSource enum
24676func EventSource_Values() []string {
24677	return []string{
24678		EventSourceAwsConfig,
24679	}
24680}
24681
24682const (
24683	// MaximumExecutionFrequencyOneHour is a MaximumExecutionFrequency enum value
24684	MaximumExecutionFrequencyOneHour = "One_Hour"
24685
24686	// MaximumExecutionFrequencyThreeHours is a MaximumExecutionFrequency enum value
24687	MaximumExecutionFrequencyThreeHours = "Three_Hours"
24688
24689	// MaximumExecutionFrequencySixHours is a MaximumExecutionFrequency enum value
24690	MaximumExecutionFrequencySixHours = "Six_Hours"
24691
24692	// MaximumExecutionFrequencyTwelveHours is a MaximumExecutionFrequency enum value
24693	MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
24694
24695	// MaximumExecutionFrequencyTwentyFourHours is a MaximumExecutionFrequency enum value
24696	MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
24697)
24698
24699// MaximumExecutionFrequency_Values returns all elements of the MaximumExecutionFrequency enum
24700func MaximumExecutionFrequency_Values() []string {
24701	return []string{
24702		MaximumExecutionFrequencyOneHour,
24703		MaximumExecutionFrequencyThreeHours,
24704		MaximumExecutionFrequencySixHours,
24705		MaximumExecutionFrequencyTwelveHours,
24706		MaximumExecutionFrequencyTwentyFourHours,
24707	}
24708}
24709
24710const (
24711	// MemberAccountRuleStatusCreateSuccessful is a MemberAccountRuleStatus enum value
24712	MemberAccountRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
24713
24714	// MemberAccountRuleStatusCreateInProgress is a MemberAccountRuleStatus enum value
24715	MemberAccountRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
24716
24717	// MemberAccountRuleStatusCreateFailed is a MemberAccountRuleStatus enum value
24718	MemberAccountRuleStatusCreateFailed = "CREATE_FAILED"
24719
24720	// MemberAccountRuleStatusDeleteSuccessful is a MemberAccountRuleStatus enum value
24721	MemberAccountRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
24722
24723	// MemberAccountRuleStatusDeleteFailed is a MemberAccountRuleStatus enum value
24724	MemberAccountRuleStatusDeleteFailed = "DELETE_FAILED"
24725
24726	// MemberAccountRuleStatusDeleteInProgress is a MemberAccountRuleStatus enum value
24727	MemberAccountRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
24728
24729	// MemberAccountRuleStatusUpdateSuccessful is a MemberAccountRuleStatus enum value
24730	MemberAccountRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
24731
24732	// MemberAccountRuleStatusUpdateInProgress is a MemberAccountRuleStatus enum value
24733	MemberAccountRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
24734
24735	// MemberAccountRuleStatusUpdateFailed is a MemberAccountRuleStatus enum value
24736	MemberAccountRuleStatusUpdateFailed = "UPDATE_FAILED"
24737)
24738
24739// MemberAccountRuleStatus_Values returns all elements of the MemberAccountRuleStatus enum
24740func MemberAccountRuleStatus_Values() []string {
24741	return []string{
24742		MemberAccountRuleStatusCreateSuccessful,
24743		MemberAccountRuleStatusCreateInProgress,
24744		MemberAccountRuleStatusCreateFailed,
24745		MemberAccountRuleStatusDeleteSuccessful,
24746		MemberAccountRuleStatusDeleteFailed,
24747		MemberAccountRuleStatusDeleteInProgress,
24748		MemberAccountRuleStatusUpdateSuccessful,
24749		MemberAccountRuleStatusUpdateInProgress,
24750		MemberAccountRuleStatusUpdateFailed,
24751	}
24752}
24753
24754const (
24755	// MessageTypeConfigurationItemChangeNotification is a MessageType enum value
24756	MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
24757
24758	// MessageTypeConfigurationSnapshotDeliveryCompleted is a MessageType enum value
24759	MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
24760
24761	// MessageTypeScheduledNotification is a MessageType enum value
24762	MessageTypeScheduledNotification = "ScheduledNotification"
24763
24764	// MessageTypeOversizedConfigurationItemChangeNotification is a MessageType enum value
24765	MessageTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
24766)
24767
24768// MessageType_Values returns all elements of the MessageType enum
24769func MessageType_Values() []string {
24770	return []string{
24771		MessageTypeConfigurationItemChangeNotification,
24772		MessageTypeConfigurationSnapshotDeliveryCompleted,
24773		MessageTypeScheduledNotification,
24774		MessageTypeOversizedConfigurationItemChangeNotification,
24775	}
24776}
24777
24778const (
24779	// OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
24780	OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
24781
24782	// OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification is a OrganizationConfigRuleTriggerType enum value
24783	OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification = "OversizedConfigurationItemChangeNotification"
24784
24785	// OrganizationConfigRuleTriggerTypeScheduledNotification is a OrganizationConfigRuleTriggerType enum value
24786	OrganizationConfigRuleTriggerTypeScheduledNotification = "ScheduledNotification"
24787)
24788
24789// OrganizationConfigRuleTriggerType_Values returns all elements of the OrganizationConfigRuleTriggerType enum
24790func OrganizationConfigRuleTriggerType_Values() []string {
24791	return []string{
24792		OrganizationConfigRuleTriggerTypeConfigurationItemChangeNotification,
24793		OrganizationConfigRuleTriggerTypeOversizedConfigurationItemChangeNotification,
24794		OrganizationConfigRuleTriggerTypeScheduledNotification,
24795	}
24796}
24797
24798const (
24799	// OrganizationResourceDetailedStatusCreateSuccessful is a OrganizationResourceDetailedStatus enum value
24800	OrganizationResourceDetailedStatusCreateSuccessful = "CREATE_SUCCESSFUL"
24801
24802	// OrganizationResourceDetailedStatusCreateInProgress is a OrganizationResourceDetailedStatus enum value
24803	OrganizationResourceDetailedStatusCreateInProgress = "CREATE_IN_PROGRESS"
24804
24805	// OrganizationResourceDetailedStatusCreateFailed is a OrganizationResourceDetailedStatus enum value
24806	OrganizationResourceDetailedStatusCreateFailed = "CREATE_FAILED"
24807
24808	// OrganizationResourceDetailedStatusDeleteSuccessful is a OrganizationResourceDetailedStatus enum value
24809	OrganizationResourceDetailedStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
24810
24811	// OrganizationResourceDetailedStatusDeleteFailed is a OrganizationResourceDetailedStatus enum value
24812	OrganizationResourceDetailedStatusDeleteFailed = "DELETE_FAILED"
24813
24814	// OrganizationResourceDetailedStatusDeleteInProgress is a OrganizationResourceDetailedStatus enum value
24815	OrganizationResourceDetailedStatusDeleteInProgress = "DELETE_IN_PROGRESS"
24816
24817	// OrganizationResourceDetailedStatusUpdateSuccessful is a OrganizationResourceDetailedStatus enum value
24818	OrganizationResourceDetailedStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
24819
24820	// OrganizationResourceDetailedStatusUpdateInProgress is a OrganizationResourceDetailedStatus enum value
24821	OrganizationResourceDetailedStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
24822
24823	// OrganizationResourceDetailedStatusUpdateFailed is a OrganizationResourceDetailedStatus enum value
24824	OrganizationResourceDetailedStatusUpdateFailed = "UPDATE_FAILED"
24825)
24826
24827// OrganizationResourceDetailedStatus_Values returns all elements of the OrganizationResourceDetailedStatus enum
24828func OrganizationResourceDetailedStatus_Values() []string {
24829	return []string{
24830		OrganizationResourceDetailedStatusCreateSuccessful,
24831		OrganizationResourceDetailedStatusCreateInProgress,
24832		OrganizationResourceDetailedStatusCreateFailed,
24833		OrganizationResourceDetailedStatusDeleteSuccessful,
24834		OrganizationResourceDetailedStatusDeleteFailed,
24835		OrganizationResourceDetailedStatusDeleteInProgress,
24836		OrganizationResourceDetailedStatusUpdateSuccessful,
24837		OrganizationResourceDetailedStatusUpdateInProgress,
24838		OrganizationResourceDetailedStatusUpdateFailed,
24839	}
24840}
24841
24842const (
24843	// OrganizationResourceStatusCreateSuccessful is a OrganizationResourceStatus enum value
24844	OrganizationResourceStatusCreateSuccessful = "CREATE_SUCCESSFUL"
24845
24846	// OrganizationResourceStatusCreateInProgress is a OrganizationResourceStatus enum value
24847	OrganizationResourceStatusCreateInProgress = "CREATE_IN_PROGRESS"
24848
24849	// OrganizationResourceStatusCreateFailed is a OrganizationResourceStatus enum value
24850	OrganizationResourceStatusCreateFailed = "CREATE_FAILED"
24851
24852	// OrganizationResourceStatusDeleteSuccessful is a OrganizationResourceStatus enum value
24853	OrganizationResourceStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
24854
24855	// OrganizationResourceStatusDeleteFailed is a OrganizationResourceStatus enum value
24856	OrganizationResourceStatusDeleteFailed = "DELETE_FAILED"
24857
24858	// OrganizationResourceStatusDeleteInProgress is a OrganizationResourceStatus enum value
24859	OrganizationResourceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
24860
24861	// OrganizationResourceStatusUpdateSuccessful is a OrganizationResourceStatus enum value
24862	OrganizationResourceStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
24863
24864	// OrganizationResourceStatusUpdateInProgress is a OrganizationResourceStatus enum value
24865	OrganizationResourceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
24866
24867	// OrganizationResourceStatusUpdateFailed is a OrganizationResourceStatus enum value
24868	OrganizationResourceStatusUpdateFailed = "UPDATE_FAILED"
24869)
24870
24871// OrganizationResourceStatus_Values returns all elements of the OrganizationResourceStatus enum
24872func OrganizationResourceStatus_Values() []string {
24873	return []string{
24874		OrganizationResourceStatusCreateSuccessful,
24875		OrganizationResourceStatusCreateInProgress,
24876		OrganizationResourceStatusCreateFailed,
24877		OrganizationResourceStatusDeleteSuccessful,
24878		OrganizationResourceStatusDeleteFailed,
24879		OrganizationResourceStatusDeleteInProgress,
24880		OrganizationResourceStatusUpdateSuccessful,
24881		OrganizationResourceStatusUpdateInProgress,
24882		OrganizationResourceStatusUpdateFailed,
24883	}
24884}
24885
24886const (
24887	// OrganizationRuleStatusCreateSuccessful is a OrganizationRuleStatus enum value
24888	OrganizationRuleStatusCreateSuccessful = "CREATE_SUCCESSFUL"
24889
24890	// OrganizationRuleStatusCreateInProgress is a OrganizationRuleStatus enum value
24891	OrganizationRuleStatusCreateInProgress = "CREATE_IN_PROGRESS"
24892
24893	// OrganizationRuleStatusCreateFailed is a OrganizationRuleStatus enum value
24894	OrganizationRuleStatusCreateFailed = "CREATE_FAILED"
24895
24896	// OrganizationRuleStatusDeleteSuccessful is a OrganizationRuleStatus enum value
24897	OrganizationRuleStatusDeleteSuccessful = "DELETE_SUCCESSFUL"
24898
24899	// OrganizationRuleStatusDeleteFailed is a OrganizationRuleStatus enum value
24900	OrganizationRuleStatusDeleteFailed = "DELETE_FAILED"
24901
24902	// OrganizationRuleStatusDeleteInProgress is a OrganizationRuleStatus enum value
24903	OrganizationRuleStatusDeleteInProgress = "DELETE_IN_PROGRESS"
24904
24905	// OrganizationRuleStatusUpdateSuccessful is a OrganizationRuleStatus enum value
24906	OrganizationRuleStatusUpdateSuccessful = "UPDATE_SUCCESSFUL"
24907
24908	// OrganizationRuleStatusUpdateInProgress is a OrganizationRuleStatus enum value
24909	OrganizationRuleStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
24910
24911	// OrganizationRuleStatusUpdateFailed is a OrganizationRuleStatus enum value
24912	OrganizationRuleStatusUpdateFailed = "UPDATE_FAILED"
24913)
24914
24915// OrganizationRuleStatus_Values returns all elements of the OrganizationRuleStatus enum
24916func OrganizationRuleStatus_Values() []string {
24917	return []string{
24918		OrganizationRuleStatusCreateSuccessful,
24919		OrganizationRuleStatusCreateInProgress,
24920		OrganizationRuleStatusCreateFailed,
24921		OrganizationRuleStatusDeleteSuccessful,
24922		OrganizationRuleStatusDeleteFailed,
24923		OrganizationRuleStatusDeleteInProgress,
24924		OrganizationRuleStatusUpdateSuccessful,
24925		OrganizationRuleStatusUpdateInProgress,
24926		OrganizationRuleStatusUpdateFailed,
24927	}
24928}
24929
24930const (
24931	// OwnerCustomLambda is a Owner enum value
24932	OwnerCustomLambda = "CUSTOM_LAMBDA"
24933
24934	// OwnerAws is a Owner enum value
24935	OwnerAws = "AWS"
24936)
24937
24938// Owner_Values returns all elements of the Owner enum
24939func Owner_Values() []string {
24940	return []string{
24941		OwnerCustomLambda,
24942		OwnerAws,
24943	}
24944}
24945
24946const (
24947	// RecorderStatusPending is a RecorderStatus enum value
24948	RecorderStatusPending = "Pending"
24949
24950	// RecorderStatusSuccess is a RecorderStatus enum value
24951	RecorderStatusSuccess = "Success"
24952
24953	// RecorderStatusFailure is a RecorderStatus enum value
24954	RecorderStatusFailure = "Failure"
24955)
24956
24957// RecorderStatus_Values returns all elements of the RecorderStatus enum
24958func RecorderStatus_Values() []string {
24959	return []string{
24960		RecorderStatusPending,
24961		RecorderStatusSuccess,
24962		RecorderStatusFailure,
24963	}
24964}
24965
24966const (
24967	// RemediationExecutionStateQueued is a RemediationExecutionState enum value
24968	RemediationExecutionStateQueued = "QUEUED"
24969
24970	// RemediationExecutionStateInProgress is a RemediationExecutionState enum value
24971	RemediationExecutionStateInProgress = "IN_PROGRESS"
24972
24973	// RemediationExecutionStateSucceeded is a RemediationExecutionState enum value
24974	RemediationExecutionStateSucceeded = "SUCCEEDED"
24975
24976	// RemediationExecutionStateFailed is a RemediationExecutionState enum value
24977	RemediationExecutionStateFailed = "FAILED"
24978)
24979
24980// RemediationExecutionState_Values returns all elements of the RemediationExecutionState enum
24981func RemediationExecutionState_Values() []string {
24982	return []string{
24983		RemediationExecutionStateQueued,
24984		RemediationExecutionStateInProgress,
24985		RemediationExecutionStateSucceeded,
24986		RemediationExecutionStateFailed,
24987	}
24988}
24989
24990const (
24991	// RemediationExecutionStepStateSucceeded is a RemediationExecutionStepState enum value
24992	RemediationExecutionStepStateSucceeded = "SUCCEEDED"
24993
24994	// RemediationExecutionStepStatePending is a RemediationExecutionStepState enum value
24995	RemediationExecutionStepStatePending = "PENDING"
24996
24997	// RemediationExecutionStepStateFailed is a RemediationExecutionStepState enum value
24998	RemediationExecutionStepStateFailed = "FAILED"
24999)
25000
25001// RemediationExecutionStepState_Values returns all elements of the RemediationExecutionStepState enum
25002func RemediationExecutionStepState_Values() []string {
25003	return []string{
25004		RemediationExecutionStepStateSucceeded,
25005		RemediationExecutionStepStatePending,
25006		RemediationExecutionStepStateFailed,
25007	}
25008}
25009
25010const (
25011	// RemediationTargetTypeSsmDocument is a RemediationTargetType enum value
25012	RemediationTargetTypeSsmDocument = "SSM_DOCUMENT"
25013)
25014
25015// RemediationTargetType_Values returns all elements of the RemediationTargetType enum
25016func RemediationTargetType_Values() []string {
25017	return []string{
25018		RemediationTargetTypeSsmDocument,
25019	}
25020}
25021
25022const (
25023	// ResourceCountGroupKeyResourceType is a ResourceCountGroupKey enum value
25024	ResourceCountGroupKeyResourceType = "RESOURCE_TYPE"
25025
25026	// ResourceCountGroupKeyAccountId is a ResourceCountGroupKey enum value
25027	ResourceCountGroupKeyAccountId = "ACCOUNT_ID"
25028
25029	// ResourceCountGroupKeyAwsRegion is a ResourceCountGroupKey enum value
25030	ResourceCountGroupKeyAwsRegion = "AWS_REGION"
25031)
25032
25033// ResourceCountGroupKey_Values returns all elements of the ResourceCountGroupKey enum
25034func ResourceCountGroupKey_Values() []string {
25035	return []string{
25036		ResourceCountGroupKeyResourceType,
25037		ResourceCountGroupKeyAccountId,
25038		ResourceCountGroupKeyAwsRegion,
25039	}
25040}
25041
25042const (
25043	// ResourceTypeAwsEc2CustomerGateway is a ResourceType enum value
25044	ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
25045
25046	// ResourceTypeAwsEc2Eip is a ResourceType enum value
25047	ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
25048
25049	// ResourceTypeAwsEc2Host is a ResourceType enum value
25050	ResourceTypeAwsEc2Host = "AWS::EC2::Host"
25051
25052	// ResourceTypeAwsEc2Instance is a ResourceType enum value
25053	ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
25054
25055	// ResourceTypeAwsEc2InternetGateway is a ResourceType enum value
25056	ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
25057
25058	// ResourceTypeAwsEc2NetworkAcl is a ResourceType enum value
25059	ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
25060
25061	// ResourceTypeAwsEc2NetworkInterface is a ResourceType enum value
25062	ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
25063
25064	// ResourceTypeAwsEc2RouteTable is a ResourceType enum value
25065	ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
25066
25067	// ResourceTypeAwsEc2SecurityGroup is a ResourceType enum value
25068	ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
25069
25070	// ResourceTypeAwsEc2Subnet is a ResourceType enum value
25071	ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
25072
25073	// ResourceTypeAwsCloudTrailTrail is a ResourceType enum value
25074	ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
25075
25076	// ResourceTypeAwsEc2Volume is a ResourceType enum value
25077	ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
25078
25079	// ResourceTypeAwsEc2Vpc is a ResourceType enum value
25080	ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
25081
25082	// ResourceTypeAwsEc2Vpnconnection is a ResourceType enum value
25083	ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
25084
25085	// ResourceTypeAwsEc2Vpngateway is a ResourceType enum value
25086	ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
25087
25088	// ResourceTypeAwsEc2RegisteredHainstance is a ResourceType enum value
25089	ResourceTypeAwsEc2RegisteredHainstance = "AWS::EC2::RegisteredHAInstance"
25090
25091	// ResourceTypeAwsEc2NatGateway is a ResourceType enum value
25092	ResourceTypeAwsEc2NatGateway = "AWS::EC2::NatGateway"
25093
25094	// ResourceTypeAwsEc2EgressOnlyInternetGateway is a ResourceType enum value
25095	ResourceTypeAwsEc2EgressOnlyInternetGateway = "AWS::EC2::EgressOnlyInternetGateway"
25096
25097	// ResourceTypeAwsEc2Vpcendpoint is a ResourceType enum value
25098	ResourceTypeAwsEc2Vpcendpoint = "AWS::EC2::VPCEndpoint"
25099
25100	// ResourceTypeAwsEc2VpcendpointService is a ResourceType enum value
25101	ResourceTypeAwsEc2VpcendpointService = "AWS::EC2::VPCEndpointService"
25102
25103	// ResourceTypeAwsEc2FlowLog is a ResourceType enum value
25104	ResourceTypeAwsEc2FlowLog = "AWS::EC2::FlowLog"
25105
25106	// ResourceTypeAwsEc2VpcpeeringConnection is a ResourceType enum value
25107	ResourceTypeAwsEc2VpcpeeringConnection = "AWS::EC2::VPCPeeringConnection"
25108
25109	// ResourceTypeAwsElasticsearchDomain is a ResourceType enum value
25110	ResourceTypeAwsElasticsearchDomain = "AWS::Elasticsearch::Domain"
25111
25112	// ResourceTypeAwsIamGroup is a ResourceType enum value
25113	ResourceTypeAwsIamGroup = "AWS::IAM::Group"
25114
25115	// ResourceTypeAwsIamPolicy is a ResourceType enum value
25116	ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
25117
25118	// ResourceTypeAwsIamRole is a ResourceType enum value
25119	ResourceTypeAwsIamRole = "AWS::IAM::Role"
25120
25121	// ResourceTypeAwsIamUser is a ResourceType enum value
25122	ResourceTypeAwsIamUser = "AWS::IAM::User"
25123
25124	// ResourceTypeAwsElasticLoadBalancingV2LoadBalancer is a ResourceType enum value
25125	ResourceTypeAwsElasticLoadBalancingV2LoadBalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer"
25126
25127	// ResourceTypeAwsAcmCertificate is a ResourceType enum value
25128	ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
25129
25130	// ResourceTypeAwsRdsDbinstance is a ResourceType enum value
25131	ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
25132
25133	// ResourceTypeAwsRdsDbsubnetGroup is a ResourceType enum value
25134	ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
25135
25136	// ResourceTypeAwsRdsDbsecurityGroup is a ResourceType enum value
25137	ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
25138
25139	// ResourceTypeAwsRdsDbsnapshot is a ResourceType enum value
25140	ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
25141
25142	// ResourceTypeAwsRdsDbcluster is a ResourceType enum value
25143	ResourceTypeAwsRdsDbcluster = "AWS::RDS::DBCluster"
25144
25145	// ResourceTypeAwsRdsDbclusterSnapshot is a ResourceType enum value
25146	ResourceTypeAwsRdsDbclusterSnapshot = "AWS::RDS::DBClusterSnapshot"
25147
25148	// ResourceTypeAwsRdsEventSubscription is a ResourceType enum value
25149	ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
25150
25151	// ResourceTypeAwsS3Bucket is a ResourceType enum value
25152	ResourceTypeAwsS3Bucket = "AWS::S3::Bucket"
25153
25154	// ResourceTypeAwsS3AccountPublicAccessBlock is a ResourceType enum value
25155	ResourceTypeAwsS3AccountPublicAccessBlock = "AWS::S3::AccountPublicAccessBlock"
25156
25157	// ResourceTypeAwsRedshiftCluster is a ResourceType enum value
25158	ResourceTypeAwsRedshiftCluster = "AWS::Redshift::Cluster"
25159
25160	// ResourceTypeAwsRedshiftClusterSnapshot is a ResourceType enum value
25161	ResourceTypeAwsRedshiftClusterSnapshot = "AWS::Redshift::ClusterSnapshot"
25162
25163	// ResourceTypeAwsRedshiftClusterParameterGroup is a ResourceType enum value
25164	ResourceTypeAwsRedshiftClusterParameterGroup = "AWS::Redshift::ClusterParameterGroup"
25165
25166	// ResourceTypeAwsRedshiftClusterSecurityGroup is a ResourceType enum value
25167	ResourceTypeAwsRedshiftClusterSecurityGroup = "AWS::Redshift::ClusterSecurityGroup"
25168
25169	// ResourceTypeAwsRedshiftClusterSubnetGroup is a ResourceType enum value
25170	ResourceTypeAwsRedshiftClusterSubnetGroup = "AWS::Redshift::ClusterSubnetGroup"
25171
25172	// ResourceTypeAwsRedshiftEventSubscription is a ResourceType enum value
25173	ResourceTypeAwsRedshiftEventSubscription = "AWS::Redshift::EventSubscription"
25174
25175	// ResourceTypeAwsSsmManagedInstanceInventory is a ResourceType enum value
25176	ResourceTypeAwsSsmManagedInstanceInventory = "AWS::SSM::ManagedInstanceInventory"
25177
25178	// ResourceTypeAwsCloudWatchAlarm is a ResourceType enum value
25179	ResourceTypeAwsCloudWatchAlarm = "AWS::CloudWatch::Alarm"
25180
25181	// ResourceTypeAwsCloudFormationStack is a ResourceType enum value
25182	ResourceTypeAwsCloudFormationStack = "AWS::CloudFormation::Stack"
25183
25184	// ResourceTypeAwsElasticLoadBalancingLoadBalancer is a ResourceType enum value
25185	ResourceTypeAwsElasticLoadBalancingLoadBalancer = "AWS::ElasticLoadBalancing::LoadBalancer"
25186
25187	// ResourceTypeAwsAutoScalingAutoScalingGroup is a ResourceType enum value
25188	ResourceTypeAwsAutoScalingAutoScalingGroup = "AWS::AutoScaling::AutoScalingGroup"
25189
25190	// ResourceTypeAwsAutoScalingLaunchConfiguration is a ResourceType enum value
25191	ResourceTypeAwsAutoScalingLaunchConfiguration = "AWS::AutoScaling::LaunchConfiguration"
25192
25193	// ResourceTypeAwsAutoScalingScalingPolicy is a ResourceType enum value
25194	ResourceTypeAwsAutoScalingScalingPolicy = "AWS::AutoScaling::ScalingPolicy"
25195
25196	// ResourceTypeAwsAutoScalingScheduledAction is a ResourceType enum value
25197	ResourceTypeAwsAutoScalingScheduledAction = "AWS::AutoScaling::ScheduledAction"
25198
25199	// ResourceTypeAwsDynamoDbTable is a ResourceType enum value
25200	ResourceTypeAwsDynamoDbTable = "AWS::DynamoDB::Table"
25201
25202	// ResourceTypeAwsCodeBuildProject is a ResourceType enum value
25203	ResourceTypeAwsCodeBuildProject = "AWS::CodeBuild::Project"
25204
25205	// ResourceTypeAwsWafRateBasedRule is a ResourceType enum value
25206	ResourceTypeAwsWafRateBasedRule = "AWS::WAF::RateBasedRule"
25207
25208	// ResourceTypeAwsWafRule is a ResourceType enum value
25209	ResourceTypeAwsWafRule = "AWS::WAF::Rule"
25210
25211	// ResourceTypeAwsWafRuleGroup is a ResourceType enum value
25212	ResourceTypeAwsWafRuleGroup = "AWS::WAF::RuleGroup"
25213
25214	// ResourceTypeAwsWafWebAcl is a ResourceType enum value
25215	ResourceTypeAwsWafWebAcl = "AWS::WAF::WebACL"
25216
25217	// ResourceTypeAwsWafregionalRateBasedRule is a ResourceType enum value
25218	ResourceTypeAwsWafregionalRateBasedRule = "AWS::WAFRegional::RateBasedRule"
25219
25220	// ResourceTypeAwsWafregionalRule is a ResourceType enum value
25221	ResourceTypeAwsWafregionalRule = "AWS::WAFRegional::Rule"
25222
25223	// ResourceTypeAwsWafregionalRuleGroup is a ResourceType enum value
25224	ResourceTypeAwsWafregionalRuleGroup = "AWS::WAFRegional::RuleGroup"
25225
25226	// ResourceTypeAwsWafregionalWebAcl is a ResourceType enum value
25227	ResourceTypeAwsWafregionalWebAcl = "AWS::WAFRegional::WebACL"
25228
25229	// ResourceTypeAwsCloudFrontDistribution is a ResourceType enum value
25230	ResourceTypeAwsCloudFrontDistribution = "AWS::CloudFront::Distribution"
25231
25232	// ResourceTypeAwsCloudFrontStreamingDistribution is a ResourceType enum value
25233	ResourceTypeAwsCloudFrontStreamingDistribution = "AWS::CloudFront::StreamingDistribution"
25234
25235	// ResourceTypeAwsLambdaFunction is a ResourceType enum value
25236	ResourceTypeAwsLambdaFunction = "AWS::Lambda::Function"
25237
25238	// ResourceTypeAwsNetworkFirewallFirewall is a ResourceType enum value
25239	ResourceTypeAwsNetworkFirewallFirewall = "AWS::NetworkFirewall::Firewall"
25240
25241	// ResourceTypeAwsNetworkFirewallFirewallPolicy is a ResourceType enum value
25242	ResourceTypeAwsNetworkFirewallFirewallPolicy = "AWS::NetworkFirewall::FirewallPolicy"
25243
25244	// ResourceTypeAwsNetworkFirewallRuleGroup is a ResourceType enum value
25245	ResourceTypeAwsNetworkFirewallRuleGroup = "AWS::NetworkFirewall::RuleGroup"
25246
25247	// ResourceTypeAwsElasticBeanstalkApplication is a ResourceType enum value
25248	ResourceTypeAwsElasticBeanstalkApplication = "AWS::ElasticBeanstalk::Application"
25249
25250	// ResourceTypeAwsElasticBeanstalkApplicationVersion is a ResourceType enum value
25251	ResourceTypeAwsElasticBeanstalkApplicationVersion = "AWS::ElasticBeanstalk::ApplicationVersion"
25252
25253	// ResourceTypeAwsElasticBeanstalkEnvironment is a ResourceType enum value
25254	ResourceTypeAwsElasticBeanstalkEnvironment = "AWS::ElasticBeanstalk::Environment"
25255
25256	// ResourceTypeAwsWafv2WebAcl is a ResourceType enum value
25257	ResourceTypeAwsWafv2WebAcl = "AWS::WAFv2::WebACL"
25258
25259	// ResourceTypeAwsWafv2RuleGroup is a ResourceType enum value
25260	ResourceTypeAwsWafv2RuleGroup = "AWS::WAFv2::RuleGroup"
25261
25262	// ResourceTypeAwsWafv2Ipset is a ResourceType enum value
25263	ResourceTypeAwsWafv2Ipset = "AWS::WAFv2::IPSet"
25264
25265	// ResourceTypeAwsWafv2RegexPatternSet is a ResourceType enum value
25266	ResourceTypeAwsWafv2RegexPatternSet = "AWS::WAFv2::RegexPatternSet"
25267
25268	// ResourceTypeAwsWafv2ManagedRuleSet is a ResourceType enum value
25269	ResourceTypeAwsWafv2ManagedRuleSet = "AWS::WAFv2::ManagedRuleSet"
25270
25271	// ResourceTypeAwsXrayEncryptionConfig is a ResourceType enum value
25272	ResourceTypeAwsXrayEncryptionConfig = "AWS::XRay::EncryptionConfig"
25273
25274	// ResourceTypeAwsSsmAssociationCompliance is a ResourceType enum value
25275	ResourceTypeAwsSsmAssociationCompliance = "AWS::SSM::AssociationCompliance"
25276
25277	// ResourceTypeAwsSsmPatchCompliance is a ResourceType enum value
25278	ResourceTypeAwsSsmPatchCompliance = "AWS::SSM::PatchCompliance"
25279
25280	// ResourceTypeAwsShieldProtection is a ResourceType enum value
25281	ResourceTypeAwsShieldProtection = "AWS::Shield::Protection"
25282
25283	// ResourceTypeAwsShieldRegionalProtection is a ResourceType enum value
25284	ResourceTypeAwsShieldRegionalProtection = "AWS::ShieldRegional::Protection"
25285
25286	// ResourceTypeAwsConfigResourceCompliance is a ResourceType enum value
25287	ResourceTypeAwsConfigResourceCompliance = "AWS::Config::ResourceCompliance"
25288
25289	// ResourceTypeAwsApiGatewayStage is a ResourceType enum value
25290	ResourceTypeAwsApiGatewayStage = "AWS::ApiGateway::Stage"
25291
25292	// ResourceTypeAwsApiGatewayRestApi is a ResourceType enum value
25293	ResourceTypeAwsApiGatewayRestApi = "AWS::ApiGateway::RestApi"
25294
25295	// ResourceTypeAwsApiGatewayV2Stage is a ResourceType enum value
25296	ResourceTypeAwsApiGatewayV2Stage = "AWS::ApiGatewayV2::Stage"
25297
25298	// ResourceTypeAwsApiGatewayV2Api is a ResourceType enum value
25299	ResourceTypeAwsApiGatewayV2Api = "AWS::ApiGatewayV2::Api"
25300
25301	// ResourceTypeAwsCodePipelinePipeline is a ResourceType enum value
25302	ResourceTypeAwsCodePipelinePipeline = "AWS::CodePipeline::Pipeline"
25303
25304	// ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct is a ResourceType enum value
25305	ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct = "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
25306
25307	// ResourceTypeAwsServiceCatalogCloudFormationProduct is a ResourceType enum value
25308	ResourceTypeAwsServiceCatalogCloudFormationProduct = "AWS::ServiceCatalog::CloudFormationProduct"
25309
25310	// ResourceTypeAwsServiceCatalogPortfolio is a ResourceType enum value
25311	ResourceTypeAwsServiceCatalogPortfolio = "AWS::ServiceCatalog::Portfolio"
25312
25313	// ResourceTypeAwsSqsQueue is a ResourceType enum value
25314	ResourceTypeAwsSqsQueue = "AWS::SQS::Queue"
25315
25316	// ResourceTypeAwsKmsKey is a ResourceType enum value
25317	ResourceTypeAwsKmsKey = "AWS::KMS::Key"
25318
25319	// ResourceTypeAwsQldbLedger is a ResourceType enum value
25320	ResourceTypeAwsQldbLedger = "AWS::QLDB::Ledger"
25321
25322	// ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value
25323	ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret"
25324
25325	// ResourceTypeAwsSnsTopic is a ResourceType enum value
25326	ResourceTypeAwsSnsTopic = "AWS::SNS::Topic"
25327
25328	// ResourceTypeAwsSsmFileData is a ResourceType enum value
25329	ResourceTypeAwsSsmFileData = "AWS::SSM::FileData"
25330)
25331
25332// ResourceType_Values returns all elements of the ResourceType enum
25333func ResourceType_Values() []string {
25334	return []string{
25335		ResourceTypeAwsEc2CustomerGateway,
25336		ResourceTypeAwsEc2Eip,
25337		ResourceTypeAwsEc2Host,
25338		ResourceTypeAwsEc2Instance,
25339		ResourceTypeAwsEc2InternetGateway,
25340		ResourceTypeAwsEc2NetworkAcl,
25341		ResourceTypeAwsEc2NetworkInterface,
25342		ResourceTypeAwsEc2RouteTable,
25343		ResourceTypeAwsEc2SecurityGroup,
25344		ResourceTypeAwsEc2Subnet,
25345		ResourceTypeAwsCloudTrailTrail,
25346		ResourceTypeAwsEc2Volume,
25347		ResourceTypeAwsEc2Vpc,
25348		ResourceTypeAwsEc2Vpnconnection,
25349		ResourceTypeAwsEc2Vpngateway,
25350		ResourceTypeAwsEc2RegisteredHainstance,
25351		ResourceTypeAwsEc2NatGateway,
25352		ResourceTypeAwsEc2EgressOnlyInternetGateway,
25353		ResourceTypeAwsEc2Vpcendpoint,
25354		ResourceTypeAwsEc2VpcendpointService,
25355		ResourceTypeAwsEc2FlowLog,
25356		ResourceTypeAwsEc2VpcpeeringConnection,
25357		ResourceTypeAwsElasticsearchDomain,
25358		ResourceTypeAwsIamGroup,
25359		ResourceTypeAwsIamPolicy,
25360		ResourceTypeAwsIamRole,
25361		ResourceTypeAwsIamUser,
25362		ResourceTypeAwsElasticLoadBalancingV2LoadBalancer,
25363		ResourceTypeAwsAcmCertificate,
25364		ResourceTypeAwsRdsDbinstance,
25365		ResourceTypeAwsRdsDbsubnetGroup,
25366		ResourceTypeAwsRdsDbsecurityGroup,
25367		ResourceTypeAwsRdsDbsnapshot,
25368		ResourceTypeAwsRdsDbcluster,
25369		ResourceTypeAwsRdsDbclusterSnapshot,
25370		ResourceTypeAwsRdsEventSubscription,
25371		ResourceTypeAwsS3Bucket,
25372		ResourceTypeAwsS3AccountPublicAccessBlock,
25373		ResourceTypeAwsRedshiftCluster,
25374		ResourceTypeAwsRedshiftClusterSnapshot,
25375		ResourceTypeAwsRedshiftClusterParameterGroup,
25376		ResourceTypeAwsRedshiftClusterSecurityGroup,
25377		ResourceTypeAwsRedshiftClusterSubnetGroup,
25378		ResourceTypeAwsRedshiftEventSubscription,
25379		ResourceTypeAwsSsmManagedInstanceInventory,
25380		ResourceTypeAwsCloudWatchAlarm,
25381		ResourceTypeAwsCloudFormationStack,
25382		ResourceTypeAwsElasticLoadBalancingLoadBalancer,
25383		ResourceTypeAwsAutoScalingAutoScalingGroup,
25384		ResourceTypeAwsAutoScalingLaunchConfiguration,
25385		ResourceTypeAwsAutoScalingScalingPolicy,
25386		ResourceTypeAwsAutoScalingScheduledAction,
25387		ResourceTypeAwsDynamoDbTable,
25388		ResourceTypeAwsCodeBuildProject,
25389		ResourceTypeAwsWafRateBasedRule,
25390		ResourceTypeAwsWafRule,
25391		ResourceTypeAwsWafRuleGroup,
25392		ResourceTypeAwsWafWebAcl,
25393		ResourceTypeAwsWafregionalRateBasedRule,
25394		ResourceTypeAwsWafregionalRule,
25395		ResourceTypeAwsWafregionalRuleGroup,
25396		ResourceTypeAwsWafregionalWebAcl,
25397		ResourceTypeAwsCloudFrontDistribution,
25398		ResourceTypeAwsCloudFrontStreamingDistribution,
25399		ResourceTypeAwsLambdaFunction,
25400		ResourceTypeAwsNetworkFirewallFirewall,
25401		ResourceTypeAwsNetworkFirewallFirewallPolicy,
25402		ResourceTypeAwsNetworkFirewallRuleGroup,
25403		ResourceTypeAwsElasticBeanstalkApplication,
25404		ResourceTypeAwsElasticBeanstalkApplicationVersion,
25405		ResourceTypeAwsElasticBeanstalkEnvironment,
25406		ResourceTypeAwsWafv2WebAcl,
25407		ResourceTypeAwsWafv2RuleGroup,
25408		ResourceTypeAwsWafv2Ipset,
25409		ResourceTypeAwsWafv2RegexPatternSet,
25410		ResourceTypeAwsWafv2ManagedRuleSet,
25411		ResourceTypeAwsXrayEncryptionConfig,
25412		ResourceTypeAwsSsmAssociationCompliance,
25413		ResourceTypeAwsSsmPatchCompliance,
25414		ResourceTypeAwsShieldProtection,
25415		ResourceTypeAwsShieldRegionalProtection,
25416		ResourceTypeAwsConfigResourceCompliance,
25417		ResourceTypeAwsApiGatewayStage,
25418		ResourceTypeAwsApiGatewayRestApi,
25419		ResourceTypeAwsApiGatewayV2Stage,
25420		ResourceTypeAwsApiGatewayV2Api,
25421		ResourceTypeAwsCodePipelinePipeline,
25422		ResourceTypeAwsServiceCatalogCloudFormationProvisionedProduct,
25423		ResourceTypeAwsServiceCatalogCloudFormationProduct,
25424		ResourceTypeAwsServiceCatalogPortfolio,
25425		ResourceTypeAwsSqsQueue,
25426		ResourceTypeAwsKmsKey,
25427		ResourceTypeAwsQldbLedger,
25428		ResourceTypeAwsSecretsManagerSecret,
25429		ResourceTypeAwsSnsTopic,
25430		ResourceTypeAwsSsmFileData,
25431	}
25432}
25433
25434const (
25435	// ResourceValueTypeResourceId is a ResourceValueType enum value
25436	ResourceValueTypeResourceId = "RESOURCE_ID"
25437)
25438
25439// ResourceValueType_Values returns all elements of the ResourceValueType enum
25440func ResourceValueType_Values() []string {
25441	return []string{
25442		ResourceValueTypeResourceId,
25443	}
25444}
25445