1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package auditmanager
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/restjson"
14)
15
16const opAssociateAssessmentReportEvidenceFolder = "AssociateAssessmentReportEvidenceFolder"
17
18// AssociateAssessmentReportEvidenceFolderRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateAssessmentReportEvidenceFolder 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 AssociateAssessmentReportEvidenceFolder for more information on using the AssociateAssessmentReportEvidenceFolder
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 AssociateAssessmentReportEvidenceFolderRequest method.
34//    req, resp := client.AssociateAssessmentReportEvidenceFolderRequest(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/auditmanager-2017-07-25/AssociateAssessmentReportEvidenceFolder
42func (c *AuditManager) AssociateAssessmentReportEvidenceFolderRequest(input *AssociateAssessmentReportEvidenceFolderInput) (req *request.Request, output *AssociateAssessmentReportEvidenceFolderOutput) {
43	op := &request.Operation{
44		Name:       opAssociateAssessmentReportEvidenceFolder,
45		HTTPMethod: "PUT",
46		HTTPPath:   "/assessments/{assessmentId}/associateToAssessmentReport",
47	}
48
49	if input == nil {
50		input = &AssociateAssessmentReportEvidenceFolderInput{}
51	}
52
53	output = &AssociateAssessmentReportEvidenceFolderOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateAssessmentReportEvidenceFolder API operation for AWS Audit Manager.
60//
61// Associates an evidence folder to an assessment report in a Audit Manager
62// assessment.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for AWS Audit Manager's
69// API operation AssociateAssessmentReportEvidenceFolder for usage and error information.
70//
71// Returned Error Types:
72//   * ValidationException
73//   The request has invalid or missing parameters.
74//
75//   * AccessDeniedException
76//   Your account isn't registered with Audit Manager. Check the delegated administrator
77//   setup on the Audit Manager settings page, and try again.
78//
79//   * InternalServerException
80//   An internal service error occurred during the processing of your request.
81//   Try again later.
82//
83//   * ResourceNotFoundException
84//   The resource that's specified in the request can't be found.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/AssociateAssessmentReportEvidenceFolder
87func (c *AuditManager) AssociateAssessmentReportEvidenceFolder(input *AssociateAssessmentReportEvidenceFolderInput) (*AssociateAssessmentReportEvidenceFolderOutput, error) {
88	req, out := c.AssociateAssessmentReportEvidenceFolderRequest(input)
89	return out, req.Send()
90}
91
92// AssociateAssessmentReportEvidenceFolderWithContext is the same as AssociateAssessmentReportEvidenceFolder with the addition of
93// the ability to pass a context and additional request options.
94//
95// See AssociateAssessmentReportEvidenceFolder for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *AuditManager) AssociateAssessmentReportEvidenceFolderWithContext(ctx aws.Context, input *AssociateAssessmentReportEvidenceFolderInput, opts ...request.Option) (*AssociateAssessmentReportEvidenceFolderOutput, error) {
102	req, out := c.AssociateAssessmentReportEvidenceFolderRequest(input)
103	req.SetContext(ctx)
104	req.ApplyOptions(opts...)
105	return out, req.Send()
106}
107
108const opBatchAssociateAssessmentReportEvidence = "BatchAssociateAssessmentReportEvidence"
109
110// BatchAssociateAssessmentReportEvidenceRequest generates a "aws/request.Request" representing the
111// client's request for the BatchAssociateAssessmentReportEvidence operation. The "output" return
112// value will be populated with the request's response once the request completes
113// successfully.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
117//
118// See BatchAssociateAssessmentReportEvidence for more information on using the BatchAssociateAssessmentReportEvidence
119// API call, and error handling.
120//
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
123//
124//
125//    // Example sending a request using the BatchAssociateAssessmentReportEvidenceRequest method.
126//    req, resp := client.BatchAssociateAssessmentReportEvidenceRequest(params)
127//
128//    err := req.Send()
129//    if err == nil { // resp is now filled
130//        fmt.Println(resp)
131//    }
132//
133// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchAssociateAssessmentReportEvidence
134func (c *AuditManager) BatchAssociateAssessmentReportEvidenceRequest(input *BatchAssociateAssessmentReportEvidenceInput) (req *request.Request, output *BatchAssociateAssessmentReportEvidenceOutput) {
135	op := &request.Operation{
136		Name:       opBatchAssociateAssessmentReportEvidence,
137		HTTPMethod: "PUT",
138		HTTPPath:   "/assessments/{assessmentId}/batchAssociateToAssessmentReport",
139	}
140
141	if input == nil {
142		input = &BatchAssociateAssessmentReportEvidenceInput{}
143	}
144
145	output = &BatchAssociateAssessmentReportEvidenceOutput{}
146	req = c.newRequest(op, input, output)
147	return
148}
149
150// BatchAssociateAssessmentReportEvidence API operation for AWS Audit Manager.
151//
152// Associates a list of evidence to an assessment report in an Audit Manager
153// assessment.
154//
155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
156// with awserr.Error's Code and Message methods to get detailed information about
157// the error.
158//
159// See the AWS API reference guide for AWS Audit Manager's
160// API operation BatchAssociateAssessmentReportEvidence for usage and error information.
161//
162// Returned Error Types:
163//   * ValidationException
164//   The request has invalid or missing parameters.
165//
166//   * AccessDeniedException
167//   Your account isn't registered with Audit Manager. Check the delegated administrator
168//   setup on the Audit Manager settings page, and try again.
169//
170//   * InternalServerException
171//   An internal service error occurred during the processing of your request.
172//   Try again later.
173//
174//   * ResourceNotFoundException
175//   The resource that's specified in the request can't be found.
176//
177// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchAssociateAssessmentReportEvidence
178func (c *AuditManager) BatchAssociateAssessmentReportEvidence(input *BatchAssociateAssessmentReportEvidenceInput) (*BatchAssociateAssessmentReportEvidenceOutput, error) {
179	req, out := c.BatchAssociateAssessmentReportEvidenceRequest(input)
180	return out, req.Send()
181}
182
183// BatchAssociateAssessmentReportEvidenceWithContext is the same as BatchAssociateAssessmentReportEvidence with the addition of
184// the ability to pass a context and additional request options.
185//
186// See BatchAssociateAssessmentReportEvidence for details on how to use this API operation.
187//
188// The context must be non-nil and will be used for request cancellation. If
189// the context is nil a panic will occur. In the future the SDK may create
190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
191// for more information on using Contexts.
192func (c *AuditManager) BatchAssociateAssessmentReportEvidenceWithContext(ctx aws.Context, input *BatchAssociateAssessmentReportEvidenceInput, opts ...request.Option) (*BatchAssociateAssessmentReportEvidenceOutput, error) {
193	req, out := c.BatchAssociateAssessmentReportEvidenceRequest(input)
194	req.SetContext(ctx)
195	req.ApplyOptions(opts...)
196	return out, req.Send()
197}
198
199const opBatchCreateDelegationByAssessment = "BatchCreateDelegationByAssessment"
200
201// BatchCreateDelegationByAssessmentRequest generates a "aws/request.Request" representing the
202// client's request for the BatchCreateDelegationByAssessment operation. The "output" return
203// value will be populated with the request's response once the request completes
204// successfully.
205//
206// Use "Send" method on the returned Request to send the API call to the service.
207// the "output" return value is not valid until after Send returns without error.
208//
209// See BatchCreateDelegationByAssessment for more information on using the BatchCreateDelegationByAssessment
210// API call, and error handling.
211//
212// This method is useful when you want to inject custom logic or configuration
213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
214//
215//
216//    // Example sending a request using the BatchCreateDelegationByAssessmentRequest method.
217//    req, resp := client.BatchCreateDelegationByAssessmentRequest(params)
218//
219//    err := req.Send()
220//    if err == nil { // resp is now filled
221//        fmt.Println(resp)
222//    }
223//
224// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchCreateDelegationByAssessment
225func (c *AuditManager) BatchCreateDelegationByAssessmentRequest(input *BatchCreateDelegationByAssessmentInput) (req *request.Request, output *BatchCreateDelegationByAssessmentOutput) {
226	op := &request.Operation{
227		Name:       opBatchCreateDelegationByAssessment,
228		HTTPMethod: "POST",
229		HTTPPath:   "/assessments/{assessmentId}/delegations",
230	}
231
232	if input == nil {
233		input = &BatchCreateDelegationByAssessmentInput{}
234	}
235
236	output = &BatchCreateDelegationByAssessmentOutput{}
237	req = c.newRequest(op, input, output)
238	return
239}
240
241// BatchCreateDelegationByAssessment API operation for AWS Audit Manager.
242//
243// Creates a batch of delegations for an assessment in Audit Manager.
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 Audit Manager's
250// API operation BatchCreateDelegationByAssessment for usage and error information.
251//
252// Returned Error Types:
253//   * ResourceNotFoundException
254//   The resource that's specified in the request can't be found.
255//
256//   * AccessDeniedException
257//   Your account isn't registered with Audit Manager. Check the delegated administrator
258//   setup on the Audit Manager settings page, and try again.
259//
260//   * ValidationException
261//   The request has invalid or missing parameters.
262//
263//   * InternalServerException
264//   An internal service error occurred during the processing of your request.
265//   Try again later.
266//
267// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchCreateDelegationByAssessment
268func (c *AuditManager) BatchCreateDelegationByAssessment(input *BatchCreateDelegationByAssessmentInput) (*BatchCreateDelegationByAssessmentOutput, error) {
269	req, out := c.BatchCreateDelegationByAssessmentRequest(input)
270	return out, req.Send()
271}
272
273// BatchCreateDelegationByAssessmentWithContext is the same as BatchCreateDelegationByAssessment with the addition of
274// the ability to pass a context and additional request options.
275//
276// See BatchCreateDelegationByAssessment for details on how to use this API operation.
277//
278// The context must be non-nil and will be used for request cancellation. If
279// the context is nil a panic will occur. In the future the SDK may create
280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
281// for more information on using Contexts.
282func (c *AuditManager) BatchCreateDelegationByAssessmentWithContext(ctx aws.Context, input *BatchCreateDelegationByAssessmentInput, opts ...request.Option) (*BatchCreateDelegationByAssessmentOutput, error) {
283	req, out := c.BatchCreateDelegationByAssessmentRequest(input)
284	req.SetContext(ctx)
285	req.ApplyOptions(opts...)
286	return out, req.Send()
287}
288
289const opBatchDeleteDelegationByAssessment = "BatchDeleteDelegationByAssessment"
290
291// BatchDeleteDelegationByAssessmentRequest generates a "aws/request.Request" representing the
292// client's request for the BatchDeleteDelegationByAssessment operation. The "output" return
293// value will be populated with the request's response once the request completes
294// successfully.
295//
296// Use "Send" method on the returned Request to send the API call to the service.
297// the "output" return value is not valid until after Send returns without error.
298//
299// See BatchDeleteDelegationByAssessment for more information on using the BatchDeleteDelegationByAssessment
300// API call, and error handling.
301//
302// This method is useful when you want to inject custom logic or configuration
303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
304//
305//
306//    // Example sending a request using the BatchDeleteDelegationByAssessmentRequest method.
307//    req, resp := client.BatchDeleteDelegationByAssessmentRequest(params)
308//
309//    err := req.Send()
310//    if err == nil { // resp is now filled
311//        fmt.Println(resp)
312//    }
313//
314// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDeleteDelegationByAssessment
315func (c *AuditManager) BatchDeleteDelegationByAssessmentRequest(input *BatchDeleteDelegationByAssessmentInput) (req *request.Request, output *BatchDeleteDelegationByAssessmentOutput) {
316	op := &request.Operation{
317		Name:       opBatchDeleteDelegationByAssessment,
318		HTTPMethod: "PUT",
319		HTTPPath:   "/assessments/{assessmentId}/delegations",
320	}
321
322	if input == nil {
323		input = &BatchDeleteDelegationByAssessmentInput{}
324	}
325
326	output = &BatchDeleteDelegationByAssessmentOutput{}
327	req = c.newRequest(op, input, output)
328	return
329}
330
331// BatchDeleteDelegationByAssessment API operation for AWS Audit Manager.
332//
333// Deletes a batch of delegations for an assessment in Audit Manager.
334//
335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
336// with awserr.Error's Code and Message methods to get detailed information about
337// the error.
338//
339// See the AWS API reference guide for AWS Audit Manager's
340// API operation BatchDeleteDelegationByAssessment for usage and error information.
341//
342// Returned Error Types:
343//   * ResourceNotFoundException
344//   The resource that's specified in the request can't be found.
345//
346//   * AccessDeniedException
347//   Your account isn't registered with Audit Manager. Check the delegated administrator
348//   setup on the Audit Manager settings page, and try again.
349//
350//   * ValidationException
351//   The request has invalid or missing parameters.
352//
353//   * InternalServerException
354//   An internal service error occurred during the processing of your request.
355//   Try again later.
356//
357// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDeleteDelegationByAssessment
358func (c *AuditManager) BatchDeleteDelegationByAssessment(input *BatchDeleteDelegationByAssessmentInput) (*BatchDeleteDelegationByAssessmentOutput, error) {
359	req, out := c.BatchDeleteDelegationByAssessmentRequest(input)
360	return out, req.Send()
361}
362
363// BatchDeleteDelegationByAssessmentWithContext is the same as BatchDeleteDelegationByAssessment with the addition of
364// the ability to pass a context and additional request options.
365//
366// See BatchDeleteDelegationByAssessment for details on how to use this API operation.
367//
368// The context must be non-nil and will be used for request cancellation. If
369// the context is nil a panic will occur. In the future the SDK may create
370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
371// for more information on using Contexts.
372func (c *AuditManager) BatchDeleteDelegationByAssessmentWithContext(ctx aws.Context, input *BatchDeleteDelegationByAssessmentInput, opts ...request.Option) (*BatchDeleteDelegationByAssessmentOutput, error) {
373	req, out := c.BatchDeleteDelegationByAssessmentRequest(input)
374	req.SetContext(ctx)
375	req.ApplyOptions(opts...)
376	return out, req.Send()
377}
378
379const opBatchDisassociateAssessmentReportEvidence = "BatchDisassociateAssessmentReportEvidence"
380
381// BatchDisassociateAssessmentReportEvidenceRequest generates a "aws/request.Request" representing the
382// client's request for the BatchDisassociateAssessmentReportEvidence operation. The "output" return
383// value will be populated with the request's response once the request completes
384// successfully.
385//
386// Use "Send" method on the returned Request to send the API call to the service.
387// the "output" return value is not valid until after Send returns without error.
388//
389// See BatchDisassociateAssessmentReportEvidence for more information on using the BatchDisassociateAssessmentReportEvidence
390// API call, and error handling.
391//
392// This method is useful when you want to inject custom logic or configuration
393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
394//
395//
396//    // Example sending a request using the BatchDisassociateAssessmentReportEvidenceRequest method.
397//    req, resp := client.BatchDisassociateAssessmentReportEvidenceRequest(params)
398//
399//    err := req.Send()
400//    if err == nil { // resp is now filled
401//        fmt.Println(resp)
402//    }
403//
404// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence
405func (c *AuditManager) BatchDisassociateAssessmentReportEvidenceRequest(input *BatchDisassociateAssessmentReportEvidenceInput) (req *request.Request, output *BatchDisassociateAssessmentReportEvidenceOutput) {
406	op := &request.Operation{
407		Name:       opBatchDisassociateAssessmentReportEvidence,
408		HTTPMethod: "PUT",
409		HTTPPath:   "/assessments/{assessmentId}/batchDisassociateFromAssessmentReport",
410	}
411
412	if input == nil {
413		input = &BatchDisassociateAssessmentReportEvidenceInput{}
414	}
415
416	output = &BatchDisassociateAssessmentReportEvidenceOutput{}
417	req = c.newRequest(op, input, output)
418	return
419}
420
421// BatchDisassociateAssessmentReportEvidence API operation for AWS Audit Manager.
422//
423// Disassociates a list of evidence from an assessment report in Audit Manager.
424//
425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
426// with awserr.Error's Code and Message methods to get detailed information about
427// the error.
428//
429// See the AWS API reference guide for AWS Audit Manager's
430// API operation BatchDisassociateAssessmentReportEvidence for usage and error information.
431//
432// Returned Error Types:
433//   * ValidationException
434//   The request has invalid or missing parameters.
435//
436//   * AccessDeniedException
437//   Your account isn't registered with Audit Manager. Check the delegated administrator
438//   setup on the Audit Manager settings page, and try again.
439//
440//   * InternalServerException
441//   An internal service error occurred during the processing of your request.
442//   Try again later.
443//
444//   * ResourceNotFoundException
445//   The resource that's specified in the request can't be found.
446//
447// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence
448func (c *AuditManager) BatchDisassociateAssessmentReportEvidence(input *BatchDisassociateAssessmentReportEvidenceInput) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
449	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
450	return out, req.Send()
451}
452
453// BatchDisassociateAssessmentReportEvidenceWithContext is the same as BatchDisassociateAssessmentReportEvidence with the addition of
454// the ability to pass a context and additional request options.
455//
456// See BatchDisassociateAssessmentReportEvidence for details on how to use this API operation.
457//
458// The context must be non-nil and will be used for request cancellation. If
459// the context is nil a panic will occur. In the future the SDK may create
460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
461// for more information on using Contexts.
462func (c *AuditManager) BatchDisassociateAssessmentReportEvidenceWithContext(ctx aws.Context, input *BatchDisassociateAssessmentReportEvidenceInput, opts ...request.Option) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
463	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
464	req.SetContext(ctx)
465	req.ApplyOptions(opts...)
466	return out, req.Send()
467}
468
469const opBatchImportEvidenceToAssessmentControl = "BatchImportEvidenceToAssessmentControl"
470
471// BatchImportEvidenceToAssessmentControlRequest generates a "aws/request.Request" representing the
472// client's request for the BatchImportEvidenceToAssessmentControl operation. The "output" return
473// value will be populated with the request's response once the request completes
474// successfully.
475//
476// Use "Send" method on the returned Request to send the API call to the service.
477// the "output" return value is not valid until after Send returns without error.
478//
479// See BatchImportEvidenceToAssessmentControl for more information on using the BatchImportEvidenceToAssessmentControl
480// API call, and error handling.
481//
482// This method is useful when you want to inject custom logic or configuration
483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
484//
485//
486//    // Example sending a request using the BatchImportEvidenceToAssessmentControlRequest method.
487//    req, resp := client.BatchImportEvidenceToAssessmentControlRequest(params)
488//
489//    err := req.Send()
490//    if err == nil { // resp is now filled
491//        fmt.Println(resp)
492//    }
493//
494// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
495func (c *AuditManager) BatchImportEvidenceToAssessmentControlRequest(input *BatchImportEvidenceToAssessmentControlInput) (req *request.Request, output *BatchImportEvidenceToAssessmentControlOutput) {
496	op := &request.Operation{
497		Name:       opBatchImportEvidenceToAssessmentControl,
498		HTTPMethod: "POST",
499		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}/evidence",
500	}
501
502	if input == nil {
503		input = &BatchImportEvidenceToAssessmentControlInput{}
504	}
505
506	output = &BatchImportEvidenceToAssessmentControlOutput{}
507	req = c.newRequest(op, input, output)
508	return
509}
510
511// BatchImportEvidenceToAssessmentControl API operation for AWS Audit Manager.
512//
513// Uploads one or more pieces of evidence to a control in an Audit Manager assessment.
514//
515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
516// with awserr.Error's Code and Message methods to get detailed information about
517// the error.
518//
519// See the AWS API reference guide for AWS Audit Manager's
520// API operation BatchImportEvidenceToAssessmentControl for usage and error information.
521//
522// Returned Error Types:
523//   * ResourceNotFoundException
524//   The resource that's specified in the request can't be found.
525//
526//   * AccessDeniedException
527//   Your account isn't registered with Audit Manager. Check the delegated administrator
528//   setup on the Audit Manager settings page, and try again.
529//
530//   * ValidationException
531//   The request has invalid or missing parameters.
532//
533//   * InternalServerException
534//   An internal service error occurred during the processing of your request.
535//   Try again later.
536//
537// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
538func (c *AuditManager) BatchImportEvidenceToAssessmentControl(input *BatchImportEvidenceToAssessmentControlInput) (*BatchImportEvidenceToAssessmentControlOutput, error) {
539	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
540	return out, req.Send()
541}
542
543// BatchImportEvidenceToAssessmentControlWithContext is the same as BatchImportEvidenceToAssessmentControl with the addition of
544// the ability to pass a context and additional request options.
545//
546// See BatchImportEvidenceToAssessmentControl for details on how to use this API operation.
547//
548// The context must be non-nil and will be used for request cancellation. If
549// the context is nil a panic will occur. In the future the SDK may create
550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
551// for more information on using Contexts.
552func (c *AuditManager) BatchImportEvidenceToAssessmentControlWithContext(ctx aws.Context, input *BatchImportEvidenceToAssessmentControlInput, opts ...request.Option) (*BatchImportEvidenceToAssessmentControlOutput, error) {
553	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
554	req.SetContext(ctx)
555	req.ApplyOptions(opts...)
556	return out, req.Send()
557}
558
559const opCreateAssessment = "CreateAssessment"
560
561// CreateAssessmentRequest generates a "aws/request.Request" representing the
562// client's request for the CreateAssessment operation. The "output" return
563// value will be populated with the request's response once the request completes
564// successfully.
565//
566// Use "Send" method on the returned Request to send the API call to the service.
567// the "output" return value is not valid until after Send returns without error.
568//
569// See CreateAssessment for more information on using the CreateAssessment
570// API call, and error handling.
571//
572// This method is useful when you want to inject custom logic or configuration
573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
574//
575//
576//    // Example sending a request using the CreateAssessmentRequest method.
577//    req, resp := client.CreateAssessmentRequest(params)
578//
579//    err := req.Send()
580//    if err == nil { // resp is now filled
581//        fmt.Println(resp)
582//    }
583//
584// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
585func (c *AuditManager) CreateAssessmentRequest(input *CreateAssessmentInput) (req *request.Request, output *CreateAssessmentOutput) {
586	op := &request.Operation{
587		Name:       opCreateAssessment,
588		HTTPMethod: "POST",
589		HTTPPath:   "/assessments",
590	}
591
592	if input == nil {
593		input = &CreateAssessmentInput{}
594	}
595
596	output = &CreateAssessmentOutput{}
597	req = c.newRequest(op, input, output)
598	return
599}
600
601// CreateAssessment API operation for AWS Audit Manager.
602//
603// Creates an assessment in Audit Manager.
604//
605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
606// with awserr.Error's Code and Message methods to get detailed information about
607// the error.
608//
609// See the AWS API reference guide for AWS Audit Manager's
610// API operation CreateAssessment for usage and error information.
611//
612// Returned Error Types:
613//   * ResourceNotFoundException
614//   The resource that's specified in the request can't be found.
615//
616//   * ValidationException
617//   The request has invalid or missing parameters.
618//
619//   * AccessDeniedException
620//   Your account isn't registered with Audit Manager. Check the delegated administrator
621//   setup on the Audit Manager settings page, and try again.
622//
623//   * InternalServerException
624//   An internal service error occurred during the processing of your request.
625//   Try again later.
626//
627// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
628func (c *AuditManager) CreateAssessment(input *CreateAssessmentInput) (*CreateAssessmentOutput, error) {
629	req, out := c.CreateAssessmentRequest(input)
630	return out, req.Send()
631}
632
633// CreateAssessmentWithContext is the same as CreateAssessment with the addition of
634// the ability to pass a context and additional request options.
635//
636// See CreateAssessment for details on how to use this API operation.
637//
638// The context must be non-nil and will be used for request cancellation. If
639// the context is nil a panic will occur. In the future the SDK may create
640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
641// for more information on using Contexts.
642func (c *AuditManager) CreateAssessmentWithContext(ctx aws.Context, input *CreateAssessmentInput, opts ...request.Option) (*CreateAssessmentOutput, error) {
643	req, out := c.CreateAssessmentRequest(input)
644	req.SetContext(ctx)
645	req.ApplyOptions(opts...)
646	return out, req.Send()
647}
648
649const opCreateAssessmentFramework = "CreateAssessmentFramework"
650
651// CreateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
652// client's request for the CreateAssessmentFramework operation. The "output" return
653// value will be populated with the request's response once the request completes
654// successfully.
655//
656// Use "Send" method on the returned Request to send the API call to the service.
657// the "output" return value is not valid until after Send returns without error.
658//
659// See CreateAssessmentFramework for more information on using the CreateAssessmentFramework
660// API call, and error handling.
661//
662// This method is useful when you want to inject custom logic or configuration
663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
664//
665//
666//    // Example sending a request using the CreateAssessmentFrameworkRequest method.
667//    req, resp := client.CreateAssessmentFrameworkRequest(params)
668//
669//    err := req.Send()
670//    if err == nil { // resp is now filled
671//        fmt.Println(resp)
672//    }
673//
674// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
675func (c *AuditManager) CreateAssessmentFrameworkRequest(input *CreateAssessmentFrameworkInput) (req *request.Request, output *CreateAssessmentFrameworkOutput) {
676	op := &request.Operation{
677		Name:       opCreateAssessmentFramework,
678		HTTPMethod: "POST",
679		HTTPPath:   "/assessmentFrameworks",
680	}
681
682	if input == nil {
683		input = &CreateAssessmentFrameworkInput{}
684	}
685
686	output = &CreateAssessmentFrameworkOutput{}
687	req = c.newRequest(op, input, output)
688	return
689}
690
691// CreateAssessmentFramework API operation for AWS Audit Manager.
692//
693// Creates a custom framework in Audit Manager.
694//
695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
696// with awserr.Error's Code and Message methods to get detailed information about
697// the error.
698//
699// See the AWS API reference guide for AWS Audit Manager's
700// API operation CreateAssessmentFramework for usage and error information.
701//
702// Returned Error Types:
703//   * ResourceNotFoundException
704//   The resource that's specified in the request can't be found.
705//
706//   * ValidationException
707//   The request has invalid or missing parameters.
708//
709//   * AccessDeniedException
710//   Your account isn't registered with Audit Manager. Check the delegated administrator
711//   setup on the Audit Manager settings page, and try again.
712//
713//   * InternalServerException
714//   An internal service error occurred during the processing of your request.
715//   Try again later.
716//
717// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
718func (c *AuditManager) CreateAssessmentFramework(input *CreateAssessmentFrameworkInput) (*CreateAssessmentFrameworkOutput, error) {
719	req, out := c.CreateAssessmentFrameworkRequest(input)
720	return out, req.Send()
721}
722
723// CreateAssessmentFrameworkWithContext is the same as CreateAssessmentFramework with the addition of
724// the ability to pass a context and additional request options.
725//
726// See CreateAssessmentFramework for details on how to use this API operation.
727//
728// The context must be non-nil and will be used for request cancellation. If
729// the context is nil a panic will occur. In the future the SDK may create
730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
731// for more information on using Contexts.
732func (c *AuditManager) CreateAssessmentFrameworkWithContext(ctx aws.Context, input *CreateAssessmentFrameworkInput, opts ...request.Option) (*CreateAssessmentFrameworkOutput, error) {
733	req, out := c.CreateAssessmentFrameworkRequest(input)
734	req.SetContext(ctx)
735	req.ApplyOptions(opts...)
736	return out, req.Send()
737}
738
739const opCreateAssessmentReport = "CreateAssessmentReport"
740
741// CreateAssessmentReportRequest generates a "aws/request.Request" representing the
742// client's request for the CreateAssessmentReport operation. The "output" return
743// value will be populated with the request's response once the request completes
744// successfully.
745//
746// Use "Send" method on the returned Request to send the API call to the service.
747// the "output" return value is not valid until after Send returns without error.
748//
749// See CreateAssessmentReport for more information on using the CreateAssessmentReport
750// API call, and error handling.
751//
752// This method is useful when you want to inject custom logic or configuration
753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
754//
755//
756//    // Example sending a request using the CreateAssessmentReportRequest method.
757//    req, resp := client.CreateAssessmentReportRequest(params)
758//
759//    err := req.Send()
760//    if err == nil { // resp is now filled
761//        fmt.Println(resp)
762//    }
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
765func (c *AuditManager) CreateAssessmentReportRequest(input *CreateAssessmentReportInput) (req *request.Request, output *CreateAssessmentReportOutput) {
766	op := &request.Operation{
767		Name:       opCreateAssessmentReport,
768		HTTPMethod: "POST",
769		HTTPPath:   "/assessments/{assessmentId}/reports",
770	}
771
772	if input == nil {
773		input = &CreateAssessmentReportInput{}
774	}
775
776	output = &CreateAssessmentReportOutput{}
777	req = c.newRequest(op, input, output)
778	return
779}
780
781// CreateAssessmentReport API operation for AWS Audit Manager.
782//
783// Creates an assessment report for the specified assessment.
784//
785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
786// with awserr.Error's Code and Message methods to get detailed information about
787// the error.
788//
789// See the AWS API reference guide for AWS Audit Manager's
790// API operation CreateAssessmentReport for usage and error information.
791//
792// Returned Error Types:
793//   * ValidationException
794//   The request has invalid or missing parameters.
795//
796//   * AccessDeniedException
797//   Your account isn't registered with Audit Manager. Check the delegated administrator
798//   setup on the Audit Manager settings page, and try again.
799//
800//   * InternalServerException
801//   An internal service error occurred during the processing of your request.
802//   Try again later.
803//
804//   * ResourceNotFoundException
805//   The resource that's specified in the request can't be found.
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
808func (c *AuditManager) CreateAssessmentReport(input *CreateAssessmentReportInput) (*CreateAssessmentReportOutput, error) {
809	req, out := c.CreateAssessmentReportRequest(input)
810	return out, req.Send()
811}
812
813// CreateAssessmentReportWithContext is the same as CreateAssessmentReport with the addition of
814// the ability to pass a context and additional request options.
815//
816// See CreateAssessmentReport for details on how to use this API operation.
817//
818// The context must be non-nil and will be used for request cancellation. If
819// the context is nil a panic will occur. In the future the SDK may create
820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
821// for more information on using Contexts.
822func (c *AuditManager) CreateAssessmentReportWithContext(ctx aws.Context, input *CreateAssessmentReportInput, opts ...request.Option) (*CreateAssessmentReportOutput, error) {
823	req, out := c.CreateAssessmentReportRequest(input)
824	req.SetContext(ctx)
825	req.ApplyOptions(opts...)
826	return out, req.Send()
827}
828
829const opCreateControl = "CreateControl"
830
831// CreateControlRequest generates a "aws/request.Request" representing the
832// client's request for the CreateControl operation. The "output" return
833// value will be populated with the request's response once the request completes
834// successfully.
835//
836// Use "Send" method on the returned Request to send the API call to the service.
837// the "output" return value is not valid until after Send returns without error.
838//
839// See CreateControl for more information on using the CreateControl
840// API call, and error handling.
841//
842// This method is useful when you want to inject custom logic or configuration
843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
844//
845//
846//    // Example sending a request using the CreateControlRequest method.
847//    req, resp := client.CreateControlRequest(params)
848//
849//    err := req.Send()
850//    if err == nil { // resp is now filled
851//        fmt.Println(resp)
852//    }
853//
854// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
855func (c *AuditManager) CreateControlRequest(input *CreateControlInput) (req *request.Request, output *CreateControlOutput) {
856	op := &request.Operation{
857		Name:       opCreateControl,
858		HTTPMethod: "POST",
859		HTTPPath:   "/controls",
860	}
861
862	if input == nil {
863		input = &CreateControlInput{}
864	}
865
866	output = &CreateControlOutput{}
867	req = c.newRequest(op, input, output)
868	return
869}
870
871// CreateControl API operation for AWS Audit Manager.
872//
873// Creates a new custom control in Audit Manager.
874//
875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
876// with awserr.Error's Code and Message methods to get detailed information about
877// the error.
878//
879// See the AWS API reference guide for AWS Audit Manager's
880// API operation CreateControl for usage and error information.
881//
882// Returned Error Types:
883//   * ResourceNotFoundException
884//   The resource that's specified in the request can't be found.
885//
886//   * ValidationException
887//   The request has invalid or missing parameters.
888//
889//   * AccessDeniedException
890//   Your account isn't registered with Audit Manager. Check the delegated administrator
891//   setup on the Audit Manager settings page, and try again.
892//
893//   * InternalServerException
894//   An internal service error occurred during the processing of your request.
895//   Try again later.
896//
897// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
898func (c *AuditManager) CreateControl(input *CreateControlInput) (*CreateControlOutput, error) {
899	req, out := c.CreateControlRequest(input)
900	return out, req.Send()
901}
902
903// CreateControlWithContext is the same as CreateControl with the addition of
904// the ability to pass a context and additional request options.
905//
906// See CreateControl for details on how to use this API operation.
907//
908// The context must be non-nil and will be used for request cancellation. If
909// the context is nil a panic will occur. In the future the SDK may create
910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
911// for more information on using Contexts.
912func (c *AuditManager) CreateControlWithContext(ctx aws.Context, input *CreateControlInput, opts ...request.Option) (*CreateControlOutput, error) {
913	req, out := c.CreateControlRequest(input)
914	req.SetContext(ctx)
915	req.ApplyOptions(opts...)
916	return out, req.Send()
917}
918
919const opDeleteAssessment = "DeleteAssessment"
920
921// DeleteAssessmentRequest generates a "aws/request.Request" representing the
922// client's request for the DeleteAssessment operation. The "output" return
923// value will be populated with the request's response once the request completes
924// successfully.
925//
926// Use "Send" method on the returned Request to send the API call to the service.
927// the "output" return value is not valid until after Send returns without error.
928//
929// See DeleteAssessment for more information on using the DeleteAssessment
930// API call, and error handling.
931//
932// This method is useful when you want to inject custom logic or configuration
933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
934//
935//
936//    // Example sending a request using the DeleteAssessmentRequest method.
937//    req, resp := client.DeleteAssessmentRequest(params)
938//
939//    err := req.Send()
940//    if err == nil { // resp is now filled
941//        fmt.Println(resp)
942//    }
943//
944// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
945func (c *AuditManager) DeleteAssessmentRequest(input *DeleteAssessmentInput) (req *request.Request, output *DeleteAssessmentOutput) {
946	op := &request.Operation{
947		Name:       opDeleteAssessment,
948		HTTPMethod: "DELETE",
949		HTTPPath:   "/assessments/{assessmentId}",
950	}
951
952	if input == nil {
953		input = &DeleteAssessmentInput{}
954	}
955
956	output = &DeleteAssessmentOutput{}
957	req = c.newRequest(op, input, output)
958	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
959	return
960}
961
962// DeleteAssessment API operation for AWS Audit Manager.
963//
964// Deletes an assessment in Audit Manager.
965//
966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
967// with awserr.Error's Code and Message methods to get detailed information about
968// the error.
969//
970// See the AWS API reference guide for AWS Audit Manager's
971// API operation DeleteAssessment for usage and error information.
972//
973// Returned Error Types:
974//   * ResourceNotFoundException
975//   The resource that's specified in the request can't be found.
976//
977//   * ValidationException
978//   The request has invalid or missing parameters.
979//
980//   * AccessDeniedException
981//   Your account isn't registered with Audit Manager. Check the delegated administrator
982//   setup on the Audit Manager settings page, and try again.
983//
984//   * InternalServerException
985//   An internal service error occurred during the processing of your request.
986//   Try again later.
987//
988// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
989func (c *AuditManager) DeleteAssessment(input *DeleteAssessmentInput) (*DeleteAssessmentOutput, error) {
990	req, out := c.DeleteAssessmentRequest(input)
991	return out, req.Send()
992}
993
994// DeleteAssessmentWithContext is the same as DeleteAssessment with the addition of
995// the ability to pass a context and additional request options.
996//
997// See DeleteAssessment for details on how to use this API operation.
998//
999// The context must be non-nil and will be used for request cancellation. If
1000// the context is nil a panic will occur. In the future the SDK may create
1001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1002// for more information on using Contexts.
1003func (c *AuditManager) DeleteAssessmentWithContext(ctx aws.Context, input *DeleteAssessmentInput, opts ...request.Option) (*DeleteAssessmentOutput, error) {
1004	req, out := c.DeleteAssessmentRequest(input)
1005	req.SetContext(ctx)
1006	req.ApplyOptions(opts...)
1007	return out, req.Send()
1008}
1009
1010const opDeleteAssessmentFramework = "DeleteAssessmentFramework"
1011
1012// DeleteAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1013// client's request for the DeleteAssessmentFramework operation. The "output" return
1014// value will be populated with the request's response once the request completes
1015// successfully.
1016//
1017// Use "Send" method on the returned Request to send the API call to the service.
1018// the "output" return value is not valid until after Send returns without error.
1019//
1020// See DeleteAssessmentFramework for more information on using the DeleteAssessmentFramework
1021// API call, and error handling.
1022//
1023// This method is useful when you want to inject custom logic or configuration
1024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1025//
1026//
1027//    // Example sending a request using the DeleteAssessmentFrameworkRequest method.
1028//    req, resp := client.DeleteAssessmentFrameworkRequest(params)
1029//
1030//    err := req.Send()
1031//    if err == nil { // resp is now filled
1032//        fmt.Println(resp)
1033//    }
1034//
1035// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1036func (c *AuditManager) DeleteAssessmentFrameworkRequest(input *DeleteAssessmentFrameworkInput) (req *request.Request, output *DeleteAssessmentFrameworkOutput) {
1037	op := &request.Operation{
1038		Name:       opDeleteAssessmentFramework,
1039		HTTPMethod: "DELETE",
1040		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1041	}
1042
1043	if input == nil {
1044		input = &DeleteAssessmentFrameworkInput{}
1045	}
1046
1047	output = &DeleteAssessmentFrameworkOutput{}
1048	req = c.newRequest(op, input, output)
1049	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1050	return
1051}
1052
1053// DeleteAssessmentFramework API operation for AWS Audit Manager.
1054//
1055// Deletes a custom framework in Audit Manager.
1056//
1057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1058// with awserr.Error's Code and Message methods to get detailed information about
1059// the error.
1060//
1061// See the AWS API reference guide for AWS Audit Manager's
1062// API operation DeleteAssessmentFramework for usage and error information.
1063//
1064// Returned Error Types:
1065//   * ResourceNotFoundException
1066//   The resource that's specified in the request can't be found.
1067//
1068//   * ValidationException
1069//   The request has invalid or missing parameters.
1070//
1071//   * AccessDeniedException
1072//   Your account isn't registered with Audit Manager. Check the delegated administrator
1073//   setup on the Audit Manager settings page, and try again.
1074//
1075//   * InternalServerException
1076//   An internal service error occurred during the processing of your request.
1077//   Try again later.
1078//
1079// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1080func (c *AuditManager) DeleteAssessmentFramework(input *DeleteAssessmentFrameworkInput) (*DeleteAssessmentFrameworkOutput, error) {
1081	req, out := c.DeleteAssessmentFrameworkRequest(input)
1082	return out, req.Send()
1083}
1084
1085// DeleteAssessmentFrameworkWithContext is the same as DeleteAssessmentFramework with the addition of
1086// the ability to pass a context and additional request options.
1087//
1088// See DeleteAssessmentFramework for details on how to use this API operation.
1089//
1090// The context must be non-nil and will be used for request cancellation. If
1091// the context is nil a panic will occur. In the future the SDK may create
1092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1093// for more information on using Contexts.
1094func (c *AuditManager) DeleteAssessmentFrameworkWithContext(ctx aws.Context, input *DeleteAssessmentFrameworkInput, opts ...request.Option) (*DeleteAssessmentFrameworkOutput, error) {
1095	req, out := c.DeleteAssessmentFrameworkRequest(input)
1096	req.SetContext(ctx)
1097	req.ApplyOptions(opts...)
1098	return out, req.Send()
1099}
1100
1101const opDeleteAssessmentFrameworkShare = "DeleteAssessmentFrameworkShare"
1102
1103// DeleteAssessmentFrameworkShareRequest generates a "aws/request.Request" representing the
1104// client's request for the DeleteAssessmentFrameworkShare operation. The "output" return
1105// value will be populated with the request's response once the request completes
1106// successfully.
1107//
1108// Use "Send" method on the returned Request to send the API call to the service.
1109// the "output" return value is not valid until after Send returns without error.
1110//
1111// See DeleteAssessmentFrameworkShare for more information on using the DeleteAssessmentFrameworkShare
1112// API call, and error handling.
1113//
1114// This method is useful when you want to inject custom logic or configuration
1115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1116//
1117//
1118//    // Example sending a request using the DeleteAssessmentFrameworkShareRequest method.
1119//    req, resp := client.DeleteAssessmentFrameworkShareRequest(params)
1120//
1121//    err := req.Send()
1122//    if err == nil { // resp is now filled
1123//        fmt.Println(resp)
1124//    }
1125//
1126// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFrameworkShare
1127func (c *AuditManager) DeleteAssessmentFrameworkShareRequest(input *DeleteAssessmentFrameworkShareInput) (req *request.Request, output *DeleteAssessmentFrameworkShareOutput) {
1128	op := &request.Operation{
1129		Name:       opDeleteAssessmentFrameworkShare,
1130		HTTPMethod: "DELETE",
1131		HTTPPath:   "/assessmentFrameworkShareRequests/{requestId}",
1132	}
1133
1134	if input == nil {
1135		input = &DeleteAssessmentFrameworkShareInput{}
1136	}
1137
1138	output = &DeleteAssessmentFrameworkShareOutput{}
1139	req = c.newRequest(op, input, output)
1140	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1141	return
1142}
1143
1144// DeleteAssessmentFrameworkShare API operation for AWS Audit Manager.
1145//
1146// Deletes a share request for a custom framework in Audit Manager.
1147//
1148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1149// with awserr.Error's Code and Message methods to get detailed information about
1150// the error.
1151//
1152// See the AWS API reference guide for AWS Audit Manager's
1153// API operation DeleteAssessmentFrameworkShare for usage and error information.
1154//
1155// Returned Error Types:
1156//   * ResourceNotFoundException
1157//   The resource that's specified in the request can't be found.
1158//
1159//   * ValidationException
1160//   The request has invalid or missing parameters.
1161//
1162//   * AccessDeniedException
1163//   Your account isn't registered with Audit Manager. Check the delegated administrator
1164//   setup on the Audit Manager settings page, and try again.
1165//
1166//   * InternalServerException
1167//   An internal service error occurred during the processing of your request.
1168//   Try again later.
1169//
1170// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFrameworkShare
1171func (c *AuditManager) DeleteAssessmentFrameworkShare(input *DeleteAssessmentFrameworkShareInput) (*DeleteAssessmentFrameworkShareOutput, error) {
1172	req, out := c.DeleteAssessmentFrameworkShareRequest(input)
1173	return out, req.Send()
1174}
1175
1176// DeleteAssessmentFrameworkShareWithContext is the same as DeleteAssessmentFrameworkShare with the addition of
1177// the ability to pass a context and additional request options.
1178//
1179// See DeleteAssessmentFrameworkShare for details on how to use this API operation.
1180//
1181// The context must be non-nil and will be used for request cancellation. If
1182// the context is nil a panic will occur. In the future the SDK may create
1183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1184// for more information on using Contexts.
1185func (c *AuditManager) DeleteAssessmentFrameworkShareWithContext(ctx aws.Context, input *DeleteAssessmentFrameworkShareInput, opts ...request.Option) (*DeleteAssessmentFrameworkShareOutput, error) {
1186	req, out := c.DeleteAssessmentFrameworkShareRequest(input)
1187	req.SetContext(ctx)
1188	req.ApplyOptions(opts...)
1189	return out, req.Send()
1190}
1191
1192const opDeleteAssessmentReport = "DeleteAssessmentReport"
1193
1194// DeleteAssessmentReportRequest generates a "aws/request.Request" representing the
1195// client's request for the DeleteAssessmentReport operation. The "output" return
1196// value will be populated with the request's response once the request completes
1197// successfully.
1198//
1199// Use "Send" method on the returned Request to send the API call to the service.
1200// the "output" return value is not valid until after Send returns without error.
1201//
1202// See DeleteAssessmentReport for more information on using the DeleteAssessmentReport
1203// API call, and error handling.
1204//
1205// This method is useful when you want to inject custom logic or configuration
1206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1207//
1208//
1209//    // Example sending a request using the DeleteAssessmentReportRequest method.
1210//    req, resp := client.DeleteAssessmentReportRequest(params)
1211//
1212//    err := req.Send()
1213//    if err == nil { // resp is now filled
1214//        fmt.Println(resp)
1215//    }
1216//
1217// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1218func (c *AuditManager) DeleteAssessmentReportRequest(input *DeleteAssessmentReportInput) (req *request.Request, output *DeleteAssessmentReportOutput) {
1219	op := &request.Operation{
1220		Name:       opDeleteAssessmentReport,
1221		HTTPMethod: "DELETE",
1222		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}",
1223	}
1224
1225	if input == nil {
1226		input = &DeleteAssessmentReportInput{}
1227	}
1228
1229	output = &DeleteAssessmentReportOutput{}
1230	req = c.newRequest(op, input, output)
1231	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1232	return
1233}
1234
1235// DeleteAssessmentReport API operation for AWS Audit Manager.
1236//
1237// Deletes an assessment report from an assessment in Audit Manager.
1238//
1239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1240// with awserr.Error's Code and Message methods to get detailed information about
1241// the error.
1242//
1243// See the AWS API reference guide for AWS Audit Manager's
1244// API operation DeleteAssessmentReport for usage and error information.
1245//
1246// Returned Error Types:
1247//   * ValidationException
1248//   The request has invalid or missing parameters.
1249//
1250//   * AccessDeniedException
1251//   Your account isn't registered with Audit Manager. Check the delegated administrator
1252//   setup on the Audit Manager settings page, and try again.
1253//
1254//   * InternalServerException
1255//   An internal service error occurred during the processing of your request.
1256//   Try again later.
1257//
1258//   * ResourceNotFoundException
1259//   The resource that's specified in the request can't be found.
1260//
1261// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1262func (c *AuditManager) DeleteAssessmentReport(input *DeleteAssessmentReportInput) (*DeleteAssessmentReportOutput, error) {
1263	req, out := c.DeleteAssessmentReportRequest(input)
1264	return out, req.Send()
1265}
1266
1267// DeleteAssessmentReportWithContext is the same as DeleteAssessmentReport with the addition of
1268// the ability to pass a context and additional request options.
1269//
1270// See DeleteAssessmentReport for details on how to use this API operation.
1271//
1272// The context must be non-nil and will be used for request cancellation. If
1273// the context is nil a panic will occur. In the future the SDK may create
1274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1275// for more information on using Contexts.
1276func (c *AuditManager) DeleteAssessmentReportWithContext(ctx aws.Context, input *DeleteAssessmentReportInput, opts ...request.Option) (*DeleteAssessmentReportOutput, error) {
1277	req, out := c.DeleteAssessmentReportRequest(input)
1278	req.SetContext(ctx)
1279	req.ApplyOptions(opts...)
1280	return out, req.Send()
1281}
1282
1283const opDeleteControl = "DeleteControl"
1284
1285// DeleteControlRequest generates a "aws/request.Request" representing the
1286// client's request for the DeleteControl operation. The "output" return
1287// value will be populated with the request's response once the request completes
1288// successfully.
1289//
1290// Use "Send" method on the returned Request to send the API call to the service.
1291// the "output" return value is not valid until after Send returns without error.
1292//
1293// See DeleteControl for more information on using the DeleteControl
1294// API call, and error handling.
1295//
1296// This method is useful when you want to inject custom logic or configuration
1297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1298//
1299//
1300//    // Example sending a request using the DeleteControlRequest method.
1301//    req, resp := client.DeleteControlRequest(params)
1302//
1303//    err := req.Send()
1304//    if err == nil { // resp is now filled
1305//        fmt.Println(resp)
1306//    }
1307//
1308// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1309func (c *AuditManager) DeleteControlRequest(input *DeleteControlInput) (req *request.Request, output *DeleteControlOutput) {
1310	op := &request.Operation{
1311		Name:       opDeleteControl,
1312		HTTPMethod: "DELETE",
1313		HTTPPath:   "/controls/{controlId}",
1314	}
1315
1316	if input == nil {
1317		input = &DeleteControlInput{}
1318	}
1319
1320	output = &DeleteControlOutput{}
1321	req = c.newRequest(op, input, output)
1322	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1323	return
1324}
1325
1326// DeleteControl API operation for AWS Audit Manager.
1327//
1328// Deletes a custom control in Audit Manager.
1329//
1330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1331// with awserr.Error's Code and Message methods to get detailed information about
1332// the error.
1333//
1334// See the AWS API reference guide for AWS Audit Manager's
1335// API operation DeleteControl for usage and error information.
1336//
1337// Returned Error Types:
1338//   * ResourceNotFoundException
1339//   The resource that's specified in the request can't be found.
1340//
1341//   * ValidationException
1342//   The request has invalid or missing parameters.
1343//
1344//   * AccessDeniedException
1345//   Your account isn't registered with Audit Manager. Check the delegated administrator
1346//   setup on the Audit Manager settings page, and try again.
1347//
1348//   * InternalServerException
1349//   An internal service error occurred during the processing of your request.
1350//   Try again later.
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1353func (c *AuditManager) DeleteControl(input *DeleteControlInput) (*DeleteControlOutput, error) {
1354	req, out := c.DeleteControlRequest(input)
1355	return out, req.Send()
1356}
1357
1358// DeleteControlWithContext is the same as DeleteControl with the addition of
1359// the ability to pass a context and additional request options.
1360//
1361// See DeleteControl for details on how to use this API operation.
1362//
1363// The context must be non-nil and will be used for request cancellation. If
1364// the context is nil a panic will occur. In the future the SDK may create
1365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1366// for more information on using Contexts.
1367func (c *AuditManager) DeleteControlWithContext(ctx aws.Context, input *DeleteControlInput, opts ...request.Option) (*DeleteControlOutput, error) {
1368	req, out := c.DeleteControlRequest(input)
1369	req.SetContext(ctx)
1370	req.ApplyOptions(opts...)
1371	return out, req.Send()
1372}
1373
1374const opDeregisterAccount = "DeregisterAccount"
1375
1376// DeregisterAccountRequest generates a "aws/request.Request" representing the
1377// client's request for the DeregisterAccount operation. The "output" return
1378// value will be populated with the request's response once the request completes
1379// successfully.
1380//
1381// Use "Send" method on the returned Request to send the API call to the service.
1382// the "output" return value is not valid until after Send returns without error.
1383//
1384// See DeregisterAccount for more information on using the DeregisterAccount
1385// API call, and error handling.
1386//
1387// This method is useful when you want to inject custom logic or configuration
1388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1389//
1390//
1391//    // Example sending a request using the DeregisterAccountRequest method.
1392//    req, resp := client.DeregisterAccountRequest(params)
1393//
1394//    err := req.Send()
1395//    if err == nil { // resp is now filled
1396//        fmt.Println(resp)
1397//    }
1398//
1399// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1400func (c *AuditManager) DeregisterAccountRequest(input *DeregisterAccountInput) (req *request.Request, output *DeregisterAccountOutput) {
1401	op := &request.Operation{
1402		Name:       opDeregisterAccount,
1403		HTTPMethod: "POST",
1404		HTTPPath:   "/account/deregisterAccount",
1405	}
1406
1407	if input == nil {
1408		input = &DeregisterAccountInput{}
1409	}
1410
1411	output = &DeregisterAccountOutput{}
1412	req = c.newRequest(op, input, output)
1413	return
1414}
1415
1416// DeregisterAccount API operation for AWS Audit Manager.
1417//
1418// Deregisters an account in Audit Manager.
1419//
1420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1421// with awserr.Error's Code and Message methods to get detailed information about
1422// the error.
1423//
1424// See the AWS API reference guide for AWS Audit Manager's
1425// API operation DeregisterAccount for usage and error information.
1426//
1427// Returned Error Types:
1428//   * ValidationException
1429//   The request has invalid or missing parameters.
1430//
1431//   * AccessDeniedException
1432//   Your account isn't registered with Audit Manager. Check the delegated administrator
1433//   setup on the Audit Manager settings page, and try again.
1434//
1435//   * InternalServerException
1436//   An internal service error occurred during the processing of your request.
1437//   Try again later.
1438//
1439//   * ResourceNotFoundException
1440//   The resource that's specified in the request can't be found.
1441//
1442// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1443func (c *AuditManager) DeregisterAccount(input *DeregisterAccountInput) (*DeregisterAccountOutput, error) {
1444	req, out := c.DeregisterAccountRequest(input)
1445	return out, req.Send()
1446}
1447
1448// DeregisterAccountWithContext is the same as DeregisterAccount with the addition of
1449// the ability to pass a context and additional request options.
1450//
1451// See DeregisterAccount for details on how to use this API operation.
1452//
1453// The context must be non-nil and will be used for request cancellation. If
1454// the context is nil a panic will occur. In the future the SDK may create
1455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1456// for more information on using Contexts.
1457func (c *AuditManager) DeregisterAccountWithContext(ctx aws.Context, input *DeregisterAccountInput, opts ...request.Option) (*DeregisterAccountOutput, error) {
1458	req, out := c.DeregisterAccountRequest(input)
1459	req.SetContext(ctx)
1460	req.ApplyOptions(opts...)
1461	return out, req.Send()
1462}
1463
1464const opDeregisterOrganizationAdminAccount = "DeregisterOrganizationAdminAccount"
1465
1466// DeregisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1467// client's request for the DeregisterOrganizationAdminAccount operation. The "output" return
1468// value will be populated with the request's response once the request completes
1469// successfully.
1470//
1471// Use "Send" method on the returned Request to send the API call to the service.
1472// the "output" return value is not valid until after Send returns without error.
1473//
1474// See DeregisterOrganizationAdminAccount for more information on using the DeregisterOrganizationAdminAccount
1475// API call, and error handling.
1476//
1477// This method is useful when you want to inject custom logic or configuration
1478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1479//
1480//
1481//    // Example sending a request using the DeregisterOrganizationAdminAccountRequest method.
1482//    req, resp := client.DeregisterOrganizationAdminAccountRequest(params)
1483//
1484//    err := req.Send()
1485//    if err == nil { // resp is now filled
1486//        fmt.Println(resp)
1487//    }
1488//
1489// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1490func (c *AuditManager) DeregisterOrganizationAdminAccountRequest(input *DeregisterOrganizationAdminAccountInput) (req *request.Request, output *DeregisterOrganizationAdminAccountOutput) {
1491	op := &request.Operation{
1492		Name:       opDeregisterOrganizationAdminAccount,
1493		HTTPMethod: "POST",
1494		HTTPPath:   "/account/deregisterOrganizationAdminAccount",
1495	}
1496
1497	if input == nil {
1498		input = &DeregisterOrganizationAdminAccountInput{}
1499	}
1500
1501	output = &DeregisterOrganizationAdminAccountOutput{}
1502	req = c.newRequest(op, input, output)
1503	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1504	return
1505}
1506
1507// DeregisterOrganizationAdminAccount API operation for AWS Audit Manager.
1508//
1509// Removes the specified member Amazon Web Services account as a delegated administrator
1510// for Audit Manager.
1511//
1512// When you remove a delegated administrator from your Audit Manager settings,
1513// you continue to have access to the evidence that you previously collected
1514// under that account. This is also the case when you deregister a delegated
1515// administrator from Audit Manager. However, Audit Manager will stop collecting
1516// and attaching evidence to that delegated administrator account moving forward.
1517//
1518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1519// with awserr.Error's Code and Message methods to get detailed information about
1520// the error.
1521//
1522// See the AWS API reference guide for AWS Audit Manager's
1523// API operation DeregisterOrganizationAdminAccount for usage and error information.
1524//
1525// Returned Error Types:
1526//   * ValidationException
1527//   The request has invalid or missing parameters.
1528//
1529//   * AccessDeniedException
1530//   Your account isn't registered with Audit Manager. Check the delegated administrator
1531//   setup on the Audit Manager settings page, and try again.
1532//
1533//   * InternalServerException
1534//   An internal service error occurred during the processing of your request.
1535//   Try again later.
1536//
1537//   * ResourceNotFoundException
1538//   The resource that's specified in the request can't be found.
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1541func (c *AuditManager) DeregisterOrganizationAdminAccount(input *DeregisterOrganizationAdminAccountInput) (*DeregisterOrganizationAdminAccountOutput, error) {
1542	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1543	return out, req.Send()
1544}
1545
1546// DeregisterOrganizationAdminAccountWithContext is the same as DeregisterOrganizationAdminAccount with the addition of
1547// the ability to pass a context and additional request options.
1548//
1549// See DeregisterOrganizationAdminAccount for details on how to use this API operation.
1550//
1551// The context must be non-nil and will be used for request cancellation. If
1552// the context is nil a panic will occur. In the future the SDK may create
1553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1554// for more information on using Contexts.
1555func (c *AuditManager) DeregisterOrganizationAdminAccountWithContext(ctx aws.Context, input *DeregisterOrganizationAdminAccountInput, opts ...request.Option) (*DeregisterOrganizationAdminAccountOutput, error) {
1556	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1557	req.SetContext(ctx)
1558	req.ApplyOptions(opts...)
1559	return out, req.Send()
1560}
1561
1562const opDisassociateAssessmentReportEvidenceFolder = "DisassociateAssessmentReportEvidenceFolder"
1563
1564// DisassociateAssessmentReportEvidenceFolderRequest generates a "aws/request.Request" representing the
1565// client's request for the DisassociateAssessmentReportEvidenceFolder operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See DisassociateAssessmentReportEvidenceFolder for more information on using the DisassociateAssessmentReportEvidenceFolder
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the DisassociateAssessmentReportEvidenceFolderRequest method.
1580//    req, resp := client.DisassociateAssessmentReportEvidenceFolderRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1588func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderRequest(input *DisassociateAssessmentReportEvidenceFolderInput) (req *request.Request, output *DisassociateAssessmentReportEvidenceFolderOutput) {
1589	op := &request.Operation{
1590		Name:       opDisassociateAssessmentReportEvidenceFolder,
1591		HTTPMethod: "PUT",
1592		HTTPPath:   "/assessments/{assessmentId}/disassociateFromAssessmentReport",
1593	}
1594
1595	if input == nil {
1596		input = &DisassociateAssessmentReportEvidenceFolderInput{}
1597	}
1598
1599	output = &DisassociateAssessmentReportEvidenceFolderOutput{}
1600	req = c.newRequest(op, input, output)
1601	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1602	return
1603}
1604
1605// DisassociateAssessmentReportEvidenceFolder API operation for AWS Audit Manager.
1606//
1607// Disassociates an evidence folder from the specified assessment report in
1608// Audit Manager.
1609//
1610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1611// with awserr.Error's Code and Message methods to get detailed information about
1612// the error.
1613//
1614// See the AWS API reference guide for AWS Audit Manager's
1615// API operation DisassociateAssessmentReportEvidenceFolder for usage and error information.
1616//
1617// Returned Error Types:
1618//   * ValidationException
1619//   The request has invalid or missing parameters.
1620//
1621//   * AccessDeniedException
1622//   Your account isn't registered with Audit Manager. Check the delegated administrator
1623//   setup on the Audit Manager settings page, and try again.
1624//
1625//   * InternalServerException
1626//   An internal service error occurred during the processing of your request.
1627//   Try again later.
1628//
1629//   * ResourceNotFoundException
1630//   The resource that's specified in the request can't be found.
1631//
1632// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1633func (c *AuditManager) DisassociateAssessmentReportEvidenceFolder(input *DisassociateAssessmentReportEvidenceFolderInput) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1634	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1635	return out, req.Send()
1636}
1637
1638// DisassociateAssessmentReportEvidenceFolderWithContext is the same as DisassociateAssessmentReportEvidenceFolder with the addition of
1639// the ability to pass a context and additional request options.
1640//
1641// See DisassociateAssessmentReportEvidenceFolder for details on how to use this API operation.
1642//
1643// The context must be non-nil and will be used for request cancellation. If
1644// the context is nil a panic will occur. In the future the SDK may create
1645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1646// for more information on using Contexts.
1647func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderWithContext(ctx aws.Context, input *DisassociateAssessmentReportEvidenceFolderInput, opts ...request.Option) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1648	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1649	req.SetContext(ctx)
1650	req.ApplyOptions(opts...)
1651	return out, req.Send()
1652}
1653
1654const opGetAccountStatus = "GetAccountStatus"
1655
1656// GetAccountStatusRequest generates a "aws/request.Request" representing the
1657// client's request for the GetAccountStatus operation. The "output" return
1658// value will be populated with the request's response once the request completes
1659// successfully.
1660//
1661// Use "Send" method on the returned Request to send the API call to the service.
1662// the "output" return value is not valid until after Send returns without error.
1663//
1664// See GetAccountStatus for more information on using the GetAccountStatus
1665// API call, and error handling.
1666//
1667// This method is useful when you want to inject custom logic or configuration
1668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1669//
1670//
1671//    // Example sending a request using the GetAccountStatusRequest method.
1672//    req, resp := client.GetAccountStatusRequest(params)
1673//
1674//    err := req.Send()
1675//    if err == nil { // resp is now filled
1676//        fmt.Println(resp)
1677//    }
1678//
1679// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1680func (c *AuditManager) GetAccountStatusRequest(input *GetAccountStatusInput) (req *request.Request, output *GetAccountStatusOutput) {
1681	op := &request.Operation{
1682		Name:       opGetAccountStatus,
1683		HTTPMethod: "GET",
1684		HTTPPath:   "/account/status",
1685	}
1686
1687	if input == nil {
1688		input = &GetAccountStatusInput{}
1689	}
1690
1691	output = &GetAccountStatusOutput{}
1692	req = c.newRequest(op, input, output)
1693	return
1694}
1695
1696// GetAccountStatus API operation for AWS Audit Manager.
1697//
1698// Returns the registration status of an account in Audit Manager.
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 Audit Manager's
1705// API operation GetAccountStatus for usage and error information.
1706//
1707// Returned Error Types:
1708//   * InternalServerException
1709//   An internal service error occurred during the processing of your request.
1710//   Try again later.
1711//
1712// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1713func (c *AuditManager) GetAccountStatus(input *GetAccountStatusInput) (*GetAccountStatusOutput, error) {
1714	req, out := c.GetAccountStatusRequest(input)
1715	return out, req.Send()
1716}
1717
1718// GetAccountStatusWithContext is the same as GetAccountStatus with the addition of
1719// the ability to pass a context and additional request options.
1720//
1721// See GetAccountStatus for details on how to use this API operation.
1722//
1723// The context must be non-nil and will be used for request cancellation. If
1724// the context is nil a panic will occur. In the future the SDK may create
1725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1726// for more information on using Contexts.
1727func (c *AuditManager) GetAccountStatusWithContext(ctx aws.Context, input *GetAccountStatusInput, opts ...request.Option) (*GetAccountStatusOutput, error) {
1728	req, out := c.GetAccountStatusRequest(input)
1729	req.SetContext(ctx)
1730	req.ApplyOptions(opts...)
1731	return out, req.Send()
1732}
1733
1734const opGetAssessment = "GetAssessment"
1735
1736// GetAssessmentRequest generates a "aws/request.Request" representing the
1737// client's request for the GetAssessment operation. The "output" return
1738// value will be populated with the request's response once the request completes
1739// successfully.
1740//
1741// Use "Send" method on the returned Request to send the API call to the service.
1742// the "output" return value is not valid until after Send returns without error.
1743//
1744// See GetAssessment for more information on using the GetAssessment
1745// API call, and error handling.
1746//
1747// This method is useful when you want to inject custom logic or configuration
1748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1749//
1750//
1751//    // Example sending a request using the GetAssessmentRequest method.
1752//    req, resp := client.GetAssessmentRequest(params)
1753//
1754//    err := req.Send()
1755//    if err == nil { // resp is now filled
1756//        fmt.Println(resp)
1757//    }
1758//
1759// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1760func (c *AuditManager) GetAssessmentRequest(input *GetAssessmentInput) (req *request.Request, output *GetAssessmentOutput) {
1761	op := &request.Operation{
1762		Name:       opGetAssessment,
1763		HTTPMethod: "GET",
1764		HTTPPath:   "/assessments/{assessmentId}",
1765	}
1766
1767	if input == nil {
1768		input = &GetAssessmentInput{}
1769	}
1770
1771	output = &GetAssessmentOutput{}
1772	req = c.newRequest(op, input, output)
1773	return
1774}
1775
1776// GetAssessment API operation for AWS Audit Manager.
1777//
1778// Returns an assessment from Audit Manager.
1779//
1780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1781// with awserr.Error's Code and Message methods to get detailed information about
1782// the error.
1783//
1784// See the AWS API reference guide for AWS Audit Manager's
1785// API operation GetAssessment for usage and error information.
1786//
1787// Returned Error Types:
1788//   * ResourceNotFoundException
1789//   The resource that's specified in the request can't be found.
1790//
1791//   * ValidationException
1792//   The request has invalid or missing parameters.
1793//
1794//   * AccessDeniedException
1795//   Your account isn't registered with Audit Manager. Check the delegated administrator
1796//   setup on the Audit Manager settings page, and try again.
1797//
1798//   * InternalServerException
1799//   An internal service error occurred during the processing of your request.
1800//   Try again later.
1801//
1802// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1803func (c *AuditManager) GetAssessment(input *GetAssessmentInput) (*GetAssessmentOutput, error) {
1804	req, out := c.GetAssessmentRequest(input)
1805	return out, req.Send()
1806}
1807
1808// GetAssessmentWithContext is the same as GetAssessment with the addition of
1809// the ability to pass a context and additional request options.
1810//
1811// See GetAssessment for details on how to use this API operation.
1812//
1813// The context must be non-nil and will be used for request cancellation. If
1814// the context is nil a panic will occur. In the future the SDK may create
1815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1816// for more information on using Contexts.
1817func (c *AuditManager) GetAssessmentWithContext(ctx aws.Context, input *GetAssessmentInput, opts ...request.Option) (*GetAssessmentOutput, error) {
1818	req, out := c.GetAssessmentRequest(input)
1819	req.SetContext(ctx)
1820	req.ApplyOptions(opts...)
1821	return out, req.Send()
1822}
1823
1824const opGetAssessmentFramework = "GetAssessmentFramework"
1825
1826// GetAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1827// client's request for the GetAssessmentFramework operation. The "output" return
1828// value will be populated with the request's response once the request completes
1829// successfully.
1830//
1831// Use "Send" method on the returned Request to send the API call to the service.
1832// the "output" return value is not valid until after Send returns without error.
1833//
1834// See GetAssessmentFramework for more information on using the GetAssessmentFramework
1835// API call, and error handling.
1836//
1837// This method is useful when you want to inject custom logic or configuration
1838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1839//
1840//
1841//    // Example sending a request using the GetAssessmentFrameworkRequest method.
1842//    req, resp := client.GetAssessmentFrameworkRequest(params)
1843//
1844//    err := req.Send()
1845//    if err == nil { // resp is now filled
1846//        fmt.Println(resp)
1847//    }
1848//
1849// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1850func (c *AuditManager) GetAssessmentFrameworkRequest(input *GetAssessmentFrameworkInput) (req *request.Request, output *GetAssessmentFrameworkOutput) {
1851	op := &request.Operation{
1852		Name:       opGetAssessmentFramework,
1853		HTTPMethod: "GET",
1854		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1855	}
1856
1857	if input == nil {
1858		input = &GetAssessmentFrameworkInput{}
1859	}
1860
1861	output = &GetAssessmentFrameworkOutput{}
1862	req = c.newRequest(op, input, output)
1863	return
1864}
1865
1866// GetAssessmentFramework API operation for AWS Audit Manager.
1867//
1868// Returns a framework from Audit Manager.
1869//
1870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1871// with awserr.Error's Code and Message methods to get detailed information about
1872// the error.
1873//
1874// See the AWS API reference guide for AWS Audit Manager's
1875// API operation GetAssessmentFramework for usage and error information.
1876//
1877// Returned Error Types:
1878//   * ResourceNotFoundException
1879//   The resource that's specified in the request can't be found.
1880//
1881//   * ValidationException
1882//   The request has invalid or missing parameters.
1883//
1884//   * AccessDeniedException
1885//   Your account isn't registered with Audit Manager. Check the delegated administrator
1886//   setup on the Audit Manager settings page, and try again.
1887//
1888//   * InternalServerException
1889//   An internal service error occurred during the processing of your request.
1890//   Try again later.
1891//
1892// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1893func (c *AuditManager) GetAssessmentFramework(input *GetAssessmentFrameworkInput) (*GetAssessmentFrameworkOutput, error) {
1894	req, out := c.GetAssessmentFrameworkRequest(input)
1895	return out, req.Send()
1896}
1897
1898// GetAssessmentFrameworkWithContext is the same as GetAssessmentFramework with the addition of
1899// the ability to pass a context and additional request options.
1900//
1901// See GetAssessmentFramework for details on how to use this API operation.
1902//
1903// The context must be non-nil and will be used for request cancellation. If
1904// the context is nil a panic will occur. In the future the SDK may create
1905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1906// for more information on using Contexts.
1907func (c *AuditManager) GetAssessmentFrameworkWithContext(ctx aws.Context, input *GetAssessmentFrameworkInput, opts ...request.Option) (*GetAssessmentFrameworkOutput, error) {
1908	req, out := c.GetAssessmentFrameworkRequest(input)
1909	req.SetContext(ctx)
1910	req.ApplyOptions(opts...)
1911	return out, req.Send()
1912}
1913
1914const opGetAssessmentReportUrl = "GetAssessmentReportUrl"
1915
1916// GetAssessmentReportUrlRequest generates a "aws/request.Request" representing the
1917// client's request for the GetAssessmentReportUrl operation. The "output" return
1918// value will be populated with the request's response once the request completes
1919// successfully.
1920//
1921// Use "Send" method on the returned Request to send the API call to the service.
1922// the "output" return value is not valid until after Send returns without error.
1923//
1924// See GetAssessmentReportUrl for more information on using the GetAssessmentReportUrl
1925// API call, and error handling.
1926//
1927// This method is useful when you want to inject custom logic or configuration
1928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1929//
1930//
1931//    // Example sending a request using the GetAssessmentReportUrlRequest method.
1932//    req, resp := client.GetAssessmentReportUrlRequest(params)
1933//
1934//    err := req.Send()
1935//    if err == nil { // resp is now filled
1936//        fmt.Println(resp)
1937//    }
1938//
1939// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1940func (c *AuditManager) GetAssessmentReportUrlRequest(input *GetAssessmentReportUrlInput) (req *request.Request, output *GetAssessmentReportUrlOutput) {
1941	op := &request.Operation{
1942		Name:       opGetAssessmentReportUrl,
1943		HTTPMethod: "GET",
1944		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}/url",
1945	}
1946
1947	if input == nil {
1948		input = &GetAssessmentReportUrlInput{}
1949	}
1950
1951	output = &GetAssessmentReportUrlOutput{}
1952	req = c.newRequest(op, input, output)
1953	return
1954}
1955
1956// GetAssessmentReportUrl API operation for AWS Audit Manager.
1957//
1958// Returns the URL of an assessment report in Audit Manager.
1959//
1960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1961// with awserr.Error's Code and Message methods to get detailed information about
1962// the error.
1963//
1964// See the AWS API reference guide for AWS Audit Manager's
1965// API operation GetAssessmentReportUrl for usage and error information.
1966//
1967// Returned Error Types:
1968//   * ValidationException
1969//   The request has invalid or missing parameters.
1970//
1971//   * AccessDeniedException
1972//   Your account isn't registered with Audit Manager. Check the delegated administrator
1973//   setup on the Audit Manager settings page, and try again.
1974//
1975//   * InternalServerException
1976//   An internal service error occurred during the processing of your request.
1977//   Try again later.
1978//
1979//   * ResourceNotFoundException
1980//   The resource that's specified in the request can't be found.
1981//
1982// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1983func (c *AuditManager) GetAssessmentReportUrl(input *GetAssessmentReportUrlInput) (*GetAssessmentReportUrlOutput, error) {
1984	req, out := c.GetAssessmentReportUrlRequest(input)
1985	return out, req.Send()
1986}
1987
1988// GetAssessmentReportUrlWithContext is the same as GetAssessmentReportUrl with the addition of
1989// the ability to pass a context and additional request options.
1990//
1991// See GetAssessmentReportUrl for details on how to use this API operation.
1992//
1993// The context must be non-nil and will be used for request cancellation. If
1994// the context is nil a panic will occur. In the future the SDK may create
1995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1996// for more information on using Contexts.
1997func (c *AuditManager) GetAssessmentReportUrlWithContext(ctx aws.Context, input *GetAssessmentReportUrlInput, opts ...request.Option) (*GetAssessmentReportUrlOutput, error) {
1998	req, out := c.GetAssessmentReportUrlRequest(input)
1999	req.SetContext(ctx)
2000	req.ApplyOptions(opts...)
2001	return out, req.Send()
2002}
2003
2004const opGetChangeLogs = "GetChangeLogs"
2005
2006// GetChangeLogsRequest generates a "aws/request.Request" representing the
2007// client's request for the GetChangeLogs operation. The "output" return
2008// value will be populated with the request's response once the request completes
2009// successfully.
2010//
2011// Use "Send" method on the returned Request to send the API call to the service.
2012// the "output" return value is not valid until after Send returns without error.
2013//
2014// See GetChangeLogs for more information on using the GetChangeLogs
2015// API call, and error handling.
2016//
2017// This method is useful when you want to inject custom logic or configuration
2018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2019//
2020//
2021//    // Example sending a request using the GetChangeLogsRequest method.
2022//    req, resp := client.GetChangeLogsRequest(params)
2023//
2024//    err := req.Send()
2025//    if err == nil { // resp is now filled
2026//        fmt.Println(resp)
2027//    }
2028//
2029// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
2030func (c *AuditManager) GetChangeLogsRequest(input *GetChangeLogsInput) (req *request.Request, output *GetChangeLogsOutput) {
2031	op := &request.Operation{
2032		Name:       opGetChangeLogs,
2033		HTTPMethod: "GET",
2034		HTTPPath:   "/assessments/{assessmentId}/changelogs",
2035		Paginator: &request.Paginator{
2036			InputTokens:     []string{"nextToken"},
2037			OutputTokens:    []string{"nextToken"},
2038			LimitToken:      "maxResults",
2039			TruncationToken: "",
2040		},
2041	}
2042
2043	if input == nil {
2044		input = &GetChangeLogsInput{}
2045	}
2046
2047	output = &GetChangeLogsOutput{}
2048	req = c.newRequest(op, input, output)
2049	return
2050}
2051
2052// GetChangeLogs API operation for AWS Audit Manager.
2053//
2054// Returns a list of changelogs from Audit Manager.
2055//
2056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2057// with awserr.Error's Code and Message methods to get detailed information about
2058// the error.
2059//
2060// See the AWS API reference guide for AWS Audit Manager's
2061// API operation GetChangeLogs for usage and error information.
2062//
2063// Returned Error Types:
2064//   * AccessDeniedException
2065//   Your account isn't registered with Audit Manager. Check the delegated administrator
2066//   setup on the Audit Manager settings page, and try again.
2067//
2068//   * ResourceNotFoundException
2069//   The resource that's specified in the request can't be found.
2070//
2071//   * ValidationException
2072//   The request has invalid or missing parameters.
2073//
2074//   * InternalServerException
2075//   An internal service error occurred during the processing of your request.
2076//   Try again later.
2077//
2078// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
2079func (c *AuditManager) GetChangeLogs(input *GetChangeLogsInput) (*GetChangeLogsOutput, error) {
2080	req, out := c.GetChangeLogsRequest(input)
2081	return out, req.Send()
2082}
2083
2084// GetChangeLogsWithContext is the same as GetChangeLogs with the addition of
2085// the ability to pass a context and additional request options.
2086//
2087// See GetChangeLogs for details on how to use this API operation.
2088//
2089// The context must be non-nil and will be used for request cancellation. If
2090// the context is nil a panic will occur. In the future the SDK may create
2091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2092// for more information on using Contexts.
2093func (c *AuditManager) GetChangeLogsWithContext(ctx aws.Context, input *GetChangeLogsInput, opts ...request.Option) (*GetChangeLogsOutput, error) {
2094	req, out := c.GetChangeLogsRequest(input)
2095	req.SetContext(ctx)
2096	req.ApplyOptions(opts...)
2097	return out, req.Send()
2098}
2099
2100// GetChangeLogsPages iterates over the pages of a GetChangeLogs operation,
2101// calling the "fn" function with the response data for each page. To stop
2102// iterating, return false from the fn function.
2103//
2104// See GetChangeLogs method for more information on how to use this operation.
2105//
2106// Note: This operation can generate multiple requests to a service.
2107//
2108//    // Example iterating over at most 3 pages of a GetChangeLogs operation.
2109//    pageNum := 0
2110//    err := client.GetChangeLogsPages(params,
2111//        func(page *auditmanager.GetChangeLogsOutput, lastPage bool) bool {
2112//            pageNum++
2113//            fmt.Println(page)
2114//            return pageNum <= 3
2115//        })
2116//
2117func (c *AuditManager) GetChangeLogsPages(input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool) error {
2118	return c.GetChangeLogsPagesWithContext(aws.BackgroundContext(), input, fn)
2119}
2120
2121// GetChangeLogsPagesWithContext same as GetChangeLogsPages except
2122// it takes a Context and allows setting request options on the pages.
2123//
2124// The context must be non-nil and will be used for request cancellation. If
2125// the context is nil a panic will occur. In the future the SDK may create
2126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2127// for more information on using Contexts.
2128func (c *AuditManager) GetChangeLogsPagesWithContext(ctx aws.Context, input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool, opts ...request.Option) error {
2129	p := request.Pagination{
2130		NewRequest: func() (*request.Request, error) {
2131			var inCpy *GetChangeLogsInput
2132			if input != nil {
2133				tmp := *input
2134				inCpy = &tmp
2135			}
2136			req, _ := c.GetChangeLogsRequest(inCpy)
2137			req.SetContext(ctx)
2138			req.ApplyOptions(opts...)
2139			return req, nil
2140		},
2141	}
2142
2143	for p.Next() {
2144		if !fn(p.Page().(*GetChangeLogsOutput), !p.HasNextPage()) {
2145			break
2146		}
2147	}
2148
2149	return p.Err()
2150}
2151
2152const opGetControl = "GetControl"
2153
2154// GetControlRequest generates a "aws/request.Request" representing the
2155// client's request for the GetControl operation. The "output" return
2156// value will be populated with the request's response once the request completes
2157// successfully.
2158//
2159// Use "Send" method on the returned Request to send the API call to the service.
2160// the "output" return value is not valid until after Send returns without error.
2161//
2162// See GetControl for more information on using the GetControl
2163// API call, and error handling.
2164//
2165// This method is useful when you want to inject custom logic or configuration
2166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2167//
2168//
2169//    // Example sending a request using the GetControlRequest method.
2170//    req, resp := client.GetControlRequest(params)
2171//
2172//    err := req.Send()
2173//    if err == nil { // resp is now filled
2174//        fmt.Println(resp)
2175//    }
2176//
2177// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2178func (c *AuditManager) GetControlRequest(input *GetControlInput) (req *request.Request, output *GetControlOutput) {
2179	op := &request.Operation{
2180		Name:       opGetControl,
2181		HTTPMethod: "GET",
2182		HTTPPath:   "/controls/{controlId}",
2183	}
2184
2185	if input == nil {
2186		input = &GetControlInput{}
2187	}
2188
2189	output = &GetControlOutput{}
2190	req = c.newRequest(op, input, output)
2191	return
2192}
2193
2194// GetControl API operation for AWS Audit Manager.
2195//
2196// Returns a control from Audit Manager.
2197//
2198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2199// with awserr.Error's Code and Message methods to get detailed information about
2200// the error.
2201//
2202// See the AWS API reference guide for AWS Audit Manager's
2203// API operation GetControl for usage and error information.
2204//
2205// Returned Error Types:
2206//   * ResourceNotFoundException
2207//   The resource that's specified in the request can't be found.
2208//
2209//   * ValidationException
2210//   The request has invalid or missing parameters.
2211//
2212//   * AccessDeniedException
2213//   Your account isn't registered with Audit Manager. Check the delegated administrator
2214//   setup on the Audit Manager settings page, and try again.
2215//
2216//   * InternalServerException
2217//   An internal service error occurred during the processing of your request.
2218//   Try again later.
2219//
2220// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2221func (c *AuditManager) GetControl(input *GetControlInput) (*GetControlOutput, error) {
2222	req, out := c.GetControlRequest(input)
2223	return out, req.Send()
2224}
2225
2226// GetControlWithContext is the same as GetControl with the addition of
2227// the ability to pass a context and additional request options.
2228//
2229// See GetControl for details on how to use this API operation.
2230//
2231// The context must be non-nil and will be used for request cancellation. If
2232// the context is nil a panic will occur. In the future the SDK may create
2233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2234// for more information on using Contexts.
2235func (c *AuditManager) GetControlWithContext(ctx aws.Context, input *GetControlInput, opts ...request.Option) (*GetControlOutput, error) {
2236	req, out := c.GetControlRequest(input)
2237	req.SetContext(ctx)
2238	req.ApplyOptions(opts...)
2239	return out, req.Send()
2240}
2241
2242const opGetDelegations = "GetDelegations"
2243
2244// GetDelegationsRequest generates a "aws/request.Request" representing the
2245// client's request for the GetDelegations operation. The "output" return
2246// value will be populated with the request's response once the request completes
2247// successfully.
2248//
2249// Use "Send" method on the returned Request to send the API call to the service.
2250// the "output" return value is not valid until after Send returns without error.
2251//
2252// See GetDelegations for more information on using the GetDelegations
2253// API call, and error handling.
2254//
2255// This method is useful when you want to inject custom logic or configuration
2256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2257//
2258//
2259//    // Example sending a request using the GetDelegationsRequest method.
2260//    req, resp := client.GetDelegationsRequest(params)
2261//
2262//    err := req.Send()
2263//    if err == nil { // resp is now filled
2264//        fmt.Println(resp)
2265//    }
2266//
2267// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2268func (c *AuditManager) GetDelegationsRequest(input *GetDelegationsInput) (req *request.Request, output *GetDelegationsOutput) {
2269	op := &request.Operation{
2270		Name:       opGetDelegations,
2271		HTTPMethod: "GET",
2272		HTTPPath:   "/delegations",
2273		Paginator: &request.Paginator{
2274			InputTokens:     []string{"nextToken"},
2275			OutputTokens:    []string{"nextToken"},
2276			LimitToken:      "maxResults",
2277			TruncationToken: "",
2278		},
2279	}
2280
2281	if input == nil {
2282		input = &GetDelegationsInput{}
2283	}
2284
2285	output = &GetDelegationsOutput{}
2286	req = c.newRequest(op, input, output)
2287	return
2288}
2289
2290// GetDelegations API operation for AWS Audit Manager.
2291//
2292// Returns a list of delegations from an audit owner to a delegate.
2293//
2294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2295// with awserr.Error's Code and Message methods to get detailed information about
2296// the error.
2297//
2298// See the AWS API reference guide for AWS Audit Manager's
2299// API operation GetDelegations for usage and error information.
2300//
2301// Returned Error Types:
2302//   * ValidationException
2303//   The request has invalid or missing parameters.
2304//
2305//   * AccessDeniedException
2306//   Your account isn't registered with Audit Manager. Check the delegated administrator
2307//   setup on the Audit Manager settings page, and try again.
2308//
2309//   * InternalServerException
2310//   An internal service error occurred during the processing of your request.
2311//   Try again later.
2312//
2313// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2314func (c *AuditManager) GetDelegations(input *GetDelegationsInput) (*GetDelegationsOutput, error) {
2315	req, out := c.GetDelegationsRequest(input)
2316	return out, req.Send()
2317}
2318
2319// GetDelegationsWithContext is the same as GetDelegations with the addition of
2320// the ability to pass a context and additional request options.
2321//
2322// See GetDelegations for details on how to use this API operation.
2323//
2324// The context must be non-nil and will be used for request cancellation. If
2325// the context is nil a panic will occur. In the future the SDK may create
2326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2327// for more information on using Contexts.
2328func (c *AuditManager) GetDelegationsWithContext(ctx aws.Context, input *GetDelegationsInput, opts ...request.Option) (*GetDelegationsOutput, error) {
2329	req, out := c.GetDelegationsRequest(input)
2330	req.SetContext(ctx)
2331	req.ApplyOptions(opts...)
2332	return out, req.Send()
2333}
2334
2335// GetDelegationsPages iterates over the pages of a GetDelegations operation,
2336// calling the "fn" function with the response data for each page. To stop
2337// iterating, return false from the fn function.
2338//
2339// See GetDelegations method for more information on how to use this operation.
2340//
2341// Note: This operation can generate multiple requests to a service.
2342//
2343//    // Example iterating over at most 3 pages of a GetDelegations operation.
2344//    pageNum := 0
2345//    err := client.GetDelegationsPages(params,
2346//        func(page *auditmanager.GetDelegationsOutput, lastPage bool) bool {
2347//            pageNum++
2348//            fmt.Println(page)
2349//            return pageNum <= 3
2350//        })
2351//
2352func (c *AuditManager) GetDelegationsPages(input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool) error {
2353	return c.GetDelegationsPagesWithContext(aws.BackgroundContext(), input, fn)
2354}
2355
2356// GetDelegationsPagesWithContext same as GetDelegationsPages except
2357// it takes a Context and allows setting request options on the pages.
2358//
2359// The context must be non-nil and will be used for request cancellation. If
2360// the context is nil a panic will occur. In the future the SDK may create
2361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2362// for more information on using Contexts.
2363func (c *AuditManager) GetDelegationsPagesWithContext(ctx aws.Context, input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool, opts ...request.Option) error {
2364	p := request.Pagination{
2365		NewRequest: func() (*request.Request, error) {
2366			var inCpy *GetDelegationsInput
2367			if input != nil {
2368				tmp := *input
2369				inCpy = &tmp
2370			}
2371			req, _ := c.GetDelegationsRequest(inCpy)
2372			req.SetContext(ctx)
2373			req.ApplyOptions(opts...)
2374			return req, nil
2375		},
2376	}
2377
2378	for p.Next() {
2379		if !fn(p.Page().(*GetDelegationsOutput), !p.HasNextPage()) {
2380			break
2381		}
2382	}
2383
2384	return p.Err()
2385}
2386
2387const opGetEvidence = "GetEvidence"
2388
2389// GetEvidenceRequest generates a "aws/request.Request" representing the
2390// client's request for the GetEvidence operation. The "output" return
2391// value will be populated with the request's response once the request completes
2392// successfully.
2393//
2394// Use "Send" method on the returned Request to send the API call to the service.
2395// the "output" return value is not valid until after Send returns without error.
2396//
2397// See GetEvidence for more information on using the GetEvidence
2398// API call, and error handling.
2399//
2400// This method is useful when you want to inject custom logic or configuration
2401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2402//
2403//
2404//    // Example sending a request using the GetEvidenceRequest method.
2405//    req, resp := client.GetEvidenceRequest(params)
2406//
2407//    err := req.Send()
2408//    if err == nil { // resp is now filled
2409//        fmt.Println(resp)
2410//    }
2411//
2412// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2413func (c *AuditManager) GetEvidenceRequest(input *GetEvidenceInput) (req *request.Request, output *GetEvidenceOutput) {
2414	op := &request.Operation{
2415		Name:       opGetEvidence,
2416		HTTPMethod: "GET",
2417		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence/{evidenceId}",
2418	}
2419
2420	if input == nil {
2421		input = &GetEvidenceInput{}
2422	}
2423
2424	output = &GetEvidenceOutput{}
2425	req = c.newRequest(op, input, output)
2426	return
2427}
2428
2429// GetEvidence API operation for AWS Audit Manager.
2430//
2431// Returns evidence from Audit Manager.
2432//
2433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2434// with awserr.Error's Code and Message methods to get detailed information about
2435// the error.
2436//
2437// See the AWS API reference guide for AWS Audit Manager's
2438// API operation GetEvidence for usage and error information.
2439//
2440// Returned Error Types:
2441//   * ResourceNotFoundException
2442//   The resource that's specified in the request can't be found.
2443//
2444//   * ValidationException
2445//   The request has invalid or missing parameters.
2446//
2447//   * AccessDeniedException
2448//   Your account isn't registered with Audit Manager. Check the delegated administrator
2449//   setup on the Audit Manager settings page, and try again.
2450//
2451//   * InternalServerException
2452//   An internal service error occurred during the processing of your request.
2453//   Try again later.
2454//
2455// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2456func (c *AuditManager) GetEvidence(input *GetEvidenceInput) (*GetEvidenceOutput, error) {
2457	req, out := c.GetEvidenceRequest(input)
2458	return out, req.Send()
2459}
2460
2461// GetEvidenceWithContext is the same as GetEvidence with the addition of
2462// the ability to pass a context and additional request options.
2463//
2464// See GetEvidence for details on how to use this API operation.
2465//
2466// The context must be non-nil and will be used for request cancellation. If
2467// the context is nil a panic will occur. In the future the SDK may create
2468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2469// for more information on using Contexts.
2470func (c *AuditManager) GetEvidenceWithContext(ctx aws.Context, input *GetEvidenceInput, opts ...request.Option) (*GetEvidenceOutput, error) {
2471	req, out := c.GetEvidenceRequest(input)
2472	req.SetContext(ctx)
2473	req.ApplyOptions(opts...)
2474	return out, req.Send()
2475}
2476
2477const opGetEvidenceByEvidenceFolder = "GetEvidenceByEvidenceFolder"
2478
2479// GetEvidenceByEvidenceFolderRequest generates a "aws/request.Request" representing the
2480// client's request for the GetEvidenceByEvidenceFolder operation. The "output" return
2481// value will be populated with the request's response once the request completes
2482// successfully.
2483//
2484// Use "Send" method on the returned Request to send the API call to the service.
2485// the "output" return value is not valid until after Send returns without error.
2486//
2487// See GetEvidenceByEvidenceFolder for more information on using the GetEvidenceByEvidenceFolder
2488// API call, and error handling.
2489//
2490// This method is useful when you want to inject custom logic or configuration
2491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2492//
2493//
2494//    // Example sending a request using the GetEvidenceByEvidenceFolderRequest method.
2495//    req, resp := client.GetEvidenceByEvidenceFolderRequest(params)
2496//
2497//    err := req.Send()
2498//    if err == nil { // resp is now filled
2499//        fmt.Println(resp)
2500//    }
2501//
2502// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2503func (c *AuditManager) GetEvidenceByEvidenceFolderRequest(input *GetEvidenceByEvidenceFolderInput) (req *request.Request, output *GetEvidenceByEvidenceFolderOutput) {
2504	op := &request.Operation{
2505		Name:       opGetEvidenceByEvidenceFolder,
2506		HTTPMethod: "GET",
2507		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence",
2508		Paginator: &request.Paginator{
2509			InputTokens:     []string{"nextToken"},
2510			OutputTokens:    []string{"nextToken"},
2511			LimitToken:      "maxResults",
2512			TruncationToken: "",
2513		},
2514	}
2515
2516	if input == nil {
2517		input = &GetEvidenceByEvidenceFolderInput{}
2518	}
2519
2520	output = &GetEvidenceByEvidenceFolderOutput{}
2521	req = c.newRequest(op, input, output)
2522	return
2523}
2524
2525// GetEvidenceByEvidenceFolder API operation for AWS Audit Manager.
2526//
2527// Returns all evidence from a specified evidence folder in Audit Manager.
2528//
2529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2530// with awserr.Error's Code and Message methods to get detailed information about
2531// the error.
2532//
2533// See the AWS API reference guide for AWS Audit Manager's
2534// API operation GetEvidenceByEvidenceFolder for usage and error information.
2535//
2536// Returned Error Types:
2537//   * ResourceNotFoundException
2538//   The resource that's specified in the request can't be found.
2539//
2540//   * ValidationException
2541//   The request has invalid or missing parameters.
2542//
2543//   * AccessDeniedException
2544//   Your account isn't registered with Audit Manager. Check the delegated administrator
2545//   setup on the Audit Manager settings page, and try again.
2546//
2547//   * InternalServerException
2548//   An internal service error occurred during the processing of your request.
2549//   Try again later.
2550//
2551// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2552func (c *AuditManager) GetEvidenceByEvidenceFolder(input *GetEvidenceByEvidenceFolderInput) (*GetEvidenceByEvidenceFolderOutput, error) {
2553	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2554	return out, req.Send()
2555}
2556
2557// GetEvidenceByEvidenceFolderWithContext is the same as GetEvidenceByEvidenceFolder with the addition of
2558// the ability to pass a context and additional request options.
2559//
2560// See GetEvidenceByEvidenceFolder for details on how to use this API operation.
2561//
2562// The context must be non-nil and will be used for request cancellation. If
2563// the context is nil a panic will occur. In the future the SDK may create
2564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2565// for more information on using Contexts.
2566func (c *AuditManager) GetEvidenceByEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, opts ...request.Option) (*GetEvidenceByEvidenceFolderOutput, error) {
2567	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2568	req.SetContext(ctx)
2569	req.ApplyOptions(opts...)
2570	return out, req.Send()
2571}
2572
2573// GetEvidenceByEvidenceFolderPages iterates over the pages of a GetEvidenceByEvidenceFolder operation,
2574// calling the "fn" function with the response data for each page. To stop
2575// iterating, return false from the fn function.
2576//
2577// See GetEvidenceByEvidenceFolder method for more information on how to use this operation.
2578//
2579// Note: This operation can generate multiple requests to a service.
2580//
2581//    // Example iterating over at most 3 pages of a GetEvidenceByEvidenceFolder operation.
2582//    pageNum := 0
2583//    err := client.GetEvidenceByEvidenceFolderPages(params,
2584//        func(page *auditmanager.GetEvidenceByEvidenceFolderOutput, lastPage bool) bool {
2585//            pageNum++
2586//            fmt.Println(page)
2587//            return pageNum <= 3
2588//        })
2589//
2590func (c *AuditManager) GetEvidenceByEvidenceFolderPages(input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool) error {
2591	return c.GetEvidenceByEvidenceFolderPagesWithContext(aws.BackgroundContext(), input, fn)
2592}
2593
2594// GetEvidenceByEvidenceFolderPagesWithContext same as GetEvidenceByEvidenceFolderPages except
2595// it takes a Context and allows setting request options on the pages.
2596//
2597// The context must be non-nil and will be used for request cancellation. If
2598// the context is nil a panic will occur. In the future the SDK may create
2599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2600// for more information on using Contexts.
2601func (c *AuditManager) GetEvidenceByEvidenceFolderPagesWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool, opts ...request.Option) error {
2602	p := request.Pagination{
2603		NewRequest: func() (*request.Request, error) {
2604			var inCpy *GetEvidenceByEvidenceFolderInput
2605			if input != nil {
2606				tmp := *input
2607				inCpy = &tmp
2608			}
2609			req, _ := c.GetEvidenceByEvidenceFolderRequest(inCpy)
2610			req.SetContext(ctx)
2611			req.ApplyOptions(opts...)
2612			return req, nil
2613		},
2614	}
2615
2616	for p.Next() {
2617		if !fn(p.Page().(*GetEvidenceByEvidenceFolderOutput), !p.HasNextPage()) {
2618			break
2619		}
2620	}
2621
2622	return p.Err()
2623}
2624
2625const opGetEvidenceFolder = "GetEvidenceFolder"
2626
2627// GetEvidenceFolderRequest generates a "aws/request.Request" representing the
2628// client's request for the GetEvidenceFolder operation. The "output" return
2629// value will be populated with the request's response once the request completes
2630// successfully.
2631//
2632// Use "Send" method on the returned Request to send the API call to the service.
2633// the "output" return value is not valid until after Send returns without error.
2634//
2635// See GetEvidenceFolder for more information on using the GetEvidenceFolder
2636// API call, and error handling.
2637//
2638// This method is useful when you want to inject custom logic or configuration
2639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2640//
2641//
2642//    // Example sending a request using the GetEvidenceFolderRequest method.
2643//    req, resp := client.GetEvidenceFolderRequest(params)
2644//
2645//    err := req.Send()
2646//    if err == nil { // resp is now filled
2647//        fmt.Println(resp)
2648//    }
2649//
2650// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2651func (c *AuditManager) GetEvidenceFolderRequest(input *GetEvidenceFolderInput) (req *request.Request, output *GetEvidenceFolderOutput) {
2652	op := &request.Operation{
2653		Name:       opGetEvidenceFolder,
2654		HTTPMethod: "GET",
2655		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}",
2656	}
2657
2658	if input == nil {
2659		input = &GetEvidenceFolderInput{}
2660	}
2661
2662	output = &GetEvidenceFolderOutput{}
2663	req = c.newRequest(op, input, output)
2664	return
2665}
2666
2667// GetEvidenceFolder API operation for AWS Audit Manager.
2668//
2669// Returns an evidence folder from the specified assessment in Audit Manager.
2670//
2671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2672// with awserr.Error's Code and Message methods to get detailed information about
2673// the error.
2674//
2675// See the AWS API reference guide for AWS Audit Manager's
2676// API operation GetEvidenceFolder for usage and error information.
2677//
2678// Returned Error Types:
2679//   * ResourceNotFoundException
2680//   The resource that's specified in the request can't be found.
2681//
2682//   * ValidationException
2683//   The request has invalid or missing parameters.
2684//
2685//   * AccessDeniedException
2686//   Your account isn't registered with Audit Manager. Check the delegated administrator
2687//   setup on the Audit Manager settings page, and try again.
2688//
2689//   * InternalServerException
2690//   An internal service error occurred during the processing of your request.
2691//   Try again later.
2692//
2693// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2694func (c *AuditManager) GetEvidenceFolder(input *GetEvidenceFolderInput) (*GetEvidenceFolderOutput, error) {
2695	req, out := c.GetEvidenceFolderRequest(input)
2696	return out, req.Send()
2697}
2698
2699// GetEvidenceFolderWithContext is the same as GetEvidenceFolder with the addition of
2700// the ability to pass a context and additional request options.
2701//
2702// See GetEvidenceFolder for details on how to use this API operation.
2703//
2704// The context must be non-nil and will be used for request cancellation. If
2705// the context is nil a panic will occur. In the future the SDK may create
2706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2707// for more information on using Contexts.
2708func (c *AuditManager) GetEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceFolderInput, opts ...request.Option) (*GetEvidenceFolderOutput, error) {
2709	req, out := c.GetEvidenceFolderRequest(input)
2710	req.SetContext(ctx)
2711	req.ApplyOptions(opts...)
2712	return out, req.Send()
2713}
2714
2715const opGetEvidenceFoldersByAssessment = "GetEvidenceFoldersByAssessment"
2716
2717// GetEvidenceFoldersByAssessmentRequest generates a "aws/request.Request" representing the
2718// client's request for the GetEvidenceFoldersByAssessment operation. The "output" return
2719// value will be populated with the request's response once the request completes
2720// successfully.
2721//
2722// Use "Send" method on the returned Request to send the API call to the service.
2723// the "output" return value is not valid until after Send returns without error.
2724//
2725// See GetEvidenceFoldersByAssessment for more information on using the GetEvidenceFoldersByAssessment
2726// API call, and error handling.
2727//
2728// This method is useful when you want to inject custom logic or configuration
2729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2730//
2731//
2732//    // Example sending a request using the GetEvidenceFoldersByAssessmentRequest method.
2733//    req, resp := client.GetEvidenceFoldersByAssessmentRequest(params)
2734//
2735//    err := req.Send()
2736//    if err == nil { // resp is now filled
2737//        fmt.Println(resp)
2738//    }
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2741func (c *AuditManager) GetEvidenceFoldersByAssessmentRequest(input *GetEvidenceFoldersByAssessmentInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentOutput) {
2742	op := &request.Operation{
2743		Name:       opGetEvidenceFoldersByAssessment,
2744		HTTPMethod: "GET",
2745		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders",
2746		Paginator: &request.Paginator{
2747			InputTokens:     []string{"nextToken"},
2748			OutputTokens:    []string{"nextToken"},
2749			LimitToken:      "maxResults",
2750			TruncationToken: "",
2751		},
2752	}
2753
2754	if input == nil {
2755		input = &GetEvidenceFoldersByAssessmentInput{}
2756	}
2757
2758	output = &GetEvidenceFoldersByAssessmentOutput{}
2759	req = c.newRequest(op, input, output)
2760	return
2761}
2762
2763// GetEvidenceFoldersByAssessment API operation for AWS Audit Manager.
2764//
2765// Returns the evidence folders from a specified assessment in Audit Manager.
2766//
2767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2768// with awserr.Error's Code and Message methods to get detailed information about
2769// the error.
2770//
2771// See the AWS API reference guide for AWS Audit Manager's
2772// API operation GetEvidenceFoldersByAssessment for usage and error information.
2773//
2774// Returned Error Types:
2775//   * ResourceNotFoundException
2776//   The resource that's specified in the request can't be found.
2777//
2778//   * AccessDeniedException
2779//   Your account isn't registered with Audit Manager. Check the delegated administrator
2780//   setup on the Audit Manager settings page, and try again.
2781//
2782//   * ValidationException
2783//   The request has invalid or missing parameters.
2784//
2785//   * InternalServerException
2786//   An internal service error occurred during the processing of your request.
2787//   Try again later.
2788//
2789// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2790func (c *AuditManager) GetEvidenceFoldersByAssessment(input *GetEvidenceFoldersByAssessmentInput) (*GetEvidenceFoldersByAssessmentOutput, error) {
2791	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2792	return out, req.Send()
2793}
2794
2795// GetEvidenceFoldersByAssessmentWithContext is the same as GetEvidenceFoldersByAssessment with the addition of
2796// the ability to pass a context and additional request options.
2797//
2798// See GetEvidenceFoldersByAssessment for details on how to use this API operation.
2799//
2800// The context must be non-nil and will be used for request cancellation. If
2801// the context is nil a panic will occur. In the future the SDK may create
2802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2803// for more information on using Contexts.
2804func (c *AuditManager) GetEvidenceFoldersByAssessmentWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentOutput, error) {
2805	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2806	req.SetContext(ctx)
2807	req.ApplyOptions(opts...)
2808	return out, req.Send()
2809}
2810
2811// GetEvidenceFoldersByAssessmentPages iterates over the pages of a GetEvidenceFoldersByAssessment operation,
2812// calling the "fn" function with the response data for each page. To stop
2813// iterating, return false from the fn function.
2814//
2815// See GetEvidenceFoldersByAssessment method for more information on how to use this operation.
2816//
2817// Note: This operation can generate multiple requests to a service.
2818//
2819//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessment operation.
2820//    pageNum := 0
2821//    err := client.GetEvidenceFoldersByAssessmentPages(params,
2822//        func(page *auditmanager.GetEvidenceFoldersByAssessmentOutput, lastPage bool) bool {
2823//            pageNum++
2824//            fmt.Println(page)
2825//            return pageNum <= 3
2826//        })
2827//
2828func (c *AuditManager) GetEvidenceFoldersByAssessmentPages(input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool) error {
2829	return c.GetEvidenceFoldersByAssessmentPagesWithContext(aws.BackgroundContext(), input, fn)
2830}
2831
2832// GetEvidenceFoldersByAssessmentPagesWithContext same as GetEvidenceFoldersByAssessmentPages except
2833// it takes a Context and allows setting request options on the pages.
2834//
2835// The context must be non-nil and will be used for request cancellation. If
2836// the context is nil a panic will occur. In the future the SDK may create
2837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2838// for more information on using Contexts.
2839func (c *AuditManager) GetEvidenceFoldersByAssessmentPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool, opts ...request.Option) error {
2840	p := request.Pagination{
2841		NewRequest: func() (*request.Request, error) {
2842			var inCpy *GetEvidenceFoldersByAssessmentInput
2843			if input != nil {
2844				tmp := *input
2845				inCpy = &tmp
2846			}
2847			req, _ := c.GetEvidenceFoldersByAssessmentRequest(inCpy)
2848			req.SetContext(ctx)
2849			req.ApplyOptions(opts...)
2850			return req, nil
2851		},
2852	}
2853
2854	for p.Next() {
2855		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentOutput), !p.HasNextPage()) {
2856			break
2857		}
2858	}
2859
2860	return p.Err()
2861}
2862
2863const opGetEvidenceFoldersByAssessmentControl = "GetEvidenceFoldersByAssessmentControl"
2864
2865// GetEvidenceFoldersByAssessmentControlRequest generates a "aws/request.Request" representing the
2866// client's request for the GetEvidenceFoldersByAssessmentControl operation. The "output" return
2867// value will be populated with the request's response once the request completes
2868// successfully.
2869//
2870// Use "Send" method on the returned Request to send the API call to the service.
2871// the "output" return value is not valid until after Send returns without error.
2872//
2873// See GetEvidenceFoldersByAssessmentControl for more information on using the GetEvidenceFoldersByAssessmentControl
2874// API call, and error handling.
2875//
2876// This method is useful when you want to inject custom logic or configuration
2877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2878//
2879//
2880//    // Example sending a request using the GetEvidenceFoldersByAssessmentControlRequest method.
2881//    req, resp := client.GetEvidenceFoldersByAssessmentControlRequest(params)
2882//
2883//    err := req.Send()
2884//    if err == nil { // resp is now filled
2885//        fmt.Println(resp)
2886//    }
2887//
2888// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2889func (c *AuditManager) GetEvidenceFoldersByAssessmentControlRequest(input *GetEvidenceFoldersByAssessmentControlInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentControlOutput) {
2890	op := &request.Operation{
2891		Name:       opGetEvidenceFoldersByAssessmentControl,
2892		HTTPMethod: "GET",
2893		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders-by-assessment-control/{controlSetId}/{controlId}",
2894		Paginator: &request.Paginator{
2895			InputTokens:     []string{"nextToken"},
2896			OutputTokens:    []string{"nextToken"},
2897			LimitToken:      "maxResults",
2898			TruncationToken: "",
2899		},
2900	}
2901
2902	if input == nil {
2903		input = &GetEvidenceFoldersByAssessmentControlInput{}
2904	}
2905
2906	output = &GetEvidenceFoldersByAssessmentControlOutput{}
2907	req = c.newRequest(op, input, output)
2908	return
2909}
2910
2911// GetEvidenceFoldersByAssessmentControl API operation for AWS Audit Manager.
2912//
2913// Returns a list of evidence folders that are associated with a specified control
2914// of an assessment in Audit Manager.
2915//
2916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2917// with awserr.Error's Code and Message methods to get detailed information about
2918// the error.
2919//
2920// See the AWS API reference guide for AWS Audit Manager's
2921// API operation GetEvidenceFoldersByAssessmentControl for usage and error information.
2922//
2923// Returned Error Types:
2924//   * ResourceNotFoundException
2925//   The resource that's specified in the request can't be found.
2926//
2927//   * ValidationException
2928//   The request has invalid or missing parameters.
2929//
2930//   * AccessDeniedException
2931//   Your account isn't registered with Audit Manager. Check the delegated administrator
2932//   setup on the Audit Manager settings page, and try again.
2933//
2934//   * InternalServerException
2935//   An internal service error occurred during the processing of your request.
2936//   Try again later.
2937//
2938// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2939func (c *AuditManager) GetEvidenceFoldersByAssessmentControl(input *GetEvidenceFoldersByAssessmentControlInput) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2940	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2941	return out, req.Send()
2942}
2943
2944// GetEvidenceFoldersByAssessmentControlWithContext is the same as GetEvidenceFoldersByAssessmentControl with the addition of
2945// the ability to pass a context and additional request options.
2946//
2947// See GetEvidenceFoldersByAssessmentControl for details on how to use this API operation.
2948//
2949// The context must be non-nil and will be used for request cancellation. If
2950// the context is nil a panic will occur. In the future the SDK may create
2951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2952// for more information on using Contexts.
2953func (c *AuditManager) GetEvidenceFoldersByAssessmentControlWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2954	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2955	req.SetContext(ctx)
2956	req.ApplyOptions(opts...)
2957	return out, req.Send()
2958}
2959
2960// GetEvidenceFoldersByAssessmentControlPages iterates over the pages of a GetEvidenceFoldersByAssessmentControl operation,
2961// calling the "fn" function with the response data for each page. To stop
2962// iterating, return false from the fn function.
2963//
2964// See GetEvidenceFoldersByAssessmentControl method for more information on how to use this operation.
2965//
2966// Note: This operation can generate multiple requests to a service.
2967//
2968//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessmentControl operation.
2969//    pageNum := 0
2970//    err := client.GetEvidenceFoldersByAssessmentControlPages(params,
2971//        func(page *auditmanager.GetEvidenceFoldersByAssessmentControlOutput, lastPage bool) bool {
2972//            pageNum++
2973//            fmt.Println(page)
2974//            return pageNum <= 3
2975//        })
2976//
2977func (c *AuditManager) GetEvidenceFoldersByAssessmentControlPages(input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool) error {
2978	return c.GetEvidenceFoldersByAssessmentControlPagesWithContext(aws.BackgroundContext(), input, fn)
2979}
2980
2981// GetEvidenceFoldersByAssessmentControlPagesWithContext same as GetEvidenceFoldersByAssessmentControlPages except
2982// it takes a Context and allows setting request options on the pages.
2983//
2984// The context must be non-nil and will be used for request cancellation. If
2985// the context is nil a panic will occur. In the future the SDK may create
2986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2987// for more information on using Contexts.
2988func (c *AuditManager) GetEvidenceFoldersByAssessmentControlPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool, opts ...request.Option) error {
2989	p := request.Pagination{
2990		NewRequest: func() (*request.Request, error) {
2991			var inCpy *GetEvidenceFoldersByAssessmentControlInput
2992			if input != nil {
2993				tmp := *input
2994				inCpy = &tmp
2995			}
2996			req, _ := c.GetEvidenceFoldersByAssessmentControlRequest(inCpy)
2997			req.SetContext(ctx)
2998			req.ApplyOptions(opts...)
2999			return req, nil
3000		},
3001	}
3002
3003	for p.Next() {
3004		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentControlOutput), !p.HasNextPage()) {
3005			break
3006		}
3007	}
3008
3009	return p.Err()
3010}
3011
3012const opGetOrganizationAdminAccount = "GetOrganizationAdminAccount"
3013
3014// GetOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
3015// client's request for the GetOrganizationAdminAccount operation. The "output" return
3016// value will be populated with the request's response once the request completes
3017// successfully.
3018//
3019// Use "Send" method on the returned Request to send the API call to the service.
3020// the "output" return value is not valid until after Send returns without error.
3021//
3022// See GetOrganizationAdminAccount for more information on using the GetOrganizationAdminAccount
3023// API call, and error handling.
3024//
3025// This method is useful when you want to inject custom logic or configuration
3026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3027//
3028//
3029//    // Example sending a request using the GetOrganizationAdminAccountRequest method.
3030//    req, resp := client.GetOrganizationAdminAccountRequest(params)
3031//
3032//    err := req.Send()
3033//    if err == nil { // resp is now filled
3034//        fmt.Println(resp)
3035//    }
3036//
3037// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
3038func (c *AuditManager) GetOrganizationAdminAccountRequest(input *GetOrganizationAdminAccountInput) (req *request.Request, output *GetOrganizationAdminAccountOutput) {
3039	op := &request.Operation{
3040		Name:       opGetOrganizationAdminAccount,
3041		HTTPMethod: "GET",
3042		HTTPPath:   "/account/organizationAdminAccount",
3043	}
3044
3045	if input == nil {
3046		input = &GetOrganizationAdminAccountInput{}
3047	}
3048
3049	output = &GetOrganizationAdminAccountOutput{}
3050	req = c.newRequest(op, input, output)
3051	return
3052}
3053
3054// GetOrganizationAdminAccount API operation for AWS Audit Manager.
3055//
3056// Returns the name of the delegated Amazon Web Services administrator account
3057// for the organization.
3058//
3059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3060// with awserr.Error's Code and Message methods to get detailed information about
3061// the error.
3062//
3063// See the AWS API reference guide for AWS Audit Manager's
3064// API operation GetOrganizationAdminAccount for usage and error information.
3065//
3066// Returned Error Types:
3067//   * ValidationException
3068//   The request has invalid or missing parameters.
3069//
3070//   * AccessDeniedException
3071//   Your account isn't registered with Audit Manager. Check the delegated administrator
3072//   setup on the Audit Manager settings page, and try again.
3073//
3074//   * InternalServerException
3075//   An internal service error occurred during the processing of your request.
3076//   Try again later.
3077//
3078//   * ResourceNotFoundException
3079//   The resource that's specified in the request can't be found.
3080//
3081// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
3082func (c *AuditManager) GetOrganizationAdminAccount(input *GetOrganizationAdminAccountInput) (*GetOrganizationAdminAccountOutput, error) {
3083	req, out := c.GetOrganizationAdminAccountRequest(input)
3084	return out, req.Send()
3085}
3086
3087// GetOrganizationAdminAccountWithContext is the same as GetOrganizationAdminAccount with the addition of
3088// the ability to pass a context and additional request options.
3089//
3090// See GetOrganizationAdminAccount for details on how to use this API operation.
3091//
3092// The context must be non-nil and will be used for request cancellation. If
3093// the context is nil a panic will occur. In the future the SDK may create
3094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3095// for more information on using Contexts.
3096func (c *AuditManager) GetOrganizationAdminAccountWithContext(ctx aws.Context, input *GetOrganizationAdminAccountInput, opts ...request.Option) (*GetOrganizationAdminAccountOutput, error) {
3097	req, out := c.GetOrganizationAdminAccountRequest(input)
3098	req.SetContext(ctx)
3099	req.ApplyOptions(opts...)
3100	return out, req.Send()
3101}
3102
3103const opGetServicesInScope = "GetServicesInScope"
3104
3105// GetServicesInScopeRequest generates a "aws/request.Request" representing the
3106// client's request for the GetServicesInScope operation. The "output" return
3107// value will be populated with the request's response once the request completes
3108// successfully.
3109//
3110// Use "Send" method on the returned Request to send the API call to the service.
3111// the "output" return value is not valid until after Send returns without error.
3112//
3113// See GetServicesInScope for more information on using the GetServicesInScope
3114// API call, and error handling.
3115//
3116// This method is useful when you want to inject custom logic or configuration
3117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3118//
3119//
3120//    // Example sending a request using the GetServicesInScopeRequest method.
3121//    req, resp := client.GetServicesInScopeRequest(params)
3122//
3123//    err := req.Send()
3124//    if err == nil { // resp is now filled
3125//        fmt.Println(resp)
3126//    }
3127//
3128// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3129func (c *AuditManager) GetServicesInScopeRequest(input *GetServicesInScopeInput) (req *request.Request, output *GetServicesInScopeOutput) {
3130	op := &request.Operation{
3131		Name:       opGetServicesInScope,
3132		HTTPMethod: "GET",
3133		HTTPPath:   "/services",
3134	}
3135
3136	if input == nil {
3137		input = &GetServicesInScopeInput{}
3138	}
3139
3140	output = &GetServicesInScopeOutput{}
3141	req = c.newRequest(op, input, output)
3142	return
3143}
3144
3145// GetServicesInScope API operation for AWS Audit Manager.
3146//
3147// Returns a list of the in-scope Amazon Web Services services for the specified
3148// assessment.
3149//
3150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3151// with awserr.Error's Code and Message methods to get detailed information about
3152// the error.
3153//
3154// See the AWS API reference guide for AWS Audit Manager's
3155// API operation GetServicesInScope for usage and error information.
3156//
3157// Returned Error Types:
3158//   * AccessDeniedException
3159//   Your account isn't registered with Audit Manager. Check the delegated administrator
3160//   setup on the Audit Manager settings page, and try again.
3161//
3162//   * ValidationException
3163//   The request has invalid or missing parameters.
3164//
3165//   * InternalServerException
3166//   An internal service error occurred during the processing of your request.
3167//   Try again later.
3168//
3169// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3170func (c *AuditManager) GetServicesInScope(input *GetServicesInScopeInput) (*GetServicesInScopeOutput, error) {
3171	req, out := c.GetServicesInScopeRequest(input)
3172	return out, req.Send()
3173}
3174
3175// GetServicesInScopeWithContext is the same as GetServicesInScope with the addition of
3176// the ability to pass a context and additional request options.
3177//
3178// See GetServicesInScope for details on how to use this API operation.
3179//
3180// The context must be non-nil and will be used for request cancellation. If
3181// the context is nil a panic will occur. In the future the SDK may create
3182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3183// for more information on using Contexts.
3184func (c *AuditManager) GetServicesInScopeWithContext(ctx aws.Context, input *GetServicesInScopeInput, opts ...request.Option) (*GetServicesInScopeOutput, error) {
3185	req, out := c.GetServicesInScopeRequest(input)
3186	req.SetContext(ctx)
3187	req.ApplyOptions(opts...)
3188	return out, req.Send()
3189}
3190
3191const opGetSettings = "GetSettings"
3192
3193// GetSettingsRequest generates a "aws/request.Request" representing the
3194// client's request for the GetSettings operation. The "output" return
3195// value will be populated with the request's response once the request completes
3196// successfully.
3197//
3198// Use "Send" method on the returned Request to send the API call to the service.
3199// the "output" return value is not valid until after Send returns without error.
3200//
3201// See GetSettings for more information on using the GetSettings
3202// API call, and error handling.
3203//
3204// This method is useful when you want to inject custom logic or configuration
3205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3206//
3207//
3208//    // Example sending a request using the GetSettingsRequest method.
3209//    req, resp := client.GetSettingsRequest(params)
3210//
3211//    err := req.Send()
3212//    if err == nil { // resp is now filled
3213//        fmt.Println(resp)
3214//    }
3215//
3216// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3217func (c *AuditManager) GetSettingsRequest(input *GetSettingsInput) (req *request.Request, output *GetSettingsOutput) {
3218	op := &request.Operation{
3219		Name:       opGetSettings,
3220		HTTPMethod: "GET",
3221		HTTPPath:   "/settings/{attribute}",
3222	}
3223
3224	if input == nil {
3225		input = &GetSettingsInput{}
3226	}
3227
3228	output = &GetSettingsOutput{}
3229	req = c.newRequest(op, input, output)
3230	return
3231}
3232
3233// GetSettings API operation for AWS Audit Manager.
3234//
3235// Returns the settings for the specified Amazon Web Services account.
3236//
3237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3238// with awserr.Error's Code and Message methods to get detailed information about
3239// the error.
3240//
3241// See the AWS API reference guide for AWS Audit Manager's
3242// API operation GetSettings for usage and error information.
3243//
3244// Returned Error Types:
3245//   * AccessDeniedException
3246//   Your account isn't registered with Audit Manager. Check the delegated administrator
3247//   setup on the Audit Manager settings page, and try again.
3248//
3249//   * InternalServerException
3250//   An internal service error occurred during the processing of your request.
3251//   Try again later.
3252//
3253// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3254func (c *AuditManager) GetSettings(input *GetSettingsInput) (*GetSettingsOutput, error) {
3255	req, out := c.GetSettingsRequest(input)
3256	return out, req.Send()
3257}
3258
3259// GetSettingsWithContext is the same as GetSettings with the addition of
3260// the ability to pass a context and additional request options.
3261//
3262// See GetSettings for details on how to use this API operation.
3263//
3264// The context must be non-nil and will be used for request cancellation. If
3265// the context is nil a panic will occur. In the future the SDK may create
3266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3267// for more information on using Contexts.
3268func (c *AuditManager) GetSettingsWithContext(ctx aws.Context, input *GetSettingsInput, opts ...request.Option) (*GetSettingsOutput, error) {
3269	req, out := c.GetSettingsRequest(input)
3270	req.SetContext(ctx)
3271	req.ApplyOptions(opts...)
3272	return out, req.Send()
3273}
3274
3275const opListAssessmentFrameworkShareRequests = "ListAssessmentFrameworkShareRequests"
3276
3277// ListAssessmentFrameworkShareRequestsRequest generates a "aws/request.Request" representing the
3278// client's request for the ListAssessmentFrameworkShareRequests operation. The "output" return
3279// value will be populated with the request's response once the request completes
3280// successfully.
3281//
3282// Use "Send" method on the returned Request to send the API call to the service.
3283// the "output" return value is not valid until after Send returns without error.
3284//
3285// See ListAssessmentFrameworkShareRequests for more information on using the ListAssessmentFrameworkShareRequests
3286// API call, and error handling.
3287//
3288// This method is useful when you want to inject custom logic or configuration
3289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3290//
3291//
3292//    // Example sending a request using the ListAssessmentFrameworkShareRequestsRequest method.
3293//    req, resp := client.ListAssessmentFrameworkShareRequestsRequest(params)
3294//
3295//    err := req.Send()
3296//    if err == nil { // resp is now filled
3297//        fmt.Println(resp)
3298//    }
3299//
3300// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworkShareRequests
3301func (c *AuditManager) ListAssessmentFrameworkShareRequestsRequest(input *ListAssessmentFrameworkShareRequestsInput) (req *request.Request, output *ListAssessmentFrameworkShareRequestsOutput) {
3302	op := &request.Operation{
3303		Name:       opListAssessmentFrameworkShareRequests,
3304		HTTPMethod: "GET",
3305		HTTPPath:   "/assessmentFrameworkShareRequests",
3306		Paginator: &request.Paginator{
3307			InputTokens:     []string{"nextToken"},
3308			OutputTokens:    []string{"nextToken"},
3309			LimitToken:      "maxResults",
3310			TruncationToken: "",
3311		},
3312	}
3313
3314	if input == nil {
3315		input = &ListAssessmentFrameworkShareRequestsInput{}
3316	}
3317
3318	output = &ListAssessmentFrameworkShareRequestsOutput{}
3319	req = c.newRequest(op, input, output)
3320	return
3321}
3322
3323// ListAssessmentFrameworkShareRequests API operation for AWS Audit Manager.
3324//
3325// Returns a list of sent or received share requests for custom frameworks in
3326// Audit Manager.
3327//
3328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3329// with awserr.Error's Code and Message methods to get detailed information about
3330// the error.
3331//
3332// See the AWS API reference guide for AWS Audit Manager's
3333// API operation ListAssessmentFrameworkShareRequests for usage and error information.
3334//
3335// Returned Error Types:
3336//   * AccessDeniedException
3337//   Your account isn't registered with Audit Manager. Check the delegated administrator
3338//   setup on the Audit Manager settings page, and try again.
3339//
3340//   * ValidationException
3341//   The request has invalid or missing parameters.
3342//
3343//   * InternalServerException
3344//   An internal service error occurred during the processing of your request.
3345//   Try again later.
3346//
3347// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworkShareRequests
3348func (c *AuditManager) ListAssessmentFrameworkShareRequests(input *ListAssessmentFrameworkShareRequestsInput) (*ListAssessmentFrameworkShareRequestsOutput, error) {
3349	req, out := c.ListAssessmentFrameworkShareRequestsRequest(input)
3350	return out, req.Send()
3351}
3352
3353// ListAssessmentFrameworkShareRequestsWithContext is the same as ListAssessmentFrameworkShareRequests with the addition of
3354// the ability to pass a context and additional request options.
3355//
3356// See ListAssessmentFrameworkShareRequests for details on how to use this API operation.
3357//
3358// The context must be non-nil and will be used for request cancellation. If
3359// the context is nil a panic will occur. In the future the SDK may create
3360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3361// for more information on using Contexts.
3362func (c *AuditManager) ListAssessmentFrameworkShareRequestsWithContext(ctx aws.Context, input *ListAssessmentFrameworkShareRequestsInput, opts ...request.Option) (*ListAssessmentFrameworkShareRequestsOutput, error) {
3363	req, out := c.ListAssessmentFrameworkShareRequestsRequest(input)
3364	req.SetContext(ctx)
3365	req.ApplyOptions(opts...)
3366	return out, req.Send()
3367}
3368
3369// ListAssessmentFrameworkShareRequestsPages iterates over the pages of a ListAssessmentFrameworkShareRequests operation,
3370// calling the "fn" function with the response data for each page. To stop
3371// iterating, return false from the fn function.
3372//
3373// See ListAssessmentFrameworkShareRequests method for more information on how to use this operation.
3374//
3375// Note: This operation can generate multiple requests to a service.
3376//
3377//    // Example iterating over at most 3 pages of a ListAssessmentFrameworkShareRequests operation.
3378//    pageNum := 0
3379//    err := client.ListAssessmentFrameworkShareRequestsPages(params,
3380//        func(page *auditmanager.ListAssessmentFrameworkShareRequestsOutput, lastPage bool) bool {
3381//            pageNum++
3382//            fmt.Println(page)
3383//            return pageNum <= 3
3384//        })
3385//
3386func (c *AuditManager) ListAssessmentFrameworkShareRequestsPages(input *ListAssessmentFrameworkShareRequestsInput, fn func(*ListAssessmentFrameworkShareRequestsOutput, bool) bool) error {
3387	return c.ListAssessmentFrameworkShareRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
3388}
3389
3390// ListAssessmentFrameworkShareRequestsPagesWithContext same as ListAssessmentFrameworkShareRequestsPages except
3391// it takes a Context and allows setting request options on the pages.
3392//
3393// The context must be non-nil and will be used for request cancellation. If
3394// the context is nil a panic will occur. In the future the SDK may create
3395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3396// for more information on using Contexts.
3397func (c *AuditManager) ListAssessmentFrameworkShareRequestsPagesWithContext(ctx aws.Context, input *ListAssessmentFrameworkShareRequestsInput, fn func(*ListAssessmentFrameworkShareRequestsOutput, bool) bool, opts ...request.Option) error {
3398	p := request.Pagination{
3399		NewRequest: func() (*request.Request, error) {
3400			var inCpy *ListAssessmentFrameworkShareRequestsInput
3401			if input != nil {
3402				tmp := *input
3403				inCpy = &tmp
3404			}
3405			req, _ := c.ListAssessmentFrameworkShareRequestsRequest(inCpy)
3406			req.SetContext(ctx)
3407			req.ApplyOptions(opts...)
3408			return req, nil
3409		},
3410	}
3411
3412	for p.Next() {
3413		if !fn(p.Page().(*ListAssessmentFrameworkShareRequestsOutput), !p.HasNextPage()) {
3414			break
3415		}
3416	}
3417
3418	return p.Err()
3419}
3420
3421const opListAssessmentFrameworks = "ListAssessmentFrameworks"
3422
3423// ListAssessmentFrameworksRequest generates a "aws/request.Request" representing the
3424// client's request for the ListAssessmentFrameworks operation. The "output" return
3425// value will be populated with the request's response once the request completes
3426// successfully.
3427//
3428// Use "Send" method on the returned Request to send the API call to the service.
3429// the "output" return value is not valid until after Send returns without error.
3430//
3431// See ListAssessmentFrameworks for more information on using the ListAssessmentFrameworks
3432// API call, and error handling.
3433//
3434// This method is useful when you want to inject custom logic or configuration
3435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3436//
3437//
3438//    // Example sending a request using the ListAssessmentFrameworksRequest method.
3439//    req, resp := client.ListAssessmentFrameworksRequest(params)
3440//
3441//    err := req.Send()
3442//    if err == nil { // resp is now filled
3443//        fmt.Println(resp)
3444//    }
3445//
3446// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3447func (c *AuditManager) ListAssessmentFrameworksRequest(input *ListAssessmentFrameworksInput) (req *request.Request, output *ListAssessmentFrameworksOutput) {
3448	op := &request.Operation{
3449		Name:       opListAssessmentFrameworks,
3450		HTTPMethod: "GET",
3451		HTTPPath:   "/assessmentFrameworks",
3452		Paginator: &request.Paginator{
3453			InputTokens:     []string{"nextToken"},
3454			OutputTokens:    []string{"nextToken"},
3455			LimitToken:      "maxResults",
3456			TruncationToken: "",
3457		},
3458	}
3459
3460	if input == nil {
3461		input = &ListAssessmentFrameworksInput{}
3462	}
3463
3464	output = &ListAssessmentFrameworksOutput{}
3465	req = c.newRequest(op, input, output)
3466	return
3467}
3468
3469// ListAssessmentFrameworks API operation for AWS Audit Manager.
3470//
3471// Returns a list of the frameworks that are available in the Audit Manager
3472// framework library.
3473//
3474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3475// with awserr.Error's Code and Message methods to get detailed information about
3476// the error.
3477//
3478// See the AWS API reference guide for AWS Audit Manager's
3479// API operation ListAssessmentFrameworks for usage and error information.
3480//
3481// Returned Error Types:
3482//   * ValidationException
3483//   The request has invalid or missing parameters.
3484//
3485//   * AccessDeniedException
3486//   Your account isn't registered with Audit Manager. Check the delegated administrator
3487//   setup on the Audit Manager settings page, and try again.
3488//
3489//   * InternalServerException
3490//   An internal service error occurred during the processing of your request.
3491//   Try again later.
3492//
3493// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3494func (c *AuditManager) ListAssessmentFrameworks(input *ListAssessmentFrameworksInput) (*ListAssessmentFrameworksOutput, error) {
3495	req, out := c.ListAssessmentFrameworksRequest(input)
3496	return out, req.Send()
3497}
3498
3499// ListAssessmentFrameworksWithContext is the same as ListAssessmentFrameworks with the addition of
3500// the ability to pass a context and additional request options.
3501//
3502// See ListAssessmentFrameworks for details on how to use this API operation.
3503//
3504// The context must be non-nil and will be used for request cancellation. If
3505// the context is nil a panic will occur. In the future the SDK may create
3506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3507// for more information on using Contexts.
3508func (c *AuditManager) ListAssessmentFrameworksWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, opts ...request.Option) (*ListAssessmentFrameworksOutput, error) {
3509	req, out := c.ListAssessmentFrameworksRequest(input)
3510	req.SetContext(ctx)
3511	req.ApplyOptions(opts...)
3512	return out, req.Send()
3513}
3514
3515// ListAssessmentFrameworksPages iterates over the pages of a ListAssessmentFrameworks operation,
3516// calling the "fn" function with the response data for each page. To stop
3517// iterating, return false from the fn function.
3518//
3519// See ListAssessmentFrameworks method for more information on how to use this operation.
3520//
3521// Note: This operation can generate multiple requests to a service.
3522//
3523//    // Example iterating over at most 3 pages of a ListAssessmentFrameworks operation.
3524//    pageNum := 0
3525//    err := client.ListAssessmentFrameworksPages(params,
3526//        func(page *auditmanager.ListAssessmentFrameworksOutput, lastPage bool) bool {
3527//            pageNum++
3528//            fmt.Println(page)
3529//            return pageNum <= 3
3530//        })
3531//
3532func (c *AuditManager) ListAssessmentFrameworksPages(input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool) error {
3533	return c.ListAssessmentFrameworksPagesWithContext(aws.BackgroundContext(), input, fn)
3534}
3535
3536// ListAssessmentFrameworksPagesWithContext same as ListAssessmentFrameworksPages except
3537// it takes a Context and allows setting request options on the pages.
3538//
3539// The context must be non-nil and will be used for request cancellation. If
3540// the context is nil a panic will occur. In the future the SDK may create
3541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3542// for more information on using Contexts.
3543func (c *AuditManager) ListAssessmentFrameworksPagesWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool, opts ...request.Option) error {
3544	p := request.Pagination{
3545		NewRequest: func() (*request.Request, error) {
3546			var inCpy *ListAssessmentFrameworksInput
3547			if input != nil {
3548				tmp := *input
3549				inCpy = &tmp
3550			}
3551			req, _ := c.ListAssessmentFrameworksRequest(inCpy)
3552			req.SetContext(ctx)
3553			req.ApplyOptions(opts...)
3554			return req, nil
3555		},
3556	}
3557
3558	for p.Next() {
3559		if !fn(p.Page().(*ListAssessmentFrameworksOutput), !p.HasNextPage()) {
3560			break
3561		}
3562	}
3563
3564	return p.Err()
3565}
3566
3567const opListAssessmentReports = "ListAssessmentReports"
3568
3569// ListAssessmentReportsRequest generates a "aws/request.Request" representing the
3570// client's request for the ListAssessmentReports operation. The "output" return
3571// value will be populated with the request's response once the request completes
3572// successfully.
3573//
3574// Use "Send" method on the returned Request to send the API call to the service.
3575// the "output" return value is not valid until after Send returns without error.
3576//
3577// See ListAssessmentReports for more information on using the ListAssessmentReports
3578// API call, and error handling.
3579//
3580// This method is useful when you want to inject custom logic or configuration
3581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3582//
3583//
3584//    // Example sending a request using the ListAssessmentReportsRequest method.
3585//    req, resp := client.ListAssessmentReportsRequest(params)
3586//
3587//    err := req.Send()
3588//    if err == nil { // resp is now filled
3589//        fmt.Println(resp)
3590//    }
3591//
3592// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3593func (c *AuditManager) ListAssessmentReportsRequest(input *ListAssessmentReportsInput) (req *request.Request, output *ListAssessmentReportsOutput) {
3594	op := &request.Operation{
3595		Name:       opListAssessmentReports,
3596		HTTPMethod: "GET",
3597		HTTPPath:   "/assessmentReports",
3598		Paginator: &request.Paginator{
3599			InputTokens:     []string{"nextToken"},
3600			OutputTokens:    []string{"nextToken"},
3601			LimitToken:      "maxResults",
3602			TruncationToken: "",
3603		},
3604	}
3605
3606	if input == nil {
3607		input = &ListAssessmentReportsInput{}
3608	}
3609
3610	output = &ListAssessmentReportsOutput{}
3611	req = c.newRequest(op, input, output)
3612	return
3613}
3614
3615// ListAssessmentReports API operation for AWS Audit Manager.
3616//
3617// Returns a list of assessment reports created in Audit Manager.
3618//
3619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3620// with awserr.Error's Code and Message methods to get detailed information about
3621// the error.
3622//
3623// See the AWS API reference guide for AWS Audit Manager's
3624// API operation ListAssessmentReports for usage and error information.
3625//
3626// Returned Error Types:
3627//   * ValidationException
3628//   The request has invalid or missing parameters.
3629//
3630//   * AccessDeniedException
3631//   Your account isn't registered with Audit Manager. Check the delegated administrator
3632//   setup on the Audit Manager settings page, and try again.
3633//
3634//   * InternalServerException
3635//   An internal service error occurred during the processing of your request.
3636//   Try again later.
3637//
3638// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3639func (c *AuditManager) ListAssessmentReports(input *ListAssessmentReportsInput) (*ListAssessmentReportsOutput, error) {
3640	req, out := c.ListAssessmentReportsRequest(input)
3641	return out, req.Send()
3642}
3643
3644// ListAssessmentReportsWithContext is the same as ListAssessmentReports with the addition of
3645// the ability to pass a context and additional request options.
3646//
3647// See ListAssessmentReports for details on how to use this API operation.
3648//
3649// The context must be non-nil and will be used for request cancellation. If
3650// the context is nil a panic will occur. In the future the SDK may create
3651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3652// for more information on using Contexts.
3653func (c *AuditManager) ListAssessmentReportsWithContext(ctx aws.Context, input *ListAssessmentReportsInput, opts ...request.Option) (*ListAssessmentReportsOutput, error) {
3654	req, out := c.ListAssessmentReportsRequest(input)
3655	req.SetContext(ctx)
3656	req.ApplyOptions(opts...)
3657	return out, req.Send()
3658}
3659
3660// ListAssessmentReportsPages iterates over the pages of a ListAssessmentReports operation,
3661// calling the "fn" function with the response data for each page. To stop
3662// iterating, return false from the fn function.
3663//
3664// See ListAssessmentReports method for more information on how to use this operation.
3665//
3666// Note: This operation can generate multiple requests to a service.
3667//
3668//    // Example iterating over at most 3 pages of a ListAssessmentReports operation.
3669//    pageNum := 0
3670//    err := client.ListAssessmentReportsPages(params,
3671//        func(page *auditmanager.ListAssessmentReportsOutput, lastPage bool) bool {
3672//            pageNum++
3673//            fmt.Println(page)
3674//            return pageNum <= 3
3675//        })
3676//
3677func (c *AuditManager) ListAssessmentReportsPages(input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool) error {
3678	return c.ListAssessmentReportsPagesWithContext(aws.BackgroundContext(), input, fn)
3679}
3680
3681// ListAssessmentReportsPagesWithContext same as ListAssessmentReportsPages except
3682// it takes a Context and allows setting request options on the pages.
3683//
3684// The context must be non-nil and will be used for request cancellation. If
3685// the context is nil a panic will occur. In the future the SDK may create
3686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3687// for more information on using Contexts.
3688func (c *AuditManager) ListAssessmentReportsPagesWithContext(ctx aws.Context, input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool, opts ...request.Option) error {
3689	p := request.Pagination{
3690		NewRequest: func() (*request.Request, error) {
3691			var inCpy *ListAssessmentReportsInput
3692			if input != nil {
3693				tmp := *input
3694				inCpy = &tmp
3695			}
3696			req, _ := c.ListAssessmentReportsRequest(inCpy)
3697			req.SetContext(ctx)
3698			req.ApplyOptions(opts...)
3699			return req, nil
3700		},
3701	}
3702
3703	for p.Next() {
3704		if !fn(p.Page().(*ListAssessmentReportsOutput), !p.HasNextPage()) {
3705			break
3706		}
3707	}
3708
3709	return p.Err()
3710}
3711
3712const opListAssessments = "ListAssessments"
3713
3714// ListAssessmentsRequest generates a "aws/request.Request" representing the
3715// client's request for the ListAssessments operation. The "output" return
3716// value will be populated with the request's response once the request completes
3717// successfully.
3718//
3719// Use "Send" method on the returned Request to send the API call to the service.
3720// the "output" return value is not valid until after Send returns without error.
3721//
3722// See ListAssessments for more information on using the ListAssessments
3723// API call, and error handling.
3724//
3725// This method is useful when you want to inject custom logic or configuration
3726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3727//
3728//
3729//    // Example sending a request using the ListAssessmentsRequest method.
3730//    req, resp := client.ListAssessmentsRequest(params)
3731//
3732//    err := req.Send()
3733//    if err == nil { // resp is now filled
3734//        fmt.Println(resp)
3735//    }
3736//
3737// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3738func (c *AuditManager) ListAssessmentsRequest(input *ListAssessmentsInput) (req *request.Request, output *ListAssessmentsOutput) {
3739	op := &request.Operation{
3740		Name:       opListAssessments,
3741		HTTPMethod: "GET",
3742		HTTPPath:   "/assessments",
3743		Paginator: &request.Paginator{
3744			InputTokens:     []string{"nextToken"},
3745			OutputTokens:    []string{"nextToken"},
3746			LimitToken:      "maxResults",
3747			TruncationToken: "",
3748		},
3749	}
3750
3751	if input == nil {
3752		input = &ListAssessmentsInput{}
3753	}
3754
3755	output = &ListAssessmentsOutput{}
3756	req = c.newRequest(op, input, output)
3757	return
3758}
3759
3760// ListAssessments API operation for AWS Audit Manager.
3761//
3762// Returns a list of current and past assessments from Audit Manager.
3763//
3764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3765// with awserr.Error's Code and Message methods to get detailed information about
3766// the error.
3767//
3768// See the AWS API reference guide for AWS Audit Manager's
3769// API operation ListAssessments for usage and error information.
3770//
3771// Returned Error Types:
3772//   * AccessDeniedException
3773//   Your account isn't registered with Audit Manager. Check the delegated administrator
3774//   setup on the Audit Manager settings page, and try again.
3775//
3776//   * ValidationException
3777//   The request has invalid or missing parameters.
3778//
3779//   * InternalServerException
3780//   An internal service error occurred during the processing of your request.
3781//   Try again later.
3782//
3783// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3784func (c *AuditManager) ListAssessments(input *ListAssessmentsInput) (*ListAssessmentsOutput, error) {
3785	req, out := c.ListAssessmentsRequest(input)
3786	return out, req.Send()
3787}
3788
3789// ListAssessmentsWithContext is the same as ListAssessments with the addition of
3790// the ability to pass a context and additional request options.
3791//
3792// See ListAssessments for details on how to use this API operation.
3793//
3794// The context must be non-nil and will be used for request cancellation. If
3795// the context is nil a panic will occur. In the future the SDK may create
3796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3797// for more information on using Contexts.
3798func (c *AuditManager) ListAssessmentsWithContext(ctx aws.Context, input *ListAssessmentsInput, opts ...request.Option) (*ListAssessmentsOutput, error) {
3799	req, out := c.ListAssessmentsRequest(input)
3800	req.SetContext(ctx)
3801	req.ApplyOptions(opts...)
3802	return out, req.Send()
3803}
3804
3805// ListAssessmentsPages iterates over the pages of a ListAssessments operation,
3806// calling the "fn" function with the response data for each page. To stop
3807// iterating, return false from the fn function.
3808//
3809// See ListAssessments method for more information on how to use this operation.
3810//
3811// Note: This operation can generate multiple requests to a service.
3812//
3813//    // Example iterating over at most 3 pages of a ListAssessments operation.
3814//    pageNum := 0
3815//    err := client.ListAssessmentsPages(params,
3816//        func(page *auditmanager.ListAssessmentsOutput, lastPage bool) bool {
3817//            pageNum++
3818//            fmt.Println(page)
3819//            return pageNum <= 3
3820//        })
3821//
3822func (c *AuditManager) ListAssessmentsPages(input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool) error {
3823	return c.ListAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn)
3824}
3825
3826// ListAssessmentsPagesWithContext same as ListAssessmentsPages except
3827// it takes a Context and allows setting request options on the pages.
3828//
3829// The context must be non-nil and will be used for request cancellation. If
3830// the context is nil a panic will occur. In the future the SDK may create
3831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3832// for more information on using Contexts.
3833func (c *AuditManager) ListAssessmentsPagesWithContext(ctx aws.Context, input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool, opts ...request.Option) error {
3834	p := request.Pagination{
3835		NewRequest: func() (*request.Request, error) {
3836			var inCpy *ListAssessmentsInput
3837			if input != nil {
3838				tmp := *input
3839				inCpy = &tmp
3840			}
3841			req, _ := c.ListAssessmentsRequest(inCpy)
3842			req.SetContext(ctx)
3843			req.ApplyOptions(opts...)
3844			return req, nil
3845		},
3846	}
3847
3848	for p.Next() {
3849		if !fn(p.Page().(*ListAssessmentsOutput), !p.HasNextPage()) {
3850			break
3851		}
3852	}
3853
3854	return p.Err()
3855}
3856
3857const opListControls = "ListControls"
3858
3859// ListControlsRequest generates a "aws/request.Request" representing the
3860// client's request for the ListControls operation. The "output" return
3861// value will be populated with the request's response once the request completes
3862// successfully.
3863//
3864// Use "Send" method on the returned Request to send the API call to the service.
3865// the "output" return value is not valid until after Send returns without error.
3866//
3867// See ListControls for more information on using the ListControls
3868// API call, and error handling.
3869//
3870// This method is useful when you want to inject custom logic or configuration
3871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3872//
3873//
3874//    // Example sending a request using the ListControlsRequest method.
3875//    req, resp := client.ListControlsRequest(params)
3876//
3877//    err := req.Send()
3878//    if err == nil { // resp is now filled
3879//        fmt.Println(resp)
3880//    }
3881//
3882// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3883func (c *AuditManager) ListControlsRequest(input *ListControlsInput) (req *request.Request, output *ListControlsOutput) {
3884	op := &request.Operation{
3885		Name:       opListControls,
3886		HTTPMethod: "GET",
3887		HTTPPath:   "/controls",
3888		Paginator: &request.Paginator{
3889			InputTokens:     []string{"nextToken"},
3890			OutputTokens:    []string{"nextToken"},
3891			LimitToken:      "maxResults",
3892			TruncationToken: "",
3893		},
3894	}
3895
3896	if input == nil {
3897		input = &ListControlsInput{}
3898	}
3899
3900	output = &ListControlsOutput{}
3901	req = c.newRequest(op, input, output)
3902	return
3903}
3904
3905// ListControls API operation for AWS Audit Manager.
3906//
3907// Returns a list of controls from Audit Manager.
3908//
3909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3910// with awserr.Error's Code and Message methods to get detailed information about
3911// the error.
3912//
3913// See the AWS API reference guide for AWS Audit Manager's
3914// API operation ListControls for usage and error information.
3915//
3916// Returned Error Types:
3917//   * AccessDeniedException
3918//   Your account isn't registered with Audit Manager. Check the delegated administrator
3919//   setup on the Audit Manager settings page, and try again.
3920//
3921//   * ValidationException
3922//   The request has invalid or missing parameters.
3923//
3924//   * InternalServerException
3925//   An internal service error occurred during the processing of your request.
3926//   Try again later.
3927//
3928// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3929func (c *AuditManager) ListControls(input *ListControlsInput) (*ListControlsOutput, error) {
3930	req, out := c.ListControlsRequest(input)
3931	return out, req.Send()
3932}
3933
3934// ListControlsWithContext is the same as ListControls with the addition of
3935// the ability to pass a context and additional request options.
3936//
3937// See ListControls for details on how to use this API operation.
3938//
3939// The context must be non-nil and will be used for request cancellation. If
3940// the context is nil a panic will occur. In the future the SDK may create
3941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3942// for more information on using Contexts.
3943func (c *AuditManager) ListControlsWithContext(ctx aws.Context, input *ListControlsInput, opts ...request.Option) (*ListControlsOutput, error) {
3944	req, out := c.ListControlsRequest(input)
3945	req.SetContext(ctx)
3946	req.ApplyOptions(opts...)
3947	return out, req.Send()
3948}
3949
3950// ListControlsPages iterates over the pages of a ListControls operation,
3951// calling the "fn" function with the response data for each page. To stop
3952// iterating, return false from the fn function.
3953//
3954// See ListControls method for more information on how to use this operation.
3955//
3956// Note: This operation can generate multiple requests to a service.
3957//
3958//    // Example iterating over at most 3 pages of a ListControls operation.
3959//    pageNum := 0
3960//    err := client.ListControlsPages(params,
3961//        func(page *auditmanager.ListControlsOutput, lastPage bool) bool {
3962//            pageNum++
3963//            fmt.Println(page)
3964//            return pageNum <= 3
3965//        })
3966//
3967func (c *AuditManager) ListControlsPages(input *ListControlsInput, fn func(*ListControlsOutput, bool) bool) error {
3968	return c.ListControlsPagesWithContext(aws.BackgroundContext(), input, fn)
3969}
3970
3971// ListControlsPagesWithContext same as ListControlsPages except
3972// it takes a Context and allows setting request options on the pages.
3973//
3974// The context must be non-nil and will be used for request cancellation. If
3975// the context is nil a panic will occur. In the future the SDK may create
3976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3977// for more information on using Contexts.
3978func (c *AuditManager) ListControlsPagesWithContext(ctx aws.Context, input *ListControlsInput, fn func(*ListControlsOutput, bool) bool, opts ...request.Option) error {
3979	p := request.Pagination{
3980		NewRequest: func() (*request.Request, error) {
3981			var inCpy *ListControlsInput
3982			if input != nil {
3983				tmp := *input
3984				inCpy = &tmp
3985			}
3986			req, _ := c.ListControlsRequest(inCpy)
3987			req.SetContext(ctx)
3988			req.ApplyOptions(opts...)
3989			return req, nil
3990		},
3991	}
3992
3993	for p.Next() {
3994		if !fn(p.Page().(*ListControlsOutput), !p.HasNextPage()) {
3995			break
3996		}
3997	}
3998
3999	return p.Err()
4000}
4001
4002const opListKeywordsForDataSource = "ListKeywordsForDataSource"
4003
4004// ListKeywordsForDataSourceRequest generates a "aws/request.Request" representing the
4005// client's request for the ListKeywordsForDataSource operation. The "output" return
4006// value will be populated with the request's response once the request completes
4007// successfully.
4008//
4009// Use "Send" method on the returned Request to send the API call to the service.
4010// the "output" return value is not valid until after Send returns without error.
4011//
4012// See ListKeywordsForDataSource for more information on using the ListKeywordsForDataSource
4013// API call, and error handling.
4014//
4015// This method is useful when you want to inject custom logic or configuration
4016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4017//
4018//
4019//    // Example sending a request using the ListKeywordsForDataSourceRequest method.
4020//    req, resp := client.ListKeywordsForDataSourceRequest(params)
4021//
4022//    err := req.Send()
4023//    if err == nil { // resp is now filled
4024//        fmt.Println(resp)
4025//    }
4026//
4027// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
4028func (c *AuditManager) ListKeywordsForDataSourceRequest(input *ListKeywordsForDataSourceInput) (req *request.Request, output *ListKeywordsForDataSourceOutput) {
4029	op := &request.Operation{
4030		Name:       opListKeywordsForDataSource,
4031		HTTPMethod: "GET",
4032		HTTPPath:   "/dataSourceKeywords",
4033		Paginator: &request.Paginator{
4034			InputTokens:     []string{"nextToken"},
4035			OutputTokens:    []string{"nextToken"},
4036			LimitToken:      "maxResults",
4037			TruncationToken: "",
4038		},
4039	}
4040
4041	if input == nil {
4042		input = &ListKeywordsForDataSourceInput{}
4043	}
4044
4045	output = &ListKeywordsForDataSourceOutput{}
4046	req = c.newRequest(op, input, output)
4047	return
4048}
4049
4050// ListKeywordsForDataSource API operation for AWS Audit Manager.
4051//
4052// Returns a list of keywords that are pre-mapped to the specified control data
4053// source.
4054//
4055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4056// with awserr.Error's Code and Message methods to get detailed information about
4057// the error.
4058//
4059// See the AWS API reference guide for AWS Audit Manager's
4060// API operation ListKeywordsForDataSource for usage and error information.
4061//
4062// Returned Error Types:
4063//   * AccessDeniedException
4064//   Your account isn't registered with Audit Manager. Check the delegated administrator
4065//   setup on the Audit Manager settings page, and try again.
4066//
4067//   * ValidationException
4068//   The request has invalid or missing parameters.
4069//
4070//   * InternalServerException
4071//   An internal service error occurred during the processing of your request.
4072//   Try again later.
4073//
4074// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
4075func (c *AuditManager) ListKeywordsForDataSource(input *ListKeywordsForDataSourceInput) (*ListKeywordsForDataSourceOutput, error) {
4076	req, out := c.ListKeywordsForDataSourceRequest(input)
4077	return out, req.Send()
4078}
4079
4080// ListKeywordsForDataSourceWithContext is the same as ListKeywordsForDataSource with the addition of
4081// the ability to pass a context and additional request options.
4082//
4083// See ListKeywordsForDataSource for details on how to use this API operation.
4084//
4085// The context must be non-nil and will be used for request cancellation. If
4086// the context is nil a panic will occur. In the future the SDK may create
4087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4088// for more information on using Contexts.
4089func (c *AuditManager) ListKeywordsForDataSourceWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, opts ...request.Option) (*ListKeywordsForDataSourceOutput, error) {
4090	req, out := c.ListKeywordsForDataSourceRequest(input)
4091	req.SetContext(ctx)
4092	req.ApplyOptions(opts...)
4093	return out, req.Send()
4094}
4095
4096// ListKeywordsForDataSourcePages iterates over the pages of a ListKeywordsForDataSource operation,
4097// calling the "fn" function with the response data for each page. To stop
4098// iterating, return false from the fn function.
4099//
4100// See ListKeywordsForDataSource method for more information on how to use this operation.
4101//
4102// Note: This operation can generate multiple requests to a service.
4103//
4104//    // Example iterating over at most 3 pages of a ListKeywordsForDataSource operation.
4105//    pageNum := 0
4106//    err := client.ListKeywordsForDataSourcePages(params,
4107//        func(page *auditmanager.ListKeywordsForDataSourceOutput, lastPage bool) bool {
4108//            pageNum++
4109//            fmt.Println(page)
4110//            return pageNum <= 3
4111//        })
4112//
4113func (c *AuditManager) ListKeywordsForDataSourcePages(input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool) error {
4114	return c.ListKeywordsForDataSourcePagesWithContext(aws.BackgroundContext(), input, fn)
4115}
4116
4117// ListKeywordsForDataSourcePagesWithContext same as ListKeywordsForDataSourcePages except
4118// it takes a Context and allows setting request options on the pages.
4119//
4120// The context must be non-nil and will be used for request cancellation. If
4121// the context is nil a panic will occur. In the future the SDK may create
4122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4123// for more information on using Contexts.
4124func (c *AuditManager) ListKeywordsForDataSourcePagesWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool, opts ...request.Option) error {
4125	p := request.Pagination{
4126		NewRequest: func() (*request.Request, error) {
4127			var inCpy *ListKeywordsForDataSourceInput
4128			if input != nil {
4129				tmp := *input
4130				inCpy = &tmp
4131			}
4132			req, _ := c.ListKeywordsForDataSourceRequest(inCpy)
4133			req.SetContext(ctx)
4134			req.ApplyOptions(opts...)
4135			return req, nil
4136		},
4137	}
4138
4139	for p.Next() {
4140		if !fn(p.Page().(*ListKeywordsForDataSourceOutput), !p.HasNextPage()) {
4141			break
4142		}
4143	}
4144
4145	return p.Err()
4146}
4147
4148const opListNotifications = "ListNotifications"
4149
4150// ListNotificationsRequest generates a "aws/request.Request" representing the
4151// client's request for the ListNotifications operation. The "output" return
4152// value will be populated with the request's response once the request completes
4153// successfully.
4154//
4155// Use "Send" method on the returned Request to send the API call to the service.
4156// the "output" return value is not valid until after Send returns without error.
4157//
4158// See ListNotifications for more information on using the ListNotifications
4159// API call, and error handling.
4160//
4161// This method is useful when you want to inject custom logic or configuration
4162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4163//
4164//
4165//    // Example sending a request using the ListNotificationsRequest method.
4166//    req, resp := client.ListNotificationsRequest(params)
4167//
4168//    err := req.Send()
4169//    if err == nil { // resp is now filled
4170//        fmt.Println(resp)
4171//    }
4172//
4173// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
4174func (c *AuditManager) ListNotificationsRequest(input *ListNotificationsInput) (req *request.Request, output *ListNotificationsOutput) {
4175	op := &request.Operation{
4176		Name:       opListNotifications,
4177		HTTPMethod: "GET",
4178		HTTPPath:   "/notifications",
4179		Paginator: &request.Paginator{
4180			InputTokens:     []string{"nextToken"},
4181			OutputTokens:    []string{"nextToken"},
4182			LimitToken:      "maxResults",
4183			TruncationToken: "",
4184		},
4185	}
4186
4187	if input == nil {
4188		input = &ListNotificationsInput{}
4189	}
4190
4191	output = &ListNotificationsOutput{}
4192	req = c.newRequest(op, input, output)
4193	return
4194}
4195
4196// ListNotifications API operation for AWS Audit Manager.
4197//
4198// Returns a list of all Audit Manager notifications.
4199//
4200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4201// with awserr.Error's Code and Message methods to get detailed information about
4202// the error.
4203//
4204// See the AWS API reference guide for AWS Audit Manager's
4205// API operation ListNotifications for usage and error information.
4206//
4207// Returned Error Types:
4208//   * AccessDeniedException
4209//   Your account isn't registered with Audit Manager. Check the delegated administrator
4210//   setup on the Audit Manager settings page, and try again.
4211//
4212//   * ValidationException
4213//   The request has invalid or missing parameters.
4214//
4215//   * InternalServerException
4216//   An internal service error occurred during the processing of your request.
4217//   Try again later.
4218//
4219// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
4220func (c *AuditManager) ListNotifications(input *ListNotificationsInput) (*ListNotificationsOutput, error) {
4221	req, out := c.ListNotificationsRequest(input)
4222	return out, req.Send()
4223}
4224
4225// ListNotificationsWithContext is the same as ListNotifications with the addition of
4226// the ability to pass a context and additional request options.
4227//
4228// See ListNotifications for details on how to use this API operation.
4229//
4230// The context must be non-nil and will be used for request cancellation. If
4231// the context is nil a panic will occur. In the future the SDK may create
4232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4233// for more information on using Contexts.
4234func (c *AuditManager) ListNotificationsWithContext(ctx aws.Context, input *ListNotificationsInput, opts ...request.Option) (*ListNotificationsOutput, error) {
4235	req, out := c.ListNotificationsRequest(input)
4236	req.SetContext(ctx)
4237	req.ApplyOptions(opts...)
4238	return out, req.Send()
4239}
4240
4241// ListNotificationsPages iterates over the pages of a ListNotifications operation,
4242// calling the "fn" function with the response data for each page. To stop
4243// iterating, return false from the fn function.
4244//
4245// See ListNotifications method for more information on how to use this operation.
4246//
4247// Note: This operation can generate multiple requests to a service.
4248//
4249//    // Example iterating over at most 3 pages of a ListNotifications operation.
4250//    pageNum := 0
4251//    err := client.ListNotificationsPages(params,
4252//        func(page *auditmanager.ListNotificationsOutput, lastPage bool) bool {
4253//            pageNum++
4254//            fmt.Println(page)
4255//            return pageNum <= 3
4256//        })
4257//
4258func (c *AuditManager) ListNotificationsPages(input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool) error {
4259	return c.ListNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
4260}
4261
4262// ListNotificationsPagesWithContext same as ListNotificationsPages except
4263// it takes a Context and allows setting request options on the pages.
4264//
4265// The context must be non-nil and will be used for request cancellation. If
4266// the context is nil a panic will occur. In the future the SDK may create
4267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4268// for more information on using Contexts.
4269func (c *AuditManager) ListNotificationsPagesWithContext(ctx aws.Context, input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool, opts ...request.Option) error {
4270	p := request.Pagination{
4271		NewRequest: func() (*request.Request, error) {
4272			var inCpy *ListNotificationsInput
4273			if input != nil {
4274				tmp := *input
4275				inCpy = &tmp
4276			}
4277			req, _ := c.ListNotificationsRequest(inCpy)
4278			req.SetContext(ctx)
4279			req.ApplyOptions(opts...)
4280			return req, nil
4281		},
4282	}
4283
4284	for p.Next() {
4285		if !fn(p.Page().(*ListNotificationsOutput), !p.HasNextPage()) {
4286			break
4287		}
4288	}
4289
4290	return p.Err()
4291}
4292
4293const opListTagsForResource = "ListTagsForResource"
4294
4295// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4296// client's request for the ListTagsForResource operation. The "output" return
4297// value will be populated with the request's response once the request completes
4298// successfully.
4299//
4300// Use "Send" method on the returned Request to send the API call to the service.
4301// the "output" return value is not valid until after Send returns without error.
4302//
4303// See ListTagsForResource for more information on using the ListTagsForResource
4304// API call, and error handling.
4305//
4306// This method is useful when you want to inject custom logic or configuration
4307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4308//
4309//
4310//    // Example sending a request using the ListTagsForResourceRequest method.
4311//    req, resp := client.ListTagsForResourceRequest(params)
4312//
4313//    err := req.Send()
4314//    if err == nil { // resp is now filled
4315//        fmt.Println(resp)
4316//    }
4317//
4318// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4319func (c *AuditManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4320	op := &request.Operation{
4321		Name:       opListTagsForResource,
4322		HTTPMethod: "GET",
4323		HTTPPath:   "/tags/{resourceArn}",
4324	}
4325
4326	if input == nil {
4327		input = &ListTagsForResourceInput{}
4328	}
4329
4330	output = &ListTagsForResourceOutput{}
4331	req = c.newRequest(op, input, output)
4332	return
4333}
4334
4335// ListTagsForResource API operation for AWS Audit Manager.
4336//
4337// Returns a list of tags for the specified resource in Audit Manager.
4338//
4339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4340// with awserr.Error's Code and Message methods to get detailed information about
4341// the error.
4342//
4343// See the AWS API reference guide for AWS Audit Manager's
4344// API operation ListTagsForResource for usage and error information.
4345//
4346// Returned Error Types:
4347//   * InternalServerException
4348//   An internal service error occurred during the processing of your request.
4349//   Try again later.
4350//
4351//   * ValidationException
4352//   The request has invalid or missing parameters.
4353//
4354//   * ResourceNotFoundException
4355//   The resource that's specified in the request can't be found.
4356//
4357// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4358func (c *AuditManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4359	req, out := c.ListTagsForResourceRequest(input)
4360	return out, req.Send()
4361}
4362
4363// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4364// the ability to pass a context and additional request options.
4365//
4366// See ListTagsForResource for details on how to use this API operation.
4367//
4368// The context must be non-nil and will be used for request cancellation. If
4369// the context is nil a panic will occur. In the future the SDK may create
4370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4371// for more information on using Contexts.
4372func (c *AuditManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4373	req, out := c.ListTagsForResourceRequest(input)
4374	req.SetContext(ctx)
4375	req.ApplyOptions(opts...)
4376	return out, req.Send()
4377}
4378
4379const opRegisterAccount = "RegisterAccount"
4380
4381// RegisterAccountRequest generates a "aws/request.Request" representing the
4382// client's request for the RegisterAccount operation. The "output" return
4383// value will be populated with the request's response once the request completes
4384// successfully.
4385//
4386// Use "Send" method on the returned Request to send the API call to the service.
4387// the "output" return value is not valid until after Send returns without error.
4388//
4389// See RegisterAccount for more information on using the RegisterAccount
4390// API call, and error handling.
4391//
4392// This method is useful when you want to inject custom logic or configuration
4393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4394//
4395//
4396//    // Example sending a request using the RegisterAccountRequest method.
4397//    req, resp := client.RegisterAccountRequest(params)
4398//
4399//    err := req.Send()
4400//    if err == nil { // resp is now filled
4401//        fmt.Println(resp)
4402//    }
4403//
4404// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4405func (c *AuditManager) RegisterAccountRequest(input *RegisterAccountInput) (req *request.Request, output *RegisterAccountOutput) {
4406	op := &request.Operation{
4407		Name:       opRegisterAccount,
4408		HTTPMethod: "POST",
4409		HTTPPath:   "/account/registerAccount",
4410	}
4411
4412	if input == nil {
4413		input = &RegisterAccountInput{}
4414	}
4415
4416	output = &RegisterAccountOutput{}
4417	req = c.newRequest(op, input, output)
4418	return
4419}
4420
4421// RegisterAccount API operation for AWS Audit Manager.
4422//
4423// Enables Audit Manager for the specified Amazon Web Services account.
4424//
4425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4426// with awserr.Error's Code and Message methods to get detailed information about
4427// the error.
4428//
4429// See the AWS API reference guide for AWS Audit Manager's
4430// API operation RegisterAccount for usage and error information.
4431//
4432// Returned Error Types:
4433//   * ValidationException
4434//   The request has invalid or missing parameters.
4435//
4436//   * AccessDeniedException
4437//   Your account isn't registered with Audit Manager. Check the delegated administrator
4438//   setup on the Audit Manager settings page, and try again.
4439//
4440//   * InternalServerException
4441//   An internal service error occurred during the processing of your request.
4442//   Try again later.
4443//
4444//   * ResourceNotFoundException
4445//   The resource that's specified in the request can't be found.
4446//
4447// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4448func (c *AuditManager) RegisterAccount(input *RegisterAccountInput) (*RegisterAccountOutput, error) {
4449	req, out := c.RegisterAccountRequest(input)
4450	return out, req.Send()
4451}
4452
4453// RegisterAccountWithContext is the same as RegisterAccount with the addition of
4454// the ability to pass a context and additional request options.
4455//
4456// See RegisterAccount for details on how to use this API operation.
4457//
4458// The context must be non-nil and will be used for request cancellation. If
4459// the context is nil a panic will occur. In the future the SDK may create
4460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4461// for more information on using Contexts.
4462func (c *AuditManager) RegisterAccountWithContext(ctx aws.Context, input *RegisterAccountInput, opts ...request.Option) (*RegisterAccountOutput, error) {
4463	req, out := c.RegisterAccountRequest(input)
4464	req.SetContext(ctx)
4465	req.ApplyOptions(opts...)
4466	return out, req.Send()
4467}
4468
4469const opRegisterOrganizationAdminAccount = "RegisterOrganizationAdminAccount"
4470
4471// RegisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
4472// client's request for the RegisterOrganizationAdminAccount operation. The "output" return
4473// value will be populated with the request's response once the request completes
4474// successfully.
4475//
4476// Use "Send" method on the returned Request to send the API call to the service.
4477// the "output" return value is not valid until after Send returns without error.
4478//
4479// See RegisterOrganizationAdminAccount for more information on using the RegisterOrganizationAdminAccount
4480// API call, and error handling.
4481//
4482// This method is useful when you want to inject custom logic or configuration
4483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4484//
4485//
4486//    // Example sending a request using the RegisterOrganizationAdminAccountRequest method.
4487//    req, resp := client.RegisterOrganizationAdminAccountRequest(params)
4488//
4489//    err := req.Send()
4490//    if err == nil { // resp is now filled
4491//        fmt.Println(resp)
4492//    }
4493//
4494// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4495func (c *AuditManager) RegisterOrganizationAdminAccountRequest(input *RegisterOrganizationAdminAccountInput) (req *request.Request, output *RegisterOrganizationAdminAccountOutput) {
4496	op := &request.Operation{
4497		Name:       opRegisterOrganizationAdminAccount,
4498		HTTPMethod: "POST",
4499		HTTPPath:   "/account/registerOrganizationAdminAccount",
4500	}
4501
4502	if input == nil {
4503		input = &RegisterOrganizationAdminAccountInput{}
4504	}
4505
4506	output = &RegisterOrganizationAdminAccountOutput{}
4507	req = c.newRequest(op, input, output)
4508	return
4509}
4510
4511// RegisterOrganizationAdminAccount API operation for AWS Audit Manager.
4512//
4513// Enables an Amazon Web Services account within the organization as the delegated
4514// administrator for Audit Manager.
4515//
4516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4517// with awserr.Error's Code and Message methods to get detailed information about
4518// the error.
4519//
4520// See the AWS API reference guide for AWS Audit Manager's
4521// API operation RegisterOrganizationAdminAccount for usage and error information.
4522//
4523// Returned Error Types:
4524//   * ValidationException
4525//   The request has invalid or missing parameters.
4526//
4527//   * AccessDeniedException
4528//   Your account isn't registered with Audit Manager. Check the delegated administrator
4529//   setup on the Audit Manager settings page, and try again.
4530//
4531//   * InternalServerException
4532//   An internal service error occurred during the processing of your request.
4533//   Try again later.
4534//
4535//   * ResourceNotFoundException
4536//   The resource that's specified in the request can't be found.
4537//
4538// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4539func (c *AuditManager) RegisterOrganizationAdminAccount(input *RegisterOrganizationAdminAccountInput) (*RegisterOrganizationAdminAccountOutput, error) {
4540	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4541	return out, req.Send()
4542}
4543
4544// RegisterOrganizationAdminAccountWithContext is the same as RegisterOrganizationAdminAccount with the addition of
4545// the ability to pass a context and additional request options.
4546//
4547// See RegisterOrganizationAdminAccount for details on how to use this API operation.
4548//
4549// The context must be non-nil and will be used for request cancellation. If
4550// the context is nil a panic will occur. In the future the SDK may create
4551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4552// for more information on using Contexts.
4553func (c *AuditManager) RegisterOrganizationAdminAccountWithContext(ctx aws.Context, input *RegisterOrganizationAdminAccountInput, opts ...request.Option) (*RegisterOrganizationAdminAccountOutput, error) {
4554	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4555	req.SetContext(ctx)
4556	req.ApplyOptions(opts...)
4557	return out, req.Send()
4558}
4559
4560const opStartAssessmentFrameworkShare = "StartAssessmentFrameworkShare"
4561
4562// StartAssessmentFrameworkShareRequest generates a "aws/request.Request" representing the
4563// client's request for the StartAssessmentFrameworkShare operation. The "output" return
4564// value will be populated with the request's response once the request completes
4565// successfully.
4566//
4567// Use "Send" method on the returned Request to send the API call to the service.
4568// the "output" return value is not valid until after Send returns without error.
4569//
4570// See StartAssessmentFrameworkShare for more information on using the StartAssessmentFrameworkShare
4571// API call, and error handling.
4572//
4573// This method is useful when you want to inject custom logic or configuration
4574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4575//
4576//
4577//    // Example sending a request using the StartAssessmentFrameworkShareRequest method.
4578//    req, resp := client.StartAssessmentFrameworkShareRequest(params)
4579//
4580//    err := req.Send()
4581//    if err == nil { // resp is now filled
4582//        fmt.Println(resp)
4583//    }
4584//
4585// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/StartAssessmentFrameworkShare
4586func (c *AuditManager) StartAssessmentFrameworkShareRequest(input *StartAssessmentFrameworkShareInput) (req *request.Request, output *StartAssessmentFrameworkShareOutput) {
4587	op := &request.Operation{
4588		Name:       opStartAssessmentFrameworkShare,
4589		HTTPMethod: "POST",
4590		HTTPPath:   "/assessmentFrameworks/{frameworkId}/shareRequests",
4591	}
4592
4593	if input == nil {
4594		input = &StartAssessmentFrameworkShareInput{}
4595	}
4596
4597	output = &StartAssessmentFrameworkShareOutput{}
4598	req = c.newRequest(op, input, output)
4599	return
4600}
4601
4602// StartAssessmentFrameworkShare API operation for AWS Audit Manager.
4603//
4604// Creates a share request for a custom framework in Audit Manager.
4605//
4606// The share request specifies a recipient and notifies them that a custom framework
4607// is available. Recipients have 120 days to accept or decline the request.
4608// If no action is taken, the share request expires.
4609//
4610// When you invoke the StartAssessmentFrameworkShare API, you are about to share
4611// a custom framework with another Amazon Web Services account. You may not
4612// share a custom framework that is derived from a standard framework if the
4613// standard framework is designated as not eligible for sharing by Amazon Web
4614// Services, unless you have obtained permission to do so from the owner of
4615// the standard framework. To learn more about which standard frameworks are
4616// eligible for sharing, see Framework sharing eligibility (https://docs.aws.amazon.com/audit-manager/latest/userguide/share-custom-framework-concepts-and-terminology.html#eligibility)
4617// in the Audit Manager User Guide.
4618//
4619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4620// with awserr.Error's Code and Message methods to get detailed information about
4621// the error.
4622//
4623// See the AWS API reference guide for AWS Audit Manager's
4624// API operation StartAssessmentFrameworkShare for usage and error information.
4625//
4626// Returned Error Types:
4627//   * ValidationException
4628//   The request has invalid or missing parameters.
4629//
4630//   * AccessDeniedException
4631//   Your account isn't registered with Audit Manager. Check the delegated administrator
4632//   setup on the Audit Manager settings page, and try again.
4633//
4634//   * InternalServerException
4635//   An internal service error occurred during the processing of your request.
4636//   Try again later.
4637//
4638//   * ResourceNotFoundException
4639//   The resource that's specified in the request can't be found.
4640//
4641// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/StartAssessmentFrameworkShare
4642func (c *AuditManager) StartAssessmentFrameworkShare(input *StartAssessmentFrameworkShareInput) (*StartAssessmentFrameworkShareOutput, error) {
4643	req, out := c.StartAssessmentFrameworkShareRequest(input)
4644	return out, req.Send()
4645}
4646
4647// StartAssessmentFrameworkShareWithContext is the same as StartAssessmentFrameworkShare with the addition of
4648// the ability to pass a context and additional request options.
4649//
4650// See StartAssessmentFrameworkShare for details on how to use this API operation.
4651//
4652// The context must be non-nil and will be used for request cancellation. If
4653// the context is nil a panic will occur. In the future the SDK may create
4654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4655// for more information on using Contexts.
4656func (c *AuditManager) StartAssessmentFrameworkShareWithContext(ctx aws.Context, input *StartAssessmentFrameworkShareInput, opts ...request.Option) (*StartAssessmentFrameworkShareOutput, error) {
4657	req, out := c.StartAssessmentFrameworkShareRequest(input)
4658	req.SetContext(ctx)
4659	req.ApplyOptions(opts...)
4660	return out, req.Send()
4661}
4662
4663const opTagResource = "TagResource"
4664
4665// TagResourceRequest generates a "aws/request.Request" representing the
4666// client's request for the TagResource operation. The "output" return
4667// value will be populated with the request's response once the request completes
4668// successfully.
4669//
4670// Use "Send" method on the returned Request to send the API call to the service.
4671// the "output" return value is not valid until after Send returns without error.
4672//
4673// See TagResource for more information on using the TagResource
4674// API call, and error handling.
4675//
4676// This method is useful when you want to inject custom logic or configuration
4677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4678//
4679//
4680//    // Example sending a request using the TagResourceRequest method.
4681//    req, resp := client.TagResourceRequest(params)
4682//
4683//    err := req.Send()
4684//    if err == nil { // resp is now filled
4685//        fmt.Println(resp)
4686//    }
4687//
4688// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4689func (c *AuditManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4690	op := &request.Operation{
4691		Name:       opTagResource,
4692		HTTPMethod: "POST",
4693		HTTPPath:   "/tags/{resourceArn}",
4694	}
4695
4696	if input == nil {
4697		input = &TagResourceInput{}
4698	}
4699
4700	output = &TagResourceOutput{}
4701	req = c.newRequest(op, input, output)
4702	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4703	return
4704}
4705
4706// TagResource API operation for AWS Audit Manager.
4707//
4708// Tags the specified resource in Audit Manager.
4709//
4710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4711// with awserr.Error's Code and Message methods to get detailed information about
4712// the error.
4713//
4714// See the AWS API reference guide for AWS Audit Manager's
4715// API operation TagResource for usage and error information.
4716//
4717// Returned Error Types:
4718//   * InternalServerException
4719//   An internal service error occurred during the processing of your request.
4720//   Try again later.
4721//
4722//   * ValidationException
4723//   The request has invalid or missing parameters.
4724//
4725//   * ResourceNotFoundException
4726//   The resource that's specified in the request can't be found.
4727//
4728// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4729func (c *AuditManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4730	req, out := c.TagResourceRequest(input)
4731	return out, req.Send()
4732}
4733
4734// TagResourceWithContext is the same as TagResource with the addition of
4735// the ability to pass a context and additional request options.
4736//
4737// See TagResource for details on how to use this API operation.
4738//
4739// The context must be non-nil and will be used for request cancellation. If
4740// the context is nil a panic will occur. In the future the SDK may create
4741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4742// for more information on using Contexts.
4743func (c *AuditManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4744	req, out := c.TagResourceRequest(input)
4745	req.SetContext(ctx)
4746	req.ApplyOptions(opts...)
4747	return out, req.Send()
4748}
4749
4750const opUntagResource = "UntagResource"
4751
4752// UntagResourceRequest generates a "aws/request.Request" representing the
4753// client's request for the UntagResource operation. The "output" return
4754// value will be populated with the request's response once the request completes
4755// successfully.
4756//
4757// Use "Send" method on the returned Request to send the API call to the service.
4758// the "output" return value is not valid until after Send returns without error.
4759//
4760// See UntagResource for more information on using the UntagResource
4761// API call, and error handling.
4762//
4763// This method is useful when you want to inject custom logic or configuration
4764// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4765//
4766//
4767//    // Example sending a request using the UntagResourceRequest method.
4768//    req, resp := client.UntagResourceRequest(params)
4769//
4770//    err := req.Send()
4771//    if err == nil { // resp is now filled
4772//        fmt.Println(resp)
4773//    }
4774//
4775// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4776func (c *AuditManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4777	op := &request.Operation{
4778		Name:       opUntagResource,
4779		HTTPMethod: "DELETE",
4780		HTTPPath:   "/tags/{resourceArn}",
4781	}
4782
4783	if input == nil {
4784		input = &UntagResourceInput{}
4785	}
4786
4787	output = &UntagResourceOutput{}
4788	req = c.newRequest(op, input, output)
4789	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4790	return
4791}
4792
4793// UntagResource API operation for AWS Audit Manager.
4794//
4795// Removes a tag from a resource in Audit Manager.
4796//
4797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4798// with awserr.Error's Code and Message methods to get detailed information about
4799// the error.
4800//
4801// See the AWS API reference guide for AWS Audit Manager's
4802// API operation UntagResource for usage and error information.
4803//
4804// Returned Error Types:
4805//   * InternalServerException
4806//   An internal service error occurred during the processing of your request.
4807//   Try again later.
4808//
4809//   * ValidationException
4810//   The request has invalid or missing parameters.
4811//
4812//   * ResourceNotFoundException
4813//   The resource that's specified in the request can't be found.
4814//
4815// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4816func (c *AuditManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4817	req, out := c.UntagResourceRequest(input)
4818	return out, req.Send()
4819}
4820
4821// UntagResourceWithContext is the same as UntagResource with the addition of
4822// the ability to pass a context and additional request options.
4823//
4824// See UntagResource for details on how to use this API operation.
4825//
4826// The context must be non-nil and will be used for request cancellation. If
4827// the context is nil a panic will occur. In the future the SDK may create
4828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4829// for more information on using Contexts.
4830func (c *AuditManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4831	req, out := c.UntagResourceRequest(input)
4832	req.SetContext(ctx)
4833	req.ApplyOptions(opts...)
4834	return out, req.Send()
4835}
4836
4837const opUpdateAssessment = "UpdateAssessment"
4838
4839// UpdateAssessmentRequest generates a "aws/request.Request" representing the
4840// client's request for the UpdateAssessment operation. The "output" return
4841// value will be populated with the request's response once the request completes
4842// successfully.
4843//
4844// Use "Send" method on the returned Request to send the API call to the service.
4845// the "output" return value is not valid until after Send returns without error.
4846//
4847// See UpdateAssessment for more information on using the UpdateAssessment
4848// API call, and error handling.
4849//
4850// This method is useful when you want to inject custom logic or configuration
4851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4852//
4853//
4854//    // Example sending a request using the UpdateAssessmentRequest method.
4855//    req, resp := client.UpdateAssessmentRequest(params)
4856//
4857//    err := req.Send()
4858//    if err == nil { // resp is now filled
4859//        fmt.Println(resp)
4860//    }
4861//
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4863func (c *AuditManager) UpdateAssessmentRequest(input *UpdateAssessmentInput) (req *request.Request, output *UpdateAssessmentOutput) {
4864	op := &request.Operation{
4865		Name:       opUpdateAssessment,
4866		HTTPMethod: "PUT",
4867		HTTPPath:   "/assessments/{assessmentId}",
4868	}
4869
4870	if input == nil {
4871		input = &UpdateAssessmentInput{}
4872	}
4873
4874	output = &UpdateAssessmentOutput{}
4875	req = c.newRequest(op, input, output)
4876	return
4877}
4878
4879// UpdateAssessment API operation for AWS Audit Manager.
4880//
4881// Edits an Audit Manager assessment.
4882//
4883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4884// with awserr.Error's Code and Message methods to get detailed information about
4885// the error.
4886//
4887// See the AWS API reference guide for AWS Audit Manager's
4888// API operation UpdateAssessment for usage and error information.
4889//
4890// Returned Error Types:
4891//   * ResourceNotFoundException
4892//   The resource that's specified in the request can't be found.
4893//
4894//   * ValidationException
4895//   The request has invalid or missing parameters.
4896//
4897//   * AccessDeniedException
4898//   Your account isn't registered with Audit Manager. Check the delegated administrator
4899//   setup on the Audit Manager settings page, and try again.
4900//
4901//   * InternalServerException
4902//   An internal service error occurred during the processing of your request.
4903//   Try again later.
4904//
4905// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4906func (c *AuditManager) UpdateAssessment(input *UpdateAssessmentInput) (*UpdateAssessmentOutput, error) {
4907	req, out := c.UpdateAssessmentRequest(input)
4908	return out, req.Send()
4909}
4910
4911// UpdateAssessmentWithContext is the same as UpdateAssessment with the addition of
4912// the ability to pass a context and additional request options.
4913//
4914// See UpdateAssessment for details on how to use this API operation.
4915//
4916// The context must be non-nil and will be used for request cancellation. If
4917// the context is nil a panic will occur. In the future the SDK may create
4918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4919// for more information on using Contexts.
4920func (c *AuditManager) UpdateAssessmentWithContext(ctx aws.Context, input *UpdateAssessmentInput, opts ...request.Option) (*UpdateAssessmentOutput, error) {
4921	req, out := c.UpdateAssessmentRequest(input)
4922	req.SetContext(ctx)
4923	req.ApplyOptions(opts...)
4924	return out, req.Send()
4925}
4926
4927const opUpdateAssessmentControl = "UpdateAssessmentControl"
4928
4929// UpdateAssessmentControlRequest generates a "aws/request.Request" representing the
4930// client's request for the UpdateAssessmentControl operation. The "output" return
4931// value will be populated with the request's response once the request completes
4932// successfully.
4933//
4934// Use "Send" method on the returned Request to send the API call to the service.
4935// the "output" return value is not valid until after Send returns without error.
4936//
4937// See UpdateAssessmentControl for more information on using the UpdateAssessmentControl
4938// API call, and error handling.
4939//
4940// This method is useful when you want to inject custom logic or configuration
4941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4942//
4943//
4944//    // Example sending a request using the UpdateAssessmentControlRequest method.
4945//    req, resp := client.UpdateAssessmentControlRequest(params)
4946//
4947//    err := req.Send()
4948//    if err == nil { // resp is now filled
4949//        fmt.Println(resp)
4950//    }
4951//
4952// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4953func (c *AuditManager) UpdateAssessmentControlRequest(input *UpdateAssessmentControlInput) (req *request.Request, output *UpdateAssessmentControlOutput) {
4954	op := &request.Operation{
4955		Name:       opUpdateAssessmentControl,
4956		HTTPMethod: "PUT",
4957		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}",
4958	}
4959
4960	if input == nil {
4961		input = &UpdateAssessmentControlInput{}
4962	}
4963
4964	output = &UpdateAssessmentControlOutput{}
4965	req = c.newRequest(op, input, output)
4966	return
4967}
4968
4969// UpdateAssessmentControl API operation for AWS Audit Manager.
4970//
4971// Updates a control within an assessment in Audit Manager.
4972//
4973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4974// with awserr.Error's Code and Message methods to get detailed information about
4975// the error.
4976//
4977// See the AWS API reference guide for AWS Audit Manager's
4978// API operation UpdateAssessmentControl for usage and error information.
4979//
4980// Returned Error Types:
4981//   * ResourceNotFoundException
4982//   The resource that's specified in the request can't be found.
4983//
4984//   * ValidationException
4985//   The request has invalid or missing parameters.
4986//
4987//   * AccessDeniedException
4988//   Your account isn't registered with Audit Manager. Check the delegated administrator
4989//   setup on the Audit Manager settings page, and try again.
4990//
4991//   * InternalServerException
4992//   An internal service error occurred during the processing of your request.
4993//   Try again later.
4994//
4995// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4996func (c *AuditManager) UpdateAssessmentControl(input *UpdateAssessmentControlInput) (*UpdateAssessmentControlOutput, error) {
4997	req, out := c.UpdateAssessmentControlRequest(input)
4998	return out, req.Send()
4999}
5000
5001// UpdateAssessmentControlWithContext is the same as UpdateAssessmentControl with the addition of
5002// the ability to pass a context and additional request options.
5003//
5004// See UpdateAssessmentControl for details on how to use this API operation.
5005//
5006// The context must be non-nil and will be used for request cancellation. If
5007// the context is nil a panic will occur. In the future the SDK may create
5008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5009// for more information on using Contexts.
5010func (c *AuditManager) UpdateAssessmentControlWithContext(ctx aws.Context, input *UpdateAssessmentControlInput, opts ...request.Option) (*UpdateAssessmentControlOutput, error) {
5011	req, out := c.UpdateAssessmentControlRequest(input)
5012	req.SetContext(ctx)
5013	req.ApplyOptions(opts...)
5014	return out, req.Send()
5015}
5016
5017const opUpdateAssessmentControlSetStatus = "UpdateAssessmentControlSetStatus"
5018
5019// UpdateAssessmentControlSetStatusRequest generates a "aws/request.Request" representing the
5020// client's request for the UpdateAssessmentControlSetStatus operation. The "output" return
5021// value will be populated with the request's response once the request completes
5022// successfully.
5023//
5024// Use "Send" method on the returned Request to send the API call to the service.
5025// the "output" return value is not valid until after Send returns without error.
5026//
5027// See UpdateAssessmentControlSetStatus for more information on using the UpdateAssessmentControlSetStatus
5028// API call, and error handling.
5029//
5030// This method is useful when you want to inject custom logic or configuration
5031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5032//
5033//
5034//    // Example sending a request using the UpdateAssessmentControlSetStatusRequest method.
5035//    req, resp := client.UpdateAssessmentControlSetStatusRequest(params)
5036//
5037//    err := req.Send()
5038//    if err == nil { // resp is now filled
5039//        fmt.Println(resp)
5040//    }
5041//
5042// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
5043func (c *AuditManager) UpdateAssessmentControlSetStatusRequest(input *UpdateAssessmentControlSetStatusInput) (req *request.Request, output *UpdateAssessmentControlSetStatusOutput) {
5044	op := &request.Operation{
5045		Name:       opUpdateAssessmentControlSetStatus,
5046		HTTPMethod: "PUT",
5047		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/status",
5048	}
5049
5050	if input == nil {
5051		input = &UpdateAssessmentControlSetStatusInput{}
5052	}
5053
5054	output = &UpdateAssessmentControlSetStatusOutput{}
5055	req = c.newRequest(op, input, output)
5056	return
5057}
5058
5059// UpdateAssessmentControlSetStatus API operation for AWS Audit Manager.
5060//
5061// Updates the status of a control set in an Audit Manager assessment.
5062//
5063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5064// with awserr.Error's Code and Message methods to get detailed information about
5065// the error.
5066//
5067// See the AWS API reference guide for AWS Audit Manager's
5068// API operation UpdateAssessmentControlSetStatus for usage and error information.
5069//
5070// Returned Error Types:
5071//   * ResourceNotFoundException
5072//   The resource that's specified in the request can't be found.
5073//
5074//   * ValidationException
5075//   The request has invalid or missing parameters.
5076//
5077//   * AccessDeniedException
5078//   Your account isn't registered with Audit Manager. Check the delegated administrator
5079//   setup on the Audit Manager settings page, and try again.
5080//
5081//   * InternalServerException
5082//   An internal service error occurred during the processing of your request.
5083//   Try again later.
5084//
5085// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
5086func (c *AuditManager) UpdateAssessmentControlSetStatus(input *UpdateAssessmentControlSetStatusInput) (*UpdateAssessmentControlSetStatusOutput, error) {
5087	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
5088	return out, req.Send()
5089}
5090
5091// UpdateAssessmentControlSetStatusWithContext is the same as UpdateAssessmentControlSetStatus with the addition of
5092// the ability to pass a context and additional request options.
5093//
5094// See UpdateAssessmentControlSetStatus for details on how to use this API operation.
5095//
5096// The context must be non-nil and will be used for request cancellation. If
5097// the context is nil a panic will occur. In the future the SDK may create
5098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5099// for more information on using Contexts.
5100func (c *AuditManager) UpdateAssessmentControlSetStatusWithContext(ctx aws.Context, input *UpdateAssessmentControlSetStatusInput, opts ...request.Option) (*UpdateAssessmentControlSetStatusOutput, error) {
5101	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
5102	req.SetContext(ctx)
5103	req.ApplyOptions(opts...)
5104	return out, req.Send()
5105}
5106
5107const opUpdateAssessmentFramework = "UpdateAssessmentFramework"
5108
5109// UpdateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
5110// client's request for the UpdateAssessmentFramework operation. The "output" return
5111// value will be populated with the request's response once the request completes
5112// successfully.
5113//
5114// Use "Send" method on the returned Request to send the API call to the service.
5115// the "output" return value is not valid until after Send returns without error.
5116//
5117// See UpdateAssessmentFramework for more information on using the UpdateAssessmentFramework
5118// API call, and error handling.
5119//
5120// This method is useful when you want to inject custom logic or configuration
5121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5122//
5123//
5124//    // Example sending a request using the UpdateAssessmentFrameworkRequest method.
5125//    req, resp := client.UpdateAssessmentFrameworkRequest(params)
5126//
5127//    err := req.Send()
5128//    if err == nil { // resp is now filled
5129//        fmt.Println(resp)
5130//    }
5131//
5132// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
5133func (c *AuditManager) UpdateAssessmentFrameworkRequest(input *UpdateAssessmentFrameworkInput) (req *request.Request, output *UpdateAssessmentFrameworkOutput) {
5134	op := &request.Operation{
5135		Name:       opUpdateAssessmentFramework,
5136		HTTPMethod: "PUT",
5137		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
5138	}
5139
5140	if input == nil {
5141		input = &UpdateAssessmentFrameworkInput{}
5142	}
5143
5144	output = &UpdateAssessmentFrameworkOutput{}
5145	req = c.newRequest(op, input, output)
5146	return
5147}
5148
5149// UpdateAssessmentFramework API operation for AWS Audit Manager.
5150//
5151// Updates a custom framework in Audit Manager.
5152//
5153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5154// with awserr.Error's Code and Message methods to get detailed information about
5155// the error.
5156//
5157// See the AWS API reference guide for AWS Audit Manager's
5158// API operation UpdateAssessmentFramework for usage and error information.
5159//
5160// Returned Error Types:
5161//   * ResourceNotFoundException
5162//   The resource that's specified in the request can't be found.
5163//
5164//   * ValidationException
5165//   The request has invalid or missing parameters.
5166//
5167//   * AccessDeniedException
5168//   Your account isn't registered with Audit Manager. Check the delegated administrator
5169//   setup on the Audit Manager settings page, and try again.
5170//
5171//   * InternalServerException
5172//   An internal service error occurred during the processing of your request.
5173//   Try again later.
5174//
5175// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
5176func (c *AuditManager) UpdateAssessmentFramework(input *UpdateAssessmentFrameworkInput) (*UpdateAssessmentFrameworkOutput, error) {
5177	req, out := c.UpdateAssessmentFrameworkRequest(input)
5178	return out, req.Send()
5179}
5180
5181// UpdateAssessmentFrameworkWithContext is the same as UpdateAssessmentFramework with the addition of
5182// the ability to pass a context and additional request options.
5183//
5184// See UpdateAssessmentFramework for details on how to use this API operation.
5185//
5186// The context must be non-nil and will be used for request cancellation. If
5187// the context is nil a panic will occur. In the future the SDK may create
5188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5189// for more information on using Contexts.
5190func (c *AuditManager) UpdateAssessmentFrameworkWithContext(ctx aws.Context, input *UpdateAssessmentFrameworkInput, opts ...request.Option) (*UpdateAssessmentFrameworkOutput, error) {
5191	req, out := c.UpdateAssessmentFrameworkRequest(input)
5192	req.SetContext(ctx)
5193	req.ApplyOptions(opts...)
5194	return out, req.Send()
5195}
5196
5197const opUpdateAssessmentFrameworkShare = "UpdateAssessmentFrameworkShare"
5198
5199// UpdateAssessmentFrameworkShareRequest generates a "aws/request.Request" representing the
5200// client's request for the UpdateAssessmentFrameworkShare operation. The "output" return
5201// value will be populated with the request's response once the request completes
5202// successfully.
5203//
5204// Use "Send" method on the returned Request to send the API call to the service.
5205// the "output" return value is not valid until after Send returns without error.
5206//
5207// See UpdateAssessmentFrameworkShare for more information on using the UpdateAssessmentFrameworkShare
5208// API call, and error handling.
5209//
5210// This method is useful when you want to inject custom logic or configuration
5211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5212//
5213//
5214//    // Example sending a request using the UpdateAssessmentFrameworkShareRequest method.
5215//    req, resp := client.UpdateAssessmentFrameworkShareRequest(params)
5216//
5217//    err := req.Send()
5218//    if err == nil { // resp is now filled
5219//        fmt.Println(resp)
5220//    }
5221//
5222// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFrameworkShare
5223func (c *AuditManager) UpdateAssessmentFrameworkShareRequest(input *UpdateAssessmentFrameworkShareInput) (req *request.Request, output *UpdateAssessmentFrameworkShareOutput) {
5224	op := &request.Operation{
5225		Name:       opUpdateAssessmentFrameworkShare,
5226		HTTPMethod: "PUT",
5227		HTTPPath:   "/assessmentFrameworkShareRequests/{requestId}",
5228	}
5229
5230	if input == nil {
5231		input = &UpdateAssessmentFrameworkShareInput{}
5232	}
5233
5234	output = &UpdateAssessmentFrameworkShareOutput{}
5235	req = c.newRequest(op, input, output)
5236	return
5237}
5238
5239// UpdateAssessmentFrameworkShare API operation for AWS Audit Manager.
5240//
5241// Updates a share request for a custom framework in Audit Manager.
5242//
5243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5244// with awserr.Error's Code and Message methods to get detailed information about
5245// the error.
5246//
5247// See the AWS API reference guide for AWS Audit Manager's
5248// API operation UpdateAssessmentFrameworkShare for usage and error information.
5249//
5250// Returned Error Types:
5251//   * ResourceNotFoundException
5252//   The resource that's specified in the request can't be found.
5253//
5254//   * ValidationException
5255//   The request has invalid or missing parameters.
5256//
5257//   * AccessDeniedException
5258//   Your account isn't registered with Audit Manager. Check the delegated administrator
5259//   setup on the Audit Manager settings page, and try again.
5260//
5261//   * InternalServerException
5262//   An internal service error occurred during the processing of your request.
5263//   Try again later.
5264//
5265// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFrameworkShare
5266func (c *AuditManager) UpdateAssessmentFrameworkShare(input *UpdateAssessmentFrameworkShareInput) (*UpdateAssessmentFrameworkShareOutput, error) {
5267	req, out := c.UpdateAssessmentFrameworkShareRequest(input)
5268	return out, req.Send()
5269}
5270
5271// UpdateAssessmentFrameworkShareWithContext is the same as UpdateAssessmentFrameworkShare with the addition of
5272// the ability to pass a context and additional request options.
5273//
5274// See UpdateAssessmentFrameworkShare for details on how to use this API operation.
5275//
5276// The context must be non-nil and will be used for request cancellation. If
5277// the context is nil a panic will occur. In the future the SDK may create
5278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5279// for more information on using Contexts.
5280func (c *AuditManager) UpdateAssessmentFrameworkShareWithContext(ctx aws.Context, input *UpdateAssessmentFrameworkShareInput, opts ...request.Option) (*UpdateAssessmentFrameworkShareOutput, error) {
5281	req, out := c.UpdateAssessmentFrameworkShareRequest(input)
5282	req.SetContext(ctx)
5283	req.ApplyOptions(opts...)
5284	return out, req.Send()
5285}
5286
5287const opUpdateAssessmentStatus = "UpdateAssessmentStatus"
5288
5289// UpdateAssessmentStatusRequest generates a "aws/request.Request" representing the
5290// client's request for the UpdateAssessmentStatus operation. The "output" return
5291// value will be populated with the request's response once the request completes
5292// successfully.
5293//
5294// Use "Send" method on the returned Request to send the API call to the service.
5295// the "output" return value is not valid until after Send returns without error.
5296//
5297// See UpdateAssessmentStatus for more information on using the UpdateAssessmentStatus
5298// API call, and error handling.
5299//
5300// This method is useful when you want to inject custom logic or configuration
5301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5302//
5303//
5304//    // Example sending a request using the UpdateAssessmentStatusRequest method.
5305//    req, resp := client.UpdateAssessmentStatusRequest(params)
5306//
5307//    err := req.Send()
5308//    if err == nil { // resp is now filled
5309//        fmt.Println(resp)
5310//    }
5311//
5312// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
5313func (c *AuditManager) UpdateAssessmentStatusRequest(input *UpdateAssessmentStatusInput) (req *request.Request, output *UpdateAssessmentStatusOutput) {
5314	op := &request.Operation{
5315		Name:       opUpdateAssessmentStatus,
5316		HTTPMethod: "PUT",
5317		HTTPPath:   "/assessments/{assessmentId}/status",
5318	}
5319
5320	if input == nil {
5321		input = &UpdateAssessmentStatusInput{}
5322	}
5323
5324	output = &UpdateAssessmentStatusOutput{}
5325	req = c.newRequest(op, input, output)
5326	return
5327}
5328
5329// UpdateAssessmentStatus API operation for AWS Audit Manager.
5330//
5331// Updates the status of an assessment in Audit Manager.
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 Audit Manager's
5338// API operation UpdateAssessmentStatus for usage and error information.
5339//
5340// Returned Error Types:
5341//   * ResourceNotFoundException
5342//   The resource that's specified in the request can't be found.
5343//
5344//   * ValidationException
5345//   The request has invalid or missing parameters.
5346//
5347//   * AccessDeniedException
5348//   Your account isn't registered with Audit Manager. Check the delegated administrator
5349//   setup on the Audit Manager settings page, and try again.
5350//
5351//   * InternalServerException
5352//   An internal service error occurred during the processing of your request.
5353//   Try again later.
5354//
5355// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
5356func (c *AuditManager) UpdateAssessmentStatus(input *UpdateAssessmentStatusInput) (*UpdateAssessmentStatusOutput, error) {
5357	req, out := c.UpdateAssessmentStatusRequest(input)
5358	return out, req.Send()
5359}
5360
5361// UpdateAssessmentStatusWithContext is the same as UpdateAssessmentStatus with the addition of
5362// the ability to pass a context and additional request options.
5363//
5364// See UpdateAssessmentStatus for details on how to use this API operation.
5365//
5366// The context must be non-nil and will be used for request cancellation. If
5367// the context is nil a panic will occur. In the future the SDK may create
5368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5369// for more information on using Contexts.
5370func (c *AuditManager) UpdateAssessmentStatusWithContext(ctx aws.Context, input *UpdateAssessmentStatusInput, opts ...request.Option) (*UpdateAssessmentStatusOutput, error) {
5371	req, out := c.UpdateAssessmentStatusRequest(input)
5372	req.SetContext(ctx)
5373	req.ApplyOptions(opts...)
5374	return out, req.Send()
5375}
5376
5377const opUpdateControl = "UpdateControl"
5378
5379// UpdateControlRequest generates a "aws/request.Request" representing the
5380// client's request for the UpdateControl operation. The "output" return
5381// value will be populated with the request's response once the request completes
5382// successfully.
5383//
5384// Use "Send" method on the returned Request to send the API call to the service.
5385// the "output" return value is not valid until after Send returns without error.
5386//
5387// See UpdateControl for more information on using the UpdateControl
5388// API call, and error handling.
5389//
5390// This method is useful when you want to inject custom logic or configuration
5391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5392//
5393//
5394//    // Example sending a request using the UpdateControlRequest method.
5395//    req, resp := client.UpdateControlRequest(params)
5396//
5397//    err := req.Send()
5398//    if err == nil { // resp is now filled
5399//        fmt.Println(resp)
5400//    }
5401//
5402// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
5403func (c *AuditManager) UpdateControlRequest(input *UpdateControlInput) (req *request.Request, output *UpdateControlOutput) {
5404	op := &request.Operation{
5405		Name:       opUpdateControl,
5406		HTTPMethod: "PUT",
5407		HTTPPath:   "/controls/{controlId}",
5408	}
5409
5410	if input == nil {
5411		input = &UpdateControlInput{}
5412	}
5413
5414	output = &UpdateControlOutput{}
5415	req = c.newRequest(op, input, output)
5416	return
5417}
5418
5419// UpdateControl API operation for AWS Audit Manager.
5420//
5421// Updates a custom control in Audit Manager.
5422//
5423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5424// with awserr.Error's Code and Message methods to get detailed information about
5425// the error.
5426//
5427// See the AWS API reference guide for AWS Audit Manager's
5428// API operation UpdateControl for usage and error information.
5429//
5430// Returned Error Types:
5431//   * ResourceNotFoundException
5432//   The resource that's specified in the request can't be found.
5433//
5434//   * ValidationException
5435//   The request has invalid or missing parameters.
5436//
5437//   * AccessDeniedException
5438//   Your account isn't registered with Audit Manager. Check the delegated administrator
5439//   setup on the Audit Manager settings page, and try again.
5440//
5441//   * InternalServerException
5442//   An internal service error occurred during the processing of your request.
5443//   Try again later.
5444//
5445// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
5446func (c *AuditManager) UpdateControl(input *UpdateControlInput) (*UpdateControlOutput, error) {
5447	req, out := c.UpdateControlRequest(input)
5448	return out, req.Send()
5449}
5450
5451// UpdateControlWithContext is the same as UpdateControl with the addition of
5452// the ability to pass a context and additional request options.
5453//
5454// See UpdateControl for details on how to use this API operation.
5455//
5456// The context must be non-nil and will be used for request cancellation. If
5457// the context is nil a panic will occur. In the future the SDK may create
5458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5459// for more information on using Contexts.
5460func (c *AuditManager) UpdateControlWithContext(ctx aws.Context, input *UpdateControlInput, opts ...request.Option) (*UpdateControlOutput, error) {
5461	req, out := c.UpdateControlRequest(input)
5462	req.SetContext(ctx)
5463	req.ApplyOptions(opts...)
5464	return out, req.Send()
5465}
5466
5467const opUpdateSettings = "UpdateSettings"
5468
5469// UpdateSettingsRequest generates a "aws/request.Request" representing the
5470// client's request for the UpdateSettings operation. The "output" return
5471// value will be populated with the request's response once the request completes
5472// successfully.
5473//
5474// Use "Send" method on the returned Request to send the API call to the service.
5475// the "output" return value is not valid until after Send returns without error.
5476//
5477// See UpdateSettings for more information on using the UpdateSettings
5478// API call, and error handling.
5479//
5480// This method is useful when you want to inject custom logic or configuration
5481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5482//
5483//
5484//    // Example sending a request using the UpdateSettingsRequest method.
5485//    req, resp := client.UpdateSettingsRequest(params)
5486//
5487//    err := req.Send()
5488//    if err == nil { // resp is now filled
5489//        fmt.Println(resp)
5490//    }
5491//
5492// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5493func (c *AuditManager) UpdateSettingsRequest(input *UpdateSettingsInput) (req *request.Request, output *UpdateSettingsOutput) {
5494	op := &request.Operation{
5495		Name:       opUpdateSettings,
5496		HTTPMethod: "PUT",
5497		HTTPPath:   "/settings",
5498	}
5499
5500	if input == nil {
5501		input = &UpdateSettingsInput{}
5502	}
5503
5504	output = &UpdateSettingsOutput{}
5505	req = c.newRequest(op, input, output)
5506	return
5507}
5508
5509// UpdateSettings API operation for AWS Audit Manager.
5510//
5511// Updates Audit Manager settings for the current user account.
5512//
5513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5514// with awserr.Error's Code and Message methods to get detailed information about
5515// the error.
5516//
5517// See the AWS API reference guide for AWS Audit Manager's
5518// API operation UpdateSettings for usage and error information.
5519//
5520// Returned Error Types:
5521//   * ValidationException
5522//   The request has invalid or missing parameters.
5523//
5524//   * AccessDeniedException
5525//   Your account isn't registered with Audit Manager. Check the delegated administrator
5526//   setup on the Audit Manager settings page, and try again.
5527//
5528//   * InternalServerException
5529//   An internal service error occurred during the processing of your request.
5530//   Try again later.
5531//
5532// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5533func (c *AuditManager) UpdateSettings(input *UpdateSettingsInput) (*UpdateSettingsOutput, error) {
5534	req, out := c.UpdateSettingsRequest(input)
5535	return out, req.Send()
5536}
5537
5538// UpdateSettingsWithContext is the same as UpdateSettings with the addition of
5539// the ability to pass a context and additional request options.
5540//
5541// See UpdateSettings for details on how to use this API operation.
5542//
5543// The context must be non-nil and will be used for request cancellation. If
5544// the context is nil a panic will occur. In the future the SDK may create
5545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5546// for more information on using Contexts.
5547func (c *AuditManager) UpdateSettingsWithContext(ctx aws.Context, input *UpdateSettingsInput, opts ...request.Option) (*UpdateSettingsOutput, error) {
5548	req, out := c.UpdateSettingsRequest(input)
5549	req.SetContext(ctx)
5550	req.ApplyOptions(opts...)
5551	return out, req.Send()
5552}
5553
5554const opValidateAssessmentReportIntegrity = "ValidateAssessmentReportIntegrity"
5555
5556// ValidateAssessmentReportIntegrityRequest generates a "aws/request.Request" representing the
5557// client's request for the ValidateAssessmentReportIntegrity operation. The "output" return
5558// value will be populated with the request's response once the request completes
5559// successfully.
5560//
5561// Use "Send" method on the returned Request to send the API call to the service.
5562// the "output" return value is not valid until after Send returns without error.
5563//
5564// See ValidateAssessmentReportIntegrity for more information on using the ValidateAssessmentReportIntegrity
5565// API call, and error handling.
5566//
5567// This method is useful when you want to inject custom logic or configuration
5568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5569//
5570//
5571//    // Example sending a request using the ValidateAssessmentReportIntegrityRequest method.
5572//    req, resp := client.ValidateAssessmentReportIntegrityRequest(params)
5573//
5574//    err := req.Send()
5575//    if err == nil { // resp is now filled
5576//        fmt.Println(resp)
5577//    }
5578//
5579// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5580func (c *AuditManager) ValidateAssessmentReportIntegrityRequest(input *ValidateAssessmentReportIntegrityInput) (req *request.Request, output *ValidateAssessmentReportIntegrityOutput) {
5581	op := &request.Operation{
5582		Name:       opValidateAssessmentReportIntegrity,
5583		HTTPMethod: "POST",
5584		HTTPPath:   "/assessmentReports/integrity",
5585	}
5586
5587	if input == nil {
5588		input = &ValidateAssessmentReportIntegrityInput{}
5589	}
5590
5591	output = &ValidateAssessmentReportIntegrityOutput{}
5592	req = c.newRequest(op, input, output)
5593	return
5594}
5595
5596// ValidateAssessmentReportIntegrity API operation for AWS Audit Manager.
5597//
5598// Validates the integrity of an assessment report in Audit Manager.
5599//
5600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5601// with awserr.Error's Code and Message methods to get detailed information about
5602// the error.
5603//
5604// See the AWS API reference guide for AWS Audit Manager's
5605// API operation ValidateAssessmentReportIntegrity for usage and error information.
5606//
5607// Returned Error Types:
5608//   * ValidationException
5609//   The request has invalid or missing parameters.
5610//
5611//   * AccessDeniedException
5612//   Your account isn't registered with Audit Manager. Check the delegated administrator
5613//   setup on the Audit Manager settings page, and try again.
5614//
5615//   * InternalServerException
5616//   An internal service error occurred during the processing of your request.
5617//   Try again later.
5618//
5619//   * ResourceNotFoundException
5620//   The resource that's specified in the request can't be found.
5621//
5622// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5623func (c *AuditManager) ValidateAssessmentReportIntegrity(input *ValidateAssessmentReportIntegrityInput) (*ValidateAssessmentReportIntegrityOutput, error) {
5624	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5625	return out, req.Send()
5626}
5627
5628// ValidateAssessmentReportIntegrityWithContext is the same as ValidateAssessmentReportIntegrity with the addition of
5629// the ability to pass a context and additional request options.
5630//
5631// See ValidateAssessmentReportIntegrity for details on how to use this API operation.
5632//
5633// The context must be non-nil and will be used for request cancellation. If
5634// the context is nil a panic will occur. In the future the SDK may create
5635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5636// for more information on using Contexts.
5637func (c *AuditManager) ValidateAssessmentReportIntegrityWithContext(ctx aws.Context, input *ValidateAssessmentReportIntegrityInput, opts ...request.Option) (*ValidateAssessmentReportIntegrityOutput, error) {
5638	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5639	req.SetContext(ctx)
5640	req.ApplyOptions(opts...)
5641	return out, req.Send()
5642}
5643
5644// The wrapper of Amazon Web Services account details, such as account ID or
5645// email address.
5646type AWSAccount struct {
5647	_ struct{} `type:"structure"`
5648
5649	// The email address that's associated with the Amazon Web Services account.
5650	EmailAddress *string `locationName:"emailAddress" min:"1" type:"string"`
5651
5652	// The identifier for the Amazon Web Services account.
5653	Id *string `locationName:"id" min:"12" type:"string"`
5654
5655	// The name of the Amazon Web Services account.
5656	Name *string `locationName:"name" min:"1" type:"string"`
5657}
5658
5659// String returns the string representation.
5660//
5661// API parameter values that are decorated as "sensitive" in the API will not
5662// be included in the string output. The member name will be present, but the
5663// value will be replaced with "sensitive".
5664func (s AWSAccount) String() string {
5665	return awsutil.Prettify(s)
5666}
5667
5668// GoString returns the string representation.
5669//
5670// API parameter values that are decorated as "sensitive" in the API will not
5671// be included in the string output. The member name will be present, but the
5672// value will be replaced with "sensitive".
5673func (s AWSAccount) GoString() string {
5674	return s.String()
5675}
5676
5677// Validate inspects the fields of the type to determine if they are valid.
5678func (s *AWSAccount) Validate() error {
5679	invalidParams := request.ErrInvalidParams{Context: "AWSAccount"}
5680	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5681		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5682	}
5683	if s.Id != nil && len(*s.Id) < 12 {
5684		invalidParams.Add(request.NewErrParamMinLen("Id", 12))
5685	}
5686	if s.Name != nil && len(*s.Name) < 1 {
5687		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5688	}
5689
5690	if invalidParams.Len() > 0 {
5691		return invalidParams
5692	}
5693	return nil
5694}
5695
5696// SetEmailAddress sets the EmailAddress field's value.
5697func (s *AWSAccount) SetEmailAddress(v string) *AWSAccount {
5698	s.EmailAddress = &v
5699	return s
5700}
5701
5702// SetId sets the Id field's value.
5703func (s *AWSAccount) SetId(v string) *AWSAccount {
5704	s.Id = &v
5705	return s
5706}
5707
5708// SetName sets the Name field's value.
5709func (s *AWSAccount) SetName(v string) *AWSAccount {
5710	s.Name = &v
5711	return s
5712}
5713
5714// An Amazon Web Service such as Amazon S3 or CloudTrail.
5715type AWSService struct {
5716	_ struct{} `type:"structure"`
5717
5718	// The name of the Amazon Web Service.
5719	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
5720}
5721
5722// String returns the string representation.
5723//
5724// API parameter values that are decorated as "sensitive" in the API will not
5725// be included in the string output. The member name will be present, but the
5726// value will be replaced with "sensitive".
5727func (s AWSService) String() string {
5728	return awsutil.Prettify(s)
5729}
5730
5731// GoString returns the string representation.
5732//
5733// API parameter values that are decorated as "sensitive" in the API will not
5734// be included in the string output. The member name will be present, but the
5735// value will be replaced with "sensitive".
5736func (s AWSService) GoString() string {
5737	return s.String()
5738}
5739
5740// Validate inspects the fields of the type to determine if they are valid.
5741func (s *AWSService) Validate() error {
5742	invalidParams := request.ErrInvalidParams{Context: "AWSService"}
5743	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
5744		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
5745	}
5746
5747	if invalidParams.Len() > 0 {
5748		return invalidParams
5749	}
5750	return nil
5751}
5752
5753// SetServiceName sets the ServiceName field's value.
5754func (s *AWSService) SetServiceName(v string) *AWSService {
5755	s.ServiceName = &v
5756	return s
5757}
5758
5759// Your account isn't registered with Audit Manager. Check the delegated administrator
5760// setup on the Audit Manager settings page, and try again.
5761type AccessDeniedException struct {
5762	_            struct{}                  `type:"structure"`
5763	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5764
5765	Message_ *string `locationName:"message" type:"string"`
5766}
5767
5768// String returns the string representation.
5769//
5770// API parameter values that are decorated as "sensitive" in the API will not
5771// be included in the string output. The member name will be present, but the
5772// value will be replaced with "sensitive".
5773func (s AccessDeniedException) String() string {
5774	return awsutil.Prettify(s)
5775}
5776
5777// GoString returns the string representation.
5778//
5779// API parameter values that are decorated as "sensitive" in the API will not
5780// be included in the string output. The member name will be present, but the
5781// value will be replaced with "sensitive".
5782func (s AccessDeniedException) GoString() string {
5783	return s.String()
5784}
5785
5786func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5787	return &AccessDeniedException{
5788		RespMetadata: v,
5789	}
5790}
5791
5792// Code returns the exception type name.
5793func (s *AccessDeniedException) Code() string {
5794	return "AccessDeniedException"
5795}
5796
5797// Message returns the exception's message.
5798func (s *AccessDeniedException) Message() string {
5799	if s.Message_ != nil {
5800		return *s.Message_
5801	}
5802	return ""
5803}
5804
5805// OrigErr always returns nil, satisfies awserr.Error interface.
5806func (s *AccessDeniedException) OrigErr() error {
5807	return nil
5808}
5809
5810func (s *AccessDeniedException) Error() string {
5811	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5812}
5813
5814// Status code returns the HTTP status code for the request's response error.
5815func (s *AccessDeniedException) StatusCode() int {
5816	return s.RespMetadata.StatusCode
5817}
5818
5819// RequestID returns the service's response RequestID for request.
5820func (s *AccessDeniedException) RequestID() string {
5821	return s.RespMetadata.RequestID
5822}
5823
5824// An entity that defines the scope of audit evidence collected by Audit Manager.
5825// An Audit Manager assessment is an implementation of an Audit Manager framework.
5826type Assessment struct {
5827	_ struct{} `type:"structure"`
5828
5829	// The Amazon Resource Name (ARN) of the assessment.
5830	Arn *string `locationName:"arn" min:"20" type:"string"`
5831
5832	// The Amazon Web Services account that's associated with the assessment.
5833	AwsAccount *AWSAccount `locationName:"awsAccount" type:"structure"`
5834
5835	// The framework that the assessment was created from.
5836	Framework *AssessmentFramework `locationName:"framework" type:"structure"`
5837
5838	// The metadata for the assessment.
5839	Metadata *AssessmentMetadata `locationName:"metadata" type:"structure"`
5840
5841	// The tags that are associated with the assessment.
5842	Tags map[string]*string `locationName:"tags" type:"map"`
5843}
5844
5845// String returns the string representation.
5846//
5847// API parameter values that are decorated as "sensitive" in the API will not
5848// be included in the string output. The member name will be present, but the
5849// value will be replaced with "sensitive".
5850func (s Assessment) String() string {
5851	return awsutil.Prettify(s)
5852}
5853
5854// GoString returns the string representation.
5855//
5856// API parameter values that are decorated as "sensitive" in the API will not
5857// be included in the string output. The member name will be present, but the
5858// value will be replaced with "sensitive".
5859func (s Assessment) GoString() string {
5860	return s.String()
5861}
5862
5863// SetArn sets the Arn field's value.
5864func (s *Assessment) SetArn(v string) *Assessment {
5865	s.Arn = &v
5866	return s
5867}
5868
5869// SetAwsAccount sets the AwsAccount field's value.
5870func (s *Assessment) SetAwsAccount(v *AWSAccount) *Assessment {
5871	s.AwsAccount = v
5872	return s
5873}
5874
5875// SetFramework sets the Framework field's value.
5876func (s *Assessment) SetFramework(v *AssessmentFramework) *Assessment {
5877	s.Framework = v
5878	return s
5879}
5880
5881// SetMetadata sets the Metadata field's value.
5882func (s *Assessment) SetMetadata(v *AssessmentMetadata) *Assessment {
5883	s.Metadata = v
5884	return s
5885}
5886
5887// SetTags sets the Tags field's value.
5888func (s *Assessment) SetTags(v map[string]*string) *Assessment {
5889	s.Tags = v
5890	return s
5891}
5892
5893// The control entity that represents a standard control or a custom control
5894// in an Audit Manager assessment.
5895type AssessmentControl struct {
5896	_ struct{} `type:"structure"`
5897
5898	// The amount of evidence in the assessment report.
5899	AssessmentReportEvidenceCount *int64 `locationName:"assessmentReportEvidenceCount" type:"integer"`
5900
5901	// The list of comments that's attached to the control.
5902	Comments []*ControlComment `locationName:"comments" type:"list"`
5903
5904	// The description of the control.
5905	Description *string `locationName:"description" type:"string"`
5906
5907	// The amount of evidence that's generated for the control.
5908	EvidenceCount *int64 `locationName:"evidenceCount" type:"integer"`
5909
5910	// The list of data sources for the evidence.
5911	EvidenceSources []*string `locationName:"evidenceSources" type:"list"`
5912
5913	// The identifier for the control.
5914	Id *string `locationName:"id" min:"36" type:"string"`
5915
5916	// The name of the control.
5917	Name *string `locationName:"name" min:"1" type:"string"`
5918
5919	// The response of the control.
5920	Response *string `locationName:"response" type:"string" enum:"ControlResponse"`
5921
5922	// The status of the control.
5923	Status *string `locationName:"status" type:"string" enum:"ControlStatus"`
5924}
5925
5926// String returns the string representation.
5927//
5928// API parameter values that are decorated as "sensitive" in the API will not
5929// be included in the string output. The member name will be present, but the
5930// value will be replaced with "sensitive".
5931func (s AssessmentControl) String() string {
5932	return awsutil.Prettify(s)
5933}
5934
5935// GoString returns the string representation.
5936//
5937// API parameter values that are decorated as "sensitive" in the API will not
5938// be included in the string output. The member name will be present, but the
5939// value will be replaced with "sensitive".
5940func (s AssessmentControl) GoString() string {
5941	return s.String()
5942}
5943
5944// SetAssessmentReportEvidenceCount sets the AssessmentReportEvidenceCount field's value.
5945func (s *AssessmentControl) SetAssessmentReportEvidenceCount(v int64) *AssessmentControl {
5946	s.AssessmentReportEvidenceCount = &v
5947	return s
5948}
5949
5950// SetComments sets the Comments field's value.
5951func (s *AssessmentControl) SetComments(v []*ControlComment) *AssessmentControl {
5952	s.Comments = v
5953	return s
5954}
5955
5956// SetDescription sets the Description field's value.
5957func (s *AssessmentControl) SetDescription(v string) *AssessmentControl {
5958	s.Description = &v
5959	return s
5960}
5961
5962// SetEvidenceCount sets the EvidenceCount field's value.
5963func (s *AssessmentControl) SetEvidenceCount(v int64) *AssessmentControl {
5964	s.EvidenceCount = &v
5965	return s
5966}
5967
5968// SetEvidenceSources sets the EvidenceSources field's value.
5969func (s *AssessmentControl) SetEvidenceSources(v []*string) *AssessmentControl {
5970	s.EvidenceSources = v
5971	return s
5972}
5973
5974// SetId sets the Id field's value.
5975func (s *AssessmentControl) SetId(v string) *AssessmentControl {
5976	s.Id = &v
5977	return s
5978}
5979
5980// SetName sets the Name field's value.
5981func (s *AssessmentControl) SetName(v string) *AssessmentControl {
5982	s.Name = &v
5983	return s
5984}
5985
5986// SetResponse sets the Response field's value.
5987func (s *AssessmentControl) SetResponse(v string) *AssessmentControl {
5988	s.Response = &v
5989	return s
5990}
5991
5992// SetStatus sets the Status field's value.
5993func (s *AssessmentControl) SetStatus(v string) *AssessmentControl {
5994	s.Status = &v
5995	return s
5996}
5997
5998// Represents a set of controls in an Audit Manager assessment.
5999type AssessmentControlSet struct {
6000	_ struct{} `type:"structure"`
6001
6002	// The list of controls that's contained with the control set.
6003	Controls []*AssessmentControl `locationName:"controls" type:"list"`
6004
6005	// The delegations that are associated with the control set.
6006	Delegations []*Delegation `locationName:"delegations" type:"list"`
6007
6008	// The description for the control set.
6009	Description *string `locationName:"description" min:"1" type:"string"`
6010
6011	// The identifier of the control set in the assessment. This is the control
6012	// set name in a plain string format.
6013	Id *string `locationName:"id" min:"1" type:"string"`
6014
6015	// The total number of evidence objects that are uploaded manually to the control
6016	// set.
6017	ManualEvidenceCount *int64 `locationName:"manualEvidenceCount" type:"integer"`
6018
6019	// The roles that are associated with the control set.
6020	Roles []*Role `locationName:"roles" type:"list"`
6021
6022	// Specifies the current status of the control set.
6023	Status *string `locationName:"status" type:"string" enum:"ControlSetStatus"`
6024
6025	// The total number of evidence objects that are retrieved automatically for
6026	// the control set.
6027	SystemEvidenceCount *int64 `locationName:"systemEvidenceCount" type:"integer"`
6028}
6029
6030// String returns the string representation.
6031//
6032// API parameter values that are decorated as "sensitive" in the API will not
6033// be included in the string output. The member name will be present, but the
6034// value will be replaced with "sensitive".
6035func (s AssessmentControlSet) String() string {
6036	return awsutil.Prettify(s)
6037}
6038
6039// GoString returns the string representation.
6040//
6041// API parameter values that are decorated as "sensitive" in the API will not
6042// be included in the string output. The member name will be present, but the
6043// value will be replaced with "sensitive".
6044func (s AssessmentControlSet) GoString() string {
6045	return s.String()
6046}
6047
6048// SetControls sets the Controls field's value.
6049func (s *AssessmentControlSet) SetControls(v []*AssessmentControl) *AssessmentControlSet {
6050	s.Controls = v
6051	return s
6052}
6053
6054// SetDelegations sets the Delegations field's value.
6055func (s *AssessmentControlSet) SetDelegations(v []*Delegation) *AssessmentControlSet {
6056	s.Delegations = v
6057	return s
6058}
6059
6060// SetDescription sets the Description field's value.
6061func (s *AssessmentControlSet) SetDescription(v string) *AssessmentControlSet {
6062	s.Description = &v
6063	return s
6064}
6065
6066// SetId sets the Id field's value.
6067func (s *AssessmentControlSet) SetId(v string) *AssessmentControlSet {
6068	s.Id = &v
6069	return s
6070}
6071
6072// SetManualEvidenceCount sets the ManualEvidenceCount field's value.
6073func (s *AssessmentControlSet) SetManualEvidenceCount(v int64) *AssessmentControlSet {
6074	s.ManualEvidenceCount = &v
6075	return s
6076}
6077
6078// SetRoles sets the Roles field's value.
6079func (s *AssessmentControlSet) SetRoles(v []*Role) *AssessmentControlSet {
6080	s.Roles = v
6081	return s
6082}
6083
6084// SetStatus sets the Status field's value.
6085func (s *AssessmentControlSet) SetStatus(v string) *AssessmentControlSet {
6086	s.Status = &v
6087	return s
6088}
6089
6090// SetSystemEvidenceCount sets the SystemEvidenceCount field's value.
6091func (s *AssessmentControlSet) SetSystemEvidenceCount(v int64) *AssessmentControlSet {
6092	s.SystemEvidenceCount = &v
6093	return s
6094}
6095
6096// The folder where Audit Manager stores evidence for an assessment.
6097type AssessmentEvidenceFolder struct {
6098	_ struct{} `type:"structure"`
6099
6100	// The identifier for the assessment.
6101	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6102
6103	// The total count of evidence that's included in the assessment report.
6104	AssessmentReportSelectionCount *int64 `locationName:"assessmentReportSelectionCount" type:"integer"`
6105
6106	// The name of the user who created the evidence folder.
6107	Author *string `locationName:"author" type:"string"`
6108
6109	// The unique identifier for the control.
6110	ControlId *string `locationName:"controlId" min:"36" type:"string"`
6111
6112	// The name of the control.
6113	ControlName *string `locationName:"controlName" min:"1" type:"string"`
6114
6115	// The identifier for the control set.
6116	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
6117
6118	// The Amazon Web Service that the evidence was collected from.
6119	DataSource *string `locationName:"dataSource" type:"string"`
6120
6121	// The date when the first evidence was added to the evidence folder.
6122	Date *time.Time `locationName:"date" type:"timestamp"`
6123
6124	// The total number of Amazon Web Services resources that were assessed to generate
6125	// the evidence.
6126	EvidenceAwsServiceSourceCount *int64 `locationName:"evidenceAwsServiceSourceCount" type:"integer"`
6127
6128	// The number of evidence that falls under the compliance check category. This
6129	// evidence is collected from Config or Security Hub.
6130	EvidenceByTypeComplianceCheckCount *int64 `locationName:"evidenceByTypeComplianceCheckCount" type:"integer"`
6131
6132	// The total number of issues that were reported directly from Security Hub,
6133	// Config, or both.
6134	EvidenceByTypeComplianceCheckIssuesCount *int64 `locationName:"evidenceByTypeComplianceCheckIssuesCount" type:"integer"`
6135
6136	// The number of evidence that falls under the configuration data category.
6137	// This evidence is collected from configuration snapshots of other Amazon Web
6138	// Services services such as Amazon EC2, Amazon S3, or IAM.
6139	EvidenceByTypeConfigurationDataCount *int64 `locationName:"evidenceByTypeConfigurationDataCount" type:"integer"`
6140
6141	// The number of evidence that falls under the manual category. This evidence
6142	// is imported manually.
6143	EvidenceByTypeManualCount *int64 `locationName:"evidenceByTypeManualCount" type:"integer"`
6144
6145	// The number of evidence that falls under the user activity category. This
6146	// evidence is collected from CloudTrail logs.
6147	EvidenceByTypeUserActivityCount *int64 `locationName:"evidenceByTypeUserActivityCount" type:"integer"`
6148
6149	// The amount of evidence that's included in the evidence folder.
6150	EvidenceResourcesIncludedCount *int64 `locationName:"evidenceResourcesIncludedCount" type:"integer"`
6151
6152	// The identifier for the folder that the evidence is stored in.
6153	Id *string `locationName:"id" min:"36" type:"string"`
6154
6155	// The name of the evidence folder.
6156	Name *string `locationName:"name" min:"1" type:"string"`
6157
6158	// The total amount of evidence in the evidence folder.
6159	TotalEvidence *int64 `locationName:"totalEvidence" type:"integer"`
6160}
6161
6162// String returns the string representation.
6163//
6164// API parameter values that are decorated as "sensitive" in the API will not
6165// be included in the string output. The member name will be present, but the
6166// value will be replaced with "sensitive".
6167func (s AssessmentEvidenceFolder) String() string {
6168	return awsutil.Prettify(s)
6169}
6170
6171// GoString returns the string representation.
6172//
6173// API parameter values that are decorated as "sensitive" in the API will not
6174// be included in the string output. The member name will be present, but the
6175// value will be replaced with "sensitive".
6176func (s AssessmentEvidenceFolder) GoString() string {
6177	return s.String()
6178}
6179
6180// SetAssessmentId sets the AssessmentId field's value.
6181func (s *AssessmentEvidenceFolder) SetAssessmentId(v string) *AssessmentEvidenceFolder {
6182	s.AssessmentId = &v
6183	return s
6184}
6185
6186// SetAssessmentReportSelectionCount sets the AssessmentReportSelectionCount field's value.
6187func (s *AssessmentEvidenceFolder) SetAssessmentReportSelectionCount(v int64) *AssessmentEvidenceFolder {
6188	s.AssessmentReportSelectionCount = &v
6189	return s
6190}
6191
6192// SetAuthor sets the Author field's value.
6193func (s *AssessmentEvidenceFolder) SetAuthor(v string) *AssessmentEvidenceFolder {
6194	s.Author = &v
6195	return s
6196}
6197
6198// SetControlId sets the ControlId field's value.
6199func (s *AssessmentEvidenceFolder) SetControlId(v string) *AssessmentEvidenceFolder {
6200	s.ControlId = &v
6201	return s
6202}
6203
6204// SetControlName sets the ControlName field's value.
6205func (s *AssessmentEvidenceFolder) SetControlName(v string) *AssessmentEvidenceFolder {
6206	s.ControlName = &v
6207	return s
6208}
6209
6210// SetControlSetId sets the ControlSetId field's value.
6211func (s *AssessmentEvidenceFolder) SetControlSetId(v string) *AssessmentEvidenceFolder {
6212	s.ControlSetId = &v
6213	return s
6214}
6215
6216// SetDataSource sets the DataSource field's value.
6217func (s *AssessmentEvidenceFolder) SetDataSource(v string) *AssessmentEvidenceFolder {
6218	s.DataSource = &v
6219	return s
6220}
6221
6222// SetDate sets the Date field's value.
6223func (s *AssessmentEvidenceFolder) SetDate(v time.Time) *AssessmentEvidenceFolder {
6224	s.Date = &v
6225	return s
6226}
6227
6228// SetEvidenceAwsServiceSourceCount sets the EvidenceAwsServiceSourceCount field's value.
6229func (s *AssessmentEvidenceFolder) SetEvidenceAwsServiceSourceCount(v int64) *AssessmentEvidenceFolder {
6230	s.EvidenceAwsServiceSourceCount = &v
6231	return s
6232}
6233
6234// SetEvidenceByTypeComplianceCheckCount sets the EvidenceByTypeComplianceCheckCount field's value.
6235func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckCount(v int64) *AssessmentEvidenceFolder {
6236	s.EvidenceByTypeComplianceCheckCount = &v
6237	return s
6238}
6239
6240// SetEvidenceByTypeComplianceCheckIssuesCount sets the EvidenceByTypeComplianceCheckIssuesCount field's value.
6241func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckIssuesCount(v int64) *AssessmentEvidenceFolder {
6242	s.EvidenceByTypeComplianceCheckIssuesCount = &v
6243	return s
6244}
6245
6246// SetEvidenceByTypeConfigurationDataCount sets the EvidenceByTypeConfigurationDataCount field's value.
6247func (s *AssessmentEvidenceFolder) SetEvidenceByTypeConfigurationDataCount(v int64) *AssessmentEvidenceFolder {
6248	s.EvidenceByTypeConfigurationDataCount = &v
6249	return s
6250}
6251
6252// SetEvidenceByTypeManualCount sets the EvidenceByTypeManualCount field's value.
6253func (s *AssessmentEvidenceFolder) SetEvidenceByTypeManualCount(v int64) *AssessmentEvidenceFolder {
6254	s.EvidenceByTypeManualCount = &v
6255	return s
6256}
6257
6258// SetEvidenceByTypeUserActivityCount sets the EvidenceByTypeUserActivityCount field's value.
6259func (s *AssessmentEvidenceFolder) SetEvidenceByTypeUserActivityCount(v int64) *AssessmentEvidenceFolder {
6260	s.EvidenceByTypeUserActivityCount = &v
6261	return s
6262}
6263
6264// SetEvidenceResourcesIncludedCount sets the EvidenceResourcesIncludedCount field's value.
6265func (s *AssessmentEvidenceFolder) SetEvidenceResourcesIncludedCount(v int64) *AssessmentEvidenceFolder {
6266	s.EvidenceResourcesIncludedCount = &v
6267	return s
6268}
6269
6270// SetId sets the Id field's value.
6271func (s *AssessmentEvidenceFolder) SetId(v string) *AssessmentEvidenceFolder {
6272	s.Id = &v
6273	return s
6274}
6275
6276// SetName sets the Name field's value.
6277func (s *AssessmentEvidenceFolder) SetName(v string) *AssessmentEvidenceFolder {
6278	s.Name = &v
6279	return s
6280}
6281
6282// SetTotalEvidence sets the TotalEvidence field's value.
6283func (s *AssessmentEvidenceFolder) SetTotalEvidence(v int64) *AssessmentEvidenceFolder {
6284	s.TotalEvidence = &v
6285	return s
6286}
6287
6288// The file used to structure and automate Audit Manager assessments for a given
6289// compliance standard.
6290type AssessmentFramework struct {
6291	_ struct{} `type:"structure"`
6292
6293	// The Amazon Resource Name (ARN) of the framework.
6294	Arn *string `locationName:"arn" min:"20" type:"string"`
6295
6296	// The control sets that are associated with the framework.
6297	ControlSets []*AssessmentControlSet `locationName:"controlSets" type:"list"`
6298
6299	// The unique identifier for the framework.
6300	Id *string `locationName:"id" min:"36" type:"string"`
6301
6302	// The metadata of a framework, such as the name, ID, or description.
6303	Metadata *FrameworkMetadata `locationName:"metadata" type:"structure"`
6304}
6305
6306// String returns the string representation.
6307//
6308// API parameter values that are decorated as "sensitive" in the API will not
6309// be included in the string output. The member name will be present, but the
6310// value will be replaced with "sensitive".
6311func (s AssessmentFramework) String() string {
6312	return awsutil.Prettify(s)
6313}
6314
6315// GoString returns the string representation.
6316//
6317// API parameter values that are decorated as "sensitive" in the API will not
6318// be included in the string output. The member name will be present, but the
6319// value will be replaced with "sensitive".
6320func (s AssessmentFramework) GoString() string {
6321	return s.String()
6322}
6323
6324// SetArn sets the Arn field's value.
6325func (s *AssessmentFramework) SetArn(v string) *AssessmentFramework {
6326	s.Arn = &v
6327	return s
6328}
6329
6330// SetControlSets sets the ControlSets field's value.
6331func (s *AssessmentFramework) SetControlSets(v []*AssessmentControlSet) *AssessmentFramework {
6332	s.ControlSets = v
6333	return s
6334}
6335
6336// SetId sets the Id field's value.
6337func (s *AssessmentFramework) SetId(v string) *AssessmentFramework {
6338	s.Id = &v
6339	return s
6340}
6341
6342// SetMetadata sets the Metadata field's value.
6343func (s *AssessmentFramework) SetMetadata(v *FrameworkMetadata) *AssessmentFramework {
6344	s.Metadata = v
6345	return s
6346}
6347
6348// The metadata that's associated with a standard framework or a custom framework.
6349type AssessmentFrameworkMetadata struct {
6350	_ struct{} `type:"structure"`
6351
6352	// The Amazon Resource Name (ARN) of the framework.
6353	Arn *string `locationName:"arn" min:"20" type:"string"`
6354
6355	// The compliance type that the new custom framework supports, such as CIS or
6356	// HIPAA.
6357	ComplianceType *string `locationName:"complianceType" type:"string"`
6358
6359	// The number of control sets that are associated with the framework.
6360	ControlSetsCount *int64 `locationName:"controlSetsCount" type:"integer"`
6361
6362	// The number of controls that are associated with the framework.
6363	ControlsCount *int64 `locationName:"controlsCount" type:"integer"`
6364
6365	// Specifies when the framework was created.
6366	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6367
6368	// The description of the framework.
6369	Description *string `locationName:"description" min:"1" type:"string"`
6370
6371	// The unique identifier for the framework.
6372	Id *string `locationName:"id" min:"36" type:"string"`
6373
6374	// Specifies when the framework was most recently updated.
6375	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
6376
6377	// The logo that's associated with the framework.
6378	Logo *string `locationName:"logo" min:"1" type:"string"`
6379
6380	// The name of the framework.
6381	Name *string `locationName:"name" min:"1" type:"string"`
6382
6383	// The framework type, such as a standard framework or a custom framework.
6384	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
6385}
6386
6387// String returns the string representation.
6388//
6389// API parameter values that are decorated as "sensitive" in the API will not
6390// be included in the string output. The member name will be present, but the
6391// value will be replaced with "sensitive".
6392func (s AssessmentFrameworkMetadata) String() string {
6393	return awsutil.Prettify(s)
6394}
6395
6396// GoString returns the string representation.
6397//
6398// API parameter values that are decorated as "sensitive" in the API will not
6399// be included in the string output. The member name will be present, but the
6400// value will be replaced with "sensitive".
6401func (s AssessmentFrameworkMetadata) GoString() string {
6402	return s.String()
6403}
6404
6405// SetArn sets the Arn field's value.
6406func (s *AssessmentFrameworkMetadata) SetArn(v string) *AssessmentFrameworkMetadata {
6407	s.Arn = &v
6408	return s
6409}
6410
6411// SetComplianceType sets the ComplianceType field's value.
6412func (s *AssessmentFrameworkMetadata) SetComplianceType(v string) *AssessmentFrameworkMetadata {
6413	s.ComplianceType = &v
6414	return s
6415}
6416
6417// SetControlSetsCount sets the ControlSetsCount field's value.
6418func (s *AssessmentFrameworkMetadata) SetControlSetsCount(v int64) *AssessmentFrameworkMetadata {
6419	s.ControlSetsCount = &v
6420	return s
6421}
6422
6423// SetControlsCount sets the ControlsCount field's value.
6424func (s *AssessmentFrameworkMetadata) SetControlsCount(v int64) *AssessmentFrameworkMetadata {
6425	s.ControlsCount = &v
6426	return s
6427}
6428
6429// SetCreatedAt sets the CreatedAt field's value.
6430func (s *AssessmentFrameworkMetadata) SetCreatedAt(v time.Time) *AssessmentFrameworkMetadata {
6431	s.CreatedAt = &v
6432	return s
6433}
6434
6435// SetDescription sets the Description field's value.
6436func (s *AssessmentFrameworkMetadata) SetDescription(v string) *AssessmentFrameworkMetadata {
6437	s.Description = &v
6438	return s
6439}
6440
6441// SetId sets the Id field's value.
6442func (s *AssessmentFrameworkMetadata) SetId(v string) *AssessmentFrameworkMetadata {
6443	s.Id = &v
6444	return s
6445}
6446
6447// SetLastUpdatedAt sets the LastUpdatedAt field's value.
6448func (s *AssessmentFrameworkMetadata) SetLastUpdatedAt(v time.Time) *AssessmentFrameworkMetadata {
6449	s.LastUpdatedAt = &v
6450	return s
6451}
6452
6453// SetLogo sets the Logo field's value.
6454func (s *AssessmentFrameworkMetadata) SetLogo(v string) *AssessmentFrameworkMetadata {
6455	s.Logo = &v
6456	return s
6457}
6458
6459// SetName sets the Name field's value.
6460func (s *AssessmentFrameworkMetadata) SetName(v string) *AssessmentFrameworkMetadata {
6461	s.Name = &v
6462	return s
6463}
6464
6465// SetType sets the Type field's value.
6466func (s *AssessmentFrameworkMetadata) SetType(v string) *AssessmentFrameworkMetadata {
6467	s.Type = &v
6468	return s
6469}
6470
6471// Represents a share request for a custom framework in Audit Manager.
6472type AssessmentFrameworkShareRequest struct {
6473	_ struct{} `type:"structure"`
6474
6475	// An optional comment from the sender about the share request.
6476	Comment *string `locationName:"comment" type:"string"`
6477
6478	// The compliance type that the shared custom framework supports, such as CIS
6479	// or HIPAA.
6480	ComplianceType *string `locationName:"complianceType" type:"string"`
6481
6482	// The time when the share request was created.
6483	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6484
6485	// The number of custom controls that are part of the shared custom framework.
6486	CustomControlsCount *int64 `locationName:"customControlsCount" type:"integer"`
6487
6488	// The Amazon Web Services account of the recipient.
6489	DestinationAccount *string `locationName:"destinationAccount" min:"12" type:"string"`
6490
6491	// The Amazon Web Services Region of the recipient.
6492	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
6493
6494	// The time when the share request expires.
6495	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
6496
6497	// The description of the shared custom framework.
6498	FrameworkDescription *string `locationName:"frameworkDescription" min:"1" type:"string"`
6499
6500	// The unique identifier for the shared custom framework.
6501	FrameworkId *string `locationName:"frameworkId" min:"36" type:"string"`
6502
6503	// The name of the custom framework that the share request is for.
6504	FrameworkName *string `locationName:"frameworkName" min:"1" type:"string"`
6505
6506	// The unique identifier for the share request.
6507	Id *string `locationName:"id" min:"36" type:"string"`
6508
6509	// Specifies when the share request was last updated.
6510	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
6511
6512	// The Amazon Web Services account of the sender.
6513	SourceAccount *string `locationName:"sourceAccount" min:"12" type:"string"`
6514
6515	// The number of standard controls that are part of the shared custom framework.
6516	StandardControlsCount *int64 `locationName:"standardControlsCount" type:"integer"`
6517
6518	// The status of the share request.
6519	Status *string `locationName:"status" type:"string" enum:"ShareRequestStatus"`
6520}
6521
6522// String returns the string representation.
6523//
6524// API parameter values that are decorated as "sensitive" in the API will not
6525// be included in the string output. The member name will be present, but the
6526// value will be replaced with "sensitive".
6527func (s AssessmentFrameworkShareRequest) String() string {
6528	return awsutil.Prettify(s)
6529}
6530
6531// GoString returns the string representation.
6532//
6533// API parameter values that are decorated as "sensitive" in the API will not
6534// be included in the string output. The member name will be present, but the
6535// value will be replaced with "sensitive".
6536func (s AssessmentFrameworkShareRequest) GoString() string {
6537	return s.String()
6538}
6539
6540// SetComment sets the Comment field's value.
6541func (s *AssessmentFrameworkShareRequest) SetComment(v string) *AssessmentFrameworkShareRequest {
6542	s.Comment = &v
6543	return s
6544}
6545
6546// SetComplianceType sets the ComplianceType field's value.
6547func (s *AssessmentFrameworkShareRequest) SetComplianceType(v string) *AssessmentFrameworkShareRequest {
6548	s.ComplianceType = &v
6549	return s
6550}
6551
6552// SetCreationTime sets the CreationTime field's value.
6553func (s *AssessmentFrameworkShareRequest) SetCreationTime(v time.Time) *AssessmentFrameworkShareRequest {
6554	s.CreationTime = &v
6555	return s
6556}
6557
6558// SetCustomControlsCount sets the CustomControlsCount field's value.
6559func (s *AssessmentFrameworkShareRequest) SetCustomControlsCount(v int64) *AssessmentFrameworkShareRequest {
6560	s.CustomControlsCount = &v
6561	return s
6562}
6563
6564// SetDestinationAccount sets the DestinationAccount field's value.
6565func (s *AssessmentFrameworkShareRequest) SetDestinationAccount(v string) *AssessmentFrameworkShareRequest {
6566	s.DestinationAccount = &v
6567	return s
6568}
6569
6570// SetDestinationRegion sets the DestinationRegion field's value.
6571func (s *AssessmentFrameworkShareRequest) SetDestinationRegion(v string) *AssessmentFrameworkShareRequest {
6572	s.DestinationRegion = &v
6573	return s
6574}
6575
6576// SetExpirationTime sets the ExpirationTime field's value.
6577func (s *AssessmentFrameworkShareRequest) SetExpirationTime(v time.Time) *AssessmentFrameworkShareRequest {
6578	s.ExpirationTime = &v
6579	return s
6580}
6581
6582// SetFrameworkDescription sets the FrameworkDescription field's value.
6583func (s *AssessmentFrameworkShareRequest) SetFrameworkDescription(v string) *AssessmentFrameworkShareRequest {
6584	s.FrameworkDescription = &v
6585	return s
6586}
6587
6588// SetFrameworkId sets the FrameworkId field's value.
6589func (s *AssessmentFrameworkShareRequest) SetFrameworkId(v string) *AssessmentFrameworkShareRequest {
6590	s.FrameworkId = &v
6591	return s
6592}
6593
6594// SetFrameworkName sets the FrameworkName field's value.
6595func (s *AssessmentFrameworkShareRequest) SetFrameworkName(v string) *AssessmentFrameworkShareRequest {
6596	s.FrameworkName = &v
6597	return s
6598}
6599
6600// SetId sets the Id field's value.
6601func (s *AssessmentFrameworkShareRequest) SetId(v string) *AssessmentFrameworkShareRequest {
6602	s.Id = &v
6603	return s
6604}
6605
6606// SetLastUpdated sets the LastUpdated field's value.
6607func (s *AssessmentFrameworkShareRequest) SetLastUpdated(v time.Time) *AssessmentFrameworkShareRequest {
6608	s.LastUpdated = &v
6609	return s
6610}
6611
6612// SetSourceAccount sets the SourceAccount field's value.
6613func (s *AssessmentFrameworkShareRequest) SetSourceAccount(v string) *AssessmentFrameworkShareRequest {
6614	s.SourceAccount = &v
6615	return s
6616}
6617
6618// SetStandardControlsCount sets the StandardControlsCount field's value.
6619func (s *AssessmentFrameworkShareRequest) SetStandardControlsCount(v int64) *AssessmentFrameworkShareRequest {
6620	s.StandardControlsCount = &v
6621	return s
6622}
6623
6624// SetStatus sets the Status field's value.
6625func (s *AssessmentFrameworkShareRequest) SetStatus(v string) *AssessmentFrameworkShareRequest {
6626	s.Status = &v
6627	return s
6628}
6629
6630// The metadata that's associated with the specified assessment.
6631type AssessmentMetadata struct {
6632	_ struct{} `type:"structure"`
6633
6634	// The destination that evidence reports are stored in for the assessment.
6635	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
6636
6637	// The name of the compliance standard that's related to the assessment, such
6638	// as PCI-DSS.
6639	ComplianceType *string `locationName:"complianceType" type:"string"`
6640
6641	// Specifies when the assessment was created.
6642	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6643
6644	// The delegations that are associated with the assessment.
6645	Delegations []*Delegation `locationName:"delegations" type:"list"`
6646
6647	// The description of the assessment.
6648	Description *string `locationName:"description" type:"string"`
6649
6650	// The unique identifier for the assessment.
6651	Id *string `locationName:"id" min:"36" type:"string"`
6652
6653	// The time of the most recent update.
6654	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
6655
6656	// The name of the assessment.
6657	Name *string `locationName:"name" min:"1" type:"string"`
6658
6659	// The roles that are associated with the assessment.
6660	Roles []*Role `locationName:"roles" type:"list"`
6661
6662	// The wrapper of Amazon Web Services accounts and services that are in scope
6663	// for the assessment.
6664	Scope *Scope `locationName:"scope" type:"structure"`
6665
6666	// The overall status of the assessment.
6667	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
6668}
6669
6670// String returns the string representation.
6671//
6672// API parameter values that are decorated as "sensitive" in the API will not
6673// be included in the string output. The member name will be present, but the
6674// value will be replaced with "sensitive".
6675func (s AssessmentMetadata) String() string {
6676	return awsutil.Prettify(s)
6677}
6678
6679// GoString returns the string representation.
6680//
6681// API parameter values that are decorated as "sensitive" in the API will not
6682// be included in the string output. The member name will be present, but the
6683// value will be replaced with "sensitive".
6684func (s AssessmentMetadata) GoString() string {
6685	return s.String()
6686}
6687
6688// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
6689func (s *AssessmentMetadata) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *AssessmentMetadata {
6690	s.AssessmentReportsDestination = v
6691	return s
6692}
6693
6694// SetComplianceType sets the ComplianceType field's value.
6695func (s *AssessmentMetadata) SetComplianceType(v string) *AssessmentMetadata {
6696	s.ComplianceType = &v
6697	return s
6698}
6699
6700// SetCreationTime sets the CreationTime field's value.
6701func (s *AssessmentMetadata) SetCreationTime(v time.Time) *AssessmentMetadata {
6702	s.CreationTime = &v
6703	return s
6704}
6705
6706// SetDelegations sets the Delegations field's value.
6707func (s *AssessmentMetadata) SetDelegations(v []*Delegation) *AssessmentMetadata {
6708	s.Delegations = v
6709	return s
6710}
6711
6712// SetDescription sets the Description field's value.
6713func (s *AssessmentMetadata) SetDescription(v string) *AssessmentMetadata {
6714	s.Description = &v
6715	return s
6716}
6717
6718// SetId sets the Id field's value.
6719func (s *AssessmentMetadata) SetId(v string) *AssessmentMetadata {
6720	s.Id = &v
6721	return s
6722}
6723
6724// SetLastUpdated sets the LastUpdated field's value.
6725func (s *AssessmentMetadata) SetLastUpdated(v time.Time) *AssessmentMetadata {
6726	s.LastUpdated = &v
6727	return s
6728}
6729
6730// SetName sets the Name field's value.
6731func (s *AssessmentMetadata) SetName(v string) *AssessmentMetadata {
6732	s.Name = &v
6733	return s
6734}
6735
6736// SetRoles sets the Roles field's value.
6737func (s *AssessmentMetadata) SetRoles(v []*Role) *AssessmentMetadata {
6738	s.Roles = v
6739	return s
6740}
6741
6742// SetScope sets the Scope field's value.
6743func (s *AssessmentMetadata) SetScope(v *Scope) *AssessmentMetadata {
6744	s.Scope = v
6745	return s
6746}
6747
6748// SetStatus sets the Status field's value.
6749func (s *AssessmentMetadata) SetStatus(v string) *AssessmentMetadata {
6750	s.Status = &v
6751	return s
6752}
6753
6754// A metadata object that's associated with an assessment in Audit Manager.
6755type AssessmentMetadataItem struct {
6756	_ struct{} `type:"structure"`
6757
6758	// The name of the compliance standard that's related to the assessment, such
6759	// as PCI-DSS.
6760	ComplianceType *string `locationName:"complianceType" type:"string"`
6761
6762	// Specifies when the assessment was created.
6763	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6764
6765	// The delegations that are associated with the assessment.
6766	Delegations []*Delegation `locationName:"delegations" type:"list"`
6767
6768	// The unique identifier for the assessment.
6769	Id *string `locationName:"id" min:"36" type:"string"`
6770
6771	// The time of the most recent update.
6772	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
6773
6774	// The name of the assessment.
6775	Name *string `locationName:"name" min:"1" type:"string"`
6776
6777	// The roles that are associated with the assessment.
6778	Roles []*Role `locationName:"roles" type:"list"`
6779
6780	// The current status of the assessment.
6781	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
6782}
6783
6784// String returns the string representation.
6785//
6786// API parameter values that are decorated as "sensitive" in the API will not
6787// be included in the string output. The member name will be present, but the
6788// value will be replaced with "sensitive".
6789func (s AssessmentMetadataItem) String() string {
6790	return awsutil.Prettify(s)
6791}
6792
6793// GoString returns the string representation.
6794//
6795// API parameter values that are decorated as "sensitive" in the API will not
6796// be included in the string output. The member name will be present, but the
6797// value will be replaced with "sensitive".
6798func (s AssessmentMetadataItem) GoString() string {
6799	return s.String()
6800}
6801
6802// SetComplianceType sets the ComplianceType field's value.
6803func (s *AssessmentMetadataItem) SetComplianceType(v string) *AssessmentMetadataItem {
6804	s.ComplianceType = &v
6805	return s
6806}
6807
6808// SetCreationTime sets the CreationTime field's value.
6809func (s *AssessmentMetadataItem) SetCreationTime(v time.Time) *AssessmentMetadataItem {
6810	s.CreationTime = &v
6811	return s
6812}
6813
6814// SetDelegations sets the Delegations field's value.
6815func (s *AssessmentMetadataItem) SetDelegations(v []*Delegation) *AssessmentMetadataItem {
6816	s.Delegations = v
6817	return s
6818}
6819
6820// SetId sets the Id field's value.
6821func (s *AssessmentMetadataItem) SetId(v string) *AssessmentMetadataItem {
6822	s.Id = &v
6823	return s
6824}
6825
6826// SetLastUpdated sets the LastUpdated field's value.
6827func (s *AssessmentMetadataItem) SetLastUpdated(v time.Time) *AssessmentMetadataItem {
6828	s.LastUpdated = &v
6829	return s
6830}
6831
6832// SetName sets the Name field's value.
6833func (s *AssessmentMetadataItem) SetName(v string) *AssessmentMetadataItem {
6834	s.Name = &v
6835	return s
6836}
6837
6838// SetRoles sets the Roles field's value.
6839func (s *AssessmentMetadataItem) SetRoles(v []*Role) *AssessmentMetadataItem {
6840	s.Roles = v
6841	return s
6842}
6843
6844// SetStatus sets the Status field's value.
6845func (s *AssessmentMetadataItem) SetStatus(v string) *AssessmentMetadataItem {
6846	s.Status = &v
6847	return s
6848}
6849
6850// A finalized document that's generated from an Audit Manager assessment. These
6851// reports summarize the relevant evidence that was collected for your audit,
6852// and link to the relevant evidence folders. These evidence folders are named
6853// and organized according to the controls that are specified in your assessment.
6854type AssessmentReport struct {
6855	_ struct{} `type:"structure"`
6856
6857	// The identifier for the specified assessment.
6858	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6859
6860	// The name of the associated assessment.
6861	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
6862
6863	// The name of the user who created the assessment report.
6864	Author *string `locationName:"author" min:"1" type:"string"`
6865
6866	// The identifier for the specified Amazon Web Services account.
6867	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
6868
6869	// Specifies when the assessment report was created.
6870	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6871
6872	// The description of the specified assessment report.
6873	Description *string `locationName:"description" type:"string"`
6874
6875	// The unique identifier for the assessment report.
6876	Id *string `locationName:"id" min:"36" type:"string"`
6877
6878	// The name that's given to the assessment report.
6879	Name *string `locationName:"name" min:"1" type:"string"`
6880
6881	// The current status of the specified assessment report.
6882	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
6883}
6884
6885// String returns the string representation.
6886//
6887// API parameter values that are decorated as "sensitive" in the API will not
6888// be included in the string output. The member name will be present, but the
6889// value will be replaced with "sensitive".
6890func (s AssessmentReport) String() string {
6891	return awsutil.Prettify(s)
6892}
6893
6894// GoString returns the string representation.
6895//
6896// API parameter values that are decorated as "sensitive" in the API will not
6897// be included in the string output. The member name will be present, but the
6898// value will be replaced with "sensitive".
6899func (s AssessmentReport) GoString() string {
6900	return s.String()
6901}
6902
6903// SetAssessmentId sets the AssessmentId field's value.
6904func (s *AssessmentReport) SetAssessmentId(v string) *AssessmentReport {
6905	s.AssessmentId = &v
6906	return s
6907}
6908
6909// SetAssessmentName sets the AssessmentName field's value.
6910func (s *AssessmentReport) SetAssessmentName(v string) *AssessmentReport {
6911	s.AssessmentName = &v
6912	return s
6913}
6914
6915// SetAuthor sets the Author field's value.
6916func (s *AssessmentReport) SetAuthor(v string) *AssessmentReport {
6917	s.Author = &v
6918	return s
6919}
6920
6921// SetAwsAccountId sets the AwsAccountId field's value.
6922func (s *AssessmentReport) SetAwsAccountId(v string) *AssessmentReport {
6923	s.AwsAccountId = &v
6924	return s
6925}
6926
6927// SetCreationTime sets the CreationTime field's value.
6928func (s *AssessmentReport) SetCreationTime(v time.Time) *AssessmentReport {
6929	s.CreationTime = &v
6930	return s
6931}
6932
6933// SetDescription sets the Description field's value.
6934func (s *AssessmentReport) SetDescription(v string) *AssessmentReport {
6935	s.Description = &v
6936	return s
6937}
6938
6939// SetId sets the Id field's value.
6940func (s *AssessmentReport) SetId(v string) *AssessmentReport {
6941	s.Id = &v
6942	return s
6943}
6944
6945// SetName sets the Name field's value.
6946func (s *AssessmentReport) SetName(v string) *AssessmentReport {
6947	s.Name = &v
6948	return s
6949}
6950
6951// SetStatus sets the Status field's value.
6952func (s *AssessmentReport) SetStatus(v string) *AssessmentReport {
6953	s.Status = &v
6954	return s
6955}
6956
6957// An error entity for the AssessmentReportEvidence API. This is used to provide
6958// more meaningful errors than a simple string message.
6959type AssessmentReportEvidenceError struct {
6960	_ struct{} `type:"structure"`
6961
6962	// The error code that the AssessmentReportEvidence API returned.
6963	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6964
6965	// The error message that the AssessmentReportEvidence API returned.
6966	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6967
6968	// The identifier for the evidence.
6969	EvidenceId *string `locationName:"evidenceId" min:"36" type:"string"`
6970}
6971
6972// String returns the string representation.
6973//
6974// API parameter values that are decorated as "sensitive" in the API will not
6975// be included in the string output. The member name will be present, but the
6976// value will be replaced with "sensitive".
6977func (s AssessmentReportEvidenceError) String() string {
6978	return awsutil.Prettify(s)
6979}
6980
6981// GoString returns the string representation.
6982//
6983// API parameter values that are decorated as "sensitive" in the API will not
6984// be included in the string output. The member name will be present, but the
6985// value will be replaced with "sensitive".
6986func (s AssessmentReportEvidenceError) GoString() string {
6987	return s.String()
6988}
6989
6990// SetErrorCode sets the ErrorCode field's value.
6991func (s *AssessmentReportEvidenceError) SetErrorCode(v string) *AssessmentReportEvidenceError {
6992	s.ErrorCode = &v
6993	return s
6994}
6995
6996// SetErrorMessage sets the ErrorMessage field's value.
6997func (s *AssessmentReportEvidenceError) SetErrorMessage(v string) *AssessmentReportEvidenceError {
6998	s.ErrorMessage = &v
6999	return s
7000}
7001
7002// SetEvidenceId sets the EvidenceId field's value.
7003func (s *AssessmentReportEvidenceError) SetEvidenceId(v string) *AssessmentReportEvidenceError {
7004	s.EvidenceId = &v
7005	return s
7006}
7007
7008// The metadata objects that are associated with the specified assessment report.
7009type AssessmentReportMetadata struct {
7010	_ struct{} `type:"structure"`
7011
7012	// The unique identifier for the associated assessment.
7013	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
7014
7015	// The name of the associated assessment.
7016	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
7017
7018	// The name of the user who created the assessment report.
7019	Author *string `locationName:"author" min:"1" type:"string"`
7020
7021	// Specifies when the assessment report was created.
7022	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
7023
7024	// The description of the assessment report.
7025	Description *string `locationName:"description" type:"string"`
7026
7027	// The unique identifier for the assessment report.
7028	Id *string `locationName:"id" min:"36" type:"string"`
7029
7030	// The name of the assessment report.
7031	Name *string `locationName:"name" min:"1" type:"string"`
7032
7033	// The current status of the assessment report.
7034	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
7035}
7036
7037// String returns the string representation.
7038//
7039// API parameter values that are decorated as "sensitive" in the API will not
7040// be included in the string output. The member name will be present, but the
7041// value will be replaced with "sensitive".
7042func (s AssessmentReportMetadata) String() string {
7043	return awsutil.Prettify(s)
7044}
7045
7046// GoString returns the string representation.
7047//
7048// API parameter values that are decorated as "sensitive" in the API will not
7049// be included in the string output. The member name will be present, but the
7050// value will be replaced with "sensitive".
7051func (s AssessmentReportMetadata) GoString() string {
7052	return s.String()
7053}
7054
7055// SetAssessmentId sets the AssessmentId field's value.
7056func (s *AssessmentReportMetadata) SetAssessmentId(v string) *AssessmentReportMetadata {
7057	s.AssessmentId = &v
7058	return s
7059}
7060
7061// SetAssessmentName sets the AssessmentName field's value.
7062func (s *AssessmentReportMetadata) SetAssessmentName(v string) *AssessmentReportMetadata {
7063	s.AssessmentName = &v
7064	return s
7065}
7066
7067// SetAuthor sets the Author field's value.
7068func (s *AssessmentReportMetadata) SetAuthor(v string) *AssessmentReportMetadata {
7069	s.Author = &v
7070	return s
7071}
7072
7073// SetCreationTime sets the CreationTime field's value.
7074func (s *AssessmentReportMetadata) SetCreationTime(v time.Time) *AssessmentReportMetadata {
7075	s.CreationTime = &v
7076	return s
7077}
7078
7079// SetDescription sets the Description field's value.
7080func (s *AssessmentReportMetadata) SetDescription(v string) *AssessmentReportMetadata {
7081	s.Description = &v
7082	return s
7083}
7084
7085// SetId sets the Id field's value.
7086func (s *AssessmentReportMetadata) SetId(v string) *AssessmentReportMetadata {
7087	s.Id = &v
7088	return s
7089}
7090
7091// SetName sets the Name field's value.
7092func (s *AssessmentReportMetadata) SetName(v string) *AssessmentReportMetadata {
7093	s.Name = &v
7094	return s
7095}
7096
7097// SetStatus sets the Status field's value.
7098func (s *AssessmentReportMetadata) SetStatus(v string) *AssessmentReportMetadata {
7099	s.Status = &v
7100	return s
7101}
7102
7103// The location where Audit Manager saves assessment reports for the given assessment.
7104type AssessmentReportsDestination struct {
7105	_ struct{} `type:"structure"`
7106
7107	// The destination of the assessment report.
7108	Destination *string `locationName:"destination" min:"1" type:"string"`
7109
7110	// The destination type, such as Amazon S3.
7111	DestinationType *string `locationName:"destinationType" type:"string" enum:"AssessmentReportDestinationType"`
7112}
7113
7114// String returns the string representation.
7115//
7116// API parameter values that are decorated as "sensitive" in the API will not
7117// be included in the string output. The member name will be present, but the
7118// value will be replaced with "sensitive".
7119func (s AssessmentReportsDestination) String() string {
7120	return awsutil.Prettify(s)
7121}
7122
7123// GoString returns the string representation.
7124//
7125// API parameter values that are decorated as "sensitive" in the API will not
7126// be included in the string output. The member name will be present, but the
7127// value will be replaced with "sensitive".
7128func (s AssessmentReportsDestination) GoString() string {
7129	return s.String()
7130}
7131
7132// Validate inspects the fields of the type to determine if they are valid.
7133func (s *AssessmentReportsDestination) Validate() error {
7134	invalidParams := request.ErrInvalidParams{Context: "AssessmentReportsDestination"}
7135	if s.Destination != nil && len(*s.Destination) < 1 {
7136		invalidParams.Add(request.NewErrParamMinLen("Destination", 1))
7137	}
7138
7139	if invalidParams.Len() > 0 {
7140		return invalidParams
7141	}
7142	return nil
7143}
7144
7145// SetDestination sets the Destination field's value.
7146func (s *AssessmentReportsDestination) SetDestination(v string) *AssessmentReportsDestination {
7147	s.Destination = &v
7148	return s
7149}
7150
7151// SetDestinationType sets the DestinationType field's value.
7152func (s *AssessmentReportsDestination) SetDestinationType(v string) *AssessmentReportsDestination {
7153	s.DestinationType = &v
7154	return s
7155}
7156
7157type AssociateAssessmentReportEvidenceFolderInput struct {
7158	_ struct{} `type:"structure"`
7159
7160	// The identifier for the assessment.
7161	//
7162	// AssessmentId is a required field
7163	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7164
7165	// The identifier for the folder that the evidence is stored in.
7166	//
7167	// EvidenceFolderId is a required field
7168	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
7169}
7170
7171// String returns the string representation.
7172//
7173// API parameter values that are decorated as "sensitive" in the API will not
7174// be included in the string output. The member name will be present, but the
7175// value will be replaced with "sensitive".
7176func (s AssociateAssessmentReportEvidenceFolderInput) String() string {
7177	return awsutil.Prettify(s)
7178}
7179
7180// GoString returns the string representation.
7181//
7182// API parameter values that are decorated as "sensitive" in the API will not
7183// be included in the string output. The member name will be present, but the
7184// value will be replaced with "sensitive".
7185func (s AssociateAssessmentReportEvidenceFolderInput) GoString() string {
7186	return s.String()
7187}
7188
7189// Validate inspects the fields of the type to determine if they are valid.
7190func (s *AssociateAssessmentReportEvidenceFolderInput) Validate() error {
7191	invalidParams := request.ErrInvalidParams{Context: "AssociateAssessmentReportEvidenceFolderInput"}
7192	if s.AssessmentId == nil {
7193		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7194	}
7195	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7196		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7197	}
7198	if s.EvidenceFolderId == nil {
7199		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
7200	}
7201	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
7202		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
7203	}
7204
7205	if invalidParams.Len() > 0 {
7206		return invalidParams
7207	}
7208	return nil
7209}
7210
7211// SetAssessmentId sets the AssessmentId field's value.
7212func (s *AssociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *AssociateAssessmentReportEvidenceFolderInput {
7213	s.AssessmentId = &v
7214	return s
7215}
7216
7217// SetEvidenceFolderId sets the EvidenceFolderId field's value.
7218func (s *AssociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *AssociateAssessmentReportEvidenceFolderInput {
7219	s.EvidenceFolderId = &v
7220	return s
7221}
7222
7223type AssociateAssessmentReportEvidenceFolderOutput struct {
7224	_ struct{} `type:"structure"`
7225}
7226
7227// String returns the string representation.
7228//
7229// API parameter values that are decorated as "sensitive" in the API will not
7230// be included in the string output. The member name will be present, but the
7231// value will be replaced with "sensitive".
7232func (s AssociateAssessmentReportEvidenceFolderOutput) String() string {
7233	return awsutil.Prettify(s)
7234}
7235
7236// GoString returns the string representation.
7237//
7238// API parameter values that are decorated as "sensitive" in the API will not
7239// be included in the string output. The member name will be present, but the
7240// value will be replaced with "sensitive".
7241func (s AssociateAssessmentReportEvidenceFolderOutput) GoString() string {
7242	return s.String()
7243}
7244
7245type BatchAssociateAssessmentReportEvidenceInput struct {
7246	_ struct{} `type:"structure"`
7247
7248	// The identifier for the assessment.
7249	//
7250	// AssessmentId is a required field
7251	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7252
7253	// The identifier for the folder that the evidence is stored in.
7254	//
7255	// EvidenceFolderId is a required field
7256	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
7257
7258	// The list of evidence identifiers.
7259	//
7260	// EvidenceIds is a required field
7261	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
7262}
7263
7264// String returns the string representation.
7265//
7266// API parameter values that are decorated as "sensitive" in the API will not
7267// be included in the string output. The member name will be present, but the
7268// value will be replaced with "sensitive".
7269func (s BatchAssociateAssessmentReportEvidenceInput) String() string {
7270	return awsutil.Prettify(s)
7271}
7272
7273// GoString returns the string representation.
7274//
7275// API parameter values that are decorated as "sensitive" in the API will not
7276// be included in the string output. The member name will be present, but the
7277// value will be replaced with "sensitive".
7278func (s BatchAssociateAssessmentReportEvidenceInput) GoString() string {
7279	return s.String()
7280}
7281
7282// Validate inspects the fields of the type to determine if they are valid.
7283func (s *BatchAssociateAssessmentReportEvidenceInput) Validate() error {
7284	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateAssessmentReportEvidenceInput"}
7285	if s.AssessmentId == nil {
7286		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7287	}
7288	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7289		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7290	}
7291	if s.EvidenceFolderId == nil {
7292		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
7293	}
7294	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
7295		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
7296	}
7297	if s.EvidenceIds == nil {
7298		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
7299	}
7300
7301	if invalidParams.Len() > 0 {
7302		return invalidParams
7303	}
7304	return nil
7305}
7306
7307// SetAssessmentId sets the AssessmentId field's value.
7308func (s *BatchAssociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchAssociateAssessmentReportEvidenceInput {
7309	s.AssessmentId = &v
7310	return s
7311}
7312
7313// SetEvidenceFolderId sets the EvidenceFolderId field's value.
7314func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchAssociateAssessmentReportEvidenceInput {
7315	s.EvidenceFolderId = &v
7316	return s
7317}
7318
7319// SetEvidenceIds sets the EvidenceIds field's value.
7320func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceInput {
7321	s.EvidenceIds = v
7322	return s
7323}
7324
7325type BatchAssociateAssessmentReportEvidenceOutput struct {
7326	_ struct{} `type:"structure"`
7327
7328	// A list of errors that the BatchAssociateAssessmentReportEvidence API returned.
7329	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
7330
7331	// The list of evidence identifiers.
7332	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
7333}
7334
7335// String returns the string representation.
7336//
7337// API parameter values that are decorated as "sensitive" in the API will not
7338// be included in the string output. The member name will be present, but the
7339// value will be replaced with "sensitive".
7340func (s BatchAssociateAssessmentReportEvidenceOutput) String() string {
7341	return awsutil.Prettify(s)
7342}
7343
7344// GoString returns the string representation.
7345//
7346// API parameter values that are decorated as "sensitive" in the API will not
7347// be included in the string output. The member name will be present, but the
7348// value will be replaced with "sensitive".
7349func (s BatchAssociateAssessmentReportEvidenceOutput) GoString() string {
7350	return s.String()
7351}
7352
7353// SetErrors sets the Errors field's value.
7354func (s *BatchAssociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchAssociateAssessmentReportEvidenceOutput {
7355	s.Errors = v
7356	return s
7357}
7358
7359// SetEvidenceIds sets the EvidenceIds field's value.
7360func (s *BatchAssociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceOutput {
7361	s.EvidenceIds = v
7362	return s
7363}
7364
7365// An error entity for the BatchCreateDelegationByAssessment API. This is used
7366// to provide more meaningful errors than a simple string message.
7367type BatchCreateDelegationByAssessmentError struct {
7368	_ struct{} `type:"structure"`
7369
7370	// The API request to batch create delegations in Audit Manager.
7371	CreateDelegationRequest *CreateDelegationRequest `locationName:"createDelegationRequest" type:"structure"`
7372
7373	// The error code that the BatchCreateDelegationByAssessment API returned.
7374	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
7375
7376	// The error message that the BatchCreateDelegationByAssessment API returned.
7377	ErrorMessage *string `locationName:"errorMessage" type:"string"`
7378}
7379
7380// String returns the string representation.
7381//
7382// API parameter values that are decorated as "sensitive" in the API will not
7383// be included in the string output. The member name will be present, but the
7384// value will be replaced with "sensitive".
7385func (s BatchCreateDelegationByAssessmentError) String() string {
7386	return awsutil.Prettify(s)
7387}
7388
7389// GoString returns the string representation.
7390//
7391// API parameter values that are decorated as "sensitive" in the API will not
7392// be included in the string output. The member name will be present, but the
7393// value will be replaced with "sensitive".
7394func (s BatchCreateDelegationByAssessmentError) GoString() string {
7395	return s.String()
7396}
7397
7398// SetCreateDelegationRequest sets the CreateDelegationRequest field's value.
7399func (s *BatchCreateDelegationByAssessmentError) SetCreateDelegationRequest(v *CreateDelegationRequest) *BatchCreateDelegationByAssessmentError {
7400	s.CreateDelegationRequest = v
7401	return s
7402}
7403
7404// SetErrorCode sets the ErrorCode field's value.
7405func (s *BatchCreateDelegationByAssessmentError) SetErrorCode(v string) *BatchCreateDelegationByAssessmentError {
7406	s.ErrorCode = &v
7407	return s
7408}
7409
7410// SetErrorMessage sets the ErrorMessage field's value.
7411func (s *BatchCreateDelegationByAssessmentError) SetErrorMessage(v string) *BatchCreateDelegationByAssessmentError {
7412	s.ErrorMessage = &v
7413	return s
7414}
7415
7416type BatchCreateDelegationByAssessmentInput struct {
7417	_ struct{} `type:"structure"`
7418
7419	// The identifier for the assessment.
7420	//
7421	// AssessmentId is a required field
7422	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7423
7424	// The API request to batch create delegations in Audit Manager.
7425	//
7426	// CreateDelegationRequests is a required field
7427	CreateDelegationRequests []*CreateDelegationRequest `locationName:"createDelegationRequests" min:"1" type:"list" required:"true"`
7428}
7429
7430// String returns the string representation.
7431//
7432// API parameter values that are decorated as "sensitive" in the API will not
7433// be included in the string output. The member name will be present, but the
7434// value will be replaced with "sensitive".
7435func (s BatchCreateDelegationByAssessmentInput) String() string {
7436	return awsutil.Prettify(s)
7437}
7438
7439// GoString returns the string representation.
7440//
7441// API parameter values that are decorated as "sensitive" in the API will not
7442// be included in the string output. The member name will be present, but the
7443// value will be replaced with "sensitive".
7444func (s BatchCreateDelegationByAssessmentInput) GoString() string {
7445	return s.String()
7446}
7447
7448// Validate inspects the fields of the type to determine if they are valid.
7449func (s *BatchCreateDelegationByAssessmentInput) Validate() error {
7450	invalidParams := request.ErrInvalidParams{Context: "BatchCreateDelegationByAssessmentInput"}
7451	if s.AssessmentId == nil {
7452		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7453	}
7454	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7455		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7456	}
7457	if s.CreateDelegationRequests == nil {
7458		invalidParams.Add(request.NewErrParamRequired("CreateDelegationRequests"))
7459	}
7460	if s.CreateDelegationRequests != nil && len(s.CreateDelegationRequests) < 1 {
7461		invalidParams.Add(request.NewErrParamMinLen("CreateDelegationRequests", 1))
7462	}
7463	if s.CreateDelegationRequests != nil {
7464		for i, v := range s.CreateDelegationRequests {
7465			if v == nil {
7466				continue
7467			}
7468			if err := v.Validate(); err != nil {
7469				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDelegationRequests", i), err.(request.ErrInvalidParams))
7470			}
7471		}
7472	}
7473
7474	if invalidParams.Len() > 0 {
7475		return invalidParams
7476	}
7477	return nil
7478}
7479
7480// SetAssessmentId sets the AssessmentId field's value.
7481func (s *BatchCreateDelegationByAssessmentInput) SetAssessmentId(v string) *BatchCreateDelegationByAssessmentInput {
7482	s.AssessmentId = &v
7483	return s
7484}
7485
7486// SetCreateDelegationRequests sets the CreateDelegationRequests field's value.
7487func (s *BatchCreateDelegationByAssessmentInput) SetCreateDelegationRequests(v []*CreateDelegationRequest) *BatchCreateDelegationByAssessmentInput {
7488	s.CreateDelegationRequests = v
7489	return s
7490}
7491
7492type BatchCreateDelegationByAssessmentOutput struct {
7493	_ struct{} `type:"structure"`
7494
7495	// The delegations that are associated with the assessment.
7496	Delegations []*Delegation `locationName:"delegations" type:"list"`
7497
7498	// A list of errors that the BatchCreateDelegationByAssessment API returned.
7499	Errors []*BatchCreateDelegationByAssessmentError `locationName:"errors" type:"list"`
7500}
7501
7502// String returns the string representation.
7503//
7504// API parameter values that are decorated as "sensitive" in the API will not
7505// be included in the string output. The member name will be present, but the
7506// value will be replaced with "sensitive".
7507func (s BatchCreateDelegationByAssessmentOutput) String() string {
7508	return awsutil.Prettify(s)
7509}
7510
7511// GoString returns the string representation.
7512//
7513// API parameter values that are decorated as "sensitive" in the API will not
7514// be included in the string output. The member name will be present, but the
7515// value will be replaced with "sensitive".
7516func (s BatchCreateDelegationByAssessmentOutput) GoString() string {
7517	return s.String()
7518}
7519
7520// SetDelegations sets the Delegations field's value.
7521func (s *BatchCreateDelegationByAssessmentOutput) SetDelegations(v []*Delegation) *BatchCreateDelegationByAssessmentOutput {
7522	s.Delegations = v
7523	return s
7524}
7525
7526// SetErrors sets the Errors field's value.
7527func (s *BatchCreateDelegationByAssessmentOutput) SetErrors(v []*BatchCreateDelegationByAssessmentError) *BatchCreateDelegationByAssessmentOutput {
7528	s.Errors = v
7529	return s
7530}
7531
7532// An error entity for the BatchDeleteDelegationByAssessment API. This is used
7533// to provide more meaningful errors than a simple string message.
7534type BatchDeleteDelegationByAssessmentError struct {
7535	_ struct{} `type:"structure"`
7536
7537	// The identifier for the delegation.
7538	DelegationId *string `locationName:"delegationId" min:"36" type:"string"`
7539
7540	// The error code that the BatchDeleteDelegationByAssessment API returned.
7541	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
7542
7543	// The error message that the BatchDeleteDelegationByAssessment API returned.
7544	ErrorMessage *string `locationName:"errorMessage" type:"string"`
7545}
7546
7547// String returns the string representation.
7548//
7549// API parameter values that are decorated as "sensitive" in the API will not
7550// be included in the string output. The member name will be present, but the
7551// value will be replaced with "sensitive".
7552func (s BatchDeleteDelegationByAssessmentError) String() string {
7553	return awsutil.Prettify(s)
7554}
7555
7556// GoString returns the string representation.
7557//
7558// API parameter values that are decorated as "sensitive" in the API will not
7559// be included in the string output. The member name will be present, but the
7560// value will be replaced with "sensitive".
7561func (s BatchDeleteDelegationByAssessmentError) GoString() string {
7562	return s.String()
7563}
7564
7565// SetDelegationId sets the DelegationId field's value.
7566func (s *BatchDeleteDelegationByAssessmentError) SetDelegationId(v string) *BatchDeleteDelegationByAssessmentError {
7567	s.DelegationId = &v
7568	return s
7569}
7570
7571// SetErrorCode sets the ErrorCode field's value.
7572func (s *BatchDeleteDelegationByAssessmentError) SetErrorCode(v string) *BatchDeleteDelegationByAssessmentError {
7573	s.ErrorCode = &v
7574	return s
7575}
7576
7577// SetErrorMessage sets the ErrorMessage field's value.
7578func (s *BatchDeleteDelegationByAssessmentError) SetErrorMessage(v string) *BatchDeleteDelegationByAssessmentError {
7579	s.ErrorMessage = &v
7580	return s
7581}
7582
7583type BatchDeleteDelegationByAssessmentInput struct {
7584	_ struct{} `type:"structure"`
7585
7586	// The identifier for the assessment.
7587	//
7588	// AssessmentId is a required field
7589	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7590
7591	// The identifiers for the delegations.
7592	//
7593	// DelegationIds is a required field
7594	DelegationIds []*string `locationName:"delegationIds" min:"1" type:"list" required:"true"`
7595}
7596
7597// String returns the string representation.
7598//
7599// API parameter values that are decorated as "sensitive" in the API will not
7600// be included in the string output. The member name will be present, but the
7601// value will be replaced with "sensitive".
7602func (s BatchDeleteDelegationByAssessmentInput) String() string {
7603	return awsutil.Prettify(s)
7604}
7605
7606// GoString returns the string representation.
7607//
7608// API parameter values that are decorated as "sensitive" in the API will not
7609// be included in the string output. The member name will be present, but the
7610// value will be replaced with "sensitive".
7611func (s BatchDeleteDelegationByAssessmentInput) GoString() string {
7612	return s.String()
7613}
7614
7615// Validate inspects the fields of the type to determine if they are valid.
7616func (s *BatchDeleteDelegationByAssessmentInput) Validate() error {
7617	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDelegationByAssessmentInput"}
7618	if s.AssessmentId == nil {
7619		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7620	}
7621	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7622		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7623	}
7624	if s.DelegationIds == nil {
7625		invalidParams.Add(request.NewErrParamRequired("DelegationIds"))
7626	}
7627	if s.DelegationIds != nil && len(s.DelegationIds) < 1 {
7628		invalidParams.Add(request.NewErrParamMinLen("DelegationIds", 1))
7629	}
7630
7631	if invalidParams.Len() > 0 {
7632		return invalidParams
7633	}
7634	return nil
7635}
7636
7637// SetAssessmentId sets the AssessmentId field's value.
7638func (s *BatchDeleteDelegationByAssessmentInput) SetAssessmentId(v string) *BatchDeleteDelegationByAssessmentInput {
7639	s.AssessmentId = &v
7640	return s
7641}
7642
7643// SetDelegationIds sets the DelegationIds field's value.
7644func (s *BatchDeleteDelegationByAssessmentInput) SetDelegationIds(v []*string) *BatchDeleteDelegationByAssessmentInput {
7645	s.DelegationIds = v
7646	return s
7647}
7648
7649type BatchDeleteDelegationByAssessmentOutput struct {
7650	_ struct{} `type:"structure"`
7651
7652	// A list of errors that the BatchDeleteDelegationByAssessment API returned.
7653	Errors []*BatchDeleteDelegationByAssessmentError `locationName:"errors" type:"list"`
7654}
7655
7656// String returns the string representation.
7657//
7658// API parameter values that are decorated as "sensitive" in the API will not
7659// be included in the string output. The member name will be present, but the
7660// value will be replaced with "sensitive".
7661func (s BatchDeleteDelegationByAssessmentOutput) String() string {
7662	return awsutil.Prettify(s)
7663}
7664
7665// GoString returns the string representation.
7666//
7667// API parameter values that are decorated as "sensitive" in the API will not
7668// be included in the string output. The member name will be present, but the
7669// value will be replaced with "sensitive".
7670func (s BatchDeleteDelegationByAssessmentOutput) GoString() string {
7671	return s.String()
7672}
7673
7674// SetErrors sets the Errors field's value.
7675func (s *BatchDeleteDelegationByAssessmentOutput) SetErrors(v []*BatchDeleteDelegationByAssessmentError) *BatchDeleteDelegationByAssessmentOutput {
7676	s.Errors = v
7677	return s
7678}
7679
7680type BatchDisassociateAssessmentReportEvidenceInput struct {
7681	_ struct{} `type:"structure"`
7682
7683	// The identifier for the assessment.
7684	//
7685	// AssessmentId is a required field
7686	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7687
7688	// The identifier for the folder that the evidence is stored in.
7689	//
7690	// EvidenceFolderId is a required field
7691	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
7692
7693	// The list of evidence identifiers.
7694	//
7695	// EvidenceIds is a required field
7696	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
7697}
7698
7699// String returns the string representation.
7700//
7701// API parameter values that are decorated as "sensitive" in the API will not
7702// be included in the string output. The member name will be present, but the
7703// value will be replaced with "sensitive".
7704func (s BatchDisassociateAssessmentReportEvidenceInput) String() string {
7705	return awsutil.Prettify(s)
7706}
7707
7708// GoString returns the string representation.
7709//
7710// API parameter values that are decorated as "sensitive" in the API will not
7711// be included in the string output. The member name will be present, but the
7712// value will be replaced with "sensitive".
7713func (s BatchDisassociateAssessmentReportEvidenceInput) GoString() string {
7714	return s.String()
7715}
7716
7717// Validate inspects the fields of the type to determine if they are valid.
7718func (s *BatchDisassociateAssessmentReportEvidenceInput) Validate() error {
7719	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateAssessmentReportEvidenceInput"}
7720	if s.AssessmentId == nil {
7721		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7722	}
7723	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7724		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7725	}
7726	if s.EvidenceFolderId == nil {
7727		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
7728	}
7729	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
7730		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
7731	}
7732	if s.EvidenceIds == nil {
7733		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
7734	}
7735
7736	if invalidParams.Len() > 0 {
7737		return invalidParams
7738	}
7739	return nil
7740}
7741
7742// SetAssessmentId sets the AssessmentId field's value.
7743func (s *BatchDisassociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
7744	s.AssessmentId = &v
7745	return s
7746}
7747
7748// SetEvidenceFolderId sets the EvidenceFolderId field's value.
7749func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
7750	s.EvidenceFolderId = &v
7751	return s
7752}
7753
7754// SetEvidenceIds sets the EvidenceIds field's value.
7755func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceInput {
7756	s.EvidenceIds = v
7757	return s
7758}
7759
7760type BatchDisassociateAssessmentReportEvidenceOutput struct {
7761	_ struct{} `type:"structure"`
7762
7763	// A list of errors that the BatchDisassociateAssessmentReportEvidence API returned.
7764	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
7765
7766	// The identifier for the evidence.
7767	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
7768}
7769
7770// String returns the string representation.
7771//
7772// API parameter values that are decorated as "sensitive" in the API will not
7773// be included in the string output. The member name will be present, but the
7774// value will be replaced with "sensitive".
7775func (s BatchDisassociateAssessmentReportEvidenceOutput) String() string {
7776	return awsutil.Prettify(s)
7777}
7778
7779// GoString returns the string representation.
7780//
7781// API parameter values that are decorated as "sensitive" in the API will not
7782// be included in the string output. The member name will be present, but the
7783// value will be replaced with "sensitive".
7784func (s BatchDisassociateAssessmentReportEvidenceOutput) GoString() string {
7785	return s.String()
7786}
7787
7788// SetErrors sets the Errors field's value.
7789func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchDisassociateAssessmentReportEvidenceOutput {
7790	s.Errors = v
7791	return s
7792}
7793
7794// SetEvidenceIds sets the EvidenceIds field's value.
7795func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceOutput {
7796	s.EvidenceIds = v
7797	return s
7798}
7799
7800// An error entity for the BatchImportEvidenceToAssessmentControl API. This
7801// is used to provide more meaningful errors than a simple string message.
7802type BatchImportEvidenceToAssessmentControlError struct {
7803	_ struct{} `type:"structure"`
7804
7805	// The error code that the BatchImportEvidenceToAssessmentControl API returned.
7806	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
7807
7808	// The error message that the BatchImportEvidenceToAssessmentControl API returned.
7809	ErrorMessage *string `locationName:"errorMessage" type:"string"`
7810
7811	// Manual evidence that can't be collected automatically by Audit Manager.
7812	ManualEvidence *ManualEvidence `locationName:"manualEvidence" type:"structure"`
7813}
7814
7815// String returns the string representation.
7816//
7817// API parameter values that are decorated as "sensitive" in the API will not
7818// be included in the string output. The member name will be present, but the
7819// value will be replaced with "sensitive".
7820func (s BatchImportEvidenceToAssessmentControlError) String() string {
7821	return awsutil.Prettify(s)
7822}
7823
7824// GoString returns the string representation.
7825//
7826// API parameter values that are decorated as "sensitive" in the API will not
7827// be included in the string output. The member name will be present, but the
7828// value will be replaced with "sensitive".
7829func (s BatchImportEvidenceToAssessmentControlError) GoString() string {
7830	return s.String()
7831}
7832
7833// SetErrorCode sets the ErrorCode field's value.
7834func (s *BatchImportEvidenceToAssessmentControlError) SetErrorCode(v string) *BatchImportEvidenceToAssessmentControlError {
7835	s.ErrorCode = &v
7836	return s
7837}
7838
7839// SetErrorMessage sets the ErrorMessage field's value.
7840func (s *BatchImportEvidenceToAssessmentControlError) SetErrorMessage(v string) *BatchImportEvidenceToAssessmentControlError {
7841	s.ErrorMessage = &v
7842	return s
7843}
7844
7845// SetManualEvidence sets the ManualEvidence field's value.
7846func (s *BatchImportEvidenceToAssessmentControlError) SetManualEvidence(v *ManualEvidence) *BatchImportEvidenceToAssessmentControlError {
7847	s.ManualEvidence = v
7848	return s
7849}
7850
7851type BatchImportEvidenceToAssessmentControlInput struct {
7852	_ struct{} `type:"structure"`
7853
7854	// The identifier for the assessment.
7855	//
7856	// AssessmentId is a required field
7857	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7858
7859	// The identifier for the control.
7860	//
7861	// ControlId is a required field
7862	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
7863
7864	// The identifier for the control set.
7865	//
7866	// ControlSetId is a required field
7867	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
7868
7869	// The list of manual evidence objects.
7870	//
7871	// ManualEvidence is a required field
7872	ManualEvidence []*ManualEvidence `locationName:"manualEvidence" min:"1" type:"list" required:"true"`
7873}
7874
7875// String returns the string representation.
7876//
7877// API parameter values that are decorated as "sensitive" in the API will not
7878// be included in the string output. The member name will be present, but the
7879// value will be replaced with "sensitive".
7880func (s BatchImportEvidenceToAssessmentControlInput) String() string {
7881	return awsutil.Prettify(s)
7882}
7883
7884// GoString returns the string representation.
7885//
7886// API parameter values that are decorated as "sensitive" in the API will not
7887// be included in the string output. The member name will be present, but the
7888// value will be replaced with "sensitive".
7889func (s BatchImportEvidenceToAssessmentControlInput) GoString() string {
7890	return s.String()
7891}
7892
7893// Validate inspects the fields of the type to determine if they are valid.
7894func (s *BatchImportEvidenceToAssessmentControlInput) Validate() error {
7895	invalidParams := request.ErrInvalidParams{Context: "BatchImportEvidenceToAssessmentControlInput"}
7896	if s.AssessmentId == nil {
7897		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7898	}
7899	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7900		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7901	}
7902	if s.ControlId == nil {
7903		invalidParams.Add(request.NewErrParamRequired("ControlId"))
7904	}
7905	if s.ControlId != nil && len(*s.ControlId) < 36 {
7906		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
7907	}
7908	if s.ControlSetId == nil {
7909		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
7910	}
7911	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
7912		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
7913	}
7914	if s.ManualEvidence == nil {
7915		invalidParams.Add(request.NewErrParamRequired("ManualEvidence"))
7916	}
7917	if s.ManualEvidence != nil && len(s.ManualEvidence) < 1 {
7918		invalidParams.Add(request.NewErrParamMinLen("ManualEvidence", 1))
7919	}
7920	if s.ManualEvidence != nil {
7921		for i, v := range s.ManualEvidence {
7922			if v == nil {
7923				continue
7924			}
7925			if err := v.Validate(); err != nil {
7926				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManualEvidence", i), err.(request.ErrInvalidParams))
7927			}
7928		}
7929	}
7930
7931	if invalidParams.Len() > 0 {
7932		return invalidParams
7933	}
7934	return nil
7935}
7936
7937// SetAssessmentId sets the AssessmentId field's value.
7938func (s *BatchImportEvidenceToAssessmentControlInput) SetAssessmentId(v string) *BatchImportEvidenceToAssessmentControlInput {
7939	s.AssessmentId = &v
7940	return s
7941}
7942
7943// SetControlId sets the ControlId field's value.
7944func (s *BatchImportEvidenceToAssessmentControlInput) SetControlId(v string) *BatchImportEvidenceToAssessmentControlInput {
7945	s.ControlId = &v
7946	return s
7947}
7948
7949// SetControlSetId sets the ControlSetId field's value.
7950func (s *BatchImportEvidenceToAssessmentControlInput) SetControlSetId(v string) *BatchImportEvidenceToAssessmentControlInput {
7951	s.ControlSetId = &v
7952	return s
7953}
7954
7955// SetManualEvidence sets the ManualEvidence field's value.
7956func (s *BatchImportEvidenceToAssessmentControlInput) SetManualEvidence(v []*ManualEvidence) *BatchImportEvidenceToAssessmentControlInput {
7957	s.ManualEvidence = v
7958	return s
7959}
7960
7961type BatchImportEvidenceToAssessmentControlOutput struct {
7962	_ struct{} `type:"structure"`
7963
7964	// A list of errors that the BatchImportEvidenceToAssessmentControl API returned.
7965	Errors []*BatchImportEvidenceToAssessmentControlError `locationName:"errors" type:"list"`
7966}
7967
7968// String returns the string representation.
7969//
7970// API parameter values that are decorated as "sensitive" in the API will not
7971// be included in the string output. The member name will be present, but the
7972// value will be replaced with "sensitive".
7973func (s BatchImportEvidenceToAssessmentControlOutput) String() string {
7974	return awsutil.Prettify(s)
7975}
7976
7977// GoString returns the string representation.
7978//
7979// API parameter values that are decorated as "sensitive" in the API will not
7980// be included in the string output. The member name will be present, but the
7981// value will be replaced with "sensitive".
7982func (s BatchImportEvidenceToAssessmentControlOutput) GoString() string {
7983	return s.String()
7984}
7985
7986// SetErrors sets the Errors field's value.
7987func (s *BatchImportEvidenceToAssessmentControlOutput) SetErrors(v []*BatchImportEvidenceToAssessmentControlError) *BatchImportEvidenceToAssessmentControlOutput {
7988	s.Errors = v
7989	return s
7990}
7991
7992// The record of a change within Audit Manager. For example, this could be the
7993// status change of an assessment or the delegation of a control set.
7994type ChangeLog struct {
7995	_ struct{} `type:"structure"`
7996
7997	// The action that was performed.
7998	Action *string `locationName:"action" type:"string" enum:"ActionEnum"`
7999
8000	// The time when the action was performed and the changelog record was created.
8001	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8002
8003	// The IAM user or role that performed the action.
8004	CreatedBy *string `locationName:"createdBy" min:"20" type:"string"`
8005
8006	// The name of the object that changed. This could be the name of an assessment,
8007	// control, or control set.
8008	ObjectName *string `locationName:"objectName" min:"1" type:"string"`
8009
8010	// The object that was changed, such as an assessment, control, or control set.
8011	ObjectType *string `locationName:"objectType" type:"string" enum:"ObjectTypeEnum"`
8012}
8013
8014// String returns the string representation.
8015//
8016// API parameter values that are decorated as "sensitive" in the API will not
8017// be included in the string output. The member name will be present, but the
8018// value will be replaced with "sensitive".
8019func (s ChangeLog) String() string {
8020	return awsutil.Prettify(s)
8021}
8022
8023// GoString returns the string representation.
8024//
8025// API parameter values that are decorated as "sensitive" in the API will not
8026// be included in the string output. The member name will be present, but the
8027// value will be replaced with "sensitive".
8028func (s ChangeLog) GoString() string {
8029	return s.String()
8030}
8031
8032// SetAction sets the Action field's value.
8033func (s *ChangeLog) SetAction(v string) *ChangeLog {
8034	s.Action = &v
8035	return s
8036}
8037
8038// SetCreatedAt sets the CreatedAt field's value.
8039func (s *ChangeLog) SetCreatedAt(v time.Time) *ChangeLog {
8040	s.CreatedAt = &v
8041	return s
8042}
8043
8044// SetCreatedBy sets the CreatedBy field's value.
8045func (s *ChangeLog) SetCreatedBy(v string) *ChangeLog {
8046	s.CreatedBy = &v
8047	return s
8048}
8049
8050// SetObjectName sets the ObjectName field's value.
8051func (s *ChangeLog) SetObjectName(v string) *ChangeLog {
8052	s.ObjectName = &v
8053	return s
8054}
8055
8056// SetObjectType sets the ObjectType field's value.
8057func (s *ChangeLog) SetObjectType(v string) *ChangeLog {
8058	s.ObjectType = &v
8059	return s
8060}
8061
8062// A control in Audit Manager.
8063type Control struct {
8064	_ struct{} `type:"structure"`
8065
8066	// The recommended actions to carry out if the control isn't fulfilled.
8067	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
8068
8069	// The title of the action plan for remediating the control.
8070	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
8071
8072	// The Amazon Resource Name (ARN) of the control.
8073	Arn *string `locationName:"arn" min:"20" type:"string"`
8074
8075	// The data mapping sources for the control.
8076	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list"`
8077
8078	// The data source that determines where Audit Manager collects evidence from
8079	// for the control.
8080	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
8081
8082	// Specifies when the control was created.
8083	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8084
8085	// The IAM user or role that created the control.
8086	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
8087
8088	// The description of the control.
8089	Description *string `locationName:"description" type:"string"`
8090
8091	// The unique identifier for the control.
8092	Id *string `locationName:"id" min:"36" type:"string"`
8093
8094	// Specifies when the control was most recently updated.
8095	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
8096
8097	// The IAM user or role that most recently updated the control.
8098	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
8099
8100	// The name of the control.
8101	Name *string `locationName:"name" min:"1" type:"string"`
8102
8103	// The tags associated with the control.
8104	Tags map[string]*string `locationName:"tags" type:"map"`
8105
8106	// The steps that you should follow to determine if the control has been satisfied.
8107	TestingInformation *string `locationName:"testingInformation" type:"string"`
8108
8109	// The type of control, such as a custom control or a standard control.
8110	Type *string `locationName:"type" type:"string" enum:"ControlType"`
8111}
8112
8113// String returns the string representation.
8114//
8115// API parameter values that are decorated as "sensitive" in the API will not
8116// be included in the string output. The member name will be present, but the
8117// value will be replaced with "sensitive".
8118func (s Control) String() string {
8119	return awsutil.Prettify(s)
8120}
8121
8122// GoString returns the string representation.
8123//
8124// API parameter values that are decorated as "sensitive" in the API will not
8125// be included in the string output. The member name will be present, but the
8126// value will be replaced with "sensitive".
8127func (s Control) GoString() string {
8128	return s.String()
8129}
8130
8131// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
8132func (s *Control) SetActionPlanInstructions(v string) *Control {
8133	s.ActionPlanInstructions = &v
8134	return s
8135}
8136
8137// SetActionPlanTitle sets the ActionPlanTitle field's value.
8138func (s *Control) SetActionPlanTitle(v string) *Control {
8139	s.ActionPlanTitle = &v
8140	return s
8141}
8142
8143// SetArn sets the Arn field's value.
8144func (s *Control) SetArn(v string) *Control {
8145	s.Arn = &v
8146	return s
8147}
8148
8149// SetControlMappingSources sets the ControlMappingSources field's value.
8150func (s *Control) SetControlMappingSources(v []*ControlMappingSource) *Control {
8151	s.ControlMappingSources = v
8152	return s
8153}
8154
8155// SetControlSources sets the ControlSources field's value.
8156func (s *Control) SetControlSources(v string) *Control {
8157	s.ControlSources = &v
8158	return s
8159}
8160
8161// SetCreatedAt sets the CreatedAt field's value.
8162func (s *Control) SetCreatedAt(v time.Time) *Control {
8163	s.CreatedAt = &v
8164	return s
8165}
8166
8167// SetCreatedBy sets the CreatedBy field's value.
8168func (s *Control) SetCreatedBy(v string) *Control {
8169	s.CreatedBy = &v
8170	return s
8171}
8172
8173// SetDescription sets the Description field's value.
8174func (s *Control) SetDescription(v string) *Control {
8175	s.Description = &v
8176	return s
8177}
8178
8179// SetId sets the Id field's value.
8180func (s *Control) SetId(v string) *Control {
8181	s.Id = &v
8182	return s
8183}
8184
8185// SetLastUpdatedAt sets the LastUpdatedAt field's value.
8186func (s *Control) SetLastUpdatedAt(v time.Time) *Control {
8187	s.LastUpdatedAt = &v
8188	return s
8189}
8190
8191// SetLastUpdatedBy sets the LastUpdatedBy field's value.
8192func (s *Control) SetLastUpdatedBy(v string) *Control {
8193	s.LastUpdatedBy = &v
8194	return s
8195}
8196
8197// SetName sets the Name field's value.
8198func (s *Control) SetName(v string) *Control {
8199	s.Name = &v
8200	return s
8201}
8202
8203// SetTags sets the Tags field's value.
8204func (s *Control) SetTags(v map[string]*string) *Control {
8205	s.Tags = v
8206	return s
8207}
8208
8209// SetTestingInformation sets the TestingInformation field's value.
8210func (s *Control) SetTestingInformation(v string) *Control {
8211	s.TestingInformation = &v
8212	return s
8213}
8214
8215// SetType sets the Type field's value.
8216func (s *Control) SetType(v string) *Control {
8217	s.Type = &v
8218	return s
8219}
8220
8221// A comment that's posted by a user on a control. This includes the author's
8222// name, the comment text, and a timestamp.
8223type ControlComment struct {
8224	_ struct{} `type:"structure"`
8225
8226	// The name of the user who authored the comment.
8227	AuthorName *string `locationName:"authorName" min:"1" type:"string"`
8228
8229	// The body text of a control comment.
8230	CommentBody *string `locationName:"commentBody" type:"string"`
8231
8232	// The time when the comment was posted.
8233	PostedDate *time.Time `locationName:"postedDate" type:"timestamp"`
8234}
8235
8236// String returns the string representation.
8237//
8238// API parameter values that are decorated as "sensitive" in the API will not
8239// be included in the string output. The member name will be present, but the
8240// value will be replaced with "sensitive".
8241func (s ControlComment) String() string {
8242	return awsutil.Prettify(s)
8243}
8244
8245// GoString returns the string representation.
8246//
8247// API parameter values that are decorated as "sensitive" in the API will not
8248// be included in the string output. The member name will be present, but the
8249// value will be replaced with "sensitive".
8250func (s ControlComment) GoString() string {
8251	return s.String()
8252}
8253
8254// SetAuthorName sets the AuthorName field's value.
8255func (s *ControlComment) SetAuthorName(v string) *ControlComment {
8256	s.AuthorName = &v
8257	return s
8258}
8259
8260// SetCommentBody sets the CommentBody field's value.
8261func (s *ControlComment) SetCommentBody(v string) *ControlComment {
8262	s.CommentBody = &v
8263	return s
8264}
8265
8266// SetPostedDate sets the PostedDate field's value.
8267func (s *ControlComment) SetPostedDate(v time.Time) *ControlComment {
8268	s.PostedDate = &v
8269	return s
8270}
8271
8272// The data source that determines where Audit Manager collects evidence from
8273// for the control.
8274type ControlMappingSource struct {
8275	_ struct{} `type:"structure"`
8276
8277	// The description of the source.
8278	SourceDescription *string `locationName:"sourceDescription" type:"string"`
8279
8280	// The frequency of evidence collection for the control mapping source.
8281	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
8282
8283	// The unique identifier for the source.
8284	SourceId *string `locationName:"sourceId" min:"36" type:"string"`
8285
8286	// The keyword to search for in CloudTrail logs, Config rules, Security Hub
8287	// checks, and Amazon Web Services API names.
8288	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
8289
8290	// The name of the source.
8291	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
8292
8293	// The setup option for the data source. This option reflects if the evidence
8294	// collection is automated or manual.
8295	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
8296
8297	// Specifies one of the five types of data sources for evidence collection.
8298	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
8299
8300	// The instructions for troubleshooting the control.
8301	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
8302}
8303
8304// String returns the string representation.
8305//
8306// API parameter values that are decorated as "sensitive" in the API will not
8307// be included in the string output. The member name will be present, but the
8308// value will be replaced with "sensitive".
8309func (s ControlMappingSource) String() string {
8310	return awsutil.Prettify(s)
8311}
8312
8313// GoString returns the string representation.
8314//
8315// API parameter values that are decorated as "sensitive" in the API will not
8316// be included in the string output. The member name will be present, but the
8317// value will be replaced with "sensitive".
8318func (s ControlMappingSource) GoString() string {
8319	return s.String()
8320}
8321
8322// Validate inspects the fields of the type to determine if they are valid.
8323func (s *ControlMappingSource) Validate() error {
8324	invalidParams := request.ErrInvalidParams{Context: "ControlMappingSource"}
8325	if s.SourceId != nil && len(*s.SourceId) < 36 {
8326		invalidParams.Add(request.NewErrParamMinLen("SourceId", 36))
8327	}
8328	if s.SourceName != nil && len(*s.SourceName) < 1 {
8329		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
8330	}
8331	if s.SourceKeyword != nil {
8332		if err := s.SourceKeyword.Validate(); err != nil {
8333			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
8334		}
8335	}
8336
8337	if invalidParams.Len() > 0 {
8338		return invalidParams
8339	}
8340	return nil
8341}
8342
8343// SetSourceDescription sets the SourceDescription field's value.
8344func (s *ControlMappingSource) SetSourceDescription(v string) *ControlMappingSource {
8345	s.SourceDescription = &v
8346	return s
8347}
8348
8349// SetSourceFrequency sets the SourceFrequency field's value.
8350func (s *ControlMappingSource) SetSourceFrequency(v string) *ControlMappingSource {
8351	s.SourceFrequency = &v
8352	return s
8353}
8354
8355// SetSourceId sets the SourceId field's value.
8356func (s *ControlMappingSource) SetSourceId(v string) *ControlMappingSource {
8357	s.SourceId = &v
8358	return s
8359}
8360
8361// SetSourceKeyword sets the SourceKeyword field's value.
8362func (s *ControlMappingSource) SetSourceKeyword(v *SourceKeyword) *ControlMappingSource {
8363	s.SourceKeyword = v
8364	return s
8365}
8366
8367// SetSourceName sets the SourceName field's value.
8368func (s *ControlMappingSource) SetSourceName(v string) *ControlMappingSource {
8369	s.SourceName = &v
8370	return s
8371}
8372
8373// SetSourceSetUpOption sets the SourceSetUpOption field's value.
8374func (s *ControlMappingSource) SetSourceSetUpOption(v string) *ControlMappingSource {
8375	s.SourceSetUpOption = &v
8376	return s
8377}
8378
8379// SetSourceType sets the SourceType field's value.
8380func (s *ControlMappingSource) SetSourceType(v string) *ControlMappingSource {
8381	s.SourceType = &v
8382	return s
8383}
8384
8385// SetTroubleshootingText sets the TroubleshootingText field's value.
8386func (s *ControlMappingSource) SetTroubleshootingText(v string) *ControlMappingSource {
8387	s.TroubleshootingText = &v
8388	return s
8389}
8390
8391// The metadata that's associated with the standard control or custom control.
8392type ControlMetadata struct {
8393	_ struct{} `type:"structure"`
8394
8395	// The Amazon Resource Name (ARN) of the control.
8396	Arn *string `locationName:"arn" min:"20" type:"string"`
8397
8398	// The data source that determines where Audit Manager collects evidence from
8399	// for the control.
8400	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
8401
8402	// Specifies when the control was created.
8403	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8404
8405	// The unique identifier for the control.
8406	Id *string `locationName:"id" min:"36" type:"string"`
8407
8408	// Specifies when the control was most recently updated.
8409	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
8410
8411	// The name of the control.
8412	Name *string `locationName:"name" min:"1" type:"string"`
8413}
8414
8415// String returns the string representation.
8416//
8417// API parameter values that are decorated as "sensitive" in the API will not
8418// be included in the string output. The member name will be present, but the
8419// value will be replaced with "sensitive".
8420func (s ControlMetadata) String() string {
8421	return awsutil.Prettify(s)
8422}
8423
8424// GoString returns the string representation.
8425//
8426// API parameter values that are decorated as "sensitive" in the API will not
8427// be included in the string output. The member name will be present, but the
8428// value will be replaced with "sensitive".
8429func (s ControlMetadata) GoString() string {
8430	return s.String()
8431}
8432
8433// SetArn sets the Arn field's value.
8434func (s *ControlMetadata) SetArn(v string) *ControlMetadata {
8435	s.Arn = &v
8436	return s
8437}
8438
8439// SetControlSources sets the ControlSources field's value.
8440func (s *ControlMetadata) SetControlSources(v string) *ControlMetadata {
8441	s.ControlSources = &v
8442	return s
8443}
8444
8445// SetCreatedAt sets the CreatedAt field's value.
8446func (s *ControlMetadata) SetCreatedAt(v time.Time) *ControlMetadata {
8447	s.CreatedAt = &v
8448	return s
8449}
8450
8451// SetId sets the Id field's value.
8452func (s *ControlMetadata) SetId(v string) *ControlMetadata {
8453	s.Id = &v
8454	return s
8455}
8456
8457// SetLastUpdatedAt sets the LastUpdatedAt field's value.
8458func (s *ControlMetadata) SetLastUpdatedAt(v time.Time) *ControlMetadata {
8459	s.LastUpdatedAt = &v
8460	return s
8461}
8462
8463// SetName sets the Name field's value.
8464func (s *ControlMetadata) SetName(v string) *ControlMetadata {
8465	s.Name = &v
8466	return s
8467}
8468
8469// A set of controls in Audit Manager.
8470type ControlSet struct {
8471	_ struct{} `type:"structure"`
8472
8473	// The list of controls within the control set.
8474	Controls []*Control `locationName:"controls" min:"1" type:"list"`
8475
8476	// The identifier of the control set in the assessment. This is the control
8477	// set name in a plain string format.
8478	Id *string `locationName:"id" min:"36" type:"string"`
8479
8480	// The name of the control set.
8481	Name *string `locationName:"name" min:"1" type:"string"`
8482}
8483
8484// String returns the string representation.
8485//
8486// API parameter values that are decorated as "sensitive" in the API will not
8487// be included in the string output. The member name will be present, but the
8488// value will be replaced with "sensitive".
8489func (s ControlSet) String() string {
8490	return awsutil.Prettify(s)
8491}
8492
8493// GoString returns the string representation.
8494//
8495// API parameter values that are decorated as "sensitive" in the API will not
8496// be included in the string output. The member name will be present, but the
8497// value will be replaced with "sensitive".
8498func (s ControlSet) GoString() string {
8499	return s.String()
8500}
8501
8502// SetControls sets the Controls field's value.
8503func (s *ControlSet) SetControls(v []*Control) *ControlSet {
8504	s.Controls = v
8505	return s
8506}
8507
8508// SetId sets the Id field's value.
8509func (s *ControlSet) SetId(v string) *ControlSet {
8510	s.Id = &v
8511	return s
8512}
8513
8514// SetName sets the Name field's value.
8515func (s *ControlSet) SetName(v string) *ControlSet {
8516	s.Name = &v
8517	return s
8518}
8519
8520// The control entity attributes that uniquely identify an existing control
8521// to be added to a framework in Audit Manager.
8522type CreateAssessmentFrameworkControl struct {
8523	_ struct{} `type:"structure"`
8524
8525	// The unique identifier of the control.
8526	Id *string `locationName:"id" min:"36" type:"string"`
8527}
8528
8529// String returns the string representation.
8530//
8531// API parameter values that are decorated as "sensitive" in the API will not
8532// be included in the string output. The member name will be present, but the
8533// value will be replaced with "sensitive".
8534func (s CreateAssessmentFrameworkControl) String() string {
8535	return awsutil.Prettify(s)
8536}
8537
8538// GoString returns the string representation.
8539//
8540// API parameter values that are decorated as "sensitive" in the API will not
8541// be included in the string output. The member name will be present, but the
8542// value will be replaced with "sensitive".
8543func (s CreateAssessmentFrameworkControl) GoString() string {
8544	return s.String()
8545}
8546
8547// Validate inspects the fields of the type to determine if they are valid.
8548func (s *CreateAssessmentFrameworkControl) Validate() error {
8549	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControl"}
8550	if s.Id != nil && len(*s.Id) < 36 {
8551		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
8552	}
8553
8554	if invalidParams.Len() > 0 {
8555		return invalidParams
8556	}
8557	return nil
8558}
8559
8560// SetId sets the Id field's value.
8561func (s *CreateAssessmentFrameworkControl) SetId(v string) *CreateAssessmentFrameworkControl {
8562	s.Id = &v
8563	return s
8564}
8565
8566// A controlSet entity that represents a collection of controls in Audit Manager.
8567// This doesn't contain the control set ID.
8568type CreateAssessmentFrameworkControlSet struct {
8569	_ struct{} `type:"structure"`
8570
8571	// The list of controls within the control set. This doesn't contain the control
8572	// set ID.
8573	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
8574
8575	// The name of the control set.
8576	//
8577	// Name is a required field
8578	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8579}
8580
8581// String returns the string representation.
8582//
8583// API parameter values that are decorated as "sensitive" in the API will not
8584// be included in the string output. The member name will be present, but the
8585// value will be replaced with "sensitive".
8586func (s CreateAssessmentFrameworkControlSet) String() string {
8587	return awsutil.Prettify(s)
8588}
8589
8590// GoString returns the string representation.
8591//
8592// API parameter values that are decorated as "sensitive" in the API will not
8593// be included in the string output. The member name will be present, but the
8594// value will be replaced with "sensitive".
8595func (s CreateAssessmentFrameworkControlSet) GoString() string {
8596	return s.String()
8597}
8598
8599// Validate inspects the fields of the type to determine if they are valid.
8600func (s *CreateAssessmentFrameworkControlSet) Validate() error {
8601	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControlSet"}
8602	if s.Controls != nil && len(s.Controls) < 1 {
8603		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
8604	}
8605	if s.Name == nil {
8606		invalidParams.Add(request.NewErrParamRequired("Name"))
8607	}
8608	if s.Name != nil && len(*s.Name) < 1 {
8609		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8610	}
8611	if s.Controls != nil {
8612		for i, v := range s.Controls {
8613			if v == nil {
8614				continue
8615			}
8616			if err := v.Validate(); err != nil {
8617				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
8618			}
8619		}
8620	}
8621
8622	if invalidParams.Len() > 0 {
8623		return invalidParams
8624	}
8625	return nil
8626}
8627
8628// SetControls sets the Controls field's value.
8629func (s *CreateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *CreateAssessmentFrameworkControlSet {
8630	s.Controls = v
8631	return s
8632}
8633
8634// SetName sets the Name field's value.
8635func (s *CreateAssessmentFrameworkControlSet) SetName(v string) *CreateAssessmentFrameworkControlSet {
8636	s.Name = &v
8637	return s
8638}
8639
8640type CreateAssessmentFrameworkInput struct {
8641	_ struct{} `type:"structure"`
8642
8643	// The compliance type that the new custom framework supports, such as CIS or
8644	// HIPAA.
8645	ComplianceType *string `locationName:"complianceType" type:"string"`
8646
8647	// The control sets that are associated with the framework.
8648	//
8649	// ControlSets is a required field
8650	ControlSets []*CreateAssessmentFrameworkControlSet `locationName:"controlSets" min:"1" type:"list" required:"true"`
8651
8652	// An optional description for the new custom framework.
8653	Description *string `locationName:"description" min:"1" type:"string"`
8654
8655	// The name of the new custom framework.
8656	//
8657	// Name is a required field
8658	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8659
8660	// The tags that are associated with the framework.
8661	Tags map[string]*string `locationName:"tags" type:"map"`
8662}
8663
8664// String returns the string representation.
8665//
8666// API parameter values that are decorated as "sensitive" in the API will not
8667// be included in the string output. The member name will be present, but the
8668// value will be replaced with "sensitive".
8669func (s CreateAssessmentFrameworkInput) String() string {
8670	return awsutil.Prettify(s)
8671}
8672
8673// GoString returns the string representation.
8674//
8675// API parameter values that are decorated as "sensitive" in the API will not
8676// be included in the string output. The member name will be present, but the
8677// value will be replaced with "sensitive".
8678func (s CreateAssessmentFrameworkInput) GoString() string {
8679	return s.String()
8680}
8681
8682// Validate inspects the fields of the type to determine if they are valid.
8683func (s *CreateAssessmentFrameworkInput) Validate() error {
8684	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkInput"}
8685	if s.ControlSets == nil {
8686		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
8687	}
8688	if s.ControlSets != nil && len(s.ControlSets) < 1 {
8689		invalidParams.Add(request.NewErrParamMinLen("ControlSets", 1))
8690	}
8691	if s.Description != nil && len(*s.Description) < 1 {
8692		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
8693	}
8694	if s.Name == nil {
8695		invalidParams.Add(request.NewErrParamRequired("Name"))
8696	}
8697	if s.Name != nil && len(*s.Name) < 1 {
8698		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8699	}
8700	if s.ControlSets != nil {
8701		for i, v := range s.ControlSets {
8702			if v == nil {
8703				continue
8704			}
8705			if err := v.Validate(); err != nil {
8706				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
8707			}
8708		}
8709	}
8710
8711	if invalidParams.Len() > 0 {
8712		return invalidParams
8713	}
8714	return nil
8715}
8716
8717// SetComplianceType sets the ComplianceType field's value.
8718func (s *CreateAssessmentFrameworkInput) SetComplianceType(v string) *CreateAssessmentFrameworkInput {
8719	s.ComplianceType = &v
8720	return s
8721}
8722
8723// SetControlSets sets the ControlSets field's value.
8724func (s *CreateAssessmentFrameworkInput) SetControlSets(v []*CreateAssessmentFrameworkControlSet) *CreateAssessmentFrameworkInput {
8725	s.ControlSets = v
8726	return s
8727}
8728
8729// SetDescription sets the Description field's value.
8730func (s *CreateAssessmentFrameworkInput) SetDescription(v string) *CreateAssessmentFrameworkInput {
8731	s.Description = &v
8732	return s
8733}
8734
8735// SetName sets the Name field's value.
8736func (s *CreateAssessmentFrameworkInput) SetName(v string) *CreateAssessmentFrameworkInput {
8737	s.Name = &v
8738	return s
8739}
8740
8741// SetTags sets the Tags field's value.
8742func (s *CreateAssessmentFrameworkInput) SetTags(v map[string]*string) *CreateAssessmentFrameworkInput {
8743	s.Tags = v
8744	return s
8745}
8746
8747type CreateAssessmentFrameworkOutput struct {
8748	_ struct{} `type:"structure"`
8749
8750	// The name of the new framework that the CreateAssessmentFramework API returned.
8751	Framework *Framework `locationName:"framework" type:"structure"`
8752}
8753
8754// String returns the string representation.
8755//
8756// API parameter values that are decorated as "sensitive" in the API will not
8757// be included in the string output. The member name will be present, but the
8758// value will be replaced with "sensitive".
8759func (s CreateAssessmentFrameworkOutput) String() string {
8760	return awsutil.Prettify(s)
8761}
8762
8763// GoString returns the string representation.
8764//
8765// API parameter values that are decorated as "sensitive" in the API will not
8766// be included in the string output. The member name will be present, but the
8767// value will be replaced with "sensitive".
8768func (s CreateAssessmentFrameworkOutput) GoString() string {
8769	return s.String()
8770}
8771
8772// SetFramework sets the Framework field's value.
8773func (s *CreateAssessmentFrameworkOutput) SetFramework(v *Framework) *CreateAssessmentFrameworkOutput {
8774	s.Framework = v
8775	return s
8776}
8777
8778type CreateAssessmentInput struct {
8779	_ struct{} `type:"structure"`
8780
8781	// The assessment report storage destination for the assessment that's being
8782	// created.
8783	//
8784	// AssessmentReportsDestination is a required field
8785	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure" required:"true"`
8786
8787	// The optional description of the assessment to be created.
8788	Description *string `locationName:"description" type:"string"`
8789
8790	// The identifier for the framework that the assessment will be created from.
8791	//
8792	// FrameworkId is a required field
8793	FrameworkId *string `locationName:"frameworkId" min:"36" type:"string" required:"true"`
8794
8795	// The name of the assessment to be created.
8796	//
8797	// Name is a required field
8798	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8799
8800	// The list of roles for the assessment.
8801	//
8802	// Roles is a required field
8803	Roles []*Role `locationName:"roles" type:"list" required:"true"`
8804
8805	// The wrapper that contains the Amazon Web Services accounts and services that
8806	// are in scope for the assessment.
8807	//
8808	// Scope is a required field
8809	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
8810
8811	// The tags that are associated with the assessment.
8812	Tags map[string]*string `locationName:"tags" type:"map"`
8813}
8814
8815// String returns the string representation.
8816//
8817// API parameter values that are decorated as "sensitive" in the API will not
8818// be included in the string output. The member name will be present, but the
8819// value will be replaced with "sensitive".
8820func (s CreateAssessmentInput) String() string {
8821	return awsutil.Prettify(s)
8822}
8823
8824// GoString returns the string representation.
8825//
8826// API parameter values that are decorated as "sensitive" in the API will not
8827// be included in the string output. The member name will be present, but the
8828// value will be replaced with "sensitive".
8829func (s CreateAssessmentInput) GoString() string {
8830	return s.String()
8831}
8832
8833// Validate inspects the fields of the type to determine if they are valid.
8834func (s *CreateAssessmentInput) Validate() error {
8835	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentInput"}
8836	if s.AssessmentReportsDestination == nil {
8837		invalidParams.Add(request.NewErrParamRequired("AssessmentReportsDestination"))
8838	}
8839	if s.FrameworkId == nil {
8840		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
8841	}
8842	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
8843		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
8844	}
8845	if s.Name == nil {
8846		invalidParams.Add(request.NewErrParamRequired("Name"))
8847	}
8848	if s.Name != nil && len(*s.Name) < 1 {
8849		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8850	}
8851	if s.Roles == nil {
8852		invalidParams.Add(request.NewErrParamRequired("Roles"))
8853	}
8854	if s.Scope == nil {
8855		invalidParams.Add(request.NewErrParamRequired("Scope"))
8856	}
8857	if s.AssessmentReportsDestination != nil {
8858		if err := s.AssessmentReportsDestination.Validate(); err != nil {
8859			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
8860		}
8861	}
8862	if s.Roles != nil {
8863		for i, v := range s.Roles {
8864			if v == nil {
8865				continue
8866			}
8867			if err := v.Validate(); err != nil {
8868				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
8869			}
8870		}
8871	}
8872	if s.Scope != nil {
8873		if err := s.Scope.Validate(); err != nil {
8874			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
8875		}
8876	}
8877
8878	if invalidParams.Len() > 0 {
8879		return invalidParams
8880	}
8881	return nil
8882}
8883
8884// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
8885func (s *CreateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *CreateAssessmentInput {
8886	s.AssessmentReportsDestination = v
8887	return s
8888}
8889
8890// SetDescription sets the Description field's value.
8891func (s *CreateAssessmentInput) SetDescription(v string) *CreateAssessmentInput {
8892	s.Description = &v
8893	return s
8894}
8895
8896// SetFrameworkId sets the FrameworkId field's value.
8897func (s *CreateAssessmentInput) SetFrameworkId(v string) *CreateAssessmentInput {
8898	s.FrameworkId = &v
8899	return s
8900}
8901
8902// SetName sets the Name field's value.
8903func (s *CreateAssessmentInput) SetName(v string) *CreateAssessmentInput {
8904	s.Name = &v
8905	return s
8906}
8907
8908// SetRoles sets the Roles field's value.
8909func (s *CreateAssessmentInput) SetRoles(v []*Role) *CreateAssessmentInput {
8910	s.Roles = v
8911	return s
8912}
8913
8914// SetScope sets the Scope field's value.
8915func (s *CreateAssessmentInput) SetScope(v *Scope) *CreateAssessmentInput {
8916	s.Scope = v
8917	return s
8918}
8919
8920// SetTags sets the Tags field's value.
8921func (s *CreateAssessmentInput) SetTags(v map[string]*string) *CreateAssessmentInput {
8922	s.Tags = v
8923	return s
8924}
8925
8926type CreateAssessmentOutput struct {
8927	_ struct{} `type:"structure"`
8928
8929	// An entity that defines the scope of audit evidence collected by Audit Manager.
8930	// An Audit Manager assessment is an implementation of an Audit Manager framework.
8931	Assessment *Assessment `locationName:"assessment" type:"structure"`
8932}
8933
8934// String returns the string representation.
8935//
8936// API parameter values that are decorated as "sensitive" in the API will not
8937// be included in the string output. The member name will be present, but the
8938// value will be replaced with "sensitive".
8939func (s CreateAssessmentOutput) String() string {
8940	return awsutil.Prettify(s)
8941}
8942
8943// GoString returns the string representation.
8944//
8945// API parameter values that are decorated as "sensitive" in the API will not
8946// be included in the string output. The member name will be present, but the
8947// value will be replaced with "sensitive".
8948func (s CreateAssessmentOutput) GoString() string {
8949	return s.String()
8950}
8951
8952// SetAssessment sets the Assessment field's value.
8953func (s *CreateAssessmentOutput) SetAssessment(v *Assessment) *CreateAssessmentOutput {
8954	s.Assessment = v
8955	return s
8956}
8957
8958type CreateAssessmentReportInput struct {
8959	_ struct{} `type:"structure"`
8960
8961	// The identifier for the assessment.
8962	//
8963	// AssessmentId is a required field
8964	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8965
8966	// The description of the assessment report.
8967	Description *string `locationName:"description" type:"string"`
8968
8969	// The name of the new assessment report.
8970	//
8971	// Name is a required field
8972	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8973}
8974
8975// String returns the string representation.
8976//
8977// API parameter values that are decorated as "sensitive" in the API will not
8978// be included in the string output. The member name will be present, but the
8979// value will be replaced with "sensitive".
8980func (s CreateAssessmentReportInput) String() string {
8981	return awsutil.Prettify(s)
8982}
8983
8984// GoString returns the string representation.
8985//
8986// API parameter values that are decorated as "sensitive" in the API will not
8987// be included in the string output. The member name will be present, but the
8988// value will be replaced with "sensitive".
8989func (s CreateAssessmentReportInput) GoString() string {
8990	return s.String()
8991}
8992
8993// Validate inspects the fields of the type to determine if they are valid.
8994func (s *CreateAssessmentReportInput) Validate() error {
8995	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentReportInput"}
8996	if s.AssessmentId == nil {
8997		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8998	}
8999	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9000		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9001	}
9002	if s.Name == nil {
9003		invalidParams.Add(request.NewErrParamRequired("Name"))
9004	}
9005	if s.Name != nil && len(*s.Name) < 1 {
9006		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9007	}
9008
9009	if invalidParams.Len() > 0 {
9010		return invalidParams
9011	}
9012	return nil
9013}
9014
9015// SetAssessmentId sets the AssessmentId field's value.
9016func (s *CreateAssessmentReportInput) SetAssessmentId(v string) *CreateAssessmentReportInput {
9017	s.AssessmentId = &v
9018	return s
9019}
9020
9021// SetDescription sets the Description field's value.
9022func (s *CreateAssessmentReportInput) SetDescription(v string) *CreateAssessmentReportInput {
9023	s.Description = &v
9024	return s
9025}
9026
9027// SetName sets the Name field's value.
9028func (s *CreateAssessmentReportInput) SetName(v string) *CreateAssessmentReportInput {
9029	s.Name = &v
9030	return s
9031}
9032
9033type CreateAssessmentReportOutput struct {
9034	_ struct{} `type:"structure"`
9035
9036	// The new assessment report that the CreateAssessmentReport API returned.
9037	AssessmentReport *AssessmentReport `locationName:"assessmentReport" type:"structure"`
9038}
9039
9040// String returns the string representation.
9041//
9042// API parameter values that are decorated as "sensitive" in the API will not
9043// be included in the string output. The member name will be present, but the
9044// value will be replaced with "sensitive".
9045func (s CreateAssessmentReportOutput) String() string {
9046	return awsutil.Prettify(s)
9047}
9048
9049// GoString returns the string representation.
9050//
9051// API parameter values that are decorated as "sensitive" in the API will not
9052// be included in the string output. The member name will be present, but the
9053// value will be replaced with "sensitive".
9054func (s CreateAssessmentReportOutput) GoString() string {
9055	return s.String()
9056}
9057
9058// SetAssessmentReport sets the AssessmentReport field's value.
9059func (s *CreateAssessmentReportOutput) SetAssessmentReport(v *AssessmentReport) *CreateAssessmentReportOutput {
9060	s.AssessmentReport = v
9061	return s
9062}
9063
9064type CreateControlInput struct {
9065	_ struct{} `type:"structure"`
9066
9067	// The recommended actions to carry out if the control isn't fulfilled.
9068	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
9069
9070	// The title of the action plan for remediating the control.
9071	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
9072
9073	// The data mapping sources for the control.
9074	//
9075	// ControlMappingSources is a required field
9076	ControlMappingSources []*CreateControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
9077
9078	// The description of the control.
9079	Description *string `locationName:"description" type:"string"`
9080
9081	// The name of the control.
9082	//
9083	// Name is a required field
9084	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9085
9086	// The tags that are associated with the control.
9087	Tags map[string]*string `locationName:"tags" type:"map"`
9088
9089	// The steps to follow to determine if the control is satisfied.
9090	TestingInformation *string `locationName:"testingInformation" type:"string"`
9091}
9092
9093// String returns the string representation.
9094//
9095// API parameter values that are decorated as "sensitive" in the API will not
9096// be included in the string output. The member name will be present, but the
9097// value will be replaced with "sensitive".
9098func (s CreateControlInput) String() string {
9099	return awsutil.Prettify(s)
9100}
9101
9102// GoString returns the string representation.
9103//
9104// API parameter values that are decorated as "sensitive" in the API will not
9105// be included in the string output. The member name will be present, but the
9106// value will be replaced with "sensitive".
9107func (s CreateControlInput) GoString() string {
9108	return s.String()
9109}
9110
9111// Validate inspects the fields of the type to determine if they are valid.
9112func (s *CreateControlInput) Validate() error {
9113	invalidParams := request.ErrInvalidParams{Context: "CreateControlInput"}
9114	if s.ControlMappingSources == nil {
9115		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
9116	}
9117	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
9118		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
9119	}
9120	if s.Name == nil {
9121		invalidParams.Add(request.NewErrParamRequired("Name"))
9122	}
9123	if s.Name != nil && len(*s.Name) < 1 {
9124		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9125	}
9126	if s.ControlMappingSources != nil {
9127		for i, v := range s.ControlMappingSources {
9128			if v == nil {
9129				continue
9130			}
9131			if err := v.Validate(); err != nil {
9132				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
9133			}
9134		}
9135	}
9136
9137	if invalidParams.Len() > 0 {
9138		return invalidParams
9139	}
9140	return nil
9141}
9142
9143// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
9144func (s *CreateControlInput) SetActionPlanInstructions(v string) *CreateControlInput {
9145	s.ActionPlanInstructions = &v
9146	return s
9147}
9148
9149// SetActionPlanTitle sets the ActionPlanTitle field's value.
9150func (s *CreateControlInput) SetActionPlanTitle(v string) *CreateControlInput {
9151	s.ActionPlanTitle = &v
9152	return s
9153}
9154
9155// SetControlMappingSources sets the ControlMappingSources field's value.
9156func (s *CreateControlInput) SetControlMappingSources(v []*CreateControlMappingSource) *CreateControlInput {
9157	s.ControlMappingSources = v
9158	return s
9159}
9160
9161// SetDescription sets the Description field's value.
9162func (s *CreateControlInput) SetDescription(v string) *CreateControlInput {
9163	s.Description = &v
9164	return s
9165}
9166
9167// SetName sets the Name field's value.
9168func (s *CreateControlInput) SetName(v string) *CreateControlInput {
9169	s.Name = &v
9170	return s
9171}
9172
9173// SetTags sets the Tags field's value.
9174func (s *CreateControlInput) SetTags(v map[string]*string) *CreateControlInput {
9175	s.Tags = v
9176	return s
9177}
9178
9179// SetTestingInformation sets the TestingInformation field's value.
9180func (s *CreateControlInput) SetTestingInformation(v string) *CreateControlInput {
9181	s.TestingInformation = &v
9182	return s
9183}
9184
9185// The control mapping fields that represent the source for evidence collection,
9186// along with related parameters and metadata. This doesn't contain mappingID.
9187type CreateControlMappingSource struct {
9188	_ struct{} `type:"structure"`
9189
9190	// The description of the data source that determines where Audit Manager collects
9191	// evidence from for the control.
9192	SourceDescription *string `locationName:"sourceDescription" type:"string"`
9193
9194	// The frequency of evidence collection for the control mapping source.
9195	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
9196
9197	// The keyword to search for in CloudTrail logs, Config rules, Security Hub
9198	// checks, and Amazon Web Services API names.
9199	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
9200
9201	// The name of the control mapping data source.
9202	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
9203
9204	// The setup option for the data source, which reflects if the evidence collection
9205	// is automated or manual.
9206	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
9207
9208	// Specifies one of the five types of data sources for evidence collection.
9209	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
9210
9211	// The instructions for troubleshooting the control.
9212	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
9213}
9214
9215// String returns the string representation.
9216//
9217// API parameter values that are decorated as "sensitive" in the API will not
9218// be included in the string output. The member name will be present, but the
9219// value will be replaced with "sensitive".
9220func (s CreateControlMappingSource) String() string {
9221	return awsutil.Prettify(s)
9222}
9223
9224// GoString returns the string representation.
9225//
9226// API parameter values that are decorated as "sensitive" in the API will not
9227// be included in the string output. The member name will be present, but the
9228// value will be replaced with "sensitive".
9229func (s CreateControlMappingSource) GoString() string {
9230	return s.String()
9231}
9232
9233// Validate inspects the fields of the type to determine if they are valid.
9234func (s *CreateControlMappingSource) Validate() error {
9235	invalidParams := request.ErrInvalidParams{Context: "CreateControlMappingSource"}
9236	if s.SourceName != nil && len(*s.SourceName) < 1 {
9237		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
9238	}
9239	if s.SourceKeyword != nil {
9240		if err := s.SourceKeyword.Validate(); err != nil {
9241			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
9242		}
9243	}
9244
9245	if invalidParams.Len() > 0 {
9246		return invalidParams
9247	}
9248	return nil
9249}
9250
9251// SetSourceDescription sets the SourceDescription field's value.
9252func (s *CreateControlMappingSource) SetSourceDescription(v string) *CreateControlMappingSource {
9253	s.SourceDescription = &v
9254	return s
9255}
9256
9257// SetSourceFrequency sets the SourceFrequency field's value.
9258func (s *CreateControlMappingSource) SetSourceFrequency(v string) *CreateControlMappingSource {
9259	s.SourceFrequency = &v
9260	return s
9261}
9262
9263// SetSourceKeyword sets the SourceKeyword field's value.
9264func (s *CreateControlMappingSource) SetSourceKeyword(v *SourceKeyword) *CreateControlMappingSource {
9265	s.SourceKeyword = v
9266	return s
9267}
9268
9269// SetSourceName sets the SourceName field's value.
9270func (s *CreateControlMappingSource) SetSourceName(v string) *CreateControlMappingSource {
9271	s.SourceName = &v
9272	return s
9273}
9274
9275// SetSourceSetUpOption sets the SourceSetUpOption field's value.
9276func (s *CreateControlMappingSource) SetSourceSetUpOption(v string) *CreateControlMappingSource {
9277	s.SourceSetUpOption = &v
9278	return s
9279}
9280
9281// SetSourceType sets the SourceType field's value.
9282func (s *CreateControlMappingSource) SetSourceType(v string) *CreateControlMappingSource {
9283	s.SourceType = &v
9284	return s
9285}
9286
9287// SetTroubleshootingText sets the TroubleshootingText field's value.
9288func (s *CreateControlMappingSource) SetTroubleshootingText(v string) *CreateControlMappingSource {
9289	s.TroubleshootingText = &v
9290	return s
9291}
9292
9293type CreateControlOutput struct {
9294	_ struct{} `type:"structure"`
9295
9296	// The new control that the CreateControl API returned.
9297	Control *Control `locationName:"control" type:"structure"`
9298}
9299
9300// String returns the string representation.
9301//
9302// API parameter values that are decorated as "sensitive" in the API will not
9303// be included in the string output. The member name will be present, but the
9304// value will be replaced with "sensitive".
9305func (s CreateControlOutput) String() string {
9306	return awsutil.Prettify(s)
9307}
9308
9309// GoString returns the string representation.
9310//
9311// API parameter values that are decorated as "sensitive" in the API will not
9312// be included in the string output. The member name will be present, but the
9313// value will be replaced with "sensitive".
9314func (s CreateControlOutput) GoString() string {
9315	return s.String()
9316}
9317
9318// SetControl sets the Control field's value.
9319func (s *CreateControlOutput) SetControl(v *Control) *CreateControlOutput {
9320	s.Control = v
9321	return s
9322}
9323
9324// A collection of attributes that's used to create a delegation for an assessment
9325// in Audit Manager.
9326type CreateDelegationRequest struct {
9327	_ struct{} `type:"structure"`
9328
9329	// A comment that's related to the delegation request.
9330	Comment *string `locationName:"comment" type:"string"`
9331
9332	// The unique identifier for the control set.
9333	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
9334
9335	// The Amazon Resource Name (ARN) of the IAM role.
9336	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
9337
9338	// The type of customer persona.
9339	//
9340	// In CreateAssessment, roleType can only be PROCESS_OWNER.
9341	//
9342	// In UpdateSettings, roleType can only be PROCESS_OWNER.
9343	//
9344	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
9345	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
9346}
9347
9348// String returns the string representation.
9349//
9350// API parameter values that are decorated as "sensitive" in the API will not
9351// be included in the string output. The member name will be present, but the
9352// value will be replaced with "sensitive".
9353func (s CreateDelegationRequest) String() string {
9354	return awsutil.Prettify(s)
9355}
9356
9357// GoString returns the string representation.
9358//
9359// API parameter values that are decorated as "sensitive" in the API will not
9360// be included in the string output. The member name will be present, but the
9361// value will be replaced with "sensitive".
9362func (s CreateDelegationRequest) GoString() string {
9363	return s.String()
9364}
9365
9366// Validate inspects the fields of the type to determine if they are valid.
9367func (s *CreateDelegationRequest) Validate() error {
9368	invalidParams := request.ErrInvalidParams{Context: "CreateDelegationRequest"}
9369	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
9370		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
9371	}
9372	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
9373		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
9374	}
9375
9376	if invalidParams.Len() > 0 {
9377		return invalidParams
9378	}
9379	return nil
9380}
9381
9382// SetComment sets the Comment field's value.
9383func (s *CreateDelegationRequest) SetComment(v string) *CreateDelegationRequest {
9384	s.Comment = &v
9385	return s
9386}
9387
9388// SetControlSetId sets the ControlSetId field's value.
9389func (s *CreateDelegationRequest) SetControlSetId(v string) *CreateDelegationRequest {
9390	s.ControlSetId = &v
9391	return s
9392}
9393
9394// SetRoleArn sets the RoleArn field's value.
9395func (s *CreateDelegationRequest) SetRoleArn(v string) *CreateDelegationRequest {
9396	s.RoleArn = &v
9397	return s
9398}
9399
9400// SetRoleType sets the RoleType field's value.
9401func (s *CreateDelegationRequest) SetRoleType(v string) *CreateDelegationRequest {
9402	s.RoleType = &v
9403	return s
9404}
9405
9406// The assignment of a control set to a delegate for review.
9407type Delegation struct {
9408	_ struct{} `type:"structure"`
9409
9410	// The identifier for the assessment that's associated with the delegation.
9411	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
9412
9413	// The name of the assessment that's associated with the delegation.
9414	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
9415
9416	// The comment that's related to the delegation.
9417	Comment *string `locationName:"comment" type:"string"`
9418
9419	// The identifier for the control set that's associated with the delegation.
9420	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
9421
9422	// The IAM user or role that created the delegation.
9423	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
9424
9425	// Specifies when the delegation was created.
9426	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
9427
9428	// The unique identifier for the delegation.
9429	Id *string `locationName:"id" min:"36" type:"string"`
9430
9431	// Specifies when the delegation was last updated.
9432	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
9433
9434	// The Amazon Resource Name (ARN) of the IAM role.
9435	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
9436
9437	// The type of customer persona.
9438	//
9439	// In CreateAssessment, roleType can only be PROCESS_OWNER.
9440	//
9441	// In UpdateSettings, roleType can only be PROCESS_OWNER.
9442	//
9443	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
9444	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
9445
9446	// The status of the delegation.
9447	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
9448}
9449
9450// String returns the string representation.
9451//
9452// API parameter values that are decorated as "sensitive" in the API will not
9453// be included in the string output. The member name will be present, but the
9454// value will be replaced with "sensitive".
9455func (s Delegation) String() string {
9456	return awsutil.Prettify(s)
9457}
9458
9459// GoString returns the string representation.
9460//
9461// API parameter values that are decorated as "sensitive" in the API will not
9462// be included in the string output. The member name will be present, but the
9463// value will be replaced with "sensitive".
9464func (s Delegation) GoString() string {
9465	return s.String()
9466}
9467
9468// SetAssessmentId sets the AssessmentId field's value.
9469func (s *Delegation) SetAssessmentId(v string) *Delegation {
9470	s.AssessmentId = &v
9471	return s
9472}
9473
9474// SetAssessmentName sets the AssessmentName field's value.
9475func (s *Delegation) SetAssessmentName(v string) *Delegation {
9476	s.AssessmentName = &v
9477	return s
9478}
9479
9480// SetComment sets the Comment field's value.
9481func (s *Delegation) SetComment(v string) *Delegation {
9482	s.Comment = &v
9483	return s
9484}
9485
9486// SetControlSetId sets the ControlSetId field's value.
9487func (s *Delegation) SetControlSetId(v string) *Delegation {
9488	s.ControlSetId = &v
9489	return s
9490}
9491
9492// SetCreatedBy sets the CreatedBy field's value.
9493func (s *Delegation) SetCreatedBy(v string) *Delegation {
9494	s.CreatedBy = &v
9495	return s
9496}
9497
9498// SetCreationTime sets the CreationTime field's value.
9499func (s *Delegation) SetCreationTime(v time.Time) *Delegation {
9500	s.CreationTime = &v
9501	return s
9502}
9503
9504// SetId sets the Id field's value.
9505func (s *Delegation) SetId(v string) *Delegation {
9506	s.Id = &v
9507	return s
9508}
9509
9510// SetLastUpdated sets the LastUpdated field's value.
9511func (s *Delegation) SetLastUpdated(v time.Time) *Delegation {
9512	s.LastUpdated = &v
9513	return s
9514}
9515
9516// SetRoleArn sets the RoleArn field's value.
9517func (s *Delegation) SetRoleArn(v string) *Delegation {
9518	s.RoleArn = &v
9519	return s
9520}
9521
9522// SetRoleType sets the RoleType field's value.
9523func (s *Delegation) SetRoleType(v string) *Delegation {
9524	s.RoleType = &v
9525	return s
9526}
9527
9528// SetStatus sets the Status field's value.
9529func (s *Delegation) SetStatus(v string) *Delegation {
9530	s.Status = &v
9531	return s
9532}
9533
9534// The metadata that's associated with the delegation.
9535type DelegationMetadata struct {
9536	_ struct{} `type:"structure"`
9537
9538	// The unique identifier for the assessment.
9539	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
9540
9541	// The name of the associated assessment.
9542	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
9543
9544	// Specifies the name of the control set that was delegated for review.
9545	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
9546
9547	// Specifies when the delegation was created.
9548	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
9549
9550	// The unique identifier for the delegation.
9551	Id *string `locationName:"id" min:"36" type:"string"`
9552
9553	// The Amazon Resource Name (ARN) of the IAM role.
9554	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
9555
9556	// The current status of the delegation.
9557	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
9558}
9559
9560// String returns the string representation.
9561//
9562// API parameter values that are decorated as "sensitive" in the API will not
9563// be included in the string output. The member name will be present, but the
9564// value will be replaced with "sensitive".
9565func (s DelegationMetadata) String() string {
9566	return awsutil.Prettify(s)
9567}
9568
9569// GoString returns the string representation.
9570//
9571// API parameter values that are decorated as "sensitive" in the API will not
9572// be included in the string output. The member name will be present, but the
9573// value will be replaced with "sensitive".
9574func (s DelegationMetadata) GoString() string {
9575	return s.String()
9576}
9577
9578// SetAssessmentId sets the AssessmentId field's value.
9579func (s *DelegationMetadata) SetAssessmentId(v string) *DelegationMetadata {
9580	s.AssessmentId = &v
9581	return s
9582}
9583
9584// SetAssessmentName sets the AssessmentName field's value.
9585func (s *DelegationMetadata) SetAssessmentName(v string) *DelegationMetadata {
9586	s.AssessmentName = &v
9587	return s
9588}
9589
9590// SetControlSetName sets the ControlSetName field's value.
9591func (s *DelegationMetadata) SetControlSetName(v string) *DelegationMetadata {
9592	s.ControlSetName = &v
9593	return s
9594}
9595
9596// SetCreationTime sets the CreationTime field's value.
9597func (s *DelegationMetadata) SetCreationTime(v time.Time) *DelegationMetadata {
9598	s.CreationTime = &v
9599	return s
9600}
9601
9602// SetId sets the Id field's value.
9603func (s *DelegationMetadata) SetId(v string) *DelegationMetadata {
9604	s.Id = &v
9605	return s
9606}
9607
9608// SetRoleArn sets the RoleArn field's value.
9609func (s *DelegationMetadata) SetRoleArn(v string) *DelegationMetadata {
9610	s.RoleArn = &v
9611	return s
9612}
9613
9614// SetStatus sets the Status field's value.
9615func (s *DelegationMetadata) SetStatus(v string) *DelegationMetadata {
9616	s.Status = &v
9617	return s
9618}
9619
9620type DeleteAssessmentFrameworkInput struct {
9621	_ struct{} `type:"structure" nopayload:"true"`
9622
9623	// The identifier for the framework.
9624	//
9625	// FrameworkId is a required field
9626	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
9627}
9628
9629// String returns the string representation.
9630//
9631// API parameter values that are decorated as "sensitive" in the API will not
9632// be included in the string output. The member name will be present, but the
9633// value will be replaced with "sensitive".
9634func (s DeleteAssessmentFrameworkInput) String() string {
9635	return awsutil.Prettify(s)
9636}
9637
9638// GoString returns the string representation.
9639//
9640// API parameter values that are decorated as "sensitive" in the API will not
9641// be included in the string output. The member name will be present, but the
9642// value will be replaced with "sensitive".
9643func (s DeleteAssessmentFrameworkInput) GoString() string {
9644	return s.String()
9645}
9646
9647// Validate inspects the fields of the type to determine if they are valid.
9648func (s *DeleteAssessmentFrameworkInput) Validate() error {
9649	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentFrameworkInput"}
9650	if s.FrameworkId == nil {
9651		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
9652	}
9653	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
9654		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
9655	}
9656
9657	if invalidParams.Len() > 0 {
9658		return invalidParams
9659	}
9660	return nil
9661}
9662
9663// SetFrameworkId sets the FrameworkId field's value.
9664func (s *DeleteAssessmentFrameworkInput) SetFrameworkId(v string) *DeleteAssessmentFrameworkInput {
9665	s.FrameworkId = &v
9666	return s
9667}
9668
9669type DeleteAssessmentFrameworkOutput struct {
9670	_ struct{} `type:"structure"`
9671}
9672
9673// String returns the string representation.
9674//
9675// API parameter values that are decorated as "sensitive" in the API will not
9676// be included in the string output. The member name will be present, but the
9677// value will be replaced with "sensitive".
9678func (s DeleteAssessmentFrameworkOutput) String() string {
9679	return awsutil.Prettify(s)
9680}
9681
9682// GoString returns the string representation.
9683//
9684// API parameter values that are decorated as "sensitive" in the API will not
9685// be included in the string output. The member name will be present, but the
9686// value will be replaced with "sensitive".
9687func (s DeleteAssessmentFrameworkOutput) GoString() string {
9688	return s.String()
9689}
9690
9691type DeleteAssessmentFrameworkShareInput struct {
9692	_ struct{} `type:"structure" nopayload:"true"`
9693
9694	// The unique identifier for the share request to be deleted.
9695	//
9696	// RequestId is a required field
9697	RequestId *string `location:"uri" locationName:"requestId" min:"36" type:"string" required:"true"`
9698
9699	// Specifies whether the share request is a sent request or a received request.
9700	//
9701	// RequestType is a required field
9702	RequestType *string `location:"querystring" locationName:"requestType" type:"string" required:"true" enum:"ShareRequestType"`
9703}
9704
9705// String returns the string representation.
9706//
9707// API parameter values that are decorated as "sensitive" in the API will not
9708// be included in the string output. The member name will be present, but the
9709// value will be replaced with "sensitive".
9710func (s DeleteAssessmentFrameworkShareInput) String() string {
9711	return awsutil.Prettify(s)
9712}
9713
9714// GoString returns the string representation.
9715//
9716// API parameter values that are decorated as "sensitive" in the API will not
9717// be included in the string output. The member name will be present, but the
9718// value will be replaced with "sensitive".
9719func (s DeleteAssessmentFrameworkShareInput) GoString() string {
9720	return s.String()
9721}
9722
9723// Validate inspects the fields of the type to determine if they are valid.
9724func (s *DeleteAssessmentFrameworkShareInput) Validate() error {
9725	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentFrameworkShareInput"}
9726	if s.RequestId == nil {
9727		invalidParams.Add(request.NewErrParamRequired("RequestId"))
9728	}
9729	if s.RequestId != nil && len(*s.RequestId) < 36 {
9730		invalidParams.Add(request.NewErrParamMinLen("RequestId", 36))
9731	}
9732	if s.RequestType == nil {
9733		invalidParams.Add(request.NewErrParamRequired("RequestType"))
9734	}
9735
9736	if invalidParams.Len() > 0 {
9737		return invalidParams
9738	}
9739	return nil
9740}
9741
9742// SetRequestId sets the RequestId field's value.
9743func (s *DeleteAssessmentFrameworkShareInput) SetRequestId(v string) *DeleteAssessmentFrameworkShareInput {
9744	s.RequestId = &v
9745	return s
9746}
9747
9748// SetRequestType sets the RequestType field's value.
9749func (s *DeleteAssessmentFrameworkShareInput) SetRequestType(v string) *DeleteAssessmentFrameworkShareInput {
9750	s.RequestType = &v
9751	return s
9752}
9753
9754type DeleteAssessmentFrameworkShareOutput struct {
9755	_ struct{} `type:"structure"`
9756}
9757
9758// String returns the string representation.
9759//
9760// API parameter values that are decorated as "sensitive" in the API will not
9761// be included in the string output. The member name will be present, but the
9762// value will be replaced with "sensitive".
9763func (s DeleteAssessmentFrameworkShareOutput) String() string {
9764	return awsutil.Prettify(s)
9765}
9766
9767// GoString returns the string representation.
9768//
9769// API parameter values that are decorated as "sensitive" in the API will not
9770// be included in the string output. The member name will be present, but the
9771// value will be replaced with "sensitive".
9772func (s DeleteAssessmentFrameworkShareOutput) GoString() string {
9773	return s.String()
9774}
9775
9776type DeleteAssessmentInput struct {
9777	_ struct{} `type:"structure" nopayload:"true"`
9778
9779	// The identifier for the assessment.
9780	//
9781	// AssessmentId is a required field
9782	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9783}
9784
9785// String returns the string representation.
9786//
9787// API parameter values that are decorated as "sensitive" in the API will not
9788// be included in the string output. The member name will be present, but the
9789// value will be replaced with "sensitive".
9790func (s DeleteAssessmentInput) String() string {
9791	return awsutil.Prettify(s)
9792}
9793
9794// GoString returns the string representation.
9795//
9796// API parameter values that are decorated as "sensitive" in the API will not
9797// be included in the string output. The member name will be present, but the
9798// value will be replaced with "sensitive".
9799func (s DeleteAssessmentInput) GoString() string {
9800	return s.String()
9801}
9802
9803// Validate inspects the fields of the type to determine if they are valid.
9804func (s *DeleteAssessmentInput) Validate() error {
9805	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentInput"}
9806	if s.AssessmentId == nil {
9807		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9808	}
9809	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9810		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9811	}
9812
9813	if invalidParams.Len() > 0 {
9814		return invalidParams
9815	}
9816	return nil
9817}
9818
9819// SetAssessmentId sets the AssessmentId field's value.
9820func (s *DeleteAssessmentInput) SetAssessmentId(v string) *DeleteAssessmentInput {
9821	s.AssessmentId = &v
9822	return s
9823}
9824
9825type DeleteAssessmentOutput struct {
9826	_ struct{} `type:"structure"`
9827}
9828
9829// String returns the string representation.
9830//
9831// API parameter values that are decorated as "sensitive" in the API will not
9832// be included in the string output. The member name will be present, but the
9833// value will be replaced with "sensitive".
9834func (s DeleteAssessmentOutput) String() string {
9835	return awsutil.Prettify(s)
9836}
9837
9838// GoString returns the string representation.
9839//
9840// API parameter values that are decorated as "sensitive" in the API will not
9841// be included in the string output. The member name will be present, but the
9842// value will be replaced with "sensitive".
9843func (s DeleteAssessmentOutput) GoString() string {
9844	return s.String()
9845}
9846
9847type DeleteAssessmentReportInput struct {
9848	_ struct{} `type:"structure" nopayload:"true"`
9849
9850	// The identifier for the assessment.
9851	//
9852	// AssessmentId is a required field
9853	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9854
9855	// The unique identifier for the assessment report.
9856	//
9857	// AssessmentReportId is a required field
9858	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
9859}
9860
9861// String returns the string representation.
9862//
9863// API parameter values that are decorated as "sensitive" in the API will not
9864// be included in the string output. The member name will be present, but the
9865// value will be replaced with "sensitive".
9866func (s DeleteAssessmentReportInput) String() string {
9867	return awsutil.Prettify(s)
9868}
9869
9870// GoString returns the string representation.
9871//
9872// API parameter values that are decorated as "sensitive" in the API will not
9873// be included in the string output. The member name will be present, but the
9874// value will be replaced with "sensitive".
9875func (s DeleteAssessmentReportInput) GoString() string {
9876	return s.String()
9877}
9878
9879// Validate inspects the fields of the type to determine if they are valid.
9880func (s *DeleteAssessmentReportInput) Validate() error {
9881	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentReportInput"}
9882	if s.AssessmentId == nil {
9883		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9884	}
9885	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9886		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9887	}
9888	if s.AssessmentReportId == nil {
9889		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
9890	}
9891	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
9892		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
9893	}
9894
9895	if invalidParams.Len() > 0 {
9896		return invalidParams
9897	}
9898	return nil
9899}
9900
9901// SetAssessmentId sets the AssessmentId field's value.
9902func (s *DeleteAssessmentReportInput) SetAssessmentId(v string) *DeleteAssessmentReportInput {
9903	s.AssessmentId = &v
9904	return s
9905}
9906
9907// SetAssessmentReportId sets the AssessmentReportId field's value.
9908func (s *DeleteAssessmentReportInput) SetAssessmentReportId(v string) *DeleteAssessmentReportInput {
9909	s.AssessmentReportId = &v
9910	return s
9911}
9912
9913type DeleteAssessmentReportOutput struct {
9914	_ struct{} `type:"structure"`
9915}
9916
9917// String returns the string representation.
9918//
9919// API parameter values that are decorated as "sensitive" in the API will not
9920// be included in the string output. The member name will be present, but the
9921// value will be replaced with "sensitive".
9922func (s DeleteAssessmentReportOutput) String() string {
9923	return awsutil.Prettify(s)
9924}
9925
9926// GoString returns the string representation.
9927//
9928// API parameter values that are decorated as "sensitive" in the API will not
9929// be included in the string output. The member name will be present, but the
9930// value will be replaced with "sensitive".
9931func (s DeleteAssessmentReportOutput) GoString() string {
9932	return s.String()
9933}
9934
9935type DeleteControlInput struct {
9936	_ struct{} `type:"structure" nopayload:"true"`
9937
9938	// The identifier for the control.
9939	//
9940	// ControlId is a required field
9941	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
9942}
9943
9944// String returns the string representation.
9945//
9946// API parameter values that are decorated as "sensitive" in the API will not
9947// be included in the string output. The member name will be present, but the
9948// value will be replaced with "sensitive".
9949func (s DeleteControlInput) String() string {
9950	return awsutil.Prettify(s)
9951}
9952
9953// GoString returns the string representation.
9954//
9955// API parameter values that are decorated as "sensitive" in the API will not
9956// be included in the string output. The member name will be present, but the
9957// value will be replaced with "sensitive".
9958func (s DeleteControlInput) GoString() string {
9959	return s.String()
9960}
9961
9962// Validate inspects the fields of the type to determine if they are valid.
9963func (s *DeleteControlInput) Validate() error {
9964	invalidParams := request.ErrInvalidParams{Context: "DeleteControlInput"}
9965	if s.ControlId == nil {
9966		invalidParams.Add(request.NewErrParamRequired("ControlId"))
9967	}
9968	if s.ControlId != nil && len(*s.ControlId) < 36 {
9969		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
9970	}
9971
9972	if invalidParams.Len() > 0 {
9973		return invalidParams
9974	}
9975	return nil
9976}
9977
9978// SetControlId sets the ControlId field's value.
9979func (s *DeleteControlInput) SetControlId(v string) *DeleteControlInput {
9980	s.ControlId = &v
9981	return s
9982}
9983
9984type DeleteControlOutput struct {
9985	_ struct{} `type:"structure"`
9986}
9987
9988// String returns the string representation.
9989//
9990// API parameter values that are decorated as "sensitive" in the API will not
9991// be included in the string output. The member name will be present, but the
9992// value will be replaced with "sensitive".
9993func (s DeleteControlOutput) String() string {
9994	return awsutil.Prettify(s)
9995}
9996
9997// GoString returns the string representation.
9998//
9999// API parameter values that are decorated as "sensitive" in the API will not
10000// be included in the string output. The member name will be present, but the
10001// value will be replaced with "sensitive".
10002func (s DeleteControlOutput) GoString() string {
10003	return s.String()
10004}
10005
10006type DeregisterAccountInput struct {
10007	_ struct{} `type:"structure" nopayload:"true"`
10008}
10009
10010// String returns the string representation.
10011//
10012// API parameter values that are decorated as "sensitive" in the API will not
10013// be included in the string output. The member name will be present, but the
10014// value will be replaced with "sensitive".
10015func (s DeregisterAccountInput) String() string {
10016	return awsutil.Prettify(s)
10017}
10018
10019// GoString returns the string representation.
10020//
10021// API parameter values that are decorated as "sensitive" in the API will not
10022// be included in the string output. The member name will be present, but the
10023// value will be replaced with "sensitive".
10024func (s DeregisterAccountInput) GoString() string {
10025	return s.String()
10026}
10027
10028type DeregisterAccountOutput struct {
10029	_ struct{} `type:"structure"`
10030
10031	// The registration status of the account.
10032	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
10033}
10034
10035// String returns the string representation.
10036//
10037// API parameter values that are decorated as "sensitive" in the API will not
10038// be included in the string output. The member name will be present, but the
10039// value will be replaced with "sensitive".
10040func (s DeregisterAccountOutput) String() string {
10041	return awsutil.Prettify(s)
10042}
10043
10044// GoString returns the string representation.
10045//
10046// API parameter values that are decorated as "sensitive" in the API will not
10047// be included in the string output. The member name will be present, but the
10048// value will be replaced with "sensitive".
10049func (s DeregisterAccountOutput) GoString() string {
10050	return s.String()
10051}
10052
10053// SetStatus sets the Status field's value.
10054func (s *DeregisterAccountOutput) SetStatus(v string) *DeregisterAccountOutput {
10055	s.Status = &v
10056	return s
10057}
10058
10059type DeregisterOrganizationAdminAccountInput struct {
10060	_ struct{} `type:"structure"`
10061
10062	// The identifier for the administrator account.
10063	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
10064}
10065
10066// String returns the string representation.
10067//
10068// API parameter values that are decorated as "sensitive" in the API will not
10069// be included in the string output. The member name will be present, but the
10070// value will be replaced with "sensitive".
10071func (s DeregisterOrganizationAdminAccountInput) String() string {
10072	return awsutil.Prettify(s)
10073}
10074
10075// GoString returns the string representation.
10076//
10077// API parameter values that are decorated as "sensitive" in the API will not
10078// be included in the string output. The member name will be present, but the
10079// value will be replaced with "sensitive".
10080func (s DeregisterOrganizationAdminAccountInput) GoString() string {
10081	return s.String()
10082}
10083
10084// Validate inspects the fields of the type to determine if they are valid.
10085func (s *DeregisterOrganizationAdminAccountInput) Validate() error {
10086	invalidParams := request.ErrInvalidParams{Context: "DeregisterOrganizationAdminAccountInput"}
10087	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
10088		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
10089	}
10090
10091	if invalidParams.Len() > 0 {
10092		return invalidParams
10093	}
10094	return nil
10095}
10096
10097// SetAdminAccountId sets the AdminAccountId field's value.
10098func (s *DeregisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *DeregisterOrganizationAdminAccountInput {
10099	s.AdminAccountId = &v
10100	return s
10101}
10102
10103type DeregisterOrganizationAdminAccountOutput struct {
10104	_ struct{} `type:"structure"`
10105}
10106
10107// String returns the string representation.
10108//
10109// API parameter values that are decorated as "sensitive" in the API will not
10110// be included in the string output. The member name will be present, but the
10111// value will be replaced with "sensitive".
10112func (s DeregisterOrganizationAdminAccountOutput) String() string {
10113	return awsutil.Prettify(s)
10114}
10115
10116// GoString returns the string representation.
10117//
10118// API parameter values that are decorated as "sensitive" in the API will not
10119// be included in the string output. The member name will be present, but the
10120// value will be replaced with "sensitive".
10121func (s DeregisterOrganizationAdminAccountOutput) GoString() string {
10122	return s.String()
10123}
10124
10125type DisassociateAssessmentReportEvidenceFolderInput struct {
10126	_ struct{} `type:"structure"`
10127
10128	// The identifier for the assessment.
10129	//
10130	// AssessmentId is a required field
10131	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10132
10133	// The identifier for the folder in which evidence is stored.
10134	//
10135	// EvidenceFolderId is a required field
10136	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
10137}
10138
10139// String returns the string representation.
10140//
10141// API parameter values that are decorated as "sensitive" in the API will not
10142// be included in the string output. The member name will be present, but the
10143// value will be replaced with "sensitive".
10144func (s DisassociateAssessmentReportEvidenceFolderInput) String() string {
10145	return awsutil.Prettify(s)
10146}
10147
10148// GoString returns the string representation.
10149//
10150// API parameter values that are decorated as "sensitive" in the API will not
10151// be included in the string output. The member name will be present, but the
10152// value will be replaced with "sensitive".
10153func (s DisassociateAssessmentReportEvidenceFolderInput) GoString() string {
10154	return s.String()
10155}
10156
10157// Validate inspects the fields of the type to determine if they are valid.
10158func (s *DisassociateAssessmentReportEvidenceFolderInput) Validate() error {
10159	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssessmentReportEvidenceFolderInput"}
10160	if s.AssessmentId == nil {
10161		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10162	}
10163	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10164		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10165	}
10166	if s.EvidenceFolderId == nil {
10167		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
10168	}
10169	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
10170		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
10171	}
10172
10173	if invalidParams.Len() > 0 {
10174		return invalidParams
10175	}
10176	return nil
10177}
10178
10179// SetAssessmentId sets the AssessmentId field's value.
10180func (s *DisassociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
10181	s.AssessmentId = &v
10182	return s
10183}
10184
10185// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10186func (s *DisassociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
10187	s.EvidenceFolderId = &v
10188	return s
10189}
10190
10191type DisassociateAssessmentReportEvidenceFolderOutput struct {
10192	_ struct{} `type:"structure"`
10193}
10194
10195// String returns the string representation.
10196//
10197// API parameter values that are decorated as "sensitive" in the API will not
10198// be included in the string output. The member name will be present, but the
10199// value will be replaced with "sensitive".
10200func (s DisassociateAssessmentReportEvidenceFolderOutput) String() string {
10201	return awsutil.Prettify(s)
10202}
10203
10204// GoString returns the string representation.
10205//
10206// API parameter values that are decorated as "sensitive" in the API will not
10207// be included in the string output. The member name will be present, but the
10208// value will be replaced with "sensitive".
10209func (s DisassociateAssessmentReportEvidenceFolderOutput) GoString() string {
10210	return s.String()
10211}
10212
10213// A record that contains the information needed to demonstrate compliance with
10214// the requirements specified by a control. Examples of evidence include change
10215// activity triggered by a user, or a system configuration snapshot.
10216type Evidence struct {
10217	_ struct{} `type:"structure"`
10218
10219	// Specifies whether the evidence is included in the assessment report.
10220	AssessmentReportSelection *string `locationName:"assessmentReportSelection" type:"string"`
10221
10222	// The names and values that are used by the evidence event. This includes an
10223	// attribute name (such as allowUsersToChangePassword) and value (such as true
10224	// or false).
10225	Attributes map[string]*string `locationName:"attributes" type:"map"`
10226
10227	// The identifier for the Amazon Web Services account.
10228	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
10229
10230	// The Amazon Web Services account that the evidence is collected from, and
10231	// its organization path.
10232	AwsOrganization *string `locationName:"awsOrganization" type:"string"`
10233
10234	// The evaluation status for evidence that falls under the compliance check
10235	// category. For evidence collected from Security Hub, a Pass or Fail result
10236	// is shown. For evidence collected from Config, a Compliant or Noncompliant
10237	// result is shown.
10238	ComplianceCheck *string `locationName:"complianceCheck" type:"string"`
10239
10240	// The data source where the evidence was collected from.
10241	DataSource *string `locationName:"dataSource" type:"string"`
10242
10243	// The name of the evidence event.
10244	EventName *string `locationName:"eventName" type:"string"`
10245
10246	// The Amazon Web Service that the evidence is collected from.
10247	EventSource *string `locationName:"eventSource" min:"1" type:"string"`
10248
10249	// The identifier for the Amazon Web Services account.
10250	EvidenceAwsAccountId *string `locationName:"evidenceAwsAccountId" min:"12" type:"string"`
10251
10252	// The type of automated evidence.
10253	EvidenceByType *string `locationName:"evidenceByType" type:"string"`
10254
10255	// The identifier for the folder that the evidence is stored in.
10256	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string"`
10257
10258	// The unique identifier for the IAM user or role that's associated with the
10259	// evidence.
10260	IamId *string `locationName:"iamId" min:"20" type:"string"`
10261
10262	// The identifier for the evidence.
10263	Id *string `locationName:"id" min:"36" type:"string"`
10264
10265	// The list of resources that are assessed to generate the evidence.
10266	ResourcesIncluded []*Resource `locationName:"resourcesIncluded" type:"list"`
10267
10268	// The timestamp that represents when the evidence was collected.
10269	Time *time.Time `locationName:"time" type:"timestamp"`
10270}
10271
10272// String returns the string representation.
10273//
10274// API parameter values that are decorated as "sensitive" in the API will not
10275// be included in the string output. The member name will be present, but the
10276// value will be replaced with "sensitive".
10277func (s Evidence) String() string {
10278	return awsutil.Prettify(s)
10279}
10280
10281// GoString returns the string representation.
10282//
10283// API parameter values that are decorated as "sensitive" in the API will not
10284// be included in the string output. The member name will be present, but the
10285// value will be replaced with "sensitive".
10286func (s Evidence) GoString() string {
10287	return s.String()
10288}
10289
10290// SetAssessmentReportSelection sets the AssessmentReportSelection field's value.
10291func (s *Evidence) SetAssessmentReportSelection(v string) *Evidence {
10292	s.AssessmentReportSelection = &v
10293	return s
10294}
10295
10296// SetAttributes sets the Attributes field's value.
10297func (s *Evidence) SetAttributes(v map[string]*string) *Evidence {
10298	s.Attributes = v
10299	return s
10300}
10301
10302// SetAwsAccountId sets the AwsAccountId field's value.
10303func (s *Evidence) SetAwsAccountId(v string) *Evidence {
10304	s.AwsAccountId = &v
10305	return s
10306}
10307
10308// SetAwsOrganization sets the AwsOrganization field's value.
10309func (s *Evidence) SetAwsOrganization(v string) *Evidence {
10310	s.AwsOrganization = &v
10311	return s
10312}
10313
10314// SetComplianceCheck sets the ComplianceCheck field's value.
10315func (s *Evidence) SetComplianceCheck(v string) *Evidence {
10316	s.ComplianceCheck = &v
10317	return s
10318}
10319
10320// SetDataSource sets the DataSource field's value.
10321func (s *Evidence) SetDataSource(v string) *Evidence {
10322	s.DataSource = &v
10323	return s
10324}
10325
10326// SetEventName sets the EventName field's value.
10327func (s *Evidence) SetEventName(v string) *Evidence {
10328	s.EventName = &v
10329	return s
10330}
10331
10332// SetEventSource sets the EventSource field's value.
10333func (s *Evidence) SetEventSource(v string) *Evidence {
10334	s.EventSource = &v
10335	return s
10336}
10337
10338// SetEvidenceAwsAccountId sets the EvidenceAwsAccountId field's value.
10339func (s *Evidence) SetEvidenceAwsAccountId(v string) *Evidence {
10340	s.EvidenceAwsAccountId = &v
10341	return s
10342}
10343
10344// SetEvidenceByType sets the EvidenceByType field's value.
10345func (s *Evidence) SetEvidenceByType(v string) *Evidence {
10346	s.EvidenceByType = &v
10347	return s
10348}
10349
10350// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10351func (s *Evidence) SetEvidenceFolderId(v string) *Evidence {
10352	s.EvidenceFolderId = &v
10353	return s
10354}
10355
10356// SetIamId sets the IamId field's value.
10357func (s *Evidence) SetIamId(v string) *Evidence {
10358	s.IamId = &v
10359	return s
10360}
10361
10362// SetId sets the Id field's value.
10363func (s *Evidence) SetId(v string) *Evidence {
10364	s.Id = &v
10365	return s
10366}
10367
10368// SetResourcesIncluded sets the ResourcesIncluded field's value.
10369func (s *Evidence) SetResourcesIncluded(v []*Resource) *Evidence {
10370	s.ResourcesIncluded = v
10371	return s
10372}
10373
10374// SetTime sets the Time field's value.
10375func (s *Evidence) SetTime(v time.Time) *Evidence {
10376	s.Time = &v
10377	return s
10378}
10379
10380// The file that's used to structure and automate Audit Manager assessments
10381// for a given compliance standard.
10382type Framework struct {
10383	_ struct{} `type:"structure"`
10384
10385	// The Amazon Resource Name (ARN) of the framework.
10386	Arn *string `locationName:"arn" min:"20" type:"string"`
10387
10388	// The compliance type that the new custom framework supports, such as CIS or
10389	// HIPAA.
10390	ComplianceType *string `locationName:"complianceType" type:"string"`
10391
10392	// The control sets that are associated with the framework.
10393	ControlSets []*ControlSet `locationName:"controlSets" min:"1" type:"list"`
10394
10395	// The sources that Audit Manager collects evidence from for the control.
10396	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
10397
10398	// Specifies when the framework was created.
10399	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
10400
10401	// The IAM user or role that created the framework.
10402	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
10403
10404	// The description of the framework.
10405	Description *string `locationName:"description" min:"1" type:"string"`
10406
10407	// The unique identifier for the framework.
10408	Id *string `locationName:"id" min:"36" type:"string"`
10409
10410	// Specifies when the framework was most recently updated.
10411	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10412
10413	// The IAM user or role that most recently updated the framework.
10414	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
10415
10416	// The logo that's associated with the framework.
10417	Logo *string `locationName:"logo" min:"1" type:"string"`
10418
10419	// The name of the framework.
10420	Name *string `locationName:"name" min:"1" type:"string"`
10421
10422	// The tags that are associated with the framework.
10423	Tags map[string]*string `locationName:"tags" type:"map"`
10424
10425	// The framework type, such as a custom framework or a standard framework.
10426	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
10427}
10428
10429// String returns the string representation.
10430//
10431// API parameter values that are decorated as "sensitive" in the API will not
10432// be included in the string output. The member name will be present, but the
10433// value will be replaced with "sensitive".
10434func (s Framework) String() string {
10435	return awsutil.Prettify(s)
10436}
10437
10438// GoString returns the string representation.
10439//
10440// API parameter values that are decorated as "sensitive" in the API will not
10441// be included in the string output. The member name will be present, but the
10442// value will be replaced with "sensitive".
10443func (s Framework) GoString() string {
10444	return s.String()
10445}
10446
10447// SetArn sets the Arn field's value.
10448func (s *Framework) SetArn(v string) *Framework {
10449	s.Arn = &v
10450	return s
10451}
10452
10453// SetComplianceType sets the ComplianceType field's value.
10454func (s *Framework) SetComplianceType(v string) *Framework {
10455	s.ComplianceType = &v
10456	return s
10457}
10458
10459// SetControlSets sets the ControlSets field's value.
10460func (s *Framework) SetControlSets(v []*ControlSet) *Framework {
10461	s.ControlSets = v
10462	return s
10463}
10464
10465// SetControlSources sets the ControlSources field's value.
10466func (s *Framework) SetControlSources(v string) *Framework {
10467	s.ControlSources = &v
10468	return s
10469}
10470
10471// SetCreatedAt sets the CreatedAt field's value.
10472func (s *Framework) SetCreatedAt(v time.Time) *Framework {
10473	s.CreatedAt = &v
10474	return s
10475}
10476
10477// SetCreatedBy sets the CreatedBy field's value.
10478func (s *Framework) SetCreatedBy(v string) *Framework {
10479	s.CreatedBy = &v
10480	return s
10481}
10482
10483// SetDescription sets the Description field's value.
10484func (s *Framework) SetDescription(v string) *Framework {
10485	s.Description = &v
10486	return s
10487}
10488
10489// SetId sets the Id field's value.
10490func (s *Framework) SetId(v string) *Framework {
10491	s.Id = &v
10492	return s
10493}
10494
10495// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10496func (s *Framework) SetLastUpdatedAt(v time.Time) *Framework {
10497	s.LastUpdatedAt = &v
10498	return s
10499}
10500
10501// SetLastUpdatedBy sets the LastUpdatedBy field's value.
10502func (s *Framework) SetLastUpdatedBy(v string) *Framework {
10503	s.LastUpdatedBy = &v
10504	return s
10505}
10506
10507// SetLogo sets the Logo field's value.
10508func (s *Framework) SetLogo(v string) *Framework {
10509	s.Logo = &v
10510	return s
10511}
10512
10513// SetName sets the Name field's value.
10514func (s *Framework) SetName(v string) *Framework {
10515	s.Name = &v
10516	return s
10517}
10518
10519// SetTags sets the Tags field's value.
10520func (s *Framework) SetTags(v map[string]*string) *Framework {
10521	s.Tags = v
10522	return s
10523}
10524
10525// SetType sets the Type field's value.
10526func (s *Framework) SetType(v string) *Framework {
10527	s.Type = &v
10528	return s
10529}
10530
10531// The metadata of a framework, such as the name, ID, or description.
10532type FrameworkMetadata struct {
10533	_ struct{} `type:"structure"`
10534
10535	// The compliance standard that's associated with the framework. For example,
10536	// this could be PCI DSS or HIPAA.
10537	ComplianceType *string `locationName:"complianceType" type:"string"`
10538
10539	// The description of the framework.
10540	Description *string `locationName:"description" min:"1" type:"string"`
10541
10542	// The logo that's associated with the framework.
10543	Logo *string `locationName:"logo" min:"1" type:"string"`
10544
10545	// The name of the framework.
10546	Name *string `locationName:"name" min:"1" type:"string"`
10547}
10548
10549// String returns the string representation.
10550//
10551// API parameter values that are decorated as "sensitive" in the API will not
10552// be included in the string output. The member name will be present, but the
10553// value will be replaced with "sensitive".
10554func (s FrameworkMetadata) String() string {
10555	return awsutil.Prettify(s)
10556}
10557
10558// GoString returns the string representation.
10559//
10560// API parameter values that are decorated as "sensitive" in the API will not
10561// be included in the string output. The member name will be present, but the
10562// value will be replaced with "sensitive".
10563func (s FrameworkMetadata) GoString() string {
10564	return s.String()
10565}
10566
10567// SetComplianceType sets the ComplianceType field's value.
10568func (s *FrameworkMetadata) SetComplianceType(v string) *FrameworkMetadata {
10569	s.ComplianceType = &v
10570	return s
10571}
10572
10573// SetDescription sets the Description field's value.
10574func (s *FrameworkMetadata) SetDescription(v string) *FrameworkMetadata {
10575	s.Description = &v
10576	return s
10577}
10578
10579// SetLogo sets the Logo field's value.
10580func (s *FrameworkMetadata) SetLogo(v string) *FrameworkMetadata {
10581	s.Logo = &v
10582	return s
10583}
10584
10585// SetName sets the Name field's value.
10586func (s *FrameworkMetadata) SetName(v string) *FrameworkMetadata {
10587	s.Name = &v
10588	return s
10589}
10590
10591type GetAccountStatusInput struct {
10592	_ struct{} `type:"structure" nopayload:"true"`
10593}
10594
10595// String returns the string representation.
10596//
10597// API parameter values that are decorated as "sensitive" in the API will not
10598// be included in the string output. The member name will be present, but the
10599// value will be replaced with "sensitive".
10600func (s GetAccountStatusInput) String() string {
10601	return awsutil.Prettify(s)
10602}
10603
10604// GoString returns the string representation.
10605//
10606// API parameter values that are decorated as "sensitive" in the API will not
10607// be included in the string output. The member name will be present, but the
10608// value will be replaced with "sensitive".
10609func (s GetAccountStatusInput) GoString() string {
10610	return s.String()
10611}
10612
10613type GetAccountStatusOutput struct {
10614	_ struct{} `type:"structure"`
10615
10616	// The status of the Amazon Web Services account.
10617	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
10618}
10619
10620// String returns the string representation.
10621//
10622// API parameter values that are decorated as "sensitive" in the API will not
10623// be included in the string output. The member name will be present, but the
10624// value will be replaced with "sensitive".
10625func (s GetAccountStatusOutput) String() string {
10626	return awsutil.Prettify(s)
10627}
10628
10629// GoString returns the string representation.
10630//
10631// API parameter values that are decorated as "sensitive" in the API will not
10632// be included in the string output. The member name will be present, but the
10633// value will be replaced with "sensitive".
10634func (s GetAccountStatusOutput) GoString() string {
10635	return s.String()
10636}
10637
10638// SetStatus sets the Status field's value.
10639func (s *GetAccountStatusOutput) SetStatus(v string) *GetAccountStatusOutput {
10640	s.Status = &v
10641	return s
10642}
10643
10644type GetAssessmentFrameworkInput struct {
10645	_ struct{} `type:"structure" nopayload:"true"`
10646
10647	// The identifier for the framework.
10648	//
10649	// FrameworkId is a required field
10650	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
10651}
10652
10653// String returns the string representation.
10654//
10655// API parameter values that are decorated as "sensitive" in the API will not
10656// be included in the string output. The member name will be present, but the
10657// value will be replaced with "sensitive".
10658func (s GetAssessmentFrameworkInput) String() string {
10659	return awsutil.Prettify(s)
10660}
10661
10662// GoString returns the string representation.
10663//
10664// API parameter values that are decorated as "sensitive" in the API will not
10665// be included in the string output. The member name will be present, but the
10666// value will be replaced with "sensitive".
10667func (s GetAssessmentFrameworkInput) GoString() string {
10668	return s.String()
10669}
10670
10671// Validate inspects the fields of the type to determine if they are valid.
10672func (s *GetAssessmentFrameworkInput) Validate() error {
10673	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentFrameworkInput"}
10674	if s.FrameworkId == nil {
10675		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
10676	}
10677	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
10678		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
10679	}
10680
10681	if invalidParams.Len() > 0 {
10682		return invalidParams
10683	}
10684	return nil
10685}
10686
10687// SetFrameworkId sets the FrameworkId field's value.
10688func (s *GetAssessmentFrameworkInput) SetFrameworkId(v string) *GetAssessmentFrameworkInput {
10689	s.FrameworkId = &v
10690	return s
10691}
10692
10693type GetAssessmentFrameworkOutput struct {
10694	_ struct{} `type:"structure"`
10695
10696	// The framework that the GetAssessmentFramework API returned.
10697	Framework *Framework `locationName:"framework" type:"structure"`
10698}
10699
10700// String returns the string representation.
10701//
10702// API parameter values that are decorated as "sensitive" in the API will not
10703// be included in the string output. The member name will be present, but the
10704// value will be replaced with "sensitive".
10705func (s GetAssessmentFrameworkOutput) String() string {
10706	return awsutil.Prettify(s)
10707}
10708
10709// GoString returns the string representation.
10710//
10711// API parameter values that are decorated as "sensitive" in the API will not
10712// be included in the string output. The member name will be present, but the
10713// value will be replaced with "sensitive".
10714func (s GetAssessmentFrameworkOutput) GoString() string {
10715	return s.String()
10716}
10717
10718// SetFramework sets the Framework field's value.
10719func (s *GetAssessmentFrameworkOutput) SetFramework(v *Framework) *GetAssessmentFrameworkOutput {
10720	s.Framework = v
10721	return s
10722}
10723
10724type GetAssessmentInput struct {
10725	_ struct{} `type:"structure" nopayload:"true"`
10726
10727	// The identifier for the assessment.
10728	//
10729	// AssessmentId is a required field
10730	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10731}
10732
10733// String returns the string representation.
10734//
10735// API parameter values that are decorated as "sensitive" in the API will not
10736// be included in the string output. The member name will be present, but the
10737// value will be replaced with "sensitive".
10738func (s GetAssessmentInput) String() string {
10739	return awsutil.Prettify(s)
10740}
10741
10742// GoString returns the string representation.
10743//
10744// API parameter values that are decorated as "sensitive" in the API will not
10745// be included in the string output. The member name will be present, but the
10746// value will be replaced with "sensitive".
10747func (s GetAssessmentInput) GoString() string {
10748	return s.String()
10749}
10750
10751// Validate inspects the fields of the type to determine if they are valid.
10752func (s *GetAssessmentInput) Validate() error {
10753	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentInput"}
10754	if s.AssessmentId == nil {
10755		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10756	}
10757	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10758		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10759	}
10760
10761	if invalidParams.Len() > 0 {
10762		return invalidParams
10763	}
10764	return nil
10765}
10766
10767// SetAssessmentId sets the AssessmentId field's value.
10768func (s *GetAssessmentInput) SetAssessmentId(v string) *GetAssessmentInput {
10769	s.AssessmentId = &v
10770	return s
10771}
10772
10773type GetAssessmentOutput struct {
10774	_ struct{} `type:"structure"`
10775
10776	// An entity that defines the scope of audit evidence collected by Audit Manager.
10777	// An Audit Manager assessment is an implementation of an Audit Manager framework.
10778	Assessment *Assessment `locationName:"assessment" type:"structure"`
10779
10780	// The wrapper that contains the Audit Manager role information of the current
10781	// user. This includes the role type and IAM Amazon Resource Name (ARN).
10782	UserRole *Role `locationName:"userRole" type:"structure"`
10783}
10784
10785// String returns the string representation.
10786//
10787// API parameter values that are decorated as "sensitive" in the API will not
10788// be included in the string output. The member name will be present, but the
10789// value will be replaced with "sensitive".
10790func (s GetAssessmentOutput) String() string {
10791	return awsutil.Prettify(s)
10792}
10793
10794// GoString returns the string representation.
10795//
10796// API parameter values that are decorated as "sensitive" in the API will not
10797// be included in the string output. The member name will be present, but the
10798// value will be replaced with "sensitive".
10799func (s GetAssessmentOutput) GoString() string {
10800	return s.String()
10801}
10802
10803// SetAssessment sets the Assessment field's value.
10804func (s *GetAssessmentOutput) SetAssessment(v *Assessment) *GetAssessmentOutput {
10805	s.Assessment = v
10806	return s
10807}
10808
10809// SetUserRole sets the UserRole field's value.
10810func (s *GetAssessmentOutput) SetUserRole(v *Role) *GetAssessmentOutput {
10811	s.UserRole = v
10812	return s
10813}
10814
10815type GetAssessmentReportUrlInput struct {
10816	_ struct{} `type:"structure" nopayload:"true"`
10817
10818	// The identifier for the assessment.
10819	//
10820	// AssessmentId is a required field
10821	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10822
10823	// The identifier for the assessment report.
10824	//
10825	// AssessmentReportId is a required field
10826	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
10827}
10828
10829// String returns the string representation.
10830//
10831// API parameter values that are decorated as "sensitive" in the API will not
10832// be included in the string output. The member name will be present, but the
10833// value will be replaced with "sensitive".
10834func (s GetAssessmentReportUrlInput) String() string {
10835	return awsutil.Prettify(s)
10836}
10837
10838// GoString returns the string representation.
10839//
10840// API parameter values that are decorated as "sensitive" in the API will not
10841// be included in the string output. The member name will be present, but the
10842// value will be replaced with "sensitive".
10843func (s GetAssessmentReportUrlInput) GoString() string {
10844	return s.String()
10845}
10846
10847// Validate inspects the fields of the type to determine if they are valid.
10848func (s *GetAssessmentReportUrlInput) Validate() error {
10849	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentReportUrlInput"}
10850	if s.AssessmentId == nil {
10851		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10852	}
10853	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10854		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10855	}
10856	if s.AssessmentReportId == nil {
10857		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
10858	}
10859	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
10860		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
10861	}
10862
10863	if invalidParams.Len() > 0 {
10864		return invalidParams
10865	}
10866	return nil
10867}
10868
10869// SetAssessmentId sets the AssessmentId field's value.
10870func (s *GetAssessmentReportUrlInput) SetAssessmentId(v string) *GetAssessmentReportUrlInput {
10871	s.AssessmentId = &v
10872	return s
10873}
10874
10875// SetAssessmentReportId sets the AssessmentReportId field's value.
10876func (s *GetAssessmentReportUrlInput) SetAssessmentReportId(v string) *GetAssessmentReportUrlInput {
10877	s.AssessmentReportId = &v
10878	return s
10879}
10880
10881type GetAssessmentReportUrlOutput struct {
10882	_ struct{} `type:"structure"`
10883
10884	// Short for uniform resource locator. A URL is used as a unique identifier
10885	// to locate a resource on the internet.
10886	PreSignedUrl *URL `locationName:"preSignedUrl" type:"structure"`
10887}
10888
10889// String returns the string representation.
10890//
10891// API parameter values that are decorated as "sensitive" in the API will not
10892// be included in the string output. The member name will be present, but the
10893// value will be replaced with "sensitive".
10894func (s GetAssessmentReportUrlOutput) String() string {
10895	return awsutil.Prettify(s)
10896}
10897
10898// GoString returns the string representation.
10899//
10900// API parameter values that are decorated as "sensitive" in the API will not
10901// be included in the string output. The member name will be present, but the
10902// value will be replaced with "sensitive".
10903func (s GetAssessmentReportUrlOutput) GoString() string {
10904	return s.String()
10905}
10906
10907// SetPreSignedUrl sets the PreSignedUrl field's value.
10908func (s *GetAssessmentReportUrlOutput) SetPreSignedUrl(v *URL) *GetAssessmentReportUrlOutput {
10909	s.PreSignedUrl = v
10910	return s
10911}
10912
10913type GetChangeLogsInput struct {
10914	_ struct{} `type:"structure" nopayload:"true"`
10915
10916	// The identifier for the assessment.
10917	//
10918	// AssessmentId is a required field
10919	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10920
10921	// The identifier for the control.
10922	ControlId *string `location:"querystring" locationName:"controlId" min:"36" type:"string"`
10923
10924	// The identifier for the control set.
10925	ControlSetId *string `location:"querystring" locationName:"controlSetId" min:"1" type:"string"`
10926
10927	// Represents the maximum number of results on a page or for an API request
10928	// call.
10929	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10930
10931	// The pagination token that's used to fetch the next set of results.
10932	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10933}
10934
10935// String returns the string representation.
10936//
10937// API parameter values that are decorated as "sensitive" in the API will not
10938// be included in the string output. The member name will be present, but the
10939// value will be replaced with "sensitive".
10940func (s GetChangeLogsInput) String() string {
10941	return awsutil.Prettify(s)
10942}
10943
10944// GoString returns the string representation.
10945//
10946// API parameter values that are decorated as "sensitive" in the API will not
10947// be included in the string output. The member name will be present, but the
10948// value will be replaced with "sensitive".
10949func (s GetChangeLogsInput) GoString() string {
10950	return s.String()
10951}
10952
10953// Validate inspects the fields of the type to determine if they are valid.
10954func (s *GetChangeLogsInput) Validate() error {
10955	invalidParams := request.ErrInvalidParams{Context: "GetChangeLogsInput"}
10956	if s.AssessmentId == nil {
10957		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10958	}
10959	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10960		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10961	}
10962	if s.ControlId != nil && len(*s.ControlId) < 36 {
10963		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
10964	}
10965	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10966		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10967	}
10968	if s.MaxResults != nil && *s.MaxResults < 1 {
10969		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10970	}
10971	if s.NextToken != nil && len(*s.NextToken) < 1 {
10972		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10973	}
10974
10975	if invalidParams.Len() > 0 {
10976		return invalidParams
10977	}
10978	return nil
10979}
10980
10981// SetAssessmentId sets the AssessmentId field's value.
10982func (s *GetChangeLogsInput) SetAssessmentId(v string) *GetChangeLogsInput {
10983	s.AssessmentId = &v
10984	return s
10985}
10986
10987// SetControlId sets the ControlId field's value.
10988func (s *GetChangeLogsInput) SetControlId(v string) *GetChangeLogsInput {
10989	s.ControlId = &v
10990	return s
10991}
10992
10993// SetControlSetId sets the ControlSetId field's value.
10994func (s *GetChangeLogsInput) SetControlSetId(v string) *GetChangeLogsInput {
10995	s.ControlSetId = &v
10996	return s
10997}
10998
10999// SetMaxResults sets the MaxResults field's value.
11000func (s *GetChangeLogsInput) SetMaxResults(v int64) *GetChangeLogsInput {
11001	s.MaxResults = &v
11002	return s
11003}
11004
11005// SetNextToken sets the NextToken field's value.
11006func (s *GetChangeLogsInput) SetNextToken(v string) *GetChangeLogsInput {
11007	s.NextToken = &v
11008	return s
11009}
11010
11011type GetChangeLogsOutput struct {
11012	_ struct{} `type:"structure"`
11013
11014	// The list of user activity for the control.
11015	ChangeLogs []*ChangeLog `locationName:"changeLogs" type:"list"`
11016
11017	// The pagination token that's used to fetch the next set of results.
11018	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11019}
11020
11021// String returns the string representation.
11022//
11023// API parameter values that are decorated as "sensitive" in the API will not
11024// be included in the string output. The member name will be present, but the
11025// value will be replaced with "sensitive".
11026func (s GetChangeLogsOutput) String() string {
11027	return awsutil.Prettify(s)
11028}
11029
11030// GoString returns the string representation.
11031//
11032// API parameter values that are decorated as "sensitive" in the API will not
11033// be included in the string output. The member name will be present, but the
11034// value will be replaced with "sensitive".
11035func (s GetChangeLogsOutput) GoString() string {
11036	return s.String()
11037}
11038
11039// SetChangeLogs sets the ChangeLogs field's value.
11040func (s *GetChangeLogsOutput) SetChangeLogs(v []*ChangeLog) *GetChangeLogsOutput {
11041	s.ChangeLogs = v
11042	return s
11043}
11044
11045// SetNextToken sets the NextToken field's value.
11046func (s *GetChangeLogsOutput) SetNextToken(v string) *GetChangeLogsOutput {
11047	s.NextToken = &v
11048	return s
11049}
11050
11051type GetControlInput struct {
11052	_ struct{} `type:"structure" nopayload:"true"`
11053
11054	// The identifier for the control.
11055	//
11056	// ControlId is a required field
11057	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
11058}
11059
11060// String returns the string representation.
11061//
11062// API parameter values that are decorated as "sensitive" in the API will not
11063// be included in the string output. The member name will be present, but the
11064// value will be replaced with "sensitive".
11065func (s GetControlInput) String() string {
11066	return awsutil.Prettify(s)
11067}
11068
11069// GoString returns the string representation.
11070//
11071// API parameter values that are decorated as "sensitive" in the API will not
11072// be included in the string output. The member name will be present, but the
11073// value will be replaced with "sensitive".
11074func (s GetControlInput) GoString() string {
11075	return s.String()
11076}
11077
11078// Validate inspects the fields of the type to determine if they are valid.
11079func (s *GetControlInput) Validate() error {
11080	invalidParams := request.ErrInvalidParams{Context: "GetControlInput"}
11081	if s.ControlId == nil {
11082		invalidParams.Add(request.NewErrParamRequired("ControlId"))
11083	}
11084	if s.ControlId != nil && len(*s.ControlId) < 36 {
11085		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
11086	}
11087
11088	if invalidParams.Len() > 0 {
11089		return invalidParams
11090	}
11091	return nil
11092}
11093
11094// SetControlId sets the ControlId field's value.
11095func (s *GetControlInput) SetControlId(v string) *GetControlInput {
11096	s.ControlId = &v
11097	return s
11098}
11099
11100type GetControlOutput struct {
11101	_ struct{} `type:"structure"`
11102
11103	// The name of the control that the GetControl API returned.
11104	Control *Control `locationName:"control" type:"structure"`
11105}
11106
11107// String returns the string representation.
11108//
11109// API parameter values that are decorated as "sensitive" in the API will not
11110// be included in the string output. The member name will be present, but the
11111// value will be replaced with "sensitive".
11112func (s GetControlOutput) String() string {
11113	return awsutil.Prettify(s)
11114}
11115
11116// GoString returns the string representation.
11117//
11118// API parameter values that are decorated as "sensitive" in the API will not
11119// be included in the string output. The member name will be present, but the
11120// value will be replaced with "sensitive".
11121func (s GetControlOutput) GoString() string {
11122	return s.String()
11123}
11124
11125// SetControl sets the Control field's value.
11126func (s *GetControlOutput) SetControl(v *Control) *GetControlOutput {
11127	s.Control = v
11128	return s
11129}
11130
11131type GetDelegationsInput struct {
11132	_ struct{} `type:"structure" nopayload:"true"`
11133
11134	// Represents the maximum number of results on a page or for an API request
11135	// call.
11136	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11137
11138	// The pagination token that's used to fetch the next set of results.
11139	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11140}
11141
11142// String returns the string representation.
11143//
11144// API parameter values that are decorated as "sensitive" in the API will not
11145// be included in the string output. The member name will be present, but the
11146// value will be replaced with "sensitive".
11147func (s GetDelegationsInput) String() string {
11148	return awsutil.Prettify(s)
11149}
11150
11151// GoString returns the string representation.
11152//
11153// API parameter values that are decorated as "sensitive" in the API will not
11154// be included in the string output. The member name will be present, but the
11155// value will be replaced with "sensitive".
11156func (s GetDelegationsInput) GoString() string {
11157	return s.String()
11158}
11159
11160// Validate inspects the fields of the type to determine if they are valid.
11161func (s *GetDelegationsInput) Validate() error {
11162	invalidParams := request.ErrInvalidParams{Context: "GetDelegationsInput"}
11163	if s.MaxResults != nil && *s.MaxResults < 1 {
11164		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11165	}
11166	if s.NextToken != nil && len(*s.NextToken) < 1 {
11167		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11168	}
11169
11170	if invalidParams.Len() > 0 {
11171		return invalidParams
11172	}
11173	return nil
11174}
11175
11176// SetMaxResults sets the MaxResults field's value.
11177func (s *GetDelegationsInput) SetMaxResults(v int64) *GetDelegationsInput {
11178	s.MaxResults = &v
11179	return s
11180}
11181
11182// SetNextToken sets the NextToken field's value.
11183func (s *GetDelegationsInput) SetNextToken(v string) *GetDelegationsInput {
11184	s.NextToken = &v
11185	return s
11186}
11187
11188type GetDelegationsOutput struct {
11189	_ struct{} `type:"structure"`
11190
11191	// The list of delegations that the GetDelegations API returned.
11192	Delegations []*DelegationMetadata `locationName:"delegations" type:"list"`
11193
11194	// The pagination token that's used to fetch the next set of results.
11195	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11196}
11197
11198// String returns the string representation.
11199//
11200// API parameter values that are decorated as "sensitive" in the API will not
11201// be included in the string output. The member name will be present, but the
11202// value will be replaced with "sensitive".
11203func (s GetDelegationsOutput) String() string {
11204	return awsutil.Prettify(s)
11205}
11206
11207// GoString returns the string representation.
11208//
11209// API parameter values that are decorated as "sensitive" in the API will not
11210// be included in the string output. The member name will be present, but the
11211// value will be replaced with "sensitive".
11212func (s GetDelegationsOutput) GoString() string {
11213	return s.String()
11214}
11215
11216// SetDelegations sets the Delegations field's value.
11217func (s *GetDelegationsOutput) SetDelegations(v []*DelegationMetadata) *GetDelegationsOutput {
11218	s.Delegations = v
11219	return s
11220}
11221
11222// SetNextToken sets the NextToken field's value.
11223func (s *GetDelegationsOutput) SetNextToken(v string) *GetDelegationsOutput {
11224	s.NextToken = &v
11225	return s
11226}
11227
11228type GetEvidenceByEvidenceFolderInput struct {
11229	_ struct{} `type:"structure" nopayload:"true"`
11230
11231	// The identifier for the assessment.
11232	//
11233	// AssessmentId is a required field
11234	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
11235
11236	// The identifier for the control set.
11237	//
11238	// ControlSetId is a required field
11239	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
11240
11241	// The unique identifier for the folder that the evidence is stored in.
11242	//
11243	// EvidenceFolderId is a required field
11244	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
11245
11246	// Represents the maximum number of results on a page or for an API request
11247	// call.
11248	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11249
11250	// The pagination token that's used to fetch the next set of results.
11251	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11252}
11253
11254// String returns the string representation.
11255//
11256// API parameter values that are decorated as "sensitive" in the API will not
11257// be included in the string output. The member name will be present, but the
11258// value will be replaced with "sensitive".
11259func (s GetEvidenceByEvidenceFolderInput) String() string {
11260	return awsutil.Prettify(s)
11261}
11262
11263// GoString returns the string representation.
11264//
11265// API parameter values that are decorated as "sensitive" in the API will not
11266// be included in the string output. The member name will be present, but the
11267// value will be replaced with "sensitive".
11268func (s GetEvidenceByEvidenceFolderInput) GoString() string {
11269	return s.String()
11270}
11271
11272// Validate inspects the fields of the type to determine if they are valid.
11273func (s *GetEvidenceByEvidenceFolderInput) Validate() error {
11274	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceByEvidenceFolderInput"}
11275	if s.AssessmentId == nil {
11276		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
11277	}
11278	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
11279		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
11280	}
11281	if s.ControlSetId == nil {
11282		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
11283	}
11284	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
11285		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
11286	}
11287	if s.EvidenceFolderId == nil {
11288		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
11289	}
11290	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
11291		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
11292	}
11293	if s.MaxResults != nil && *s.MaxResults < 1 {
11294		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11295	}
11296	if s.NextToken != nil && len(*s.NextToken) < 1 {
11297		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11298	}
11299
11300	if invalidParams.Len() > 0 {
11301		return invalidParams
11302	}
11303	return nil
11304}
11305
11306// SetAssessmentId sets the AssessmentId field's value.
11307func (s *GetEvidenceByEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceByEvidenceFolderInput {
11308	s.AssessmentId = &v
11309	return s
11310}
11311
11312// SetControlSetId sets the ControlSetId field's value.
11313func (s *GetEvidenceByEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceByEvidenceFolderInput {
11314	s.ControlSetId = &v
11315	return s
11316}
11317
11318// SetEvidenceFolderId sets the EvidenceFolderId field's value.
11319func (s *GetEvidenceByEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceByEvidenceFolderInput {
11320	s.EvidenceFolderId = &v
11321	return s
11322}
11323
11324// SetMaxResults sets the MaxResults field's value.
11325func (s *GetEvidenceByEvidenceFolderInput) SetMaxResults(v int64) *GetEvidenceByEvidenceFolderInput {
11326	s.MaxResults = &v
11327	return s
11328}
11329
11330// SetNextToken sets the NextToken field's value.
11331func (s *GetEvidenceByEvidenceFolderInput) SetNextToken(v string) *GetEvidenceByEvidenceFolderInput {
11332	s.NextToken = &v
11333	return s
11334}
11335
11336type GetEvidenceByEvidenceFolderOutput struct {
11337	_ struct{} `type:"structure"`
11338
11339	// The list of evidence that the GetEvidenceByEvidenceFolder API returned.
11340	Evidence []*Evidence `locationName:"evidence" type:"list"`
11341
11342	// The pagination token that's used to fetch the next set of results.
11343	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11344}
11345
11346// String returns the string representation.
11347//
11348// API parameter values that are decorated as "sensitive" in the API will not
11349// be included in the string output. The member name will be present, but the
11350// value will be replaced with "sensitive".
11351func (s GetEvidenceByEvidenceFolderOutput) String() string {
11352	return awsutil.Prettify(s)
11353}
11354
11355// GoString returns the string representation.
11356//
11357// API parameter values that are decorated as "sensitive" in the API will not
11358// be included in the string output. The member name will be present, but the
11359// value will be replaced with "sensitive".
11360func (s GetEvidenceByEvidenceFolderOutput) GoString() string {
11361	return s.String()
11362}
11363
11364// SetEvidence sets the Evidence field's value.
11365func (s *GetEvidenceByEvidenceFolderOutput) SetEvidence(v []*Evidence) *GetEvidenceByEvidenceFolderOutput {
11366	s.Evidence = v
11367	return s
11368}
11369
11370// SetNextToken sets the NextToken field's value.
11371func (s *GetEvidenceByEvidenceFolderOutput) SetNextToken(v string) *GetEvidenceByEvidenceFolderOutput {
11372	s.NextToken = &v
11373	return s
11374}
11375
11376type GetEvidenceFolderInput struct {
11377	_ struct{} `type:"structure" nopayload:"true"`
11378
11379	// The identifier for the assessment.
11380	//
11381	// AssessmentId is a required field
11382	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
11383
11384	// The identifier for the control set.
11385	//
11386	// ControlSetId is a required field
11387	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
11388
11389	// The identifier for the folder that the evidence is stored in.
11390	//
11391	// EvidenceFolderId is a required field
11392	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
11393}
11394
11395// String returns the string representation.
11396//
11397// API parameter values that are decorated as "sensitive" in the API will not
11398// be included in the string output. The member name will be present, but the
11399// value will be replaced with "sensitive".
11400func (s GetEvidenceFolderInput) String() string {
11401	return awsutil.Prettify(s)
11402}
11403
11404// GoString returns the string representation.
11405//
11406// API parameter values that are decorated as "sensitive" in the API will not
11407// be included in the string output. The member name will be present, but the
11408// value will be replaced with "sensitive".
11409func (s GetEvidenceFolderInput) GoString() string {
11410	return s.String()
11411}
11412
11413// Validate inspects the fields of the type to determine if they are valid.
11414func (s *GetEvidenceFolderInput) Validate() error {
11415	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFolderInput"}
11416	if s.AssessmentId == nil {
11417		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
11418	}
11419	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
11420		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
11421	}
11422	if s.ControlSetId == nil {
11423		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
11424	}
11425	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
11426		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
11427	}
11428	if s.EvidenceFolderId == nil {
11429		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
11430	}
11431	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
11432		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
11433	}
11434
11435	if invalidParams.Len() > 0 {
11436		return invalidParams
11437	}
11438	return nil
11439}
11440
11441// SetAssessmentId sets the AssessmentId field's value.
11442func (s *GetEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceFolderInput {
11443	s.AssessmentId = &v
11444	return s
11445}
11446
11447// SetControlSetId sets the ControlSetId field's value.
11448func (s *GetEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceFolderInput {
11449	s.ControlSetId = &v
11450	return s
11451}
11452
11453// SetEvidenceFolderId sets the EvidenceFolderId field's value.
11454func (s *GetEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceFolderInput {
11455	s.EvidenceFolderId = &v
11456	return s
11457}
11458
11459type GetEvidenceFolderOutput struct {
11460	_ struct{} `type:"structure"`
11461
11462	// The folder that the evidence is stored in.
11463	EvidenceFolder *AssessmentEvidenceFolder `locationName:"evidenceFolder" type:"structure"`
11464}
11465
11466// String returns the string representation.
11467//
11468// API parameter values that are decorated as "sensitive" in the API will not
11469// be included in the string output. The member name will be present, but the
11470// value will be replaced with "sensitive".
11471func (s GetEvidenceFolderOutput) String() string {
11472	return awsutil.Prettify(s)
11473}
11474
11475// GoString returns the string representation.
11476//
11477// API parameter values that are decorated as "sensitive" in the API will not
11478// be included in the string output. The member name will be present, but the
11479// value will be replaced with "sensitive".
11480func (s GetEvidenceFolderOutput) GoString() string {
11481	return s.String()
11482}
11483
11484// SetEvidenceFolder sets the EvidenceFolder field's value.
11485func (s *GetEvidenceFolderOutput) SetEvidenceFolder(v *AssessmentEvidenceFolder) *GetEvidenceFolderOutput {
11486	s.EvidenceFolder = v
11487	return s
11488}
11489
11490type GetEvidenceFoldersByAssessmentControlInput struct {
11491	_ struct{} `type:"structure" nopayload:"true"`
11492
11493	// The identifier for the assessment.
11494	//
11495	// AssessmentId is a required field
11496	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
11497
11498	// The identifier for the control.
11499	//
11500	// ControlId is a required field
11501	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
11502
11503	// The identifier for the control set.
11504	//
11505	// ControlSetId is a required field
11506	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
11507
11508	// Represents the maximum number of results on a page or for an API request
11509	// call.
11510	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11511
11512	// The pagination token that's used to fetch the next set of results.
11513	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11514}
11515
11516// String returns the string representation.
11517//
11518// API parameter values that are decorated as "sensitive" in the API will not
11519// be included in the string output. The member name will be present, but the
11520// value will be replaced with "sensitive".
11521func (s GetEvidenceFoldersByAssessmentControlInput) String() string {
11522	return awsutil.Prettify(s)
11523}
11524
11525// GoString returns the string representation.
11526//
11527// API parameter values that are decorated as "sensitive" in the API will not
11528// be included in the string output. The member name will be present, but the
11529// value will be replaced with "sensitive".
11530func (s GetEvidenceFoldersByAssessmentControlInput) GoString() string {
11531	return s.String()
11532}
11533
11534// Validate inspects the fields of the type to determine if they are valid.
11535func (s *GetEvidenceFoldersByAssessmentControlInput) Validate() error {
11536	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentControlInput"}
11537	if s.AssessmentId == nil {
11538		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
11539	}
11540	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
11541		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
11542	}
11543	if s.ControlId == nil {
11544		invalidParams.Add(request.NewErrParamRequired("ControlId"))
11545	}
11546	if s.ControlId != nil && len(*s.ControlId) < 36 {
11547		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
11548	}
11549	if s.ControlSetId == nil {
11550		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
11551	}
11552	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
11553		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
11554	}
11555	if s.MaxResults != nil && *s.MaxResults < 1 {
11556		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11557	}
11558	if s.NextToken != nil && len(*s.NextToken) < 1 {
11559		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11560	}
11561
11562	if invalidParams.Len() > 0 {
11563		return invalidParams
11564	}
11565	return nil
11566}
11567
11568// SetAssessmentId sets the AssessmentId field's value.
11569func (s *GetEvidenceFoldersByAssessmentControlInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentControlInput {
11570	s.AssessmentId = &v
11571	return s
11572}
11573
11574// SetControlId sets the ControlId field's value.
11575func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlId(v string) *GetEvidenceFoldersByAssessmentControlInput {
11576	s.ControlId = &v
11577	return s
11578}
11579
11580// SetControlSetId sets the ControlSetId field's value.
11581func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlSetId(v string) *GetEvidenceFoldersByAssessmentControlInput {
11582	s.ControlSetId = &v
11583	return s
11584}
11585
11586// SetMaxResults sets the MaxResults field's value.
11587func (s *GetEvidenceFoldersByAssessmentControlInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentControlInput {
11588	s.MaxResults = &v
11589	return s
11590}
11591
11592// SetNextToken sets the NextToken field's value.
11593func (s *GetEvidenceFoldersByAssessmentControlInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlInput {
11594	s.NextToken = &v
11595	return s
11596}
11597
11598type GetEvidenceFoldersByAssessmentControlOutput struct {
11599	_ struct{} `type:"structure"`
11600
11601	// The list of evidence folders that the GetEvidenceFoldersByAssessmentControl
11602	// API returned.
11603	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
11604
11605	// The pagination token that's used to fetch the next set of results.
11606	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11607}
11608
11609// String returns the string representation.
11610//
11611// API parameter values that are decorated as "sensitive" in the API will not
11612// be included in the string output. The member name will be present, but the
11613// value will be replaced with "sensitive".
11614func (s GetEvidenceFoldersByAssessmentControlOutput) String() string {
11615	return awsutil.Prettify(s)
11616}
11617
11618// GoString returns the string representation.
11619//
11620// API parameter values that are decorated as "sensitive" in the API will not
11621// be included in the string output. The member name will be present, but the
11622// value will be replaced with "sensitive".
11623func (s GetEvidenceFoldersByAssessmentControlOutput) GoString() string {
11624	return s.String()
11625}
11626
11627// SetEvidenceFolders sets the EvidenceFolders field's value.
11628func (s *GetEvidenceFoldersByAssessmentControlOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentControlOutput {
11629	s.EvidenceFolders = v
11630	return s
11631}
11632
11633// SetNextToken sets the NextToken field's value.
11634func (s *GetEvidenceFoldersByAssessmentControlOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlOutput {
11635	s.NextToken = &v
11636	return s
11637}
11638
11639type GetEvidenceFoldersByAssessmentInput struct {
11640	_ struct{} `type:"structure" nopayload:"true"`
11641
11642	// The identifier for the assessment.
11643	//
11644	// AssessmentId is a required field
11645	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
11646
11647	// Represents the maximum number of results on a page or for an API request
11648	// call.
11649	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11650
11651	// The pagination token that's used to fetch the next set of results.
11652	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11653}
11654
11655// String returns the string representation.
11656//
11657// API parameter values that are decorated as "sensitive" in the API will not
11658// be included in the string output. The member name will be present, but the
11659// value will be replaced with "sensitive".
11660func (s GetEvidenceFoldersByAssessmentInput) String() string {
11661	return awsutil.Prettify(s)
11662}
11663
11664// GoString returns the string representation.
11665//
11666// API parameter values that are decorated as "sensitive" in the API will not
11667// be included in the string output. The member name will be present, but the
11668// value will be replaced with "sensitive".
11669func (s GetEvidenceFoldersByAssessmentInput) GoString() string {
11670	return s.String()
11671}
11672
11673// Validate inspects the fields of the type to determine if they are valid.
11674func (s *GetEvidenceFoldersByAssessmentInput) Validate() error {
11675	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentInput"}
11676	if s.AssessmentId == nil {
11677		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
11678	}
11679	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
11680		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
11681	}
11682	if s.MaxResults != nil && *s.MaxResults < 1 {
11683		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11684	}
11685	if s.NextToken != nil && len(*s.NextToken) < 1 {
11686		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11687	}
11688
11689	if invalidParams.Len() > 0 {
11690		return invalidParams
11691	}
11692	return nil
11693}
11694
11695// SetAssessmentId sets the AssessmentId field's value.
11696func (s *GetEvidenceFoldersByAssessmentInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentInput {
11697	s.AssessmentId = &v
11698	return s
11699}
11700
11701// SetMaxResults sets the MaxResults field's value.
11702func (s *GetEvidenceFoldersByAssessmentInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentInput {
11703	s.MaxResults = &v
11704	return s
11705}
11706
11707// SetNextToken sets the NextToken field's value.
11708func (s *GetEvidenceFoldersByAssessmentInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentInput {
11709	s.NextToken = &v
11710	return s
11711}
11712
11713type GetEvidenceFoldersByAssessmentOutput struct {
11714	_ struct{} `type:"structure"`
11715
11716	// The list of evidence folders that the GetEvidenceFoldersByAssessment API
11717	// returned.
11718	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
11719
11720	// The pagination token that's used to fetch the next set of results.
11721	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11722}
11723
11724// String returns the string representation.
11725//
11726// API parameter values that are decorated as "sensitive" in the API will not
11727// be included in the string output. The member name will be present, but the
11728// value will be replaced with "sensitive".
11729func (s GetEvidenceFoldersByAssessmentOutput) String() string {
11730	return awsutil.Prettify(s)
11731}
11732
11733// GoString returns the string representation.
11734//
11735// API parameter values that are decorated as "sensitive" in the API will not
11736// be included in the string output. The member name will be present, but the
11737// value will be replaced with "sensitive".
11738func (s GetEvidenceFoldersByAssessmentOutput) GoString() string {
11739	return s.String()
11740}
11741
11742// SetEvidenceFolders sets the EvidenceFolders field's value.
11743func (s *GetEvidenceFoldersByAssessmentOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentOutput {
11744	s.EvidenceFolders = v
11745	return s
11746}
11747
11748// SetNextToken sets the NextToken field's value.
11749func (s *GetEvidenceFoldersByAssessmentOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentOutput {
11750	s.NextToken = &v
11751	return s
11752}
11753
11754type GetEvidenceInput struct {
11755	_ struct{} `type:"structure" nopayload:"true"`
11756
11757	// The identifier for the assessment.
11758	//
11759	// AssessmentId is a required field
11760	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
11761
11762	// The identifier for the control set.
11763	//
11764	// ControlSetId is a required field
11765	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
11766
11767	// The identifier for the folder that the evidence is stored in.
11768	//
11769	// EvidenceFolderId is a required field
11770	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
11771
11772	// The identifier for the evidence.
11773	//
11774	// EvidenceId is a required field
11775	EvidenceId *string `location:"uri" locationName:"evidenceId" min:"36" type:"string" required:"true"`
11776}
11777
11778// String returns the string representation.
11779//
11780// API parameter values that are decorated as "sensitive" in the API will not
11781// be included in the string output. The member name will be present, but the
11782// value will be replaced with "sensitive".
11783func (s GetEvidenceInput) String() string {
11784	return awsutil.Prettify(s)
11785}
11786
11787// GoString returns the string representation.
11788//
11789// API parameter values that are decorated as "sensitive" in the API will not
11790// be included in the string output. The member name will be present, but the
11791// value will be replaced with "sensitive".
11792func (s GetEvidenceInput) GoString() string {
11793	return s.String()
11794}
11795
11796// Validate inspects the fields of the type to determine if they are valid.
11797func (s *GetEvidenceInput) Validate() error {
11798	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceInput"}
11799	if s.AssessmentId == nil {
11800		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
11801	}
11802	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
11803		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
11804	}
11805	if s.ControlSetId == nil {
11806		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
11807	}
11808	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
11809		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
11810	}
11811	if s.EvidenceFolderId == nil {
11812		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
11813	}
11814	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
11815		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
11816	}
11817	if s.EvidenceId == nil {
11818		invalidParams.Add(request.NewErrParamRequired("EvidenceId"))
11819	}
11820	if s.EvidenceId != nil && len(*s.EvidenceId) < 36 {
11821		invalidParams.Add(request.NewErrParamMinLen("EvidenceId", 36))
11822	}
11823
11824	if invalidParams.Len() > 0 {
11825		return invalidParams
11826	}
11827	return nil
11828}
11829
11830// SetAssessmentId sets the AssessmentId field's value.
11831func (s *GetEvidenceInput) SetAssessmentId(v string) *GetEvidenceInput {
11832	s.AssessmentId = &v
11833	return s
11834}
11835
11836// SetControlSetId sets the ControlSetId field's value.
11837func (s *GetEvidenceInput) SetControlSetId(v string) *GetEvidenceInput {
11838	s.ControlSetId = &v
11839	return s
11840}
11841
11842// SetEvidenceFolderId sets the EvidenceFolderId field's value.
11843func (s *GetEvidenceInput) SetEvidenceFolderId(v string) *GetEvidenceInput {
11844	s.EvidenceFolderId = &v
11845	return s
11846}
11847
11848// SetEvidenceId sets the EvidenceId field's value.
11849func (s *GetEvidenceInput) SetEvidenceId(v string) *GetEvidenceInput {
11850	s.EvidenceId = &v
11851	return s
11852}
11853
11854type GetEvidenceOutput struct {
11855	_ struct{} `type:"structure"`
11856
11857	// The evidence that the GetEvidenceResponse API returned.
11858	Evidence *Evidence `locationName:"evidence" type:"structure"`
11859}
11860
11861// String returns the string representation.
11862//
11863// API parameter values that are decorated as "sensitive" in the API will not
11864// be included in the string output. The member name will be present, but the
11865// value will be replaced with "sensitive".
11866func (s GetEvidenceOutput) String() string {
11867	return awsutil.Prettify(s)
11868}
11869
11870// GoString returns the string representation.
11871//
11872// API parameter values that are decorated as "sensitive" in the API will not
11873// be included in the string output. The member name will be present, but the
11874// value will be replaced with "sensitive".
11875func (s GetEvidenceOutput) GoString() string {
11876	return s.String()
11877}
11878
11879// SetEvidence sets the Evidence field's value.
11880func (s *GetEvidenceOutput) SetEvidence(v *Evidence) *GetEvidenceOutput {
11881	s.Evidence = v
11882	return s
11883}
11884
11885type GetOrganizationAdminAccountInput struct {
11886	_ struct{} `type:"structure" nopayload:"true"`
11887}
11888
11889// String returns the string representation.
11890//
11891// API parameter values that are decorated as "sensitive" in the API will not
11892// be included in the string output. The member name will be present, but the
11893// value will be replaced with "sensitive".
11894func (s GetOrganizationAdminAccountInput) String() string {
11895	return awsutil.Prettify(s)
11896}
11897
11898// GoString returns the string representation.
11899//
11900// API parameter values that are decorated as "sensitive" in the API will not
11901// be included in the string output. The member name will be present, but the
11902// value will be replaced with "sensitive".
11903func (s GetOrganizationAdminAccountInput) GoString() string {
11904	return s.String()
11905}
11906
11907type GetOrganizationAdminAccountOutput struct {
11908	_ struct{} `type:"structure"`
11909
11910	// The identifier for the administrator account.
11911	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
11912
11913	// The identifier for the organization.
11914	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
11915}
11916
11917// String returns the string representation.
11918//
11919// API parameter values that are decorated as "sensitive" in the API will not
11920// be included in the string output. The member name will be present, but the
11921// value will be replaced with "sensitive".
11922func (s GetOrganizationAdminAccountOutput) String() string {
11923	return awsutil.Prettify(s)
11924}
11925
11926// GoString returns the string representation.
11927//
11928// API parameter values that are decorated as "sensitive" in the API will not
11929// be included in the string output. The member name will be present, but the
11930// value will be replaced with "sensitive".
11931func (s GetOrganizationAdminAccountOutput) GoString() string {
11932	return s.String()
11933}
11934
11935// SetAdminAccountId sets the AdminAccountId field's value.
11936func (s *GetOrganizationAdminAccountOutput) SetAdminAccountId(v string) *GetOrganizationAdminAccountOutput {
11937	s.AdminAccountId = &v
11938	return s
11939}
11940
11941// SetOrganizationId sets the OrganizationId field's value.
11942func (s *GetOrganizationAdminAccountOutput) SetOrganizationId(v string) *GetOrganizationAdminAccountOutput {
11943	s.OrganizationId = &v
11944	return s
11945}
11946
11947type GetServicesInScopeInput struct {
11948	_ struct{} `type:"structure" nopayload:"true"`
11949}
11950
11951// String returns the string representation.
11952//
11953// API parameter values that are decorated as "sensitive" in the API will not
11954// be included in the string output. The member name will be present, but the
11955// value will be replaced with "sensitive".
11956func (s GetServicesInScopeInput) String() string {
11957	return awsutil.Prettify(s)
11958}
11959
11960// GoString returns the string representation.
11961//
11962// API parameter values that are decorated as "sensitive" in the API will not
11963// be included in the string output. The member name will be present, but the
11964// value will be replaced with "sensitive".
11965func (s GetServicesInScopeInput) GoString() string {
11966	return s.String()
11967}
11968
11969type GetServicesInScopeOutput struct {
11970	_ struct{} `type:"structure"`
11971
11972	// The metadata that's associated with the Amazon Web Service.
11973	ServiceMetadata []*ServiceMetadata `locationName:"serviceMetadata" type:"list"`
11974}
11975
11976// String returns the string representation.
11977//
11978// API parameter values that are decorated as "sensitive" in the API will not
11979// be included in the string output. The member name will be present, but the
11980// value will be replaced with "sensitive".
11981func (s GetServicesInScopeOutput) String() string {
11982	return awsutil.Prettify(s)
11983}
11984
11985// GoString returns the string representation.
11986//
11987// API parameter values that are decorated as "sensitive" in the API will not
11988// be included in the string output. The member name will be present, but the
11989// value will be replaced with "sensitive".
11990func (s GetServicesInScopeOutput) GoString() string {
11991	return s.String()
11992}
11993
11994// SetServiceMetadata sets the ServiceMetadata field's value.
11995func (s *GetServicesInScopeOutput) SetServiceMetadata(v []*ServiceMetadata) *GetServicesInScopeOutput {
11996	s.ServiceMetadata = v
11997	return s
11998}
11999
12000type GetSettingsInput struct {
12001	_ struct{} `type:"structure" nopayload:"true"`
12002
12003	// The list of SettingAttribute enum values.
12004	//
12005	// Attribute is a required field
12006	Attribute *string `location:"uri" locationName:"attribute" type:"string" required:"true" enum:"SettingAttribute"`
12007}
12008
12009// String returns the string representation.
12010//
12011// API parameter values that are decorated as "sensitive" in the API will not
12012// be included in the string output. The member name will be present, but the
12013// value will be replaced with "sensitive".
12014func (s GetSettingsInput) String() string {
12015	return awsutil.Prettify(s)
12016}
12017
12018// GoString returns the string representation.
12019//
12020// API parameter values that are decorated as "sensitive" in the API will not
12021// be included in the string output. The member name will be present, but the
12022// value will be replaced with "sensitive".
12023func (s GetSettingsInput) GoString() string {
12024	return s.String()
12025}
12026
12027// Validate inspects the fields of the type to determine if they are valid.
12028func (s *GetSettingsInput) Validate() error {
12029	invalidParams := request.ErrInvalidParams{Context: "GetSettingsInput"}
12030	if s.Attribute == nil {
12031		invalidParams.Add(request.NewErrParamRequired("Attribute"))
12032	}
12033	if s.Attribute != nil && len(*s.Attribute) < 1 {
12034		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
12035	}
12036
12037	if invalidParams.Len() > 0 {
12038		return invalidParams
12039	}
12040	return nil
12041}
12042
12043// SetAttribute sets the Attribute field's value.
12044func (s *GetSettingsInput) SetAttribute(v string) *GetSettingsInput {
12045	s.Attribute = &v
12046	return s
12047}
12048
12049type GetSettingsOutput struct {
12050	_ struct{} `type:"structure"`
12051
12052	// The settings object that holds all supported Audit Manager settings.
12053	Settings *Settings `locationName:"settings" type:"structure"`
12054}
12055
12056// String returns the string representation.
12057//
12058// API parameter values that are decorated as "sensitive" in the API will not
12059// be included in the string output. The member name will be present, but the
12060// value will be replaced with "sensitive".
12061func (s GetSettingsOutput) String() string {
12062	return awsutil.Prettify(s)
12063}
12064
12065// GoString returns the string representation.
12066//
12067// API parameter values that are decorated as "sensitive" in the API will not
12068// be included in the string output. The member name will be present, but the
12069// value will be replaced with "sensitive".
12070func (s GetSettingsOutput) GoString() string {
12071	return s.String()
12072}
12073
12074// SetSettings sets the Settings field's value.
12075func (s *GetSettingsOutput) SetSettings(v *Settings) *GetSettingsOutput {
12076	s.Settings = v
12077	return s
12078}
12079
12080// An internal service error occurred during the processing of your request.
12081// Try again later.
12082type InternalServerException struct {
12083	_            struct{}                  `type:"structure"`
12084	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12085
12086	Message_ *string `locationName:"message" type:"string"`
12087}
12088
12089// String returns the string representation.
12090//
12091// API parameter values that are decorated as "sensitive" in the API will not
12092// be included in the string output. The member name will be present, but the
12093// value will be replaced with "sensitive".
12094func (s InternalServerException) String() string {
12095	return awsutil.Prettify(s)
12096}
12097
12098// GoString returns the string representation.
12099//
12100// API parameter values that are decorated as "sensitive" in the API will not
12101// be included in the string output. The member name will be present, but the
12102// value will be replaced with "sensitive".
12103func (s InternalServerException) GoString() string {
12104	return s.String()
12105}
12106
12107func newErrorInternalServerException(v protocol.ResponseMetadata) error {
12108	return &InternalServerException{
12109		RespMetadata: v,
12110	}
12111}
12112
12113// Code returns the exception type name.
12114func (s *InternalServerException) Code() string {
12115	return "InternalServerException"
12116}
12117
12118// Message returns the exception's message.
12119func (s *InternalServerException) Message() string {
12120	if s.Message_ != nil {
12121		return *s.Message_
12122	}
12123	return ""
12124}
12125
12126// OrigErr always returns nil, satisfies awserr.Error interface.
12127func (s *InternalServerException) OrigErr() error {
12128	return nil
12129}
12130
12131func (s *InternalServerException) Error() string {
12132	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12133}
12134
12135// Status code returns the HTTP status code for the request's response error.
12136func (s *InternalServerException) StatusCode() int {
12137	return s.RespMetadata.StatusCode
12138}
12139
12140// RequestID returns the service's response RequestID for request.
12141func (s *InternalServerException) RequestID() string {
12142	return s.RespMetadata.RequestID
12143}
12144
12145type ListAssessmentFrameworkShareRequestsInput struct {
12146	_ struct{} `type:"structure" nopayload:"true"`
12147
12148	// Represents the maximum number of results on a page or for an API request
12149	// call.
12150	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12151
12152	// The pagination token that's used to fetch the next set of results.
12153	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12154
12155	// Specifies whether the share request is a sent request or a received request.
12156	//
12157	// RequestType is a required field
12158	RequestType *string `location:"querystring" locationName:"requestType" type:"string" required:"true" enum:"ShareRequestType"`
12159}
12160
12161// String returns the string representation.
12162//
12163// API parameter values that are decorated as "sensitive" in the API will not
12164// be included in the string output. The member name will be present, but the
12165// value will be replaced with "sensitive".
12166func (s ListAssessmentFrameworkShareRequestsInput) String() string {
12167	return awsutil.Prettify(s)
12168}
12169
12170// GoString returns the string representation.
12171//
12172// API parameter values that are decorated as "sensitive" in the API will not
12173// be included in the string output. The member name will be present, but the
12174// value will be replaced with "sensitive".
12175func (s ListAssessmentFrameworkShareRequestsInput) GoString() string {
12176	return s.String()
12177}
12178
12179// Validate inspects the fields of the type to determine if they are valid.
12180func (s *ListAssessmentFrameworkShareRequestsInput) Validate() error {
12181	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentFrameworkShareRequestsInput"}
12182	if s.MaxResults != nil && *s.MaxResults < 1 {
12183		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12184	}
12185	if s.NextToken != nil && len(*s.NextToken) < 1 {
12186		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12187	}
12188	if s.RequestType == nil {
12189		invalidParams.Add(request.NewErrParamRequired("RequestType"))
12190	}
12191
12192	if invalidParams.Len() > 0 {
12193		return invalidParams
12194	}
12195	return nil
12196}
12197
12198// SetMaxResults sets the MaxResults field's value.
12199func (s *ListAssessmentFrameworkShareRequestsInput) SetMaxResults(v int64) *ListAssessmentFrameworkShareRequestsInput {
12200	s.MaxResults = &v
12201	return s
12202}
12203
12204// SetNextToken sets the NextToken field's value.
12205func (s *ListAssessmentFrameworkShareRequestsInput) SetNextToken(v string) *ListAssessmentFrameworkShareRequestsInput {
12206	s.NextToken = &v
12207	return s
12208}
12209
12210// SetRequestType sets the RequestType field's value.
12211func (s *ListAssessmentFrameworkShareRequestsInput) SetRequestType(v string) *ListAssessmentFrameworkShareRequestsInput {
12212	s.RequestType = &v
12213	return s
12214}
12215
12216type ListAssessmentFrameworkShareRequestsOutput struct {
12217	_ struct{} `type:"structure"`
12218
12219	// The list of share requests that the ListAssessmentFrameworkShareRequests
12220	// API returned.
12221	AssessmentFrameworkShareRequests []*AssessmentFrameworkShareRequest `locationName:"assessmentFrameworkShareRequests" type:"list"`
12222
12223	// The pagination token that's used to fetch the next set of results.
12224	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12225}
12226
12227// String returns the string representation.
12228//
12229// API parameter values that are decorated as "sensitive" in the API will not
12230// be included in the string output. The member name will be present, but the
12231// value will be replaced with "sensitive".
12232func (s ListAssessmentFrameworkShareRequestsOutput) String() string {
12233	return awsutil.Prettify(s)
12234}
12235
12236// GoString returns the string representation.
12237//
12238// API parameter values that are decorated as "sensitive" in the API will not
12239// be included in the string output. The member name will be present, but the
12240// value will be replaced with "sensitive".
12241func (s ListAssessmentFrameworkShareRequestsOutput) GoString() string {
12242	return s.String()
12243}
12244
12245// SetAssessmentFrameworkShareRequests sets the AssessmentFrameworkShareRequests field's value.
12246func (s *ListAssessmentFrameworkShareRequestsOutput) SetAssessmentFrameworkShareRequests(v []*AssessmentFrameworkShareRequest) *ListAssessmentFrameworkShareRequestsOutput {
12247	s.AssessmentFrameworkShareRequests = v
12248	return s
12249}
12250
12251// SetNextToken sets the NextToken field's value.
12252func (s *ListAssessmentFrameworkShareRequestsOutput) SetNextToken(v string) *ListAssessmentFrameworkShareRequestsOutput {
12253	s.NextToken = &v
12254	return s
12255}
12256
12257type ListAssessmentFrameworksInput struct {
12258	_ struct{} `type:"structure" nopayload:"true"`
12259
12260	// The type of framework, such as a standard framework or a custom framework.
12261	//
12262	// FrameworkType is a required field
12263	FrameworkType *string `location:"querystring" locationName:"frameworkType" type:"string" required:"true" enum:"FrameworkType"`
12264
12265	// Represents the maximum number of results on a page or for an API request
12266	// call.
12267	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12268
12269	// The pagination token that's used to fetch the next set of results.
12270	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12271}
12272
12273// String returns the string representation.
12274//
12275// API parameter values that are decorated as "sensitive" in the API will not
12276// be included in the string output. The member name will be present, but the
12277// value will be replaced with "sensitive".
12278func (s ListAssessmentFrameworksInput) String() string {
12279	return awsutil.Prettify(s)
12280}
12281
12282// GoString returns the string representation.
12283//
12284// API parameter values that are decorated as "sensitive" in the API will not
12285// be included in the string output. The member name will be present, but the
12286// value will be replaced with "sensitive".
12287func (s ListAssessmentFrameworksInput) GoString() string {
12288	return s.String()
12289}
12290
12291// Validate inspects the fields of the type to determine if they are valid.
12292func (s *ListAssessmentFrameworksInput) Validate() error {
12293	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentFrameworksInput"}
12294	if s.FrameworkType == nil {
12295		invalidParams.Add(request.NewErrParamRequired("FrameworkType"))
12296	}
12297	if s.MaxResults != nil && *s.MaxResults < 1 {
12298		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12299	}
12300	if s.NextToken != nil && len(*s.NextToken) < 1 {
12301		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12302	}
12303
12304	if invalidParams.Len() > 0 {
12305		return invalidParams
12306	}
12307	return nil
12308}
12309
12310// SetFrameworkType sets the FrameworkType field's value.
12311func (s *ListAssessmentFrameworksInput) SetFrameworkType(v string) *ListAssessmentFrameworksInput {
12312	s.FrameworkType = &v
12313	return s
12314}
12315
12316// SetMaxResults sets the MaxResults field's value.
12317func (s *ListAssessmentFrameworksInput) SetMaxResults(v int64) *ListAssessmentFrameworksInput {
12318	s.MaxResults = &v
12319	return s
12320}
12321
12322// SetNextToken sets the NextToken field's value.
12323func (s *ListAssessmentFrameworksInput) SetNextToken(v string) *ListAssessmentFrameworksInput {
12324	s.NextToken = &v
12325	return s
12326}
12327
12328type ListAssessmentFrameworksOutput struct {
12329	_ struct{} `type:"structure"`
12330
12331	// The list of metadata objects for the framework.
12332	FrameworkMetadataList []*AssessmentFrameworkMetadata `locationName:"frameworkMetadataList" type:"list"`
12333
12334	// The pagination token that's used to fetch the next set of results.
12335	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12336}
12337
12338// String returns the string representation.
12339//
12340// API parameter values that are decorated as "sensitive" in the API will not
12341// be included in the string output. The member name will be present, but the
12342// value will be replaced with "sensitive".
12343func (s ListAssessmentFrameworksOutput) String() string {
12344	return awsutil.Prettify(s)
12345}
12346
12347// GoString returns the string representation.
12348//
12349// API parameter values that are decorated as "sensitive" in the API will not
12350// be included in the string output. The member name will be present, but the
12351// value will be replaced with "sensitive".
12352func (s ListAssessmentFrameworksOutput) GoString() string {
12353	return s.String()
12354}
12355
12356// SetFrameworkMetadataList sets the FrameworkMetadataList field's value.
12357func (s *ListAssessmentFrameworksOutput) SetFrameworkMetadataList(v []*AssessmentFrameworkMetadata) *ListAssessmentFrameworksOutput {
12358	s.FrameworkMetadataList = v
12359	return s
12360}
12361
12362// SetNextToken sets the NextToken field's value.
12363func (s *ListAssessmentFrameworksOutput) SetNextToken(v string) *ListAssessmentFrameworksOutput {
12364	s.NextToken = &v
12365	return s
12366}
12367
12368type ListAssessmentReportsInput struct {
12369	_ struct{} `type:"structure" nopayload:"true"`
12370
12371	// Represents the maximum number of results on a page or for an API request
12372	// call.
12373	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12374
12375	// The pagination token that's used to fetch the next set of results.
12376	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12377}
12378
12379// String returns the string representation.
12380//
12381// API parameter values that are decorated as "sensitive" in the API will not
12382// be included in the string output. The member name will be present, but the
12383// value will be replaced with "sensitive".
12384func (s ListAssessmentReportsInput) String() string {
12385	return awsutil.Prettify(s)
12386}
12387
12388// GoString returns the string representation.
12389//
12390// API parameter values that are decorated as "sensitive" in the API will not
12391// be included in the string output. The member name will be present, but the
12392// value will be replaced with "sensitive".
12393func (s ListAssessmentReportsInput) GoString() string {
12394	return s.String()
12395}
12396
12397// Validate inspects the fields of the type to determine if they are valid.
12398func (s *ListAssessmentReportsInput) Validate() error {
12399	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentReportsInput"}
12400	if s.MaxResults != nil && *s.MaxResults < 1 {
12401		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12402	}
12403	if s.NextToken != nil && len(*s.NextToken) < 1 {
12404		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12405	}
12406
12407	if invalidParams.Len() > 0 {
12408		return invalidParams
12409	}
12410	return nil
12411}
12412
12413// SetMaxResults sets the MaxResults field's value.
12414func (s *ListAssessmentReportsInput) SetMaxResults(v int64) *ListAssessmentReportsInput {
12415	s.MaxResults = &v
12416	return s
12417}
12418
12419// SetNextToken sets the NextToken field's value.
12420func (s *ListAssessmentReportsInput) SetNextToken(v string) *ListAssessmentReportsInput {
12421	s.NextToken = &v
12422	return s
12423}
12424
12425type ListAssessmentReportsOutput struct {
12426	_ struct{} `type:"structure"`
12427
12428	// The list of assessment reports that the ListAssessmentReports API returned.
12429	AssessmentReports []*AssessmentReportMetadata `locationName:"assessmentReports" type:"list"`
12430
12431	// The pagination token that's used to fetch the next set of results.
12432	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12433}
12434
12435// String returns the string representation.
12436//
12437// API parameter values that are decorated as "sensitive" in the API will not
12438// be included in the string output. The member name will be present, but the
12439// value will be replaced with "sensitive".
12440func (s ListAssessmentReportsOutput) String() string {
12441	return awsutil.Prettify(s)
12442}
12443
12444// GoString returns the string representation.
12445//
12446// API parameter values that are decorated as "sensitive" in the API will not
12447// be included in the string output. The member name will be present, but the
12448// value will be replaced with "sensitive".
12449func (s ListAssessmentReportsOutput) GoString() string {
12450	return s.String()
12451}
12452
12453// SetAssessmentReports sets the AssessmentReports field's value.
12454func (s *ListAssessmentReportsOutput) SetAssessmentReports(v []*AssessmentReportMetadata) *ListAssessmentReportsOutput {
12455	s.AssessmentReports = v
12456	return s
12457}
12458
12459// SetNextToken sets the NextToken field's value.
12460func (s *ListAssessmentReportsOutput) SetNextToken(v string) *ListAssessmentReportsOutput {
12461	s.NextToken = &v
12462	return s
12463}
12464
12465type ListAssessmentsInput struct {
12466	_ struct{} `type:"structure" nopayload:"true"`
12467
12468	// Represents the maximum number of results on a page or for an API request
12469	// call.
12470	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12471
12472	// The pagination token that's used to fetch the next set of results.
12473	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12474}
12475
12476// String returns the string representation.
12477//
12478// API parameter values that are decorated as "sensitive" in the API will not
12479// be included in the string output. The member name will be present, but the
12480// value will be replaced with "sensitive".
12481func (s ListAssessmentsInput) String() string {
12482	return awsutil.Prettify(s)
12483}
12484
12485// GoString returns the string representation.
12486//
12487// API parameter values that are decorated as "sensitive" in the API will not
12488// be included in the string output. The member name will be present, but the
12489// value will be replaced with "sensitive".
12490func (s ListAssessmentsInput) GoString() string {
12491	return s.String()
12492}
12493
12494// Validate inspects the fields of the type to determine if they are valid.
12495func (s *ListAssessmentsInput) Validate() error {
12496	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentsInput"}
12497	if s.MaxResults != nil && *s.MaxResults < 1 {
12498		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12499	}
12500	if s.NextToken != nil && len(*s.NextToken) < 1 {
12501		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12502	}
12503
12504	if invalidParams.Len() > 0 {
12505		return invalidParams
12506	}
12507	return nil
12508}
12509
12510// SetMaxResults sets the MaxResults field's value.
12511func (s *ListAssessmentsInput) SetMaxResults(v int64) *ListAssessmentsInput {
12512	s.MaxResults = &v
12513	return s
12514}
12515
12516// SetNextToken sets the NextToken field's value.
12517func (s *ListAssessmentsInput) SetNextToken(v string) *ListAssessmentsInput {
12518	s.NextToken = &v
12519	return s
12520}
12521
12522type ListAssessmentsOutput struct {
12523	_ struct{} `type:"structure"`
12524
12525	// The metadata that's associated with the assessment.
12526	AssessmentMetadata []*AssessmentMetadataItem `locationName:"assessmentMetadata" type:"list"`
12527
12528	// The pagination token that's used to fetch the next set of results.
12529	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12530}
12531
12532// String returns the string representation.
12533//
12534// API parameter values that are decorated as "sensitive" in the API will not
12535// be included in the string output. The member name will be present, but the
12536// value will be replaced with "sensitive".
12537func (s ListAssessmentsOutput) String() string {
12538	return awsutil.Prettify(s)
12539}
12540
12541// GoString returns the string representation.
12542//
12543// API parameter values that are decorated as "sensitive" in the API will not
12544// be included in the string output. The member name will be present, but the
12545// value will be replaced with "sensitive".
12546func (s ListAssessmentsOutput) GoString() string {
12547	return s.String()
12548}
12549
12550// SetAssessmentMetadata sets the AssessmentMetadata field's value.
12551func (s *ListAssessmentsOutput) SetAssessmentMetadata(v []*AssessmentMetadataItem) *ListAssessmentsOutput {
12552	s.AssessmentMetadata = v
12553	return s
12554}
12555
12556// SetNextToken sets the NextToken field's value.
12557func (s *ListAssessmentsOutput) SetNextToken(v string) *ListAssessmentsOutput {
12558	s.NextToken = &v
12559	return s
12560}
12561
12562type ListControlsInput struct {
12563	_ struct{} `type:"structure" nopayload:"true"`
12564
12565	// The type of control, such as a standard control or a custom control.
12566	//
12567	// ControlType is a required field
12568	ControlType *string `location:"querystring" locationName:"controlType" type:"string" required:"true" enum:"ControlType"`
12569
12570	// Represents the maximum number of results on a page or for an API request
12571	// call.
12572	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12573
12574	// The pagination token that's used to fetch the next set of results.
12575	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12576}
12577
12578// String returns the string representation.
12579//
12580// API parameter values that are decorated as "sensitive" in the API will not
12581// be included in the string output. The member name will be present, but the
12582// value will be replaced with "sensitive".
12583func (s ListControlsInput) String() string {
12584	return awsutil.Prettify(s)
12585}
12586
12587// GoString returns the string representation.
12588//
12589// API parameter values that are decorated as "sensitive" in the API will not
12590// be included in the string output. The member name will be present, but the
12591// value will be replaced with "sensitive".
12592func (s ListControlsInput) GoString() string {
12593	return s.String()
12594}
12595
12596// Validate inspects the fields of the type to determine if they are valid.
12597func (s *ListControlsInput) Validate() error {
12598	invalidParams := request.ErrInvalidParams{Context: "ListControlsInput"}
12599	if s.ControlType == nil {
12600		invalidParams.Add(request.NewErrParamRequired("ControlType"))
12601	}
12602	if s.MaxResults != nil && *s.MaxResults < 1 {
12603		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12604	}
12605	if s.NextToken != nil && len(*s.NextToken) < 1 {
12606		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12607	}
12608
12609	if invalidParams.Len() > 0 {
12610		return invalidParams
12611	}
12612	return nil
12613}
12614
12615// SetControlType sets the ControlType field's value.
12616func (s *ListControlsInput) SetControlType(v string) *ListControlsInput {
12617	s.ControlType = &v
12618	return s
12619}
12620
12621// SetMaxResults sets the MaxResults field's value.
12622func (s *ListControlsInput) SetMaxResults(v int64) *ListControlsInput {
12623	s.MaxResults = &v
12624	return s
12625}
12626
12627// SetNextToken sets the NextToken field's value.
12628func (s *ListControlsInput) SetNextToken(v string) *ListControlsInput {
12629	s.NextToken = &v
12630	return s
12631}
12632
12633type ListControlsOutput struct {
12634	_ struct{} `type:"structure"`
12635
12636	// The list of control metadata objects that the ListControls API returned.
12637	ControlMetadataList []*ControlMetadata `locationName:"controlMetadataList" type:"list"`
12638
12639	// The pagination token that's used to fetch the next set of results.
12640	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12641}
12642
12643// String returns the string representation.
12644//
12645// API parameter values that are decorated as "sensitive" in the API will not
12646// be included in the string output. The member name will be present, but the
12647// value will be replaced with "sensitive".
12648func (s ListControlsOutput) String() string {
12649	return awsutil.Prettify(s)
12650}
12651
12652// GoString returns the string representation.
12653//
12654// API parameter values that are decorated as "sensitive" in the API will not
12655// be included in the string output. The member name will be present, but the
12656// value will be replaced with "sensitive".
12657func (s ListControlsOutput) GoString() string {
12658	return s.String()
12659}
12660
12661// SetControlMetadataList sets the ControlMetadataList field's value.
12662func (s *ListControlsOutput) SetControlMetadataList(v []*ControlMetadata) *ListControlsOutput {
12663	s.ControlMetadataList = v
12664	return s
12665}
12666
12667// SetNextToken sets the NextToken field's value.
12668func (s *ListControlsOutput) SetNextToken(v string) *ListControlsOutput {
12669	s.NextToken = &v
12670	return s
12671}
12672
12673type ListKeywordsForDataSourceInput struct {
12674	_ struct{} `type:"structure" nopayload:"true"`
12675
12676	// Represents the maximum number of results on a page or for an API request
12677	// call.
12678	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12679
12680	// The pagination token that's used to fetch the next set of results.
12681	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12682
12683	// The control mapping data source that the keywords apply to.
12684	//
12685	// Source is a required field
12686	Source *string `location:"querystring" locationName:"source" type:"string" required:"true" enum:"SourceType"`
12687}
12688
12689// String returns the string representation.
12690//
12691// API parameter values that are decorated as "sensitive" in the API will not
12692// be included in the string output. The member name will be present, but the
12693// value will be replaced with "sensitive".
12694func (s ListKeywordsForDataSourceInput) String() string {
12695	return awsutil.Prettify(s)
12696}
12697
12698// GoString returns the string representation.
12699//
12700// API parameter values that are decorated as "sensitive" in the API will not
12701// be included in the string output. The member name will be present, but the
12702// value will be replaced with "sensitive".
12703func (s ListKeywordsForDataSourceInput) GoString() string {
12704	return s.String()
12705}
12706
12707// Validate inspects the fields of the type to determine if they are valid.
12708func (s *ListKeywordsForDataSourceInput) Validate() error {
12709	invalidParams := request.ErrInvalidParams{Context: "ListKeywordsForDataSourceInput"}
12710	if s.MaxResults != nil && *s.MaxResults < 1 {
12711		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12712	}
12713	if s.NextToken != nil && len(*s.NextToken) < 1 {
12714		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12715	}
12716	if s.Source == nil {
12717		invalidParams.Add(request.NewErrParamRequired("Source"))
12718	}
12719
12720	if invalidParams.Len() > 0 {
12721		return invalidParams
12722	}
12723	return nil
12724}
12725
12726// SetMaxResults sets the MaxResults field's value.
12727func (s *ListKeywordsForDataSourceInput) SetMaxResults(v int64) *ListKeywordsForDataSourceInput {
12728	s.MaxResults = &v
12729	return s
12730}
12731
12732// SetNextToken sets the NextToken field's value.
12733func (s *ListKeywordsForDataSourceInput) SetNextToken(v string) *ListKeywordsForDataSourceInput {
12734	s.NextToken = &v
12735	return s
12736}
12737
12738// SetSource sets the Source field's value.
12739func (s *ListKeywordsForDataSourceInput) SetSource(v string) *ListKeywordsForDataSourceInput {
12740	s.Source = &v
12741	return s
12742}
12743
12744type ListKeywordsForDataSourceOutput struct {
12745	_ struct{} `type:"structure"`
12746
12747	// The list of keywords for the event mapping source.
12748	Keywords []*string `locationName:"keywords" type:"list"`
12749
12750	// The pagination token that's used to fetch the next set of results.
12751	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12752}
12753
12754// String returns the string representation.
12755//
12756// API parameter values that are decorated as "sensitive" in the API will not
12757// be included in the string output. The member name will be present, but the
12758// value will be replaced with "sensitive".
12759func (s ListKeywordsForDataSourceOutput) String() string {
12760	return awsutil.Prettify(s)
12761}
12762
12763// GoString returns the string representation.
12764//
12765// API parameter values that are decorated as "sensitive" in the API will not
12766// be included in the string output. The member name will be present, but the
12767// value will be replaced with "sensitive".
12768func (s ListKeywordsForDataSourceOutput) GoString() string {
12769	return s.String()
12770}
12771
12772// SetKeywords sets the Keywords field's value.
12773func (s *ListKeywordsForDataSourceOutput) SetKeywords(v []*string) *ListKeywordsForDataSourceOutput {
12774	s.Keywords = v
12775	return s
12776}
12777
12778// SetNextToken sets the NextToken field's value.
12779func (s *ListKeywordsForDataSourceOutput) SetNextToken(v string) *ListKeywordsForDataSourceOutput {
12780	s.NextToken = &v
12781	return s
12782}
12783
12784type ListNotificationsInput struct {
12785	_ struct{} `type:"structure" nopayload:"true"`
12786
12787	// Represents the maximum number of results on a page or for an API request
12788	// call.
12789	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12790
12791	// The pagination token that's used to fetch the next set of results.
12792	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12793}
12794
12795// String returns the string representation.
12796//
12797// API parameter values that are decorated as "sensitive" in the API will not
12798// be included in the string output. The member name will be present, but the
12799// value will be replaced with "sensitive".
12800func (s ListNotificationsInput) String() string {
12801	return awsutil.Prettify(s)
12802}
12803
12804// GoString returns the string representation.
12805//
12806// API parameter values that are decorated as "sensitive" in the API will not
12807// be included in the string output. The member name will be present, but the
12808// value will be replaced with "sensitive".
12809func (s ListNotificationsInput) GoString() string {
12810	return s.String()
12811}
12812
12813// Validate inspects the fields of the type to determine if they are valid.
12814func (s *ListNotificationsInput) Validate() error {
12815	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
12816	if s.MaxResults != nil && *s.MaxResults < 1 {
12817		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12818	}
12819	if s.NextToken != nil && len(*s.NextToken) < 1 {
12820		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12821	}
12822
12823	if invalidParams.Len() > 0 {
12824		return invalidParams
12825	}
12826	return nil
12827}
12828
12829// SetMaxResults sets the MaxResults field's value.
12830func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
12831	s.MaxResults = &v
12832	return s
12833}
12834
12835// SetNextToken sets the NextToken field's value.
12836func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
12837	s.NextToken = &v
12838	return s
12839}
12840
12841type ListNotificationsOutput struct {
12842	_ struct{} `type:"structure"`
12843
12844	// The pagination token that's used to fetch the next set of results.
12845	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12846
12847	// The returned list of notifications.
12848	Notifications []*Notification `locationName:"notifications" type:"list"`
12849}
12850
12851// String returns the string representation.
12852//
12853// API parameter values that are decorated as "sensitive" in the API will not
12854// be included in the string output. The member name will be present, but the
12855// value will be replaced with "sensitive".
12856func (s ListNotificationsOutput) String() string {
12857	return awsutil.Prettify(s)
12858}
12859
12860// GoString returns the string representation.
12861//
12862// API parameter values that are decorated as "sensitive" in the API will not
12863// be included in the string output. The member name will be present, but the
12864// value will be replaced with "sensitive".
12865func (s ListNotificationsOutput) GoString() string {
12866	return s.String()
12867}
12868
12869// SetNextToken sets the NextToken field's value.
12870func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
12871	s.NextToken = &v
12872	return s
12873}
12874
12875// SetNotifications sets the Notifications field's value.
12876func (s *ListNotificationsOutput) SetNotifications(v []*Notification) *ListNotificationsOutput {
12877	s.Notifications = v
12878	return s
12879}
12880
12881type ListTagsForResourceInput struct {
12882	_ struct{} `type:"structure" nopayload:"true"`
12883
12884	// The Amazon Resource Name (ARN) of the resource.
12885	//
12886	// ResourceArn is a required field
12887	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
12888}
12889
12890// String returns the string representation.
12891//
12892// API parameter values that are decorated as "sensitive" in the API will not
12893// be included in the string output. The member name will be present, but the
12894// value will be replaced with "sensitive".
12895func (s ListTagsForResourceInput) String() string {
12896	return awsutil.Prettify(s)
12897}
12898
12899// GoString returns the string representation.
12900//
12901// API parameter values that are decorated as "sensitive" in the API will not
12902// be included in the string output. The member name will be present, but the
12903// value will be replaced with "sensitive".
12904func (s ListTagsForResourceInput) GoString() string {
12905	return s.String()
12906}
12907
12908// Validate inspects the fields of the type to determine if they are valid.
12909func (s *ListTagsForResourceInput) Validate() error {
12910	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
12911	if s.ResourceArn == nil {
12912		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12913	}
12914	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
12915		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
12916	}
12917
12918	if invalidParams.Len() > 0 {
12919		return invalidParams
12920	}
12921	return nil
12922}
12923
12924// SetResourceArn sets the ResourceArn field's value.
12925func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
12926	s.ResourceArn = &v
12927	return s
12928}
12929
12930type ListTagsForResourceOutput struct {
12931	_ struct{} `type:"structure"`
12932
12933	// The list of tags that the ListTagsForResource API returned.
12934	Tags map[string]*string `locationName:"tags" type:"map"`
12935}
12936
12937// String returns the string representation.
12938//
12939// API parameter values that are decorated as "sensitive" in the API will not
12940// be included in the string output. The member name will be present, but the
12941// value will be replaced with "sensitive".
12942func (s ListTagsForResourceOutput) String() string {
12943	return awsutil.Prettify(s)
12944}
12945
12946// GoString returns the string representation.
12947//
12948// API parameter values that are decorated as "sensitive" in the API will not
12949// be included in the string output. The member name will be present, but the
12950// value will be replaced with "sensitive".
12951func (s ListTagsForResourceOutput) GoString() string {
12952	return s.String()
12953}
12954
12955// SetTags sets the Tags field's value.
12956func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
12957	s.Tags = v
12958	return s
12959}
12960
12961// Evidence that's uploaded to Audit Manager manually.
12962type ManualEvidence struct {
12963	_ struct{} `type:"structure"`
12964
12965	// The Amazon S3 URL that points to a manual evidence object.
12966	S3ResourcePath *string `locationName:"s3ResourcePath" min:"1" type:"string"`
12967}
12968
12969// String returns the string representation.
12970//
12971// API parameter values that are decorated as "sensitive" in the API will not
12972// be included in the string output. The member name will be present, but the
12973// value will be replaced with "sensitive".
12974func (s ManualEvidence) String() string {
12975	return awsutil.Prettify(s)
12976}
12977
12978// GoString returns the string representation.
12979//
12980// API parameter values that are decorated as "sensitive" in the API will not
12981// be included in the string output. The member name will be present, but the
12982// value will be replaced with "sensitive".
12983func (s ManualEvidence) GoString() string {
12984	return s.String()
12985}
12986
12987// Validate inspects the fields of the type to determine if they are valid.
12988func (s *ManualEvidence) Validate() error {
12989	invalidParams := request.ErrInvalidParams{Context: "ManualEvidence"}
12990	if s.S3ResourcePath != nil && len(*s.S3ResourcePath) < 1 {
12991		invalidParams.Add(request.NewErrParamMinLen("S3ResourcePath", 1))
12992	}
12993
12994	if invalidParams.Len() > 0 {
12995		return invalidParams
12996	}
12997	return nil
12998}
12999
13000// SetS3ResourcePath sets the S3ResourcePath field's value.
13001func (s *ManualEvidence) SetS3ResourcePath(v string) *ManualEvidence {
13002	s.S3ResourcePath = &v
13003	return s
13004}
13005
13006// The notification that informs a user of an update in Audit Manager. For example,
13007// this includes the notification that's sent when a control set is delegated
13008// for review.
13009type Notification struct {
13010	_ struct{} `type:"structure"`
13011
13012	// The identifier for the assessment.
13013	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
13014
13015	// The name of the related assessment.
13016	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
13017
13018	// The identifier for the control set.
13019	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
13020
13021	// Specifies the name of the control set that the notification is about.
13022	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
13023
13024	// The description of the notification.
13025	Description *string `locationName:"description" min:"1" type:"string"`
13026
13027	// The time when the notification was sent.
13028	EventTime *time.Time `locationName:"eventTime" type:"timestamp"`
13029
13030	// The unique identifier for the notification.
13031	Id *string `locationName:"id" min:"47" type:"string"`
13032
13033	// The sender of the notification.
13034	Source *string `locationName:"source" min:"1" type:"string"`
13035}
13036
13037// String returns the string representation.
13038//
13039// API parameter values that are decorated as "sensitive" in the API will not
13040// be included in the string output. The member name will be present, but the
13041// value will be replaced with "sensitive".
13042func (s Notification) String() string {
13043	return awsutil.Prettify(s)
13044}
13045
13046// GoString returns the string representation.
13047//
13048// API parameter values that are decorated as "sensitive" in the API will not
13049// be included in the string output. The member name will be present, but the
13050// value will be replaced with "sensitive".
13051func (s Notification) GoString() string {
13052	return s.String()
13053}
13054
13055// SetAssessmentId sets the AssessmentId field's value.
13056func (s *Notification) SetAssessmentId(v string) *Notification {
13057	s.AssessmentId = &v
13058	return s
13059}
13060
13061// SetAssessmentName sets the AssessmentName field's value.
13062func (s *Notification) SetAssessmentName(v string) *Notification {
13063	s.AssessmentName = &v
13064	return s
13065}
13066
13067// SetControlSetId sets the ControlSetId field's value.
13068func (s *Notification) SetControlSetId(v string) *Notification {
13069	s.ControlSetId = &v
13070	return s
13071}
13072
13073// SetControlSetName sets the ControlSetName field's value.
13074func (s *Notification) SetControlSetName(v string) *Notification {
13075	s.ControlSetName = &v
13076	return s
13077}
13078
13079// SetDescription sets the Description field's value.
13080func (s *Notification) SetDescription(v string) *Notification {
13081	s.Description = &v
13082	return s
13083}
13084
13085// SetEventTime sets the EventTime field's value.
13086func (s *Notification) SetEventTime(v time.Time) *Notification {
13087	s.EventTime = &v
13088	return s
13089}
13090
13091// SetId sets the Id field's value.
13092func (s *Notification) SetId(v string) *Notification {
13093	s.Id = &v
13094	return s
13095}
13096
13097// SetSource sets the Source field's value.
13098func (s *Notification) SetSource(v string) *Notification {
13099	s.Source = &v
13100	return s
13101}
13102
13103type RegisterAccountInput struct {
13104	_ struct{} `type:"structure"`
13105
13106	// The delegated administrator account for Audit Manager.
13107	DelegatedAdminAccount *string `locationName:"delegatedAdminAccount" min:"12" type:"string"`
13108
13109	// The KMS key details.
13110	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
13111}
13112
13113// String returns the string representation.
13114//
13115// API parameter values that are decorated as "sensitive" in the API will not
13116// be included in the string output. The member name will be present, but the
13117// value will be replaced with "sensitive".
13118func (s RegisterAccountInput) String() string {
13119	return awsutil.Prettify(s)
13120}
13121
13122// GoString returns the string representation.
13123//
13124// API parameter values that are decorated as "sensitive" in the API will not
13125// be included in the string output. The member name will be present, but the
13126// value will be replaced with "sensitive".
13127func (s RegisterAccountInput) GoString() string {
13128	return s.String()
13129}
13130
13131// Validate inspects the fields of the type to determine if they are valid.
13132func (s *RegisterAccountInput) Validate() error {
13133	invalidParams := request.ErrInvalidParams{Context: "RegisterAccountInput"}
13134	if s.DelegatedAdminAccount != nil && len(*s.DelegatedAdminAccount) < 12 {
13135		invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccount", 12))
13136	}
13137	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
13138		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
13139	}
13140
13141	if invalidParams.Len() > 0 {
13142		return invalidParams
13143	}
13144	return nil
13145}
13146
13147// SetDelegatedAdminAccount sets the DelegatedAdminAccount field's value.
13148func (s *RegisterAccountInput) SetDelegatedAdminAccount(v string) *RegisterAccountInput {
13149	s.DelegatedAdminAccount = &v
13150	return s
13151}
13152
13153// SetKmsKey sets the KmsKey field's value.
13154func (s *RegisterAccountInput) SetKmsKey(v string) *RegisterAccountInput {
13155	s.KmsKey = &v
13156	return s
13157}
13158
13159type RegisterAccountOutput struct {
13160	_ struct{} `type:"structure"`
13161
13162	// The status of the account registration request.
13163	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
13164}
13165
13166// String returns the string representation.
13167//
13168// API parameter values that are decorated as "sensitive" in the API will not
13169// be included in the string output. The member name will be present, but the
13170// value will be replaced with "sensitive".
13171func (s RegisterAccountOutput) String() string {
13172	return awsutil.Prettify(s)
13173}
13174
13175// GoString returns the string representation.
13176//
13177// API parameter values that are decorated as "sensitive" in the API will not
13178// be included in the string output. The member name will be present, but the
13179// value will be replaced with "sensitive".
13180func (s RegisterAccountOutput) GoString() string {
13181	return s.String()
13182}
13183
13184// SetStatus sets the Status field's value.
13185func (s *RegisterAccountOutput) SetStatus(v string) *RegisterAccountOutput {
13186	s.Status = &v
13187	return s
13188}
13189
13190type RegisterOrganizationAdminAccountInput struct {
13191	_ struct{} `type:"structure"`
13192
13193	// The identifier for the delegated administrator account.
13194	//
13195	// AdminAccountId is a required field
13196	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string" required:"true"`
13197}
13198
13199// String returns the string representation.
13200//
13201// API parameter values that are decorated as "sensitive" in the API will not
13202// be included in the string output. The member name will be present, but the
13203// value will be replaced with "sensitive".
13204func (s RegisterOrganizationAdminAccountInput) String() string {
13205	return awsutil.Prettify(s)
13206}
13207
13208// GoString returns the string representation.
13209//
13210// API parameter values that are decorated as "sensitive" in the API will not
13211// be included in the string output. The member name will be present, but the
13212// value will be replaced with "sensitive".
13213func (s RegisterOrganizationAdminAccountInput) GoString() string {
13214	return s.String()
13215}
13216
13217// Validate inspects the fields of the type to determine if they are valid.
13218func (s *RegisterOrganizationAdminAccountInput) Validate() error {
13219	invalidParams := request.ErrInvalidParams{Context: "RegisterOrganizationAdminAccountInput"}
13220	if s.AdminAccountId == nil {
13221		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
13222	}
13223	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
13224		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
13225	}
13226
13227	if invalidParams.Len() > 0 {
13228		return invalidParams
13229	}
13230	return nil
13231}
13232
13233// SetAdminAccountId sets the AdminAccountId field's value.
13234func (s *RegisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountInput {
13235	s.AdminAccountId = &v
13236	return s
13237}
13238
13239type RegisterOrganizationAdminAccountOutput struct {
13240	_ struct{} `type:"structure"`
13241
13242	// The identifier for the delegated administrator account.
13243	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
13244
13245	// The identifier for the organization.
13246	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
13247}
13248
13249// String returns the string representation.
13250//
13251// API parameter values that are decorated as "sensitive" in the API will not
13252// be included in the string output. The member name will be present, but the
13253// value will be replaced with "sensitive".
13254func (s RegisterOrganizationAdminAccountOutput) String() string {
13255	return awsutil.Prettify(s)
13256}
13257
13258// GoString returns the string representation.
13259//
13260// API parameter values that are decorated as "sensitive" in the API will not
13261// be included in the string output. The member name will be present, but the
13262// value will be replaced with "sensitive".
13263func (s RegisterOrganizationAdminAccountOutput) GoString() string {
13264	return s.String()
13265}
13266
13267// SetAdminAccountId sets the AdminAccountId field's value.
13268func (s *RegisterOrganizationAdminAccountOutput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountOutput {
13269	s.AdminAccountId = &v
13270	return s
13271}
13272
13273// SetOrganizationId sets the OrganizationId field's value.
13274func (s *RegisterOrganizationAdminAccountOutput) SetOrganizationId(v string) *RegisterOrganizationAdminAccountOutput {
13275	s.OrganizationId = &v
13276	return s
13277}
13278
13279// A system asset that's evaluated in an Audit Manager assessment.
13280type Resource struct {
13281	_ struct{} `type:"structure"`
13282
13283	// The Amazon Resource Name (ARN) for the resource.
13284	Arn *string `locationName:"arn" min:"20" type:"string"`
13285
13286	// The value of the resource.
13287	Value *string `locationName:"value" type:"string"`
13288}
13289
13290// String returns the string representation.
13291//
13292// API parameter values that are decorated as "sensitive" in the API will not
13293// be included in the string output. The member name will be present, but the
13294// value will be replaced with "sensitive".
13295func (s Resource) String() string {
13296	return awsutil.Prettify(s)
13297}
13298
13299// GoString returns the string representation.
13300//
13301// API parameter values that are decorated as "sensitive" in the API will not
13302// be included in the string output. The member name will be present, but the
13303// value will be replaced with "sensitive".
13304func (s Resource) GoString() string {
13305	return s.String()
13306}
13307
13308// SetArn sets the Arn field's value.
13309func (s *Resource) SetArn(v string) *Resource {
13310	s.Arn = &v
13311	return s
13312}
13313
13314// SetValue sets the Value field's value.
13315func (s *Resource) SetValue(v string) *Resource {
13316	s.Value = &v
13317	return s
13318}
13319
13320// The resource that's specified in the request can't be found.
13321type ResourceNotFoundException struct {
13322	_            struct{}                  `type:"structure"`
13323	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13324
13325	Message_ *string `locationName:"message" type:"string"`
13326
13327	// The unique identifier for the resource.
13328	//
13329	// ResourceId is a required field
13330	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
13331
13332	// The type of resource that's affected by the error.
13333	//
13334	// ResourceType is a required field
13335	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
13336}
13337
13338// String returns the string representation.
13339//
13340// API parameter values that are decorated as "sensitive" in the API will not
13341// be included in the string output. The member name will be present, but the
13342// value will be replaced with "sensitive".
13343func (s ResourceNotFoundException) String() string {
13344	return awsutil.Prettify(s)
13345}
13346
13347// GoString returns the string representation.
13348//
13349// API parameter values that are decorated as "sensitive" in the API will not
13350// be included in the string output. The member name will be present, but the
13351// value will be replaced with "sensitive".
13352func (s ResourceNotFoundException) GoString() string {
13353	return s.String()
13354}
13355
13356func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
13357	return &ResourceNotFoundException{
13358		RespMetadata: v,
13359	}
13360}
13361
13362// Code returns the exception type name.
13363func (s *ResourceNotFoundException) Code() string {
13364	return "ResourceNotFoundException"
13365}
13366
13367// Message returns the exception's message.
13368func (s *ResourceNotFoundException) Message() string {
13369	if s.Message_ != nil {
13370		return *s.Message_
13371	}
13372	return ""
13373}
13374
13375// OrigErr always returns nil, satisfies awserr.Error interface.
13376func (s *ResourceNotFoundException) OrigErr() error {
13377	return nil
13378}
13379
13380func (s *ResourceNotFoundException) Error() string {
13381	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13382}
13383
13384// Status code returns the HTTP status code for the request's response error.
13385func (s *ResourceNotFoundException) StatusCode() int {
13386	return s.RespMetadata.StatusCode
13387}
13388
13389// RequestID returns the service's response RequestID for request.
13390func (s *ResourceNotFoundException) RequestID() string {
13391	return s.RespMetadata.RequestID
13392}
13393
13394// The wrapper that contains the Audit Manager role information of the current
13395// user. This includes the role type and IAM Amazon Resource Name (ARN).
13396type Role struct {
13397	_ struct{} `type:"structure"`
13398
13399	// The Amazon Resource Name (ARN) of the IAM role.
13400	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
13401
13402	// The type of customer persona.
13403	//
13404	// In CreateAssessment, roleType can only be PROCESS_OWNER.
13405	//
13406	// In UpdateSettings, roleType can only be PROCESS_OWNER.
13407	//
13408	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
13409	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
13410}
13411
13412// String returns the string representation.
13413//
13414// API parameter values that are decorated as "sensitive" in the API will not
13415// be included in the string output. The member name will be present, but the
13416// value will be replaced with "sensitive".
13417func (s Role) String() string {
13418	return awsutil.Prettify(s)
13419}
13420
13421// GoString returns the string representation.
13422//
13423// API parameter values that are decorated as "sensitive" in the API will not
13424// be included in the string output. The member name will be present, but the
13425// value will be replaced with "sensitive".
13426func (s Role) GoString() string {
13427	return s.String()
13428}
13429
13430// Validate inspects the fields of the type to determine if they are valid.
13431func (s *Role) Validate() error {
13432	invalidParams := request.ErrInvalidParams{Context: "Role"}
13433	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
13434		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
13435	}
13436
13437	if invalidParams.Len() > 0 {
13438		return invalidParams
13439	}
13440	return nil
13441}
13442
13443// SetRoleArn sets the RoleArn field's value.
13444func (s *Role) SetRoleArn(v string) *Role {
13445	s.RoleArn = &v
13446	return s
13447}
13448
13449// SetRoleType sets the RoleType field's value.
13450func (s *Role) SetRoleType(v string) *Role {
13451	s.RoleType = &v
13452	return s
13453}
13454
13455// The wrapper that contains the Amazon Web Services accounts and services that
13456// are in scope for the assessment.
13457type Scope struct {
13458	_ struct{} `type:"structure"`
13459
13460	// The Amazon Web Services accounts that are included in the scope of the assessment.
13461	AwsAccounts []*AWSAccount `locationName:"awsAccounts" type:"list"`
13462
13463	// The Amazon Web Services services that are included in the scope of the assessment.
13464	AwsServices []*AWSService `locationName:"awsServices" type:"list"`
13465}
13466
13467// String returns the string representation.
13468//
13469// API parameter values that are decorated as "sensitive" in the API will not
13470// be included in the string output. The member name will be present, but the
13471// value will be replaced with "sensitive".
13472func (s Scope) String() string {
13473	return awsutil.Prettify(s)
13474}
13475
13476// GoString returns the string representation.
13477//
13478// API parameter values that are decorated as "sensitive" in the API will not
13479// be included in the string output. The member name will be present, but the
13480// value will be replaced with "sensitive".
13481func (s Scope) GoString() string {
13482	return s.String()
13483}
13484
13485// Validate inspects the fields of the type to determine if they are valid.
13486func (s *Scope) Validate() error {
13487	invalidParams := request.ErrInvalidParams{Context: "Scope"}
13488	if s.AwsAccounts != nil {
13489		for i, v := range s.AwsAccounts {
13490			if v == nil {
13491				continue
13492			}
13493			if err := v.Validate(); err != nil {
13494				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsAccounts", i), err.(request.ErrInvalidParams))
13495			}
13496		}
13497	}
13498	if s.AwsServices != nil {
13499		for i, v := range s.AwsServices {
13500			if v == nil {
13501				continue
13502			}
13503			if err := v.Validate(); err != nil {
13504				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsServices", i), err.(request.ErrInvalidParams))
13505			}
13506		}
13507	}
13508
13509	if invalidParams.Len() > 0 {
13510		return invalidParams
13511	}
13512	return nil
13513}
13514
13515// SetAwsAccounts sets the AwsAccounts field's value.
13516func (s *Scope) SetAwsAccounts(v []*AWSAccount) *Scope {
13517	s.AwsAccounts = v
13518	return s
13519}
13520
13521// SetAwsServices sets the AwsServices field's value.
13522func (s *Scope) SetAwsServices(v []*AWSService) *Scope {
13523	s.AwsServices = v
13524	return s
13525}
13526
13527// The metadata that's associated with the Amazon Web Service.
13528type ServiceMetadata struct {
13529	_ struct{} `type:"structure"`
13530
13531	// The category that the Amazon Web Service belongs to, such as compute, storage,
13532	// or database.
13533	Category *string `locationName:"category" min:"1" type:"string"`
13534
13535	// The description of the Amazon Web Service.
13536	Description *string `locationName:"description" min:"1" type:"string"`
13537
13538	// The display name of the Amazon Web Service.
13539	DisplayName *string `locationName:"displayName" min:"1" type:"string"`
13540
13541	// The name of the Amazon Web Service.
13542	Name *string `locationName:"name" min:"1" type:"string"`
13543}
13544
13545// String returns the string representation.
13546//
13547// API parameter values that are decorated as "sensitive" in the API will not
13548// be included in the string output. The member name will be present, but the
13549// value will be replaced with "sensitive".
13550func (s ServiceMetadata) String() string {
13551	return awsutil.Prettify(s)
13552}
13553
13554// GoString returns the string representation.
13555//
13556// API parameter values that are decorated as "sensitive" in the API will not
13557// be included in the string output. The member name will be present, but the
13558// value will be replaced with "sensitive".
13559func (s ServiceMetadata) GoString() string {
13560	return s.String()
13561}
13562
13563// SetCategory sets the Category field's value.
13564func (s *ServiceMetadata) SetCategory(v string) *ServiceMetadata {
13565	s.Category = &v
13566	return s
13567}
13568
13569// SetDescription sets the Description field's value.
13570func (s *ServiceMetadata) SetDescription(v string) *ServiceMetadata {
13571	s.Description = &v
13572	return s
13573}
13574
13575// SetDisplayName sets the DisplayName field's value.
13576func (s *ServiceMetadata) SetDisplayName(v string) *ServiceMetadata {
13577	s.DisplayName = &v
13578	return s
13579}
13580
13581// SetName sets the Name field's value.
13582func (s *ServiceMetadata) SetName(v string) *ServiceMetadata {
13583	s.Name = &v
13584	return s
13585}
13586
13587// The settings object that holds all supported Audit Manager settings.
13588type Settings struct {
13589	_ struct{} `type:"structure"`
13590
13591	// The default storage destination for assessment reports.
13592	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
13593
13594	// The designated default audit owners.
13595	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
13596
13597	// Specifies whether Organizations is enabled.
13598	IsAwsOrgEnabled *bool `locationName:"isAwsOrgEnabled" type:"boolean"`
13599
13600	// The KMS key details.
13601	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
13602
13603	// The designated Amazon Simple Notification Service (Amazon SNS) topic.
13604	SnsTopic *string `locationName:"snsTopic" min:"1" type:"string"`
13605}
13606
13607// String returns the string representation.
13608//
13609// API parameter values that are decorated as "sensitive" in the API will not
13610// be included in the string output. The member name will be present, but the
13611// value will be replaced with "sensitive".
13612func (s Settings) String() string {
13613	return awsutil.Prettify(s)
13614}
13615
13616// GoString returns the string representation.
13617//
13618// API parameter values that are decorated as "sensitive" in the API will not
13619// be included in the string output. The member name will be present, but the
13620// value will be replaced with "sensitive".
13621func (s Settings) GoString() string {
13622	return s.String()
13623}
13624
13625// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
13626func (s *Settings) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *Settings {
13627	s.DefaultAssessmentReportsDestination = v
13628	return s
13629}
13630
13631// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
13632func (s *Settings) SetDefaultProcessOwners(v []*Role) *Settings {
13633	s.DefaultProcessOwners = v
13634	return s
13635}
13636
13637// SetIsAwsOrgEnabled sets the IsAwsOrgEnabled field's value.
13638func (s *Settings) SetIsAwsOrgEnabled(v bool) *Settings {
13639	s.IsAwsOrgEnabled = &v
13640	return s
13641}
13642
13643// SetKmsKey sets the KmsKey field's value.
13644func (s *Settings) SetKmsKey(v string) *Settings {
13645	s.KmsKey = &v
13646	return s
13647}
13648
13649// SetSnsTopic sets the SnsTopic field's value.
13650func (s *Settings) SetSnsTopic(v string) *Settings {
13651	s.SnsTopic = &v
13652	return s
13653}
13654
13655// The keyword to search for in CloudTrail logs, Config rules, Security Hub
13656// checks, and Amazon Web Services API names.
13657type SourceKeyword struct {
13658	_ struct{} `type:"structure"`
13659
13660	// The method of input for the keyword.
13661	KeywordInputType *string `locationName:"keywordInputType" type:"string" enum:"KeywordInputType"`
13662
13663	// The value of the keyword that's used to search CloudTrail logs, Config rules,
13664	// Security Hub checks, and Amazon Web Services API names when mapping a control
13665	// data source.
13666	KeywordValue *string `locationName:"keywordValue" min:"1" type:"string"`
13667}
13668
13669// String returns the string representation.
13670//
13671// API parameter values that are decorated as "sensitive" in the API will not
13672// be included in the string output. The member name will be present, but the
13673// value will be replaced with "sensitive".
13674func (s SourceKeyword) String() string {
13675	return awsutil.Prettify(s)
13676}
13677
13678// GoString returns the string representation.
13679//
13680// API parameter values that are decorated as "sensitive" in the API will not
13681// be included in the string output. The member name will be present, but the
13682// value will be replaced with "sensitive".
13683func (s SourceKeyword) GoString() string {
13684	return s.String()
13685}
13686
13687// Validate inspects the fields of the type to determine if they are valid.
13688func (s *SourceKeyword) Validate() error {
13689	invalidParams := request.ErrInvalidParams{Context: "SourceKeyword"}
13690	if s.KeywordValue != nil && len(*s.KeywordValue) < 1 {
13691		invalidParams.Add(request.NewErrParamMinLen("KeywordValue", 1))
13692	}
13693
13694	if invalidParams.Len() > 0 {
13695		return invalidParams
13696	}
13697	return nil
13698}
13699
13700// SetKeywordInputType sets the KeywordInputType field's value.
13701func (s *SourceKeyword) SetKeywordInputType(v string) *SourceKeyword {
13702	s.KeywordInputType = &v
13703	return s
13704}
13705
13706// SetKeywordValue sets the KeywordValue field's value.
13707func (s *SourceKeyword) SetKeywordValue(v string) *SourceKeyword {
13708	s.KeywordValue = &v
13709	return s
13710}
13711
13712type StartAssessmentFrameworkShareInput struct {
13713	_ struct{} `type:"structure"`
13714
13715	// An optional comment from the sender about the share request.
13716	Comment *string `locationName:"comment" type:"string"`
13717
13718	// The Amazon Web Services account of the recipient.
13719	//
13720	// DestinationAccount is a required field
13721	DestinationAccount *string `locationName:"destinationAccount" min:"12" type:"string" required:"true"`
13722
13723	// The Amazon Web Services Region of the recipient.
13724	//
13725	// DestinationRegion is a required field
13726	DestinationRegion *string `locationName:"destinationRegion" type:"string" required:"true"`
13727
13728	// The unique identifier for the custom framework to be shared.
13729	//
13730	// FrameworkId is a required field
13731	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
13732}
13733
13734// String returns the string representation.
13735//
13736// API parameter values that are decorated as "sensitive" in the API will not
13737// be included in the string output. The member name will be present, but the
13738// value will be replaced with "sensitive".
13739func (s StartAssessmentFrameworkShareInput) String() string {
13740	return awsutil.Prettify(s)
13741}
13742
13743// GoString returns the string representation.
13744//
13745// API parameter values that are decorated as "sensitive" in the API will not
13746// be included in the string output. The member name will be present, but the
13747// value will be replaced with "sensitive".
13748func (s StartAssessmentFrameworkShareInput) GoString() string {
13749	return s.String()
13750}
13751
13752// Validate inspects the fields of the type to determine if they are valid.
13753func (s *StartAssessmentFrameworkShareInput) Validate() error {
13754	invalidParams := request.ErrInvalidParams{Context: "StartAssessmentFrameworkShareInput"}
13755	if s.DestinationAccount == nil {
13756		invalidParams.Add(request.NewErrParamRequired("DestinationAccount"))
13757	}
13758	if s.DestinationAccount != nil && len(*s.DestinationAccount) < 12 {
13759		invalidParams.Add(request.NewErrParamMinLen("DestinationAccount", 12))
13760	}
13761	if s.DestinationRegion == nil {
13762		invalidParams.Add(request.NewErrParamRequired("DestinationRegion"))
13763	}
13764	if s.FrameworkId == nil {
13765		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
13766	}
13767	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
13768		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
13769	}
13770
13771	if invalidParams.Len() > 0 {
13772		return invalidParams
13773	}
13774	return nil
13775}
13776
13777// SetComment sets the Comment field's value.
13778func (s *StartAssessmentFrameworkShareInput) SetComment(v string) *StartAssessmentFrameworkShareInput {
13779	s.Comment = &v
13780	return s
13781}
13782
13783// SetDestinationAccount sets the DestinationAccount field's value.
13784func (s *StartAssessmentFrameworkShareInput) SetDestinationAccount(v string) *StartAssessmentFrameworkShareInput {
13785	s.DestinationAccount = &v
13786	return s
13787}
13788
13789// SetDestinationRegion sets the DestinationRegion field's value.
13790func (s *StartAssessmentFrameworkShareInput) SetDestinationRegion(v string) *StartAssessmentFrameworkShareInput {
13791	s.DestinationRegion = &v
13792	return s
13793}
13794
13795// SetFrameworkId sets the FrameworkId field's value.
13796func (s *StartAssessmentFrameworkShareInput) SetFrameworkId(v string) *StartAssessmentFrameworkShareInput {
13797	s.FrameworkId = &v
13798	return s
13799}
13800
13801type StartAssessmentFrameworkShareOutput struct {
13802	_ struct{} `type:"structure"`
13803
13804	// The share request that's created by the StartAssessmentFrameworkShare API.
13805	AssessmentFrameworkShareRequest *AssessmentFrameworkShareRequest `locationName:"assessmentFrameworkShareRequest" type:"structure"`
13806}
13807
13808// String returns the string representation.
13809//
13810// API parameter values that are decorated as "sensitive" in the API will not
13811// be included in the string output. The member name will be present, but the
13812// value will be replaced with "sensitive".
13813func (s StartAssessmentFrameworkShareOutput) String() string {
13814	return awsutil.Prettify(s)
13815}
13816
13817// GoString returns the string representation.
13818//
13819// API parameter values that are decorated as "sensitive" in the API will not
13820// be included in the string output. The member name will be present, but the
13821// value will be replaced with "sensitive".
13822func (s StartAssessmentFrameworkShareOutput) GoString() string {
13823	return s.String()
13824}
13825
13826// SetAssessmentFrameworkShareRequest sets the AssessmentFrameworkShareRequest field's value.
13827func (s *StartAssessmentFrameworkShareOutput) SetAssessmentFrameworkShareRequest(v *AssessmentFrameworkShareRequest) *StartAssessmentFrameworkShareOutput {
13828	s.AssessmentFrameworkShareRequest = v
13829	return s
13830}
13831
13832type TagResourceInput struct {
13833	_ struct{} `type:"structure"`
13834
13835	// The Amazon Resource Name (ARN) of the resource.
13836	//
13837	// ResourceArn is a required field
13838	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
13839
13840	// The tags that are associated with the resource.
13841	//
13842	// Tags is a required field
13843	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
13844}
13845
13846// String returns the string representation.
13847//
13848// API parameter values that are decorated as "sensitive" in the API will not
13849// be included in the string output. The member name will be present, but the
13850// value will be replaced with "sensitive".
13851func (s TagResourceInput) String() string {
13852	return awsutil.Prettify(s)
13853}
13854
13855// GoString returns the string representation.
13856//
13857// API parameter values that are decorated as "sensitive" in the API will not
13858// be included in the string output. The member name will be present, but the
13859// value will be replaced with "sensitive".
13860func (s TagResourceInput) GoString() string {
13861	return s.String()
13862}
13863
13864// Validate inspects the fields of the type to determine if they are valid.
13865func (s *TagResourceInput) Validate() error {
13866	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13867	if s.ResourceArn == nil {
13868		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13869	}
13870	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
13871		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
13872	}
13873	if s.Tags == nil {
13874		invalidParams.Add(request.NewErrParamRequired("Tags"))
13875	}
13876
13877	if invalidParams.Len() > 0 {
13878		return invalidParams
13879	}
13880	return nil
13881}
13882
13883// SetResourceArn sets the ResourceArn field's value.
13884func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
13885	s.ResourceArn = &v
13886	return s
13887}
13888
13889// SetTags sets the Tags field's value.
13890func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
13891	s.Tags = v
13892	return s
13893}
13894
13895type TagResourceOutput struct {
13896	_ struct{} `type:"structure"`
13897}
13898
13899// String returns the string representation.
13900//
13901// API parameter values that are decorated as "sensitive" in the API will not
13902// be included in the string output. The member name will be present, but the
13903// value will be replaced with "sensitive".
13904func (s TagResourceOutput) String() string {
13905	return awsutil.Prettify(s)
13906}
13907
13908// GoString returns the string representation.
13909//
13910// API parameter values that are decorated as "sensitive" in the API will not
13911// be included in the string output. The member name will be present, but the
13912// value will be replaced with "sensitive".
13913func (s TagResourceOutput) GoString() string {
13914	return s.String()
13915}
13916
13917// Short for uniform resource locator. A URL is used as a unique identifier
13918// to locate a resource on the internet.
13919type URL struct {
13920	_ struct{} `type:"structure"`
13921
13922	// The name or word that's used as a hyperlink to the URL.
13923	HyperlinkName *string `locationName:"hyperlinkName" min:"1" type:"string"`
13924
13925	// The unique identifier for the internet resource.
13926	Link *string `locationName:"link" min:"1" type:"string"`
13927}
13928
13929// String returns the string representation.
13930//
13931// API parameter values that are decorated as "sensitive" in the API will not
13932// be included in the string output. The member name will be present, but the
13933// value will be replaced with "sensitive".
13934func (s URL) String() string {
13935	return awsutil.Prettify(s)
13936}
13937
13938// GoString returns the string representation.
13939//
13940// API parameter values that are decorated as "sensitive" in the API will not
13941// be included in the string output. The member name will be present, but the
13942// value will be replaced with "sensitive".
13943func (s URL) GoString() string {
13944	return s.String()
13945}
13946
13947// SetHyperlinkName sets the HyperlinkName field's value.
13948func (s *URL) SetHyperlinkName(v string) *URL {
13949	s.HyperlinkName = &v
13950	return s
13951}
13952
13953// SetLink sets the Link field's value.
13954func (s *URL) SetLink(v string) *URL {
13955	s.Link = &v
13956	return s
13957}
13958
13959type UntagResourceInput struct {
13960	_ struct{} `type:"structure" nopayload:"true"`
13961
13962	// The Amazon Resource Name (ARN) of the specified resource.
13963	//
13964	// ResourceArn is a required field
13965	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
13966
13967	// The name or key of the tag.
13968	//
13969	// TagKeys is a required field
13970	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
13971}
13972
13973// String returns the string representation.
13974//
13975// API parameter values that are decorated as "sensitive" in the API will not
13976// be included in the string output. The member name will be present, but the
13977// value will be replaced with "sensitive".
13978func (s UntagResourceInput) String() string {
13979	return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation.
13983//
13984// API parameter values that are decorated as "sensitive" in the API will not
13985// be included in the string output. The member name will be present, but the
13986// value will be replaced with "sensitive".
13987func (s UntagResourceInput) GoString() string {
13988	return s.String()
13989}
13990
13991// Validate inspects the fields of the type to determine if they are valid.
13992func (s *UntagResourceInput) Validate() error {
13993	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
13994	if s.ResourceArn == nil {
13995		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13996	}
13997	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
13998		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
13999	}
14000	if s.TagKeys == nil {
14001		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
14002	}
14003	if s.TagKeys != nil && len(s.TagKeys) < 1 {
14004		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
14005	}
14006
14007	if invalidParams.Len() > 0 {
14008		return invalidParams
14009	}
14010	return nil
14011}
14012
14013// SetResourceArn sets the ResourceArn field's value.
14014func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
14015	s.ResourceArn = &v
14016	return s
14017}
14018
14019// SetTagKeys sets the TagKeys field's value.
14020func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
14021	s.TagKeys = v
14022	return s
14023}
14024
14025type UntagResourceOutput struct {
14026	_ struct{} `type:"structure"`
14027}
14028
14029// String returns the string representation.
14030//
14031// API parameter values that are decorated as "sensitive" in the API will not
14032// be included in the string output. The member name will be present, but the
14033// value will be replaced with "sensitive".
14034func (s UntagResourceOutput) String() string {
14035	return awsutil.Prettify(s)
14036}
14037
14038// GoString returns the string representation.
14039//
14040// API parameter values that are decorated as "sensitive" in the API will not
14041// be included in the string output. The member name will be present, but the
14042// value will be replaced with "sensitive".
14043func (s UntagResourceOutput) GoString() string {
14044	return s.String()
14045}
14046
14047type UpdateAssessmentControlInput struct {
14048	_ struct{} `type:"structure"`
14049
14050	// The identifier for the assessment.
14051	//
14052	// AssessmentId is a required field
14053	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
14054
14055	// The comment body text for the control.
14056	CommentBody *string `locationName:"commentBody" type:"string"`
14057
14058	// The identifier for the control.
14059	//
14060	// ControlId is a required field
14061	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
14062
14063	// The identifier for the control set.
14064	//
14065	// ControlSetId is a required field
14066	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
14067
14068	// The status of the control.
14069	ControlStatus *string `locationName:"controlStatus" type:"string" enum:"ControlStatus"`
14070}
14071
14072// String returns the string representation.
14073//
14074// API parameter values that are decorated as "sensitive" in the API will not
14075// be included in the string output. The member name will be present, but the
14076// value will be replaced with "sensitive".
14077func (s UpdateAssessmentControlInput) String() string {
14078	return awsutil.Prettify(s)
14079}
14080
14081// GoString returns the string representation.
14082//
14083// API parameter values that are decorated as "sensitive" in the API will not
14084// be included in the string output. The member name will be present, but the
14085// value will be replaced with "sensitive".
14086func (s UpdateAssessmentControlInput) GoString() string {
14087	return s.String()
14088}
14089
14090// Validate inspects the fields of the type to determine if they are valid.
14091func (s *UpdateAssessmentControlInput) Validate() error {
14092	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlInput"}
14093	if s.AssessmentId == nil {
14094		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
14095	}
14096	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
14097		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
14098	}
14099	if s.ControlId == nil {
14100		invalidParams.Add(request.NewErrParamRequired("ControlId"))
14101	}
14102	if s.ControlId != nil && len(*s.ControlId) < 36 {
14103		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
14104	}
14105	if s.ControlSetId == nil {
14106		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
14107	}
14108	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
14109		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
14110	}
14111
14112	if invalidParams.Len() > 0 {
14113		return invalidParams
14114	}
14115	return nil
14116}
14117
14118// SetAssessmentId sets the AssessmentId field's value.
14119func (s *UpdateAssessmentControlInput) SetAssessmentId(v string) *UpdateAssessmentControlInput {
14120	s.AssessmentId = &v
14121	return s
14122}
14123
14124// SetCommentBody sets the CommentBody field's value.
14125func (s *UpdateAssessmentControlInput) SetCommentBody(v string) *UpdateAssessmentControlInput {
14126	s.CommentBody = &v
14127	return s
14128}
14129
14130// SetControlId sets the ControlId field's value.
14131func (s *UpdateAssessmentControlInput) SetControlId(v string) *UpdateAssessmentControlInput {
14132	s.ControlId = &v
14133	return s
14134}
14135
14136// SetControlSetId sets the ControlSetId field's value.
14137func (s *UpdateAssessmentControlInput) SetControlSetId(v string) *UpdateAssessmentControlInput {
14138	s.ControlSetId = &v
14139	return s
14140}
14141
14142// SetControlStatus sets the ControlStatus field's value.
14143func (s *UpdateAssessmentControlInput) SetControlStatus(v string) *UpdateAssessmentControlInput {
14144	s.ControlStatus = &v
14145	return s
14146}
14147
14148type UpdateAssessmentControlOutput struct {
14149	_ struct{} `type:"structure"`
14150
14151	// The name of the updated control set that the UpdateAssessmentControl API
14152	// returned.
14153	Control *AssessmentControl `locationName:"control" type:"structure"`
14154}
14155
14156// String returns the string representation.
14157//
14158// API parameter values that are decorated as "sensitive" in the API will not
14159// be included in the string output. The member name will be present, but the
14160// value will be replaced with "sensitive".
14161func (s UpdateAssessmentControlOutput) String() string {
14162	return awsutil.Prettify(s)
14163}
14164
14165// GoString returns the string representation.
14166//
14167// API parameter values that are decorated as "sensitive" in the API will not
14168// be included in the string output. The member name will be present, but the
14169// value will be replaced with "sensitive".
14170func (s UpdateAssessmentControlOutput) GoString() string {
14171	return s.String()
14172}
14173
14174// SetControl sets the Control field's value.
14175func (s *UpdateAssessmentControlOutput) SetControl(v *AssessmentControl) *UpdateAssessmentControlOutput {
14176	s.Control = v
14177	return s
14178}
14179
14180type UpdateAssessmentControlSetStatusInput struct {
14181	_ struct{} `type:"structure"`
14182
14183	// The identifier for the assessment.
14184	//
14185	// AssessmentId is a required field
14186	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
14187
14188	// The comment that's related to the status update.
14189	//
14190	// Comment is a required field
14191	Comment *string `locationName:"comment" type:"string" required:"true"`
14192
14193	// The identifier for the control set.
14194	//
14195	// ControlSetId is a required field
14196	ControlSetId *string `location:"uri" locationName:"controlSetId" type:"string" required:"true"`
14197
14198	// The status of the control set that's being updated.
14199	//
14200	// Status is a required field
14201	Status *string `locationName:"status" type:"string" required:"true" enum:"ControlSetStatus"`
14202}
14203
14204// String returns the string representation.
14205//
14206// API parameter values that are decorated as "sensitive" in the API will not
14207// be included in the string output. The member name will be present, but the
14208// value will be replaced with "sensitive".
14209func (s UpdateAssessmentControlSetStatusInput) String() string {
14210	return awsutil.Prettify(s)
14211}
14212
14213// GoString returns the string representation.
14214//
14215// API parameter values that are decorated as "sensitive" in the API will not
14216// be included in the string output. The member name will be present, but the
14217// value will be replaced with "sensitive".
14218func (s UpdateAssessmentControlSetStatusInput) GoString() string {
14219	return s.String()
14220}
14221
14222// Validate inspects the fields of the type to determine if they are valid.
14223func (s *UpdateAssessmentControlSetStatusInput) Validate() error {
14224	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlSetStatusInput"}
14225	if s.AssessmentId == nil {
14226		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
14227	}
14228	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
14229		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
14230	}
14231	if s.Comment == nil {
14232		invalidParams.Add(request.NewErrParamRequired("Comment"))
14233	}
14234	if s.ControlSetId == nil {
14235		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
14236	}
14237	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
14238		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
14239	}
14240	if s.Status == nil {
14241		invalidParams.Add(request.NewErrParamRequired("Status"))
14242	}
14243
14244	if invalidParams.Len() > 0 {
14245		return invalidParams
14246	}
14247	return nil
14248}
14249
14250// SetAssessmentId sets the AssessmentId field's value.
14251func (s *UpdateAssessmentControlSetStatusInput) SetAssessmentId(v string) *UpdateAssessmentControlSetStatusInput {
14252	s.AssessmentId = &v
14253	return s
14254}
14255
14256// SetComment sets the Comment field's value.
14257func (s *UpdateAssessmentControlSetStatusInput) SetComment(v string) *UpdateAssessmentControlSetStatusInput {
14258	s.Comment = &v
14259	return s
14260}
14261
14262// SetControlSetId sets the ControlSetId field's value.
14263func (s *UpdateAssessmentControlSetStatusInput) SetControlSetId(v string) *UpdateAssessmentControlSetStatusInput {
14264	s.ControlSetId = &v
14265	return s
14266}
14267
14268// SetStatus sets the Status field's value.
14269func (s *UpdateAssessmentControlSetStatusInput) SetStatus(v string) *UpdateAssessmentControlSetStatusInput {
14270	s.Status = &v
14271	return s
14272}
14273
14274type UpdateAssessmentControlSetStatusOutput struct {
14275	_ struct{} `type:"structure"`
14276
14277	// The name of the updated control set that the UpdateAssessmentControlSetStatus
14278	// API returned.
14279	ControlSet *AssessmentControlSet `locationName:"controlSet" type:"structure"`
14280}
14281
14282// String returns the string representation.
14283//
14284// API parameter values that are decorated as "sensitive" in the API will not
14285// be included in the string output. The member name will be present, but the
14286// value will be replaced with "sensitive".
14287func (s UpdateAssessmentControlSetStatusOutput) String() string {
14288	return awsutil.Prettify(s)
14289}
14290
14291// GoString returns the string representation.
14292//
14293// API parameter values that are decorated as "sensitive" in the API will not
14294// be included in the string output. The member name will be present, but the
14295// value will be replaced with "sensitive".
14296func (s UpdateAssessmentControlSetStatusOutput) GoString() string {
14297	return s.String()
14298}
14299
14300// SetControlSet sets the ControlSet field's value.
14301func (s *UpdateAssessmentControlSetStatusOutput) SetControlSet(v *AssessmentControlSet) *UpdateAssessmentControlSetStatusOutput {
14302	s.ControlSet = v
14303	return s
14304}
14305
14306// A controlSet entity that represents a collection of controls in Audit Manager.
14307// This doesn't contain the control set ID.
14308type UpdateAssessmentFrameworkControlSet struct {
14309	_ struct{} `type:"structure"`
14310
14311	// The list of controls that are contained within the control set.
14312	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
14313
14314	// The unique identifier for the control set.
14315	Id *string `locationName:"id" min:"1" type:"string"`
14316
14317	// The name of the control set.
14318	//
14319	// Name is a required field
14320	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
14321}
14322
14323// String returns the string representation.
14324//
14325// API parameter values that are decorated as "sensitive" in the API will not
14326// be included in the string output. The member name will be present, but the
14327// value will be replaced with "sensitive".
14328func (s UpdateAssessmentFrameworkControlSet) String() string {
14329	return awsutil.Prettify(s)
14330}
14331
14332// GoString returns the string representation.
14333//
14334// API parameter values that are decorated as "sensitive" in the API will not
14335// be included in the string output. The member name will be present, but the
14336// value will be replaced with "sensitive".
14337func (s UpdateAssessmentFrameworkControlSet) GoString() string {
14338	return s.String()
14339}
14340
14341// Validate inspects the fields of the type to determine if they are valid.
14342func (s *UpdateAssessmentFrameworkControlSet) Validate() error {
14343	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkControlSet"}
14344	if s.Controls != nil && len(s.Controls) < 1 {
14345		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
14346	}
14347	if s.Id != nil && len(*s.Id) < 1 {
14348		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14349	}
14350	if s.Name == nil {
14351		invalidParams.Add(request.NewErrParamRequired("Name"))
14352	}
14353	if s.Name != nil && len(*s.Name) < 1 {
14354		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14355	}
14356	if s.Controls != nil {
14357		for i, v := range s.Controls {
14358			if v == nil {
14359				continue
14360			}
14361			if err := v.Validate(); err != nil {
14362				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
14363			}
14364		}
14365	}
14366
14367	if invalidParams.Len() > 0 {
14368		return invalidParams
14369	}
14370	return nil
14371}
14372
14373// SetControls sets the Controls field's value.
14374func (s *UpdateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *UpdateAssessmentFrameworkControlSet {
14375	s.Controls = v
14376	return s
14377}
14378
14379// SetId sets the Id field's value.
14380func (s *UpdateAssessmentFrameworkControlSet) SetId(v string) *UpdateAssessmentFrameworkControlSet {
14381	s.Id = &v
14382	return s
14383}
14384
14385// SetName sets the Name field's value.
14386func (s *UpdateAssessmentFrameworkControlSet) SetName(v string) *UpdateAssessmentFrameworkControlSet {
14387	s.Name = &v
14388	return s
14389}
14390
14391type UpdateAssessmentFrameworkInput struct {
14392	_ struct{} `type:"structure"`
14393
14394	// The compliance type that the new custom framework supports, such as CIS or
14395	// HIPAA.
14396	ComplianceType *string `locationName:"complianceType" type:"string"`
14397
14398	// The control sets that are associated with the framework.
14399	//
14400	// ControlSets is a required field
14401	ControlSets []*UpdateAssessmentFrameworkControlSet `locationName:"controlSets" type:"list" required:"true"`
14402
14403	// The description of the updated framework.
14404	Description *string `locationName:"description" min:"1" type:"string"`
14405
14406	// The identifier for the framework.
14407	//
14408	// FrameworkId is a required field
14409	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
14410
14411	// The name of the framework to be updated.
14412	//
14413	// Name is a required field
14414	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
14415}
14416
14417// String returns the string representation.
14418//
14419// API parameter values that are decorated as "sensitive" in the API will not
14420// be included in the string output. The member name will be present, but the
14421// value will be replaced with "sensitive".
14422func (s UpdateAssessmentFrameworkInput) String() string {
14423	return awsutil.Prettify(s)
14424}
14425
14426// GoString returns the string representation.
14427//
14428// API parameter values that are decorated as "sensitive" in the API will not
14429// be included in the string output. The member name will be present, but the
14430// value will be replaced with "sensitive".
14431func (s UpdateAssessmentFrameworkInput) GoString() string {
14432	return s.String()
14433}
14434
14435// Validate inspects the fields of the type to determine if they are valid.
14436func (s *UpdateAssessmentFrameworkInput) Validate() error {
14437	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkInput"}
14438	if s.ControlSets == nil {
14439		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
14440	}
14441	if s.Description != nil && len(*s.Description) < 1 {
14442		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
14443	}
14444	if s.FrameworkId == nil {
14445		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
14446	}
14447	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
14448		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
14449	}
14450	if s.Name == nil {
14451		invalidParams.Add(request.NewErrParamRequired("Name"))
14452	}
14453	if s.Name != nil && len(*s.Name) < 1 {
14454		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14455	}
14456	if s.ControlSets != nil {
14457		for i, v := range s.ControlSets {
14458			if v == nil {
14459				continue
14460			}
14461			if err := v.Validate(); err != nil {
14462				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
14463			}
14464		}
14465	}
14466
14467	if invalidParams.Len() > 0 {
14468		return invalidParams
14469	}
14470	return nil
14471}
14472
14473// SetComplianceType sets the ComplianceType field's value.
14474func (s *UpdateAssessmentFrameworkInput) SetComplianceType(v string) *UpdateAssessmentFrameworkInput {
14475	s.ComplianceType = &v
14476	return s
14477}
14478
14479// SetControlSets sets the ControlSets field's value.
14480func (s *UpdateAssessmentFrameworkInput) SetControlSets(v []*UpdateAssessmentFrameworkControlSet) *UpdateAssessmentFrameworkInput {
14481	s.ControlSets = v
14482	return s
14483}
14484
14485// SetDescription sets the Description field's value.
14486func (s *UpdateAssessmentFrameworkInput) SetDescription(v string) *UpdateAssessmentFrameworkInput {
14487	s.Description = &v
14488	return s
14489}
14490
14491// SetFrameworkId sets the FrameworkId field's value.
14492func (s *UpdateAssessmentFrameworkInput) SetFrameworkId(v string) *UpdateAssessmentFrameworkInput {
14493	s.FrameworkId = &v
14494	return s
14495}
14496
14497// SetName sets the Name field's value.
14498func (s *UpdateAssessmentFrameworkInput) SetName(v string) *UpdateAssessmentFrameworkInput {
14499	s.Name = &v
14500	return s
14501}
14502
14503type UpdateAssessmentFrameworkOutput struct {
14504	_ struct{} `type:"structure"`
14505
14506	// The name of the framework.
14507	Framework *Framework `locationName:"framework" type:"structure"`
14508}
14509
14510// String returns the string representation.
14511//
14512// API parameter values that are decorated as "sensitive" in the API will not
14513// be included in the string output. The member name will be present, but the
14514// value will be replaced with "sensitive".
14515func (s UpdateAssessmentFrameworkOutput) String() string {
14516	return awsutil.Prettify(s)
14517}
14518
14519// GoString returns the string representation.
14520//
14521// API parameter values that are decorated as "sensitive" in the API will not
14522// be included in the string output. The member name will be present, but the
14523// value will be replaced with "sensitive".
14524func (s UpdateAssessmentFrameworkOutput) GoString() string {
14525	return s.String()
14526}
14527
14528// SetFramework sets the Framework field's value.
14529func (s *UpdateAssessmentFrameworkOutput) SetFramework(v *Framework) *UpdateAssessmentFrameworkOutput {
14530	s.Framework = v
14531	return s
14532}
14533
14534type UpdateAssessmentFrameworkShareInput struct {
14535	_ struct{} `type:"structure"`
14536
14537	// Specifies the update action for the share request.
14538	//
14539	// Action is a required field
14540	Action *string `locationName:"action" type:"string" required:"true" enum:"ShareRequestAction"`
14541
14542	// The unique identifier for the share request.
14543	//
14544	// RequestId is a required field
14545	RequestId *string `location:"uri" locationName:"requestId" min:"36" type:"string" required:"true"`
14546
14547	// Specifies whether the share request is a sent request or a received request.
14548	//
14549	// RequestType is a required field
14550	RequestType *string `locationName:"requestType" type:"string" required:"true" enum:"ShareRequestType"`
14551}
14552
14553// String returns the string representation.
14554//
14555// API parameter values that are decorated as "sensitive" in the API will not
14556// be included in the string output. The member name will be present, but the
14557// value will be replaced with "sensitive".
14558func (s UpdateAssessmentFrameworkShareInput) String() string {
14559	return awsutil.Prettify(s)
14560}
14561
14562// GoString returns the string representation.
14563//
14564// API parameter values that are decorated as "sensitive" in the API will not
14565// be included in the string output. The member name will be present, but the
14566// value will be replaced with "sensitive".
14567func (s UpdateAssessmentFrameworkShareInput) GoString() string {
14568	return s.String()
14569}
14570
14571// Validate inspects the fields of the type to determine if they are valid.
14572func (s *UpdateAssessmentFrameworkShareInput) Validate() error {
14573	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkShareInput"}
14574	if s.Action == nil {
14575		invalidParams.Add(request.NewErrParamRequired("Action"))
14576	}
14577	if s.RequestId == nil {
14578		invalidParams.Add(request.NewErrParamRequired("RequestId"))
14579	}
14580	if s.RequestId != nil && len(*s.RequestId) < 36 {
14581		invalidParams.Add(request.NewErrParamMinLen("RequestId", 36))
14582	}
14583	if s.RequestType == nil {
14584		invalidParams.Add(request.NewErrParamRequired("RequestType"))
14585	}
14586
14587	if invalidParams.Len() > 0 {
14588		return invalidParams
14589	}
14590	return nil
14591}
14592
14593// SetAction sets the Action field's value.
14594func (s *UpdateAssessmentFrameworkShareInput) SetAction(v string) *UpdateAssessmentFrameworkShareInput {
14595	s.Action = &v
14596	return s
14597}
14598
14599// SetRequestId sets the RequestId field's value.
14600func (s *UpdateAssessmentFrameworkShareInput) SetRequestId(v string) *UpdateAssessmentFrameworkShareInput {
14601	s.RequestId = &v
14602	return s
14603}
14604
14605// SetRequestType sets the RequestType field's value.
14606func (s *UpdateAssessmentFrameworkShareInput) SetRequestType(v string) *UpdateAssessmentFrameworkShareInput {
14607	s.RequestType = &v
14608	return s
14609}
14610
14611type UpdateAssessmentFrameworkShareOutput struct {
14612	_ struct{} `type:"structure"`
14613
14614	// The updated share request that's returned by the UpdateAssessmentFrameworkShare
14615	// operation.
14616	AssessmentFrameworkShareRequest *AssessmentFrameworkShareRequest `locationName:"assessmentFrameworkShareRequest" type:"structure"`
14617}
14618
14619// String returns the string representation.
14620//
14621// API parameter values that are decorated as "sensitive" in the API will not
14622// be included in the string output. The member name will be present, but the
14623// value will be replaced with "sensitive".
14624func (s UpdateAssessmentFrameworkShareOutput) String() string {
14625	return awsutil.Prettify(s)
14626}
14627
14628// GoString returns the string representation.
14629//
14630// API parameter values that are decorated as "sensitive" in the API will not
14631// be included in the string output. The member name will be present, but the
14632// value will be replaced with "sensitive".
14633func (s UpdateAssessmentFrameworkShareOutput) GoString() string {
14634	return s.String()
14635}
14636
14637// SetAssessmentFrameworkShareRequest sets the AssessmentFrameworkShareRequest field's value.
14638func (s *UpdateAssessmentFrameworkShareOutput) SetAssessmentFrameworkShareRequest(v *AssessmentFrameworkShareRequest) *UpdateAssessmentFrameworkShareOutput {
14639	s.AssessmentFrameworkShareRequest = v
14640	return s
14641}
14642
14643type UpdateAssessmentInput struct {
14644	_ struct{} `type:"structure"`
14645
14646	// The description of the assessment.
14647	AssessmentDescription *string `locationName:"assessmentDescription" type:"string"`
14648
14649	// The identifier for the assessment.
14650	//
14651	// AssessmentId is a required field
14652	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
14653
14654	// The name of the assessment to be updated.
14655	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
14656
14657	// The assessment report storage destination for the assessment that's being
14658	// updated.
14659	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
14660
14661	// The list of roles for the assessment.
14662	Roles []*Role `locationName:"roles" type:"list"`
14663
14664	// The scope of the assessment.
14665	//
14666	// Scope is a required field
14667	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
14668}
14669
14670// String returns the string representation.
14671//
14672// API parameter values that are decorated as "sensitive" in the API will not
14673// be included in the string output. The member name will be present, but the
14674// value will be replaced with "sensitive".
14675func (s UpdateAssessmentInput) String() string {
14676	return awsutil.Prettify(s)
14677}
14678
14679// GoString returns the string representation.
14680//
14681// API parameter values that are decorated as "sensitive" in the API will not
14682// be included in the string output. The member name will be present, but the
14683// value will be replaced with "sensitive".
14684func (s UpdateAssessmentInput) GoString() string {
14685	return s.String()
14686}
14687
14688// Validate inspects the fields of the type to determine if they are valid.
14689func (s *UpdateAssessmentInput) Validate() error {
14690	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentInput"}
14691	if s.AssessmentId == nil {
14692		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
14693	}
14694	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
14695		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
14696	}
14697	if s.AssessmentName != nil && len(*s.AssessmentName) < 1 {
14698		invalidParams.Add(request.NewErrParamMinLen("AssessmentName", 1))
14699	}
14700	if s.Scope == nil {
14701		invalidParams.Add(request.NewErrParamRequired("Scope"))
14702	}
14703	if s.AssessmentReportsDestination != nil {
14704		if err := s.AssessmentReportsDestination.Validate(); err != nil {
14705			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
14706		}
14707	}
14708	if s.Roles != nil {
14709		for i, v := range s.Roles {
14710			if v == nil {
14711				continue
14712			}
14713			if err := v.Validate(); err != nil {
14714				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
14715			}
14716		}
14717	}
14718	if s.Scope != nil {
14719		if err := s.Scope.Validate(); err != nil {
14720			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
14721		}
14722	}
14723
14724	if invalidParams.Len() > 0 {
14725		return invalidParams
14726	}
14727	return nil
14728}
14729
14730// SetAssessmentDescription sets the AssessmentDescription field's value.
14731func (s *UpdateAssessmentInput) SetAssessmentDescription(v string) *UpdateAssessmentInput {
14732	s.AssessmentDescription = &v
14733	return s
14734}
14735
14736// SetAssessmentId sets the AssessmentId field's value.
14737func (s *UpdateAssessmentInput) SetAssessmentId(v string) *UpdateAssessmentInput {
14738	s.AssessmentId = &v
14739	return s
14740}
14741
14742// SetAssessmentName sets the AssessmentName field's value.
14743func (s *UpdateAssessmentInput) SetAssessmentName(v string) *UpdateAssessmentInput {
14744	s.AssessmentName = &v
14745	return s
14746}
14747
14748// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
14749func (s *UpdateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateAssessmentInput {
14750	s.AssessmentReportsDestination = v
14751	return s
14752}
14753
14754// SetRoles sets the Roles field's value.
14755func (s *UpdateAssessmentInput) SetRoles(v []*Role) *UpdateAssessmentInput {
14756	s.Roles = v
14757	return s
14758}
14759
14760// SetScope sets the Scope field's value.
14761func (s *UpdateAssessmentInput) SetScope(v *Scope) *UpdateAssessmentInput {
14762	s.Scope = v
14763	return s
14764}
14765
14766type UpdateAssessmentOutput struct {
14767	_ struct{} `type:"structure"`
14768
14769	// The response object for the UpdateAssessmentRequest API. This is the name
14770	// of the updated assessment.
14771	Assessment *Assessment `locationName:"assessment" type:"structure"`
14772}
14773
14774// String returns the string representation.
14775//
14776// API parameter values that are decorated as "sensitive" in the API will not
14777// be included in the string output. The member name will be present, but the
14778// value will be replaced with "sensitive".
14779func (s UpdateAssessmentOutput) String() string {
14780	return awsutil.Prettify(s)
14781}
14782
14783// GoString returns the string representation.
14784//
14785// API parameter values that are decorated as "sensitive" in the API will not
14786// be included in the string output. The member name will be present, but the
14787// value will be replaced with "sensitive".
14788func (s UpdateAssessmentOutput) GoString() string {
14789	return s.String()
14790}
14791
14792// SetAssessment sets the Assessment field's value.
14793func (s *UpdateAssessmentOutput) SetAssessment(v *Assessment) *UpdateAssessmentOutput {
14794	s.Assessment = v
14795	return s
14796}
14797
14798type UpdateAssessmentStatusInput struct {
14799	_ struct{} `type:"structure"`
14800
14801	// The identifier for the assessment.
14802	//
14803	// AssessmentId is a required field
14804	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
14805
14806	// The current status of the assessment.
14807	//
14808	// Status is a required field
14809	Status *string `locationName:"status" type:"string" required:"true" enum:"AssessmentStatus"`
14810}
14811
14812// String returns the string representation.
14813//
14814// API parameter values that are decorated as "sensitive" in the API will not
14815// be included in the string output. The member name will be present, but the
14816// value will be replaced with "sensitive".
14817func (s UpdateAssessmentStatusInput) String() string {
14818	return awsutil.Prettify(s)
14819}
14820
14821// GoString returns the string representation.
14822//
14823// API parameter values that are decorated as "sensitive" in the API will not
14824// be included in the string output. The member name will be present, but the
14825// value will be replaced with "sensitive".
14826func (s UpdateAssessmentStatusInput) GoString() string {
14827	return s.String()
14828}
14829
14830// Validate inspects the fields of the type to determine if they are valid.
14831func (s *UpdateAssessmentStatusInput) Validate() error {
14832	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentStatusInput"}
14833	if s.AssessmentId == nil {
14834		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
14835	}
14836	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
14837		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
14838	}
14839	if s.Status == nil {
14840		invalidParams.Add(request.NewErrParamRequired("Status"))
14841	}
14842
14843	if invalidParams.Len() > 0 {
14844		return invalidParams
14845	}
14846	return nil
14847}
14848
14849// SetAssessmentId sets the AssessmentId field's value.
14850func (s *UpdateAssessmentStatusInput) SetAssessmentId(v string) *UpdateAssessmentStatusInput {
14851	s.AssessmentId = &v
14852	return s
14853}
14854
14855// SetStatus sets the Status field's value.
14856func (s *UpdateAssessmentStatusInput) SetStatus(v string) *UpdateAssessmentStatusInput {
14857	s.Status = &v
14858	return s
14859}
14860
14861type UpdateAssessmentStatusOutput struct {
14862	_ struct{} `type:"structure"`
14863
14864	// The name of the updated assessment that the UpdateAssessmentStatus API returned.
14865	Assessment *Assessment `locationName:"assessment" type:"structure"`
14866}
14867
14868// String returns the string representation.
14869//
14870// API parameter values that are decorated as "sensitive" in the API will not
14871// be included in the string output. The member name will be present, but the
14872// value will be replaced with "sensitive".
14873func (s UpdateAssessmentStatusOutput) String() string {
14874	return awsutil.Prettify(s)
14875}
14876
14877// GoString returns the string representation.
14878//
14879// API parameter values that are decorated as "sensitive" in the API will not
14880// be included in the string output. The member name will be present, but the
14881// value will be replaced with "sensitive".
14882func (s UpdateAssessmentStatusOutput) GoString() string {
14883	return s.String()
14884}
14885
14886// SetAssessment sets the Assessment field's value.
14887func (s *UpdateAssessmentStatusOutput) SetAssessment(v *Assessment) *UpdateAssessmentStatusOutput {
14888	s.Assessment = v
14889	return s
14890}
14891
14892type UpdateControlInput struct {
14893	_ struct{} `type:"structure"`
14894
14895	// The recommended actions to carry out if the control isn't fulfilled.
14896	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
14897
14898	// The title of the action plan for remediating the control.
14899	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
14900
14901	// The identifier for the control.
14902	//
14903	// ControlId is a required field
14904	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
14905
14906	// The data mapping sources for the control.
14907	//
14908	// ControlMappingSources is a required field
14909	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
14910
14911	// The optional description of the control.
14912	Description *string `locationName:"description" type:"string"`
14913
14914	// The name of the updated control.
14915	//
14916	// Name is a required field
14917	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
14918
14919	// The steps that you should follow to determine if the control is met.
14920	TestingInformation *string `locationName:"testingInformation" type:"string"`
14921}
14922
14923// String returns the string representation.
14924//
14925// API parameter values that are decorated as "sensitive" in the API will not
14926// be included in the string output. The member name will be present, but the
14927// value will be replaced with "sensitive".
14928func (s UpdateControlInput) String() string {
14929	return awsutil.Prettify(s)
14930}
14931
14932// GoString returns the string representation.
14933//
14934// API parameter values that are decorated as "sensitive" in the API will not
14935// be included in the string output. The member name will be present, but the
14936// value will be replaced with "sensitive".
14937func (s UpdateControlInput) GoString() string {
14938	return s.String()
14939}
14940
14941// Validate inspects the fields of the type to determine if they are valid.
14942func (s *UpdateControlInput) Validate() error {
14943	invalidParams := request.ErrInvalidParams{Context: "UpdateControlInput"}
14944	if s.ControlId == nil {
14945		invalidParams.Add(request.NewErrParamRequired("ControlId"))
14946	}
14947	if s.ControlId != nil && len(*s.ControlId) < 36 {
14948		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
14949	}
14950	if s.ControlMappingSources == nil {
14951		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
14952	}
14953	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
14954		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
14955	}
14956	if s.Name == nil {
14957		invalidParams.Add(request.NewErrParamRequired("Name"))
14958	}
14959	if s.Name != nil && len(*s.Name) < 1 {
14960		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14961	}
14962	if s.ControlMappingSources != nil {
14963		for i, v := range s.ControlMappingSources {
14964			if v == nil {
14965				continue
14966			}
14967			if err := v.Validate(); err != nil {
14968				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
14969			}
14970		}
14971	}
14972
14973	if invalidParams.Len() > 0 {
14974		return invalidParams
14975	}
14976	return nil
14977}
14978
14979// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
14980func (s *UpdateControlInput) SetActionPlanInstructions(v string) *UpdateControlInput {
14981	s.ActionPlanInstructions = &v
14982	return s
14983}
14984
14985// SetActionPlanTitle sets the ActionPlanTitle field's value.
14986func (s *UpdateControlInput) SetActionPlanTitle(v string) *UpdateControlInput {
14987	s.ActionPlanTitle = &v
14988	return s
14989}
14990
14991// SetControlId sets the ControlId field's value.
14992func (s *UpdateControlInput) SetControlId(v string) *UpdateControlInput {
14993	s.ControlId = &v
14994	return s
14995}
14996
14997// SetControlMappingSources sets the ControlMappingSources field's value.
14998func (s *UpdateControlInput) SetControlMappingSources(v []*ControlMappingSource) *UpdateControlInput {
14999	s.ControlMappingSources = v
15000	return s
15001}
15002
15003// SetDescription sets the Description field's value.
15004func (s *UpdateControlInput) SetDescription(v string) *UpdateControlInput {
15005	s.Description = &v
15006	return s
15007}
15008
15009// SetName sets the Name field's value.
15010func (s *UpdateControlInput) SetName(v string) *UpdateControlInput {
15011	s.Name = &v
15012	return s
15013}
15014
15015// SetTestingInformation sets the TestingInformation field's value.
15016func (s *UpdateControlInput) SetTestingInformation(v string) *UpdateControlInput {
15017	s.TestingInformation = &v
15018	return s
15019}
15020
15021type UpdateControlOutput struct {
15022	_ struct{} `type:"structure"`
15023
15024	// The name of the updated control set that the UpdateControl API returned.
15025	Control *Control `locationName:"control" type:"structure"`
15026}
15027
15028// String returns the string representation.
15029//
15030// API parameter values that are decorated as "sensitive" in the API will not
15031// be included in the string output. The member name will be present, but the
15032// value will be replaced with "sensitive".
15033func (s UpdateControlOutput) String() string {
15034	return awsutil.Prettify(s)
15035}
15036
15037// GoString returns the string representation.
15038//
15039// API parameter values that are decorated as "sensitive" in the API will not
15040// be included in the string output. The member name will be present, but the
15041// value will be replaced with "sensitive".
15042func (s UpdateControlOutput) GoString() string {
15043	return s.String()
15044}
15045
15046// SetControl sets the Control field's value.
15047func (s *UpdateControlOutput) SetControl(v *Control) *UpdateControlOutput {
15048	s.Control = v
15049	return s
15050}
15051
15052type UpdateSettingsInput struct {
15053	_ struct{} `type:"structure"`
15054
15055	// The default storage destination for assessment reports.
15056	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
15057
15058	// A list of the default audit owners.
15059	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
15060
15061	// The KMS key details.
15062	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
15063
15064	// The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager
15065	// sends notifications to.
15066	SnsTopic *string `locationName:"snsTopic" min:"20" type:"string"`
15067}
15068
15069// String returns the string representation.
15070//
15071// API parameter values that are decorated as "sensitive" in the API will not
15072// be included in the string output. The member name will be present, but the
15073// value will be replaced with "sensitive".
15074func (s UpdateSettingsInput) String() string {
15075	return awsutil.Prettify(s)
15076}
15077
15078// GoString returns the string representation.
15079//
15080// API parameter values that are decorated as "sensitive" in the API will not
15081// be included in the string output. The member name will be present, but the
15082// value will be replaced with "sensitive".
15083func (s UpdateSettingsInput) GoString() string {
15084	return s.String()
15085}
15086
15087// Validate inspects the fields of the type to determine if they are valid.
15088func (s *UpdateSettingsInput) Validate() error {
15089	invalidParams := request.ErrInvalidParams{Context: "UpdateSettingsInput"}
15090	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
15091		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
15092	}
15093	if s.SnsTopic != nil && len(*s.SnsTopic) < 20 {
15094		invalidParams.Add(request.NewErrParamMinLen("SnsTopic", 20))
15095	}
15096	if s.DefaultAssessmentReportsDestination != nil {
15097		if err := s.DefaultAssessmentReportsDestination.Validate(); err != nil {
15098			invalidParams.AddNested("DefaultAssessmentReportsDestination", err.(request.ErrInvalidParams))
15099		}
15100	}
15101	if s.DefaultProcessOwners != nil {
15102		for i, v := range s.DefaultProcessOwners {
15103			if v == nil {
15104				continue
15105			}
15106			if err := v.Validate(); err != nil {
15107				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultProcessOwners", i), err.(request.ErrInvalidParams))
15108			}
15109		}
15110	}
15111
15112	if invalidParams.Len() > 0 {
15113		return invalidParams
15114	}
15115	return nil
15116}
15117
15118// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
15119func (s *UpdateSettingsInput) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateSettingsInput {
15120	s.DefaultAssessmentReportsDestination = v
15121	return s
15122}
15123
15124// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
15125func (s *UpdateSettingsInput) SetDefaultProcessOwners(v []*Role) *UpdateSettingsInput {
15126	s.DefaultProcessOwners = v
15127	return s
15128}
15129
15130// SetKmsKey sets the KmsKey field's value.
15131func (s *UpdateSettingsInput) SetKmsKey(v string) *UpdateSettingsInput {
15132	s.KmsKey = &v
15133	return s
15134}
15135
15136// SetSnsTopic sets the SnsTopic field's value.
15137func (s *UpdateSettingsInput) SetSnsTopic(v string) *UpdateSettingsInput {
15138	s.SnsTopic = &v
15139	return s
15140}
15141
15142type UpdateSettingsOutput struct {
15143	_ struct{} `type:"structure"`
15144
15145	// The current list of settings.
15146	Settings *Settings `locationName:"settings" type:"structure"`
15147}
15148
15149// String returns the string representation.
15150//
15151// API parameter values that are decorated as "sensitive" in the API will not
15152// be included in the string output. The member name will be present, but the
15153// value will be replaced with "sensitive".
15154func (s UpdateSettingsOutput) String() string {
15155	return awsutil.Prettify(s)
15156}
15157
15158// GoString returns the string representation.
15159//
15160// API parameter values that are decorated as "sensitive" in the API will not
15161// be included in the string output. The member name will be present, but the
15162// value will be replaced with "sensitive".
15163func (s UpdateSettingsOutput) GoString() string {
15164	return s.String()
15165}
15166
15167// SetSettings sets the Settings field's value.
15168func (s *UpdateSettingsOutput) SetSettings(v *Settings) *UpdateSettingsOutput {
15169	s.Settings = v
15170	return s
15171}
15172
15173type ValidateAssessmentReportIntegrityInput struct {
15174	_ struct{} `type:"structure"`
15175
15176	// The relative path of the Amazon S3 bucket that the assessment report is stored
15177	// in.
15178	//
15179	// S3RelativePath is a required field
15180	S3RelativePath *string `locationName:"s3RelativePath" min:"1" type:"string" required:"true"`
15181}
15182
15183// String returns the string representation.
15184//
15185// API parameter values that are decorated as "sensitive" in the API will not
15186// be included in the string output. The member name will be present, but the
15187// value will be replaced with "sensitive".
15188func (s ValidateAssessmentReportIntegrityInput) String() string {
15189	return awsutil.Prettify(s)
15190}
15191
15192// GoString returns the string representation.
15193//
15194// API parameter values that are decorated as "sensitive" in the API will not
15195// be included in the string output. The member name will be present, but the
15196// value will be replaced with "sensitive".
15197func (s ValidateAssessmentReportIntegrityInput) GoString() string {
15198	return s.String()
15199}
15200
15201// Validate inspects the fields of the type to determine if they are valid.
15202func (s *ValidateAssessmentReportIntegrityInput) Validate() error {
15203	invalidParams := request.ErrInvalidParams{Context: "ValidateAssessmentReportIntegrityInput"}
15204	if s.S3RelativePath == nil {
15205		invalidParams.Add(request.NewErrParamRequired("S3RelativePath"))
15206	}
15207	if s.S3RelativePath != nil && len(*s.S3RelativePath) < 1 {
15208		invalidParams.Add(request.NewErrParamMinLen("S3RelativePath", 1))
15209	}
15210
15211	if invalidParams.Len() > 0 {
15212		return invalidParams
15213	}
15214	return nil
15215}
15216
15217// SetS3RelativePath sets the S3RelativePath field's value.
15218func (s *ValidateAssessmentReportIntegrityInput) SetS3RelativePath(v string) *ValidateAssessmentReportIntegrityInput {
15219	s.S3RelativePath = &v
15220	return s
15221}
15222
15223type ValidateAssessmentReportIntegrityOutput struct {
15224	_ struct{} `type:"structure"`
15225
15226	// The signature algorithm that's used to code sign the assessment report file.
15227	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
15228
15229	// The date and time signature that specifies when the assessment report was
15230	// created.
15231	SignatureDateTime *string `locationName:"signatureDateTime" type:"string"`
15232
15233	// The unique identifier for the validation signature key.
15234	SignatureKeyId *string `locationName:"signatureKeyId" type:"string"`
15235
15236	// Specifies whether the signature key is valid.
15237	SignatureValid *bool `locationName:"signatureValid" type:"boolean"`
15238
15239	// Represents any errors that occurred when validating the assessment report.
15240	ValidationErrors []*string `locationName:"validationErrors" type:"list"`
15241}
15242
15243// String returns the string representation.
15244//
15245// API parameter values that are decorated as "sensitive" in the API will not
15246// be included in the string output. The member name will be present, but the
15247// value will be replaced with "sensitive".
15248func (s ValidateAssessmentReportIntegrityOutput) String() string {
15249	return awsutil.Prettify(s)
15250}
15251
15252// GoString returns the string representation.
15253//
15254// API parameter values that are decorated as "sensitive" in the API will not
15255// be included in the string output. The member name will be present, but the
15256// value will be replaced with "sensitive".
15257func (s ValidateAssessmentReportIntegrityOutput) GoString() string {
15258	return s.String()
15259}
15260
15261// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
15262func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureAlgorithm(v string) *ValidateAssessmentReportIntegrityOutput {
15263	s.SignatureAlgorithm = &v
15264	return s
15265}
15266
15267// SetSignatureDateTime sets the SignatureDateTime field's value.
15268func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureDateTime(v string) *ValidateAssessmentReportIntegrityOutput {
15269	s.SignatureDateTime = &v
15270	return s
15271}
15272
15273// SetSignatureKeyId sets the SignatureKeyId field's value.
15274func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureKeyId(v string) *ValidateAssessmentReportIntegrityOutput {
15275	s.SignatureKeyId = &v
15276	return s
15277}
15278
15279// SetSignatureValid sets the SignatureValid field's value.
15280func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureValid(v bool) *ValidateAssessmentReportIntegrityOutput {
15281	s.SignatureValid = &v
15282	return s
15283}
15284
15285// SetValidationErrors sets the ValidationErrors field's value.
15286func (s *ValidateAssessmentReportIntegrityOutput) SetValidationErrors(v []*string) *ValidateAssessmentReportIntegrityOutput {
15287	s.ValidationErrors = v
15288	return s
15289}
15290
15291// The request has invalid or missing parameters.
15292type ValidationException struct {
15293	_            struct{}                  `type:"structure"`
15294	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15295
15296	// The fields that caused the error, if applicable.
15297	Fields []*ValidationExceptionField `locationName:"fields" type:"list"`
15298
15299	Message_ *string `locationName:"message" type:"string"`
15300
15301	// The reason the request failed validation.
15302	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
15303}
15304
15305// String returns the string representation.
15306//
15307// API parameter values that are decorated as "sensitive" in the API will not
15308// be included in the string output. The member name will be present, but the
15309// value will be replaced with "sensitive".
15310func (s ValidationException) String() string {
15311	return awsutil.Prettify(s)
15312}
15313
15314// GoString returns the string representation.
15315//
15316// API parameter values that are decorated as "sensitive" in the API will not
15317// be included in the string output. The member name will be present, but the
15318// value will be replaced with "sensitive".
15319func (s ValidationException) GoString() string {
15320	return s.String()
15321}
15322
15323func newErrorValidationException(v protocol.ResponseMetadata) error {
15324	return &ValidationException{
15325		RespMetadata: v,
15326	}
15327}
15328
15329// Code returns the exception type name.
15330func (s *ValidationException) Code() string {
15331	return "ValidationException"
15332}
15333
15334// Message returns the exception's message.
15335func (s *ValidationException) Message() string {
15336	if s.Message_ != nil {
15337		return *s.Message_
15338	}
15339	return ""
15340}
15341
15342// OrigErr always returns nil, satisfies awserr.Error interface.
15343func (s *ValidationException) OrigErr() error {
15344	return nil
15345}
15346
15347func (s *ValidationException) Error() string {
15348	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15349}
15350
15351// Status code returns the HTTP status code for the request's response error.
15352func (s *ValidationException) StatusCode() int {
15353	return s.RespMetadata.StatusCode
15354}
15355
15356// RequestID returns the service's response RequestID for request.
15357func (s *ValidationException) RequestID() string {
15358	return s.RespMetadata.RequestID
15359}
15360
15361// Indicates that the request has invalid or missing parameters for the field.
15362type ValidationExceptionField struct {
15363	_ struct{} `type:"structure"`
15364
15365	// The body of the error message.
15366	//
15367	// Message is a required field
15368	Message *string `locationName:"message" type:"string" required:"true"`
15369
15370	// The name of the validation error.
15371	//
15372	// Name is a required field
15373	Name *string `locationName:"name" type:"string" required:"true"`
15374}
15375
15376// String returns the string representation.
15377//
15378// API parameter values that are decorated as "sensitive" in the API will not
15379// be included in the string output. The member name will be present, but the
15380// value will be replaced with "sensitive".
15381func (s ValidationExceptionField) String() string {
15382	return awsutil.Prettify(s)
15383}
15384
15385// GoString returns the string representation.
15386//
15387// API parameter values that are decorated as "sensitive" in the API will not
15388// be included in the string output. The member name will be present, but the
15389// value will be replaced with "sensitive".
15390func (s ValidationExceptionField) GoString() string {
15391	return s.String()
15392}
15393
15394// SetMessage sets the Message field's value.
15395func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
15396	s.Message = &v
15397	return s
15398}
15399
15400// SetName sets the Name field's value.
15401func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
15402	s.Name = &v
15403	return s
15404}
15405
15406const (
15407	// AccountStatusActive is a AccountStatus enum value
15408	AccountStatusActive = "ACTIVE"
15409
15410	// AccountStatusInactive is a AccountStatus enum value
15411	AccountStatusInactive = "INACTIVE"
15412
15413	// AccountStatusPendingActivation is a AccountStatus enum value
15414	AccountStatusPendingActivation = "PENDING_ACTIVATION"
15415)
15416
15417// AccountStatus_Values returns all elements of the AccountStatus enum
15418func AccountStatus_Values() []string {
15419	return []string{
15420		AccountStatusActive,
15421		AccountStatusInactive,
15422		AccountStatusPendingActivation,
15423	}
15424}
15425
15426const (
15427	// ActionEnumCreate is a ActionEnum enum value
15428	ActionEnumCreate = "CREATE"
15429
15430	// ActionEnumUpdateMetadata is a ActionEnum enum value
15431	ActionEnumUpdateMetadata = "UPDATE_METADATA"
15432
15433	// ActionEnumActive is a ActionEnum enum value
15434	ActionEnumActive = "ACTIVE"
15435
15436	// ActionEnumInactive is a ActionEnum enum value
15437	ActionEnumInactive = "INACTIVE"
15438
15439	// ActionEnumDelete is a ActionEnum enum value
15440	ActionEnumDelete = "DELETE"
15441
15442	// ActionEnumUnderReview is a ActionEnum enum value
15443	ActionEnumUnderReview = "UNDER_REVIEW"
15444
15445	// ActionEnumReviewed is a ActionEnum enum value
15446	ActionEnumReviewed = "REVIEWED"
15447
15448	// ActionEnumImportEvidence is a ActionEnum enum value
15449	ActionEnumImportEvidence = "IMPORT_EVIDENCE"
15450)
15451
15452// ActionEnum_Values returns all elements of the ActionEnum enum
15453func ActionEnum_Values() []string {
15454	return []string{
15455		ActionEnumCreate,
15456		ActionEnumUpdateMetadata,
15457		ActionEnumActive,
15458		ActionEnumInactive,
15459		ActionEnumDelete,
15460		ActionEnumUnderReview,
15461		ActionEnumReviewed,
15462		ActionEnumImportEvidence,
15463	}
15464}
15465
15466const (
15467	// AssessmentReportDestinationTypeS3 is a AssessmentReportDestinationType enum value
15468	AssessmentReportDestinationTypeS3 = "S3"
15469)
15470
15471// AssessmentReportDestinationType_Values returns all elements of the AssessmentReportDestinationType enum
15472func AssessmentReportDestinationType_Values() []string {
15473	return []string{
15474		AssessmentReportDestinationTypeS3,
15475	}
15476}
15477
15478const (
15479	// AssessmentReportStatusComplete is a AssessmentReportStatus enum value
15480	AssessmentReportStatusComplete = "COMPLETE"
15481
15482	// AssessmentReportStatusInProgress is a AssessmentReportStatus enum value
15483	AssessmentReportStatusInProgress = "IN_PROGRESS"
15484
15485	// AssessmentReportStatusFailed is a AssessmentReportStatus enum value
15486	AssessmentReportStatusFailed = "FAILED"
15487)
15488
15489// AssessmentReportStatus_Values returns all elements of the AssessmentReportStatus enum
15490func AssessmentReportStatus_Values() []string {
15491	return []string{
15492		AssessmentReportStatusComplete,
15493		AssessmentReportStatusInProgress,
15494		AssessmentReportStatusFailed,
15495	}
15496}
15497
15498const (
15499	// AssessmentStatusActive is a AssessmentStatus enum value
15500	AssessmentStatusActive = "ACTIVE"
15501
15502	// AssessmentStatusInactive is a AssessmentStatus enum value
15503	AssessmentStatusInactive = "INACTIVE"
15504)
15505
15506// AssessmentStatus_Values returns all elements of the AssessmentStatus enum
15507func AssessmentStatus_Values() []string {
15508	return []string{
15509		AssessmentStatusActive,
15510		AssessmentStatusInactive,
15511	}
15512}
15513
15514const (
15515	// ControlResponseManual is a ControlResponse enum value
15516	ControlResponseManual = "MANUAL"
15517
15518	// ControlResponseAutomate is a ControlResponse enum value
15519	ControlResponseAutomate = "AUTOMATE"
15520
15521	// ControlResponseDefer is a ControlResponse enum value
15522	ControlResponseDefer = "DEFER"
15523
15524	// ControlResponseIgnore is a ControlResponse enum value
15525	ControlResponseIgnore = "IGNORE"
15526)
15527
15528// ControlResponse_Values returns all elements of the ControlResponse enum
15529func ControlResponse_Values() []string {
15530	return []string{
15531		ControlResponseManual,
15532		ControlResponseAutomate,
15533		ControlResponseDefer,
15534		ControlResponseIgnore,
15535	}
15536}
15537
15538const (
15539	// ControlSetStatusActive is a ControlSetStatus enum value
15540	ControlSetStatusActive = "ACTIVE"
15541
15542	// ControlSetStatusUnderReview is a ControlSetStatus enum value
15543	ControlSetStatusUnderReview = "UNDER_REVIEW"
15544
15545	// ControlSetStatusReviewed is a ControlSetStatus enum value
15546	ControlSetStatusReviewed = "REVIEWED"
15547)
15548
15549// ControlSetStatus_Values returns all elements of the ControlSetStatus enum
15550func ControlSetStatus_Values() []string {
15551	return []string{
15552		ControlSetStatusActive,
15553		ControlSetStatusUnderReview,
15554		ControlSetStatusReviewed,
15555	}
15556}
15557
15558const (
15559	// ControlStatusUnderReview is a ControlStatus enum value
15560	ControlStatusUnderReview = "UNDER_REVIEW"
15561
15562	// ControlStatusReviewed is a ControlStatus enum value
15563	ControlStatusReviewed = "REVIEWED"
15564
15565	// ControlStatusInactive is a ControlStatus enum value
15566	ControlStatusInactive = "INACTIVE"
15567)
15568
15569// ControlStatus_Values returns all elements of the ControlStatus enum
15570func ControlStatus_Values() []string {
15571	return []string{
15572		ControlStatusUnderReview,
15573		ControlStatusReviewed,
15574		ControlStatusInactive,
15575	}
15576}
15577
15578const (
15579	// ControlTypeStandard is a ControlType enum value
15580	ControlTypeStandard = "Standard"
15581
15582	// ControlTypeCustom is a ControlType enum value
15583	ControlTypeCustom = "Custom"
15584)
15585
15586// ControlType_Values returns all elements of the ControlType enum
15587func ControlType_Values() []string {
15588	return []string{
15589		ControlTypeStandard,
15590		ControlTypeCustom,
15591	}
15592}
15593
15594const (
15595	// DelegationStatusInProgress is a DelegationStatus enum value
15596	DelegationStatusInProgress = "IN_PROGRESS"
15597
15598	// DelegationStatusUnderReview is a DelegationStatus enum value
15599	DelegationStatusUnderReview = "UNDER_REVIEW"
15600
15601	// DelegationStatusComplete is a DelegationStatus enum value
15602	DelegationStatusComplete = "COMPLETE"
15603)
15604
15605// DelegationStatus_Values returns all elements of the DelegationStatus enum
15606func DelegationStatus_Values() []string {
15607	return []string{
15608		DelegationStatusInProgress,
15609		DelegationStatusUnderReview,
15610		DelegationStatusComplete,
15611	}
15612}
15613
15614const (
15615	// FrameworkTypeStandard is a FrameworkType enum value
15616	FrameworkTypeStandard = "Standard"
15617
15618	// FrameworkTypeCustom is a FrameworkType enum value
15619	FrameworkTypeCustom = "Custom"
15620)
15621
15622// FrameworkType_Values returns all elements of the FrameworkType enum
15623func FrameworkType_Values() []string {
15624	return []string{
15625		FrameworkTypeStandard,
15626		FrameworkTypeCustom,
15627	}
15628}
15629
15630const (
15631	// KeywordInputTypeSelectFromList is a KeywordInputType enum value
15632	KeywordInputTypeSelectFromList = "SELECT_FROM_LIST"
15633)
15634
15635// KeywordInputType_Values returns all elements of the KeywordInputType enum
15636func KeywordInputType_Values() []string {
15637	return []string{
15638		KeywordInputTypeSelectFromList,
15639	}
15640}
15641
15642const (
15643	// ObjectTypeEnumAssessment is a ObjectTypeEnum enum value
15644	ObjectTypeEnumAssessment = "ASSESSMENT"
15645
15646	// ObjectTypeEnumControlSet is a ObjectTypeEnum enum value
15647	ObjectTypeEnumControlSet = "CONTROL_SET"
15648
15649	// ObjectTypeEnumControl is a ObjectTypeEnum enum value
15650	ObjectTypeEnumControl = "CONTROL"
15651
15652	// ObjectTypeEnumDelegation is a ObjectTypeEnum enum value
15653	ObjectTypeEnumDelegation = "DELEGATION"
15654
15655	// ObjectTypeEnumAssessmentReport is a ObjectTypeEnum enum value
15656	ObjectTypeEnumAssessmentReport = "ASSESSMENT_REPORT"
15657)
15658
15659// ObjectTypeEnum_Values returns all elements of the ObjectTypeEnum enum
15660func ObjectTypeEnum_Values() []string {
15661	return []string{
15662		ObjectTypeEnumAssessment,
15663		ObjectTypeEnumControlSet,
15664		ObjectTypeEnumControl,
15665		ObjectTypeEnumDelegation,
15666		ObjectTypeEnumAssessmentReport,
15667	}
15668}
15669
15670const (
15671	// RoleTypeProcessOwner is a RoleType enum value
15672	RoleTypeProcessOwner = "PROCESS_OWNER"
15673
15674	// RoleTypeResourceOwner is a RoleType enum value
15675	RoleTypeResourceOwner = "RESOURCE_OWNER"
15676)
15677
15678// RoleType_Values returns all elements of the RoleType enum
15679func RoleType_Values() []string {
15680	return []string{
15681		RoleTypeProcessOwner,
15682		RoleTypeResourceOwner,
15683	}
15684}
15685
15686const (
15687	// SettingAttributeAll is a SettingAttribute enum value
15688	SettingAttributeAll = "ALL"
15689
15690	// SettingAttributeIsAwsOrgEnabled is a SettingAttribute enum value
15691	SettingAttributeIsAwsOrgEnabled = "IS_AWS_ORG_ENABLED"
15692
15693	// SettingAttributeSnsTopic is a SettingAttribute enum value
15694	SettingAttributeSnsTopic = "SNS_TOPIC"
15695
15696	// SettingAttributeDefaultAssessmentReportsDestination is a SettingAttribute enum value
15697	SettingAttributeDefaultAssessmentReportsDestination = "DEFAULT_ASSESSMENT_REPORTS_DESTINATION"
15698
15699	// SettingAttributeDefaultProcessOwners is a SettingAttribute enum value
15700	SettingAttributeDefaultProcessOwners = "DEFAULT_PROCESS_OWNERS"
15701)
15702
15703// SettingAttribute_Values returns all elements of the SettingAttribute enum
15704func SettingAttribute_Values() []string {
15705	return []string{
15706		SettingAttributeAll,
15707		SettingAttributeIsAwsOrgEnabled,
15708		SettingAttributeSnsTopic,
15709		SettingAttributeDefaultAssessmentReportsDestination,
15710		SettingAttributeDefaultProcessOwners,
15711	}
15712}
15713
15714const (
15715	// ShareRequestActionAccept is a ShareRequestAction enum value
15716	ShareRequestActionAccept = "ACCEPT"
15717
15718	// ShareRequestActionDecline is a ShareRequestAction enum value
15719	ShareRequestActionDecline = "DECLINE"
15720
15721	// ShareRequestActionRevoke is a ShareRequestAction enum value
15722	ShareRequestActionRevoke = "REVOKE"
15723)
15724
15725// ShareRequestAction_Values returns all elements of the ShareRequestAction enum
15726func ShareRequestAction_Values() []string {
15727	return []string{
15728		ShareRequestActionAccept,
15729		ShareRequestActionDecline,
15730		ShareRequestActionRevoke,
15731	}
15732}
15733
15734const (
15735	// ShareRequestStatusActive is a ShareRequestStatus enum value
15736	ShareRequestStatusActive = "ACTIVE"
15737
15738	// ShareRequestStatusReplicating is a ShareRequestStatus enum value
15739	ShareRequestStatusReplicating = "REPLICATING"
15740
15741	// ShareRequestStatusShared is a ShareRequestStatus enum value
15742	ShareRequestStatusShared = "SHARED"
15743
15744	// ShareRequestStatusExpiring is a ShareRequestStatus enum value
15745	ShareRequestStatusExpiring = "EXPIRING"
15746
15747	// ShareRequestStatusFailed is a ShareRequestStatus enum value
15748	ShareRequestStatusFailed = "FAILED"
15749
15750	// ShareRequestStatusExpired is a ShareRequestStatus enum value
15751	ShareRequestStatusExpired = "EXPIRED"
15752
15753	// ShareRequestStatusDeclined is a ShareRequestStatus enum value
15754	ShareRequestStatusDeclined = "DECLINED"
15755
15756	// ShareRequestStatusRevoked is a ShareRequestStatus enum value
15757	ShareRequestStatusRevoked = "REVOKED"
15758)
15759
15760// ShareRequestStatus_Values returns all elements of the ShareRequestStatus enum
15761func ShareRequestStatus_Values() []string {
15762	return []string{
15763		ShareRequestStatusActive,
15764		ShareRequestStatusReplicating,
15765		ShareRequestStatusShared,
15766		ShareRequestStatusExpiring,
15767		ShareRequestStatusFailed,
15768		ShareRequestStatusExpired,
15769		ShareRequestStatusDeclined,
15770		ShareRequestStatusRevoked,
15771	}
15772}
15773
15774const (
15775	// ShareRequestTypeSent is a ShareRequestType enum value
15776	ShareRequestTypeSent = "SENT"
15777
15778	// ShareRequestTypeReceived is a ShareRequestType enum value
15779	ShareRequestTypeReceived = "RECEIVED"
15780)
15781
15782// ShareRequestType_Values returns all elements of the ShareRequestType enum
15783func ShareRequestType_Values() []string {
15784	return []string{
15785		ShareRequestTypeSent,
15786		ShareRequestTypeReceived,
15787	}
15788}
15789
15790const (
15791	// SourceFrequencyDaily is a SourceFrequency enum value
15792	SourceFrequencyDaily = "DAILY"
15793
15794	// SourceFrequencyWeekly is a SourceFrequency enum value
15795	SourceFrequencyWeekly = "WEEKLY"
15796
15797	// SourceFrequencyMonthly is a SourceFrequency enum value
15798	SourceFrequencyMonthly = "MONTHLY"
15799)
15800
15801// SourceFrequency_Values returns all elements of the SourceFrequency enum
15802func SourceFrequency_Values() []string {
15803	return []string{
15804		SourceFrequencyDaily,
15805		SourceFrequencyWeekly,
15806		SourceFrequencyMonthly,
15807	}
15808}
15809
15810const (
15811	// SourceSetUpOptionSystemControlsMapping is a SourceSetUpOption enum value
15812	SourceSetUpOptionSystemControlsMapping = "System_Controls_Mapping"
15813
15814	// SourceSetUpOptionProceduralControlsMapping is a SourceSetUpOption enum value
15815	SourceSetUpOptionProceduralControlsMapping = "Procedural_Controls_Mapping"
15816)
15817
15818// SourceSetUpOption_Values returns all elements of the SourceSetUpOption enum
15819func SourceSetUpOption_Values() []string {
15820	return []string{
15821		SourceSetUpOptionSystemControlsMapping,
15822		SourceSetUpOptionProceduralControlsMapping,
15823	}
15824}
15825
15826const (
15827	// SourceTypeAwsCloudtrail is a SourceType enum value
15828	SourceTypeAwsCloudtrail = "AWS_Cloudtrail"
15829
15830	// SourceTypeAwsConfig is a SourceType enum value
15831	SourceTypeAwsConfig = "AWS_Config"
15832
15833	// SourceTypeAwsSecurityHub is a SourceType enum value
15834	SourceTypeAwsSecurityHub = "AWS_Security_Hub"
15835
15836	// SourceTypeAwsApiCall is a SourceType enum value
15837	SourceTypeAwsApiCall = "AWS_API_Call"
15838
15839	// SourceTypeManual is a SourceType enum value
15840	SourceTypeManual = "MANUAL"
15841)
15842
15843// SourceType_Values returns all elements of the SourceType enum
15844func SourceType_Values() []string {
15845	return []string{
15846		SourceTypeAwsCloudtrail,
15847		SourceTypeAwsConfig,
15848		SourceTypeAwsSecurityHub,
15849		SourceTypeAwsApiCall,
15850		SourceTypeManual,
15851	}
15852}
15853
15854const (
15855	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
15856	ValidationExceptionReasonUnknownOperation = "unknownOperation"
15857
15858	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
15859	ValidationExceptionReasonCannotParse = "cannotParse"
15860
15861	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
15862	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
15863
15864	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
15865	ValidationExceptionReasonOther = "other"
15866)
15867
15868// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
15869func ValidationExceptionReason_Values() []string {
15870	return []string{
15871		ValidationExceptionReasonUnknownOperation,
15872		ValidationExceptionReasonCannotParse,
15873		ValidationExceptionReasonFieldValidationFailed,
15874		ValidationExceptionReasonOther,
15875	}
15876}
15877