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 the specified assessment report in Audit
62// Manager.
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 is not 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 specified in the request cannot 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 is not 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 specified in the request cannot 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// Create a batch of delegations for a specified 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 specified in the request cannot be found.
255//
256//   * AccessDeniedException
257//   Your account is not 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 the delegations in the specified Audit Manager assessment.
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 specified in the request cannot be found.
345//
346//   * AccessDeniedException
347//   Your account is not 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 the specified assessment report in
424// Audit Manager.
425//
426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
427// with awserr.Error's Code and Message methods to get detailed information about
428// the error.
429//
430// See the AWS API reference guide for AWS Audit Manager's
431// API operation BatchDisassociateAssessmentReportEvidence for usage and error information.
432//
433// Returned Error Types:
434//   * ValidationException
435//   The request has invalid or missing parameters.
436//
437//   * AccessDeniedException
438//   Your account is not registered with Audit Manager. Check the delegated administrator
439//   setup on the Audit Manager settings page, and try again.
440//
441//   * InternalServerException
442//   An internal service error occurred during the processing of your request.
443//   Try again later.
444//
445//   * ResourceNotFoundException
446//   The resource specified in the request cannot be found.
447//
448// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence
449func (c *AuditManager) BatchDisassociateAssessmentReportEvidence(input *BatchDisassociateAssessmentReportEvidenceInput) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
450	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
451	return out, req.Send()
452}
453
454// BatchDisassociateAssessmentReportEvidenceWithContext is the same as BatchDisassociateAssessmentReportEvidence with the addition of
455// the ability to pass a context and additional request options.
456//
457// See BatchDisassociateAssessmentReportEvidence for details on how to use this API operation.
458//
459// The context must be non-nil and will be used for request cancellation. If
460// the context is nil a panic will occur. In the future the SDK may create
461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
462// for more information on using Contexts.
463func (c *AuditManager) BatchDisassociateAssessmentReportEvidenceWithContext(ctx aws.Context, input *BatchDisassociateAssessmentReportEvidenceInput, opts ...request.Option) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
464	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
465	req.SetContext(ctx)
466	req.ApplyOptions(opts...)
467	return out, req.Send()
468}
469
470const opBatchImportEvidenceToAssessmentControl = "BatchImportEvidenceToAssessmentControl"
471
472// BatchImportEvidenceToAssessmentControlRequest generates a "aws/request.Request" representing the
473// client's request for the BatchImportEvidenceToAssessmentControl operation. The "output" return
474// value will be populated with the request's response once the request completes
475// successfully.
476//
477// Use "Send" method on the returned Request to send the API call to the service.
478// the "output" return value is not valid until after Send returns without error.
479//
480// See BatchImportEvidenceToAssessmentControl for more information on using the BatchImportEvidenceToAssessmentControl
481// API call, and error handling.
482//
483// This method is useful when you want to inject custom logic or configuration
484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
485//
486//
487//    // Example sending a request using the BatchImportEvidenceToAssessmentControlRequest method.
488//    req, resp := client.BatchImportEvidenceToAssessmentControlRequest(params)
489//
490//    err := req.Send()
491//    if err == nil { // resp is now filled
492//        fmt.Println(resp)
493//    }
494//
495// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
496func (c *AuditManager) BatchImportEvidenceToAssessmentControlRequest(input *BatchImportEvidenceToAssessmentControlInput) (req *request.Request, output *BatchImportEvidenceToAssessmentControlOutput) {
497	op := &request.Operation{
498		Name:       opBatchImportEvidenceToAssessmentControl,
499		HTTPMethod: "POST",
500		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}/evidence",
501	}
502
503	if input == nil {
504		input = &BatchImportEvidenceToAssessmentControlInput{}
505	}
506
507	output = &BatchImportEvidenceToAssessmentControlOutput{}
508	req = c.newRequest(op, input, output)
509	return
510}
511
512// BatchImportEvidenceToAssessmentControl API operation for AWS Audit Manager.
513//
514// Uploads one or more pieces of evidence to the specified control in the assessment
515// in Audit Manager.
516//
517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
518// with awserr.Error's Code and Message methods to get detailed information about
519// the error.
520//
521// See the AWS API reference guide for AWS Audit Manager's
522// API operation BatchImportEvidenceToAssessmentControl for usage and error information.
523//
524// Returned Error Types:
525//   * ResourceNotFoundException
526//   The resource specified in the request cannot be found.
527//
528//   * AccessDeniedException
529//   Your account is not registered with Audit Manager. Check the delegated administrator
530//   setup on the Audit Manager settings page, and try again.
531//
532//   * ValidationException
533//   The request has invalid or missing parameters.
534//
535//   * InternalServerException
536//   An internal service error occurred during the processing of your request.
537//   Try again later.
538//
539// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
540func (c *AuditManager) BatchImportEvidenceToAssessmentControl(input *BatchImportEvidenceToAssessmentControlInput) (*BatchImportEvidenceToAssessmentControlOutput, error) {
541	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
542	return out, req.Send()
543}
544
545// BatchImportEvidenceToAssessmentControlWithContext is the same as BatchImportEvidenceToAssessmentControl with the addition of
546// the ability to pass a context and additional request options.
547//
548// See BatchImportEvidenceToAssessmentControl for details on how to use this API operation.
549//
550// The context must be non-nil and will be used for request cancellation. If
551// the context is nil a panic will occur. In the future the SDK may create
552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
553// for more information on using Contexts.
554func (c *AuditManager) BatchImportEvidenceToAssessmentControlWithContext(ctx aws.Context, input *BatchImportEvidenceToAssessmentControlInput, opts ...request.Option) (*BatchImportEvidenceToAssessmentControlOutput, error) {
555	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
556	req.SetContext(ctx)
557	req.ApplyOptions(opts...)
558	return out, req.Send()
559}
560
561const opCreateAssessment = "CreateAssessment"
562
563// CreateAssessmentRequest generates a "aws/request.Request" representing the
564// client's request for the CreateAssessment operation. The "output" return
565// value will be populated with the request's response once the request completes
566// successfully.
567//
568// Use "Send" method on the returned Request to send the API call to the service.
569// the "output" return value is not valid until after Send returns without error.
570//
571// See CreateAssessment for more information on using the CreateAssessment
572// API call, and error handling.
573//
574// This method is useful when you want to inject custom logic or configuration
575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
576//
577//
578//    // Example sending a request using the CreateAssessmentRequest method.
579//    req, resp := client.CreateAssessmentRequest(params)
580//
581//    err := req.Send()
582//    if err == nil { // resp is now filled
583//        fmt.Println(resp)
584//    }
585//
586// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
587func (c *AuditManager) CreateAssessmentRequest(input *CreateAssessmentInput) (req *request.Request, output *CreateAssessmentOutput) {
588	op := &request.Operation{
589		Name:       opCreateAssessment,
590		HTTPMethod: "POST",
591		HTTPPath:   "/assessments",
592	}
593
594	if input == nil {
595		input = &CreateAssessmentInput{}
596	}
597
598	output = &CreateAssessmentOutput{}
599	req = c.newRequest(op, input, output)
600	return
601}
602
603// CreateAssessment API operation for AWS Audit Manager.
604//
605// Creates an assessment in Audit Manager.
606//
607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
608// with awserr.Error's Code and Message methods to get detailed information about
609// the error.
610//
611// See the AWS API reference guide for AWS Audit Manager's
612// API operation CreateAssessment for usage and error information.
613//
614// Returned Error Types:
615//   * ResourceNotFoundException
616//   The resource specified in the request cannot be found.
617//
618//   * ValidationException
619//   The request has invalid or missing parameters.
620//
621//   * AccessDeniedException
622//   Your account is not registered with Audit Manager. Check the delegated administrator
623//   setup on the Audit Manager settings page, and try again.
624//
625//   * InternalServerException
626//   An internal service error occurred during the processing of your request.
627//   Try again later.
628//
629// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
630func (c *AuditManager) CreateAssessment(input *CreateAssessmentInput) (*CreateAssessmentOutput, error) {
631	req, out := c.CreateAssessmentRequest(input)
632	return out, req.Send()
633}
634
635// CreateAssessmentWithContext is the same as CreateAssessment with the addition of
636// the ability to pass a context and additional request options.
637//
638// See CreateAssessment for details on how to use this API operation.
639//
640// The context must be non-nil and will be used for request cancellation. If
641// the context is nil a panic will occur. In the future the SDK may create
642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
643// for more information on using Contexts.
644func (c *AuditManager) CreateAssessmentWithContext(ctx aws.Context, input *CreateAssessmentInput, opts ...request.Option) (*CreateAssessmentOutput, error) {
645	req, out := c.CreateAssessmentRequest(input)
646	req.SetContext(ctx)
647	req.ApplyOptions(opts...)
648	return out, req.Send()
649}
650
651const opCreateAssessmentFramework = "CreateAssessmentFramework"
652
653// CreateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
654// client's request for the CreateAssessmentFramework operation. The "output" return
655// value will be populated with the request's response once the request completes
656// successfully.
657//
658// Use "Send" method on the returned Request to send the API call to the service.
659// the "output" return value is not valid until after Send returns without error.
660//
661// See CreateAssessmentFramework for more information on using the CreateAssessmentFramework
662// API call, and error handling.
663//
664// This method is useful when you want to inject custom logic or configuration
665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
666//
667//
668//    // Example sending a request using the CreateAssessmentFrameworkRequest method.
669//    req, resp := client.CreateAssessmentFrameworkRequest(params)
670//
671//    err := req.Send()
672//    if err == nil { // resp is now filled
673//        fmt.Println(resp)
674//    }
675//
676// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
677func (c *AuditManager) CreateAssessmentFrameworkRequest(input *CreateAssessmentFrameworkInput) (req *request.Request, output *CreateAssessmentFrameworkOutput) {
678	op := &request.Operation{
679		Name:       opCreateAssessmentFramework,
680		HTTPMethod: "POST",
681		HTTPPath:   "/assessmentFrameworks",
682	}
683
684	if input == nil {
685		input = &CreateAssessmentFrameworkInput{}
686	}
687
688	output = &CreateAssessmentFrameworkOutput{}
689	req = c.newRequest(op, input, output)
690	return
691}
692
693// CreateAssessmentFramework API operation for AWS Audit Manager.
694//
695// Creates a custom framework in Audit Manager.
696//
697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
698// with awserr.Error's Code and Message methods to get detailed information about
699// the error.
700//
701// See the AWS API reference guide for AWS Audit Manager's
702// API operation CreateAssessmentFramework for usage and error information.
703//
704// Returned Error Types:
705//   * ResourceNotFoundException
706//   The resource specified in the request cannot be found.
707//
708//   * ValidationException
709//   The request has invalid or missing parameters.
710//
711//   * AccessDeniedException
712//   Your account is not registered with Audit Manager. Check the delegated administrator
713//   setup on the Audit Manager settings page, and try again.
714//
715//   * InternalServerException
716//   An internal service error occurred during the processing of your request.
717//   Try again later.
718//
719// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
720func (c *AuditManager) CreateAssessmentFramework(input *CreateAssessmentFrameworkInput) (*CreateAssessmentFrameworkOutput, error) {
721	req, out := c.CreateAssessmentFrameworkRequest(input)
722	return out, req.Send()
723}
724
725// CreateAssessmentFrameworkWithContext is the same as CreateAssessmentFramework with the addition of
726// the ability to pass a context and additional request options.
727//
728// See CreateAssessmentFramework for details on how to use this API operation.
729//
730// The context must be non-nil and will be used for request cancellation. If
731// the context is nil a panic will occur. In the future the SDK may create
732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
733// for more information on using Contexts.
734func (c *AuditManager) CreateAssessmentFrameworkWithContext(ctx aws.Context, input *CreateAssessmentFrameworkInput, opts ...request.Option) (*CreateAssessmentFrameworkOutput, error) {
735	req, out := c.CreateAssessmentFrameworkRequest(input)
736	req.SetContext(ctx)
737	req.ApplyOptions(opts...)
738	return out, req.Send()
739}
740
741const opCreateAssessmentReport = "CreateAssessmentReport"
742
743// CreateAssessmentReportRequest generates a "aws/request.Request" representing the
744// client's request for the CreateAssessmentReport operation. The "output" return
745// value will be populated with the request's response once the request completes
746// successfully.
747//
748// Use "Send" method on the returned Request to send the API call to the service.
749// the "output" return value is not valid until after Send returns without error.
750//
751// See CreateAssessmentReport for more information on using the CreateAssessmentReport
752// API call, and error handling.
753//
754// This method is useful when you want to inject custom logic or configuration
755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
756//
757//
758//    // Example sending a request using the CreateAssessmentReportRequest method.
759//    req, resp := client.CreateAssessmentReportRequest(params)
760//
761//    err := req.Send()
762//    if err == nil { // resp is now filled
763//        fmt.Println(resp)
764//    }
765//
766// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
767func (c *AuditManager) CreateAssessmentReportRequest(input *CreateAssessmentReportInput) (req *request.Request, output *CreateAssessmentReportOutput) {
768	op := &request.Operation{
769		Name:       opCreateAssessmentReport,
770		HTTPMethod: "POST",
771		HTTPPath:   "/assessments/{assessmentId}/reports",
772	}
773
774	if input == nil {
775		input = &CreateAssessmentReportInput{}
776	}
777
778	output = &CreateAssessmentReportOutput{}
779	req = c.newRequest(op, input, output)
780	return
781}
782
783// CreateAssessmentReport API operation for AWS Audit Manager.
784//
785// Creates an assessment report for the specified assessment.
786//
787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
788// with awserr.Error's Code and Message methods to get detailed information about
789// the error.
790//
791// See the AWS API reference guide for AWS Audit Manager's
792// API operation CreateAssessmentReport for usage and error information.
793//
794// Returned Error Types:
795//   * ValidationException
796//   The request has invalid or missing parameters.
797//
798//   * AccessDeniedException
799//   Your account is not registered with Audit Manager. Check the delegated administrator
800//   setup on the Audit Manager settings page, and try again.
801//
802//   * InternalServerException
803//   An internal service error occurred during the processing of your request.
804//   Try again later.
805//
806//   * ResourceNotFoundException
807//   The resource specified in the request cannot be found.
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
810func (c *AuditManager) CreateAssessmentReport(input *CreateAssessmentReportInput) (*CreateAssessmentReportOutput, error) {
811	req, out := c.CreateAssessmentReportRequest(input)
812	return out, req.Send()
813}
814
815// CreateAssessmentReportWithContext is the same as CreateAssessmentReport with the addition of
816// the ability to pass a context and additional request options.
817//
818// See CreateAssessmentReport for details on how to use this API operation.
819//
820// The context must be non-nil and will be used for request cancellation. If
821// the context is nil a panic will occur. In the future the SDK may create
822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
823// for more information on using Contexts.
824func (c *AuditManager) CreateAssessmentReportWithContext(ctx aws.Context, input *CreateAssessmentReportInput, opts ...request.Option) (*CreateAssessmentReportOutput, error) {
825	req, out := c.CreateAssessmentReportRequest(input)
826	req.SetContext(ctx)
827	req.ApplyOptions(opts...)
828	return out, req.Send()
829}
830
831const opCreateControl = "CreateControl"
832
833// CreateControlRequest generates a "aws/request.Request" representing the
834// client's request for the CreateControl operation. The "output" return
835// value will be populated with the request's response once the request completes
836// successfully.
837//
838// Use "Send" method on the returned Request to send the API call to the service.
839// the "output" return value is not valid until after Send returns without error.
840//
841// See CreateControl for more information on using the CreateControl
842// API call, and error handling.
843//
844// This method is useful when you want to inject custom logic or configuration
845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
846//
847//
848//    // Example sending a request using the CreateControlRequest method.
849//    req, resp := client.CreateControlRequest(params)
850//
851//    err := req.Send()
852//    if err == nil { // resp is now filled
853//        fmt.Println(resp)
854//    }
855//
856// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
857func (c *AuditManager) CreateControlRequest(input *CreateControlInput) (req *request.Request, output *CreateControlOutput) {
858	op := &request.Operation{
859		Name:       opCreateControl,
860		HTTPMethod: "POST",
861		HTTPPath:   "/controls",
862	}
863
864	if input == nil {
865		input = &CreateControlInput{}
866	}
867
868	output = &CreateControlOutput{}
869	req = c.newRequest(op, input, output)
870	return
871}
872
873// CreateControl API operation for AWS Audit Manager.
874//
875// Creates a new custom control in Audit Manager.
876//
877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
878// with awserr.Error's Code and Message methods to get detailed information about
879// the error.
880//
881// See the AWS API reference guide for AWS Audit Manager's
882// API operation CreateControl for usage and error information.
883//
884// Returned Error Types:
885//   * ResourceNotFoundException
886//   The resource specified in the request cannot be found.
887//
888//   * ValidationException
889//   The request has invalid or missing parameters.
890//
891//   * AccessDeniedException
892//   Your account is not registered with Audit Manager. Check the delegated administrator
893//   setup on the Audit Manager settings page, and try again.
894//
895//   * InternalServerException
896//   An internal service error occurred during the processing of your request.
897//   Try again later.
898//
899// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
900func (c *AuditManager) CreateControl(input *CreateControlInput) (*CreateControlOutput, error) {
901	req, out := c.CreateControlRequest(input)
902	return out, req.Send()
903}
904
905// CreateControlWithContext is the same as CreateControl with the addition of
906// the ability to pass a context and additional request options.
907//
908// See CreateControl for details on how to use this API operation.
909//
910// The context must be non-nil and will be used for request cancellation. If
911// the context is nil a panic will occur. In the future the SDK may create
912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
913// for more information on using Contexts.
914func (c *AuditManager) CreateControlWithContext(ctx aws.Context, input *CreateControlInput, opts ...request.Option) (*CreateControlOutput, error) {
915	req, out := c.CreateControlRequest(input)
916	req.SetContext(ctx)
917	req.ApplyOptions(opts...)
918	return out, req.Send()
919}
920
921const opDeleteAssessment = "DeleteAssessment"
922
923// DeleteAssessmentRequest generates a "aws/request.Request" representing the
924// client's request for the DeleteAssessment operation. The "output" return
925// value will be populated with the request's response once the request completes
926// successfully.
927//
928// Use "Send" method on the returned Request to send the API call to the service.
929// the "output" return value is not valid until after Send returns without error.
930//
931// See DeleteAssessment for more information on using the DeleteAssessment
932// API call, and error handling.
933//
934// This method is useful when you want to inject custom logic or configuration
935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
936//
937//
938//    // Example sending a request using the DeleteAssessmentRequest method.
939//    req, resp := client.DeleteAssessmentRequest(params)
940//
941//    err := req.Send()
942//    if err == nil { // resp is now filled
943//        fmt.Println(resp)
944//    }
945//
946// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
947func (c *AuditManager) DeleteAssessmentRequest(input *DeleteAssessmentInput) (req *request.Request, output *DeleteAssessmentOutput) {
948	op := &request.Operation{
949		Name:       opDeleteAssessment,
950		HTTPMethod: "DELETE",
951		HTTPPath:   "/assessments/{assessmentId}",
952	}
953
954	if input == nil {
955		input = &DeleteAssessmentInput{}
956	}
957
958	output = &DeleteAssessmentOutput{}
959	req = c.newRequest(op, input, output)
960	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
961	return
962}
963
964// DeleteAssessment API operation for AWS Audit Manager.
965//
966// Deletes an assessment in Audit Manager.
967//
968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
969// with awserr.Error's Code and Message methods to get detailed information about
970// the error.
971//
972// See the AWS API reference guide for AWS Audit Manager's
973// API operation DeleteAssessment for usage and error information.
974//
975// Returned Error Types:
976//   * ResourceNotFoundException
977//   The resource specified in the request cannot be found.
978//
979//   * ValidationException
980//   The request has invalid or missing parameters.
981//
982//   * AccessDeniedException
983//   Your account is not registered with Audit Manager. Check the delegated administrator
984//   setup on the Audit Manager settings page, and try again.
985//
986//   * InternalServerException
987//   An internal service error occurred during the processing of your request.
988//   Try again later.
989//
990// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
991func (c *AuditManager) DeleteAssessment(input *DeleteAssessmentInput) (*DeleteAssessmentOutput, error) {
992	req, out := c.DeleteAssessmentRequest(input)
993	return out, req.Send()
994}
995
996// DeleteAssessmentWithContext is the same as DeleteAssessment with the addition of
997// the ability to pass a context and additional request options.
998//
999// See DeleteAssessment for details on how to use this API operation.
1000//
1001// The context must be non-nil and will be used for request cancellation. If
1002// the context is nil a panic will occur. In the future the SDK may create
1003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1004// for more information on using Contexts.
1005func (c *AuditManager) DeleteAssessmentWithContext(ctx aws.Context, input *DeleteAssessmentInput, opts ...request.Option) (*DeleteAssessmentOutput, error) {
1006	req, out := c.DeleteAssessmentRequest(input)
1007	req.SetContext(ctx)
1008	req.ApplyOptions(opts...)
1009	return out, req.Send()
1010}
1011
1012const opDeleteAssessmentFramework = "DeleteAssessmentFramework"
1013
1014// DeleteAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1015// client's request for the DeleteAssessmentFramework operation. The "output" return
1016// value will be populated with the request's response once the request completes
1017// successfully.
1018//
1019// Use "Send" method on the returned Request to send the API call to the service.
1020// the "output" return value is not valid until after Send returns without error.
1021//
1022// See DeleteAssessmentFramework for more information on using the DeleteAssessmentFramework
1023// API call, and error handling.
1024//
1025// This method is useful when you want to inject custom logic or configuration
1026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1027//
1028//
1029//    // Example sending a request using the DeleteAssessmentFrameworkRequest method.
1030//    req, resp := client.DeleteAssessmentFrameworkRequest(params)
1031//
1032//    err := req.Send()
1033//    if err == nil { // resp is now filled
1034//        fmt.Println(resp)
1035//    }
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1038func (c *AuditManager) DeleteAssessmentFrameworkRequest(input *DeleteAssessmentFrameworkInput) (req *request.Request, output *DeleteAssessmentFrameworkOutput) {
1039	op := &request.Operation{
1040		Name:       opDeleteAssessmentFramework,
1041		HTTPMethod: "DELETE",
1042		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1043	}
1044
1045	if input == nil {
1046		input = &DeleteAssessmentFrameworkInput{}
1047	}
1048
1049	output = &DeleteAssessmentFrameworkOutput{}
1050	req = c.newRequest(op, input, output)
1051	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1052	return
1053}
1054
1055// DeleteAssessmentFramework API operation for AWS Audit Manager.
1056//
1057// Deletes a custom framework in Audit Manager.
1058//
1059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1060// with awserr.Error's Code and Message methods to get detailed information about
1061// the error.
1062//
1063// See the AWS API reference guide for AWS Audit Manager's
1064// API operation DeleteAssessmentFramework for usage and error information.
1065//
1066// Returned Error Types:
1067//   * ResourceNotFoundException
1068//   The resource specified in the request cannot be found.
1069//
1070//   * ValidationException
1071//   The request has invalid or missing parameters.
1072//
1073//   * AccessDeniedException
1074//   Your account is not registered with Audit Manager. Check the delegated administrator
1075//   setup on the Audit Manager settings page, and try again.
1076//
1077//   * InternalServerException
1078//   An internal service error occurred during the processing of your request.
1079//   Try again later.
1080//
1081// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1082func (c *AuditManager) DeleteAssessmentFramework(input *DeleteAssessmentFrameworkInput) (*DeleteAssessmentFrameworkOutput, error) {
1083	req, out := c.DeleteAssessmentFrameworkRequest(input)
1084	return out, req.Send()
1085}
1086
1087// DeleteAssessmentFrameworkWithContext is the same as DeleteAssessmentFramework with the addition of
1088// the ability to pass a context and additional request options.
1089//
1090// See DeleteAssessmentFramework for details on how to use this API operation.
1091//
1092// The context must be non-nil and will be used for request cancellation. If
1093// the context is nil a panic will occur. In the future the SDK may create
1094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1095// for more information on using Contexts.
1096func (c *AuditManager) DeleteAssessmentFrameworkWithContext(ctx aws.Context, input *DeleteAssessmentFrameworkInput, opts ...request.Option) (*DeleteAssessmentFrameworkOutput, error) {
1097	req, out := c.DeleteAssessmentFrameworkRequest(input)
1098	req.SetContext(ctx)
1099	req.ApplyOptions(opts...)
1100	return out, req.Send()
1101}
1102
1103const opDeleteAssessmentReport = "DeleteAssessmentReport"
1104
1105// DeleteAssessmentReportRequest generates a "aws/request.Request" representing the
1106// client's request for the DeleteAssessmentReport operation. The "output" return
1107// value will be populated with the request's response once the request completes
1108// successfully.
1109//
1110// Use "Send" method on the returned Request to send the API call to the service.
1111// the "output" return value is not valid until after Send returns without error.
1112//
1113// See DeleteAssessmentReport for more information on using the DeleteAssessmentReport
1114// API call, and error handling.
1115//
1116// This method is useful when you want to inject custom logic or configuration
1117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1118//
1119//
1120//    // Example sending a request using the DeleteAssessmentReportRequest method.
1121//    req, resp := client.DeleteAssessmentReportRequest(params)
1122//
1123//    err := req.Send()
1124//    if err == nil { // resp is now filled
1125//        fmt.Println(resp)
1126//    }
1127//
1128// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1129func (c *AuditManager) DeleteAssessmentReportRequest(input *DeleteAssessmentReportInput) (req *request.Request, output *DeleteAssessmentReportOutput) {
1130	op := &request.Operation{
1131		Name:       opDeleteAssessmentReport,
1132		HTTPMethod: "DELETE",
1133		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}",
1134	}
1135
1136	if input == nil {
1137		input = &DeleteAssessmentReportInput{}
1138	}
1139
1140	output = &DeleteAssessmentReportOutput{}
1141	req = c.newRequest(op, input, output)
1142	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1143	return
1144}
1145
1146// DeleteAssessmentReport API operation for AWS Audit Manager.
1147//
1148// Deletes an assessment report from an assessment in Audit Manager.
1149//
1150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1151// with awserr.Error's Code and Message methods to get detailed information about
1152// the error.
1153//
1154// See the AWS API reference guide for AWS Audit Manager's
1155// API operation DeleteAssessmentReport for usage and error information.
1156//
1157// Returned Error Types:
1158//   * ValidationException
1159//   The request has invalid or missing parameters.
1160//
1161//   * AccessDeniedException
1162//   Your account is not registered with Audit Manager. Check the delegated administrator
1163//   setup on the Audit Manager settings page, and try again.
1164//
1165//   * InternalServerException
1166//   An internal service error occurred during the processing of your request.
1167//   Try again later.
1168//
1169//   * ResourceNotFoundException
1170//   The resource specified in the request cannot be found.
1171//
1172// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1173func (c *AuditManager) DeleteAssessmentReport(input *DeleteAssessmentReportInput) (*DeleteAssessmentReportOutput, error) {
1174	req, out := c.DeleteAssessmentReportRequest(input)
1175	return out, req.Send()
1176}
1177
1178// DeleteAssessmentReportWithContext is the same as DeleteAssessmentReport with the addition of
1179// the ability to pass a context and additional request options.
1180//
1181// See DeleteAssessmentReport for details on how to use this API operation.
1182//
1183// The context must be non-nil and will be used for request cancellation. If
1184// the context is nil a panic will occur. In the future the SDK may create
1185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1186// for more information on using Contexts.
1187func (c *AuditManager) DeleteAssessmentReportWithContext(ctx aws.Context, input *DeleteAssessmentReportInput, opts ...request.Option) (*DeleteAssessmentReportOutput, error) {
1188	req, out := c.DeleteAssessmentReportRequest(input)
1189	req.SetContext(ctx)
1190	req.ApplyOptions(opts...)
1191	return out, req.Send()
1192}
1193
1194const opDeleteControl = "DeleteControl"
1195
1196// DeleteControlRequest generates a "aws/request.Request" representing the
1197// client's request for the DeleteControl operation. The "output" return
1198// value will be populated with the request's response once the request completes
1199// successfully.
1200//
1201// Use "Send" method on the returned Request to send the API call to the service.
1202// the "output" return value is not valid until after Send returns without error.
1203//
1204// See DeleteControl for more information on using the DeleteControl
1205// API call, and error handling.
1206//
1207// This method is useful when you want to inject custom logic or configuration
1208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1209//
1210//
1211//    // Example sending a request using the DeleteControlRequest method.
1212//    req, resp := client.DeleteControlRequest(params)
1213//
1214//    err := req.Send()
1215//    if err == nil { // resp is now filled
1216//        fmt.Println(resp)
1217//    }
1218//
1219// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1220func (c *AuditManager) DeleteControlRequest(input *DeleteControlInput) (req *request.Request, output *DeleteControlOutput) {
1221	op := &request.Operation{
1222		Name:       opDeleteControl,
1223		HTTPMethod: "DELETE",
1224		HTTPPath:   "/controls/{controlId}",
1225	}
1226
1227	if input == nil {
1228		input = &DeleteControlInput{}
1229	}
1230
1231	output = &DeleteControlOutput{}
1232	req = c.newRequest(op, input, output)
1233	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1234	return
1235}
1236
1237// DeleteControl API operation for AWS Audit Manager.
1238//
1239// Deletes a custom control in Audit Manager.
1240//
1241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1242// with awserr.Error's Code and Message methods to get detailed information about
1243// the error.
1244//
1245// See the AWS API reference guide for AWS Audit Manager's
1246// API operation DeleteControl for usage and error information.
1247//
1248// Returned Error Types:
1249//   * ResourceNotFoundException
1250//   The resource specified in the request cannot be found.
1251//
1252//   * ValidationException
1253//   The request has invalid or missing parameters.
1254//
1255//   * AccessDeniedException
1256//   Your account is not registered with Audit Manager. Check the delegated administrator
1257//   setup on the Audit Manager settings page, and try again.
1258//
1259//   * InternalServerException
1260//   An internal service error occurred during the processing of your request.
1261//   Try again later.
1262//
1263// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1264func (c *AuditManager) DeleteControl(input *DeleteControlInput) (*DeleteControlOutput, error) {
1265	req, out := c.DeleteControlRequest(input)
1266	return out, req.Send()
1267}
1268
1269// DeleteControlWithContext is the same as DeleteControl with the addition of
1270// the ability to pass a context and additional request options.
1271//
1272// See DeleteControl for details on how to use this API operation.
1273//
1274// The context must be non-nil and will be used for request cancellation. If
1275// the context is nil a panic will occur. In the future the SDK may create
1276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1277// for more information on using Contexts.
1278func (c *AuditManager) DeleteControlWithContext(ctx aws.Context, input *DeleteControlInput, opts ...request.Option) (*DeleteControlOutput, error) {
1279	req, out := c.DeleteControlRequest(input)
1280	req.SetContext(ctx)
1281	req.ApplyOptions(opts...)
1282	return out, req.Send()
1283}
1284
1285const opDeregisterAccount = "DeregisterAccount"
1286
1287// DeregisterAccountRequest generates a "aws/request.Request" representing the
1288// client's request for the DeregisterAccount operation. The "output" return
1289// value will be populated with the request's response once the request completes
1290// successfully.
1291//
1292// Use "Send" method on the returned Request to send the API call to the service.
1293// the "output" return value is not valid until after Send returns without error.
1294//
1295// See DeregisterAccount for more information on using the DeregisterAccount
1296// API call, and error handling.
1297//
1298// This method is useful when you want to inject custom logic or configuration
1299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1300//
1301//
1302//    // Example sending a request using the DeregisterAccountRequest method.
1303//    req, resp := client.DeregisterAccountRequest(params)
1304//
1305//    err := req.Send()
1306//    if err == nil { // resp is now filled
1307//        fmt.Println(resp)
1308//    }
1309//
1310// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1311func (c *AuditManager) DeregisterAccountRequest(input *DeregisterAccountInput) (req *request.Request, output *DeregisterAccountOutput) {
1312	op := &request.Operation{
1313		Name:       opDeregisterAccount,
1314		HTTPMethod: "POST",
1315		HTTPPath:   "/account/deregisterAccount",
1316	}
1317
1318	if input == nil {
1319		input = &DeregisterAccountInput{}
1320	}
1321
1322	output = &DeregisterAccountOutput{}
1323	req = c.newRequest(op, input, output)
1324	return
1325}
1326
1327// DeregisterAccount API operation for AWS Audit Manager.
1328//
1329// Deregisters an account in Audit Manager.
1330//
1331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1332// with awserr.Error's Code and Message methods to get detailed information about
1333// the error.
1334//
1335// See the AWS API reference guide for AWS Audit Manager's
1336// API operation DeregisterAccount for usage and error information.
1337//
1338// Returned Error Types:
1339//   * ValidationException
1340//   The request has invalid or missing parameters.
1341//
1342//   * AccessDeniedException
1343//   Your account is not registered with Audit Manager. Check the delegated administrator
1344//   setup on the Audit Manager settings page, and try again.
1345//
1346//   * InternalServerException
1347//   An internal service error occurred during the processing of your request.
1348//   Try again later.
1349//
1350//   * ResourceNotFoundException
1351//   The resource specified in the request cannot be found.
1352//
1353// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1354func (c *AuditManager) DeregisterAccount(input *DeregisterAccountInput) (*DeregisterAccountOutput, error) {
1355	req, out := c.DeregisterAccountRequest(input)
1356	return out, req.Send()
1357}
1358
1359// DeregisterAccountWithContext is the same as DeregisterAccount with the addition of
1360// the ability to pass a context and additional request options.
1361//
1362// See DeregisterAccount for details on how to use this API operation.
1363//
1364// The context must be non-nil and will be used for request cancellation. If
1365// the context is nil a panic will occur. In the future the SDK may create
1366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1367// for more information on using Contexts.
1368func (c *AuditManager) DeregisterAccountWithContext(ctx aws.Context, input *DeregisterAccountInput, opts ...request.Option) (*DeregisterAccountOutput, error) {
1369	req, out := c.DeregisterAccountRequest(input)
1370	req.SetContext(ctx)
1371	req.ApplyOptions(opts...)
1372	return out, req.Send()
1373}
1374
1375const opDeregisterOrganizationAdminAccount = "DeregisterOrganizationAdminAccount"
1376
1377// DeregisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1378// client's request for the DeregisterOrganizationAdminAccount operation. The "output" return
1379// value will be populated with the request's response once the request completes
1380// successfully.
1381//
1382// Use "Send" method on the returned Request to send the API call to the service.
1383// the "output" return value is not valid until after Send returns without error.
1384//
1385// See DeregisterOrganizationAdminAccount for more information on using the DeregisterOrganizationAdminAccount
1386// API call, and error handling.
1387//
1388// This method is useful when you want to inject custom logic or configuration
1389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1390//
1391//
1392//    // Example sending a request using the DeregisterOrganizationAdminAccountRequest method.
1393//    req, resp := client.DeregisterOrganizationAdminAccountRequest(params)
1394//
1395//    err := req.Send()
1396//    if err == nil { // resp is now filled
1397//        fmt.Println(resp)
1398//    }
1399//
1400// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1401func (c *AuditManager) DeregisterOrganizationAdminAccountRequest(input *DeregisterOrganizationAdminAccountInput) (req *request.Request, output *DeregisterOrganizationAdminAccountOutput) {
1402	op := &request.Operation{
1403		Name:       opDeregisterOrganizationAdminAccount,
1404		HTTPMethod: "POST",
1405		HTTPPath:   "/account/deregisterOrganizationAdminAccount",
1406	}
1407
1408	if input == nil {
1409		input = &DeregisterOrganizationAdminAccountInput{}
1410	}
1411
1412	output = &DeregisterOrganizationAdminAccountOutput{}
1413	req = c.newRequest(op, input, output)
1414	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1415	return
1416}
1417
1418// DeregisterOrganizationAdminAccount API operation for AWS Audit Manager.
1419//
1420// Removes the specified member account as a delegated administrator for Audit
1421// Manager.
1422//
1423// When you remove a delegated administrator from your Audit Manager settings,
1424// or when you deregister a delegated administrator from Organizations, you
1425// continue to have access to the evidence that you previously collected under
1426// that account. However, Audit Manager will stop collecting and attaching evidence
1427// to that delegated administrator account moving forward.
1428//
1429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1430// with awserr.Error's Code and Message methods to get detailed information about
1431// the error.
1432//
1433// See the AWS API reference guide for AWS Audit Manager's
1434// API operation DeregisterOrganizationAdminAccount for usage and error information.
1435//
1436// Returned Error Types:
1437//   * ValidationException
1438//   The request has invalid or missing parameters.
1439//
1440//   * AccessDeniedException
1441//   Your account is not registered with Audit Manager. Check the delegated administrator
1442//   setup on the Audit Manager settings page, and try again.
1443//
1444//   * InternalServerException
1445//   An internal service error occurred during the processing of your request.
1446//   Try again later.
1447//
1448//   * ResourceNotFoundException
1449//   The resource specified in the request cannot be found.
1450//
1451// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1452func (c *AuditManager) DeregisterOrganizationAdminAccount(input *DeregisterOrganizationAdminAccountInput) (*DeregisterOrganizationAdminAccountOutput, error) {
1453	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1454	return out, req.Send()
1455}
1456
1457// DeregisterOrganizationAdminAccountWithContext is the same as DeregisterOrganizationAdminAccount with the addition of
1458// the ability to pass a context and additional request options.
1459//
1460// See DeregisterOrganizationAdminAccount for details on how to use this API operation.
1461//
1462// The context must be non-nil and will be used for request cancellation. If
1463// the context is nil a panic will occur. In the future the SDK may create
1464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1465// for more information on using Contexts.
1466func (c *AuditManager) DeregisterOrganizationAdminAccountWithContext(ctx aws.Context, input *DeregisterOrganizationAdminAccountInput, opts ...request.Option) (*DeregisterOrganizationAdminAccountOutput, error) {
1467	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1468	req.SetContext(ctx)
1469	req.ApplyOptions(opts...)
1470	return out, req.Send()
1471}
1472
1473const opDisassociateAssessmentReportEvidenceFolder = "DisassociateAssessmentReportEvidenceFolder"
1474
1475// DisassociateAssessmentReportEvidenceFolderRequest generates a "aws/request.Request" representing the
1476// client's request for the DisassociateAssessmentReportEvidenceFolder operation. The "output" return
1477// value will be populated with the request's response once the request completes
1478// successfully.
1479//
1480// Use "Send" method on the returned Request to send the API call to the service.
1481// the "output" return value is not valid until after Send returns without error.
1482//
1483// See DisassociateAssessmentReportEvidenceFolder for more information on using the DisassociateAssessmentReportEvidenceFolder
1484// API call, and error handling.
1485//
1486// This method is useful when you want to inject custom logic or configuration
1487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1488//
1489//
1490//    // Example sending a request using the DisassociateAssessmentReportEvidenceFolderRequest method.
1491//    req, resp := client.DisassociateAssessmentReportEvidenceFolderRequest(params)
1492//
1493//    err := req.Send()
1494//    if err == nil { // resp is now filled
1495//        fmt.Println(resp)
1496//    }
1497//
1498// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1499func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderRequest(input *DisassociateAssessmentReportEvidenceFolderInput) (req *request.Request, output *DisassociateAssessmentReportEvidenceFolderOutput) {
1500	op := &request.Operation{
1501		Name:       opDisassociateAssessmentReportEvidenceFolder,
1502		HTTPMethod: "PUT",
1503		HTTPPath:   "/assessments/{assessmentId}/disassociateFromAssessmentReport",
1504	}
1505
1506	if input == nil {
1507		input = &DisassociateAssessmentReportEvidenceFolderInput{}
1508	}
1509
1510	output = &DisassociateAssessmentReportEvidenceFolderOutput{}
1511	req = c.newRequest(op, input, output)
1512	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1513	return
1514}
1515
1516// DisassociateAssessmentReportEvidenceFolder API operation for AWS Audit Manager.
1517//
1518// Disassociates an evidence folder from the specified assessment report in
1519// Audit Manager.
1520//
1521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1522// with awserr.Error's Code and Message methods to get detailed information about
1523// the error.
1524//
1525// See the AWS API reference guide for AWS Audit Manager's
1526// API operation DisassociateAssessmentReportEvidenceFolder for usage and error information.
1527//
1528// Returned Error Types:
1529//   * ValidationException
1530//   The request has invalid or missing parameters.
1531//
1532//   * AccessDeniedException
1533//   Your account is not registered with Audit Manager. Check the delegated administrator
1534//   setup on the Audit Manager settings page, and try again.
1535//
1536//   * InternalServerException
1537//   An internal service error occurred during the processing of your request.
1538//   Try again later.
1539//
1540//   * ResourceNotFoundException
1541//   The resource specified in the request cannot be found.
1542//
1543// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1544func (c *AuditManager) DisassociateAssessmentReportEvidenceFolder(input *DisassociateAssessmentReportEvidenceFolderInput) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1545	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1546	return out, req.Send()
1547}
1548
1549// DisassociateAssessmentReportEvidenceFolderWithContext is the same as DisassociateAssessmentReportEvidenceFolder with the addition of
1550// the ability to pass a context and additional request options.
1551//
1552// See DisassociateAssessmentReportEvidenceFolder for details on how to use this API operation.
1553//
1554// The context must be non-nil and will be used for request cancellation. If
1555// the context is nil a panic will occur. In the future the SDK may create
1556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1557// for more information on using Contexts.
1558func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderWithContext(ctx aws.Context, input *DisassociateAssessmentReportEvidenceFolderInput, opts ...request.Option) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1559	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1560	req.SetContext(ctx)
1561	req.ApplyOptions(opts...)
1562	return out, req.Send()
1563}
1564
1565const opGetAccountStatus = "GetAccountStatus"
1566
1567// GetAccountStatusRequest generates a "aws/request.Request" representing the
1568// client's request for the GetAccountStatus operation. The "output" return
1569// value will be populated with the request's response once the request completes
1570// successfully.
1571//
1572// Use "Send" method on the returned Request to send the API call to the service.
1573// the "output" return value is not valid until after Send returns without error.
1574//
1575// See GetAccountStatus for more information on using the GetAccountStatus
1576// API call, and error handling.
1577//
1578// This method is useful when you want to inject custom logic or configuration
1579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1580//
1581//
1582//    // Example sending a request using the GetAccountStatusRequest method.
1583//    req, resp := client.GetAccountStatusRequest(params)
1584//
1585//    err := req.Send()
1586//    if err == nil { // resp is now filled
1587//        fmt.Println(resp)
1588//    }
1589//
1590// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1591func (c *AuditManager) GetAccountStatusRequest(input *GetAccountStatusInput) (req *request.Request, output *GetAccountStatusOutput) {
1592	op := &request.Operation{
1593		Name:       opGetAccountStatus,
1594		HTTPMethod: "GET",
1595		HTTPPath:   "/account/status",
1596	}
1597
1598	if input == nil {
1599		input = &GetAccountStatusInput{}
1600	}
1601
1602	output = &GetAccountStatusOutput{}
1603	req = c.newRequest(op, input, output)
1604	return
1605}
1606
1607// GetAccountStatus API operation for AWS Audit Manager.
1608//
1609// Returns the registration status of an account in Audit Manager.
1610//
1611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1612// with awserr.Error's Code and Message methods to get detailed information about
1613// the error.
1614//
1615// See the AWS API reference guide for AWS Audit Manager's
1616// API operation GetAccountStatus for usage and error information.
1617//
1618// Returned Error Types:
1619//   * InternalServerException
1620//   An internal service error occurred during the processing of your request.
1621//   Try again later.
1622//
1623// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1624func (c *AuditManager) GetAccountStatus(input *GetAccountStatusInput) (*GetAccountStatusOutput, error) {
1625	req, out := c.GetAccountStatusRequest(input)
1626	return out, req.Send()
1627}
1628
1629// GetAccountStatusWithContext is the same as GetAccountStatus with the addition of
1630// the ability to pass a context and additional request options.
1631//
1632// See GetAccountStatus for details on how to use this API operation.
1633//
1634// The context must be non-nil and will be used for request cancellation. If
1635// the context is nil a panic will occur. In the future the SDK may create
1636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1637// for more information on using Contexts.
1638func (c *AuditManager) GetAccountStatusWithContext(ctx aws.Context, input *GetAccountStatusInput, opts ...request.Option) (*GetAccountStatusOutput, error) {
1639	req, out := c.GetAccountStatusRequest(input)
1640	req.SetContext(ctx)
1641	req.ApplyOptions(opts...)
1642	return out, req.Send()
1643}
1644
1645const opGetAssessment = "GetAssessment"
1646
1647// GetAssessmentRequest generates a "aws/request.Request" representing the
1648// client's request for the GetAssessment operation. The "output" return
1649// value will be populated with the request's response once the request completes
1650// successfully.
1651//
1652// Use "Send" method on the returned Request to send the API call to the service.
1653// the "output" return value is not valid until after Send returns without error.
1654//
1655// See GetAssessment for more information on using the GetAssessment
1656// API call, and error handling.
1657//
1658// This method is useful when you want to inject custom logic or configuration
1659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1660//
1661//
1662//    // Example sending a request using the GetAssessmentRequest method.
1663//    req, resp := client.GetAssessmentRequest(params)
1664//
1665//    err := req.Send()
1666//    if err == nil { // resp is now filled
1667//        fmt.Println(resp)
1668//    }
1669//
1670// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1671func (c *AuditManager) GetAssessmentRequest(input *GetAssessmentInput) (req *request.Request, output *GetAssessmentOutput) {
1672	op := &request.Operation{
1673		Name:       opGetAssessment,
1674		HTTPMethod: "GET",
1675		HTTPPath:   "/assessments/{assessmentId}",
1676	}
1677
1678	if input == nil {
1679		input = &GetAssessmentInput{}
1680	}
1681
1682	output = &GetAssessmentOutput{}
1683	req = c.newRequest(op, input, output)
1684	return
1685}
1686
1687// GetAssessment API operation for AWS Audit Manager.
1688//
1689// Returns an assessment from Audit Manager.
1690//
1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1692// with awserr.Error's Code and Message methods to get detailed information about
1693// the error.
1694//
1695// See the AWS API reference guide for AWS Audit Manager's
1696// API operation GetAssessment for usage and error information.
1697//
1698// Returned Error Types:
1699//   * ResourceNotFoundException
1700//   The resource specified in the request cannot be found.
1701//
1702//   * ValidationException
1703//   The request has invalid or missing parameters.
1704//
1705//   * AccessDeniedException
1706//   Your account is not registered with Audit Manager. Check the delegated administrator
1707//   setup on the Audit Manager settings page, and try again.
1708//
1709//   * InternalServerException
1710//   An internal service error occurred during the processing of your request.
1711//   Try again later.
1712//
1713// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1714func (c *AuditManager) GetAssessment(input *GetAssessmentInput) (*GetAssessmentOutput, error) {
1715	req, out := c.GetAssessmentRequest(input)
1716	return out, req.Send()
1717}
1718
1719// GetAssessmentWithContext is the same as GetAssessment with the addition of
1720// the ability to pass a context and additional request options.
1721//
1722// See GetAssessment for details on how to use this API operation.
1723//
1724// The context must be non-nil and will be used for request cancellation. If
1725// the context is nil a panic will occur. In the future the SDK may create
1726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1727// for more information on using Contexts.
1728func (c *AuditManager) GetAssessmentWithContext(ctx aws.Context, input *GetAssessmentInput, opts ...request.Option) (*GetAssessmentOutput, error) {
1729	req, out := c.GetAssessmentRequest(input)
1730	req.SetContext(ctx)
1731	req.ApplyOptions(opts...)
1732	return out, req.Send()
1733}
1734
1735const opGetAssessmentFramework = "GetAssessmentFramework"
1736
1737// GetAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1738// client's request for the GetAssessmentFramework operation. The "output" return
1739// value will be populated with the request's response once the request completes
1740// successfully.
1741//
1742// Use "Send" method on the returned Request to send the API call to the service.
1743// the "output" return value is not valid until after Send returns without error.
1744//
1745// See GetAssessmentFramework for more information on using the GetAssessmentFramework
1746// API call, and error handling.
1747//
1748// This method is useful when you want to inject custom logic or configuration
1749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1750//
1751//
1752//    // Example sending a request using the GetAssessmentFrameworkRequest method.
1753//    req, resp := client.GetAssessmentFrameworkRequest(params)
1754//
1755//    err := req.Send()
1756//    if err == nil { // resp is now filled
1757//        fmt.Println(resp)
1758//    }
1759//
1760// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1761func (c *AuditManager) GetAssessmentFrameworkRequest(input *GetAssessmentFrameworkInput) (req *request.Request, output *GetAssessmentFrameworkOutput) {
1762	op := &request.Operation{
1763		Name:       opGetAssessmentFramework,
1764		HTTPMethod: "GET",
1765		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1766	}
1767
1768	if input == nil {
1769		input = &GetAssessmentFrameworkInput{}
1770	}
1771
1772	output = &GetAssessmentFrameworkOutput{}
1773	req = c.newRequest(op, input, output)
1774	return
1775}
1776
1777// GetAssessmentFramework API operation for AWS Audit Manager.
1778//
1779// Returns a framework from Audit Manager.
1780//
1781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1782// with awserr.Error's Code and Message methods to get detailed information about
1783// the error.
1784//
1785// See the AWS API reference guide for AWS Audit Manager's
1786// API operation GetAssessmentFramework for usage and error information.
1787//
1788// Returned Error Types:
1789//   * ResourceNotFoundException
1790//   The resource specified in the request cannot be found.
1791//
1792//   * ValidationException
1793//   The request has invalid or missing parameters.
1794//
1795//   * AccessDeniedException
1796//   Your account is not registered with Audit Manager. Check the delegated administrator
1797//   setup on the Audit Manager settings page, and try again.
1798//
1799//   * InternalServerException
1800//   An internal service error occurred during the processing of your request.
1801//   Try again later.
1802//
1803// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1804func (c *AuditManager) GetAssessmentFramework(input *GetAssessmentFrameworkInput) (*GetAssessmentFrameworkOutput, error) {
1805	req, out := c.GetAssessmentFrameworkRequest(input)
1806	return out, req.Send()
1807}
1808
1809// GetAssessmentFrameworkWithContext is the same as GetAssessmentFramework with the addition of
1810// the ability to pass a context and additional request options.
1811//
1812// See GetAssessmentFramework for details on how to use this API operation.
1813//
1814// The context must be non-nil and will be used for request cancellation. If
1815// the context is nil a panic will occur. In the future the SDK may create
1816// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1817// for more information on using Contexts.
1818func (c *AuditManager) GetAssessmentFrameworkWithContext(ctx aws.Context, input *GetAssessmentFrameworkInput, opts ...request.Option) (*GetAssessmentFrameworkOutput, error) {
1819	req, out := c.GetAssessmentFrameworkRequest(input)
1820	req.SetContext(ctx)
1821	req.ApplyOptions(opts...)
1822	return out, req.Send()
1823}
1824
1825const opGetAssessmentReportUrl = "GetAssessmentReportUrl"
1826
1827// GetAssessmentReportUrlRequest generates a "aws/request.Request" representing the
1828// client's request for the GetAssessmentReportUrl operation. The "output" return
1829// value will be populated with the request's response once the request completes
1830// successfully.
1831//
1832// Use "Send" method on the returned Request to send the API call to the service.
1833// the "output" return value is not valid until after Send returns without error.
1834//
1835// See GetAssessmentReportUrl for more information on using the GetAssessmentReportUrl
1836// API call, and error handling.
1837//
1838// This method is useful when you want to inject custom logic or configuration
1839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1840//
1841//
1842//    // Example sending a request using the GetAssessmentReportUrlRequest method.
1843//    req, resp := client.GetAssessmentReportUrlRequest(params)
1844//
1845//    err := req.Send()
1846//    if err == nil { // resp is now filled
1847//        fmt.Println(resp)
1848//    }
1849//
1850// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1851func (c *AuditManager) GetAssessmentReportUrlRequest(input *GetAssessmentReportUrlInput) (req *request.Request, output *GetAssessmentReportUrlOutput) {
1852	op := &request.Operation{
1853		Name:       opGetAssessmentReportUrl,
1854		HTTPMethod: "GET",
1855		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}/url",
1856	}
1857
1858	if input == nil {
1859		input = &GetAssessmentReportUrlInput{}
1860	}
1861
1862	output = &GetAssessmentReportUrlOutput{}
1863	req = c.newRequest(op, input, output)
1864	return
1865}
1866
1867// GetAssessmentReportUrl API operation for AWS Audit Manager.
1868//
1869// Returns the URL of a specified assessment report in Audit Manager.
1870//
1871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1872// with awserr.Error's Code and Message methods to get detailed information about
1873// the error.
1874//
1875// See the AWS API reference guide for AWS Audit Manager's
1876// API operation GetAssessmentReportUrl for usage and error information.
1877//
1878// Returned Error Types:
1879//   * ValidationException
1880//   The request has invalid or missing parameters.
1881//
1882//   * AccessDeniedException
1883//   Your account is not registered with Audit Manager. Check the delegated administrator
1884//   setup on the Audit Manager settings page, and try again.
1885//
1886//   * InternalServerException
1887//   An internal service error occurred during the processing of your request.
1888//   Try again later.
1889//
1890//   * ResourceNotFoundException
1891//   The resource specified in the request cannot be found.
1892//
1893// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1894func (c *AuditManager) GetAssessmentReportUrl(input *GetAssessmentReportUrlInput) (*GetAssessmentReportUrlOutput, error) {
1895	req, out := c.GetAssessmentReportUrlRequest(input)
1896	return out, req.Send()
1897}
1898
1899// GetAssessmentReportUrlWithContext is the same as GetAssessmentReportUrl with the addition of
1900// the ability to pass a context and additional request options.
1901//
1902// See GetAssessmentReportUrl for details on how to use this API operation.
1903//
1904// The context must be non-nil and will be used for request cancellation. If
1905// the context is nil a panic will occur. In the future the SDK may create
1906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1907// for more information on using Contexts.
1908func (c *AuditManager) GetAssessmentReportUrlWithContext(ctx aws.Context, input *GetAssessmentReportUrlInput, opts ...request.Option) (*GetAssessmentReportUrlOutput, error) {
1909	req, out := c.GetAssessmentReportUrlRequest(input)
1910	req.SetContext(ctx)
1911	req.ApplyOptions(opts...)
1912	return out, req.Send()
1913}
1914
1915const opGetChangeLogs = "GetChangeLogs"
1916
1917// GetChangeLogsRequest generates a "aws/request.Request" representing the
1918// client's request for the GetChangeLogs operation. The "output" return
1919// value will be populated with the request's response once the request completes
1920// successfully.
1921//
1922// Use "Send" method on the returned Request to send the API call to the service.
1923// the "output" return value is not valid until after Send returns without error.
1924//
1925// See GetChangeLogs for more information on using the GetChangeLogs
1926// API call, and error handling.
1927//
1928// This method is useful when you want to inject custom logic or configuration
1929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1930//
1931//
1932//    // Example sending a request using the GetChangeLogsRequest method.
1933//    req, resp := client.GetChangeLogsRequest(params)
1934//
1935//    err := req.Send()
1936//    if err == nil { // resp is now filled
1937//        fmt.Println(resp)
1938//    }
1939//
1940// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
1941func (c *AuditManager) GetChangeLogsRequest(input *GetChangeLogsInput) (req *request.Request, output *GetChangeLogsOutput) {
1942	op := &request.Operation{
1943		Name:       opGetChangeLogs,
1944		HTTPMethod: "GET",
1945		HTTPPath:   "/assessments/{assessmentId}/changelogs",
1946		Paginator: &request.Paginator{
1947			InputTokens:     []string{"nextToken"},
1948			OutputTokens:    []string{"nextToken"},
1949			LimitToken:      "maxResults",
1950			TruncationToken: "",
1951		},
1952	}
1953
1954	if input == nil {
1955		input = &GetChangeLogsInput{}
1956	}
1957
1958	output = &GetChangeLogsOutput{}
1959	req = c.newRequest(op, input, output)
1960	return
1961}
1962
1963// GetChangeLogs API operation for AWS Audit Manager.
1964//
1965// Returns a list of changelogs from Audit Manager.
1966//
1967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1968// with awserr.Error's Code and Message methods to get detailed information about
1969// the error.
1970//
1971// See the AWS API reference guide for AWS Audit Manager's
1972// API operation GetChangeLogs for usage and error information.
1973//
1974// Returned Error Types:
1975//   * AccessDeniedException
1976//   Your account is not registered with Audit Manager. Check the delegated administrator
1977//   setup on the Audit Manager settings page, and try again.
1978//
1979//   * ResourceNotFoundException
1980//   The resource specified in the request cannot be found.
1981//
1982//   * ValidationException
1983//   The request has invalid or missing parameters.
1984//
1985//   * InternalServerException
1986//   An internal service error occurred during the processing of your request.
1987//   Try again later.
1988//
1989// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
1990func (c *AuditManager) GetChangeLogs(input *GetChangeLogsInput) (*GetChangeLogsOutput, error) {
1991	req, out := c.GetChangeLogsRequest(input)
1992	return out, req.Send()
1993}
1994
1995// GetChangeLogsWithContext is the same as GetChangeLogs with the addition of
1996// the ability to pass a context and additional request options.
1997//
1998// See GetChangeLogs for details on how to use this API operation.
1999//
2000// The context must be non-nil and will be used for request cancellation. If
2001// the context is nil a panic will occur. In the future the SDK may create
2002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2003// for more information on using Contexts.
2004func (c *AuditManager) GetChangeLogsWithContext(ctx aws.Context, input *GetChangeLogsInput, opts ...request.Option) (*GetChangeLogsOutput, error) {
2005	req, out := c.GetChangeLogsRequest(input)
2006	req.SetContext(ctx)
2007	req.ApplyOptions(opts...)
2008	return out, req.Send()
2009}
2010
2011// GetChangeLogsPages iterates over the pages of a GetChangeLogs operation,
2012// calling the "fn" function with the response data for each page. To stop
2013// iterating, return false from the fn function.
2014//
2015// See GetChangeLogs method for more information on how to use this operation.
2016//
2017// Note: This operation can generate multiple requests to a service.
2018//
2019//    // Example iterating over at most 3 pages of a GetChangeLogs operation.
2020//    pageNum := 0
2021//    err := client.GetChangeLogsPages(params,
2022//        func(page *auditmanager.GetChangeLogsOutput, lastPage bool) bool {
2023//            pageNum++
2024//            fmt.Println(page)
2025//            return pageNum <= 3
2026//        })
2027//
2028func (c *AuditManager) GetChangeLogsPages(input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool) error {
2029	return c.GetChangeLogsPagesWithContext(aws.BackgroundContext(), input, fn)
2030}
2031
2032// GetChangeLogsPagesWithContext same as GetChangeLogsPages except
2033// it takes a Context and allows setting request options on the pages.
2034//
2035// The context must be non-nil and will be used for request cancellation. If
2036// the context is nil a panic will occur. In the future the SDK may create
2037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2038// for more information on using Contexts.
2039func (c *AuditManager) GetChangeLogsPagesWithContext(ctx aws.Context, input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool, opts ...request.Option) error {
2040	p := request.Pagination{
2041		NewRequest: func() (*request.Request, error) {
2042			var inCpy *GetChangeLogsInput
2043			if input != nil {
2044				tmp := *input
2045				inCpy = &tmp
2046			}
2047			req, _ := c.GetChangeLogsRequest(inCpy)
2048			req.SetContext(ctx)
2049			req.ApplyOptions(opts...)
2050			return req, nil
2051		},
2052	}
2053
2054	for p.Next() {
2055		if !fn(p.Page().(*GetChangeLogsOutput), !p.HasNextPage()) {
2056			break
2057		}
2058	}
2059
2060	return p.Err()
2061}
2062
2063const opGetControl = "GetControl"
2064
2065// GetControlRequest generates a "aws/request.Request" representing the
2066// client's request for the GetControl operation. The "output" return
2067// value will be populated with the request's response once the request completes
2068// successfully.
2069//
2070// Use "Send" method on the returned Request to send the API call to the service.
2071// the "output" return value is not valid until after Send returns without error.
2072//
2073// See GetControl for more information on using the GetControl
2074// API call, and error handling.
2075//
2076// This method is useful when you want to inject custom logic or configuration
2077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2078//
2079//
2080//    // Example sending a request using the GetControlRequest method.
2081//    req, resp := client.GetControlRequest(params)
2082//
2083//    err := req.Send()
2084//    if err == nil { // resp is now filled
2085//        fmt.Println(resp)
2086//    }
2087//
2088// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2089func (c *AuditManager) GetControlRequest(input *GetControlInput) (req *request.Request, output *GetControlOutput) {
2090	op := &request.Operation{
2091		Name:       opGetControl,
2092		HTTPMethod: "GET",
2093		HTTPPath:   "/controls/{controlId}",
2094	}
2095
2096	if input == nil {
2097		input = &GetControlInput{}
2098	}
2099
2100	output = &GetControlOutput{}
2101	req = c.newRequest(op, input, output)
2102	return
2103}
2104
2105// GetControl API operation for AWS Audit Manager.
2106//
2107// Returns a control from Audit Manager.
2108//
2109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2110// with awserr.Error's Code and Message methods to get detailed information about
2111// the error.
2112//
2113// See the AWS API reference guide for AWS Audit Manager's
2114// API operation GetControl for usage and error information.
2115//
2116// Returned Error Types:
2117//   * ResourceNotFoundException
2118//   The resource specified in the request cannot be found.
2119//
2120//   * ValidationException
2121//   The request has invalid or missing parameters.
2122//
2123//   * AccessDeniedException
2124//   Your account is not registered with Audit Manager. Check the delegated administrator
2125//   setup on the Audit Manager settings page, and try again.
2126//
2127//   * InternalServerException
2128//   An internal service error occurred during the processing of your request.
2129//   Try again later.
2130//
2131// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2132func (c *AuditManager) GetControl(input *GetControlInput) (*GetControlOutput, error) {
2133	req, out := c.GetControlRequest(input)
2134	return out, req.Send()
2135}
2136
2137// GetControlWithContext is the same as GetControl with the addition of
2138// the ability to pass a context and additional request options.
2139//
2140// See GetControl for details on how to use this API operation.
2141//
2142// The context must be non-nil and will be used for request cancellation. If
2143// the context is nil a panic will occur. In the future the SDK may create
2144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2145// for more information on using Contexts.
2146func (c *AuditManager) GetControlWithContext(ctx aws.Context, input *GetControlInput, opts ...request.Option) (*GetControlOutput, error) {
2147	req, out := c.GetControlRequest(input)
2148	req.SetContext(ctx)
2149	req.ApplyOptions(opts...)
2150	return out, req.Send()
2151}
2152
2153const opGetDelegations = "GetDelegations"
2154
2155// GetDelegationsRequest generates a "aws/request.Request" representing the
2156// client's request for the GetDelegations operation. The "output" return
2157// value will be populated with the request's response once the request completes
2158// successfully.
2159//
2160// Use "Send" method on the returned Request to send the API call to the service.
2161// the "output" return value is not valid until after Send returns without error.
2162//
2163// See GetDelegations for more information on using the GetDelegations
2164// API call, and error handling.
2165//
2166// This method is useful when you want to inject custom logic or configuration
2167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2168//
2169//
2170//    // Example sending a request using the GetDelegationsRequest method.
2171//    req, resp := client.GetDelegationsRequest(params)
2172//
2173//    err := req.Send()
2174//    if err == nil { // resp is now filled
2175//        fmt.Println(resp)
2176//    }
2177//
2178// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2179func (c *AuditManager) GetDelegationsRequest(input *GetDelegationsInput) (req *request.Request, output *GetDelegationsOutput) {
2180	op := &request.Operation{
2181		Name:       opGetDelegations,
2182		HTTPMethod: "GET",
2183		HTTPPath:   "/delegations",
2184		Paginator: &request.Paginator{
2185			InputTokens:     []string{"nextToken"},
2186			OutputTokens:    []string{"nextToken"},
2187			LimitToken:      "maxResults",
2188			TruncationToken: "",
2189		},
2190	}
2191
2192	if input == nil {
2193		input = &GetDelegationsInput{}
2194	}
2195
2196	output = &GetDelegationsOutput{}
2197	req = c.newRequest(op, input, output)
2198	return
2199}
2200
2201// GetDelegations API operation for AWS Audit Manager.
2202//
2203// Returns a list of delegations from an audit owner to a delegate.
2204//
2205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2206// with awserr.Error's Code and Message methods to get detailed information about
2207// the error.
2208//
2209// See the AWS API reference guide for AWS Audit Manager's
2210// API operation GetDelegations for usage and error information.
2211//
2212// Returned Error Types:
2213//   * ValidationException
2214//   The request has invalid or missing parameters.
2215//
2216//   * AccessDeniedException
2217//   Your account is not registered with Audit Manager. Check the delegated administrator
2218//   setup on the Audit Manager settings page, and try again.
2219//
2220//   * InternalServerException
2221//   An internal service error occurred during the processing of your request.
2222//   Try again later.
2223//
2224// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2225func (c *AuditManager) GetDelegations(input *GetDelegationsInput) (*GetDelegationsOutput, error) {
2226	req, out := c.GetDelegationsRequest(input)
2227	return out, req.Send()
2228}
2229
2230// GetDelegationsWithContext is the same as GetDelegations with the addition of
2231// the ability to pass a context and additional request options.
2232//
2233// See GetDelegations for details on how to use this API operation.
2234//
2235// The context must be non-nil and will be used for request cancellation. If
2236// the context is nil a panic will occur. In the future the SDK may create
2237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2238// for more information on using Contexts.
2239func (c *AuditManager) GetDelegationsWithContext(ctx aws.Context, input *GetDelegationsInput, opts ...request.Option) (*GetDelegationsOutput, error) {
2240	req, out := c.GetDelegationsRequest(input)
2241	req.SetContext(ctx)
2242	req.ApplyOptions(opts...)
2243	return out, req.Send()
2244}
2245
2246// GetDelegationsPages iterates over the pages of a GetDelegations operation,
2247// calling the "fn" function with the response data for each page. To stop
2248// iterating, return false from the fn function.
2249//
2250// See GetDelegations method for more information on how to use this operation.
2251//
2252// Note: This operation can generate multiple requests to a service.
2253//
2254//    // Example iterating over at most 3 pages of a GetDelegations operation.
2255//    pageNum := 0
2256//    err := client.GetDelegationsPages(params,
2257//        func(page *auditmanager.GetDelegationsOutput, lastPage bool) bool {
2258//            pageNum++
2259//            fmt.Println(page)
2260//            return pageNum <= 3
2261//        })
2262//
2263func (c *AuditManager) GetDelegationsPages(input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool) error {
2264	return c.GetDelegationsPagesWithContext(aws.BackgroundContext(), input, fn)
2265}
2266
2267// GetDelegationsPagesWithContext same as GetDelegationsPages except
2268// it takes a Context and allows setting request options on the pages.
2269//
2270// The context must be non-nil and will be used for request cancellation. If
2271// the context is nil a panic will occur. In the future the SDK may create
2272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2273// for more information on using Contexts.
2274func (c *AuditManager) GetDelegationsPagesWithContext(ctx aws.Context, input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool, opts ...request.Option) error {
2275	p := request.Pagination{
2276		NewRequest: func() (*request.Request, error) {
2277			var inCpy *GetDelegationsInput
2278			if input != nil {
2279				tmp := *input
2280				inCpy = &tmp
2281			}
2282			req, _ := c.GetDelegationsRequest(inCpy)
2283			req.SetContext(ctx)
2284			req.ApplyOptions(opts...)
2285			return req, nil
2286		},
2287	}
2288
2289	for p.Next() {
2290		if !fn(p.Page().(*GetDelegationsOutput), !p.HasNextPage()) {
2291			break
2292		}
2293	}
2294
2295	return p.Err()
2296}
2297
2298const opGetEvidence = "GetEvidence"
2299
2300// GetEvidenceRequest generates a "aws/request.Request" representing the
2301// client's request for the GetEvidence operation. The "output" return
2302// value will be populated with the request's response once the request completes
2303// successfully.
2304//
2305// Use "Send" method on the returned Request to send the API call to the service.
2306// the "output" return value is not valid until after Send returns without error.
2307//
2308// See GetEvidence for more information on using the GetEvidence
2309// API call, and error handling.
2310//
2311// This method is useful when you want to inject custom logic or configuration
2312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2313//
2314//
2315//    // Example sending a request using the GetEvidenceRequest method.
2316//    req, resp := client.GetEvidenceRequest(params)
2317//
2318//    err := req.Send()
2319//    if err == nil { // resp is now filled
2320//        fmt.Println(resp)
2321//    }
2322//
2323// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2324func (c *AuditManager) GetEvidenceRequest(input *GetEvidenceInput) (req *request.Request, output *GetEvidenceOutput) {
2325	op := &request.Operation{
2326		Name:       opGetEvidence,
2327		HTTPMethod: "GET",
2328		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence/{evidenceId}",
2329	}
2330
2331	if input == nil {
2332		input = &GetEvidenceInput{}
2333	}
2334
2335	output = &GetEvidenceOutput{}
2336	req = c.newRequest(op, input, output)
2337	return
2338}
2339
2340// GetEvidence API operation for AWS Audit Manager.
2341//
2342// Returns evidence from Audit Manager.
2343//
2344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2345// with awserr.Error's Code and Message methods to get detailed information about
2346// the error.
2347//
2348// See the AWS API reference guide for AWS Audit Manager's
2349// API operation GetEvidence for usage and error information.
2350//
2351// Returned Error Types:
2352//   * ResourceNotFoundException
2353//   The resource specified in the request cannot be found.
2354//
2355//   * ValidationException
2356//   The request has invalid or missing parameters.
2357//
2358//   * AccessDeniedException
2359//   Your account is not registered with Audit Manager. Check the delegated administrator
2360//   setup on the Audit Manager settings page, and try again.
2361//
2362//   * InternalServerException
2363//   An internal service error occurred during the processing of your request.
2364//   Try again later.
2365//
2366// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2367func (c *AuditManager) GetEvidence(input *GetEvidenceInput) (*GetEvidenceOutput, error) {
2368	req, out := c.GetEvidenceRequest(input)
2369	return out, req.Send()
2370}
2371
2372// GetEvidenceWithContext is the same as GetEvidence with the addition of
2373// the ability to pass a context and additional request options.
2374//
2375// See GetEvidence for details on how to use this API operation.
2376//
2377// The context must be non-nil and will be used for request cancellation. If
2378// the context is nil a panic will occur. In the future the SDK may create
2379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2380// for more information on using Contexts.
2381func (c *AuditManager) GetEvidenceWithContext(ctx aws.Context, input *GetEvidenceInput, opts ...request.Option) (*GetEvidenceOutput, error) {
2382	req, out := c.GetEvidenceRequest(input)
2383	req.SetContext(ctx)
2384	req.ApplyOptions(opts...)
2385	return out, req.Send()
2386}
2387
2388const opGetEvidenceByEvidenceFolder = "GetEvidenceByEvidenceFolder"
2389
2390// GetEvidenceByEvidenceFolderRequest generates a "aws/request.Request" representing the
2391// client's request for the GetEvidenceByEvidenceFolder operation. The "output" return
2392// value will be populated with the request's response once the request completes
2393// successfully.
2394//
2395// Use "Send" method on the returned Request to send the API call to the service.
2396// the "output" return value is not valid until after Send returns without error.
2397//
2398// See GetEvidenceByEvidenceFolder for more information on using the GetEvidenceByEvidenceFolder
2399// API call, and error handling.
2400//
2401// This method is useful when you want to inject custom logic or configuration
2402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2403//
2404//
2405//    // Example sending a request using the GetEvidenceByEvidenceFolderRequest method.
2406//    req, resp := client.GetEvidenceByEvidenceFolderRequest(params)
2407//
2408//    err := req.Send()
2409//    if err == nil { // resp is now filled
2410//        fmt.Println(resp)
2411//    }
2412//
2413// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2414func (c *AuditManager) GetEvidenceByEvidenceFolderRequest(input *GetEvidenceByEvidenceFolderInput) (req *request.Request, output *GetEvidenceByEvidenceFolderOutput) {
2415	op := &request.Operation{
2416		Name:       opGetEvidenceByEvidenceFolder,
2417		HTTPMethod: "GET",
2418		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence",
2419		Paginator: &request.Paginator{
2420			InputTokens:     []string{"nextToken"},
2421			OutputTokens:    []string{"nextToken"},
2422			LimitToken:      "maxResults",
2423			TruncationToken: "",
2424		},
2425	}
2426
2427	if input == nil {
2428		input = &GetEvidenceByEvidenceFolderInput{}
2429	}
2430
2431	output = &GetEvidenceByEvidenceFolderOutput{}
2432	req = c.newRequest(op, input, output)
2433	return
2434}
2435
2436// GetEvidenceByEvidenceFolder API operation for AWS Audit Manager.
2437//
2438// Returns all evidence from a specified evidence folder in Audit Manager.
2439//
2440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2441// with awserr.Error's Code and Message methods to get detailed information about
2442// the error.
2443//
2444// See the AWS API reference guide for AWS Audit Manager's
2445// API operation GetEvidenceByEvidenceFolder for usage and error information.
2446//
2447// Returned Error Types:
2448//   * ResourceNotFoundException
2449//   The resource specified in the request cannot be found.
2450//
2451//   * ValidationException
2452//   The request has invalid or missing parameters.
2453//
2454//   * AccessDeniedException
2455//   Your account is not registered with Audit Manager. Check the delegated administrator
2456//   setup on the Audit Manager settings page, and try again.
2457//
2458//   * InternalServerException
2459//   An internal service error occurred during the processing of your request.
2460//   Try again later.
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2463func (c *AuditManager) GetEvidenceByEvidenceFolder(input *GetEvidenceByEvidenceFolderInput) (*GetEvidenceByEvidenceFolderOutput, error) {
2464	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2465	return out, req.Send()
2466}
2467
2468// GetEvidenceByEvidenceFolderWithContext is the same as GetEvidenceByEvidenceFolder with the addition of
2469// the ability to pass a context and additional request options.
2470//
2471// See GetEvidenceByEvidenceFolder for details on how to use this API operation.
2472//
2473// The context must be non-nil and will be used for request cancellation. If
2474// the context is nil a panic will occur. In the future the SDK may create
2475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2476// for more information on using Contexts.
2477func (c *AuditManager) GetEvidenceByEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, opts ...request.Option) (*GetEvidenceByEvidenceFolderOutput, error) {
2478	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2479	req.SetContext(ctx)
2480	req.ApplyOptions(opts...)
2481	return out, req.Send()
2482}
2483
2484// GetEvidenceByEvidenceFolderPages iterates over the pages of a GetEvidenceByEvidenceFolder operation,
2485// calling the "fn" function with the response data for each page. To stop
2486// iterating, return false from the fn function.
2487//
2488// See GetEvidenceByEvidenceFolder method for more information on how to use this operation.
2489//
2490// Note: This operation can generate multiple requests to a service.
2491//
2492//    // Example iterating over at most 3 pages of a GetEvidenceByEvidenceFolder operation.
2493//    pageNum := 0
2494//    err := client.GetEvidenceByEvidenceFolderPages(params,
2495//        func(page *auditmanager.GetEvidenceByEvidenceFolderOutput, lastPage bool) bool {
2496//            pageNum++
2497//            fmt.Println(page)
2498//            return pageNum <= 3
2499//        })
2500//
2501func (c *AuditManager) GetEvidenceByEvidenceFolderPages(input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool) error {
2502	return c.GetEvidenceByEvidenceFolderPagesWithContext(aws.BackgroundContext(), input, fn)
2503}
2504
2505// GetEvidenceByEvidenceFolderPagesWithContext same as GetEvidenceByEvidenceFolderPages except
2506// it takes a Context and allows setting request options on the pages.
2507//
2508// The context must be non-nil and will be used for request cancellation. If
2509// the context is nil a panic will occur. In the future the SDK may create
2510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2511// for more information on using Contexts.
2512func (c *AuditManager) GetEvidenceByEvidenceFolderPagesWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool, opts ...request.Option) error {
2513	p := request.Pagination{
2514		NewRequest: func() (*request.Request, error) {
2515			var inCpy *GetEvidenceByEvidenceFolderInput
2516			if input != nil {
2517				tmp := *input
2518				inCpy = &tmp
2519			}
2520			req, _ := c.GetEvidenceByEvidenceFolderRequest(inCpy)
2521			req.SetContext(ctx)
2522			req.ApplyOptions(opts...)
2523			return req, nil
2524		},
2525	}
2526
2527	for p.Next() {
2528		if !fn(p.Page().(*GetEvidenceByEvidenceFolderOutput), !p.HasNextPage()) {
2529			break
2530		}
2531	}
2532
2533	return p.Err()
2534}
2535
2536const opGetEvidenceFolder = "GetEvidenceFolder"
2537
2538// GetEvidenceFolderRequest generates a "aws/request.Request" representing the
2539// client's request for the GetEvidenceFolder operation. The "output" return
2540// value will be populated with the request's response once the request completes
2541// successfully.
2542//
2543// Use "Send" method on the returned Request to send the API call to the service.
2544// the "output" return value is not valid until after Send returns without error.
2545//
2546// See GetEvidenceFolder for more information on using the GetEvidenceFolder
2547// API call, and error handling.
2548//
2549// This method is useful when you want to inject custom logic or configuration
2550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2551//
2552//
2553//    // Example sending a request using the GetEvidenceFolderRequest method.
2554//    req, resp := client.GetEvidenceFolderRequest(params)
2555//
2556//    err := req.Send()
2557//    if err == nil { // resp is now filled
2558//        fmt.Println(resp)
2559//    }
2560//
2561// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2562func (c *AuditManager) GetEvidenceFolderRequest(input *GetEvidenceFolderInput) (req *request.Request, output *GetEvidenceFolderOutput) {
2563	op := &request.Operation{
2564		Name:       opGetEvidenceFolder,
2565		HTTPMethod: "GET",
2566		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}",
2567	}
2568
2569	if input == nil {
2570		input = &GetEvidenceFolderInput{}
2571	}
2572
2573	output = &GetEvidenceFolderOutput{}
2574	req = c.newRequest(op, input, output)
2575	return
2576}
2577
2578// GetEvidenceFolder API operation for AWS Audit Manager.
2579//
2580// Returns an evidence folder from the specified assessment in Audit Manager.
2581//
2582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2583// with awserr.Error's Code and Message methods to get detailed information about
2584// the error.
2585//
2586// See the AWS API reference guide for AWS Audit Manager's
2587// API operation GetEvidenceFolder for usage and error information.
2588//
2589// Returned Error Types:
2590//   * ResourceNotFoundException
2591//   The resource specified in the request cannot be found.
2592//
2593//   * ValidationException
2594//   The request has invalid or missing parameters.
2595//
2596//   * AccessDeniedException
2597//   Your account is not registered with Audit Manager. Check the delegated administrator
2598//   setup on the Audit Manager settings page, and try again.
2599//
2600//   * InternalServerException
2601//   An internal service error occurred during the processing of your request.
2602//   Try again later.
2603//
2604// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2605func (c *AuditManager) GetEvidenceFolder(input *GetEvidenceFolderInput) (*GetEvidenceFolderOutput, error) {
2606	req, out := c.GetEvidenceFolderRequest(input)
2607	return out, req.Send()
2608}
2609
2610// GetEvidenceFolderWithContext is the same as GetEvidenceFolder with the addition of
2611// the ability to pass a context and additional request options.
2612//
2613// See GetEvidenceFolder for details on how to use this API operation.
2614//
2615// The context must be non-nil and will be used for request cancellation. If
2616// the context is nil a panic will occur. In the future the SDK may create
2617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2618// for more information on using Contexts.
2619func (c *AuditManager) GetEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceFolderInput, opts ...request.Option) (*GetEvidenceFolderOutput, error) {
2620	req, out := c.GetEvidenceFolderRequest(input)
2621	req.SetContext(ctx)
2622	req.ApplyOptions(opts...)
2623	return out, req.Send()
2624}
2625
2626const opGetEvidenceFoldersByAssessment = "GetEvidenceFoldersByAssessment"
2627
2628// GetEvidenceFoldersByAssessmentRequest generates a "aws/request.Request" representing the
2629// client's request for the GetEvidenceFoldersByAssessment operation. The "output" return
2630// value will be populated with the request's response once the request completes
2631// successfully.
2632//
2633// Use "Send" method on the returned Request to send the API call to the service.
2634// the "output" return value is not valid until after Send returns without error.
2635//
2636// See GetEvidenceFoldersByAssessment for more information on using the GetEvidenceFoldersByAssessment
2637// API call, and error handling.
2638//
2639// This method is useful when you want to inject custom logic or configuration
2640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2641//
2642//
2643//    // Example sending a request using the GetEvidenceFoldersByAssessmentRequest method.
2644//    req, resp := client.GetEvidenceFoldersByAssessmentRequest(params)
2645//
2646//    err := req.Send()
2647//    if err == nil { // resp is now filled
2648//        fmt.Println(resp)
2649//    }
2650//
2651// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2652func (c *AuditManager) GetEvidenceFoldersByAssessmentRequest(input *GetEvidenceFoldersByAssessmentInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentOutput) {
2653	op := &request.Operation{
2654		Name:       opGetEvidenceFoldersByAssessment,
2655		HTTPMethod: "GET",
2656		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders",
2657		Paginator: &request.Paginator{
2658			InputTokens:     []string{"nextToken"},
2659			OutputTokens:    []string{"nextToken"},
2660			LimitToken:      "maxResults",
2661			TruncationToken: "",
2662		},
2663	}
2664
2665	if input == nil {
2666		input = &GetEvidenceFoldersByAssessmentInput{}
2667	}
2668
2669	output = &GetEvidenceFoldersByAssessmentOutput{}
2670	req = c.newRequest(op, input, output)
2671	return
2672}
2673
2674// GetEvidenceFoldersByAssessment API operation for AWS Audit Manager.
2675//
2676// Returns the evidence folders from a specified assessment in Audit Manager.
2677//
2678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2679// with awserr.Error's Code and Message methods to get detailed information about
2680// the error.
2681//
2682// See the AWS API reference guide for AWS Audit Manager's
2683// API operation GetEvidenceFoldersByAssessment for usage and error information.
2684//
2685// Returned Error Types:
2686//   * ResourceNotFoundException
2687//   The resource specified in the request cannot be found.
2688//
2689//   * AccessDeniedException
2690//   Your account is not registered with Audit Manager. Check the delegated administrator
2691//   setup on the Audit Manager settings page, and try again.
2692//
2693//   * ValidationException
2694//   The request has invalid or missing parameters.
2695//
2696//   * InternalServerException
2697//   An internal service error occurred during the processing of your request.
2698//   Try again later.
2699//
2700// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2701func (c *AuditManager) GetEvidenceFoldersByAssessment(input *GetEvidenceFoldersByAssessmentInput) (*GetEvidenceFoldersByAssessmentOutput, error) {
2702	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2703	return out, req.Send()
2704}
2705
2706// GetEvidenceFoldersByAssessmentWithContext is the same as GetEvidenceFoldersByAssessment with the addition of
2707// the ability to pass a context and additional request options.
2708//
2709// See GetEvidenceFoldersByAssessment for details on how to use this API operation.
2710//
2711// The context must be non-nil and will be used for request cancellation. If
2712// the context is nil a panic will occur. In the future the SDK may create
2713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2714// for more information on using Contexts.
2715func (c *AuditManager) GetEvidenceFoldersByAssessmentWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentOutput, error) {
2716	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2717	req.SetContext(ctx)
2718	req.ApplyOptions(opts...)
2719	return out, req.Send()
2720}
2721
2722// GetEvidenceFoldersByAssessmentPages iterates over the pages of a GetEvidenceFoldersByAssessment operation,
2723// calling the "fn" function with the response data for each page. To stop
2724// iterating, return false from the fn function.
2725//
2726// See GetEvidenceFoldersByAssessment method for more information on how to use this operation.
2727//
2728// Note: This operation can generate multiple requests to a service.
2729//
2730//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessment operation.
2731//    pageNum := 0
2732//    err := client.GetEvidenceFoldersByAssessmentPages(params,
2733//        func(page *auditmanager.GetEvidenceFoldersByAssessmentOutput, lastPage bool) bool {
2734//            pageNum++
2735//            fmt.Println(page)
2736//            return pageNum <= 3
2737//        })
2738//
2739func (c *AuditManager) GetEvidenceFoldersByAssessmentPages(input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool) error {
2740	return c.GetEvidenceFoldersByAssessmentPagesWithContext(aws.BackgroundContext(), input, fn)
2741}
2742
2743// GetEvidenceFoldersByAssessmentPagesWithContext same as GetEvidenceFoldersByAssessmentPages except
2744// it takes a Context and allows setting request options on the pages.
2745//
2746// The context must be non-nil and will be used for request cancellation. If
2747// the context is nil a panic will occur. In the future the SDK may create
2748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2749// for more information on using Contexts.
2750func (c *AuditManager) GetEvidenceFoldersByAssessmentPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool, opts ...request.Option) error {
2751	p := request.Pagination{
2752		NewRequest: func() (*request.Request, error) {
2753			var inCpy *GetEvidenceFoldersByAssessmentInput
2754			if input != nil {
2755				tmp := *input
2756				inCpy = &tmp
2757			}
2758			req, _ := c.GetEvidenceFoldersByAssessmentRequest(inCpy)
2759			req.SetContext(ctx)
2760			req.ApplyOptions(opts...)
2761			return req, nil
2762		},
2763	}
2764
2765	for p.Next() {
2766		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentOutput), !p.HasNextPage()) {
2767			break
2768		}
2769	}
2770
2771	return p.Err()
2772}
2773
2774const opGetEvidenceFoldersByAssessmentControl = "GetEvidenceFoldersByAssessmentControl"
2775
2776// GetEvidenceFoldersByAssessmentControlRequest generates a "aws/request.Request" representing the
2777// client's request for the GetEvidenceFoldersByAssessmentControl operation. The "output" return
2778// value will be populated with the request's response once the request completes
2779// successfully.
2780//
2781// Use "Send" method on the returned Request to send the API call to the service.
2782// the "output" return value is not valid until after Send returns without error.
2783//
2784// See GetEvidenceFoldersByAssessmentControl for more information on using the GetEvidenceFoldersByAssessmentControl
2785// API call, and error handling.
2786//
2787// This method is useful when you want to inject custom logic or configuration
2788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2789//
2790//
2791//    // Example sending a request using the GetEvidenceFoldersByAssessmentControlRequest method.
2792//    req, resp := client.GetEvidenceFoldersByAssessmentControlRequest(params)
2793//
2794//    err := req.Send()
2795//    if err == nil { // resp is now filled
2796//        fmt.Println(resp)
2797//    }
2798//
2799// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2800func (c *AuditManager) GetEvidenceFoldersByAssessmentControlRequest(input *GetEvidenceFoldersByAssessmentControlInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentControlOutput) {
2801	op := &request.Operation{
2802		Name:       opGetEvidenceFoldersByAssessmentControl,
2803		HTTPMethod: "GET",
2804		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders-by-assessment-control/{controlSetId}/{controlId}",
2805		Paginator: &request.Paginator{
2806			InputTokens:     []string{"nextToken"},
2807			OutputTokens:    []string{"nextToken"},
2808			LimitToken:      "maxResults",
2809			TruncationToken: "",
2810		},
2811	}
2812
2813	if input == nil {
2814		input = &GetEvidenceFoldersByAssessmentControlInput{}
2815	}
2816
2817	output = &GetEvidenceFoldersByAssessmentControlOutput{}
2818	req = c.newRequest(op, input, output)
2819	return
2820}
2821
2822// GetEvidenceFoldersByAssessmentControl API operation for AWS Audit Manager.
2823//
2824// Returns a list of evidence folders associated with a specified control of
2825// an assessment in Audit Manager.
2826//
2827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2828// with awserr.Error's Code and Message methods to get detailed information about
2829// the error.
2830//
2831// See the AWS API reference guide for AWS Audit Manager's
2832// API operation GetEvidenceFoldersByAssessmentControl for usage and error information.
2833//
2834// Returned Error Types:
2835//   * ResourceNotFoundException
2836//   The resource specified in the request cannot be found.
2837//
2838//   * ValidationException
2839//   The request has invalid or missing parameters.
2840//
2841//   * AccessDeniedException
2842//   Your account is not registered with Audit Manager. Check the delegated administrator
2843//   setup on the Audit Manager settings page, and try again.
2844//
2845//   * InternalServerException
2846//   An internal service error occurred during the processing of your request.
2847//   Try again later.
2848//
2849// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2850func (c *AuditManager) GetEvidenceFoldersByAssessmentControl(input *GetEvidenceFoldersByAssessmentControlInput) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2851	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2852	return out, req.Send()
2853}
2854
2855// GetEvidenceFoldersByAssessmentControlWithContext is the same as GetEvidenceFoldersByAssessmentControl with the addition of
2856// the ability to pass a context and additional request options.
2857//
2858// See GetEvidenceFoldersByAssessmentControl for details on how to use this API operation.
2859//
2860// The context must be non-nil and will be used for request cancellation. If
2861// the context is nil a panic will occur. In the future the SDK may create
2862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2863// for more information on using Contexts.
2864func (c *AuditManager) GetEvidenceFoldersByAssessmentControlWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2865	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2866	req.SetContext(ctx)
2867	req.ApplyOptions(opts...)
2868	return out, req.Send()
2869}
2870
2871// GetEvidenceFoldersByAssessmentControlPages iterates over the pages of a GetEvidenceFoldersByAssessmentControl operation,
2872// calling the "fn" function with the response data for each page. To stop
2873// iterating, return false from the fn function.
2874//
2875// See GetEvidenceFoldersByAssessmentControl method for more information on how to use this operation.
2876//
2877// Note: This operation can generate multiple requests to a service.
2878//
2879//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessmentControl operation.
2880//    pageNum := 0
2881//    err := client.GetEvidenceFoldersByAssessmentControlPages(params,
2882//        func(page *auditmanager.GetEvidenceFoldersByAssessmentControlOutput, lastPage bool) bool {
2883//            pageNum++
2884//            fmt.Println(page)
2885//            return pageNum <= 3
2886//        })
2887//
2888func (c *AuditManager) GetEvidenceFoldersByAssessmentControlPages(input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool) error {
2889	return c.GetEvidenceFoldersByAssessmentControlPagesWithContext(aws.BackgroundContext(), input, fn)
2890}
2891
2892// GetEvidenceFoldersByAssessmentControlPagesWithContext same as GetEvidenceFoldersByAssessmentControlPages except
2893// it takes a Context and allows setting request options on the pages.
2894//
2895// The context must be non-nil and will be used for request cancellation. If
2896// the context is nil a panic will occur. In the future the SDK may create
2897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2898// for more information on using Contexts.
2899func (c *AuditManager) GetEvidenceFoldersByAssessmentControlPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool, opts ...request.Option) error {
2900	p := request.Pagination{
2901		NewRequest: func() (*request.Request, error) {
2902			var inCpy *GetEvidenceFoldersByAssessmentControlInput
2903			if input != nil {
2904				tmp := *input
2905				inCpy = &tmp
2906			}
2907			req, _ := c.GetEvidenceFoldersByAssessmentControlRequest(inCpy)
2908			req.SetContext(ctx)
2909			req.ApplyOptions(opts...)
2910			return req, nil
2911		},
2912	}
2913
2914	for p.Next() {
2915		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentControlOutput), !p.HasNextPage()) {
2916			break
2917		}
2918	}
2919
2920	return p.Err()
2921}
2922
2923const opGetOrganizationAdminAccount = "GetOrganizationAdminAccount"
2924
2925// GetOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2926// client's request for the GetOrganizationAdminAccount operation. The "output" return
2927// value will be populated with the request's response once the request completes
2928// successfully.
2929//
2930// Use "Send" method on the returned Request to send the API call to the service.
2931// the "output" return value is not valid until after Send returns without error.
2932//
2933// See GetOrganizationAdminAccount for more information on using the GetOrganizationAdminAccount
2934// API call, and error handling.
2935//
2936// This method is useful when you want to inject custom logic or configuration
2937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2938//
2939//
2940//    // Example sending a request using the GetOrganizationAdminAccountRequest method.
2941//    req, resp := client.GetOrganizationAdminAccountRequest(params)
2942//
2943//    err := req.Send()
2944//    if err == nil { // resp is now filled
2945//        fmt.Println(resp)
2946//    }
2947//
2948// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
2949func (c *AuditManager) GetOrganizationAdminAccountRequest(input *GetOrganizationAdminAccountInput) (req *request.Request, output *GetOrganizationAdminAccountOutput) {
2950	op := &request.Operation{
2951		Name:       opGetOrganizationAdminAccount,
2952		HTTPMethod: "GET",
2953		HTTPPath:   "/account/organizationAdminAccount",
2954	}
2955
2956	if input == nil {
2957		input = &GetOrganizationAdminAccountInput{}
2958	}
2959
2960	output = &GetOrganizationAdminAccountOutput{}
2961	req = c.newRequest(op, input, output)
2962	return
2963}
2964
2965// GetOrganizationAdminAccount API operation for AWS Audit Manager.
2966//
2967// Returns the name of the delegated Amazon Web Services administrator account
2968// for the organization.
2969//
2970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2971// with awserr.Error's Code and Message methods to get detailed information about
2972// the error.
2973//
2974// See the AWS API reference guide for AWS Audit Manager's
2975// API operation GetOrganizationAdminAccount for usage and error information.
2976//
2977// Returned Error Types:
2978//   * ValidationException
2979//   The request has invalid or missing parameters.
2980//
2981//   * AccessDeniedException
2982//   Your account is not registered with Audit Manager. Check the delegated administrator
2983//   setup on the Audit Manager settings page, and try again.
2984//
2985//   * InternalServerException
2986//   An internal service error occurred during the processing of your request.
2987//   Try again later.
2988//
2989//   * ResourceNotFoundException
2990//   The resource specified in the request cannot be found.
2991//
2992// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
2993func (c *AuditManager) GetOrganizationAdminAccount(input *GetOrganizationAdminAccountInput) (*GetOrganizationAdminAccountOutput, error) {
2994	req, out := c.GetOrganizationAdminAccountRequest(input)
2995	return out, req.Send()
2996}
2997
2998// GetOrganizationAdminAccountWithContext is the same as GetOrganizationAdminAccount with the addition of
2999// the ability to pass a context and additional request options.
3000//
3001// See GetOrganizationAdminAccount for details on how to use this API operation.
3002//
3003// The context must be non-nil and will be used for request cancellation. If
3004// the context is nil a panic will occur. In the future the SDK may create
3005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3006// for more information on using Contexts.
3007func (c *AuditManager) GetOrganizationAdminAccountWithContext(ctx aws.Context, input *GetOrganizationAdminAccountInput, opts ...request.Option) (*GetOrganizationAdminAccountOutput, error) {
3008	req, out := c.GetOrganizationAdminAccountRequest(input)
3009	req.SetContext(ctx)
3010	req.ApplyOptions(opts...)
3011	return out, req.Send()
3012}
3013
3014const opGetServicesInScope = "GetServicesInScope"
3015
3016// GetServicesInScopeRequest generates a "aws/request.Request" representing the
3017// client's request for the GetServicesInScope operation. The "output" return
3018// value will be populated with the request's response once the request completes
3019// successfully.
3020//
3021// Use "Send" method on the returned Request to send the API call to the service.
3022// the "output" return value is not valid until after Send returns without error.
3023//
3024// See GetServicesInScope for more information on using the GetServicesInScope
3025// API call, and error handling.
3026//
3027// This method is useful when you want to inject custom logic or configuration
3028// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3029//
3030//
3031//    // Example sending a request using the GetServicesInScopeRequest method.
3032//    req, resp := client.GetServicesInScopeRequest(params)
3033//
3034//    err := req.Send()
3035//    if err == nil { // resp is now filled
3036//        fmt.Println(resp)
3037//    }
3038//
3039// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3040func (c *AuditManager) GetServicesInScopeRequest(input *GetServicesInScopeInput) (req *request.Request, output *GetServicesInScopeOutput) {
3041	op := &request.Operation{
3042		Name:       opGetServicesInScope,
3043		HTTPMethod: "GET",
3044		HTTPPath:   "/services",
3045	}
3046
3047	if input == nil {
3048		input = &GetServicesInScopeInput{}
3049	}
3050
3051	output = &GetServicesInScopeOutput{}
3052	req = c.newRequest(op, input, output)
3053	return
3054}
3055
3056// GetServicesInScope API operation for AWS Audit Manager.
3057//
3058// Returns a list of the in-scope Amazon Web Services services for the specified
3059// assessment.
3060//
3061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3062// with awserr.Error's Code and Message methods to get detailed information about
3063// the error.
3064//
3065// See the AWS API reference guide for AWS Audit Manager's
3066// API operation GetServicesInScope for usage and error information.
3067//
3068// Returned Error Types:
3069//   * AccessDeniedException
3070//   Your account is not registered with Audit Manager. Check the delegated administrator
3071//   setup on the Audit Manager settings page, and try again.
3072//
3073//   * ValidationException
3074//   The request has invalid or missing parameters.
3075//
3076//   * InternalServerException
3077//   An internal service error occurred during the processing of your request.
3078//   Try again later.
3079//
3080// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3081func (c *AuditManager) GetServicesInScope(input *GetServicesInScopeInput) (*GetServicesInScopeOutput, error) {
3082	req, out := c.GetServicesInScopeRequest(input)
3083	return out, req.Send()
3084}
3085
3086// GetServicesInScopeWithContext is the same as GetServicesInScope with the addition of
3087// the ability to pass a context and additional request options.
3088//
3089// See GetServicesInScope for details on how to use this API operation.
3090//
3091// The context must be non-nil and will be used for request cancellation. If
3092// the context is nil a panic will occur. In the future the SDK may create
3093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3094// for more information on using Contexts.
3095func (c *AuditManager) GetServicesInScopeWithContext(ctx aws.Context, input *GetServicesInScopeInput, opts ...request.Option) (*GetServicesInScopeOutput, error) {
3096	req, out := c.GetServicesInScopeRequest(input)
3097	req.SetContext(ctx)
3098	req.ApplyOptions(opts...)
3099	return out, req.Send()
3100}
3101
3102const opGetSettings = "GetSettings"
3103
3104// GetSettingsRequest generates a "aws/request.Request" representing the
3105// client's request for the GetSettings operation. The "output" return
3106// value will be populated with the request's response once the request completes
3107// successfully.
3108//
3109// Use "Send" method on the returned Request to send the API call to the service.
3110// the "output" return value is not valid until after Send returns without error.
3111//
3112// See GetSettings for more information on using the GetSettings
3113// API call, and error handling.
3114//
3115// This method is useful when you want to inject custom logic or configuration
3116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3117//
3118//
3119//    // Example sending a request using the GetSettingsRequest method.
3120//    req, resp := client.GetSettingsRequest(params)
3121//
3122//    err := req.Send()
3123//    if err == nil { // resp is now filled
3124//        fmt.Println(resp)
3125//    }
3126//
3127// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3128func (c *AuditManager) GetSettingsRequest(input *GetSettingsInput) (req *request.Request, output *GetSettingsOutput) {
3129	op := &request.Operation{
3130		Name:       opGetSettings,
3131		HTTPMethod: "GET",
3132		HTTPPath:   "/settings/{attribute}",
3133	}
3134
3135	if input == nil {
3136		input = &GetSettingsInput{}
3137	}
3138
3139	output = &GetSettingsOutput{}
3140	req = c.newRequest(op, input, output)
3141	return
3142}
3143
3144// GetSettings API operation for AWS Audit Manager.
3145//
3146// Returns the settings for the specified account.
3147//
3148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3149// with awserr.Error's Code and Message methods to get detailed information about
3150// the error.
3151//
3152// See the AWS API reference guide for AWS Audit Manager's
3153// API operation GetSettings for usage and error information.
3154//
3155// Returned Error Types:
3156//   * AccessDeniedException
3157//   Your account is not registered with Audit Manager. Check the delegated administrator
3158//   setup on the Audit Manager settings page, and try again.
3159//
3160//   * InternalServerException
3161//   An internal service error occurred during the processing of your request.
3162//   Try again later.
3163//
3164// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3165func (c *AuditManager) GetSettings(input *GetSettingsInput) (*GetSettingsOutput, error) {
3166	req, out := c.GetSettingsRequest(input)
3167	return out, req.Send()
3168}
3169
3170// GetSettingsWithContext is the same as GetSettings with the addition of
3171// the ability to pass a context and additional request options.
3172//
3173// See GetSettings for details on how to use this API operation.
3174//
3175// The context must be non-nil and will be used for request cancellation. If
3176// the context is nil a panic will occur. In the future the SDK may create
3177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3178// for more information on using Contexts.
3179func (c *AuditManager) GetSettingsWithContext(ctx aws.Context, input *GetSettingsInput, opts ...request.Option) (*GetSettingsOutput, error) {
3180	req, out := c.GetSettingsRequest(input)
3181	req.SetContext(ctx)
3182	req.ApplyOptions(opts...)
3183	return out, req.Send()
3184}
3185
3186const opListAssessmentFrameworks = "ListAssessmentFrameworks"
3187
3188// ListAssessmentFrameworksRequest generates a "aws/request.Request" representing the
3189// client's request for the ListAssessmentFrameworks operation. The "output" return
3190// value will be populated with the request's response once the request completes
3191// successfully.
3192//
3193// Use "Send" method on the returned Request to send the API call to the service.
3194// the "output" return value is not valid until after Send returns without error.
3195//
3196// See ListAssessmentFrameworks for more information on using the ListAssessmentFrameworks
3197// API call, and error handling.
3198//
3199// This method is useful when you want to inject custom logic or configuration
3200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3201//
3202//
3203//    // Example sending a request using the ListAssessmentFrameworksRequest method.
3204//    req, resp := client.ListAssessmentFrameworksRequest(params)
3205//
3206//    err := req.Send()
3207//    if err == nil { // resp is now filled
3208//        fmt.Println(resp)
3209//    }
3210//
3211// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3212func (c *AuditManager) ListAssessmentFrameworksRequest(input *ListAssessmentFrameworksInput) (req *request.Request, output *ListAssessmentFrameworksOutput) {
3213	op := &request.Operation{
3214		Name:       opListAssessmentFrameworks,
3215		HTTPMethod: "GET",
3216		HTTPPath:   "/assessmentFrameworks",
3217		Paginator: &request.Paginator{
3218			InputTokens:     []string{"nextToken"},
3219			OutputTokens:    []string{"nextToken"},
3220			LimitToken:      "maxResults",
3221			TruncationToken: "",
3222		},
3223	}
3224
3225	if input == nil {
3226		input = &ListAssessmentFrameworksInput{}
3227	}
3228
3229	output = &ListAssessmentFrameworksOutput{}
3230	req = c.newRequest(op, input, output)
3231	return
3232}
3233
3234// ListAssessmentFrameworks API operation for AWS Audit Manager.
3235//
3236// Returns a list of the frameworks available in the Audit Manager framework
3237// library.
3238//
3239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3240// with awserr.Error's Code and Message methods to get detailed information about
3241// the error.
3242//
3243// See the AWS API reference guide for AWS Audit Manager's
3244// API operation ListAssessmentFrameworks for usage and error information.
3245//
3246// Returned Error Types:
3247//   * ValidationException
3248//   The request has invalid or missing parameters.
3249//
3250//   * AccessDeniedException
3251//   Your account is not registered with Audit Manager. Check the delegated administrator
3252//   setup on the Audit Manager settings page, and try again.
3253//
3254//   * InternalServerException
3255//   An internal service error occurred during the processing of your request.
3256//   Try again later.
3257//
3258// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3259func (c *AuditManager) ListAssessmentFrameworks(input *ListAssessmentFrameworksInput) (*ListAssessmentFrameworksOutput, error) {
3260	req, out := c.ListAssessmentFrameworksRequest(input)
3261	return out, req.Send()
3262}
3263
3264// ListAssessmentFrameworksWithContext is the same as ListAssessmentFrameworks with the addition of
3265// the ability to pass a context and additional request options.
3266//
3267// See ListAssessmentFrameworks for details on how to use this API operation.
3268//
3269// The context must be non-nil and will be used for request cancellation. If
3270// the context is nil a panic will occur. In the future the SDK may create
3271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3272// for more information on using Contexts.
3273func (c *AuditManager) ListAssessmentFrameworksWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, opts ...request.Option) (*ListAssessmentFrameworksOutput, error) {
3274	req, out := c.ListAssessmentFrameworksRequest(input)
3275	req.SetContext(ctx)
3276	req.ApplyOptions(opts...)
3277	return out, req.Send()
3278}
3279
3280// ListAssessmentFrameworksPages iterates over the pages of a ListAssessmentFrameworks operation,
3281// calling the "fn" function with the response data for each page. To stop
3282// iterating, return false from the fn function.
3283//
3284// See ListAssessmentFrameworks method for more information on how to use this operation.
3285//
3286// Note: This operation can generate multiple requests to a service.
3287//
3288//    // Example iterating over at most 3 pages of a ListAssessmentFrameworks operation.
3289//    pageNum := 0
3290//    err := client.ListAssessmentFrameworksPages(params,
3291//        func(page *auditmanager.ListAssessmentFrameworksOutput, lastPage bool) bool {
3292//            pageNum++
3293//            fmt.Println(page)
3294//            return pageNum <= 3
3295//        })
3296//
3297func (c *AuditManager) ListAssessmentFrameworksPages(input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool) error {
3298	return c.ListAssessmentFrameworksPagesWithContext(aws.BackgroundContext(), input, fn)
3299}
3300
3301// ListAssessmentFrameworksPagesWithContext same as ListAssessmentFrameworksPages except
3302// it takes a Context and allows setting request options on the pages.
3303//
3304// The context must be non-nil and will be used for request cancellation. If
3305// the context is nil a panic will occur. In the future the SDK may create
3306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3307// for more information on using Contexts.
3308func (c *AuditManager) ListAssessmentFrameworksPagesWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool, opts ...request.Option) error {
3309	p := request.Pagination{
3310		NewRequest: func() (*request.Request, error) {
3311			var inCpy *ListAssessmentFrameworksInput
3312			if input != nil {
3313				tmp := *input
3314				inCpy = &tmp
3315			}
3316			req, _ := c.ListAssessmentFrameworksRequest(inCpy)
3317			req.SetContext(ctx)
3318			req.ApplyOptions(opts...)
3319			return req, nil
3320		},
3321	}
3322
3323	for p.Next() {
3324		if !fn(p.Page().(*ListAssessmentFrameworksOutput), !p.HasNextPage()) {
3325			break
3326		}
3327	}
3328
3329	return p.Err()
3330}
3331
3332const opListAssessmentReports = "ListAssessmentReports"
3333
3334// ListAssessmentReportsRequest generates a "aws/request.Request" representing the
3335// client's request for the ListAssessmentReports operation. The "output" return
3336// value will be populated with the request's response once the request completes
3337// successfully.
3338//
3339// Use "Send" method on the returned Request to send the API call to the service.
3340// the "output" return value is not valid until after Send returns without error.
3341//
3342// See ListAssessmentReports for more information on using the ListAssessmentReports
3343// API call, and error handling.
3344//
3345// This method is useful when you want to inject custom logic or configuration
3346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3347//
3348//
3349//    // Example sending a request using the ListAssessmentReportsRequest method.
3350//    req, resp := client.ListAssessmentReportsRequest(params)
3351//
3352//    err := req.Send()
3353//    if err == nil { // resp is now filled
3354//        fmt.Println(resp)
3355//    }
3356//
3357// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3358func (c *AuditManager) ListAssessmentReportsRequest(input *ListAssessmentReportsInput) (req *request.Request, output *ListAssessmentReportsOutput) {
3359	op := &request.Operation{
3360		Name:       opListAssessmentReports,
3361		HTTPMethod: "GET",
3362		HTTPPath:   "/assessmentReports",
3363		Paginator: &request.Paginator{
3364			InputTokens:     []string{"nextToken"},
3365			OutputTokens:    []string{"nextToken"},
3366			LimitToken:      "maxResults",
3367			TruncationToken: "",
3368		},
3369	}
3370
3371	if input == nil {
3372		input = &ListAssessmentReportsInput{}
3373	}
3374
3375	output = &ListAssessmentReportsOutput{}
3376	req = c.newRequest(op, input, output)
3377	return
3378}
3379
3380// ListAssessmentReports API operation for AWS Audit Manager.
3381//
3382// Returns a list of assessment reports created in Audit Manager.
3383//
3384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3385// with awserr.Error's Code and Message methods to get detailed information about
3386// the error.
3387//
3388// See the AWS API reference guide for AWS Audit Manager's
3389// API operation ListAssessmentReports for usage and error information.
3390//
3391// Returned Error Types:
3392//   * ValidationException
3393//   The request has invalid or missing parameters.
3394//
3395//   * AccessDeniedException
3396//   Your account is not registered with Audit Manager. Check the delegated administrator
3397//   setup on the Audit Manager settings page, and try again.
3398//
3399//   * InternalServerException
3400//   An internal service error occurred during the processing of your request.
3401//   Try again later.
3402//
3403// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3404func (c *AuditManager) ListAssessmentReports(input *ListAssessmentReportsInput) (*ListAssessmentReportsOutput, error) {
3405	req, out := c.ListAssessmentReportsRequest(input)
3406	return out, req.Send()
3407}
3408
3409// ListAssessmentReportsWithContext is the same as ListAssessmentReports with the addition of
3410// the ability to pass a context and additional request options.
3411//
3412// See ListAssessmentReports for details on how to use this API operation.
3413//
3414// The context must be non-nil and will be used for request cancellation. If
3415// the context is nil a panic will occur. In the future the SDK may create
3416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3417// for more information on using Contexts.
3418func (c *AuditManager) ListAssessmentReportsWithContext(ctx aws.Context, input *ListAssessmentReportsInput, opts ...request.Option) (*ListAssessmentReportsOutput, error) {
3419	req, out := c.ListAssessmentReportsRequest(input)
3420	req.SetContext(ctx)
3421	req.ApplyOptions(opts...)
3422	return out, req.Send()
3423}
3424
3425// ListAssessmentReportsPages iterates over the pages of a ListAssessmentReports operation,
3426// calling the "fn" function with the response data for each page. To stop
3427// iterating, return false from the fn function.
3428//
3429// See ListAssessmentReports method for more information on how to use this operation.
3430//
3431// Note: This operation can generate multiple requests to a service.
3432//
3433//    // Example iterating over at most 3 pages of a ListAssessmentReports operation.
3434//    pageNum := 0
3435//    err := client.ListAssessmentReportsPages(params,
3436//        func(page *auditmanager.ListAssessmentReportsOutput, lastPage bool) bool {
3437//            pageNum++
3438//            fmt.Println(page)
3439//            return pageNum <= 3
3440//        })
3441//
3442func (c *AuditManager) ListAssessmentReportsPages(input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool) error {
3443	return c.ListAssessmentReportsPagesWithContext(aws.BackgroundContext(), input, fn)
3444}
3445
3446// ListAssessmentReportsPagesWithContext same as ListAssessmentReportsPages except
3447// it takes a Context and allows setting request options on the pages.
3448//
3449// The context must be non-nil and will be used for request cancellation. If
3450// the context is nil a panic will occur. In the future the SDK may create
3451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3452// for more information on using Contexts.
3453func (c *AuditManager) ListAssessmentReportsPagesWithContext(ctx aws.Context, input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool, opts ...request.Option) error {
3454	p := request.Pagination{
3455		NewRequest: func() (*request.Request, error) {
3456			var inCpy *ListAssessmentReportsInput
3457			if input != nil {
3458				tmp := *input
3459				inCpy = &tmp
3460			}
3461			req, _ := c.ListAssessmentReportsRequest(inCpy)
3462			req.SetContext(ctx)
3463			req.ApplyOptions(opts...)
3464			return req, nil
3465		},
3466	}
3467
3468	for p.Next() {
3469		if !fn(p.Page().(*ListAssessmentReportsOutput), !p.HasNextPage()) {
3470			break
3471		}
3472	}
3473
3474	return p.Err()
3475}
3476
3477const opListAssessments = "ListAssessments"
3478
3479// ListAssessmentsRequest generates a "aws/request.Request" representing the
3480// client's request for the ListAssessments operation. The "output" return
3481// value will be populated with the request's response once the request completes
3482// successfully.
3483//
3484// Use "Send" method on the returned Request to send the API call to the service.
3485// the "output" return value is not valid until after Send returns without error.
3486//
3487// See ListAssessments for more information on using the ListAssessments
3488// API call, and error handling.
3489//
3490// This method is useful when you want to inject custom logic or configuration
3491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3492//
3493//
3494//    // Example sending a request using the ListAssessmentsRequest method.
3495//    req, resp := client.ListAssessmentsRequest(params)
3496//
3497//    err := req.Send()
3498//    if err == nil { // resp is now filled
3499//        fmt.Println(resp)
3500//    }
3501//
3502// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3503func (c *AuditManager) ListAssessmentsRequest(input *ListAssessmentsInput) (req *request.Request, output *ListAssessmentsOutput) {
3504	op := &request.Operation{
3505		Name:       opListAssessments,
3506		HTTPMethod: "GET",
3507		HTTPPath:   "/assessments",
3508		Paginator: &request.Paginator{
3509			InputTokens:     []string{"nextToken"},
3510			OutputTokens:    []string{"nextToken"},
3511			LimitToken:      "maxResults",
3512			TruncationToken: "",
3513		},
3514	}
3515
3516	if input == nil {
3517		input = &ListAssessmentsInput{}
3518	}
3519
3520	output = &ListAssessmentsOutput{}
3521	req = c.newRequest(op, input, output)
3522	return
3523}
3524
3525// ListAssessments API operation for AWS Audit Manager.
3526//
3527// Returns a list of current and past assessments from Audit Manager.
3528//
3529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3530// with awserr.Error's Code and Message methods to get detailed information about
3531// the error.
3532//
3533// See the AWS API reference guide for AWS Audit Manager's
3534// API operation ListAssessments for usage and error information.
3535//
3536// Returned Error Types:
3537//   * AccessDeniedException
3538//   Your account is not registered with Audit Manager. Check the delegated administrator
3539//   setup on the Audit Manager settings page, and try again.
3540//
3541//   * ValidationException
3542//   The request has invalid or missing parameters.
3543//
3544//   * InternalServerException
3545//   An internal service error occurred during the processing of your request.
3546//   Try again later.
3547//
3548// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3549func (c *AuditManager) ListAssessments(input *ListAssessmentsInput) (*ListAssessmentsOutput, error) {
3550	req, out := c.ListAssessmentsRequest(input)
3551	return out, req.Send()
3552}
3553
3554// ListAssessmentsWithContext is the same as ListAssessments with the addition of
3555// the ability to pass a context and additional request options.
3556//
3557// See ListAssessments for details on how to use this API operation.
3558//
3559// The context must be non-nil and will be used for request cancellation. If
3560// the context is nil a panic will occur. In the future the SDK may create
3561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3562// for more information on using Contexts.
3563func (c *AuditManager) ListAssessmentsWithContext(ctx aws.Context, input *ListAssessmentsInput, opts ...request.Option) (*ListAssessmentsOutput, error) {
3564	req, out := c.ListAssessmentsRequest(input)
3565	req.SetContext(ctx)
3566	req.ApplyOptions(opts...)
3567	return out, req.Send()
3568}
3569
3570// ListAssessmentsPages iterates over the pages of a ListAssessments operation,
3571// calling the "fn" function with the response data for each page. To stop
3572// iterating, return false from the fn function.
3573//
3574// See ListAssessments method for more information on how to use this operation.
3575//
3576// Note: This operation can generate multiple requests to a service.
3577//
3578//    // Example iterating over at most 3 pages of a ListAssessments operation.
3579//    pageNum := 0
3580//    err := client.ListAssessmentsPages(params,
3581//        func(page *auditmanager.ListAssessmentsOutput, lastPage bool) bool {
3582//            pageNum++
3583//            fmt.Println(page)
3584//            return pageNum <= 3
3585//        })
3586//
3587func (c *AuditManager) ListAssessmentsPages(input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool) error {
3588	return c.ListAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn)
3589}
3590
3591// ListAssessmentsPagesWithContext same as ListAssessmentsPages except
3592// it takes a Context and allows setting request options on the pages.
3593//
3594// The context must be non-nil and will be used for request cancellation. If
3595// the context is nil a panic will occur. In the future the SDK may create
3596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3597// for more information on using Contexts.
3598func (c *AuditManager) ListAssessmentsPagesWithContext(ctx aws.Context, input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool, opts ...request.Option) error {
3599	p := request.Pagination{
3600		NewRequest: func() (*request.Request, error) {
3601			var inCpy *ListAssessmentsInput
3602			if input != nil {
3603				tmp := *input
3604				inCpy = &tmp
3605			}
3606			req, _ := c.ListAssessmentsRequest(inCpy)
3607			req.SetContext(ctx)
3608			req.ApplyOptions(opts...)
3609			return req, nil
3610		},
3611	}
3612
3613	for p.Next() {
3614		if !fn(p.Page().(*ListAssessmentsOutput), !p.HasNextPage()) {
3615			break
3616		}
3617	}
3618
3619	return p.Err()
3620}
3621
3622const opListControls = "ListControls"
3623
3624// ListControlsRequest generates a "aws/request.Request" representing the
3625// client's request for the ListControls operation. The "output" return
3626// value will be populated with the request's response once the request completes
3627// successfully.
3628//
3629// Use "Send" method on the returned Request to send the API call to the service.
3630// the "output" return value is not valid until after Send returns without error.
3631//
3632// See ListControls for more information on using the ListControls
3633// API call, and error handling.
3634//
3635// This method is useful when you want to inject custom logic or configuration
3636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3637//
3638//
3639//    // Example sending a request using the ListControlsRequest method.
3640//    req, resp := client.ListControlsRequest(params)
3641//
3642//    err := req.Send()
3643//    if err == nil { // resp is now filled
3644//        fmt.Println(resp)
3645//    }
3646//
3647// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3648func (c *AuditManager) ListControlsRequest(input *ListControlsInput) (req *request.Request, output *ListControlsOutput) {
3649	op := &request.Operation{
3650		Name:       opListControls,
3651		HTTPMethod: "GET",
3652		HTTPPath:   "/controls",
3653		Paginator: &request.Paginator{
3654			InputTokens:     []string{"nextToken"},
3655			OutputTokens:    []string{"nextToken"},
3656			LimitToken:      "maxResults",
3657			TruncationToken: "",
3658		},
3659	}
3660
3661	if input == nil {
3662		input = &ListControlsInput{}
3663	}
3664
3665	output = &ListControlsOutput{}
3666	req = c.newRequest(op, input, output)
3667	return
3668}
3669
3670// ListControls API operation for AWS Audit Manager.
3671//
3672// Returns a list of controls from Audit Manager.
3673//
3674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3675// with awserr.Error's Code and Message methods to get detailed information about
3676// the error.
3677//
3678// See the AWS API reference guide for AWS Audit Manager's
3679// API operation ListControls for usage and error information.
3680//
3681// Returned Error Types:
3682//   * AccessDeniedException
3683//   Your account is not registered with Audit Manager. Check the delegated administrator
3684//   setup on the Audit Manager settings page, and try again.
3685//
3686//   * ValidationException
3687//   The request has invalid or missing parameters.
3688//
3689//   * InternalServerException
3690//   An internal service error occurred during the processing of your request.
3691//   Try again later.
3692//
3693// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3694func (c *AuditManager) ListControls(input *ListControlsInput) (*ListControlsOutput, error) {
3695	req, out := c.ListControlsRequest(input)
3696	return out, req.Send()
3697}
3698
3699// ListControlsWithContext is the same as ListControls with the addition of
3700// the ability to pass a context and additional request options.
3701//
3702// See ListControls for details on how to use this API operation.
3703//
3704// The context must be non-nil and will be used for request cancellation. If
3705// the context is nil a panic will occur. In the future the SDK may create
3706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3707// for more information on using Contexts.
3708func (c *AuditManager) ListControlsWithContext(ctx aws.Context, input *ListControlsInput, opts ...request.Option) (*ListControlsOutput, error) {
3709	req, out := c.ListControlsRequest(input)
3710	req.SetContext(ctx)
3711	req.ApplyOptions(opts...)
3712	return out, req.Send()
3713}
3714
3715// ListControlsPages iterates over the pages of a ListControls operation,
3716// calling the "fn" function with the response data for each page. To stop
3717// iterating, return false from the fn function.
3718//
3719// See ListControls method for more information on how to use this operation.
3720//
3721// Note: This operation can generate multiple requests to a service.
3722//
3723//    // Example iterating over at most 3 pages of a ListControls operation.
3724//    pageNum := 0
3725//    err := client.ListControlsPages(params,
3726//        func(page *auditmanager.ListControlsOutput, lastPage bool) bool {
3727//            pageNum++
3728//            fmt.Println(page)
3729//            return pageNum <= 3
3730//        })
3731//
3732func (c *AuditManager) ListControlsPages(input *ListControlsInput, fn func(*ListControlsOutput, bool) bool) error {
3733	return c.ListControlsPagesWithContext(aws.BackgroundContext(), input, fn)
3734}
3735
3736// ListControlsPagesWithContext same as ListControlsPages except
3737// it takes a Context and allows setting request options on the pages.
3738//
3739// The context must be non-nil and will be used for request cancellation. If
3740// the context is nil a panic will occur. In the future the SDK may create
3741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3742// for more information on using Contexts.
3743func (c *AuditManager) ListControlsPagesWithContext(ctx aws.Context, input *ListControlsInput, fn func(*ListControlsOutput, bool) bool, opts ...request.Option) error {
3744	p := request.Pagination{
3745		NewRequest: func() (*request.Request, error) {
3746			var inCpy *ListControlsInput
3747			if input != nil {
3748				tmp := *input
3749				inCpy = &tmp
3750			}
3751			req, _ := c.ListControlsRequest(inCpy)
3752			req.SetContext(ctx)
3753			req.ApplyOptions(opts...)
3754			return req, nil
3755		},
3756	}
3757
3758	for p.Next() {
3759		if !fn(p.Page().(*ListControlsOutput), !p.HasNextPage()) {
3760			break
3761		}
3762	}
3763
3764	return p.Err()
3765}
3766
3767const opListKeywordsForDataSource = "ListKeywordsForDataSource"
3768
3769// ListKeywordsForDataSourceRequest generates a "aws/request.Request" representing the
3770// client's request for the ListKeywordsForDataSource operation. The "output" return
3771// value will be populated with the request's response once the request completes
3772// successfully.
3773//
3774// Use "Send" method on the returned Request to send the API call to the service.
3775// the "output" return value is not valid until after Send returns without error.
3776//
3777// See ListKeywordsForDataSource for more information on using the ListKeywordsForDataSource
3778// API call, and error handling.
3779//
3780// This method is useful when you want to inject custom logic or configuration
3781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3782//
3783//
3784//    // Example sending a request using the ListKeywordsForDataSourceRequest method.
3785//    req, resp := client.ListKeywordsForDataSourceRequest(params)
3786//
3787//    err := req.Send()
3788//    if err == nil { // resp is now filled
3789//        fmt.Println(resp)
3790//    }
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
3793func (c *AuditManager) ListKeywordsForDataSourceRequest(input *ListKeywordsForDataSourceInput) (req *request.Request, output *ListKeywordsForDataSourceOutput) {
3794	op := &request.Operation{
3795		Name:       opListKeywordsForDataSource,
3796		HTTPMethod: "GET",
3797		HTTPPath:   "/dataSourceKeywords",
3798		Paginator: &request.Paginator{
3799			InputTokens:     []string{"nextToken"},
3800			OutputTokens:    []string{"nextToken"},
3801			LimitToken:      "maxResults",
3802			TruncationToken: "",
3803		},
3804	}
3805
3806	if input == nil {
3807		input = &ListKeywordsForDataSourceInput{}
3808	}
3809
3810	output = &ListKeywordsForDataSourceOutput{}
3811	req = c.newRequest(op, input, output)
3812	return
3813}
3814
3815// ListKeywordsForDataSource API operation for AWS Audit Manager.
3816//
3817// Returns a list of keywords that pre-mapped to the specified control data
3818// source.
3819//
3820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3821// with awserr.Error's Code and Message methods to get detailed information about
3822// the error.
3823//
3824// See the AWS API reference guide for AWS Audit Manager's
3825// API operation ListKeywordsForDataSource for usage and error information.
3826//
3827// Returned Error Types:
3828//   * AccessDeniedException
3829//   Your account is not registered with Audit Manager. Check the delegated administrator
3830//   setup on the Audit Manager settings page, and try again.
3831//
3832//   * ValidationException
3833//   The request has invalid or missing parameters.
3834//
3835//   * InternalServerException
3836//   An internal service error occurred during the processing of your request.
3837//   Try again later.
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
3840func (c *AuditManager) ListKeywordsForDataSource(input *ListKeywordsForDataSourceInput) (*ListKeywordsForDataSourceOutput, error) {
3841	req, out := c.ListKeywordsForDataSourceRequest(input)
3842	return out, req.Send()
3843}
3844
3845// ListKeywordsForDataSourceWithContext is the same as ListKeywordsForDataSource with the addition of
3846// the ability to pass a context and additional request options.
3847//
3848// See ListKeywordsForDataSource for details on how to use this API operation.
3849//
3850// The context must be non-nil and will be used for request cancellation. If
3851// the context is nil a panic will occur. In the future the SDK may create
3852// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3853// for more information on using Contexts.
3854func (c *AuditManager) ListKeywordsForDataSourceWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, opts ...request.Option) (*ListKeywordsForDataSourceOutput, error) {
3855	req, out := c.ListKeywordsForDataSourceRequest(input)
3856	req.SetContext(ctx)
3857	req.ApplyOptions(opts...)
3858	return out, req.Send()
3859}
3860
3861// ListKeywordsForDataSourcePages iterates over the pages of a ListKeywordsForDataSource operation,
3862// calling the "fn" function with the response data for each page. To stop
3863// iterating, return false from the fn function.
3864//
3865// See ListKeywordsForDataSource method for more information on how to use this operation.
3866//
3867// Note: This operation can generate multiple requests to a service.
3868//
3869//    // Example iterating over at most 3 pages of a ListKeywordsForDataSource operation.
3870//    pageNum := 0
3871//    err := client.ListKeywordsForDataSourcePages(params,
3872//        func(page *auditmanager.ListKeywordsForDataSourceOutput, lastPage bool) bool {
3873//            pageNum++
3874//            fmt.Println(page)
3875//            return pageNum <= 3
3876//        })
3877//
3878func (c *AuditManager) ListKeywordsForDataSourcePages(input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool) error {
3879	return c.ListKeywordsForDataSourcePagesWithContext(aws.BackgroundContext(), input, fn)
3880}
3881
3882// ListKeywordsForDataSourcePagesWithContext same as ListKeywordsForDataSourcePages except
3883// it takes a Context and allows setting request options on the pages.
3884//
3885// The context must be non-nil and will be used for request cancellation. If
3886// the context is nil a panic will occur. In the future the SDK may create
3887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3888// for more information on using Contexts.
3889func (c *AuditManager) ListKeywordsForDataSourcePagesWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool, opts ...request.Option) error {
3890	p := request.Pagination{
3891		NewRequest: func() (*request.Request, error) {
3892			var inCpy *ListKeywordsForDataSourceInput
3893			if input != nil {
3894				tmp := *input
3895				inCpy = &tmp
3896			}
3897			req, _ := c.ListKeywordsForDataSourceRequest(inCpy)
3898			req.SetContext(ctx)
3899			req.ApplyOptions(opts...)
3900			return req, nil
3901		},
3902	}
3903
3904	for p.Next() {
3905		if !fn(p.Page().(*ListKeywordsForDataSourceOutput), !p.HasNextPage()) {
3906			break
3907		}
3908	}
3909
3910	return p.Err()
3911}
3912
3913const opListNotifications = "ListNotifications"
3914
3915// ListNotificationsRequest generates a "aws/request.Request" representing the
3916// client's request for the ListNotifications operation. The "output" return
3917// value will be populated with the request's response once the request completes
3918// successfully.
3919//
3920// Use "Send" method on the returned Request to send the API call to the service.
3921// the "output" return value is not valid until after Send returns without error.
3922//
3923// See ListNotifications for more information on using the ListNotifications
3924// API call, and error handling.
3925//
3926// This method is useful when you want to inject custom logic or configuration
3927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3928//
3929//
3930//    // Example sending a request using the ListNotificationsRequest method.
3931//    req, resp := client.ListNotificationsRequest(params)
3932//
3933//    err := req.Send()
3934//    if err == nil { // resp is now filled
3935//        fmt.Println(resp)
3936//    }
3937//
3938// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
3939func (c *AuditManager) ListNotificationsRequest(input *ListNotificationsInput) (req *request.Request, output *ListNotificationsOutput) {
3940	op := &request.Operation{
3941		Name:       opListNotifications,
3942		HTTPMethod: "GET",
3943		HTTPPath:   "/notifications",
3944		Paginator: &request.Paginator{
3945			InputTokens:     []string{"nextToken"},
3946			OutputTokens:    []string{"nextToken"},
3947			LimitToken:      "maxResults",
3948			TruncationToken: "",
3949		},
3950	}
3951
3952	if input == nil {
3953		input = &ListNotificationsInput{}
3954	}
3955
3956	output = &ListNotificationsOutput{}
3957	req = c.newRequest(op, input, output)
3958	return
3959}
3960
3961// ListNotifications API operation for AWS Audit Manager.
3962//
3963// Returns a list of all Audit Manager notifications.
3964//
3965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3966// with awserr.Error's Code and Message methods to get detailed information about
3967// the error.
3968//
3969// See the AWS API reference guide for AWS Audit Manager's
3970// API operation ListNotifications for usage and error information.
3971//
3972// Returned Error Types:
3973//   * AccessDeniedException
3974//   Your account is not registered with Audit Manager. Check the delegated administrator
3975//   setup on the Audit Manager settings page, and try again.
3976//
3977//   * ValidationException
3978//   The request has invalid or missing parameters.
3979//
3980//   * InternalServerException
3981//   An internal service error occurred during the processing of your request.
3982//   Try again later.
3983//
3984// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
3985func (c *AuditManager) ListNotifications(input *ListNotificationsInput) (*ListNotificationsOutput, error) {
3986	req, out := c.ListNotificationsRequest(input)
3987	return out, req.Send()
3988}
3989
3990// ListNotificationsWithContext is the same as ListNotifications with the addition of
3991// the ability to pass a context and additional request options.
3992//
3993// See ListNotifications for details on how to use this API operation.
3994//
3995// The context must be non-nil and will be used for request cancellation. If
3996// the context is nil a panic will occur. In the future the SDK may create
3997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3998// for more information on using Contexts.
3999func (c *AuditManager) ListNotificationsWithContext(ctx aws.Context, input *ListNotificationsInput, opts ...request.Option) (*ListNotificationsOutput, error) {
4000	req, out := c.ListNotificationsRequest(input)
4001	req.SetContext(ctx)
4002	req.ApplyOptions(opts...)
4003	return out, req.Send()
4004}
4005
4006// ListNotificationsPages iterates over the pages of a ListNotifications operation,
4007// calling the "fn" function with the response data for each page. To stop
4008// iterating, return false from the fn function.
4009//
4010// See ListNotifications method for more information on how to use this operation.
4011//
4012// Note: This operation can generate multiple requests to a service.
4013//
4014//    // Example iterating over at most 3 pages of a ListNotifications operation.
4015//    pageNum := 0
4016//    err := client.ListNotificationsPages(params,
4017//        func(page *auditmanager.ListNotificationsOutput, lastPage bool) bool {
4018//            pageNum++
4019//            fmt.Println(page)
4020//            return pageNum <= 3
4021//        })
4022//
4023func (c *AuditManager) ListNotificationsPages(input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool) error {
4024	return c.ListNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
4025}
4026
4027// ListNotificationsPagesWithContext same as ListNotificationsPages except
4028// it takes a Context and allows setting request options on the pages.
4029//
4030// The context must be non-nil and will be used for request cancellation. If
4031// the context is nil a panic will occur. In the future the SDK may create
4032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4033// for more information on using Contexts.
4034func (c *AuditManager) ListNotificationsPagesWithContext(ctx aws.Context, input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool, opts ...request.Option) error {
4035	p := request.Pagination{
4036		NewRequest: func() (*request.Request, error) {
4037			var inCpy *ListNotificationsInput
4038			if input != nil {
4039				tmp := *input
4040				inCpy = &tmp
4041			}
4042			req, _ := c.ListNotificationsRequest(inCpy)
4043			req.SetContext(ctx)
4044			req.ApplyOptions(opts...)
4045			return req, nil
4046		},
4047	}
4048
4049	for p.Next() {
4050		if !fn(p.Page().(*ListNotificationsOutput), !p.HasNextPage()) {
4051			break
4052		}
4053	}
4054
4055	return p.Err()
4056}
4057
4058const opListTagsForResource = "ListTagsForResource"
4059
4060// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4061// client's request for the ListTagsForResource operation. The "output" return
4062// value will be populated with the request's response once the request completes
4063// successfully.
4064//
4065// Use "Send" method on the returned Request to send the API call to the service.
4066// the "output" return value is not valid until after Send returns without error.
4067//
4068// See ListTagsForResource for more information on using the ListTagsForResource
4069// API call, and error handling.
4070//
4071// This method is useful when you want to inject custom logic or configuration
4072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4073//
4074//
4075//    // Example sending a request using the ListTagsForResourceRequest method.
4076//    req, resp := client.ListTagsForResourceRequest(params)
4077//
4078//    err := req.Send()
4079//    if err == nil { // resp is now filled
4080//        fmt.Println(resp)
4081//    }
4082//
4083// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4084func (c *AuditManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4085	op := &request.Operation{
4086		Name:       opListTagsForResource,
4087		HTTPMethod: "GET",
4088		HTTPPath:   "/tags/{resourceArn}",
4089	}
4090
4091	if input == nil {
4092		input = &ListTagsForResourceInput{}
4093	}
4094
4095	output = &ListTagsForResourceOutput{}
4096	req = c.newRequest(op, input, output)
4097	return
4098}
4099
4100// ListTagsForResource API operation for AWS Audit Manager.
4101//
4102// Returns a list of tags for the specified resource in Audit Manager.
4103//
4104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4105// with awserr.Error's Code and Message methods to get detailed information about
4106// the error.
4107//
4108// See the AWS API reference guide for AWS Audit Manager's
4109// API operation ListTagsForResource for usage and error information.
4110//
4111// Returned Error Types:
4112//   * InternalServerException
4113//   An internal service error occurred during the processing of your request.
4114//   Try again later.
4115//
4116//   * ValidationException
4117//   The request has invalid or missing parameters.
4118//
4119//   * ResourceNotFoundException
4120//   The resource specified in the request cannot be found.
4121//
4122// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4123func (c *AuditManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4124	req, out := c.ListTagsForResourceRequest(input)
4125	return out, req.Send()
4126}
4127
4128// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4129// the ability to pass a context and additional request options.
4130//
4131// See ListTagsForResource for details on how to use this API operation.
4132//
4133// The context must be non-nil and will be used for request cancellation. If
4134// the context is nil a panic will occur. In the future the SDK may create
4135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4136// for more information on using Contexts.
4137func (c *AuditManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4138	req, out := c.ListTagsForResourceRequest(input)
4139	req.SetContext(ctx)
4140	req.ApplyOptions(opts...)
4141	return out, req.Send()
4142}
4143
4144const opRegisterAccount = "RegisterAccount"
4145
4146// RegisterAccountRequest generates a "aws/request.Request" representing the
4147// client's request for the RegisterAccount operation. The "output" return
4148// value will be populated with the request's response once the request completes
4149// successfully.
4150//
4151// Use "Send" method on the returned Request to send the API call to the service.
4152// the "output" return value is not valid until after Send returns without error.
4153//
4154// See RegisterAccount for more information on using the RegisterAccount
4155// API call, and error handling.
4156//
4157// This method is useful when you want to inject custom logic or configuration
4158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4159//
4160//
4161//    // Example sending a request using the RegisterAccountRequest method.
4162//    req, resp := client.RegisterAccountRequest(params)
4163//
4164//    err := req.Send()
4165//    if err == nil { // resp is now filled
4166//        fmt.Println(resp)
4167//    }
4168//
4169// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4170func (c *AuditManager) RegisterAccountRequest(input *RegisterAccountInput) (req *request.Request, output *RegisterAccountOutput) {
4171	op := &request.Operation{
4172		Name:       opRegisterAccount,
4173		HTTPMethod: "POST",
4174		HTTPPath:   "/account/registerAccount",
4175	}
4176
4177	if input == nil {
4178		input = &RegisterAccountInput{}
4179	}
4180
4181	output = &RegisterAccountOutput{}
4182	req = c.newRequest(op, input, output)
4183	return
4184}
4185
4186// RegisterAccount API operation for AWS Audit Manager.
4187//
4188// Enables Audit Manager for the specified account.
4189//
4190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4191// with awserr.Error's Code and Message methods to get detailed information about
4192// the error.
4193//
4194// See the AWS API reference guide for AWS Audit Manager's
4195// API operation RegisterAccount for usage and error information.
4196//
4197// Returned Error Types:
4198//   * ValidationException
4199//   The request has invalid or missing parameters.
4200//
4201//   * AccessDeniedException
4202//   Your account is not registered with Audit Manager. Check the delegated administrator
4203//   setup on the Audit Manager settings page, and try again.
4204//
4205//   * InternalServerException
4206//   An internal service error occurred during the processing of your request.
4207//   Try again later.
4208//
4209//   * ResourceNotFoundException
4210//   The resource specified in the request cannot be found.
4211//
4212// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4213func (c *AuditManager) RegisterAccount(input *RegisterAccountInput) (*RegisterAccountOutput, error) {
4214	req, out := c.RegisterAccountRequest(input)
4215	return out, req.Send()
4216}
4217
4218// RegisterAccountWithContext is the same as RegisterAccount with the addition of
4219// the ability to pass a context and additional request options.
4220//
4221// See RegisterAccount for details on how to use this API operation.
4222//
4223// The context must be non-nil and will be used for request cancellation. If
4224// the context is nil a panic will occur. In the future the SDK may create
4225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4226// for more information on using Contexts.
4227func (c *AuditManager) RegisterAccountWithContext(ctx aws.Context, input *RegisterAccountInput, opts ...request.Option) (*RegisterAccountOutput, error) {
4228	req, out := c.RegisterAccountRequest(input)
4229	req.SetContext(ctx)
4230	req.ApplyOptions(opts...)
4231	return out, req.Send()
4232}
4233
4234const opRegisterOrganizationAdminAccount = "RegisterOrganizationAdminAccount"
4235
4236// RegisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
4237// client's request for the RegisterOrganizationAdminAccount operation. The "output" return
4238// value will be populated with the request's response once the request completes
4239// successfully.
4240//
4241// Use "Send" method on the returned Request to send the API call to the service.
4242// the "output" return value is not valid until after Send returns without error.
4243//
4244// See RegisterOrganizationAdminAccount for more information on using the RegisterOrganizationAdminAccount
4245// API call, and error handling.
4246//
4247// This method is useful when you want to inject custom logic or configuration
4248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4249//
4250//
4251//    // Example sending a request using the RegisterOrganizationAdminAccountRequest method.
4252//    req, resp := client.RegisterOrganizationAdminAccountRequest(params)
4253//
4254//    err := req.Send()
4255//    if err == nil { // resp is now filled
4256//        fmt.Println(resp)
4257//    }
4258//
4259// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4260func (c *AuditManager) RegisterOrganizationAdminAccountRequest(input *RegisterOrganizationAdminAccountInput) (req *request.Request, output *RegisterOrganizationAdminAccountOutput) {
4261	op := &request.Operation{
4262		Name:       opRegisterOrganizationAdminAccount,
4263		HTTPMethod: "POST",
4264		HTTPPath:   "/account/registerOrganizationAdminAccount",
4265	}
4266
4267	if input == nil {
4268		input = &RegisterOrganizationAdminAccountInput{}
4269	}
4270
4271	output = &RegisterOrganizationAdminAccountOutput{}
4272	req = c.newRequest(op, input, output)
4273	return
4274}
4275
4276// RegisterOrganizationAdminAccount API operation for AWS Audit Manager.
4277//
4278// Enables an account within the organization as the delegated administrator
4279// for Audit Manager.
4280//
4281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4282// with awserr.Error's Code and Message methods to get detailed information about
4283// the error.
4284//
4285// See the AWS API reference guide for AWS Audit Manager's
4286// API operation RegisterOrganizationAdminAccount for usage and error information.
4287//
4288// Returned Error Types:
4289//   * ValidationException
4290//   The request has invalid or missing parameters.
4291//
4292//   * AccessDeniedException
4293//   Your account is not registered with Audit Manager. Check the delegated administrator
4294//   setup on the Audit Manager settings page, and try again.
4295//
4296//   * InternalServerException
4297//   An internal service error occurred during the processing of your request.
4298//   Try again later.
4299//
4300//   * ResourceNotFoundException
4301//   The resource specified in the request cannot be found.
4302//
4303// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4304func (c *AuditManager) RegisterOrganizationAdminAccount(input *RegisterOrganizationAdminAccountInput) (*RegisterOrganizationAdminAccountOutput, error) {
4305	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4306	return out, req.Send()
4307}
4308
4309// RegisterOrganizationAdminAccountWithContext is the same as RegisterOrganizationAdminAccount with the addition of
4310// the ability to pass a context and additional request options.
4311//
4312// See RegisterOrganizationAdminAccount for details on how to use this API operation.
4313//
4314// The context must be non-nil and will be used for request cancellation. If
4315// the context is nil a panic will occur. In the future the SDK may create
4316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4317// for more information on using Contexts.
4318func (c *AuditManager) RegisterOrganizationAdminAccountWithContext(ctx aws.Context, input *RegisterOrganizationAdminAccountInput, opts ...request.Option) (*RegisterOrganizationAdminAccountOutput, error) {
4319	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4320	req.SetContext(ctx)
4321	req.ApplyOptions(opts...)
4322	return out, req.Send()
4323}
4324
4325const opTagResource = "TagResource"
4326
4327// TagResourceRequest generates a "aws/request.Request" representing the
4328// client's request for the TagResource operation. The "output" return
4329// value will be populated with the request's response once the request completes
4330// successfully.
4331//
4332// Use "Send" method on the returned Request to send the API call to the service.
4333// the "output" return value is not valid until after Send returns without error.
4334//
4335// See TagResource for more information on using the TagResource
4336// API call, and error handling.
4337//
4338// This method is useful when you want to inject custom logic or configuration
4339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4340//
4341//
4342//    // Example sending a request using the TagResourceRequest method.
4343//    req, resp := client.TagResourceRequest(params)
4344//
4345//    err := req.Send()
4346//    if err == nil { // resp is now filled
4347//        fmt.Println(resp)
4348//    }
4349//
4350// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4351func (c *AuditManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4352	op := &request.Operation{
4353		Name:       opTagResource,
4354		HTTPMethod: "POST",
4355		HTTPPath:   "/tags/{resourceArn}",
4356	}
4357
4358	if input == nil {
4359		input = &TagResourceInput{}
4360	}
4361
4362	output = &TagResourceOutput{}
4363	req = c.newRequest(op, input, output)
4364	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4365	return
4366}
4367
4368// TagResource API operation for AWS Audit Manager.
4369//
4370// Tags the specified resource in Audit Manager.
4371//
4372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4373// with awserr.Error's Code and Message methods to get detailed information about
4374// the error.
4375//
4376// See the AWS API reference guide for AWS Audit Manager's
4377// API operation TagResource for usage and error information.
4378//
4379// Returned Error Types:
4380//   * InternalServerException
4381//   An internal service error occurred during the processing of your request.
4382//   Try again later.
4383//
4384//   * ValidationException
4385//   The request has invalid or missing parameters.
4386//
4387//   * ResourceNotFoundException
4388//   The resource specified in the request cannot be found.
4389//
4390// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4391func (c *AuditManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4392	req, out := c.TagResourceRequest(input)
4393	return out, req.Send()
4394}
4395
4396// TagResourceWithContext is the same as TagResource with the addition of
4397// the ability to pass a context and additional request options.
4398//
4399// See TagResource for details on how to use this API operation.
4400//
4401// The context must be non-nil and will be used for request cancellation. If
4402// the context is nil a panic will occur. In the future the SDK may create
4403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4404// for more information on using Contexts.
4405func (c *AuditManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4406	req, out := c.TagResourceRequest(input)
4407	req.SetContext(ctx)
4408	req.ApplyOptions(opts...)
4409	return out, req.Send()
4410}
4411
4412const opUntagResource = "UntagResource"
4413
4414// UntagResourceRequest generates a "aws/request.Request" representing the
4415// client's request for the UntagResource operation. The "output" return
4416// value will be populated with the request's response once the request completes
4417// successfully.
4418//
4419// Use "Send" method on the returned Request to send the API call to the service.
4420// the "output" return value is not valid until after Send returns without error.
4421//
4422// See UntagResource for more information on using the UntagResource
4423// API call, and error handling.
4424//
4425// This method is useful when you want to inject custom logic or configuration
4426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4427//
4428//
4429//    // Example sending a request using the UntagResourceRequest method.
4430//    req, resp := client.UntagResourceRequest(params)
4431//
4432//    err := req.Send()
4433//    if err == nil { // resp is now filled
4434//        fmt.Println(resp)
4435//    }
4436//
4437// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4438func (c *AuditManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4439	op := &request.Operation{
4440		Name:       opUntagResource,
4441		HTTPMethod: "DELETE",
4442		HTTPPath:   "/tags/{resourceArn}",
4443	}
4444
4445	if input == nil {
4446		input = &UntagResourceInput{}
4447	}
4448
4449	output = &UntagResourceOutput{}
4450	req = c.newRequest(op, input, output)
4451	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4452	return
4453}
4454
4455// UntagResource API operation for AWS Audit Manager.
4456//
4457// Removes a tag from a resource in Audit Manager.
4458//
4459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4460// with awserr.Error's Code and Message methods to get detailed information about
4461// the error.
4462//
4463// See the AWS API reference guide for AWS Audit Manager's
4464// API operation UntagResource for usage and error information.
4465//
4466// Returned Error Types:
4467//   * InternalServerException
4468//   An internal service error occurred during the processing of your request.
4469//   Try again later.
4470//
4471//   * ValidationException
4472//   The request has invalid or missing parameters.
4473//
4474//   * ResourceNotFoundException
4475//   The resource specified in the request cannot be found.
4476//
4477// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4478func (c *AuditManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4479	req, out := c.UntagResourceRequest(input)
4480	return out, req.Send()
4481}
4482
4483// UntagResourceWithContext is the same as UntagResource with the addition of
4484// the ability to pass a context and additional request options.
4485//
4486// See UntagResource for details on how to use this API operation.
4487//
4488// The context must be non-nil and will be used for request cancellation. If
4489// the context is nil a panic will occur. In the future the SDK may create
4490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4491// for more information on using Contexts.
4492func (c *AuditManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4493	req, out := c.UntagResourceRequest(input)
4494	req.SetContext(ctx)
4495	req.ApplyOptions(opts...)
4496	return out, req.Send()
4497}
4498
4499const opUpdateAssessment = "UpdateAssessment"
4500
4501// UpdateAssessmentRequest generates a "aws/request.Request" representing the
4502// client's request for the UpdateAssessment operation. The "output" return
4503// value will be populated with the request's response once the request completes
4504// successfully.
4505//
4506// Use "Send" method on the returned Request to send the API call to the service.
4507// the "output" return value is not valid until after Send returns without error.
4508//
4509// See UpdateAssessment for more information on using the UpdateAssessment
4510// API call, and error handling.
4511//
4512// This method is useful when you want to inject custom logic or configuration
4513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4514//
4515//
4516//    // Example sending a request using the UpdateAssessmentRequest method.
4517//    req, resp := client.UpdateAssessmentRequest(params)
4518//
4519//    err := req.Send()
4520//    if err == nil { // resp is now filled
4521//        fmt.Println(resp)
4522//    }
4523//
4524// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4525func (c *AuditManager) UpdateAssessmentRequest(input *UpdateAssessmentInput) (req *request.Request, output *UpdateAssessmentOutput) {
4526	op := &request.Operation{
4527		Name:       opUpdateAssessment,
4528		HTTPMethod: "PUT",
4529		HTTPPath:   "/assessments/{assessmentId}",
4530	}
4531
4532	if input == nil {
4533		input = &UpdateAssessmentInput{}
4534	}
4535
4536	output = &UpdateAssessmentOutput{}
4537	req = c.newRequest(op, input, output)
4538	return
4539}
4540
4541// UpdateAssessment API operation for AWS Audit Manager.
4542//
4543// Edits an Audit Manager assessment.
4544//
4545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4546// with awserr.Error's Code and Message methods to get detailed information about
4547// the error.
4548//
4549// See the AWS API reference guide for AWS Audit Manager's
4550// API operation UpdateAssessment for usage and error information.
4551//
4552// Returned Error Types:
4553//   * ResourceNotFoundException
4554//   The resource specified in the request cannot be found.
4555//
4556//   * ValidationException
4557//   The request has invalid or missing parameters.
4558//
4559//   * AccessDeniedException
4560//   Your account is not registered with Audit Manager. Check the delegated administrator
4561//   setup on the Audit Manager settings page, and try again.
4562//
4563//   * InternalServerException
4564//   An internal service error occurred during the processing of your request.
4565//   Try again later.
4566//
4567// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4568func (c *AuditManager) UpdateAssessment(input *UpdateAssessmentInput) (*UpdateAssessmentOutput, error) {
4569	req, out := c.UpdateAssessmentRequest(input)
4570	return out, req.Send()
4571}
4572
4573// UpdateAssessmentWithContext is the same as UpdateAssessment with the addition of
4574// the ability to pass a context and additional request options.
4575//
4576// See UpdateAssessment for details on how to use this API operation.
4577//
4578// The context must be non-nil and will be used for request cancellation. If
4579// the context is nil a panic will occur. In the future the SDK may create
4580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4581// for more information on using Contexts.
4582func (c *AuditManager) UpdateAssessmentWithContext(ctx aws.Context, input *UpdateAssessmentInput, opts ...request.Option) (*UpdateAssessmentOutput, error) {
4583	req, out := c.UpdateAssessmentRequest(input)
4584	req.SetContext(ctx)
4585	req.ApplyOptions(opts...)
4586	return out, req.Send()
4587}
4588
4589const opUpdateAssessmentControl = "UpdateAssessmentControl"
4590
4591// UpdateAssessmentControlRequest generates a "aws/request.Request" representing the
4592// client's request for the UpdateAssessmentControl operation. The "output" return
4593// value will be populated with the request's response once the request completes
4594// successfully.
4595//
4596// Use "Send" method on the returned Request to send the API call to the service.
4597// the "output" return value is not valid until after Send returns without error.
4598//
4599// See UpdateAssessmentControl for more information on using the UpdateAssessmentControl
4600// API call, and error handling.
4601//
4602// This method is useful when you want to inject custom logic or configuration
4603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4604//
4605//
4606//    // Example sending a request using the UpdateAssessmentControlRequest method.
4607//    req, resp := client.UpdateAssessmentControlRequest(params)
4608//
4609//    err := req.Send()
4610//    if err == nil { // resp is now filled
4611//        fmt.Println(resp)
4612//    }
4613//
4614// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4615func (c *AuditManager) UpdateAssessmentControlRequest(input *UpdateAssessmentControlInput) (req *request.Request, output *UpdateAssessmentControlOutput) {
4616	op := &request.Operation{
4617		Name:       opUpdateAssessmentControl,
4618		HTTPMethod: "PUT",
4619		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}",
4620	}
4621
4622	if input == nil {
4623		input = &UpdateAssessmentControlInput{}
4624	}
4625
4626	output = &UpdateAssessmentControlOutput{}
4627	req = c.newRequest(op, input, output)
4628	return
4629}
4630
4631// UpdateAssessmentControl API operation for AWS Audit Manager.
4632//
4633// Updates a control within an assessment in Audit Manager.
4634//
4635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4636// with awserr.Error's Code and Message methods to get detailed information about
4637// the error.
4638//
4639// See the AWS API reference guide for AWS Audit Manager's
4640// API operation UpdateAssessmentControl for usage and error information.
4641//
4642// Returned Error Types:
4643//   * ResourceNotFoundException
4644//   The resource specified in the request cannot be found.
4645//
4646//   * ValidationException
4647//   The request has invalid or missing parameters.
4648//
4649//   * AccessDeniedException
4650//   Your account is not registered with Audit Manager. Check the delegated administrator
4651//   setup on the Audit Manager settings page, and try again.
4652//
4653//   * InternalServerException
4654//   An internal service error occurred during the processing of your request.
4655//   Try again later.
4656//
4657// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4658func (c *AuditManager) UpdateAssessmentControl(input *UpdateAssessmentControlInput) (*UpdateAssessmentControlOutput, error) {
4659	req, out := c.UpdateAssessmentControlRequest(input)
4660	return out, req.Send()
4661}
4662
4663// UpdateAssessmentControlWithContext is the same as UpdateAssessmentControl with the addition of
4664// the ability to pass a context and additional request options.
4665//
4666// See UpdateAssessmentControl for details on how to use this API operation.
4667//
4668// The context must be non-nil and will be used for request cancellation. If
4669// the context is nil a panic will occur. In the future the SDK may create
4670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4671// for more information on using Contexts.
4672func (c *AuditManager) UpdateAssessmentControlWithContext(ctx aws.Context, input *UpdateAssessmentControlInput, opts ...request.Option) (*UpdateAssessmentControlOutput, error) {
4673	req, out := c.UpdateAssessmentControlRequest(input)
4674	req.SetContext(ctx)
4675	req.ApplyOptions(opts...)
4676	return out, req.Send()
4677}
4678
4679const opUpdateAssessmentControlSetStatus = "UpdateAssessmentControlSetStatus"
4680
4681// UpdateAssessmentControlSetStatusRequest generates a "aws/request.Request" representing the
4682// client's request for the UpdateAssessmentControlSetStatus operation. The "output" return
4683// value will be populated with the request's response once the request completes
4684// successfully.
4685//
4686// Use "Send" method on the returned Request to send the API call to the service.
4687// the "output" return value is not valid until after Send returns without error.
4688//
4689// See UpdateAssessmentControlSetStatus for more information on using the UpdateAssessmentControlSetStatus
4690// API call, and error handling.
4691//
4692// This method is useful when you want to inject custom logic or configuration
4693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4694//
4695//
4696//    // Example sending a request using the UpdateAssessmentControlSetStatusRequest method.
4697//    req, resp := client.UpdateAssessmentControlSetStatusRequest(params)
4698//
4699//    err := req.Send()
4700//    if err == nil { // resp is now filled
4701//        fmt.Println(resp)
4702//    }
4703//
4704// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
4705func (c *AuditManager) UpdateAssessmentControlSetStatusRequest(input *UpdateAssessmentControlSetStatusInput) (req *request.Request, output *UpdateAssessmentControlSetStatusOutput) {
4706	op := &request.Operation{
4707		Name:       opUpdateAssessmentControlSetStatus,
4708		HTTPMethod: "PUT",
4709		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/status",
4710	}
4711
4712	if input == nil {
4713		input = &UpdateAssessmentControlSetStatusInput{}
4714	}
4715
4716	output = &UpdateAssessmentControlSetStatusOutput{}
4717	req = c.newRequest(op, input, output)
4718	return
4719}
4720
4721// UpdateAssessmentControlSetStatus API operation for AWS Audit Manager.
4722//
4723// Updates the status of a control set in an Audit Manager assessment.
4724//
4725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4726// with awserr.Error's Code and Message methods to get detailed information about
4727// the error.
4728//
4729// See the AWS API reference guide for AWS Audit Manager's
4730// API operation UpdateAssessmentControlSetStatus for usage and error information.
4731//
4732// Returned Error Types:
4733//   * ResourceNotFoundException
4734//   The resource specified in the request cannot be found.
4735//
4736//   * ValidationException
4737//   The request has invalid or missing parameters.
4738//
4739//   * AccessDeniedException
4740//   Your account is not registered with Audit Manager. Check the delegated administrator
4741//   setup on the Audit Manager settings page, and try again.
4742//
4743//   * InternalServerException
4744//   An internal service error occurred during the processing of your request.
4745//   Try again later.
4746//
4747// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
4748func (c *AuditManager) UpdateAssessmentControlSetStatus(input *UpdateAssessmentControlSetStatusInput) (*UpdateAssessmentControlSetStatusOutput, error) {
4749	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
4750	return out, req.Send()
4751}
4752
4753// UpdateAssessmentControlSetStatusWithContext is the same as UpdateAssessmentControlSetStatus with the addition of
4754// the ability to pass a context and additional request options.
4755//
4756// See UpdateAssessmentControlSetStatus for details on how to use this API operation.
4757//
4758// The context must be non-nil and will be used for request cancellation. If
4759// the context is nil a panic will occur. In the future the SDK may create
4760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4761// for more information on using Contexts.
4762func (c *AuditManager) UpdateAssessmentControlSetStatusWithContext(ctx aws.Context, input *UpdateAssessmentControlSetStatusInput, opts ...request.Option) (*UpdateAssessmentControlSetStatusOutput, error) {
4763	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
4764	req.SetContext(ctx)
4765	req.ApplyOptions(opts...)
4766	return out, req.Send()
4767}
4768
4769const opUpdateAssessmentFramework = "UpdateAssessmentFramework"
4770
4771// UpdateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
4772// client's request for the UpdateAssessmentFramework operation. The "output" return
4773// value will be populated with the request's response once the request completes
4774// successfully.
4775//
4776// Use "Send" method on the returned Request to send the API call to the service.
4777// the "output" return value is not valid until after Send returns without error.
4778//
4779// See UpdateAssessmentFramework for more information on using the UpdateAssessmentFramework
4780// API call, and error handling.
4781//
4782// This method is useful when you want to inject custom logic or configuration
4783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4784//
4785//
4786//    // Example sending a request using the UpdateAssessmentFrameworkRequest method.
4787//    req, resp := client.UpdateAssessmentFrameworkRequest(params)
4788//
4789//    err := req.Send()
4790//    if err == nil { // resp is now filled
4791//        fmt.Println(resp)
4792//    }
4793//
4794// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
4795func (c *AuditManager) UpdateAssessmentFrameworkRequest(input *UpdateAssessmentFrameworkInput) (req *request.Request, output *UpdateAssessmentFrameworkOutput) {
4796	op := &request.Operation{
4797		Name:       opUpdateAssessmentFramework,
4798		HTTPMethod: "PUT",
4799		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
4800	}
4801
4802	if input == nil {
4803		input = &UpdateAssessmentFrameworkInput{}
4804	}
4805
4806	output = &UpdateAssessmentFrameworkOutput{}
4807	req = c.newRequest(op, input, output)
4808	return
4809}
4810
4811// UpdateAssessmentFramework API operation for AWS Audit Manager.
4812//
4813// Updates a custom framework in Audit Manager.
4814//
4815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4816// with awserr.Error's Code and Message methods to get detailed information about
4817// the error.
4818//
4819// See the AWS API reference guide for AWS Audit Manager's
4820// API operation UpdateAssessmentFramework for usage and error information.
4821//
4822// Returned Error Types:
4823//   * ResourceNotFoundException
4824//   The resource specified in the request cannot be found.
4825//
4826//   * ValidationException
4827//   The request has invalid or missing parameters.
4828//
4829//   * AccessDeniedException
4830//   Your account is not registered with Audit Manager. Check the delegated administrator
4831//   setup on the Audit Manager settings page, and try again.
4832//
4833//   * InternalServerException
4834//   An internal service error occurred during the processing of your request.
4835//   Try again later.
4836//
4837// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
4838func (c *AuditManager) UpdateAssessmentFramework(input *UpdateAssessmentFrameworkInput) (*UpdateAssessmentFrameworkOutput, error) {
4839	req, out := c.UpdateAssessmentFrameworkRequest(input)
4840	return out, req.Send()
4841}
4842
4843// UpdateAssessmentFrameworkWithContext is the same as UpdateAssessmentFramework with the addition of
4844// the ability to pass a context and additional request options.
4845//
4846// See UpdateAssessmentFramework for details on how to use this API operation.
4847//
4848// The context must be non-nil and will be used for request cancellation. If
4849// the context is nil a panic will occur. In the future the SDK may create
4850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4851// for more information on using Contexts.
4852func (c *AuditManager) UpdateAssessmentFrameworkWithContext(ctx aws.Context, input *UpdateAssessmentFrameworkInput, opts ...request.Option) (*UpdateAssessmentFrameworkOutput, error) {
4853	req, out := c.UpdateAssessmentFrameworkRequest(input)
4854	req.SetContext(ctx)
4855	req.ApplyOptions(opts...)
4856	return out, req.Send()
4857}
4858
4859const opUpdateAssessmentStatus = "UpdateAssessmentStatus"
4860
4861// UpdateAssessmentStatusRequest generates a "aws/request.Request" representing the
4862// client's request for the UpdateAssessmentStatus operation. The "output" return
4863// value will be populated with the request's response once the request completes
4864// successfully.
4865//
4866// Use "Send" method on the returned Request to send the API call to the service.
4867// the "output" return value is not valid until after Send returns without error.
4868//
4869// See UpdateAssessmentStatus for more information on using the UpdateAssessmentStatus
4870// API call, and error handling.
4871//
4872// This method is useful when you want to inject custom logic or configuration
4873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4874//
4875//
4876//    // Example sending a request using the UpdateAssessmentStatusRequest method.
4877//    req, resp := client.UpdateAssessmentStatusRequest(params)
4878//
4879//    err := req.Send()
4880//    if err == nil { // resp is now filled
4881//        fmt.Println(resp)
4882//    }
4883//
4884// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
4885func (c *AuditManager) UpdateAssessmentStatusRequest(input *UpdateAssessmentStatusInput) (req *request.Request, output *UpdateAssessmentStatusOutput) {
4886	op := &request.Operation{
4887		Name:       opUpdateAssessmentStatus,
4888		HTTPMethod: "PUT",
4889		HTTPPath:   "/assessments/{assessmentId}/status",
4890	}
4891
4892	if input == nil {
4893		input = &UpdateAssessmentStatusInput{}
4894	}
4895
4896	output = &UpdateAssessmentStatusOutput{}
4897	req = c.newRequest(op, input, output)
4898	return
4899}
4900
4901// UpdateAssessmentStatus API operation for AWS Audit Manager.
4902//
4903// Updates the status of an assessment in Audit Manager.
4904//
4905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4906// with awserr.Error's Code and Message methods to get detailed information about
4907// the error.
4908//
4909// See the AWS API reference guide for AWS Audit Manager's
4910// API operation UpdateAssessmentStatus for usage and error information.
4911//
4912// Returned Error Types:
4913//   * ResourceNotFoundException
4914//   The resource specified in the request cannot be found.
4915//
4916//   * ValidationException
4917//   The request has invalid or missing parameters.
4918//
4919//   * AccessDeniedException
4920//   Your account is not registered with Audit Manager. Check the delegated administrator
4921//   setup on the Audit Manager settings page, and try again.
4922//
4923//   * InternalServerException
4924//   An internal service error occurred during the processing of your request.
4925//   Try again later.
4926//
4927// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
4928func (c *AuditManager) UpdateAssessmentStatus(input *UpdateAssessmentStatusInput) (*UpdateAssessmentStatusOutput, error) {
4929	req, out := c.UpdateAssessmentStatusRequest(input)
4930	return out, req.Send()
4931}
4932
4933// UpdateAssessmentStatusWithContext is the same as UpdateAssessmentStatus with the addition of
4934// the ability to pass a context and additional request options.
4935//
4936// See UpdateAssessmentStatus for details on how to use this API operation.
4937//
4938// The context must be non-nil and will be used for request cancellation. If
4939// the context is nil a panic will occur. In the future the SDK may create
4940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4941// for more information on using Contexts.
4942func (c *AuditManager) UpdateAssessmentStatusWithContext(ctx aws.Context, input *UpdateAssessmentStatusInput, opts ...request.Option) (*UpdateAssessmentStatusOutput, error) {
4943	req, out := c.UpdateAssessmentStatusRequest(input)
4944	req.SetContext(ctx)
4945	req.ApplyOptions(opts...)
4946	return out, req.Send()
4947}
4948
4949const opUpdateControl = "UpdateControl"
4950
4951// UpdateControlRequest generates a "aws/request.Request" representing the
4952// client's request for the UpdateControl operation. The "output" return
4953// value will be populated with the request's response once the request completes
4954// successfully.
4955//
4956// Use "Send" method on the returned Request to send the API call to the service.
4957// the "output" return value is not valid until after Send returns without error.
4958//
4959// See UpdateControl for more information on using the UpdateControl
4960// API call, and error handling.
4961//
4962// This method is useful when you want to inject custom logic or configuration
4963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4964//
4965//
4966//    // Example sending a request using the UpdateControlRequest method.
4967//    req, resp := client.UpdateControlRequest(params)
4968//
4969//    err := req.Send()
4970//    if err == nil { // resp is now filled
4971//        fmt.Println(resp)
4972//    }
4973//
4974// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
4975func (c *AuditManager) UpdateControlRequest(input *UpdateControlInput) (req *request.Request, output *UpdateControlOutput) {
4976	op := &request.Operation{
4977		Name:       opUpdateControl,
4978		HTTPMethod: "PUT",
4979		HTTPPath:   "/controls/{controlId}",
4980	}
4981
4982	if input == nil {
4983		input = &UpdateControlInput{}
4984	}
4985
4986	output = &UpdateControlOutput{}
4987	req = c.newRequest(op, input, output)
4988	return
4989}
4990
4991// UpdateControl API operation for AWS Audit Manager.
4992//
4993// Updates a custom control in Audit Manager.
4994//
4995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4996// with awserr.Error's Code and Message methods to get detailed information about
4997// the error.
4998//
4999// See the AWS API reference guide for AWS Audit Manager's
5000// API operation UpdateControl for usage and error information.
5001//
5002// Returned Error Types:
5003//   * ResourceNotFoundException
5004//   The resource specified in the request cannot be found.
5005//
5006//   * ValidationException
5007//   The request has invalid or missing parameters.
5008//
5009//   * AccessDeniedException
5010//   Your account is not registered with Audit Manager. Check the delegated administrator
5011//   setup on the Audit Manager settings page, and try again.
5012//
5013//   * InternalServerException
5014//   An internal service error occurred during the processing of your request.
5015//   Try again later.
5016//
5017// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
5018func (c *AuditManager) UpdateControl(input *UpdateControlInput) (*UpdateControlOutput, error) {
5019	req, out := c.UpdateControlRequest(input)
5020	return out, req.Send()
5021}
5022
5023// UpdateControlWithContext is the same as UpdateControl with the addition of
5024// the ability to pass a context and additional request options.
5025//
5026// See UpdateControl for details on how to use this API operation.
5027//
5028// The context must be non-nil and will be used for request cancellation. If
5029// the context is nil a panic will occur. In the future the SDK may create
5030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5031// for more information on using Contexts.
5032func (c *AuditManager) UpdateControlWithContext(ctx aws.Context, input *UpdateControlInput, opts ...request.Option) (*UpdateControlOutput, error) {
5033	req, out := c.UpdateControlRequest(input)
5034	req.SetContext(ctx)
5035	req.ApplyOptions(opts...)
5036	return out, req.Send()
5037}
5038
5039const opUpdateSettings = "UpdateSettings"
5040
5041// UpdateSettingsRequest generates a "aws/request.Request" representing the
5042// client's request for the UpdateSettings operation. The "output" return
5043// value will be populated with the request's response once the request completes
5044// successfully.
5045//
5046// Use "Send" method on the returned Request to send the API call to the service.
5047// the "output" return value is not valid until after Send returns without error.
5048//
5049// See UpdateSettings for more information on using the UpdateSettings
5050// API call, and error handling.
5051//
5052// This method is useful when you want to inject custom logic or configuration
5053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5054//
5055//
5056//    // Example sending a request using the UpdateSettingsRequest method.
5057//    req, resp := client.UpdateSettingsRequest(params)
5058//
5059//    err := req.Send()
5060//    if err == nil { // resp is now filled
5061//        fmt.Println(resp)
5062//    }
5063//
5064// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5065func (c *AuditManager) UpdateSettingsRequest(input *UpdateSettingsInput) (req *request.Request, output *UpdateSettingsOutput) {
5066	op := &request.Operation{
5067		Name:       opUpdateSettings,
5068		HTTPMethod: "PUT",
5069		HTTPPath:   "/settings",
5070	}
5071
5072	if input == nil {
5073		input = &UpdateSettingsInput{}
5074	}
5075
5076	output = &UpdateSettingsOutput{}
5077	req = c.newRequest(op, input, output)
5078	return
5079}
5080
5081// UpdateSettings API operation for AWS Audit Manager.
5082//
5083// Updates Audit Manager settings for the current user account.
5084//
5085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5086// with awserr.Error's Code and Message methods to get detailed information about
5087// the error.
5088//
5089// See the AWS API reference guide for AWS Audit Manager's
5090// API operation UpdateSettings for usage and error information.
5091//
5092// Returned Error Types:
5093//   * ValidationException
5094//   The request has invalid or missing parameters.
5095//
5096//   * AccessDeniedException
5097//   Your account is not registered with Audit Manager. Check the delegated administrator
5098//   setup on the Audit Manager settings page, and try again.
5099//
5100//   * InternalServerException
5101//   An internal service error occurred during the processing of your request.
5102//   Try again later.
5103//
5104// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5105func (c *AuditManager) UpdateSettings(input *UpdateSettingsInput) (*UpdateSettingsOutput, error) {
5106	req, out := c.UpdateSettingsRequest(input)
5107	return out, req.Send()
5108}
5109
5110// UpdateSettingsWithContext is the same as UpdateSettings with the addition of
5111// the ability to pass a context and additional request options.
5112//
5113// See UpdateSettings for details on how to use this API operation.
5114//
5115// The context must be non-nil and will be used for request cancellation. If
5116// the context is nil a panic will occur. In the future the SDK may create
5117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5118// for more information on using Contexts.
5119func (c *AuditManager) UpdateSettingsWithContext(ctx aws.Context, input *UpdateSettingsInput, opts ...request.Option) (*UpdateSettingsOutput, error) {
5120	req, out := c.UpdateSettingsRequest(input)
5121	req.SetContext(ctx)
5122	req.ApplyOptions(opts...)
5123	return out, req.Send()
5124}
5125
5126const opValidateAssessmentReportIntegrity = "ValidateAssessmentReportIntegrity"
5127
5128// ValidateAssessmentReportIntegrityRequest generates a "aws/request.Request" representing the
5129// client's request for the ValidateAssessmentReportIntegrity operation. The "output" return
5130// value will be populated with the request's response once the request completes
5131// successfully.
5132//
5133// Use "Send" method on the returned Request to send the API call to the service.
5134// the "output" return value is not valid until after Send returns without error.
5135//
5136// See ValidateAssessmentReportIntegrity for more information on using the ValidateAssessmentReportIntegrity
5137// API call, and error handling.
5138//
5139// This method is useful when you want to inject custom logic or configuration
5140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5141//
5142//
5143//    // Example sending a request using the ValidateAssessmentReportIntegrityRequest method.
5144//    req, resp := client.ValidateAssessmentReportIntegrityRequest(params)
5145//
5146//    err := req.Send()
5147//    if err == nil { // resp is now filled
5148//        fmt.Println(resp)
5149//    }
5150//
5151// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5152func (c *AuditManager) ValidateAssessmentReportIntegrityRequest(input *ValidateAssessmentReportIntegrityInput) (req *request.Request, output *ValidateAssessmentReportIntegrityOutput) {
5153	op := &request.Operation{
5154		Name:       opValidateAssessmentReportIntegrity,
5155		HTTPMethod: "POST",
5156		HTTPPath:   "/assessmentReports/integrity",
5157	}
5158
5159	if input == nil {
5160		input = &ValidateAssessmentReportIntegrityInput{}
5161	}
5162
5163	output = &ValidateAssessmentReportIntegrityOutput{}
5164	req = c.newRequest(op, input, output)
5165	return
5166}
5167
5168// ValidateAssessmentReportIntegrity API operation for AWS Audit Manager.
5169//
5170// Validates the integrity of an assessment report in Audit Manager.
5171//
5172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5173// with awserr.Error's Code and Message methods to get detailed information about
5174// the error.
5175//
5176// See the AWS API reference guide for AWS Audit Manager's
5177// API operation ValidateAssessmentReportIntegrity for usage and error information.
5178//
5179// Returned Error Types:
5180//   * ValidationException
5181//   The request has invalid or missing parameters.
5182//
5183//   * AccessDeniedException
5184//   Your account is not registered with Audit Manager. Check the delegated administrator
5185//   setup on the Audit Manager settings page, and try again.
5186//
5187//   * InternalServerException
5188//   An internal service error occurred during the processing of your request.
5189//   Try again later.
5190//
5191//   * ResourceNotFoundException
5192//   The resource specified in the request cannot be found.
5193//
5194// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5195func (c *AuditManager) ValidateAssessmentReportIntegrity(input *ValidateAssessmentReportIntegrityInput) (*ValidateAssessmentReportIntegrityOutput, error) {
5196	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5197	return out, req.Send()
5198}
5199
5200// ValidateAssessmentReportIntegrityWithContext is the same as ValidateAssessmentReportIntegrity with the addition of
5201// the ability to pass a context and additional request options.
5202//
5203// See ValidateAssessmentReportIntegrity for details on how to use this API operation.
5204//
5205// The context must be non-nil and will be used for request cancellation. If
5206// the context is nil a panic will occur. In the future the SDK may create
5207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5208// for more information on using Contexts.
5209func (c *AuditManager) ValidateAssessmentReportIntegrityWithContext(ctx aws.Context, input *ValidateAssessmentReportIntegrityInput, opts ...request.Option) (*ValidateAssessmentReportIntegrityOutput, error) {
5210	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5211	req.SetContext(ctx)
5212	req.ApplyOptions(opts...)
5213	return out, req.Send()
5214}
5215
5216// The wrapper of account details, such as account ID, email address, and so
5217// on.
5218type AWSAccount struct {
5219	_ struct{} `type:"structure"`
5220
5221	// The email address associated with the specified account.
5222	EmailAddress *string `locationName:"emailAddress" min:"1" type:"string"`
5223
5224	// The identifier for the specified account.
5225	Id *string `locationName:"id" min:"12" type:"string"`
5226
5227	// The name of the specified account.
5228	Name *string `locationName:"name" min:"1" type:"string"`
5229}
5230
5231// String returns the string representation
5232func (s AWSAccount) String() string {
5233	return awsutil.Prettify(s)
5234}
5235
5236// GoString returns the string representation
5237func (s AWSAccount) GoString() string {
5238	return s.String()
5239}
5240
5241// Validate inspects the fields of the type to determine if they are valid.
5242func (s *AWSAccount) Validate() error {
5243	invalidParams := request.ErrInvalidParams{Context: "AWSAccount"}
5244	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5245		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5246	}
5247	if s.Id != nil && len(*s.Id) < 12 {
5248		invalidParams.Add(request.NewErrParamMinLen("Id", 12))
5249	}
5250	if s.Name != nil && len(*s.Name) < 1 {
5251		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5252	}
5253
5254	if invalidParams.Len() > 0 {
5255		return invalidParams
5256	}
5257	return nil
5258}
5259
5260// SetEmailAddress sets the EmailAddress field's value.
5261func (s *AWSAccount) SetEmailAddress(v string) *AWSAccount {
5262	s.EmailAddress = &v
5263	return s
5264}
5265
5266// SetId sets the Id field's value.
5267func (s *AWSAccount) SetId(v string) *AWSAccount {
5268	s.Id = &v
5269	return s
5270}
5271
5272// SetName sets the Name field's value.
5273func (s *AWSAccount) SetName(v string) *AWSAccount {
5274	s.Name = &v
5275	return s
5276}
5277
5278// An Amazon Web Service such as Amazon S3, CloudTrail, and so on.
5279type AWSService struct {
5280	_ struct{} `type:"structure"`
5281
5282	// The name of the Amazon Web Service.
5283	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
5284}
5285
5286// String returns the string representation
5287func (s AWSService) String() string {
5288	return awsutil.Prettify(s)
5289}
5290
5291// GoString returns the string representation
5292func (s AWSService) GoString() string {
5293	return s.String()
5294}
5295
5296// Validate inspects the fields of the type to determine if they are valid.
5297func (s *AWSService) Validate() error {
5298	invalidParams := request.ErrInvalidParams{Context: "AWSService"}
5299	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
5300		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
5301	}
5302
5303	if invalidParams.Len() > 0 {
5304		return invalidParams
5305	}
5306	return nil
5307}
5308
5309// SetServiceName sets the ServiceName field's value.
5310func (s *AWSService) SetServiceName(v string) *AWSService {
5311	s.ServiceName = &v
5312	return s
5313}
5314
5315// Your account is not registered with Audit Manager. Check the delegated administrator
5316// setup on the Audit Manager settings page, and try again.
5317type AccessDeniedException struct {
5318	_            struct{}                  `type:"structure"`
5319	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5320
5321	Message_ *string `locationName:"message" type:"string"`
5322}
5323
5324// String returns the string representation
5325func (s AccessDeniedException) String() string {
5326	return awsutil.Prettify(s)
5327}
5328
5329// GoString returns the string representation
5330func (s AccessDeniedException) GoString() string {
5331	return s.String()
5332}
5333
5334func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5335	return &AccessDeniedException{
5336		RespMetadata: v,
5337	}
5338}
5339
5340// Code returns the exception type name.
5341func (s *AccessDeniedException) Code() string {
5342	return "AccessDeniedException"
5343}
5344
5345// Message returns the exception's message.
5346func (s *AccessDeniedException) Message() string {
5347	if s.Message_ != nil {
5348		return *s.Message_
5349	}
5350	return ""
5351}
5352
5353// OrigErr always returns nil, satisfies awserr.Error interface.
5354func (s *AccessDeniedException) OrigErr() error {
5355	return nil
5356}
5357
5358func (s *AccessDeniedException) Error() string {
5359	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5360}
5361
5362// Status code returns the HTTP status code for the request's response error.
5363func (s *AccessDeniedException) StatusCode() int {
5364	return s.RespMetadata.StatusCode
5365}
5366
5367// RequestID returns the service's response RequestID for request.
5368func (s *AccessDeniedException) RequestID() string {
5369	return s.RespMetadata.RequestID
5370}
5371
5372// An entity that defines the scope of audit evidence collected by Audit Manager.
5373// An Audit Manager assessment is an implementation of an Audit Manager framework.
5374type Assessment struct {
5375	_ struct{} `type:"structure"`
5376
5377	// The Amazon Resource Name (ARN) of the assessment.
5378	Arn *string `locationName:"arn" min:"20" type:"string"`
5379
5380	// The account associated with the assessment.
5381	AwsAccount *AWSAccount `locationName:"awsAccount" type:"structure"`
5382
5383	// The framework from which the assessment was created.
5384	Framework *AssessmentFramework `locationName:"framework" type:"structure"`
5385
5386	// The metadata for the specified assessment.
5387	Metadata *AssessmentMetadata `locationName:"metadata" type:"structure"`
5388
5389	// The tags associated with the assessment.
5390	Tags map[string]*string `locationName:"tags" type:"map"`
5391}
5392
5393// String returns the string representation
5394func (s Assessment) String() string {
5395	return awsutil.Prettify(s)
5396}
5397
5398// GoString returns the string representation
5399func (s Assessment) GoString() string {
5400	return s.String()
5401}
5402
5403// SetArn sets the Arn field's value.
5404func (s *Assessment) SetArn(v string) *Assessment {
5405	s.Arn = &v
5406	return s
5407}
5408
5409// SetAwsAccount sets the AwsAccount field's value.
5410func (s *Assessment) SetAwsAccount(v *AWSAccount) *Assessment {
5411	s.AwsAccount = v
5412	return s
5413}
5414
5415// SetFramework sets the Framework field's value.
5416func (s *Assessment) SetFramework(v *AssessmentFramework) *Assessment {
5417	s.Framework = v
5418	return s
5419}
5420
5421// SetMetadata sets the Metadata field's value.
5422func (s *Assessment) SetMetadata(v *AssessmentMetadata) *Assessment {
5423	s.Metadata = v
5424	return s
5425}
5426
5427// SetTags sets the Tags field's value.
5428func (s *Assessment) SetTags(v map[string]*string) *Assessment {
5429	s.Tags = v
5430	return s
5431}
5432
5433// The control entity that represents a standard or custom control used in an
5434// Audit Manager assessment.
5435type AssessmentControl struct {
5436	_ struct{} `type:"structure"`
5437
5438	// The amount of evidence in the assessment report.
5439	AssessmentReportEvidenceCount *int64 `locationName:"assessmentReportEvidenceCount" type:"integer"`
5440
5441	// The list of comments attached to the specified control.
5442	Comments []*ControlComment `locationName:"comments" type:"list"`
5443
5444	// The description of the specified control.
5445	Description *string `locationName:"description" type:"string"`
5446
5447	// The amount of evidence generated for the control.
5448	EvidenceCount *int64 `locationName:"evidenceCount" type:"integer"`
5449
5450	// The list of data sources for the specified evidence.
5451	EvidenceSources []*string `locationName:"evidenceSources" type:"list"`
5452
5453	// The identifier for the specified control.
5454	Id *string `locationName:"id" min:"36" type:"string"`
5455
5456	// The name of the specified control.
5457	Name *string `locationName:"name" min:"1" type:"string"`
5458
5459	// The response of the specified control.
5460	Response *string `locationName:"response" type:"string" enum:"ControlResponse"`
5461
5462	// The status of the specified control.
5463	Status *string `locationName:"status" type:"string" enum:"ControlStatus"`
5464}
5465
5466// String returns the string representation
5467func (s AssessmentControl) String() string {
5468	return awsutil.Prettify(s)
5469}
5470
5471// GoString returns the string representation
5472func (s AssessmentControl) GoString() string {
5473	return s.String()
5474}
5475
5476// SetAssessmentReportEvidenceCount sets the AssessmentReportEvidenceCount field's value.
5477func (s *AssessmentControl) SetAssessmentReportEvidenceCount(v int64) *AssessmentControl {
5478	s.AssessmentReportEvidenceCount = &v
5479	return s
5480}
5481
5482// SetComments sets the Comments field's value.
5483func (s *AssessmentControl) SetComments(v []*ControlComment) *AssessmentControl {
5484	s.Comments = v
5485	return s
5486}
5487
5488// SetDescription sets the Description field's value.
5489func (s *AssessmentControl) SetDescription(v string) *AssessmentControl {
5490	s.Description = &v
5491	return s
5492}
5493
5494// SetEvidenceCount sets the EvidenceCount field's value.
5495func (s *AssessmentControl) SetEvidenceCount(v int64) *AssessmentControl {
5496	s.EvidenceCount = &v
5497	return s
5498}
5499
5500// SetEvidenceSources sets the EvidenceSources field's value.
5501func (s *AssessmentControl) SetEvidenceSources(v []*string) *AssessmentControl {
5502	s.EvidenceSources = v
5503	return s
5504}
5505
5506// SetId sets the Id field's value.
5507func (s *AssessmentControl) SetId(v string) *AssessmentControl {
5508	s.Id = &v
5509	return s
5510}
5511
5512// SetName sets the Name field's value.
5513func (s *AssessmentControl) SetName(v string) *AssessmentControl {
5514	s.Name = &v
5515	return s
5516}
5517
5518// SetResponse sets the Response field's value.
5519func (s *AssessmentControl) SetResponse(v string) *AssessmentControl {
5520	s.Response = &v
5521	return s
5522}
5523
5524// SetStatus sets the Status field's value.
5525func (s *AssessmentControl) SetStatus(v string) *AssessmentControl {
5526	s.Status = &v
5527	return s
5528}
5529
5530// Represents a set of controls in an Audit Manager assessment.
5531type AssessmentControlSet struct {
5532	_ struct{} `type:"structure"`
5533
5534	// The list of controls contained with the control set.
5535	Controls []*AssessmentControl `locationName:"controls" type:"list"`
5536
5537	// The delegations associated with the control set.
5538	Delegations []*Delegation `locationName:"delegations" type:"list"`
5539
5540	// The description for the control set.
5541	Description *string `locationName:"description" min:"1" type:"string"`
5542
5543	// The identifier of the control set in the assessment. This is the control
5544	// set name in a plain string format.
5545	Id *string `locationName:"id" min:"1" type:"string"`
5546
5547	// The total number of evidence objects uploaded manually to the control set.
5548	ManualEvidenceCount *int64 `locationName:"manualEvidenceCount" type:"integer"`
5549
5550	// The roles associated with the control set.
5551	Roles []*Role `locationName:"roles" type:"list"`
5552
5553	// Specifies the current status of the control set.
5554	Status *string `locationName:"status" type:"string" enum:"ControlSetStatus"`
5555
5556	// The total number of evidence objects retrieved automatically for the control
5557	// set.
5558	SystemEvidenceCount *int64 `locationName:"systemEvidenceCount" type:"integer"`
5559}
5560
5561// String returns the string representation
5562func (s AssessmentControlSet) String() string {
5563	return awsutil.Prettify(s)
5564}
5565
5566// GoString returns the string representation
5567func (s AssessmentControlSet) GoString() string {
5568	return s.String()
5569}
5570
5571// SetControls sets the Controls field's value.
5572func (s *AssessmentControlSet) SetControls(v []*AssessmentControl) *AssessmentControlSet {
5573	s.Controls = v
5574	return s
5575}
5576
5577// SetDelegations sets the Delegations field's value.
5578func (s *AssessmentControlSet) SetDelegations(v []*Delegation) *AssessmentControlSet {
5579	s.Delegations = v
5580	return s
5581}
5582
5583// SetDescription sets the Description field's value.
5584func (s *AssessmentControlSet) SetDescription(v string) *AssessmentControlSet {
5585	s.Description = &v
5586	return s
5587}
5588
5589// SetId sets the Id field's value.
5590func (s *AssessmentControlSet) SetId(v string) *AssessmentControlSet {
5591	s.Id = &v
5592	return s
5593}
5594
5595// SetManualEvidenceCount sets the ManualEvidenceCount field's value.
5596func (s *AssessmentControlSet) SetManualEvidenceCount(v int64) *AssessmentControlSet {
5597	s.ManualEvidenceCount = &v
5598	return s
5599}
5600
5601// SetRoles sets the Roles field's value.
5602func (s *AssessmentControlSet) SetRoles(v []*Role) *AssessmentControlSet {
5603	s.Roles = v
5604	return s
5605}
5606
5607// SetStatus sets the Status field's value.
5608func (s *AssessmentControlSet) SetStatus(v string) *AssessmentControlSet {
5609	s.Status = &v
5610	return s
5611}
5612
5613// SetSystemEvidenceCount sets the SystemEvidenceCount field's value.
5614func (s *AssessmentControlSet) SetSystemEvidenceCount(v int64) *AssessmentControlSet {
5615	s.SystemEvidenceCount = &v
5616	return s
5617}
5618
5619// The folder in which Audit Manager stores evidence for an assessment.
5620type AssessmentEvidenceFolder struct {
5621	_ struct{} `type:"structure"`
5622
5623	// The identifier for the specified assessment.
5624	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
5625
5626	// The total count of evidence included in the assessment report.
5627	AssessmentReportSelectionCount *int64 `locationName:"assessmentReportSelectionCount" type:"integer"`
5628
5629	// The name of the user who created the evidence folder.
5630	Author *string `locationName:"author" type:"string"`
5631
5632	// The unique identifier for the specified control.
5633	ControlId *string `locationName:"controlId" min:"36" type:"string"`
5634
5635	// The name of the control.
5636	ControlName *string `locationName:"controlName" min:"1" type:"string"`
5637
5638	// The identifier for the control set.
5639	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
5640
5641	// The Amazon Web Service from which the evidence was collected.
5642	DataSource *string `locationName:"dataSource" type:"string"`
5643
5644	// The date when the first evidence was added to the evidence folder.
5645	Date *time.Time `locationName:"date" type:"timestamp"`
5646
5647	// The total number of Amazon Web Services resources assessed to generate the
5648	// evidence.
5649	EvidenceAwsServiceSourceCount *int64 `locationName:"evidenceAwsServiceSourceCount" type:"integer"`
5650
5651	// The number of evidence that falls under the compliance check category. This
5652	// evidence is collected from Config or Security Hub.
5653	EvidenceByTypeComplianceCheckCount *int64 `locationName:"evidenceByTypeComplianceCheckCount" type:"integer"`
5654
5655	// The total number of issues that were reported directly from Security Hub,
5656	// Config, or both.
5657	EvidenceByTypeComplianceCheckIssuesCount *int64 `locationName:"evidenceByTypeComplianceCheckIssuesCount" type:"integer"`
5658
5659	// The number of evidence that falls under the configuration data category.
5660	// This evidence is collected from configuration snapshots of other Amazon Web
5661	// Services services such as Amazon EC2, Amazon S3, or IAM.
5662	EvidenceByTypeConfigurationDataCount *int64 `locationName:"evidenceByTypeConfigurationDataCount" type:"integer"`
5663
5664	// The number of evidence that falls under the manual category. This evidence
5665	// is imported manually.
5666	EvidenceByTypeManualCount *int64 `locationName:"evidenceByTypeManualCount" type:"integer"`
5667
5668	// The number of evidence that falls under the user activity category. This
5669	// evidence is collected from CloudTrail logs.
5670	EvidenceByTypeUserActivityCount *int64 `locationName:"evidenceByTypeUserActivityCount" type:"integer"`
5671
5672	// The amount of evidence included in the evidence folder.
5673	EvidenceResourcesIncludedCount *int64 `locationName:"evidenceResourcesIncludedCount" type:"integer"`
5674
5675	// The identifier for the folder in which evidence is stored.
5676	Id *string `locationName:"id" min:"36" type:"string"`
5677
5678	// The name of the specified evidence folder.
5679	Name *string `locationName:"name" min:"1" type:"string"`
5680
5681	// The total amount of evidence in the evidence folder.
5682	TotalEvidence *int64 `locationName:"totalEvidence" type:"integer"`
5683}
5684
5685// String returns the string representation
5686func (s AssessmentEvidenceFolder) String() string {
5687	return awsutil.Prettify(s)
5688}
5689
5690// GoString returns the string representation
5691func (s AssessmentEvidenceFolder) GoString() string {
5692	return s.String()
5693}
5694
5695// SetAssessmentId sets the AssessmentId field's value.
5696func (s *AssessmentEvidenceFolder) SetAssessmentId(v string) *AssessmentEvidenceFolder {
5697	s.AssessmentId = &v
5698	return s
5699}
5700
5701// SetAssessmentReportSelectionCount sets the AssessmentReportSelectionCount field's value.
5702func (s *AssessmentEvidenceFolder) SetAssessmentReportSelectionCount(v int64) *AssessmentEvidenceFolder {
5703	s.AssessmentReportSelectionCount = &v
5704	return s
5705}
5706
5707// SetAuthor sets the Author field's value.
5708func (s *AssessmentEvidenceFolder) SetAuthor(v string) *AssessmentEvidenceFolder {
5709	s.Author = &v
5710	return s
5711}
5712
5713// SetControlId sets the ControlId field's value.
5714func (s *AssessmentEvidenceFolder) SetControlId(v string) *AssessmentEvidenceFolder {
5715	s.ControlId = &v
5716	return s
5717}
5718
5719// SetControlName sets the ControlName field's value.
5720func (s *AssessmentEvidenceFolder) SetControlName(v string) *AssessmentEvidenceFolder {
5721	s.ControlName = &v
5722	return s
5723}
5724
5725// SetControlSetId sets the ControlSetId field's value.
5726func (s *AssessmentEvidenceFolder) SetControlSetId(v string) *AssessmentEvidenceFolder {
5727	s.ControlSetId = &v
5728	return s
5729}
5730
5731// SetDataSource sets the DataSource field's value.
5732func (s *AssessmentEvidenceFolder) SetDataSource(v string) *AssessmentEvidenceFolder {
5733	s.DataSource = &v
5734	return s
5735}
5736
5737// SetDate sets the Date field's value.
5738func (s *AssessmentEvidenceFolder) SetDate(v time.Time) *AssessmentEvidenceFolder {
5739	s.Date = &v
5740	return s
5741}
5742
5743// SetEvidenceAwsServiceSourceCount sets the EvidenceAwsServiceSourceCount field's value.
5744func (s *AssessmentEvidenceFolder) SetEvidenceAwsServiceSourceCount(v int64) *AssessmentEvidenceFolder {
5745	s.EvidenceAwsServiceSourceCount = &v
5746	return s
5747}
5748
5749// SetEvidenceByTypeComplianceCheckCount sets the EvidenceByTypeComplianceCheckCount field's value.
5750func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckCount(v int64) *AssessmentEvidenceFolder {
5751	s.EvidenceByTypeComplianceCheckCount = &v
5752	return s
5753}
5754
5755// SetEvidenceByTypeComplianceCheckIssuesCount sets the EvidenceByTypeComplianceCheckIssuesCount field's value.
5756func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckIssuesCount(v int64) *AssessmentEvidenceFolder {
5757	s.EvidenceByTypeComplianceCheckIssuesCount = &v
5758	return s
5759}
5760
5761// SetEvidenceByTypeConfigurationDataCount sets the EvidenceByTypeConfigurationDataCount field's value.
5762func (s *AssessmentEvidenceFolder) SetEvidenceByTypeConfigurationDataCount(v int64) *AssessmentEvidenceFolder {
5763	s.EvidenceByTypeConfigurationDataCount = &v
5764	return s
5765}
5766
5767// SetEvidenceByTypeManualCount sets the EvidenceByTypeManualCount field's value.
5768func (s *AssessmentEvidenceFolder) SetEvidenceByTypeManualCount(v int64) *AssessmentEvidenceFolder {
5769	s.EvidenceByTypeManualCount = &v
5770	return s
5771}
5772
5773// SetEvidenceByTypeUserActivityCount sets the EvidenceByTypeUserActivityCount field's value.
5774func (s *AssessmentEvidenceFolder) SetEvidenceByTypeUserActivityCount(v int64) *AssessmentEvidenceFolder {
5775	s.EvidenceByTypeUserActivityCount = &v
5776	return s
5777}
5778
5779// SetEvidenceResourcesIncludedCount sets the EvidenceResourcesIncludedCount field's value.
5780func (s *AssessmentEvidenceFolder) SetEvidenceResourcesIncludedCount(v int64) *AssessmentEvidenceFolder {
5781	s.EvidenceResourcesIncludedCount = &v
5782	return s
5783}
5784
5785// SetId sets the Id field's value.
5786func (s *AssessmentEvidenceFolder) SetId(v string) *AssessmentEvidenceFolder {
5787	s.Id = &v
5788	return s
5789}
5790
5791// SetName sets the Name field's value.
5792func (s *AssessmentEvidenceFolder) SetName(v string) *AssessmentEvidenceFolder {
5793	s.Name = &v
5794	return s
5795}
5796
5797// SetTotalEvidence sets the TotalEvidence field's value.
5798func (s *AssessmentEvidenceFolder) SetTotalEvidence(v int64) *AssessmentEvidenceFolder {
5799	s.TotalEvidence = &v
5800	return s
5801}
5802
5803// The file used to structure and automate Audit Manager assessments for a given
5804// compliance standard.
5805type AssessmentFramework struct {
5806	_ struct{} `type:"structure"`
5807
5808	// The Amazon Resource Name (ARN) of the specified framework.
5809	Arn *string `locationName:"arn" min:"20" type:"string"`
5810
5811	// The control sets associated with the framework.
5812	ControlSets []*AssessmentControlSet `locationName:"controlSets" type:"list"`
5813
5814	// The unique identifier for the framework.
5815	Id *string `locationName:"id" min:"36" type:"string"`
5816
5817	// The metadata of a framework, such as the name, ID, description, and so on.
5818	Metadata *FrameworkMetadata `locationName:"metadata" type:"structure"`
5819}
5820
5821// String returns the string representation
5822func (s AssessmentFramework) String() string {
5823	return awsutil.Prettify(s)
5824}
5825
5826// GoString returns the string representation
5827func (s AssessmentFramework) GoString() string {
5828	return s.String()
5829}
5830
5831// SetArn sets the Arn field's value.
5832func (s *AssessmentFramework) SetArn(v string) *AssessmentFramework {
5833	s.Arn = &v
5834	return s
5835}
5836
5837// SetControlSets sets the ControlSets field's value.
5838func (s *AssessmentFramework) SetControlSets(v []*AssessmentControlSet) *AssessmentFramework {
5839	s.ControlSets = v
5840	return s
5841}
5842
5843// SetId sets the Id field's value.
5844func (s *AssessmentFramework) SetId(v string) *AssessmentFramework {
5845	s.Id = &v
5846	return s
5847}
5848
5849// SetMetadata sets the Metadata field's value.
5850func (s *AssessmentFramework) SetMetadata(v *FrameworkMetadata) *AssessmentFramework {
5851	s.Metadata = v
5852	return s
5853}
5854
5855// The metadata associated with a standard or custom framework.
5856type AssessmentFrameworkMetadata struct {
5857	_ struct{} `type:"structure"`
5858
5859	// The Amazon Resource Name (ARN) of the framework.
5860	Arn *string `locationName:"arn" min:"20" type:"string"`
5861
5862	// The compliance type that the new custom framework supports, such as CIS or
5863	// HIPAA.
5864	ComplianceType *string `locationName:"complianceType" type:"string"`
5865
5866	// The number of control sets associated with the specified framework.
5867	ControlSetsCount *int64 `locationName:"controlSetsCount" type:"integer"`
5868
5869	// The number of controls associated with the specified framework.
5870	ControlsCount *int64 `locationName:"controlsCount" type:"integer"`
5871
5872	// Specifies when the framework was created.
5873	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
5874
5875	// The description of the specified framework.
5876	Description *string `locationName:"description" min:"1" type:"string"`
5877
5878	// The unique identified for the specified framework.
5879	Id *string `locationName:"id" min:"36" type:"string"`
5880
5881	// Specifies when the framework was most recently updated.
5882	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5883
5884	// The logo associated with the framework.
5885	Logo *string `locationName:"logo" min:"1" type:"string"`
5886
5887	// The name of the specified framework.
5888	Name *string `locationName:"name" min:"1" type:"string"`
5889
5890	// The framework type, such as standard or custom.
5891	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
5892}
5893
5894// String returns the string representation
5895func (s AssessmentFrameworkMetadata) String() string {
5896	return awsutil.Prettify(s)
5897}
5898
5899// GoString returns the string representation
5900func (s AssessmentFrameworkMetadata) GoString() string {
5901	return s.String()
5902}
5903
5904// SetArn sets the Arn field's value.
5905func (s *AssessmentFrameworkMetadata) SetArn(v string) *AssessmentFrameworkMetadata {
5906	s.Arn = &v
5907	return s
5908}
5909
5910// SetComplianceType sets the ComplianceType field's value.
5911func (s *AssessmentFrameworkMetadata) SetComplianceType(v string) *AssessmentFrameworkMetadata {
5912	s.ComplianceType = &v
5913	return s
5914}
5915
5916// SetControlSetsCount sets the ControlSetsCount field's value.
5917func (s *AssessmentFrameworkMetadata) SetControlSetsCount(v int64) *AssessmentFrameworkMetadata {
5918	s.ControlSetsCount = &v
5919	return s
5920}
5921
5922// SetControlsCount sets the ControlsCount field's value.
5923func (s *AssessmentFrameworkMetadata) SetControlsCount(v int64) *AssessmentFrameworkMetadata {
5924	s.ControlsCount = &v
5925	return s
5926}
5927
5928// SetCreatedAt sets the CreatedAt field's value.
5929func (s *AssessmentFrameworkMetadata) SetCreatedAt(v time.Time) *AssessmentFrameworkMetadata {
5930	s.CreatedAt = &v
5931	return s
5932}
5933
5934// SetDescription sets the Description field's value.
5935func (s *AssessmentFrameworkMetadata) SetDescription(v string) *AssessmentFrameworkMetadata {
5936	s.Description = &v
5937	return s
5938}
5939
5940// SetId sets the Id field's value.
5941func (s *AssessmentFrameworkMetadata) SetId(v string) *AssessmentFrameworkMetadata {
5942	s.Id = &v
5943	return s
5944}
5945
5946// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5947func (s *AssessmentFrameworkMetadata) SetLastUpdatedAt(v time.Time) *AssessmentFrameworkMetadata {
5948	s.LastUpdatedAt = &v
5949	return s
5950}
5951
5952// SetLogo sets the Logo field's value.
5953func (s *AssessmentFrameworkMetadata) SetLogo(v string) *AssessmentFrameworkMetadata {
5954	s.Logo = &v
5955	return s
5956}
5957
5958// SetName sets the Name field's value.
5959func (s *AssessmentFrameworkMetadata) SetName(v string) *AssessmentFrameworkMetadata {
5960	s.Name = &v
5961	return s
5962}
5963
5964// SetType sets the Type field's value.
5965func (s *AssessmentFrameworkMetadata) SetType(v string) *AssessmentFrameworkMetadata {
5966	s.Type = &v
5967	return s
5968}
5969
5970// The metadata associated with the specified assessment.
5971type AssessmentMetadata struct {
5972	_ struct{} `type:"structure"`
5973
5974	// The destination in which evidence reports are stored for the specified assessment.
5975	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
5976
5977	// The name of a compliance standard related to the assessment, such as PCI-DSS.
5978	ComplianceType *string `locationName:"complianceType" type:"string"`
5979
5980	// Specifies when the assessment was created.
5981	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5982
5983	// The delegations associated with the assessment.
5984	Delegations []*Delegation `locationName:"delegations" type:"list"`
5985
5986	// The description of the assessment.
5987	Description *string `locationName:"description" type:"string"`
5988
5989	// The unique identifier for the assessment.
5990	Id *string `locationName:"id" min:"36" type:"string"`
5991
5992	// The time of the most recent update.
5993	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
5994
5995	// The name of the assessment.
5996	Name *string `locationName:"name" min:"1" type:"string"`
5997
5998	// The roles associated with the assessment.
5999	Roles []*Role `locationName:"roles" type:"list"`
6000
6001	// The wrapper of accounts and services in scope for the assessment.
6002	Scope *Scope `locationName:"scope" type:"structure"`
6003
6004	// The overall status of the assessment.
6005	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
6006}
6007
6008// String returns the string representation
6009func (s AssessmentMetadata) String() string {
6010	return awsutil.Prettify(s)
6011}
6012
6013// GoString returns the string representation
6014func (s AssessmentMetadata) GoString() string {
6015	return s.String()
6016}
6017
6018// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
6019func (s *AssessmentMetadata) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *AssessmentMetadata {
6020	s.AssessmentReportsDestination = v
6021	return s
6022}
6023
6024// SetComplianceType sets the ComplianceType field's value.
6025func (s *AssessmentMetadata) SetComplianceType(v string) *AssessmentMetadata {
6026	s.ComplianceType = &v
6027	return s
6028}
6029
6030// SetCreationTime sets the CreationTime field's value.
6031func (s *AssessmentMetadata) SetCreationTime(v time.Time) *AssessmentMetadata {
6032	s.CreationTime = &v
6033	return s
6034}
6035
6036// SetDelegations sets the Delegations field's value.
6037func (s *AssessmentMetadata) SetDelegations(v []*Delegation) *AssessmentMetadata {
6038	s.Delegations = v
6039	return s
6040}
6041
6042// SetDescription sets the Description field's value.
6043func (s *AssessmentMetadata) SetDescription(v string) *AssessmentMetadata {
6044	s.Description = &v
6045	return s
6046}
6047
6048// SetId sets the Id field's value.
6049func (s *AssessmentMetadata) SetId(v string) *AssessmentMetadata {
6050	s.Id = &v
6051	return s
6052}
6053
6054// SetLastUpdated sets the LastUpdated field's value.
6055func (s *AssessmentMetadata) SetLastUpdated(v time.Time) *AssessmentMetadata {
6056	s.LastUpdated = &v
6057	return s
6058}
6059
6060// SetName sets the Name field's value.
6061func (s *AssessmentMetadata) SetName(v string) *AssessmentMetadata {
6062	s.Name = &v
6063	return s
6064}
6065
6066// SetRoles sets the Roles field's value.
6067func (s *AssessmentMetadata) SetRoles(v []*Role) *AssessmentMetadata {
6068	s.Roles = v
6069	return s
6070}
6071
6072// SetScope sets the Scope field's value.
6073func (s *AssessmentMetadata) SetScope(v *Scope) *AssessmentMetadata {
6074	s.Scope = v
6075	return s
6076}
6077
6078// SetStatus sets the Status field's value.
6079func (s *AssessmentMetadata) SetStatus(v string) *AssessmentMetadata {
6080	s.Status = &v
6081	return s
6082}
6083
6084// A metadata object associated with an assessment in Audit Manager.
6085type AssessmentMetadataItem struct {
6086	_ struct{} `type:"structure"`
6087
6088	// The name of the compliance standard related to the assessment, such as PCI-DSS.
6089	ComplianceType *string `locationName:"complianceType" type:"string"`
6090
6091	// Specifies when the assessment was created.
6092	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6093
6094	// The delegations associated with the assessment.
6095	Delegations []*Delegation `locationName:"delegations" type:"list"`
6096
6097	// The unique identifier for the assessment.
6098	Id *string `locationName:"id" min:"36" type:"string"`
6099
6100	// The time of the most recent update.
6101	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
6102
6103	// The name of the assessment.
6104	Name *string `locationName:"name" min:"1" type:"string"`
6105
6106	// The roles associated with the assessment.
6107	Roles []*Role `locationName:"roles" type:"list"`
6108
6109	// The current status of the assessment.
6110	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
6111}
6112
6113// String returns the string representation
6114func (s AssessmentMetadataItem) String() string {
6115	return awsutil.Prettify(s)
6116}
6117
6118// GoString returns the string representation
6119func (s AssessmentMetadataItem) GoString() string {
6120	return s.String()
6121}
6122
6123// SetComplianceType sets the ComplianceType field's value.
6124func (s *AssessmentMetadataItem) SetComplianceType(v string) *AssessmentMetadataItem {
6125	s.ComplianceType = &v
6126	return s
6127}
6128
6129// SetCreationTime sets the CreationTime field's value.
6130func (s *AssessmentMetadataItem) SetCreationTime(v time.Time) *AssessmentMetadataItem {
6131	s.CreationTime = &v
6132	return s
6133}
6134
6135// SetDelegations sets the Delegations field's value.
6136func (s *AssessmentMetadataItem) SetDelegations(v []*Delegation) *AssessmentMetadataItem {
6137	s.Delegations = v
6138	return s
6139}
6140
6141// SetId sets the Id field's value.
6142func (s *AssessmentMetadataItem) SetId(v string) *AssessmentMetadataItem {
6143	s.Id = &v
6144	return s
6145}
6146
6147// SetLastUpdated sets the LastUpdated field's value.
6148func (s *AssessmentMetadataItem) SetLastUpdated(v time.Time) *AssessmentMetadataItem {
6149	s.LastUpdated = &v
6150	return s
6151}
6152
6153// SetName sets the Name field's value.
6154func (s *AssessmentMetadataItem) SetName(v string) *AssessmentMetadataItem {
6155	s.Name = &v
6156	return s
6157}
6158
6159// SetRoles sets the Roles field's value.
6160func (s *AssessmentMetadataItem) SetRoles(v []*Role) *AssessmentMetadataItem {
6161	s.Roles = v
6162	return s
6163}
6164
6165// SetStatus sets the Status field's value.
6166func (s *AssessmentMetadataItem) SetStatus(v string) *AssessmentMetadataItem {
6167	s.Status = &v
6168	return s
6169}
6170
6171// A finalized document generated from an Audit Manager assessment. These reports
6172// summarize the relevant evidence collected for your audit, and link to the
6173// relevant evidence folders which are named and organized according to the
6174// controls specified in your assessment.
6175type AssessmentReport struct {
6176	_ struct{} `type:"structure"`
6177
6178	// The identifier for the specified assessment.
6179	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6180
6181	// The name of the associated assessment.
6182	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
6183
6184	// The name of the user who created the assessment report.
6185	Author *string `locationName:"author" min:"1" type:"string"`
6186
6187	// The identifier for the specified account.
6188	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
6189
6190	// Specifies when the assessment report was created.
6191	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6192
6193	// The description of the specified assessment report.
6194	Description *string `locationName:"description" type:"string"`
6195
6196	// The unique identifier for the specified assessment report.
6197	Id *string `locationName:"id" min:"36" type:"string"`
6198
6199	// The name given to the assessment report.
6200	Name *string `locationName:"name" min:"1" type:"string"`
6201
6202	// The current status of the specified assessment report.
6203	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
6204}
6205
6206// String returns the string representation
6207func (s AssessmentReport) String() string {
6208	return awsutil.Prettify(s)
6209}
6210
6211// GoString returns the string representation
6212func (s AssessmentReport) GoString() string {
6213	return s.String()
6214}
6215
6216// SetAssessmentId sets the AssessmentId field's value.
6217func (s *AssessmentReport) SetAssessmentId(v string) *AssessmentReport {
6218	s.AssessmentId = &v
6219	return s
6220}
6221
6222// SetAssessmentName sets the AssessmentName field's value.
6223func (s *AssessmentReport) SetAssessmentName(v string) *AssessmentReport {
6224	s.AssessmentName = &v
6225	return s
6226}
6227
6228// SetAuthor sets the Author field's value.
6229func (s *AssessmentReport) SetAuthor(v string) *AssessmentReport {
6230	s.Author = &v
6231	return s
6232}
6233
6234// SetAwsAccountId sets the AwsAccountId field's value.
6235func (s *AssessmentReport) SetAwsAccountId(v string) *AssessmentReport {
6236	s.AwsAccountId = &v
6237	return s
6238}
6239
6240// SetCreationTime sets the CreationTime field's value.
6241func (s *AssessmentReport) SetCreationTime(v time.Time) *AssessmentReport {
6242	s.CreationTime = &v
6243	return s
6244}
6245
6246// SetDescription sets the Description field's value.
6247func (s *AssessmentReport) SetDescription(v string) *AssessmentReport {
6248	s.Description = &v
6249	return s
6250}
6251
6252// SetId sets the Id field's value.
6253func (s *AssessmentReport) SetId(v string) *AssessmentReport {
6254	s.Id = &v
6255	return s
6256}
6257
6258// SetName sets the Name field's value.
6259func (s *AssessmentReport) SetName(v string) *AssessmentReport {
6260	s.Name = &v
6261	return s
6262}
6263
6264// SetStatus sets the Status field's value.
6265func (s *AssessmentReport) SetStatus(v string) *AssessmentReport {
6266	s.Status = &v
6267	return s
6268}
6269
6270// An error entity for the AssessmentReportEvidence API. This is used to provide
6271// more meaningful errors than a simple string message.
6272type AssessmentReportEvidenceError struct {
6273	_ struct{} `type:"structure"`
6274
6275	// The error code returned by the AssessmentReportEvidence API.
6276	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6277
6278	// The error message returned by the AssessmentReportEvidence API.
6279	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6280
6281	// The identifier for the evidence.
6282	EvidenceId *string `locationName:"evidenceId" min:"36" type:"string"`
6283}
6284
6285// String returns the string representation
6286func (s AssessmentReportEvidenceError) String() string {
6287	return awsutil.Prettify(s)
6288}
6289
6290// GoString returns the string representation
6291func (s AssessmentReportEvidenceError) GoString() string {
6292	return s.String()
6293}
6294
6295// SetErrorCode sets the ErrorCode field's value.
6296func (s *AssessmentReportEvidenceError) SetErrorCode(v string) *AssessmentReportEvidenceError {
6297	s.ErrorCode = &v
6298	return s
6299}
6300
6301// SetErrorMessage sets the ErrorMessage field's value.
6302func (s *AssessmentReportEvidenceError) SetErrorMessage(v string) *AssessmentReportEvidenceError {
6303	s.ErrorMessage = &v
6304	return s
6305}
6306
6307// SetEvidenceId sets the EvidenceId field's value.
6308func (s *AssessmentReportEvidenceError) SetEvidenceId(v string) *AssessmentReportEvidenceError {
6309	s.EvidenceId = &v
6310	return s
6311}
6312
6313// The metadata objects associated with the specified assessment report.
6314type AssessmentReportMetadata struct {
6315	_ struct{} `type:"structure"`
6316
6317	// The unique identifier for the associated assessment.
6318	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6319
6320	// The name of the associated assessment.
6321	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
6322
6323	// The name of the user who created the assessment report.
6324	Author *string `locationName:"author" min:"1" type:"string"`
6325
6326	// Specifies when the assessment report was created.
6327	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6328
6329	// The description of the specified assessment report.
6330	Description *string `locationName:"description" type:"string"`
6331
6332	// The unique identifier for the assessment report.
6333	Id *string `locationName:"id" min:"36" type:"string"`
6334
6335	// The name of the assessment report.
6336	Name *string `locationName:"name" min:"1" type:"string"`
6337
6338	// The current status of the assessment report.
6339	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
6340}
6341
6342// String returns the string representation
6343func (s AssessmentReportMetadata) String() string {
6344	return awsutil.Prettify(s)
6345}
6346
6347// GoString returns the string representation
6348func (s AssessmentReportMetadata) GoString() string {
6349	return s.String()
6350}
6351
6352// SetAssessmentId sets the AssessmentId field's value.
6353func (s *AssessmentReportMetadata) SetAssessmentId(v string) *AssessmentReportMetadata {
6354	s.AssessmentId = &v
6355	return s
6356}
6357
6358// SetAssessmentName sets the AssessmentName field's value.
6359func (s *AssessmentReportMetadata) SetAssessmentName(v string) *AssessmentReportMetadata {
6360	s.AssessmentName = &v
6361	return s
6362}
6363
6364// SetAuthor sets the Author field's value.
6365func (s *AssessmentReportMetadata) SetAuthor(v string) *AssessmentReportMetadata {
6366	s.Author = &v
6367	return s
6368}
6369
6370// SetCreationTime sets the CreationTime field's value.
6371func (s *AssessmentReportMetadata) SetCreationTime(v time.Time) *AssessmentReportMetadata {
6372	s.CreationTime = &v
6373	return s
6374}
6375
6376// SetDescription sets the Description field's value.
6377func (s *AssessmentReportMetadata) SetDescription(v string) *AssessmentReportMetadata {
6378	s.Description = &v
6379	return s
6380}
6381
6382// SetId sets the Id field's value.
6383func (s *AssessmentReportMetadata) SetId(v string) *AssessmentReportMetadata {
6384	s.Id = &v
6385	return s
6386}
6387
6388// SetName sets the Name field's value.
6389func (s *AssessmentReportMetadata) SetName(v string) *AssessmentReportMetadata {
6390	s.Name = &v
6391	return s
6392}
6393
6394// SetStatus sets the Status field's value.
6395func (s *AssessmentReportMetadata) SetStatus(v string) *AssessmentReportMetadata {
6396	s.Status = &v
6397	return s
6398}
6399
6400// The location in which Audit Manager saves assessment reports for the given
6401// assessment.
6402type AssessmentReportsDestination struct {
6403	_ struct{} `type:"structure"`
6404
6405	// The destination of the assessment report.
6406	Destination *string `locationName:"destination" min:"1" type:"string"`
6407
6408	// The destination type, such as Amazon S3.
6409	DestinationType *string `locationName:"destinationType" type:"string" enum:"AssessmentReportDestinationType"`
6410}
6411
6412// String returns the string representation
6413func (s AssessmentReportsDestination) String() string {
6414	return awsutil.Prettify(s)
6415}
6416
6417// GoString returns the string representation
6418func (s AssessmentReportsDestination) GoString() string {
6419	return s.String()
6420}
6421
6422// Validate inspects the fields of the type to determine if they are valid.
6423func (s *AssessmentReportsDestination) Validate() error {
6424	invalidParams := request.ErrInvalidParams{Context: "AssessmentReportsDestination"}
6425	if s.Destination != nil && len(*s.Destination) < 1 {
6426		invalidParams.Add(request.NewErrParamMinLen("Destination", 1))
6427	}
6428
6429	if invalidParams.Len() > 0 {
6430		return invalidParams
6431	}
6432	return nil
6433}
6434
6435// SetDestination sets the Destination field's value.
6436func (s *AssessmentReportsDestination) SetDestination(v string) *AssessmentReportsDestination {
6437	s.Destination = &v
6438	return s
6439}
6440
6441// SetDestinationType sets the DestinationType field's value.
6442func (s *AssessmentReportsDestination) SetDestinationType(v string) *AssessmentReportsDestination {
6443	s.DestinationType = &v
6444	return s
6445}
6446
6447type AssociateAssessmentReportEvidenceFolderInput struct {
6448	_ struct{} `type:"structure"`
6449
6450	// The identifier for the specified assessment.
6451	//
6452	// AssessmentId is a required field
6453	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6454
6455	// The identifier for the folder in which evidence is stored.
6456	//
6457	// EvidenceFolderId is a required field
6458	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6459}
6460
6461// String returns the string representation
6462func (s AssociateAssessmentReportEvidenceFolderInput) String() string {
6463	return awsutil.Prettify(s)
6464}
6465
6466// GoString returns the string representation
6467func (s AssociateAssessmentReportEvidenceFolderInput) GoString() string {
6468	return s.String()
6469}
6470
6471// Validate inspects the fields of the type to determine if they are valid.
6472func (s *AssociateAssessmentReportEvidenceFolderInput) Validate() error {
6473	invalidParams := request.ErrInvalidParams{Context: "AssociateAssessmentReportEvidenceFolderInput"}
6474	if s.AssessmentId == nil {
6475		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6476	}
6477	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6478		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6479	}
6480	if s.EvidenceFolderId == nil {
6481		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6482	}
6483	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6484		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6485	}
6486
6487	if invalidParams.Len() > 0 {
6488		return invalidParams
6489	}
6490	return nil
6491}
6492
6493// SetAssessmentId sets the AssessmentId field's value.
6494func (s *AssociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *AssociateAssessmentReportEvidenceFolderInput {
6495	s.AssessmentId = &v
6496	return s
6497}
6498
6499// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6500func (s *AssociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *AssociateAssessmentReportEvidenceFolderInput {
6501	s.EvidenceFolderId = &v
6502	return s
6503}
6504
6505type AssociateAssessmentReportEvidenceFolderOutput struct {
6506	_ struct{} `type:"structure"`
6507}
6508
6509// String returns the string representation
6510func (s AssociateAssessmentReportEvidenceFolderOutput) String() string {
6511	return awsutil.Prettify(s)
6512}
6513
6514// GoString returns the string representation
6515func (s AssociateAssessmentReportEvidenceFolderOutput) GoString() string {
6516	return s.String()
6517}
6518
6519type BatchAssociateAssessmentReportEvidenceInput struct {
6520	_ struct{} `type:"structure"`
6521
6522	// The unique identifier for the specified assessment.
6523	//
6524	// AssessmentId is a required field
6525	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6526
6527	// The identifier for the folder in which the evidence is stored.
6528	//
6529	// EvidenceFolderId is a required field
6530	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6531
6532	// The list of evidence identifiers.
6533	//
6534	// EvidenceIds is a required field
6535	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
6536}
6537
6538// String returns the string representation
6539func (s BatchAssociateAssessmentReportEvidenceInput) String() string {
6540	return awsutil.Prettify(s)
6541}
6542
6543// GoString returns the string representation
6544func (s BatchAssociateAssessmentReportEvidenceInput) GoString() string {
6545	return s.String()
6546}
6547
6548// Validate inspects the fields of the type to determine if they are valid.
6549func (s *BatchAssociateAssessmentReportEvidenceInput) Validate() error {
6550	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateAssessmentReportEvidenceInput"}
6551	if s.AssessmentId == nil {
6552		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6553	}
6554	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6555		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6556	}
6557	if s.EvidenceFolderId == nil {
6558		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6559	}
6560	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6561		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6562	}
6563	if s.EvidenceIds == nil {
6564		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
6565	}
6566
6567	if invalidParams.Len() > 0 {
6568		return invalidParams
6569	}
6570	return nil
6571}
6572
6573// SetAssessmentId sets the AssessmentId field's value.
6574func (s *BatchAssociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchAssociateAssessmentReportEvidenceInput {
6575	s.AssessmentId = &v
6576	return s
6577}
6578
6579// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6580func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchAssociateAssessmentReportEvidenceInput {
6581	s.EvidenceFolderId = &v
6582	return s
6583}
6584
6585// SetEvidenceIds sets the EvidenceIds field's value.
6586func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceInput {
6587	s.EvidenceIds = v
6588	return s
6589}
6590
6591type BatchAssociateAssessmentReportEvidenceOutput struct {
6592	_ struct{} `type:"structure"`
6593
6594	// A list of errors returned by the BatchAssociateAssessmentReportEvidence API.
6595	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
6596
6597	// The identifier for the evidence.
6598	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
6599}
6600
6601// String returns the string representation
6602func (s BatchAssociateAssessmentReportEvidenceOutput) String() string {
6603	return awsutil.Prettify(s)
6604}
6605
6606// GoString returns the string representation
6607func (s BatchAssociateAssessmentReportEvidenceOutput) GoString() string {
6608	return s.String()
6609}
6610
6611// SetErrors sets the Errors field's value.
6612func (s *BatchAssociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchAssociateAssessmentReportEvidenceOutput {
6613	s.Errors = v
6614	return s
6615}
6616
6617// SetEvidenceIds sets the EvidenceIds field's value.
6618func (s *BatchAssociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceOutput {
6619	s.EvidenceIds = v
6620	return s
6621}
6622
6623// An error entity for the BatchCreateDelegationByAssessment API. This is used
6624// to provide more meaningful errors than a simple string message.
6625type BatchCreateDelegationByAssessmentError struct {
6626	_ struct{} `type:"structure"`
6627
6628	// The API request to batch create delegations in Audit Manager.
6629	CreateDelegationRequest *CreateDelegationRequest `locationName:"createDelegationRequest" type:"structure"`
6630
6631	// The error code returned by the BatchCreateDelegationByAssessment API.
6632	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6633
6634	// The error message returned by the BatchCreateDelegationByAssessment API.
6635	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6636}
6637
6638// String returns the string representation
6639func (s BatchCreateDelegationByAssessmentError) String() string {
6640	return awsutil.Prettify(s)
6641}
6642
6643// GoString returns the string representation
6644func (s BatchCreateDelegationByAssessmentError) GoString() string {
6645	return s.String()
6646}
6647
6648// SetCreateDelegationRequest sets the CreateDelegationRequest field's value.
6649func (s *BatchCreateDelegationByAssessmentError) SetCreateDelegationRequest(v *CreateDelegationRequest) *BatchCreateDelegationByAssessmentError {
6650	s.CreateDelegationRequest = v
6651	return s
6652}
6653
6654// SetErrorCode sets the ErrorCode field's value.
6655func (s *BatchCreateDelegationByAssessmentError) SetErrorCode(v string) *BatchCreateDelegationByAssessmentError {
6656	s.ErrorCode = &v
6657	return s
6658}
6659
6660// SetErrorMessage sets the ErrorMessage field's value.
6661func (s *BatchCreateDelegationByAssessmentError) SetErrorMessage(v string) *BatchCreateDelegationByAssessmentError {
6662	s.ErrorMessage = &v
6663	return s
6664}
6665
6666type BatchCreateDelegationByAssessmentInput struct {
6667	_ struct{} `type:"structure"`
6668
6669	// The identifier for the specified assessment.
6670	//
6671	// AssessmentId is a required field
6672	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6673
6674	// The API request to batch create delegations in Audit Manager.
6675	//
6676	// CreateDelegationRequests is a required field
6677	CreateDelegationRequests []*CreateDelegationRequest `locationName:"createDelegationRequests" min:"1" type:"list" required:"true"`
6678}
6679
6680// String returns the string representation
6681func (s BatchCreateDelegationByAssessmentInput) String() string {
6682	return awsutil.Prettify(s)
6683}
6684
6685// GoString returns the string representation
6686func (s BatchCreateDelegationByAssessmentInput) GoString() string {
6687	return s.String()
6688}
6689
6690// Validate inspects the fields of the type to determine if they are valid.
6691func (s *BatchCreateDelegationByAssessmentInput) Validate() error {
6692	invalidParams := request.ErrInvalidParams{Context: "BatchCreateDelegationByAssessmentInput"}
6693	if s.AssessmentId == nil {
6694		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6695	}
6696	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6697		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6698	}
6699	if s.CreateDelegationRequests == nil {
6700		invalidParams.Add(request.NewErrParamRequired("CreateDelegationRequests"))
6701	}
6702	if s.CreateDelegationRequests != nil && len(s.CreateDelegationRequests) < 1 {
6703		invalidParams.Add(request.NewErrParamMinLen("CreateDelegationRequests", 1))
6704	}
6705	if s.CreateDelegationRequests != nil {
6706		for i, v := range s.CreateDelegationRequests {
6707			if v == nil {
6708				continue
6709			}
6710			if err := v.Validate(); err != nil {
6711				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDelegationRequests", i), err.(request.ErrInvalidParams))
6712			}
6713		}
6714	}
6715
6716	if invalidParams.Len() > 0 {
6717		return invalidParams
6718	}
6719	return nil
6720}
6721
6722// SetAssessmentId sets the AssessmentId field's value.
6723func (s *BatchCreateDelegationByAssessmentInput) SetAssessmentId(v string) *BatchCreateDelegationByAssessmentInput {
6724	s.AssessmentId = &v
6725	return s
6726}
6727
6728// SetCreateDelegationRequests sets the CreateDelegationRequests field's value.
6729func (s *BatchCreateDelegationByAssessmentInput) SetCreateDelegationRequests(v []*CreateDelegationRequest) *BatchCreateDelegationByAssessmentInput {
6730	s.CreateDelegationRequests = v
6731	return s
6732}
6733
6734type BatchCreateDelegationByAssessmentOutput struct {
6735	_ struct{} `type:"structure"`
6736
6737	// The delegations associated with the assessment.
6738	Delegations []*Delegation `locationName:"delegations" type:"list"`
6739
6740	// A list of errors returned by the BatchCreateDelegationByAssessment API.
6741	Errors []*BatchCreateDelegationByAssessmentError `locationName:"errors" type:"list"`
6742}
6743
6744// String returns the string representation
6745func (s BatchCreateDelegationByAssessmentOutput) String() string {
6746	return awsutil.Prettify(s)
6747}
6748
6749// GoString returns the string representation
6750func (s BatchCreateDelegationByAssessmentOutput) GoString() string {
6751	return s.String()
6752}
6753
6754// SetDelegations sets the Delegations field's value.
6755func (s *BatchCreateDelegationByAssessmentOutput) SetDelegations(v []*Delegation) *BatchCreateDelegationByAssessmentOutput {
6756	s.Delegations = v
6757	return s
6758}
6759
6760// SetErrors sets the Errors field's value.
6761func (s *BatchCreateDelegationByAssessmentOutput) SetErrors(v []*BatchCreateDelegationByAssessmentError) *BatchCreateDelegationByAssessmentOutput {
6762	s.Errors = v
6763	return s
6764}
6765
6766// An error entity for the BatchDeleteDelegationByAssessment API. This is used
6767// to provide more meaningful errors than a simple string message.
6768type BatchDeleteDelegationByAssessmentError struct {
6769	_ struct{} `type:"structure"`
6770
6771	// The identifier for the specified delegation.
6772	DelegationId *string `locationName:"delegationId" min:"36" type:"string"`
6773
6774	// The error code returned by the BatchDeleteDelegationByAssessment API.
6775	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6776
6777	// The error message returned by the BatchDeleteDelegationByAssessment API.
6778	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6779}
6780
6781// String returns the string representation
6782func (s BatchDeleteDelegationByAssessmentError) String() string {
6783	return awsutil.Prettify(s)
6784}
6785
6786// GoString returns the string representation
6787func (s BatchDeleteDelegationByAssessmentError) GoString() string {
6788	return s.String()
6789}
6790
6791// SetDelegationId sets the DelegationId field's value.
6792func (s *BatchDeleteDelegationByAssessmentError) SetDelegationId(v string) *BatchDeleteDelegationByAssessmentError {
6793	s.DelegationId = &v
6794	return s
6795}
6796
6797// SetErrorCode sets the ErrorCode field's value.
6798func (s *BatchDeleteDelegationByAssessmentError) SetErrorCode(v string) *BatchDeleteDelegationByAssessmentError {
6799	s.ErrorCode = &v
6800	return s
6801}
6802
6803// SetErrorMessage sets the ErrorMessage field's value.
6804func (s *BatchDeleteDelegationByAssessmentError) SetErrorMessage(v string) *BatchDeleteDelegationByAssessmentError {
6805	s.ErrorMessage = &v
6806	return s
6807}
6808
6809type BatchDeleteDelegationByAssessmentInput struct {
6810	_ struct{} `type:"structure"`
6811
6812	// The identifier for the specified assessment.
6813	//
6814	// AssessmentId is a required field
6815	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6816
6817	// The identifiers for the specified delegations.
6818	//
6819	// DelegationIds is a required field
6820	DelegationIds []*string `locationName:"delegationIds" min:"1" type:"list" required:"true"`
6821}
6822
6823// String returns the string representation
6824func (s BatchDeleteDelegationByAssessmentInput) String() string {
6825	return awsutil.Prettify(s)
6826}
6827
6828// GoString returns the string representation
6829func (s BatchDeleteDelegationByAssessmentInput) GoString() string {
6830	return s.String()
6831}
6832
6833// Validate inspects the fields of the type to determine if they are valid.
6834func (s *BatchDeleteDelegationByAssessmentInput) Validate() error {
6835	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDelegationByAssessmentInput"}
6836	if s.AssessmentId == nil {
6837		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6838	}
6839	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6840		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6841	}
6842	if s.DelegationIds == nil {
6843		invalidParams.Add(request.NewErrParamRequired("DelegationIds"))
6844	}
6845	if s.DelegationIds != nil && len(s.DelegationIds) < 1 {
6846		invalidParams.Add(request.NewErrParamMinLen("DelegationIds", 1))
6847	}
6848
6849	if invalidParams.Len() > 0 {
6850		return invalidParams
6851	}
6852	return nil
6853}
6854
6855// SetAssessmentId sets the AssessmentId field's value.
6856func (s *BatchDeleteDelegationByAssessmentInput) SetAssessmentId(v string) *BatchDeleteDelegationByAssessmentInput {
6857	s.AssessmentId = &v
6858	return s
6859}
6860
6861// SetDelegationIds sets the DelegationIds field's value.
6862func (s *BatchDeleteDelegationByAssessmentInput) SetDelegationIds(v []*string) *BatchDeleteDelegationByAssessmentInput {
6863	s.DelegationIds = v
6864	return s
6865}
6866
6867type BatchDeleteDelegationByAssessmentOutput struct {
6868	_ struct{} `type:"structure"`
6869
6870	// A list of errors returned by the BatchDeleteDelegationByAssessment API.
6871	Errors []*BatchDeleteDelegationByAssessmentError `locationName:"errors" type:"list"`
6872}
6873
6874// String returns the string representation
6875func (s BatchDeleteDelegationByAssessmentOutput) String() string {
6876	return awsutil.Prettify(s)
6877}
6878
6879// GoString returns the string representation
6880func (s BatchDeleteDelegationByAssessmentOutput) GoString() string {
6881	return s.String()
6882}
6883
6884// SetErrors sets the Errors field's value.
6885func (s *BatchDeleteDelegationByAssessmentOutput) SetErrors(v []*BatchDeleteDelegationByAssessmentError) *BatchDeleteDelegationByAssessmentOutput {
6886	s.Errors = v
6887	return s
6888}
6889
6890type BatchDisassociateAssessmentReportEvidenceInput struct {
6891	_ struct{} `type:"structure"`
6892
6893	// The identifier for the specified assessment.
6894	//
6895	// AssessmentId is a required field
6896	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6897
6898	// The identifier for the folder in which evidence is stored.
6899	//
6900	// EvidenceFolderId is a required field
6901	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6902
6903	// The list of evidence identifiers.
6904	//
6905	// EvidenceIds is a required field
6906	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
6907}
6908
6909// String returns the string representation
6910func (s BatchDisassociateAssessmentReportEvidenceInput) String() string {
6911	return awsutil.Prettify(s)
6912}
6913
6914// GoString returns the string representation
6915func (s BatchDisassociateAssessmentReportEvidenceInput) GoString() string {
6916	return s.String()
6917}
6918
6919// Validate inspects the fields of the type to determine if they are valid.
6920func (s *BatchDisassociateAssessmentReportEvidenceInput) Validate() error {
6921	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateAssessmentReportEvidenceInput"}
6922	if s.AssessmentId == nil {
6923		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6924	}
6925	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6926		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6927	}
6928	if s.EvidenceFolderId == nil {
6929		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6930	}
6931	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6932		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6933	}
6934	if s.EvidenceIds == nil {
6935		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
6936	}
6937
6938	if invalidParams.Len() > 0 {
6939		return invalidParams
6940	}
6941	return nil
6942}
6943
6944// SetAssessmentId sets the AssessmentId field's value.
6945func (s *BatchDisassociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
6946	s.AssessmentId = &v
6947	return s
6948}
6949
6950// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6951func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
6952	s.EvidenceFolderId = &v
6953	return s
6954}
6955
6956// SetEvidenceIds sets the EvidenceIds field's value.
6957func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceInput {
6958	s.EvidenceIds = v
6959	return s
6960}
6961
6962type BatchDisassociateAssessmentReportEvidenceOutput struct {
6963	_ struct{} `type:"structure"`
6964
6965	// A list of errors returned by the BatchDisassociateAssessmentReportEvidence
6966	// API.
6967	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
6968
6969	// The identifier for the evidence.
6970	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
6971}
6972
6973// String returns the string representation
6974func (s BatchDisassociateAssessmentReportEvidenceOutput) String() string {
6975	return awsutil.Prettify(s)
6976}
6977
6978// GoString returns the string representation
6979func (s BatchDisassociateAssessmentReportEvidenceOutput) GoString() string {
6980	return s.String()
6981}
6982
6983// SetErrors sets the Errors field's value.
6984func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchDisassociateAssessmentReportEvidenceOutput {
6985	s.Errors = v
6986	return s
6987}
6988
6989// SetEvidenceIds sets the EvidenceIds field's value.
6990func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceOutput {
6991	s.EvidenceIds = v
6992	return s
6993}
6994
6995// An error entity for the BatchImportEvidenceToAssessmentControl API. This
6996// is used to provide more meaningful errors than a simple string message.
6997type BatchImportEvidenceToAssessmentControlError struct {
6998	_ struct{} `type:"structure"`
6999
7000	// The error code returned by the BatchImportEvidenceToAssessmentControl API.
7001	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
7002
7003	// The error message returned by the BatchImportEvidenceToAssessmentControl
7004	// API.
7005	ErrorMessage *string `locationName:"errorMessage" type:"string"`
7006
7007	// Manual evidence that cannot be collected automatically by Audit Manager.
7008	ManualEvidence *ManualEvidence `locationName:"manualEvidence" type:"structure"`
7009}
7010
7011// String returns the string representation
7012func (s BatchImportEvidenceToAssessmentControlError) String() string {
7013	return awsutil.Prettify(s)
7014}
7015
7016// GoString returns the string representation
7017func (s BatchImportEvidenceToAssessmentControlError) GoString() string {
7018	return s.String()
7019}
7020
7021// SetErrorCode sets the ErrorCode field's value.
7022func (s *BatchImportEvidenceToAssessmentControlError) SetErrorCode(v string) *BatchImportEvidenceToAssessmentControlError {
7023	s.ErrorCode = &v
7024	return s
7025}
7026
7027// SetErrorMessage sets the ErrorMessage field's value.
7028func (s *BatchImportEvidenceToAssessmentControlError) SetErrorMessage(v string) *BatchImportEvidenceToAssessmentControlError {
7029	s.ErrorMessage = &v
7030	return s
7031}
7032
7033// SetManualEvidence sets the ManualEvidence field's value.
7034func (s *BatchImportEvidenceToAssessmentControlError) SetManualEvidence(v *ManualEvidence) *BatchImportEvidenceToAssessmentControlError {
7035	s.ManualEvidence = v
7036	return s
7037}
7038
7039type BatchImportEvidenceToAssessmentControlInput struct {
7040	_ struct{} `type:"structure"`
7041
7042	// The identifier for the specified assessment.
7043	//
7044	// AssessmentId is a required field
7045	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7046
7047	// The identifier for the specified control.
7048	//
7049	// ControlId is a required field
7050	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
7051
7052	// The identifier for the specified control set.
7053	//
7054	// ControlSetId is a required field
7055	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
7056
7057	// The list of manual evidence objects.
7058	//
7059	// ManualEvidence is a required field
7060	ManualEvidence []*ManualEvidence `locationName:"manualEvidence" min:"1" type:"list" required:"true"`
7061}
7062
7063// String returns the string representation
7064func (s BatchImportEvidenceToAssessmentControlInput) String() string {
7065	return awsutil.Prettify(s)
7066}
7067
7068// GoString returns the string representation
7069func (s BatchImportEvidenceToAssessmentControlInput) GoString() string {
7070	return s.String()
7071}
7072
7073// Validate inspects the fields of the type to determine if they are valid.
7074func (s *BatchImportEvidenceToAssessmentControlInput) Validate() error {
7075	invalidParams := request.ErrInvalidParams{Context: "BatchImportEvidenceToAssessmentControlInput"}
7076	if s.AssessmentId == nil {
7077		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7078	}
7079	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7080		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7081	}
7082	if s.ControlId == nil {
7083		invalidParams.Add(request.NewErrParamRequired("ControlId"))
7084	}
7085	if s.ControlId != nil && len(*s.ControlId) < 36 {
7086		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
7087	}
7088	if s.ControlSetId == nil {
7089		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
7090	}
7091	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
7092		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
7093	}
7094	if s.ManualEvidence == nil {
7095		invalidParams.Add(request.NewErrParamRequired("ManualEvidence"))
7096	}
7097	if s.ManualEvidence != nil && len(s.ManualEvidence) < 1 {
7098		invalidParams.Add(request.NewErrParamMinLen("ManualEvidence", 1))
7099	}
7100	if s.ManualEvidence != nil {
7101		for i, v := range s.ManualEvidence {
7102			if v == nil {
7103				continue
7104			}
7105			if err := v.Validate(); err != nil {
7106				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManualEvidence", i), err.(request.ErrInvalidParams))
7107			}
7108		}
7109	}
7110
7111	if invalidParams.Len() > 0 {
7112		return invalidParams
7113	}
7114	return nil
7115}
7116
7117// SetAssessmentId sets the AssessmentId field's value.
7118func (s *BatchImportEvidenceToAssessmentControlInput) SetAssessmentId(v string) *BatchImportEvidenceToAssessmentControlInput {
7119	s.AssessmentId = &v
7120	return s
7121}
7122
7123// SetControlId sets the ControlId field's value.
7124func (s *BatchImportEvidenceToAssessmentControlInput) SetControlId(v string) *BatchImportEvidenceToAssessmentControlInput {
7125	s.ControlId = &v
7126	return s
7127}
7128
7129// SetControlSetId sets the ControlSetId field's value.
7130func (s *BatchImportEvidenceToAssessmentControlInput) SetControlSetId(v string) *BatchImportEvidenceToAssessmentControlInput {
7131	s.ControlSetId = &v
7132	return s
7133}
7134
7135// SetManualEvidence sets the ManualEvidence field's value.
7136func (s *BatchImportEvidenceToAssessmentControlInput) SetManualEvidence(v []*ManualEvidence) *BatchImportEvidenceToAssessmentControlInput {
7137	s.ManualEvidence = v
7138	return s
7139}
7140
7141type BatchImportEvidenceToAssessmentControlOutput struct {
7142	_ struct{} `type:"structure"`
7143
7144	// A list of errors returned by the BatchImportEvidenceToAssessmentControl API.
7145	Errors []*BatchImportEvidenceToAssessmentControlError `locationName:"errors" type:"list"`
7146}
7147
7148// String returns the string representation
7149func (s BatchImportEvidenceToAssessmentControlOutput) String() string {
7150	return awsutil.Prettify(s)
7151}
7152
7153// GoString returns the string representation
7154func (s BatchImportEvidenceToAssessmentControlOutput) GoString() string {
7155	return s.String()
7156}
7157
7158// SetErrors sets the Errors field's value.
7159func (s *BatchImportEvidenceToAssessmentControlOutput) SetErrors(v []*BatchImportEvidenceToAssessmentControlError) *BatchImportEvidenceToAssessmentControlOutput {
7160	s.Errors = v
7161	return s
7162}
7163
7164// The record of a change within Audit Manager, such as a modified assessment,
7165// a delegated control set, and so on.
7166type ChangeLog struct {
7167	_ struct{} `type:"structure"`
7168
7169	// The action performed.
7170	Action *string `locationName:"action" type:"string" enum:"ActionEnum"`
7171
7172	// The time of creation for the changelog object.
7173	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7174
7175	// The IAM user or role that performed the action.
7176	CreatedBy *string `locationName:"createdBy" min:"20" type:"string"`
7177
7178	// The name of the changelog object.
7179	ObjectName *string `locationName:"objectName" min:"1" type:"string"`
7180
7181	// The changelog object type, such as an assessment, control, or control set.
7182	ObjectType *string `locationName:"objectType" type:"string" enum:"ObjectTypeEnum"`
7183}
7184
7185// String returns the string representation
7186func (s ChangeLog) String() string {
7187	return awsutil.Prettify(s)
7188}
7189
7190// GoString returns the string representation
7191func (s ChangeLog) GoString() string {
7192	return s.String()
7193}
7194
7195// SetAction sets the Action field's value.
7196func (s *ChangeLog) SetAction(v string) *ChangeLog {
7197	s.Action = &v
7198	return s
7199}
7200
7201// SetCreatedAt sets the CreatedAt field's value.
7202func (s *ChangeLog) SetCreatedAt(v time.Time) *ChangeLog {
7203	s.CreatedAt = &v
7204	return s
7205}
7206
7207// SetCreatedBy sets the CreatedBy field's value.
7208func (s *ChangeLog) SetCreatedBy(v string) *ChangeLog {
7209	s.CreatedBy = &v
7210	return s
7211}
7212
7213// SetObjectName sets the ObjectName field's value.
7214func (s *ChangeLog) SetObjectName(v string) *ChangeLog {
7215	s.ObjectName = &v
7216	return s
7217}
7218
7219// SetObjectType sets the ObjectType field's value.
7220func (s *ChangeLog) SetObjectType(v string) *ChangeLog {
7221	s.ObjectType = &v
7222	return s
7223}
7224
7225// A control in Audit Manager.
7226type Control struct {
7227	_ struct{} `type:"structure"`
7228
7229	// The recommended actions to carry out if the control is not fulfilled.
7230	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
7231
7232	// The title of the action plan for remediating the control.
7233	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
7234
7235	// The Amazon Resource Name (ARN) of the specified control.
7236	Arn *string `locationName:"arn" min:"20" type:"string"`
7237
7238	// The data mapping sources for the specified control.
7239	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list"`
7240
7241	// The data source that determines from where Audit Manager collects evidence
7242	// for the control.
7243	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
7244
7245	// Specifies when the control was created.
7246	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7247
7248	// The IAM user or role that created the control.
7249	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
7250
7251	// The description of the specified control.
7252	Description *string `locationName:"description" type:"string"`
7253
7254	// The unique identifier for the control.
7255	Id *string `locationName:"id" min:"36" type:"string"`
7256
7257	// Specifies when the control was most recently updated.
7258	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7259
7260	// The IAM user or role that most recently updated the control.
7261	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
7262
7263	// The name of the specified control.
7264	Name *string `locationName:"name" min:"1" type:"string"`
7265
7266	// The tags associated with the control.
7267	Tags map[string]*string `locationName:"tags" type:"map"`
7268
7269	// The steps to follow to determine if the control has been satisfied.
7270	TestingInformation *string `locationName:"testingInformation" type:"string"`
7271
7272	// The type of control, such as custom or standard.
7273	Type *string `locationName:"type" type:"string" enum:"ControlType"`
7274}
7275
7276// String returns the string representation
7277func (s Control) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation
7282func (s Control) GoString() string {
7283	return s.String()
7284}
7285
7286// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
7287func (s *Control) SetActionPlanInstructions(v string) *Control {
7288	s.ActionPlanInstructions = &v
7289	return s
7290}
7291
7292// SetActionPlanTitle sets the ActionPlanTitle field's value.
7293func (s *Control) SetActionPlanTitle(v string) *Control {
7294	s.ActionPlanTitle = &v
7295	return s
7296}
7297
7298// SetArn sets the Arn field's value.
7299func (s *Control) SetArn(v string) *Control {
7300	s.Arn = &v
7301	return s
7302}
7303
7304// SetControlMappingSources sets the ControlMappingSources field's value.
7305func (s *Control) SetControlMappingSources(v []*ControlMappingSource) *Control {
7306	s.ControlMappingSources = v
7307	return s
7308}
7309
7310// SetControlSources sets the ControlSources field's value.
7311func (s *Control) SetControlSources(v string) *Control {
7312	s.ControlSources = &v
7313	return s
7314}
7315
7316// SetCreatedAt sets the CreatedAt field's value.
7317func (s *Control) SetCreatedAt(v time.Time) *Control {
7318	s.CreatedAt = &v
7319	return s
7320}
7321
7322// SetCreatedBy sets the CreatedBy field's value.
7323func (s *Control) SetCreatedBy(v string) *Control {
7324	s.CreatedBy = &v
7325	return s
7326}
7327
7328// SetDescription sets the Description field's value.
7329func (s *Control) SetDescription(v string) *Control {
7330	s.Description = &v
7331	return s
7332}
7333
7334// SetId sets the Id field's value.
7335func (s *Control) SetId(v string) *Control {
7336	s.Id = &v
7337	return s
7338}
7339
7340// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7341func (s *Control) SetLastUpdatedAt(v time.Time) *Control {
7342	s.LastUpdatedAt = &v
7343	return s
7344}
7345
7346// SetLastUpdatedBy sets the LastUpdatedBy field's value.
7347func (s *Control) SetLastUpdatedBy(v string) *Control {
7348	s.LastUpdatedBy = &v
7349	return s
7350}
7351
7352// SetName sets the Name field's value.
7353func (s *Control) SetName(v string) *Control {
7354	s.Name = &v
7355	return s
7356}
7357
7358// SetTags sets the Tags field's value.
7359func (s *Control) SetTags(v map[string]*string) *Control {
7360	s.Tags = v
7361	return s
7362}
7363
7364// SetTestingInformation sets the TestingInformation field's value.
7365func (s *Control) SetTestingInformation(v string) *Control {
7366	s.TestingInformation = &v
7367	return s
7368}
7369
7370// SetType sets the Type field's value.
7371func (s *Control) SetType(v string) *Control {
7372	s.Type = &v
7373	return s
7374}
7375
7376// A comment posted by a user on a control. This includes the author's name,
7377// the comment text, and a timestamp.
7378type ControlComment struct {
7379	_ struct{} `type:"structure"`
7380
7381	// The name of the user who authored the comment.
7382	AuthorName *string `locationName:"authorName" min:"1" type:"string"`
7383
7384	// The body text of a control comment.
7385	CommentBody *string `locationName:"commentBody" type:"string"`
7386
7387	// The time when the comment was posted.
7388	PostedDate *time.Time `locationName:"postedDate" type:"timestamp"`
7389}
7390
7391// String returns the string representation
7392func (s ControlComment) String() string {
7393	return awsutil.Prettify(s)
7394}
7395
7396// GoString returns the string representation
7397func (s ControlComment) GoString() string {
7398	return s.String()
7399}
7400
7401// SetAuthorName sets the AuthorName field's value.
7402func (s *ControlComment) SetAuthorName(v string) *ControlComment {
7403	s.AuthorName = &v
7404	return s
7405}
7406
7407// SetCommentBody sets the CommentBody field's value.
7408func (s *ControlComment) SetCommentBody(v string) *ControlComment {
7409	s.CommentBody = &v
7410	return s
7411}
7412
7413// SetPostedDate sets the PostedDate field's value.
7414func (s *ControlComment) SetPostedDate(v time.Time) *ControlComment {
7415	s.PostedDate = &v
7416	return s
7417}
7418
7419// The data source that determines from where Audit Manager collects evidence
7420// for the control.
7421type ControlMappingSource struct {
7422	_ struct{} `type:"structure"`
7423
7424	// The description of the specified source.
7425	SourceDescription *string `locationName:"sourceDescription" type:"string"`
7426
7427	// The frequency of evidence collection for the specified control mapping source.
7428	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
7429
7430	// The unique identifier for the specified source.
7431	SourceId *string `locationName:"sourceId" min:"36" type:"string"`
7432
7433	// The keyword to search for in CloudTrail logs, Config rules, Security Hub
7434	// checks, and Amazon Web Services API names.
7435	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
7436
7437	// The name of the specified source.
7438	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
7439
7440	// The setup option for the data source, which reflects if the evidence collection
7441	// is automated or manual.
7442	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
7443
7444	// Specifies one of the five types of data sources for evidence collection.
7445	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
7446
7447	// The instructions for troubleshooting the specified control.
7448	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
7449}
7450
7451// String returns the string representation
7452func (s ControlMappingSource) String() string {
7453	return awsutil.Prettify(s)
7454}
7455
7456// GoString returns the string representation
7457func (s ControlMappingSource) GoString() string {
7458	return s.String()
7459}
7460
7461// Validate inspects the fields of the type to determine if they are valid.
7462func (s *ControlMappingSource) Validate() error {
7463	invalidParams := request.ErrInvalidParams{Context: "ControlMappingSource"}
7464	if s.SourceId != nil && len(*s.SourceId) < 36 {
7465		invalidParams.Add(request.NewErrParamMinLen("SourceId", 36))
7466	}
7467	if s.SourceName != nil && len(*s.SourceName) < 1 {
7468		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
7469	}
7470	if s.SourceKeyword != nil {
7471		if err := s.SourceKeyword.Validate(); err != nil {
7472			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
7473		}
7474	}
7475
7476	if invalidParams.Len() > 0 {
7477		return invalidParams
7478	}
7479	return nil
7480}
7481
7482// SetSourceDescription sets the SourceDescription field's value.
7483func (s *ControlMappingSource) SetSourceDescription(v string) *ControlMappingSource {
7484	s.SourceDescription = &v
7485	return s
7486}
7487
7488// SetSourceFrequency sets the SourceFrequency field's value.
7489func (s *ControlMappingSource) SetSourceFrequency(v string) *ControlMappingSource {
7490	s.SourceFrequency = &v
7491	return s
7492}
7493
7494// SetSourceId sets the SourceId field's value.
7495func (s *ControlMappingSource) SetSourceId(v string) *ControlMappingSource {
7496	s.SourceId = &v
7497	return s
7498}
7499
7500// SetSourceKeyword sets the SourceKeyword field's value.
7501func (s *ControlMappingSource) SetSourceKeyword(v *SourceKeyword) *ControlMappingSource {
7502	s.SourceKeyword = v
7503	return s
7504}
7505
7506// SetSourceName sets the SourceName field's value.
7507func (s *ControlMappingSource) SetSourceName(v string) *ControlMappingSource {
7508	s.SourceName = &v
7509	return s
7510}
7511
7512// SetSourceSetUpOption sets the SourceSetUpOption field's value.
7513func (s *ControlMappingSource) SetSourceSetUpOption(v string) *ControlMappingSource {
7514	s.SourceSetUpOption = &v
7515	return s
7516}
7517
7518// SetSourceType sets the SourceType field's value.
7519func (s *ControlMappingSource) SetSourceType(v string) *ControlMappingSource {
7520	s.SourceType = &v
7521	return s
7522}
7523
7524// SetTroubleshootingText sets the TroubleshootingText field's value.
7525func (s *ControlMappingSource) SetTroubleshootingText(v string) *ControlMappingSource {
7526	s.TroubleshootingText = &v
7527	return s
7528}
7529
7530// The metadata associated with the specified standard or custom control.
7531type ControlMetadata struct {
7532	_ struct{} `type:"structure"`
7533
7534	// The Amazon Resource Name (ARN) of the specified control.
7535	Arn *string `locationName:"arn" min:"20" type:"string"`
7536
7537	// The data source that determines from where Audit Manager collects evidence
7538	// for the control.
7539	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
7540
7541	// Specifies when the control was created.
7542	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7543
7544	// The unique identifier for the specified control.
7545	Id *string `locationName:"id" min:"36" type:"string"`
7546
7547	// Specifies when the control was most recently updated.
7548	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7549
7550	// The name of the specified control.
7551	Name *string `locationName:"name" min:"1" type:"string"`
7552}
7553
7554// String returns the string representation
7555func (s ControlMetadata) String() string {
7556	return awsutil.Prettify(s)
7557}
7558
7559// GoString returns the string representation
7560func (s ControlMetadata) GoString() string {
7561	return s.String()
7562}
7563
7564// SetArn sets the Arn field's value.
7565func (s *ControlMetadata) SetArn(v string) *ControlMetadata {
7566	s.Arn = &v
7567	return s
7568}
7569
7570// SetControlSources sets the ControlSources field's value.
7571func (s *ControlMetadata) SetControlSources(v string) *ControlMetadata {
7572	s.ControlSources = &v
7573	return s
7574}
7575
7576// SetCreatedAt sets the CreatedAt field's value.
7577func (s *ControlMetadata) SetCreatedAt(v time.Time) *ControlMetadata {
7578	s.CreatedAt = &v
7579	return s
7580}
7581
7582// SetId sets the Id field's value.
7583func (s *ControlMetadata) SetId(v string) *ControlMetadata {
7584	s.Id = &v
7585	return s
7586}
7587
7588// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7589func (s *ControlMetadata) SetLastUpdatedAt(v time.Time) *ControlMetadata {
7590	s.LastUpdatedAt = &v
7591	return s
7592}
7593
7594// SetName sets the Name field's value.
7595func (s *ControlMetadata) SetName(v string) *ControlMetadata {
7596	s.Name = &v
7597	return s
7598}
7599
7600// A set of controls in Audit Manager.
7601type ControlSet struct {
7602	_ struct{} `type:"structure"`
7603
7604	// The list of controls within the control set.
7605	Controls []*Control `locationName:"controls" min:"1" type:"list"`
7606
7607	// The identifier of the control set in the assessment. This is the control
7608	// set name in a plain string format.
7609	Id *string `locationName:"id" min:"36" type:"string"`
7610
7611	// The name of the control set.
7612	Name *string `locationName:"name" min:"1" type:"string"`
7613}
7614
7615// String returns the string representation
7616func (s ControlSet) String() string {
7617	return awsutil.Prettify(s)
7618}
7619
7620// GoString returns the string representation
7621func (s ControlSet) GoString() string {
7622	return s.String()
7623}
7624
7625// SetControls sets the Controls field's value.
7626func (s *ControlSet) SetControls(v []*Control) *ControlSet {
7627	s.Controls = v
7628	return s
7629}
7630
7631// SetId sets the Id field's value.
7632func (s *ControlSet) SetId(v string) *ControlSet {
7633	s.Id = &v
7634	return s
7635}
7636
7637// SetName sets the Name field's value.
7638func (s *ControlSet) SetName(v string) *ControlSet {
7639	s.Name = &v
7640	return s
7641}
7642
7643// Control entity attributes that uniquely identify an existing control to be
7644// added to a framework in Audit Manager.
7645type CreateAssessmentFrameworkControl struct {
7646	_ struct{} `type:"structure"`
7647
7648	// The unique identifier of the control.
7649	Id *string `locationName:"id" min:"36" type:"string"`
7650}
7651
7652// String returns the string representation
7653func (s CreateAssessmentFrameworkControl) String() string {
7654	return awsutil.Prettify(s)
7655}
7656
7657// GoString returns the string representation
7658func (s CreateAssessmentFrameworkControl) GoString() string {
7659	return s.String()
7660}
7661
7662// Validate inspects the fields of the type to determine if they are valid.
7663func (s *CreateAssessmentFrameworkControl) Validate() error {
7664	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControl"}
7665	if s.Id != nil && len(*s.Id) < 36 {
7666		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
7667	}
7668
7669	if invalidParams.Len() > 0 {
7670		return invalidParams
7671	}
7672	return nil
7673}
7674
7675// SetId sets the Id field's value.
7676func (s *CreateAssessmentFrameworkControl) SetId(v string) *CreateAssessmentFrameworkControl {
7677	s.Id = &v
7678	return s
7679}
7680
7681// A controlSet entity that represents a collection of controls in Audit Manager.
7682// This does not contain the control set ID.
7683type CreateAssessmentFrameworkControlSet struct {
7684	_ struct{} `type:"structure"`
7685
7686	// The list of controls within the control set. This does not contain the control
7687	// set ID.
7688	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
7689
7690	// The name of the specified control set.
7691	//
7692	// Name is a required field
7693	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7694}
7695
7696// String returns the string representation
7697func (s CreateAssessmentFrameworkControlSet) String() string {
7698	return awsutil.Prettify(s)
7699}
7700
7701// GoString returns the string representation
7702func (s CreateAssessmentFrameworkControlSet) GoString() string {
7703	return s.String()
7704}
7705
7706// Validate inspects the fields of the type to determine if they are valid.
7707func (s *CreateAssessmentFrameworkControlSet) Validate() error {
7708	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControlSet"}
7709	if s.Controls != nil && len(s.Controls) < 1 {
7710		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
7711	}
7712	if s.Name == nil {
7713		invalidParams.Add(request.NewErrParamRequired("Name"))
7714	}
7715	if s.Name != nil && len(*s.Name) < 1 {
7716		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7717	}
7718	if s.Controls != nil {
7719		for i, v := range s.Controls {
7720			if v == nil {
7721				continue
7722			}
7723			if err := v.Validate(); err != nil {
7724				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
7725			}
7726		}
7727	}
7728
7729	if invalidParams.Len() > 0 {
7730		return invalidParams
7731	}
7732	return nil
7733}
7734
7735// SetControls sets the Controls field's value.
7736func (s *CreateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *CreateAssessmentFrameworkControlSet {
7737	s.Controls = v
7738	return s
7739}
7740
7741// SetName sets the Name field's value.
7742func (s *CreateAssessmentFrameworkControlSet) SetName(v string) *CreateAssessmentFrameworkControlSet {
7743	s.Name = &v
7744	return s
7745}
7746
7747type CreateAssessmentFrameworkInput struct {
7748	_ struct{} `type:"structure"`
7749
7750	// The compliance type that the new custom framework supports, such as CIS or
7751	// HIPAA.
7752	ComplianceType *string `locationName:"complianceType" type:"string"`
7753
7754	// The control sets to be associated with the framework.
7755	//
7756	// ControlSets is a required field
7757	ControlSets []*CreateAssessmentFrameworkControlSet `locationName:"controlSets" min:"1" type:"list" required:"true"`
7758
7759	// An optional description for the new custom framework.
7760	Description *string `locationName:"description" min:"1" type:"string"`
7761
7762	// The name of the new custom framework.
7763	//
7764	// Name is a required field
7765	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7766
7767	// The tags associated with the framework.
7768	Tags map[string]*string `locationName:"tags" type:"map"`
7769}
7770
7771// String returns the string representation
7772func (s CreateAssessmentFrameworkInput) String() string {
7773	return awsutil.Prettify(s)
7774}
7775
7776// GoString returns the string representation
7777func (s CreateAssessmentFrameworkInput) GoString() string {
7778	return s.String()
7779}
7780
7781// Validate inspects the fields of the type to determine if they are valid.
7782func (s *CreateAssessmentFrameworkInput) Validate() error {
7783	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkInput"}
7784	if s.ControlSets == nil {
7785		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
7786	}
7787	if s.ControlSets != nil && len(s.ControlSets) < 1 {
7788		invalidParams.Add(request.NewErrParamMinLen("ControlSets", 1))
7789	}
7790	if s.Description != nil && len(*s.Description) < 1 {
7791		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7792	}
7793	if s.Name == nil {
7794		invalidParams.Add(request.NewErrParamRequired("Name"))
7795	}
7796	if s.Name != nil && len(*s.Name) < 1 {
7797		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7798	}
7799	if s.ControlSets != nil {
7800		for i, v := range s.ControlSets {
7801			if v == nil {
7802				continue
7803			}
7804			if err := v.Validate(); err != nil {
7805				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
7806			}
7807		}
7808	}
7809
7810	if invalidParams.Len() > 0 {
7811		return invalidParams
7812	}
7813	return nil
7814}
7815
7816// SetComplianceType sets the ComplianceType field's value.
7817func (s *CreateAssessmentFrameworkInput) SetComplianceType(v string) *CreateAssessmentFrameworkInput {
7818	s.ComplianceType = &v
7819	return s
7820}
7821
7822// SetControlSets sets the ControlSets field's value.
7823func (s *CreateAssessmentFrameworkInput) SetControlSets(v []*CreateAssessmentFrameworkControlSet) *CreateAssessmentFrameworkInput {
7824	s.ControlSets = v
7825	return s
7826}
7827
7828// SetDescription sets the Description field's value.
7829func (s *CreateAssessmentFrameworkInput) SetDescription(v string) *CreateAssessmentFrameworkInput {
7830	s.Description = &v
7831	return s
7832}
7833
7834// SetName sets the Name field's value.
7835func (s *CreateAssessmentFrameworkInput) SetName(v string) *CreateAssessmentFrameworkInput {
7836	s.Name = &v
7837	return s
7838}
7839
7840// SetTags sets the Tags field's value.
7841func (s *CreateAssessmentFrameworkInput) SetTags(v map[string]*string) *CreateAssessmentFrameworkInput {
7842	s.Tags = v
7843	return s
7844}
7845
7846type CreateAssessmentFrameworkOutput struct {
7847	_ struct{} `type:"structure"`
7848
7849	// The name of the new framework returned by the CreateAssessmentFramework API.
7850	Framework *Framework `locationName:"framework" type:"structure"`
7851}
7852
7853// String returns the string representation
7854func (s CreateAssessmentFrameworkOutput) String() string {
7855	return awsutil.Prettify(s)
7856}
7857
7858// GoString returns the string representation
7859func (s CreateAssessmentFrameworkOutput) GoString() string {
7860	return s.String()
7861}
7862
7863// SetFramework sets the Framework field's value.
7864func (s *CreateAssessmentFrameworkOutput) SetFramework(v *Framework) *CreateAssessmentFrameworkOutput {
7865	s.Framework = v
7866	return s
7867}
7868
7869type CreateAssessmentInput struct {
7870	_ struct{} `type:"structure"`
7871
7872	// The assessment report storage destination for the specified assessment that
7873	// is being created.
7874	//
7875	// AssessmentReportsDestination is a required field
7876	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure" required:"true"`
7877
7878	// The optional description of the assessment to be created.
7879	Description *string `locationName:"description" type:"string"`
7880
7881	// The identifier for the specified framework.
7882	//
7883	// FrameworkId is a required field
7884	FrameworkId *string `locationName:"frameworkId" min:"36" type:"string" required:"true"`
7885
7886	// The name of the assessment to be created.
7887	//
7888	// Name is a required field
7889	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7890
7891	// The list of roles for the specified assessment.
7892	//
7893	// Roles is a required field
7894	Roles []*Role `locationName:"roles" type:"list" required:"true"`
7895
7896	// The wrapper that contains the accounts and services in scope for the assessment.
7897	//
7898	// Scope is a required field
7899	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
7900
7901	// The tags associated with the assessment.
7902	Tags map[string]*string `locationName:"tags" type:"map"`
7903}
7904
7905// String returns the string representation
7906func (s CreateAssessmentInput) String() string {
7907	return awsutil.Prettify(s)
7908}
7909
7910// GoString returns the string representation
7911func (s CreateAssessmentInput) GoString() string {
7912	return s.String()
7913}
7914
7915// Validate inspects the fields of the type to determine if they are valid.
7916func (s *CreateAssessmentInput) Validate() error {
7917	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentInput"}
7918	if s.AssessmentReportsDestination == nil {
7919		invalidParams.Add(request.NewErrParamRequired("AssessmentReportsDestination"))
7920	}
7921	if s.FrameworkId == nil {
7922		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
7923	}
7924	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
7925		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
7926	}
7927	if s.Name == nil {
7928		invalidParams.Add(request.NewErrParamRequired("Name"))
7929	}
7930	if s.Name != nil && len(*s.Name) < 1 {
7931		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7932	}
7933	if s.Roles == nil {
7934		invalidParams.Add(request.NewErrParamRequired("Roles"))
7935	}
7936	if s.Scope == nil {
7937		invalidParams.Add(request.NewErrParamRequired("Scope"))
7938	}
7939	if s.AssessmentReportsDestination != nil {
7940		if err := s.AssessmentReportsDestination.Validate(); err != nil {
7941			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
7942		}
7943	}
7944	if s.Roles != nil {
7945		for i, v := range s.Roles {
7946			if v == nil {
7947				continue
7948			}
7949			if err := v.Validate(); err != nil {
7950				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
7951			}
7952		}
7953	}
7954	if s.Scope != nil {
7955		if err := s.Scope.Validate(); err != nil {
7956			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
7957		}
7958	}
7959
7960	if invalidParams.Len() > 0 {
7961		return invalidParams
7962	}
7963	return nil
7964}
7965
7966// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
7967func (s *CreateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *CreateAssessmentInput {
7968	s.AssessmentReportsDestination = v
7969	return s
7970}
7971
7972// SetDescription sets the Description field's value.
7973func (s *CreateAssessmentInput) SetDescription(v string) *CreateAssessmentInput {
7974	s.Description = &v
7975	return s
7976}
7977
7978// SetFrameworkId sets the FrameworkId field's value.
7979func (s *CreateAssessmentInput) SetFrameworkId(v string) *CreateAssessmentInput {
7980	s.FrameworkId = &v
7981	return s
7982}
7983
7984// SetName sets the Name field's value.
7985func (s *CreateAssessmentInput) SetName(v string) *CreateAssessmentInput {
7986	s.Name = &v
7987	return s
7988}
7989
7990// SetRoles sets the Roles field's value.
7991func (s *CreateAssessmentInput) SetRoles(v []*Role) *CreateAssessmentInput {
7992	s.Roles = v
7993	return s
7994}
7995
7996// SetScope sets the Scope field's value.
7997func (s *CreateAssessmentInput) SetScope(v *Scope) *CreateAssessmentInput {
7998	s.Scope = v
7999	return s
8000}
8001
8002// SetTags sets the Tags field's value.
8003func (s *CreateAssessmentInput) SetTags(v map[string]*string) *CreateAssessmentInput {
8004	s.Tags = v
8005	return s
8006}
8007
8008type CreateAssessmentOutput struct {
8009	_ struct{} `type:"structure"`
8010
8011	// An entity that defines the scope of audit evidence collected by Audit Manager.
8012	// An Audit Manager assessment is an implementation of an Audit Manager framework.
8013	Assessment *Assessment `locationName:"assessment" type:"structure"`
8014}
8015
8016// String returns the string representation
8017func (s CreateAssessmentOutput) String() string {
8018	return awsutil.Prettify(s)
8019}
8020
8021// GoString returns the string representation
8022func (s CreateAssessmentOutput) GoString() string {
8023	return s.String()
8024}
8025
8026// SetAssessment sets the Assessment field's value.
8027func (s *CreateAssessmentOutput) SetAssessment(v *Assessment) *CreateAssessmentOutput {
8028	s.Assessment = v
8029	return s
8030}
8031
8032type CreateAssessmentReportInput struct {
8033	_ struct{} `type:"structure"`
8034
8035	// The identifier for the specified assessment.
8036	//
8037	// AssessmentId is a required field
8038	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8039
8040	// The description of the assessment report.
8041	Description *string `locationName:"description" type:"string"`
8042
8043	// The name of the new assessment report.
8044	//
8045	// Name is a required field
8046	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8047}
8048
8049// String returns the string representation
8050func (s CreateAssessmentReportInput) String() string {
8051	return awsutil.Prettify(s)
8052}
8053
8054// GoString returns the string representation
8055func (s CreateAssessmentReportInput) GoString() string {
8056	return s.String()
8057}
8058
8059// Validate inspects the fields of the type to determine if they are valid.
8060func (s *CreateAssessmentReportInput) Validate() error {
8061	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentReportInput"}
8062	if s.AssessmentId == nil {
8063		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8064	}
8065	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8066		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8067	}
8068	if s.Name == nil {
8069		invalidParams.Add(request.NewErrParamRequired("Name"))
8070	}
8071	if s.Name != nil && len(*s.Name) < 1 {
8072		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8073	}
8074
8075	if invalidParams.Len() > 0 {
8076		return invalidParams
8077	}
8078	return nil
8079}
8080
8081// SetAssessmentId sets the AssessmentId field's value.
8082func (s *CreateAssessmentReportInput) SetAssessmentId(v string) *CreateAssessmentReportInput {
8083	s.AssessmentId = &v
8084	return s
8085}
8086
8087// SetDescription sets the Description field's value.
8088func (s *CreateAssessmentReportInput) SetDescription(v string) *CreateAssessmentReportInput {
8089	s.Description = &v
8090	return s
8091}
8092
8093// SetName sets the Name field's value.
8094func (s *CreateAssessmentReportInput) SetName(v string) *CreateAssessmentReportInput {
8095	s.Name = &v
8096	return s
8097}
8098
8099type CreateAssessmentReportOutput struct {
8100	_ struct{} `type:"structure"`
8101
8102	// The new assessment report returned by the CreateAssessmentReport API.
8103	AssessmentReport *AssessmentReport `locationName:"assessmentReport" type:"structure"`
8104}
8105
8106// String returns the string representation
8107func (s CreateAssessmentReportOutput) String() string {
8108	return awsutil.Prettify(s)
8109}
8110
8111// GoString returns the string representation
8112func (s CreateAssessmentReportOutput) GoString() string {
8113	return s.String()
8114}
8115
8116// SetAssessmentReport sets the AssessmentReport field's value.
8117func (s *CreateAssessmentReportOutput) SetAssessmentReport(v *AssessmentReport) *CreateAssessmentReportOutput {
8118	s.AssessmentReport = v
8119	return s
8120}
8121
8122type CreateControlInput struct {
8123	_ struct{} `type:"structure"`
8124
8125	// The recommended actions to carry out if the control is not fulfilled.
8126	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
8127
8128	// The title of the action plan for remediating the control.
8129	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
8130
8131	// The data mapping sources for the specified control.
8132	//
8133	// ControlMappingSources is a required field
8134	ControlMappingSources []*CreateControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
8135
8136	// The description of the control.
8137	Description *string `locationName:"description" type:"string"`
8138
8139	// The name of the control.
8140	//
8141	// Name is a required field
8142	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8143
8144	// The tags associated with the control.
8145	Tags map[string]*string `locationName:"tags" type:"map"`
8146
8147	// The steps to follow to determine if the control has been satisfied.
8148	TestingInformation *string `locationName:"testingInformation" type:"string"`
8149}
8150
8151// String returns the string representation
8152func (s CreateControlInput) String() string {
8153	return awsutil.Prettify(s)
8154}
8155
8156// GoString returns the string representation
8157func (s CreateControlInput) GoString() string {
8158	return s.String()
8159}
8160
8161// Validate inspects the fields of the type to determine if they are valid.
8162func (s *CreateControlInput) Validate() error {
8163	invalidParams := request.ErrInvalidParams{Context: "CreateControlInput"}
8164	if s.ControlMappingSources == nil {
8165		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
8166	}
8167	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
8168		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
8169	}
8170	if s.Name == nil {
8171		invalidParams.Add(request.NewErrParamRequired("Name"))
8172	}
8173	if s.Name != nil && len(*s.Name) < 1 {
8174		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8175	}
8176	if s.ControlMappingSources != nil {
8177		for i, v := range s.ControlMappingSources {
8178			if v == nil {
8179				continue
8180			}
8181			if err := v.Validate(); err != nil {
8182				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
8183			}
8184		}
8185	}
8186
8187	if invalidParams.Len() > 0 {
8188		return invalidParams
8189	}
8190	return nil
8191}
8192
8193// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
8194func (s *CreateControlInput) SetActionPlanInstructions(v string) *CreateControlInput {
8195	s.ActionPlanInstructions = &v
8196	return s
8197}
8198
8199// SetActionPlanTitle sets the ActionPlanTitle field's value.
8200func (s *CreateControlInput) SetActionPlanTitle(v string) *CreateControlInput {
8201	s.ActionPlanTitle = &v
8202	return s
8203}
8204
8205// SetControlMappingSources sets the ControlMappingSources field's value.
8206func (s *CreateControlInput) SetControlMappingSources(v []*CreateControlMappingSource) *CreateControlInput {
8207	s.ControlMappingSources = v
8208	return s
8209}
8210
8211// SetDescription sets the Description field's value.
8212func (s *CreateControlInput) SetDescription(v string) *CreateControlInput {
8213	s.Description = &v
8214	return s
8215}
8216
8217// SetName sets the Name field's value.
8218func (s *CreateControlInput) SetName(v string) *CreateControlInput {
8219	s.Name = &v
8220	return s
8221}
8222
8223// SetTags sets the Tags field's value.
8224func (s *CreateControlInput) SetTags(v map[string]*string) *CreateControlInput {
8225	s.Tags = v
8226	return s
8227}
8228
8229// SetTestingInformation sets the TestingInformation field's value.
8230func (s *CreateControlInput) SetTestingInformation(v string) *CreateControlInput {
8231	s.TestingInformation = &v
8232	return s
8233}
8234
8235// Control mapping fields that represent the source for evidence collection,
8236// along with related parameters and metadata. This does not contain mappingID.
8237type CreateControlMappingSource struct {
8238	_ struct{} `type:"structure"`
8239
8240	// The description of the data source that determines from where Audit Manager
8241	// collects evidence for the control.
8242	SourceDescription *string `locationName:"sourceDescription" type:"string"`
8243
8244	// The frequency of evidence collection for the specified control mapping source.
8245	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
8246
8247	// The keyword to search for in CloudTrail logs, Config rules, Security Hub
8248	// checks, and Amazon Web Services API names.
8249	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
8250
8251	// The name of the control mapping data source.
8252	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
8253
8254	// The setup option for the data source, which reflects if the evidence collection
8255	// is automated or manual.
8256	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
8257
8258	// Specifies one of the five types of data sources for evidence collection.
8259	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
8260
8261	// The instructions for troubleshooting the specified control.
8262	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
8263}
8264
8265// String returns the string representation
8266func (s CreateControlMappingSource) String() string {
8267	return awsutil.Prettify(s)
8268}
8269
8270// GoString returns the string representation
8271func (s CreateControlMappingSource) GoString() string {
8272	return s.String()
8273}
8274
8275// Validate inspects the fields of the type to determine if they are valid.
8276func (s *CreateControlMappingSource) Validate() error {
8277	invalidParams := request.ErrInvalidParams{Context: "CreateControlMappingSource"}
8278	if s.SourceName != nil && len(*s.SourceName) < 1 {
8279		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
8280	}
8281	if s.SourceKeyword != nil {
8282		if err := s.SourceKeyword.Validate(); err != nil {
8283			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
8284		}
8285	}
8286
8287	if invalidParams.Len() > 0 {
8288		return invalidParams
8289	}
8290	return nil
8291}
8292
8293// SetSourceDescription sets the SourceDescription field's value.
8294func (s *CreateControlMappingSource) SetSourceDescription(v string) *CreateControlMappingSource {
8295	s.SourceDescription = &v
8296	return s
8297}
8298
8299// SetSourceFrequency sets the SourceFrequency field's value.
8300func (s *CreateControlMappingSource) SetSourceFrequency(v string) *CreateControlMappingSource {
8301	s.SourceFrequency = &v
8302	return s
8303}
8304
8305// SetSourceKeyword sets the SourceKeyword field's value.
8306func (s *CreateControlMappingSource) SetSourceKeyword(v *SourceKeyword) *CreateControlMappingSource {
8307	s.SourceKeyword = v
8308	return s
8309}
8310
8311// SetSourceName sets the SourceName field's value.
8312func (s *CreateControlMappingSource) SetSourceName(v string) *CreateControlMappingSource {
8313	s.SourceName = &v
8314	return s
8315}
8316
8317// SetSourceSetUpOption sets the SourceSetUpOption field's value.
8318func (s *CreateControlMappingSource) SetSourceSetUpOption(v string) *CreateControlMappingSource {
8319	s.SourceSetUpOption = &v
8320	return s
8321}
8322
8323// SetSourceType sets the SourceType field's value.
8324func (s *CreateControlMappingSource) SetSourceType(v string) *CreateControlMappingSource {
8325	s.SourceType = &v
8326	return s
8327}
8328
8329// SetTroubleshootingText sets the TroubleshootingText field's value.
8330func (s *CreateControlMappingSource) SetTroubleshootingText(v string) *CreateControlMappingSource {
8331	s.TroubleshootingText = &v
8332	return s
8333}
8334
8335type CreateControlOutput struct {
8336	_ struct{} `type:"structure"`
8337
8338	// The new control returned by the CreateControl API.
8339	Control *Control `locationName:"control" type:"structure"`
8340}
8341
8342// String returns the string representation
8343func (s CreateControlOutput) String() string {
8344	return awsutil.Prettify(s)
8345}
8346
8347// GoString returns the string representation
8348func (s CreateControlOutput) GoString() string {
8349	return s.String()
8350}
8351
8352// SetControl sets the Control field's value.
8353func (s *CreateControlOutput) SetControl(v *Control) *CreateControlOutput {
8354	s.Control = v
8355	return s
8356}
8357
8358// A collection of attributes used to create a delegation for an assessment
8359// in Audit Manager.
8360type CreateDelegationRequest struct {
8361	_ struct{} `type:"structure"`
8362
8363	// A comment related to the delegation request.
8364	Comment *string `locationName:"comment" type:"string"`
8365
8366	// The unique identifier for the control set.
8367	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
8368
8369	// The Amazon Resource Name (ARN) of the IAM role.
8370	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8371
8372	// The type of customer persona.
8373	//
8374	// In CreateAssessment, roleType can only be PROCESS_OWNER.
8375	//
8376	// In UpdateSettings, roleType can only be PROCESS_OWNER.
8377	//
8378	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
8379	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
8380}
8381
8382// String returns the string representation
8383func (s CreateDelegationRequest) String() string {
8384	return awsutil.Prettify(s)
8385}
8386
8387// GoString returns the string representation
8388func (s CreateDelegationRequest) GoString() string {
8389	return s.String()
8390}
8391
8392// Validate inspects the fields of the type to determine if they are valid.
8393func (s *CreateDelegationRequest) Validate() error {
8394	invalidParams := request.ErrInvalidParams{Context: "CreateDelegationRequest"}
8395	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
8396		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
8397	}
8398	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
8399		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
8400	}
8401
8402	if invalidParams.Len() > 0 {
8403		return invalidParams
8404	}
8405	return nil
8406}
8407
8408// SetComment sets the Comment field's value.
8409func (s *CreateDelegationRequest) SetComment(v string) *CreateDelegationRequest {
8410	s.Comment = &v
8411	return s
8412}
8413
8414// SetControlSetId sets the ControlSetId field's value.
8415func (s *CreateDelegationRequest) SetControlSetId(v string) *CreateDelegationRequest {
8416	s.ControlSetId = &v
8417	return s
8418}
8419
8420// SetRoleArn sets the RoleArn field's value.
8421func (s *CreateDelegationRequest) SetRoleArn(v string) *CreateDelegationRequest {
8422	s.RoleArn = &v
8423	return s
8424}
8425
8426// SetRoleType sets the RoleType field's value.
8427func (s *CreateDelegationRequest) SetRoleType(v string) *CreateDelegationRequest {
8428	s.RoleType = &v
8429	return s
8430}
8431
8432// The assignment of a control set to a delegate for review.
8433type Delegation struct {
8434	_ struct{} `type:"structure"`
8435
8436	// The identifier for the associated assessment.
8437	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
8438
8439	// The name of the associated assessment.
8440	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
8441
8442	// The comment related to the delegation.
8443	Comment *string `locationName:"comment" type:"string"`
8444
8445	// The identifier for the associated control set.
8446	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
8447
8448	// The IAM user or role that created the delegation.
8449	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
8450
8451	// Specifies when the delegation was created.
8452	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
8453
8454	// The unique identifier for the delegation.
8455	Id *string `locationName:"id" min:"36" type:"string"`
8456
8457	// Specifies when the delegation was last updated.
8458	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
8459
8460	// The Amazon Resource Name (ARN) of the IAM role.
8461	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8462
8463	// The type of customer persona.
8464	//
8465	// In CreateAssessment, roleType can only be PROCESS_OWNER.
8466	//
8467	// In UpdateSettings, roleType can only be PROCESS_OWNER.
8468	//
8469	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
8470	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
8471
8472	// The status of the delegation.
8473	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
8474}
8475
8476// String returns the string representation
8477func (s Delegation) String() string {
8478	return awsutil.Prettify(s)
8479}
8480
8481// GoString returns the string representation
8482func (s Delegation) GoString() string {
8483	return s.String()
8484}
8485
8486// SetAssessmentId sets the AssessmentId field's value.
8487func (s *Delegation) SetAssessmentId(v string) *Delegation {
8488	s.AssessmentId = &v
8489	return s
8490}
8491
8492// SetAssessmentName sets the AssessmentName field's value.
8493func (s *Delegation) SetAssessmentName(v string) *Delegation {
8494	s.AssessmentName = &v
8495	return s
8496}
8497
8498// SetComment sets the Comment field's value.
8499func (s *Delegation) SetComment(v string) *Delegation {
8500	s.Comment = &v
8501	return s
8502}
8503
8504// SetControlSetId sets the ControlSetId field's value.
8505func (s *Delegation) SetControlSetId(v string) *Delegation {
8506	s.ControlSetId = &v
8507	return s
8508}
8509
8510// SetCreatedBy sets the CreatedBy field's value.
8511func (s *Delegation) SetCreatedBy(v string) *Delegation {
8512	s.CreatedBy = &v
8513	return s
8514}
8515
8516// SetCreationTime sets the CreationTime field's value.
8517func (s *Delegation) SetCreationTime(v time.Time) *Delegation {
8518	s.CreationTime = &v
8519	return s
8520}
8521
8522// SetId sets the Id field's value.
8523func (s *Delegation) SetId(v string) *Delegation {
8524	s.Id = &v
8525	return s
8526}
8527
8528// SetLastUpdated sets the LastUpdated field's value.
8529func (s *Delegation) SetLastUpdated(v time.Time) *Delegation {
8530	s.LastUpdated = &v
8531	return s
8532}
8533
8534// SetRoleArn sets the RoleArn field's value.
8535func (s *Delegation) SetRoleArn(v string) *Delegation {
8536	s.RoleArn = &v
8537	return s
8538}
8539
8540// SetRoleType sets the RoleType field's value.
8541func (s *Delegation) SetRoleType(v string) *Delegation {
8542	s.RoleType = &v
8543	return s
8544}
8545
8546// SetStatus sets the Status field's value.
8547func (s *Delegation) SetStatus(v string) *Delegation {
8548	s.Status = &v
8549	return s
8550}
8551
8552// The metadata associated with the specified delegation.
8553type DelegationMetadata struct {
8554	_ struct{} `type:"structure"`
8555
8556	// The unique identifier for the specified assessment.
8557	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
8558
8559	// The name of the associated assessment.
8560	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
8561
8562	// Specifies the name of the control set delegated for review.
8563	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
8564
8565	// Specifies when the delegation was created.
8566	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
8567
8568	// The unique identifier for the delegation.
8569	Id *string `locationName:"id" min:"36" type:"string"`
8570
8571	// The Amazon Resource Name (ARN) of the IAM role.
8572	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8573
8574	// The current status of the delgation.
8575	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
8576}
8577
8578// String returns the string representation
8579func (s DelegationMetadata) String() string {
8580	return awsutil.Prettify(s)
8581}
8582
8583// GoString returns the string representation
8584func (s DelegationMetadata) GoString() string {
8585	return s.String()
8586}
8587
8588// SetAssessmentId sets the AssessmentId field's value.
8589func (s *DelegationMetadata) SetAssessmentId(v string) *DelegationMetadata {
8590	s.AssessmentId = &v
8591	return s
8592}
8593
8594// SetAssessmentName sets the AssessmentName field's value.
8595func (s *DelegationMetadata) SetAssessmentName(v string) *DelegationMetadata {
8596	s.AssessmentName = &v
8597	return s
8598}
8599
8600// SetControlSetName sets the ControlSetName field's value.
8601func (s *DelegationMetadata) SetControlSetName(v string) *DelegationMetadata {
8602	s.ControlSetName = &v
8603	return s
8604}
8605
8606// SetCreationTime sets the CreationTime field's value.
8607func (s *DelegationMetadata) SetCreationTime(v time.Time) *DelegationMetadata {
8608	s.CreationTime = &v
8609	return s
8610}
8611
8612// SetId sets the Id field's value.
8613func (s *DelegationMetadata) SetId(v string) *DelegationMetadata {
8614	s.Id = &v
8615	return s
8616}
8617
8618// SetRoleArn sets the RoleArn field's value.
8619func (s *DelegationMetadata) SetRoleArn(v string) *DelegationMetadata {
8620	s.RoleArn = &v
8621	return s
8622}
8623
8624// SetStatus sets the Status field's value.
8625func (s *DelegationMetadata) SetStatus(v string) *DelegationMetadata {
8626	s.Status = &v
8627	return s
8628}
8629
8630type DeleteAssessmentFrameworkInput struct {
8631	_ struct{} `type:"structure"`
8632
8633	// The identifier for the specified framework.
8634	//
8635	// FrameworkId is a required field
8636	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
8637}
8638
8639// String returns the string representation
8640func (s DeleteAssessmentFrameworkInput) String() string {
8641	return awsutil.Prettify(s)
8642}
8643
8644// GoString returns the string representation
8645func (s DeleteAssessmentFrameworkInput) GoString() string {
8646	return s.String()
8647}
8648
8649// Validate inspects the fields of the type to determine if they are valid.
8650func (s *DeleteAssessmentFrameworkInput) Validate() error {
8651	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentFrameworkInput"}
8652	if s.FrameworkId == nil {
8653		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
8654	}
8655	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
8656		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
8657	}
8658
8659	if invalidParams.Len() > 0 {
8660		return invalidParams
8661	}
8662	return nil
8663}
8664
8665// SetFrameworkId sets the FrameworkId field's value.
8666func (s *DeleteAssessmentFrameworkInput) SetFrameworkId(v string) *DeleteAssessmentFrameworkInput {
8667	s.FrameworkId = &v
8668	return s
8669}
8670
8671type DeleteAssessmentFrameworkOutput struct {
8672	_ struct{} `type:"structure"`
8673}
8674
8675// String returns the string representation
8676func (s DeleteAssessmentFrameworkOutput) String() string {
8677	return awsutil.Prettify(s)
8678}
8679
8680// GoString returns the string representation
8681func (s DeleteAssessmentFrameworkOutput) GoString() string {
8682	return s.String()
8683}
8684
8685type DeleteAssessmentInput struct {
8686	_ struct{} `type:"structure"`
8687
8688	// The identifier for the specified assessment.
8689	//
8690	// AssessmentId is a required field
8691	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8692}
8693
8694// String returns the string representation
8695func (s DeleteAssessmentInput) String() string {
8696	return awsutil.Prettify(s)
8697}
8698
8699// GoString returns the string representation
8700func (s DeleteAssessmentInput) GoString() string {
8701	return s.String()
8702}
8703
8704// Validate inspects the fields of the type to determine if they are valid.
8705func (s *DeleteAssessmentInput) Validate() error {
8706	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentInput"}
8707	if s.AssessmentId == nil {
8708		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8709	}
8710	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8711		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8712	}
8713
8714	if invalidParams.Len() > 0 {
8715		return invalidParams
8716	}
8717	return nil
8718}
8719
8720// SetAssessmentId sets the AssessmentId field's value.
8721func (s *DeleteAssessmentInput) SetAssessmentId(v string) *DeleteAssessmentInput {
8722	s.AssessmentId = &v
8723	return s
8724}
8725
8726type DeleteAssessmentOutput struct {
8727	_ struct{} `type:"structure"`
8728}
8729
8730// String returns the string representation
8731func (s DeleteAssessmentOutput) String() string {
8732	return awsutil.Prettify(s)
8733}
8734
8735// GoString returns the string representation
8736func (s DeleteAssessmentOutput) GoString() string {
8737	return s.String()
8738}
8739
8740type DeleteAssessmentReportInput struct {
8741	_ struct{} `type:"structure"`
8742
8743	// The identifier for the specified assessment.
8744	//
8745	// AssessmentId is a required field
8746	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8747
8748	// The unique identifier for the assessment report.
8749	//
8750	// AssessmentReportId is a required field
8751	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
8752}
8753
8754// String returns the string representation
8755func (s DeleteAssessmentReportInput) String() string {
8756	return awsutil.Prettify(s)
8757}
8758
8759// GoString returns the string representation
8760func (s DeleteAssessmentReportInput) GoString() string {
8761	return s.String()
8762}
8763
8764// Validate inspects the fields of the type to determine if they are valid.
8765func (s *DeleteAssessmentReportInput) Validate() error {
8766	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentReportInput"}
8767	if s.AssessmentId == nil {
8768		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8769	}
8770	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8771		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8772	}
8773	if s.AssessmentReportId == nil {
8774		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
8775	}
8776	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
8777		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
8778	}
8779
8780	if invalidParams.Len() > 0 {
8781		return invalidParams
8782	}
8783	return nil
8784}
8785
8786// SetAssessmentId sets the AssessmentId field's value.
8787func (s *DeleteAssessmentReportInput) SetAssessmentId(v string) *DeleteAssessmentReportInput {
8788	s.AssessmentId = &v
8789	return s
8790}
8791
8792// SetAssessmentReportId sets the AssessmentReportId field's value.
8793func (s *DeleteAssessmentReportInput) SetAssessmentReportId(v string) *DeleteAssessmentReportInput {
8794	s.AssessmentReportId = &v
8795	return s
8796}
8797
8798type DeleteAssessmentReportOutput struct {
8799	_ struct{} `type:"structure"`
8800}
8801
8802// String returns the string representation
8803func (s DeleteAssessmentReportOutput) String() string {
8804	return awsutil.Prettify(s)
8805}
8806
8807// GoString returns the string representation
8808func (s DeleteAssessmentReportOutput) GoString() string {
8809	return s.String()
8810}
8811
8812type DeleteControlInput struct {
8813	_ struct{} `type:"structure"`
8814
8815	// The identifier for the specified control.
8816	//
8817	// ControlId is a required field
8818	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
8819}
8820
8821// String returns the string representation
8822func (s DeleteControlInput) String() string {
8823	return awsutil.Prettify(s)
8824}
8825
8826// GoString returns the string representation
8827func (s DeleteControlInput) GoString() string {
8828	return s.String()
8829}
8830
8831// Validate inspects the fields of the type to determine if they are valid.
8832func (s *DeleteControlInput) Validate() error {
8833	invalidParams := request.ErrInvalidParams{Context: "DeleteControlInput"}
8834	if s.ControlId == nil {
8835		invalidParams.Add(request.NewErrParamRequired("ControlId"))
8836	}
8837	if s.ControlId != nil && len(*s.ControlId) < 36 {
8838		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
8839	}
8840
8841	if invalidParams.Len() > 0 {
8842		return invalidParams
8843	}
8844	return nil
8845}
8846
8847// SetControlId sets the ControlId field's value.
8848func (s *DeleteControlInput) SetControlId(v string) *DeleteControlInput {
8849	s.ControlId = &v
8850	return s
8851}
8852
8853type DeleteControlOutput struct {
8854	_ struct{} `type:"structure"`
8855}
8856
8857// String returns the string representation
8858func (s DeleteControlOutput) String() string {
8859	return awsutil.Prettify(s)
8860}
8861
8862// GoString returns the string representation
8863func (s DeleteControlOutput) GoString() string {
8864	return s.String()
8865}
8866
8867type DeregisterAccountInput struct {
8868	_ struct{} `type:"structure"`
8869}
8870
8871// String returns the string representation
8872func (s DeregisterAccountInput) String() string {
8873	return awsutil.Prettify(s)
8874}
8875
8876// GoString returns the string representation
8877func (s DeregisterAccountInput) GoString() string {
8878	return s.String()
8879}
8880
8881type DeregisterAccountOutput struct {
8882	_ struct{} `type:"structure"`
8883
8884	// The registration status of the account.
8885	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
8886}
8887
8888// String returns the string representation
8889func (s DeregisterAccountOutput) String() string {
8890	return awsutil.Prettify(s)
8891}
8892
8893// GoString returns the string representation
8894func (s DeregisterAccountOutput) GoString() string {
8895	return s.String()
8896}
8897
8898// SetStatus sets the Status field's value.
8899func (s *DeregisterAccountOutput) SetStatus(v string) *DeregisterAccountOutput {
8900	s.Status = &v
8901	return s
8902}
8903
8904type DeregisterOrganizationAdminAccountInput struct {
8905	_ struct{} `type:"structure"`
8906
8907	// The identifier for the specified administrator account.
8908	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
8909}
8910
8911// String returns the string representation
8912func (s DeregisterOrganizationAdminAccountInput) String() string {
8913	return awsutil.Prettify(s)
8914}
8915
8916// GoString returns the string representation
8917func (s DeregisterOrganizationAdminAccountInput) GoString() string {
8918	return s.String()
8919}
8920
8921// Validate inspects the fields of the type to determine if they are valid.
8922func (s *DeregisterOrganizationAdminAccountInput) Validate() error {
8923	invalidParams := request.ErrInvalidParams{Context: "DeregisterOrganizationAdminAccountInput"}
8924	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
8925		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
8926	}
8927
8928	if invalidParams.Len() > 0 {
8929		return invalidParams
8930	}
8931	return nil
8932}
8933
8934// SetAdminAccountId sets the AdminAccountId field's value.
8935func (s *DeregisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *DeregisterOrganizationAdminAccountInput {
8936	s.AdminAccountId = &v
8937	return s
8938}
8939
8940type DeregisterOrganizationAdminAccountOutput struct {
8941	_ struct{} `type:"structure"`
8942}
8943
8944// String returns the string representation
8945func (s DeregisterOrganizationAdminAccountOutput) String() string {
8946	return awsutil.Prettify(s)
8947}
8948
8949// GoString returns the string representation
8950func (s DeregisterOrganizationAdminAccountOutput) GoString() string {
8951	return s.String()
8952}
8953
8954type DisassociateAssessmentReportEvidenceFolderInput struct {
8955	_ struct{} `type:"structure"`
8956
8957	// The identifier for the specified assessment.
8958	//
8959	// AssessmentId is a required field
8960	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8961
8962	// The identifier for the folder in which evidence is stored.
8963	//
8964	// EvidenceFolderId is a required field
8965	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
8966}
8967
8968// String returns the string representation
8969func (s DisassociateAssessmentReportEvidenceFolderInput) String() string {
8970	return awsutil.Prettify(s)
8971}
8972
8973// GoString returns the string representation
8974func (s DisassociateAssessmentReportEvidenceFolderInput) GoString() string {
8975	return s.String()
8976}
8977
8978// Validate inspects the fields of the type to determine if they are valid.
8979func (s *DisassociateAssessmentReportEvidenceFolderInput) Validate() error {
8980	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssessmentReportEvidenceFolderInput"}
8981	if s.AssessmentId == nil {
8982		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8983	}
8984	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8985		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8986	}
8987	if s.EvidenceFolderId == nil {
8988		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
8989	}
8990	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
8991		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
8992	}
8993
8994	if invalidParams.Len() > 0 {
8995		return invalidParams
8996	}
8997	return nil
8998}
8999
9000// SetAssessmentId sets the AssessmentId field's value.
9001func (s *DisassociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
9002	s.AssessmentId = &v
9003	return s
9004}
9005
9006// SetEvidenceFolderId sets the EvidenceFolderId field's value.
9007func (s *DisassociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
9008	s.EvidenceFolderId = &v
9009	return s
9010}
9011
9012type DisassociateAssessmentReportEvidenceFolderOutput struct {
9013	_ struct{} `type:"structure"`
9014}
9015
9016// String returns the string representation
9017func (s DisassociateAssessmentReportEvidenceFolderOutput) String() string {
9018	return awsutil.Prettify(s)
9019}
9020
9021// GoString returns the string representation
9022func (s DisassociateAssessmentReportEvidenceFolderOutput) GoString() string {
9023	return s.String()
9024}
9025
9026// A record that contains the information needed to demonstrate compliance with
9027// the requirements specified by a control. Examples of evidence include change
9028// activity triggered by a user, or a system configuration snapshot.
9029type Evidence struct {
9030	_ struct{} `type:"structure"`
9031
9032	// Specifies whether the evidence is included in the assessment report.
9033	AssessmentReportSelection *string `locationName:"assessmentReportSelection" type:"string"`
9034
9035	// The names and values used by the evidence event, including an attribute name
9036	// (such as allowUsersToChangePassword) and value (such as true or false).
9037	Attributes map[string]*string `locationName:"attributes" type:"map"`
9038
9039	// The identifier for the specified account.
9040	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
9041
9042	// The account from which the evidence is collected, and its organization path.
9043	AwsOrganization *string `locationName:"awsOrganization" type:"string"`
9044
9045	// The evaluation status for evidence that falls under the compliance check
9046	// category. For evidence collected from Security Hub, a Pass or Fail result
9047	// is shown. For evidence collected from Config, a Compliant or Noncompliant
9048	// result is shown.
9049	ComplianceCheck *string `locationName:"complianceCheck" type:"string"`
9050
9051	// The data source from which the specified evidence was collected.
9052	DataSource *string `locationName:"dataSource" type:"string"`
9053
9054	// The name of the specified evidence event.
9055	EventName *string `locationName:"eventName" type:"string"`
9056
9057	// The Amazon Web Service from which the evidence is collected.
9058	EventSource *string `locationName:"eventSource" min:"1" type:"string"`
9059
9060	// The identifier for the specified account.
9061	EvidenceAwsAccountId *string `locationName:"evidenceAwsAccountId" min:"12" type:"string"`
9062
9063	// The type of automated evidence.
9064	EvidenceByType *string `locationName:"evidenceByType" type:"string"`
9065
9066	// The identifier for the folder in which the evidence is stored.
9067	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string"`
9068
9069	// The unique identifier for the IAM user or role associated with the evidence.
9070	IamId *string `locationName:"iamId" min:"20" type:"string"`
9071
9072	// The identifier for the evidence.
9073	Id *string `locationName:"id" min:"36" type:"string"`
9074
9075	// The list of resources assessed to generate the evidence.
9076	ResourcesIncluded []*Resource `locationName:"resourcesIncluded" type:"list"`
9077
9078	// The timestamp that represents when the evidence was collected.
9079	Time *time.Time `locationName:"time" type:"timestamp"`
9080}
9081
9082// String returns the string representation
9083func (s Evidence) String() string {
9084	return awsutil.Prettify(s)
9085}
9086
9087// GoString returns the string representation
9088func (s Evidence) GoString() string {
9089	return s.String()
9090}
9091
9092// SetAssessmentReportSelection sets the AssessmentReportSelection field's value.
9093func (s *Evidence) SetAssessmentReportSelection(v string) *Evidence {
9094	s.AssessmentReportSelection = &v
9095	return s
9096}
9097
9098// SetAttributes sets the Attributes field's value.
9099func (s *Evidence) SetAttributes(v map[string]*string) *Evidence {
9100	s.Attributes = v
9101	return s
9102}
9103
9104// SetAwsAccountId sets the AwsAccountId field's value.
9105func (s *Evidence) SetAwsAccountId(v string) *Evidence {
9106	s.AwsAccountId = &v
9107	return s
9108}
9109
9110// SetAwsOrganization sets the AwsOrganization field's value.
9111func (s *Evidence) SetAwsOrganization(v string) *Evidence {
9112	s.AwsOrganization = &v
9113	return s
9114}
9115
9116// SetComplianceCheck sets the ComplianceCheck field's value.
9117func (s *Evidence) SetComplianceCheck(v string) *Evidence {
9118	s.ComplianceCheck = &v
9119	return s
9120}
9121
9122// SetDataSource sets the DataSource field's value.
9123func (s *Evidence) SetDataSource(v string) *Evidence {
9124	s.DataSource = &v
9125	return s
9126}
9127
9128// SetEventName sets the EventName field's value.
9129func (s *Evidence) SetEventName(v string) *Evidence {
9130	s.EventName = &v
9131	return s
9132}
9133
9134// SetEventSource sets the EventSource field's value.
9135func (s *Evidence) SetEventSource(v string) *Evidence {
9136	s.EventSource = &v
9137	return s
9138}
9139
9140// SetEvidenceAwsAccountId sets the EvidenceAwsAccountId field's value.
9141func (s *Evidence) SetEvidenceAwsAccountId(v string) *Evidence {
9142	s.EvidenceAwsAccountId = &v
9143	return s
9144}
9145
9146// SetEvidenceByType sets the EvidenceByType field's value.
9147func (s *Evidence) SetEvidenceByType(v string) *Evidence {
9148	s.EvidenceByType = &v
9149	return s
9150}
9151
9152// SetEvidenceFolderId sets the EvidenceFolderId field's value.
9153func (s *Evidence) SetEvidenceFolderId(v string) *Evidence {
9154	s.EvidenceFolderId = &v
9155	return s
9156}
9157
9158// SetIamId sets the IamId field's value.
9159func (s *Evidence) SetIamId(v string) *Evidence {
9160	s.IamId = &v
9161	return s
9162}
9163
9164// SetId sets the Id field's value.
9165func (s *Evidence) SetId(v string) *Evidence {
9166	s.Id = &v
9167	return s
9168}
9169
9170// SetResourcesIncluded sets the ResourcesIncluded field's value.
9171func (s *Evidence) SetResourcesIncluded(v []*Resource) *Evidence {
9172	s.ResourcesIncluded = v
9173	return s
9174}
9175
9176// SetTime sets the Time field's value.
9177func (s *Evidence) SetTime(v time.Time) *Evidence {
9178	s.Time = &v
9179	return s
9180}
9181
9182// The file used to structure and automate Audit Manager assessments for a given
9183// compliance standard.
9184type Framework struct {
9185	_ struct{} `type:"structure"`
9186
9187	// The Amazon Resource Name (ARN) of the specified framework.
9188	Arn *string `locationName:"arn" min:"20" type:"string"`
9189
9190	// The compliance type that the new custom framework supports, such as CIS or
9191	// HIPAA.
9192	ComplianceType *string `locationName:"complianceType" type:"string"`
9193
9194	// The control sets associated with the framework.
9195	ControlSets []*ControlSet `locationName:"controlSets" min:"1" type:"list"`
9196
9197	// The sources from which Audit Manager collects evidence for the control.
9198	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
9199
9200	// Specifies when the framework was created.
9201	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9202
9203	// The IAM user or role that created the framework.
9204	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
9205
9206	// The description of the specified framework.
9207	Description *string `locationName:"description" min:"1" type:"string"`
9208
9209	// The unique identifier for the specified framework.
9210	Id *string `locationName:"id" min:"36" type:"string"`
9211
9212	// Specifies when the framework was most recently updated.
9213	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9214
9215	// The IAM user or role that most recently updated the framework.
9216	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
9217
9218	// The logo associated with the framework.
9219	Logo *string `locationName:"logo" min:"1" type:"string"`
9220
9221	// The name of the specified framework.
9222	Name *string `locationName:"name" min:"1" type:"string"`
9223
9224	// The tags associated with the framework.
9225	Tags map[string]*string `locationName:"tags" type:"map"`
9226
9227	// The framework type, such as custom or standard.
9228	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
9229}
9230
9231// String returns the string representation
9232func (s Framework) String() string {
9233	return awsutil.Prettify(s)
9234}
9235
9236// GoString returns the string representation
9237func (s Framework) GoString() string {
9238	return s.String()
9239}
9240
9241// SetArn sets the Arn field's value.
9242func (s *Framework) SetArn(v string) *Framework {
9243	s.Arn = &v
9244	return s
9245}
9246
9247// SetComplianceType sets the ComplianceType field's value.
9248func (s *Framework) SetComplianceType(v string) *Framework {
9249	s.ComplianceType = &v
9250	return s
9251}
9252
9253// SetControlSets sets the ControlSets field's value.
9254func (s *Framework) SetControlSets(v []*ControlSet) *Framework {
9255	s.ControlSets = v
9256	return s
9257}
9258
9259// SetControlSources sets the ControlSources field's value.
9260func (s *Framework) SetControlSources(v string) *Framework {
9261	s.ControlSources = &v
9262	return s
9263}
9264
9265// SetCreatedAt sets the CreatedAt field's value.
9266func (s *Framework) SetCreatedAt(v time.Time) *Framework {
9267	s.CreatedAt = &v
9268	return s
9269}
9270
9271// SetCreatedBy sets the CreatedBy field's value.
9272func (s *Framework) SetCreatedBy(v string) *Framework {
9273	s.CreatedBy = &v
9274	return s
9275}
9276
9277// SetDescription sets the Description field's value.
9278func (s *Framework) SetDescription(v string) *Framework {
9279	s.Description = &v
9280	return s
9281}
9282
9283// SetId sets the Id field's value.
9284func (s *Framework) SetId(v string) *Framework {
9285	s.Id = &v
9286	return s
9287}
9288
9289// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9290func (s *Framework) SetLastUpdatedAt(v time.Time) *Framework {
9291	s.LastUpdatedAt = &v
9292	return s
9293}
9294
9295// SetLastUpdatedBy sets the LastUpdatedBy field's value.
9296func (s *Framework) SetLastUpdatedBy(v string) *Framework {
9297	s.LastUpdatedBy = &v
9298	return s
9299}
9300
9301// SetLogo sets the Logo field's value.
9302func (s *Framework) SetLogo(v string) *Framework {
9303	s.Logo = &v
9304	return s
9305}
9306
9307// SetName sets the Name field's value.
9308func (s *Framework) SetName(v string) *Framework {
9309	s.Name = &v
9310	return s
9311}
9312
9313// SetTags sets the Tags field's value.
9314func (s *Framework) SetTags(v map[string]*string) *Framework {
9315	s.Tags = v
9316	return s
9317}
9318
9319// SetType sets the Type field's value.
9320func (s *Framework) SetType(v string) *Framework {
9321	s.Type = &v
9322	return s
9323}
9324
9325// The metadata of a framework, such as the name, ID, description, and so on.
9326type FrameworkMetadata struct {
9327	_ struct{} `type:"structure"`
9328
9329	// The compliance standard associated with the framework, such as PCI-DSS or
9330	// HIPAA.
9331	ComplianceType *string `locationName:"complianceType" type:"string"`
9332
9333	// The description of the framework.
9334	Description *string `locationName:"description" min:"1" type:"string"`
9335
9336	// The logo associated with the framework.
9337	Logo *string `locationName:"logo" min:"1" type:"string"`
9338
9339	// The name of the framework.
9340	Name *string `locationName:"name" min:"1" type:"string"`
9341}
9342
9343// String returns the string representation
9344func (s FrameworkMetadata) String() string {
9345	return awsutil.Prettify(s)
9346}
9347
9348// GoString returns the string representation
9349func (s FrameworkMetadata) GoString() string {
9350	return s.String()
9351}
9352
9353// SetComplianceType sets the ComplianceType field's value.
9354func (s *FrameworkMetadata) SetComplianceType(v string) *FrameworkMetadata {
9355	s.ComplianceType = &v
9356	return s
9357}
9358
9359// SetDescription sets the Description field's value.
9360func (s *FrameworkMetadata) SetDescription(v string) *FrameworkMetadata {
9361	s.Description = &v
9362	return s
9363}
9364
9365// SetLogo sets the Logo field's value.
9366func (s *FrameworkMetadata) SetLogo(v string) *FrameworkMetadata {
9367	s.Logo = &v
9368	return s
9369}
9370
9371// SetName sets the Name field's value.
9372func (s *FrameworkMetadata) SetName(v string) *FrameworkMetadata {
9373	s.Name = &v
9374	return s
9375}
9376
9377type GetAccountStatusInput struct {
9378	_ struct{} `type:"structure"`
9379}
9380
9381// String returns the string representation
9382func (s GetAccountStatusInput) String() string {
9383	return awsutil.Prettify(s)
9384}
9385
9386// GoString returns the string representation
9387func (s GetAccountStatusInput) GoString() string {
9388	return s.String()
9389}
9390
9391type GetAccountStatusOutput struct {
9392	_ struct{} `type:"structure"`
9393
9394	// The status of the specified account.
9395	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
9396}
9397
9398// String returns the string representation
9399func (s GetAccountStatusOutput) String() string {
9400	return awsutil.Prettify(s)
9401}
9402
9403// GoString returns the string representation
9404func (s GetAccountStatusOutput) GoString() string {
9405	return s.String()
9406}
9407
9408// SetStatus sets the Status field's value.
9409func (s *GetAccountStatusOutput) SetStatus(v string) *GetAccountStatusOutput {
9410	s.Status = &v
9411	return s
9412}
9413
9414type GetAssessmentFrameworkInput struct {
9415	_ struct{} `type:"structure"`
9416
9417	// The identifier for the specified framework.
9418	//
9419	// FrameworkId is a required field
9420	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
9421}
9422
9423// String returns the string representation
9424func (s GetAssessmentFrameworkInput) String() string {
9425	return awsutil.Prettify(s)
9426}
9427
9428// GoString returns the string representation
9429func (s GetAssessmentFrameworkInput) GoString() string {
9430	return s.String()
9431}
9432
9433// Validate inspects the fields of the type to determine if they are valid.
9434func (s *GetAssessmentFrameworkInput) Validate() error {
9435	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentFrameworkInput"}
9436	if s.FrameworkId == nil {
9437		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
9438	}
9439	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
9440		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
9441	}
9442
9443	if invalidParams.Len() > 0 {
9444		return invalidParams
9445	}
9446	return nil
9447}
9448
9449// SetFrameworkId sets the FrameworkId field's value.
9450func (s *GetAssessmentFrameworkInput) SetFrameworkId(v string) *GetAssessmentFrameworkInput {
9451	s.FrameworkId = &v
9452	return s
9453}
9454
9455type GetAssessmentFrameworkOutput struct {
9456	_ struct{} `type:"structure"`
9457
9458	// The framework returned by the GetAssessmentFramework API.
9459	Framework *Framework `locationName:"framework" type:"structure"`
9460}
9461
9462// String returns the string representation
9463func (s GetAssessmentFrameworkOutput) String() string {
9464	return awsutil.Prettify(s)
9465}
9466
9467// GoString returns the string representation
9468func (s GetAssessmentFrameworkOutput) GoString() string {
9469	return s.String()
9470}
9471
9472// SetFramework sets the Framework field's value.
9473func (s *GetAssessmentFrameworkOutput) SetFramework(v *Framework) *GetAssessmentFrameworkOutput {
9474	s.Framework = v
9475	return s
9476}
9477
9478type GetAssessmentInput struct {
9479	_ struct{} `type:"structure"`
9480
9481	// The identifier for the specified assessment.
9482	//
9483	// AssessmentId is a required field
9484	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9485}
9486
9487// String returns the string representation
9488func (s GetAssessmentInput) String() string {
9489	return awsutil.Prettify(s)
9490}
9491
9492// GoString returns the string representation
9493func (s GetAssessmentInput) GoString() string {
9494	return s.String()
9495}
9496
9497// Validate inspects the fields of the type to determine if they are valid.
9498func (s *GetAssessmentInput) Validate() error {
9499	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentInput"}
9500	if s.AssessmentId == nil {
9501		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9502	}
9503	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9504		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9505	}
9506
9507	if invalidParams.Len() > 0 {
9508		return invalidParams
9509	}
9510	return nil
9511}
9512
9513// SetAssessmentId sets the AssessmentId field's value.
9514func (s *GetAssessmentInput) SetAssessmentId(v string) *GetAssessmentInput {
9515	s.AssessmentId = &v
9516	return s
9517}
9518
9519type GetAssessmentOutput struct {
9520	_ struct{} `type:"structure"`
9521
9522	// An entity that defines the scope of audit evidence collected by Audit Manager.
9523	// An Audit Manager assessment is an implementation of an Audit Manager framework.
9524	Assessment *Assessment `locationName:"assessment" type:"structure"`
9525
9526	// The wrapper that contains the Audit Manager role information of the current
9527	// user, such as the role type and IAM Amazon Resource Name (ARN).
9528	UserRole *Role `locationName:"userRole" type:"structure"`
9529}
9530
9531// String returns the string representation
9532func (s GetAssessmentOutput) String() string {
9533	return awsutil.Prettify(s)
9534}
9535
9536// GoString returns the string representation
9537func (s GetAssessmentOutput) GoString() string {
9538	return s.String()
9539}
9540
9541// SetAssessment sets the Assessment field's value.
9542func (s *GetAssessmentOutput) SetAssessment(v *Assessment) *GetAssessmentOutput {
9543	s.Assessment = v
9544	return s
9545}
9546
9547// SetUserRole sets the UserRole field's value.
9548func (s *GetAssessmentOutput) SetUserRole(v *Role) *GetAssessmentOutput {
9549	s.UserRole = v
9550	return s
9551}
9552
9553type GetAssessmentReportUrlInput struct {
9554	_ struct{} `type:"structure"`
9555
9556	// The identifier for the specified assessment.
9557	//
9558	// AssessmentId is a required field
9559	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9560
9561	// The identifier for the assessment report.
9562	//
9563	// AssessmentReportId is a required field
9564	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
9565}
9566
9567// String returns the string representation
9568func (s GetAssessmentReportUrlInput) String() string {
9569	return awsutil.Prettify(s)
9570}
9571
9572// GoString returns the string representation
9573func (s GetAssessmentReportUrlInput) GoString() string {
9574	return s.String()
9575}
9576
9577// Validate inspects the fields of the type to determine if they are valid.
9578func (s *GetAssessmentReportUrlInput) Validate() error {
9579	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentReportUrlInput"}
9580	if s.AssessmentId == nil {
9581		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9582	}
9583	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9584		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9585	}
9586	if s.AssessmentReportId == nil {
9587		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
9588	}
9589	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
9590		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
9591	}
9592
9593	if invalidParams.Len() > 0 {
9594		return invalidParams
9595	}
9596	return nil
9597}
9598
9599// SetAssessmentId sets the AssessmentId field's value.
9600func (s *GetAssessmentReportUrlInput) SetAssessmentId(v string) *GetAssessmentReportUrlInput {
9601	s.AssessmentId = &v
9602	return s
9603}
9604
9605// SetAssessmentReportId sets the AssessmentReportId field's value.
9606func (s *GetAssessmentReportUrlInput) SetAssessmentReportId(v string) *GetAssessmentReportUrlInput {
9607	s.AssessmentReportId = &v
9608	return s
9609}
9610
9611type GetAssessmentReportUrlOutput struct {
9612	_ struct{} `type:"structure"`
9613
9614	// A uniform resource locator, used as a unique identifier to locate a resource
9615	// on the internet.
9616	PreSignedUrl *URL `locationName:"preSignedUrl" type:"structure"`
9617}
9618
9619// String returns the string representation
9620func (s GetAssessmentReportUrlOutput) String() string {
9621	return awsutil.Prettify(s)
9622}
9623
9624// GoString returns the string representation
9625func (s GetAssessmentReportUrlOutput) GoString() string {
9626	return s.String()
9627}
9628
9629// SetPreSignedUrl sets the PreSignedUrl field's value.
9630func (s *GetAssessmentReportUrlOutput) SetPreSignedUrl(v *URL) *GetAssessmentReportUrlOutput {
9631	s.PreSignedUrl = v
9632	return s
9633}
9634
9635type GetChangeLogsInput struct {
9636	_ struct{} `type:"structure"`
9637
9638	// The identifier for the specified assessment.
9639	//
9640	// AssessmentId is a required field
9641	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9642
9643	// The identifier for the specified control.
9644	ControlId *string `location:"querystring" locationName:"controlId" min:"36" type:"string"`
9645
9646	// The identifier for the specified control set.
9647	ControlSetId *string `location:"querystring" locationName:"controlSetId" min:"1" type:"string"`
9648
9649	// Represents the maximum number of results per page, or per API request call.
9650	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9651
9652	// The pagination token used to fetch the next set of results.
9653	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9654}
9655
9656// String returns the string representation
9657func (s GetChangeLogsInput) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation
9662func (s GetChangeLogsInput) GoString() string {
9663	return s.String()
9664}
9665
9666// Validate inspects the fields of the type to determine if they are valid.
9667func (s *GetChangeLogsInput) Validate() error {
9668	invalidParams := request.ErrInvalidParams{Context: "GetChangeLogsInput"}
9669	if s.AssessmentId == nil {
9670		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9671	}
9672	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9673		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9674	}
9675	if s.ControlId != nil && len(*s.ControlId) < 36 {
9676		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
9677	}
9678	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
9679		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
9680	}
9681	if s.MaxResults != nil && *s.MaxResults < 1 {
9682		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9683	}
9684	if s.NextToken != nil && len(*s.NextToken) < 1 {
9685		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9686	}
9687
9688	if invalidParams.Len() > 0 {
9689		return invalidParams
9690	}
9691	return nil
9692}
9693
9694// SetAssessmentId sets the AssessmentId field's value.
9695func (s *GetChangeLogsInput) SetAssessmentId(v string) *GetChangeLogsInput {
9696	s.AssessmentId = &v
9697	return s
9698}
9699
9700// SetControlId sets the ControlId field's value.
9701func (s *GetChangeLogsInput) SetControlId(v string) *GetChangeLogsInput {
9702	s.ControlId = &v
9703	return s
9704}
9705
9706// SetControlSetId sets the ControlSetId field's value.
9707func (s *GetChangeLogsInput) SetControlSetId(v string) *GetChangeLogsInput {
9708	s.ControlSetId = &v
9709	return s
9710}
9711
9712// SetMaxResults sets the MaxResults field's value.
9713func (s *GetChangeLogsInput) SetMaxResults(v int64) *GetChangeLogsInput {
9714	s.MaxResults = &v
9715	return s
9716}
9717
9718// SetNextToken sets the NextToken field's value.
9719func (s *GetChangeLogsInput) SetNextToken(v string) *GetChangeLogsInput {
9720	s.NextToken = &v
9721	return s
9722}
9723
9724type GetChangeLogsOutput struct {
9725	_ struct{} `type:"structure"`
9726
9727	// The list of user activity for the control.
9728	ChangeLogs []*ChangeLog `locationName:"changeLogs" type:"list"`
9729
9730	// The pagination token used to fetch the next set of results.
9731	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9732}
9733
9734// String returns the string representation
9735func (s GetChangeLogsOutput) String() string {
9736	return awsutil.Prettify(s)
9737}
9738
9739// GoString returns the string representation
9740func (s GetChangeLogsOutput) GoString() string {
9741	return s.String()
9742}
9743
9744// SetChangeLogs sets the ChangeLogs field's value.
9745func (s *GetChangeLogsOutput) SetChangeLogs(v []*ChangeLog) *GetChangeLogsOutput {
9746	s.ChangeLogs = v
9747	return s
9748}
9749
9750// SetNextToken sets the NextToken field's value.
9751func (s *GetChangeLogsOutput) SetNextToken(v string) *GetChangeLogsOutput {
9752	s.NextToken = &v
9753	return s
9754}
9755
9756type GetControlInput struct {
9757	_ struct{} `type:"structure"`
9758
9759	// The identifier for the specified control.
9760	//
9761	// ControlId is a required field
9762	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
9763}
9764
9765// String returns the string representation
9766func (s GetControlInput) String() string {
9767	return awsutil.Prettify(s)
9768}
9769
9770// GoString returns the string representation
9771func (s GetControlInput) GoString() string {
9772	return s.String()
9773}
9774
9775// Validate inspects the fields of the type to determine if they are valid.
9776func (s *GetControlInput) Validate() error {
9777	invalidParams := request.ErrInvalidParams{Context: "GetControlInput"}
9778	if s.ControlId == nil {
9779		invalidParams.Add(request.NewErrParamRequired("ControlId"))
9780	}
9781	if s.ControlId != nil && len(*s.ControlId) < 36 {
9782		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
9783	}
9784
9785	if invalidParams.Len() > 0 {
9786		return invalidParams
9787	}
9788	return nil
9789}
9790
9791// SetControlId sets the ControlId field's value.
9792func (s *GetControlInput) SetControlId(v string) *GetControlInput {
9793	s.ControlId = &v
9794	return s
9795}
9796
9797type GetControlOutput struct {
9798	_ struct{} `type:"structure"`
9799
9800	// The name of the control returned by the GetControl API.
9801	Control *Control `locationName:"control" type:"structure"`
9802}
9803
9804// String returns the string representation
9805func (s GetControlOutput) String() string {
9806	return awsutil.Prettify(s)
9807}
9808
9809// GoString returns the string representation
9810func (s GetControlOutput) GoString() string {
9811	return s.String()
9812}
9813
9814// SetControl sets the Control field's value.
9815func (s *GetControlOutput) SetControl(v *Control) *GetControlOutput {
9816	s.Control = v
9817	return s
9818}
9819
9820type GetDelegationsInput struct {
9821	_ struct{} `type:"structure"`
9822
9823	// Represents the maximum number of results per page, or per API request call.
9824	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9825
9826	// The pagination token used to fetch the next set of results.
9827	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9828}
9829
9830// String returns the string representation
9831func (s GetDelegationsInput) String() string {
9832	return awsutil.Prettify(s)
9833}
9834
9835// GoString returns the string representation
9836func (s GetDelegationsInput) GoString() string {
9837	return s.String()
9838}
9839
9840// Validate inspects the fields of the type to determine if they are valid.
9841func (s *GetDelegationsInput) Validate() error {
9842	invalidParams := request.ErrInvalidParams{Context: "GetDelegationsInput"}
9843	if s.MaxResults != nil && *s.MaxResults < 1 {
9844		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9845	}
9846	if s.NextToken != nil && len(*s.NextToken) < 1 {
9847		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9848	}
9849
9850	if invalidParams.Len() > 0 {
9851		return invalidParams
9852	}
9853	return nil
9854}
9855
9856// SetMaxResults sets the MaxResults field's value.
9857func (s *GetDelegationsInput) SetMaxResults(v int64) *GetDelegationsInput {
9858	s.MaxResults = &v
9859	return s
9860}
9861
9862// SetNextToken sets the NextToken field's value.
9863func (s *GetDelegationsInput) SetNextToken(v string) *GetDelegationsInput {
9864	s.NextToken = &v
9865	return s
9866}
9867
9868type GetDelegationsOutput struct {
9869	_ struct{} `type:"structure"`
9870
9871	// The list of delegations returned by the GetDelegations API.
9872	Delegations []*DelegationMetadata `locationName:"delegations" type:"list"`
9873
9874	// The pagination token used to fetch the next set of results.
9875	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9876}
9877
9878// String returns the string representation
9879func (s GetDelegationsOutput) String() string {
9880	return awsutil.Prettify(s)
9881}
9882
9883// GoString returns the string representation
9884func (s GetDelegationsOutput) GoString() string {
9885	return s.String()
9886}
9887
9888// SetDelegations sets the Delegations field's value.
9889func (s *GetDelegationsOutput) SetDelegations(v []*DelegationMetadata) *GetDelegationsOutput {
9890	s.Delegations = v
9891	return s
9892}
9893
9894// SetNextToken sets the NextToken field's value.
9895func (s *GetDelegationsOutput) SetNextToken(v string) *GetDelegationsOutput {
9896	s.NextToken = &v
9897	return s
9898}
9899
9900type GetEvidenceByEvidenceFolderInput struct {
9901	_ struct{} `type:"structure"`
9902
9903	// The identifier for the specified assessment.
9904	//
9905	// AssessmentId is a required field
9906	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9907
9908	// The identifier for the control set.
9909	//
9910	// ControlSetId is a required field
9911	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
9912
9913	// The unique identifier for the folder in which the evidence is stored.
9914	//
9915	// EvidenceFolderId is a required field
9916	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
9917
9918	// Represents the maximum number of results per page, or per API request call.
9919	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9920
9921	// The pagination token used to fetch the next set of results.
9922	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9923}
9924
9925// String returns the string representation
9926func (s GetEvidenceByEvidenceFolderInput) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s GetEvidenceByEvidenceFolderInput) GoString() string {
9932	return s.String()
9933}
9934
9935// Validate inspects the fields of the type to determine if they are valid.
9936func (s *GetEvidenceByEvidenceFolderInput) Validate() error {
9937	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceByEvidenceFolderInput"}
9938	if s.AssessmentId == nil {
9939		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9940	}
9941	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9942		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9943	}
9944	if s.ControlSetId == nil {
9945		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
9946	}
9947	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
9948		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
9949	}
9950	if s.EvidenceFolderId == nil {
9951		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
9952	}
9953	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
9954		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
9955	}
9956	if s.MaxResults != nil && *s.MaxResults < 1 {
9957		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9958	}
9959	if s.NextToken != nil && len(*s.NextToken) < 1 {
9960		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9961	}
9962
9963	if invalidParams.Len() > 0 {
9964		return invalidParams
9965	}
9966	return nil
9967}
9968
9969// SetAssessmentId sets the AssessmentId field's value.
9970func (s *GetEvidenceByEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceByEvidenceFolderInput {
9971	s.AssessmentId = &v
9972	return s
9973}
9974
9975// SetControlSetId sets the ControlSetId field's value.
9976func (s *GetEvidenceByEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceByEvidenceFolderInput {
9977	s.ControlSetId = &v
9978	return s
9979}
9980
9981// SetEvidenceFolderId sets the EvidenceFolderId field's value.
9982func (s *GetEvidenceByEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceByEvidenceFolderInput {
9983	s.EvidenceFolderId = &v
9984	return s
9985}
9986
9987// SetMaxResults sets the MaxResults field's value.
9988func (s *GetEvidenceByEvidenceFolderInput) SetMaxResults(v int64) *GetEvidenceByEvidenceFolderInput {
9989	s.MaxResults = &v
9990	return s
9991}
9992
9993// SetNextToken sets the NextToken field's value.
9994func (s *GetEvidenceByEvidenceFolderInput) SetNextToken(v string) *GetEvidenceByEvidenceFolderInput {
9995	s.NextToken = &v
9996	return s
9997}
9998
9999type GetEvidenceByEvidenceFolderOutput struct {
10000	_ struct{} `type:"structure"`
10001
10002	// The list of evidence returned by the GetEvidenceByEvidenceFolder API.
10003	Evidence []*Evidence `locationName:"evidence" type:"list"`
10004
10005	// The pagination token used to fetch the next set of results.
10006	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10007}
10008
10009// String returns the string representation
10010func (s GetEvidenceByEvidenceFolderOutput) String() string {
10011	return awsutil.Prettify(s)
10012}
10013
10014// GoString returns the string representation
10015func (s GetEvidenceByEvidenceFolderOutput) GoString() string {
10016	return s.String()
10017}
10018
10019// SetEvidence sets the Evidence field's value.
10020func (s *GetEvidenceByEvidenceFolderOutput) SetEvidence(v []*Evidence) *GetEvidenceByEvidenceFolderOutput {
10021	s.Evidence = v
10022	return s
10023}
10024
10025// SetNextToken sets the NextToken field's value.
10026func (s *GetEvidenceByEvidenceFolderOutput) SetNextToken(v string) *GetEvidenceByEvidenceFolderOutput {
10027	s.NextToken = &v
10028	return s
10029}
10030
10031type GetEvidenceFolderInput struct {
10032	_ struct{} `type:"structure"`
10033
10034	// The identifier for the specified assessment.
10035	//
10036	// AssessmentId is a required field
10037	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10038
10039	// The identifier for the specified control set.
10040	//
10041	// ControlSetId is a required field
10042	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
10043
10044	// The identifier for the folder in which the evidence is stored.
10045	//
10046	// EvidenceFolderId is a required field
10047	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
10048}
10049
10050// String returns the string representation
10051func (s GetEvidenceFolderInput) String() string {
10052	return awsutil.Prettify(s)
10053}
10054
10055// GoString returns the string representation
10056func (s GetEvidenceFolderInput) GoString() string {
10057	return s.String()
10058}
10059
10060// Validate inspects the fields of the type to determine if they are valid.
10061func (s *GetEvidenceFolderInput) Validate() error {
10062	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFolderInput"}
10063	if s.AssessmentId == nil {
10064		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10065	}
10066	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10067		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10068	}
10069	if s.ControlSetId == nil {
10070		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
10071	}
10072	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10073		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10074	}
10075	if s.EvidenceFolderId == nil {
10076		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
10077	}
10078	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
10079		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
10080	}
10081
10082	if invalidParams.Len() > 0 {
10083		return invalidParams
10084	}
10085	return nil
10086}
10087
10088// SetAssessmentId sets the AssessmentId field's value.
10089func (s *GetEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceFolderInput {
10090	s.AssessmentId = &v
10091	return s
10092}
10093
10094// SetControlSetId sets the ControlSetId field's value.
10095func (s *GetEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceFolderInput {
10096	s.ControlSetId = &v
10097	return s
10098}
10099
10100// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10101func (s *GetEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceFolderInput {
10102	s.EvidenceFolderId = &v
10103	return s
10104}
10105
10106type GetEvidenceFolderOutput struct {
10107	_ struct{} `type:"structure"`
10108
10109	// The folder in which evidence is stored.
10110	EvidenceFolder *AssessmentEvidenceFolder `locationName:"evidenceFolder" type:"structure"`
10111}
10112
10113// String returns the string representation
10114func (s GetEvidenceFolderOutput) String() string {
10115	return awsutil.Prettify(s)
10116}
10117
10118// GoString returns the string representation
10119func (s GetEvidenceFolderOutput) GoString() string {
10120	return s.String()
10121}
10122
10123// SetEvidenceFolder sets the EvidenceFolder field's value.
10124func (s *GetEvidenceFolderOutput) SetEvidenceFolder(v *AssessmentEvidenceFolder) *GetEvidenceFolderOutput {
10125	s.EvidenceFolder = v
10126	return s
10127}
10128
10129type GetEvidenceFoldersByAssessmentControlInput struct {
10130	_ struct{} `type:"structure"`
10131
10132	// The identifier for the specified assessment.
10133	//
10134	// AssessmentId is a required field
10135	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10136
10137	// The identifier for the specified control.
10138	//
10139	// ControlId is a required field
10140	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
10141
10142	// The identifier for the specified control set.
10143	//
10144	// ControlSetId is a required field
10145	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
10146
10147	// Represents the maximum number of results per page, or per API request call.
10148	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10149
10150	// The pagination token used to fetch the next set of results.
10151	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10152}
10153
10154// String returns the string representation
10155func (s GetEvidenceFoldersByAssessmentControlInput) String() string {
10156	return awsutil.Prettify(s)
10157}
10158
10159// GoString returns the string representation
10160func (s GetEvidenceFoldersByAssessmentControlInput) GoString() string {
10161	return s.String()
10162}
10163
10164// Validate inspects the fields of the type to determine if they are valid.
10165func (s *GetEvidenceFoldersByAssessmentControlInput) Validate() error {
10166	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentControlInput"}
10167	if s.AssessmentId == nil {
10168		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10169	}
10170	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10171		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10172	}
10173	if s.ControlId == nil {
10174		invalidParams.Add(request.NewErrParamRequired("ControlId"))
10175	}
10176	if s.ControlId != nil && len(*s.ControlId) < 36 {
10177		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
10178	}
10179	if s.ControlSetId == nil {
10180		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
10181	}
10182	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10183		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10184	}
10185	if s.MaxResults != nil && *s.MaxResults < 1 {
10186		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10187	}
10188	if s.NextToken != nil && len(*s.NextToken) < 1 {
10189		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10190	}
10191
10192	if invalidParams.Len() > 0 {
10193		return invalidParams
10194	}
10195	return nil
10196}
10197
10198// SetAssessmentId sets the AssessmentId field's value.
10199func (s *GetEvidenceFoldersByAssessmentControlInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10200	s.AssessmentId = &v
10201	return s
10202}
10203
10204// SetControlId sets the ControlId field's value.
10205func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10206	s.ControlId = &v
10207	return s
10208}
10209
10210// SetControlSetId sets the ControlSetId field's value.
10211func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlSetId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10212	s.ControlSetId = &v
10213	return s
10214}
10215
10216// SetMaxResults sets the MaxResults field's value.
10217func (s *GetEvidenceFoldersByAssessmentControlInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentControlInput {
10218	s.MaxResults = &v
10219	return s
10220}
10221
10222// SetNextToken sets the NextToken field's value.
10223func (s *GetEvidenceFoldersByAssessmentControlInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlInput {
10224	s.NextToken = &v
10225	return s
10226}
10227
10228type GetEvidenceFoldersByAssessmentControlOutput struct {
10229	_ struct{} `type:"structure"`
10230
10231	// The list of evidence folders returned by the GetEvidenceFoldersByAssessmentControl
10232	// API.
10233	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
10234
10235	// The pagination token used to fetch the next set of results.
10236	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10237}
10238
10239// String returns the string representation
10240func (s GetEvidenceFoldersByAssessmentControlOutput) String() string {
10241	return awsutil.Prettify(s)
10242}
10243
10244// GoString returns the string representation
10245func (s GetEvidenceFoldersByAssessmentControlOutput) GoString() string {
10246	return s.String()
10247}
10248
10249// SetEvidenceFolders sets the EvidenceFolders field's value.
10250func (s *GetEvidenceFoldersByAssessmentControlOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentControlOutput {
10251	s.EvidenceFolders = v
10252	return s
10253}
10254
10255// SetNextToken sets the NextToken field's value.
10256func (s *GetEvidenceFoldersByAssessmentControlOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlOutput {
10257	s.NextToken = &v
10258	return s
10259}
10260
10261type GetEvidenceFoldersByAssessmentInput struct {
10262	_ struct{} `type:"structure"`
10263
10264	// The identifier for the specified assessment.
10265	//
10266	// AssessmentId is a required field
10267	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10268
10269	// Represents the maximum number of results per page, or per API request call.
10270	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10271
10272	// The pagination token used to fetch the next set of results.
10273	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10274}
10275
10276// String returns the string representation
10277func (s GetEvidenceFoldersByAssessmentInput) String() string {
10278	return awsutil.Prettify(s)
10279}
10280
10281// GoString returns the string representation
10282func (s GetEvidenceFoldersByAssessmentInput) GoString() string {
10283	return s.String()
10284}
10285
10286// Validate inspects the fields of the type to determine if they are valid.
10287func (s *GetEvidenceFoldersByAssessmentInput) Validate() error {
10288	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentInput"}
10289	if s.AssessmentId == nil {
10290		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10291	}
10292	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10293		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10294	}
10295	if s.MaxResults != nil && *s.MaxResults < 1 {
10296		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10297	}
10298	if s.NextToken != nil && len(*s.NextToken) < 1 {
10299		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10300	}
10301
10302	if invalidParams.Len() > 0 {
10303		return invalidParams
10304	}
10305	return nil
10306}
10307
10308// SetAssessmentId sets the AssessmentId field's value.
10309func (s *GetEvidenceFoldersByAssessmentInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentInput {
10310	s.AssessmentId = &v
10311	return s
10312}
10313
10314// SetMaxResults sets the MaxResults field's value.
10315func (s *GetEvidenceFoldersByAssessmentInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentInput {
10316	s.MaxResults = &v
10317	return s
10318}
10319
10320// SetNextToken sets the NextToken field's value.
10321func (s *GetEvidenceFoldersByAssessmentInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentInput {
10322	s.NextToken = &v
10323	return s
10324}
10325
10326type GetEvidenceFoldersByAssessmentOutput struct {
10327	_ struct{} `type:"structure"`
10328
10329	// The list of evidence folders returned by the GetEvidenceFoldersByAssessment
10330	// API.
10331	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
10332
10333	// The pagination token used to fetch the next set of results.
10334	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10335}
10336
10337// String returns the string representation
10338func (s GetEvidenceFoldersByAssessmentOutput) String() string {
10339	return awsutil.Prettify(s)
10340}
10341
10342// GoString returns the string representation
10343func (s GetEvidenceFoldersByAssessmentOutput) GoString() string {
10344	return s.String()
10345}
10346
10347// SetEvidenceFolders sets the EvidenceFolders field's value.
10348func (s *GetEvidenceFoldersByAssessmentOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentOutput {
10349	s.EvidenceFolders = v
10350	return s
10351}
10352
10353// SetNextToken sets the NextToken field's value.
10354func (s *GetEvidenceFoldersByAssessmentOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentOutput {
10355	s.NextToken = &v
10356	return s
10357}
10358
10359type GetEvidenceInput struct {
10360	_ struct{} `type:"structure"`
10361
10362	// The identifier for the specified assessment.
10363	//
10364	// AssessmentId is a required field
10365	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10366
10367	// The identifier for the specified control set.
10368	//
10369	// ControlSetId is a required field
10370	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
10371
10372	// The identifier for the folder in which the evidence is stored.
10373	//
10374	// EvidenceFolderId is a required field
10375	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
10376
10377	// The identifier for the evidence.
10378	//
10379	// EvidenceId is a required field
10380	EvidenceId *string `location:"uri" locationName:"evidenceId" min:"36" type:"string" required:"true"`
10381}
10382
10383// String returns the string representation
10384func (s GetEvidenceInput) String() string {
10385	return awsutil.Prettify(s)
10386}
10387
10388// GoString returns the string representation
10389func (s GetEvidenceInput) GoString() string {
10390	return s.String()
10391}
10392
10393// Validate inspects the fields of the type to determine if they are valid.
10394func (s *GetEvidenceInput) Validate() error {
10395	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceInput"}
10396	if s.AssessmentId == nil {
10397		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10398	}
10399	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10400		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10401	}
10402	if s.ControlSetId == nil {
10403		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
10404	}
10405	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10406		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10407	}
10408	if s.EvidenceFolderId == nil {
10409		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
10410	}
10411	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
10412		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
10413	}
10414	if s.EvidenceId == nil {
10415		invalidParams.Add(request.NewErrParamRequired("EvidenceId"))
10416	}
10417	if s.EvidenceId != nil && len(*s.EvidenceId) < 36 {
10418		invalidParams.Add(request.NewErrParamMinLen("EvidenceId", 36))
10419	}
10420
10421	if invalidParams.Len() > 0 {
10422		return invalidParams
10423	}
10424	return nil
10425}
10426
10427// SetAssessmentId sets the AssessmentId field's value.
10428func (s *GetEvidenceInput) SetAssessmentId(v string) *GetEvidenceInput {
10429	s.AssessmentId = &v
10430	return s
10431}
10432
10433// SetControlSetId sets the ControlSetId field's value.
10434func (s *GetEvidenceInput) SetControlSetId(v string) *GetEvidenceInput {
10435	s.ControlSetId = &v
10436	return s
10437}
10438
10439// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10440func (s *GetEvidenceInput) SetEvidenceFolderId(v string) *GetEvidenceInput {
10441	s.EvidenceFolderId = &v
10442	return s
10443}
10444
10445// SetEvidenceId sets the EvidenceId field's value.
10446func (s *GetEvidenceInput) SetEvidenceId(v string) *GetEvidenceInput {
10447	s.EvidenceId = &v
10448	return s
10449}
10450
10451type GetEvidenceOutput struct {
10452	_ struct{} `type:"structure"`
10453
10454	// The evidence returned by the GetEvidenceResponse API.
10455	Evidence *Evidence `locationName:"evidence" type:"structure"`
10456}
10457
10458// String returns the string representation
10459func (s GetEvidenceOutput) String() string {
10460	return awsutil.Prettify(s)
10461}
10462
10463// GoString returns the string representation
10464func (s GetEvidenceOutput) GoString() string {
10465	return s.String()
10466}
10467
10468// SetEvidence sets the Evidence field's value.
10469func (s *GetEvidenceOutput) SetEvidence(v *Evidence) *GetEvidenceOutput {
10470	s.Evidence = v
10471	return s
10472}
10473
10474type GetOrganizationAdminAccountInput struct {
10475	_ struct{} `type:"structure"`
10476}
10477
10478// String returns the string representation
10479func (s GetOrganizationAdminAccountInput) String() string {
10480	return awsutil.Prettify(s)
10481}
10482
10483// GoString returns the string representation
10484func (s GetOrganizationAdminAccountInput) GoString() string {
10485	return s.String()
10486}
10487
10488type GetOrganizationAdminAccountOutput struct {
10489	_ struct{} `type:"structure"`
10490
10491	// The identifier for the specified administrator account.
10492	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
10493
10494	// The identifier for the specified organization.
10495	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
10496}
10497
10498// String returns the string representation
10499func (s GetOrganizationAdminAccountOutput) String() string {
10500	return awsutil.Prettify(s)
10501}
10502
10503// GoString returns the string representation
10504func (s GetOrganizationAdminAccountOutput) GoString() string {
10505	return s.String()
10506}
10507
10508// SetAdminAccountId sets the AdminAccountId field's value.
10509func (s *GetOrganizationAdminAccountOutput) SetAdminAccountId(v string) *GetOrganizationAdminAccountOutput {
10510	s.AdminAccountId = &v
10511	return s
10512}
10513
10514// SetOrganizationId sets the OrganizationId field's value.
10515func (s *GetOrganizationAdminAccountOutput) SetOrganizationId(v string) *GetOrganizationAdminAccountOutput {
10516	s.OrganizationId = &v
10517	return s
10518}
10519
10520type GetServicesInScopeInput struct {
10521	_ struct{} `type:"structure"`
10522}
10523
10524// String returns the string representation
10525func (s GetServicesInScopeInput) String() string {
10526	return awsutil.Prettify(s)
10527}
10528
10529// GoString returns the string representation
10530func (s GetServicesInScopeInput) GoString() string {
10531	return s.String()
10532}
10533
10534type GetServicesInScopeOutput struct {
10535	_ struct{} `type:"structure"`
10536
10537	// The metadata associated with the Amazon Web Service.
10538	ServiceMetadata []*ServiceMetadata `locationName:"serviceMetadata" type:"list"`
10539}
10540
10541// String returns the string representation
10542func (s GetServicesInScopeOutput) String() string {
10543	return awsutil.Prettify(s)
10544}
10545
10546// GoString returns the string representation
10547func (s GetServicesInScopeOutput) GoString() string {
10548	return s.String()
10549}
10550
10551// SetServiceMetadata sets the ServiceMetadata field's value.
10552func (s *GetServicesInScopeOutput) SetServiceMetadata(v []*ServiceMetadata) *GetServicesInScopeOutput {
10553	s.ServiceMetadata = v
10554	return s
10555}
10556
10557type GetSettingsInput struct {
10558	_ struct{} `type:"structure"`
10559
10560	// The list of SettingAttribute enum values.
10561	//
10562	// Attribute is a required field
10563	Attribute *string `location:"uri" locationName:"attribute" type:"string" required:"true" enum:"SettingAttribute"`
10564}
10565
10566// String returns the string representation
10567func (s GetSettingsInput) String() string {
10568	return awsutil.Prettify(s)
10569}
10570
10571// GoString returns the string representation
10572func (s GetSettingsInput) GoString() string {
10573	return s.String()
10574}
10575
10576// Validate inspects the fields of the type to determine if they are valid.
10577func (s *GetSettingsInput) Validate() error {
10578	invalidParams := request.ErrInvalidParams{Context: "GetSettingsInput"}
10579	if s.Attribute == nil {
10580		invalidParams.Add(request.NewErrParamRequired("Attribute"))
10581	}
10582	if s.Attribute != nil && len(*s.Attribute) < 1 {
10583		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
10584	}
10585
10586	if invalidParams.Len() > 0 {
10587		return invalidParams
10588	}
10589	return nil
10590}
10591
10592// SetAttribute sets the Attribute field's value.
10593func (s *GetSettingsInput) SetAttribute(v string) *GetSettingsInput {
10594	s.Attribute = &v
10595	return s
10596}
10597
10598type GetSettingsOutput struct {
10599	_ struct{} `type:"structure"`
10600
10601	// The settings object that holds all supported Audit Manager settings.
10602	Settings *Settings `locationName:"settings" type:"structure"`
10603}
10604
10605// String returns the string representation
10606func (s GetSettingsOutput) String() string {
10607	return awsutil.Prettify(s)
10608}
10609
10610// GoString returns the string representation
10611func (s GetSettingsOutput) GoString() string {
10612	return s.String()
10613}
10614
10615// SetSettings sets the Settings field's value.
10616func (s *GetSettingsOutput) SetSettings(v *Settings) *GetSettingsOutput {
10617	s.Settings = v
10618	return s
10619}
10620
10621// An internal service error occurred during the processing of your request.
10622// Try again later.
10623type InternalServerException struct {
10624	_            struct{}                  `type:"structure"`
10625	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10626
10627	Message_ *string `locationName:"message" type:"string"`
10628}
10629
10630// String returns the string representation
10631func (s InternalServerException) String() string {
10632	return awsutil.Prettify(s)
10633}
10634
10635// GoString returns the string representation
10636func (s InternalServerException) GoString() string {
10637	return s.String()
10638}
10639
10640func newErrorInternalServerException(v protocol.ResponseMetadata) error {
10641	return &InternalServerException{
10642		RespMetadata: v,
10643	}
10644}
10645
10646// Code returns the exception type name.
10647func (s *InternalServerException) Code() string {
10648	return "InternalServerException"
10649}
10650
10651// Message returns the exception's message.
10652func (s *InternalServerException) Message() string {
10653	if s.Message_ != nil {
10654		return *s.Message_
10655	}
10656	return ""
10657}
10658
10659// OrigErr always returns nil, satisfies awserr.Error interface.
10660func (s *InternalServerException) OrigErr() error {
10661	return nil
10662}
10663
10664func (s *InternalServerException) Error() string {
10665	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10666}
10667
10668// Status code returns the HTTP status code for the request's response error.
10669func (s *InternalServerException) StatusCode() int {
10670	return s.RespMetadata.StatusCode
10671}
10672
10673// RequestID returns the service's response RequestID for request.
10674func (s *InternalServerException) RequestID() string {
10675	return s.RespMetadata.RequestID
10676}
10677
10678type ListAssessmentFrameworksInput struct {
10679	_ struct{} `type:"structure"`
10680
10681	// The type of framework, such as standard or custom.
10682	//
10683	// FrameworkType is a required field
10684	FrameworkType *string `location:"querystring" locationName:"frameworkType" type:"string" required:"true" enum:"FrameworkType"`
10685
10686	// Represents the maximum number of results per page, or per API request call.
10687	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10688
10689	// The pagination token used to fetch the next set of results.
10690	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10691}
10692
10693// String returns the string representation
10694func (s ListAssessmentFrameworksInput) String() string {
10695	return awsutil.Prettify(s)
10696}
10697
10698// GoString returns the string representation
10699func (s ListAssessmentFrameworksInput) GoString() string {
10700	return s.String()
10701}
10702
10703// Validate inspects the fields of the type to determine if they are valid.
10704func (s *ListAssessmentFrameworksInput) Validate() error {
10705	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentFrameworksInput"}
10706	if s.FrameworkType == nil {
10707		invalidParams.Add(request.NewErrParamRequired("FrameworkType"))
10708	}
10709	if s.MaxResults != nil && *s.MaxResults < 1 {
10710		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10711	}
10712	if s.NextToken != nil && len(*s.NextToken) < 1 {
10713		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10714	}
10715
10716	if invalidParams.Len() > 0 {
10717		return invalidParams
10718	}
10719	return nil
10720}
10721
10722// SetFrameworkType sets the FrameworkType field's value.
10723func (s *ListAssessmentFrameworksInput) SetFrameworkType(v string) *ListAssessmentFrameworksInput {
10724	s.FrameworkType = &v
10725	return s
10726}
10727
10728// SetMaxResults sets the MaxResults field's value.
10729func (s *ListAssessmentFrameworksInput) SetMaxResults(v int64) *ListAssessmentFrameworksInput {
10730	s.MaxResults = &v
10731	return s
10732}
10733
10734// SetNextToken sets the NextToken field's value.
10735func (s *ListAssessmentFrameworksInput) SetNextToken(v string) *ListAssessmentFrameworksInput {
10736	s.NextToken = &v
10737	return s
10738}
10739
10740type ListAssessmentFrameworksOutput struct {
10741	_ struct{} `type:"structure"`
10742
10743	// The list of metadata objects for the specified framework.
10744	FrameworkMetadataList []*AssessmentFrameworkMetadata `locationName:"frameworkMetadataList" type:"list"`
10745
10746	// The pagination token used to fetch the next set of results.
10747	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10748}
10749
10750// String returns the string representation
10751func (s ListAssessmentFrameworksOutput) String() string {
10752	return awsutil.Prettify(s)
10753}
10754
10755// GoString returns the string representation
10756func (s ListAssessmentFrameworksOutput) GoString() string {
10757	return s.String()
10758}
10759
10760// SetFrameworkMetadataList sets the FrameworkMetadataList field's value.
10761func (s *ListAssessmentFrameworksOutput) SetFrameworkMetadataList(v []*AssessmentFrameworkMetadata) *ListAssessmentFrameworksOutput {
10762	s.FrameworkMetadataList = v
10763	return s
10764}
10765
10766// SetNextToken sets the NextToken field's value.
10767func (s *ListAssessmentFrameworksOutput) SetNextToken(v string) *ListAssessmentFrameworksOutput {
10768	s.NextToken = &v
10769	return s
10770}
10771
10772type ListAssessmentReportsInput struct {
10773	_ struct{} `type:"structure"`
10774
10775	// Represents the maximum number of results per page, or per API request call.
10776	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10777
10778	// The pagination token used to fetch the next set of results.
10779	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10780}
10781
10782// String returns the string representation
10783func (s ListAssessmentReportsInput) String() string {
10784	return awsutil.Prettify(s)
10785}
10786
10787// GoString returns the string representation
10788func (s ListAssessmentReportsInput) GoString() string {
10789	return s.String()
10790}
10791
10792// Validate inspects the fields of the type to determine if they are valid.
10793func (s *ListAssessmentReportsInput) Validate() error {
10794	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentReportsInput"}
10795	if s.MaxResults != nil && *s.MaxResults < 1 {
10796		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10797	}
10798	if s.NextToken != nil && len(*s.NextToken) < 1 {
10799		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10800	}
10801
10802	if invalidParams.Len() > 0 {
10803		return invalidParams
10804	}
10805	return nil
10806}
10807
10808// SetMaxResults sets the MaxResults field's value.
10809func (s *ListAssessmentReportsInput) SetMaxResults(v int64) *ListAssessmentReportsInput {
10810	s.MaxResults = &v
10811	return s
10812}
10813
10814// SetNextToken sets the NextToken field's value.
10815func (s *ListAssessmentReportsInput) SetNextToken(v string) *ListAssessmentReportsInput {
10816	s.NextToken = &v
10817	return s
10818}
10819
10820type ListAssessmentReportsOutput struct {
10821	_ struct{} `type:"structure"`
10822
10823	// The list of assessment reports returned by the ListAssessmentReports API.
10824	AssessmentReports []*AssessmentReportMetadata `locationName:"assessmentReports" type:"list"`
10825
10826	// The pagination token used to fetch the next set of results.
10827	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10828}
10829
10830// String returns the string representation
10831func (s ListAssessmentReportsOutput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s ListAssessmentReportsOutput) GoString() string {
10837	return s.String()
10838}
10839
10840// SetAssessmentReports sets the AssessmentReports field's value.
10841func (s *ListAssessmentReportsOutput) SetAssessmentReports(v []*AssessmentReportMetadata) *ListAssessmentReportsOutput {
10842	s.AssessmentReports = v
10843	return s
10844}
10845
10846// SetNextToken sets the NextToken field's value.
10847func (s *ListAssessmentReportsOutput) SetNextToken(v string) *ListAssessmentReportsOutput {
10848	s.NextToken = &v
10849	return s
10850}
10851
10852type ListAssessmentsInput struct {
10853	_ struct{} `type:"structure"`
10854
10855	// Represents the maximum number of results per page, or per API request call.
10856	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10857
10858	// The pagination token used to fetch the next set of results.
10859	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10860}
10861
10862// String returns the string representation
10863func (s ListAssessmentsInput) String() string {
10864	return awsutil.Prettify(s)
10865}
10866
10867// GoString returns the string representation
10868func (s ListAssessmentsInput) GoString() string {
10869	return s.String()
10870}
10871
10872// Validate inspects the fields of the type to determine if they are valid.
10873func (s *ListAssessmentsInput) Validate() error {
10874	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentsInput"}
10875	if s.MaxResults != nil && *s.MaxResults < 1 {
10876		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10877	}
10878	if s.NextToken != nil && len(*s.NextToken) < 1 {
10879		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10880	}
10881
10882	if invalidParams.Len() > 0 {
10883		return invalidParams
10884	}
10885	return nil
10886}
10887
10888// SetMaxResults sets the MaxResults field's value.
10889func (s *ListAssessmentsInput) SetMaxResults(v int64) *ListAssessmentsInput {
10890	s.MaxResults = &v
10891	return s
10892}
10893
10894// SetNextToken sets the NextToken field's value.
10895func (s *ListAssessmentsInput) SetNextToken(v string) *ListAssessmentsInput {
10896	s.NextToken = &v
10897	return s
10898}
10899
10900type ListAssessmentsOutput struct {
10901	_ struct{} `type:"structure"`
10902
10903	// The metadata associated with the assessment.
10904	AssessmentMetadata []*AssessmentMetadataItem `locationName:"assessmentMetadata" type:"list"`
10905
10906	// The pagination token used to fetch the next set of results.
10907	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10908}
10909
10910// String returns the string representation
10911func (s ListAssessmentsOutput) String() string {
10912	return awsutil.Prettify(s)
10913}
10914
10915// GoString returns the string representation
10916func (s ListAssessmentsOutput) GoString() string {
10917	return s.String()
10918}
10919
10920// SetAssessmentMetadata sets the AssessmentMetadata field's value.
10921func (s *ListAssessmentsOutput) SetAssessmentMetadata(v []*AssessmentMetadataItem) *ListAssessmentsOutput {
10922	s.AssessmentMetadata = v
10923	return s
10924}
10925
10926// SetNextToken sets the NextToken field's value.
10927func (s *ListAssessmentsOutput) SetNextToken(v string) *ListAssessmentsOutput {
10928	s.NextToken = &v
10929	return s
10930}
10931
10932type ListControlsInput struct {
10933	_ struct{} `type:"structure"`
10934
10935	// The type of control, such as standard or custom.
10936	//
10937	// ControlType is a required field
10938	ControlType *string `location:"querystring" locationName:"controlType" type:"string" required:"true" enum:"ControlType"`
10939
10940	// Represents the maximum number of results per page, or per API request call.
10941	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10942
10943	// The pagination token used to fetch the next set of results.
10944	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10945}
10946
10947// String returns the string representation
10948func (s ListControlsInput) String() string {
10949	return awsutil.Prettify(s)
10950}
10951
10952// GoString returns the string representation
10953func (s ListControlsInput) GoString() string {
10954	return s.String()
10955}
10956
10957// Validate inspects the fields of the type to determine if they are valid.
10958func (s *ListControlsInput) Validate() error {
10959	invalidParams := request.ErrInvalidParams{Context: "ListControlsInput"}
10960	if s.ControlType == nil {
10961		invalidParams.Add(request.NewErrParamRequired("ControlType"))
10962	}
10963	if s.MaxResults != nil && *s.MaxResults < 1 {
10964		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10965	}
10966	if s.NextToken != nil && len(*s.NextToken) < 1 {
10967		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10968	}
10969
10970	if invalidParams.Len() > 0 {
10971		return invalidParams
10972	}
10973	return nil
10974}
10975
10976// SetControlType sets the ControlType field's value.
10977func (s *ListControlsInput) SetControlType(v string) *ListControlsInput {
10978	s.ControlType = &v
10979	return s
10980}
10981
10982// SetMaxResults sets the MaxResults field's value.
10983func (s *ListControlsInput) SetMaxResults(v int64) *ListControlsInput {
10984	s.MaxResults = &v
10985	return s
10986}
10987
10988// SetNextToken sets the NextToken field's value.
10989func (s *ListControlsInput) SetNextToken(v string) *ListControlsInput {
10990	s.NextToken = &v
10991	return s
10992}
10993
10994type ListControlsOutput struct {
10995	_ struct{} `type:"structure"`
10996
10997	// The list of control metadata objects returned by the ListControls API.
10998	ControlMetadataList []*ControlMetadata `locationName:"controlMetadataList" type:"list"`
10999
11000	// The pagination token used to fetch the next set of results.
11001	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11002}
11003
11004// String returns the string representation
11005func (s ListControlsOutput) String() string {
11006	return awsutil.Prettify(s)
11007}
11008
11009// GoString returns the string representation
11010func (s ListControlsOutput) GoString() string {
11011	return s.String()
11012}
11013
11014// SetControlMetadataList sets the ControlMetadataList field's value.
11015func (s *ListControlsOutput) SetControlMetadataList(v []*ControlMetadata) *ListControlsOutput {
11016	s.ControlMetadataList = v
11017	return s
11018}
11019
11020// SetNextToken sets the NextToken field's value.
11021func (s *ListControlsOutput) SetNextToken(v string) *ListControlsOutput {
11022	s.NextToken = &v
11023	return s
11024}
11025
11026type ListKeywordsForDataSourceInput struct {
11027	_ struct{} `type:"structure"`
11028
11029	// Represents the maximum number of results per page, or per API request call.
11030	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11031
11032	// The pagination token used to fetch the next set of results.
11033	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11034
11035	// The control mapping data source to which the keywords apply.
11036	//
11037	// Source is a required field
11038	Source *string `location:"querystring" locationName:"source" type:"string" required:"true" enum:"SourceType"`
11039}
11040
11041// String returns the string representation
11042func (s ListKeywordsForDataSourceInput) String() string {
11043	return awsutil.Prettify(s)
11044}
11045
11046// GoString returns the string representation
11047func (s ListKeywordsForDataSourceInput) GoString() string {
11048	return s.String()
11049}
11050
11051// Validate inspects the fields of the type to determine if they are valid.
11052func (s *ListKeywordsForDataSourceInput) Validate() error {
11053	invalidParams := request.ErrInvalidParams{Context: "ListKeywordsForDataSourceInput"}
11054	if s.MaxResults != nil && *s.MaxResults < 1 {
11055		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11056	}
11057	if s.NextToken != nil && len(*s.NextToken) < 1 {
11058		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11059	}
11060	if s.Source == nil {
11061		invalidParams.Add(request.NewErrParamRequired("Source"))
11062	}
11063
11064	if invalidParams.Len() > 0 {
11065		return invalidParams
11066	}
11067	return nil
11068}
11069
11070// SetMaxResults sets the MaxResults field's value.
11071func (s *ListKeywordsForDataSourceInput) SetMaxResults(v int64) *ListKeywordsForDataSourceInput {
11072	s.MaxResults = &v
11073	return s
11074}
11075
11076// SetNextToken sets the NextToken field's value.
11077func (s *ListKeywordsForDataSourceInput) SetNextToken(v string) *ListKeywordsForDataSourceInput {
11078	s.NextToken = &v
11079	return s
11080}
11081
11082// SetSource sets the Source field's value.
11083func (s *ListKeywordsForDataSourceInput) SetSource(v string) *ListKeywordsForDataSourceInput {
11084	s.Source = &v
11085	return s
11086}
11087
11088type ListKeywordsForDataSourceOutput struct {
11089	_ struct{} `type:"structure"`
11090
11091	// The list of keywords for the specified event mapping source.
11092	Keywords []*string `locationName:"keywords" type:"list"`
11093
11094	// The pagination token used to fetch the next set of results.
11095	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11096}
11097
11098// String returns the string representation
11099func (s ListKeywordsForDataSourceOutput) String() string {
11100	return awsutil.Prettify(s)
11101}
11102
11103// GoString returns the string representation
11104func (s ListKeywordsForDataSourceOutput) GoString() string {
11105	return s.String()
11106}
11107
11108// SetKeywords sets the Keywords field's value.
11109func (s *ListKeywordsForDataSourceOutput) SetKeywords(v []*string) *ListKeywordsForDataSourceOutput {
11110	s.Keywords = v
11111	return s
11112}
11113
11114// SetNextToken sets the NextToken field's value.
11115func (s *ListKeywordsForDataSourceOutput) SetNextToken(v string) *ListKeywordsForDataSourceOutput {
11116	s.NextToken = &v
11117	return s
11118}
11119
11120type ListNotificationsInput struct {
11121	_ struct{} `type:"structure"`
11122
11123	// Represents the maximum number of results per page, or per API request call.
11124	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11125
11126	// The pagination token used to fetch the next set of results.
11127	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11128}
11129
11130// String returns the string representation
11131func (s ListNotificationsInput) String() string {
11132	return awsutil.Prettify(s)
11133}
11134
11135// GoString returns the string representation
11136func (s ListNotificationsInput) GoString() string {
11137	return s.String()
11138}
11139
11140// Validate inspects the fields of the type to determine if they are valid.
11141func (s *ListNotificationsInput) Validate() error {
11142	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
11143	if s.MaxResults != nil && *s.MaxResults < 1 {
11144		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11145	}
11146	if s.NextToken != nil && len(*s.NextToken) < 1 {
11147		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11148	}
11149
11150	if invalidParams.Len() > 0 {
11151		return invalidParams
11152	}
11153	return nil
11154}
11155
11156// SetMaxResults sets the MaxResults field's value.
11157func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
11158	s.MaxResults = &v
11159	return s
11160}
11161
11162// SetNextToken sets the NextToken field's value.
11163func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
11164	s.NextToken = &v
11165	return s
11166}
11167
11168type ListNotificationsOutput struct {
11169	_ struct{} `type:"structure"`
11170
11171	// The pagination token used to fetch the next set of results.
11172	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11173
11174	// The returned list of notifications.
11175	Notifications []*Notification `locationName:"notifications" type:"list"`
11176}
11177
11178// String returns the string representation
11179func (s ListNotificationsOutput) String() string {
11180	return awsutil.Prettify(s)
11181}
11182
11183// GoString returns the string representation
11184func (s ListNotificationsOutput) GoString() string {
11185	return s.String()
11186}
11187
11188// SetNextToken sets the NextToken field's value.
11189func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
11190	s.NextToken = &v
11191	return s
11192}
11193
11194// SetNotifications sets the Notifications field's value.
11195func (s *ListNotificationsOutput) SetNotifications(v []*Notification) *ListNotificationsOutput {
11196	s.Notifications = v
11197	return s
11198}
11199
11200type ListTagsForResourceInput struct {
11201	_ struct{} `type:"structure"`
11202
11203	// The Amazon Resource Name (ARN) of the specified resource.
11204	//
11205	// ResourceArn is a required field
11206	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
11207}
11208
11209// String returns the string representation
11210func (s ListTagsForResourceInput) String() string {
11211	return awsutil.Prettify(s)
11212}
11213
11214// GoString returns the string representation
11215func (s ListTagsForResourceInput) GoString() string {
11216	return s.String()
11217}
11218
11219// Validate inspects the fields of the type to determine if they are valid.
11220func (s *ListTagsForResourceInput) Validate() error {
11221	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11222	if s.ResourceArn == nil {
11223		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11224	}
11225	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
11226		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
11227	}
11228
11229	if invalidParams.Len() > 0 {
11230		return invalidParams
11231	}
11232	return nil
11233}
11234
11235// SetResourceArn sets the ResourceArn field's value.
11236func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
11237	s.ResourceArn = &v
11238	return s
11239}
11240
11241type ListTagsForResourceOutput struct {
11242	_ struct{} `type:"structure"`
11243
11244	// The list of tags returned by the ListTagsForResource API.
11245	Tags map[string]*string `locationName:"tags" type:"map"`
11246}
11247
11248// String returns the string representation
11249func (s ListTagsForResourceOutput) String() string {
11250	return awsutil.Prettify(s)
11251}
11252
11253// GoString returns the string representation
11254func (s ListTagsForResourceOutput) GoString() string {
11255	return s.String()
11256}
11257
11258// SetTags sets the Tags field's value.
11259func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
11260	s.Tags = v
11261	return s
11262}
11263
11264// Evidence that is uploaded to Audit Manager manually.
11265type ManualEvidence struct {
11266	_ struct{} `type:"structure"`
11267
11268	// The Amazon S3 URL that points to a manual evidence object.
11269	S3ResourcePath *string `locationName:"s3ResourcePath" min:"1" type:"string"`
11270}
11271
11272// String returns the string representation
11273func (s ManualEvidence) String() string {
11274	return awsutil.Prettify(s)
11275}
11276
11277// GoString returns the string representation
11278func (s ManualEvidence) GoString() string {
11279	return s.String()
11280}
11281
11282// Validate inspects the fields of the type to determine if they are valid.
11283func (s *ManualEvidence) Validate() error {
11284	invalidParams := request.ErrInvalidParams{Context: "ManualEvidence"}
11285	if s.S3ResourcePath != nil && len(*s.S3ResourcePath) < 1 {
11286		invalidParams.Add(request.NewErrParamMinLen("S3ResourcePath", 1))
11287	}
11288
11289	if invalidParams.Len() > 0 {
11290		return invalidParams
11291	}
11292	return nil
11293}
11294
11295// SetS3ResourcePath sets the S3ResourcePath field's value.
11296func (s *ManualEvidence) SetS3ResourcePath(v string) *ManualEvidence {
11297	s.S3ResourcePath = &v
11298	return s
11299}
11300
11301// The notification used to inform a user of an update in Audit Manager. For
11302// example, this includes the notification that is sent when a control set is
11303// delegated for review.
11304type Notification struct {
11305	_ struct{} `type:"structure"`
11306
11307	// The identifier for the specified assessment.
11308	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
11309
11310	// The name of the related assessment.
11311	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
11312
11313	// The identifier for the specified control set.
11314	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
11315
11316	// Specifies the name of the control set that the notification is about.
11317	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
11318
11319	// The description of the notification.
11320	Description *string `locationName:"description" min:"1" type:"string"`
11321
11322	// The time when the notification was sent.
11323	EventTime *time.Time `locationName:"eventTime" type:"timestamp"`
11324
11325	// The unique identifier for the notification.
11326	Id *string `locationName:"id" min:"47" type:"string"`
11327
11328	// The sender of the notification.
11329	Source *string `locationName:"source" min:"1" type:"string"`
11330}
11331
11332// String returns the string representation
11333func (s Notification) String() string {
11334	return awsutil.Prettify(s)
11335}
11336
11337// GoString returns the string representation
11338func (s Notification) GoString() string {
11339	return s.String()
11340}
11341
11342// SetAssessmentId sets the AssessmentId field's value.
11343func (s *Notification) SetAssessmentId(v string) *Notification {
11344	s.AssessmentId = &v
11345	return s
11346}
11347
11348// SetAssessmentName sets the AssessmentName field's value.
11349func (s *Notification) SetAssessmentName(v string) *Notification {
11350	s.AssessmentName = &v
11351	return s
11352}
11353
11354// SetControlSetId sets the ControlSetId field's value.
11355func (s *Notification) SetControlSetId(v string) *Notification {
11356	s.ControlSetId = &v
11357	return s
11358}
11359
11360// SetControlSetName sets the ControlSetName field's value.
11361func (s *Notification) SetControlSetName(v string) *Notification {
11362	s.ControlSetName = &v
11363	return s
11364}
11365
11366// SetDescription sets the Description field's value.
11367func (s *Notification) SetDescription(v string) *Notification {
11368	s.Description = &v
11369	return s
11370}
11371
11372// SetEventTime sets the EventTime field's value.
11373func (s *Notification) SetEventTime(v time.Time) *Notification {
11374	s.EventTime = &v
11375	return s
11376}
11377
11378// SetId sets the Id field's value.
11379func (s *Notification) SetId(v string) *Notification {
11380	s.Id = &v
11381	return s
11382}
11383
11384// SetSource sets the Source field's value.
11385func (s *Notification) SetSource(v string) *Notification {
11386	s.Source = &v
11387	return s
11388}
11389
11390type RegisterAccountInput struct {
11391	_ struct{} `type:"structure"`
11392
11393	// The delegated administrator account for Audit Manager.
11394	DelegatedAdminAccount *string `locationName:"delegatedAdminAccount" min:"12" type:"string"`
11395
11396	// The KMS key details.
11397	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
11398}
11399
11400// String returns the string representation
11401func (s RegisterAccountInput) String() string {
11402	return awsutil.Prettify(s)
11403}
11404
11405// GoString returns the string representation
11406func (s RegisterAccountInput) GoString() string {
11407	return s.String()
11408}
11409
11410// Validate inspects the fields of the type to determine if they are valid.
11411func (s *RegisterAccountInput) Validate() error {
11412	invalidParams := request.ErrInvalidParams{Context: "RegisterAccountInput"}
11413	if s.DelegatedAdminAccount != nil && len(*s.DelegatedAdminAccount) < 12 {
11414		invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccount", 12))
11415	}
11416	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
11417		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
11418	}
11419
11420	if invalidParams.Len() > 0 {
11421		return invalidParams
11422	}
11423	return nil
11424}
11425
11426// SetDelegatedAdminAccount sets the DelegatedAdminAccount field's value.
11427func (s *RegisterAccountInput) SetDelegatedAdminAccount(v string) *RegisterAccountInput {
11428	s.DelegatedAdminAccount = &v
11429	return s
11430}
11431
11432// SetKmsKey sets the KmsKey field's value.
11433func (s *RegisterAccountInput) SetKmsKey(v string) *RegisterAccountInput {
11434	s.KmsKey = &v
11435	return s
11436}
11437
11438type RegisterAccountOutput struct {
11439	_ struct{} `type:"structure"`
11440
11441	// The status of the account registration request.
11442	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
11443}
11444
11445// String returns the string representation
11446func (s RegisterAccountOutput) String() string {
11447	return awsutil.Prettify(s)
11448}
11449
11450// GoString returns the string representation
11451func (s RegisterAccountOutput) GoString() string {
11452	return s.String()
11453}
11454
11455// SetStatus sets the Status field's value.
11456func (s *RegisterAccountOutput) SetStatus(v string) *RegisterAccountOutput {
11457	s.Status = &v
11458	return s
11459}
11460
11461type RegisterOrganizationAdminAccountInput struct {
11462	_ struct{} `type:"structure"`
11463
11464	// The identifier for the specified delegated administrator account.
11465	//
11466	// AdminAccountId is a required field
11467	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string" required:"true"`
11468}
11469
11470// String returns the string representation
11471func (s RegisterOrganizationAdminAccountInput) String() string {
11472	return awsutil.Prettify(s)
11473}
11474
11475// GoString returns the string representation
11476func (s RegisterOrganizationAdminAccountInput) GoString() string {
11477	return s.String()
11478}
11479
11480// Validate inspects the fields of the type to determine if they are valid.
11481func (s *RegisterOrganizationAdminAccountInput) Validate() error {
11482	invalidParams := request.ErrInvalidParams{Context: "RegisterOrganizationAdminAccountInput"}
11483	if s.AdminAccountId == nil {
11484		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
11485	}
11486	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
11487		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
11488	}
11489
11490	if invalidParams.Len() > 0 {
11491		return invalidParams
11492	}
11493	return nil
11494}
11495
11496// SetAdminAccountId sets the AdminAccountId field's value.
11497func (s *RegisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountInput {
11498	s.AdminAccountId = &v
11499	return s
11500}
11501
11502type RegisterOrganizationAdminAccountOutput struct {
11503	_ struct{} `type:"structure"`
11504
11505	// The identifier for the specified delegated administrator account.
11506	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
11507
11508	// The identifier for the specified organization.
11509	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
11510}
11511
11512// String returns the string representation
11513func (s RegisterOrganizationAdminAccountOutput) String() string {
11514	return awsutil.Prettify(s)
11515}
11516
11517// GoString returns the string representation
11518func (s RegisterOrganizationAdminAccountOutput) GoString() string {
11519	return s.String()
11520}
11521
11522// SetAdminAccountId sets the AdminAccountId field's value.
11523func (s *RegisterOrganizationAdminAccountOutput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountOutput {
11524	s.AdminAccountId = &v
11525	return s
11526}
11527
11528// SetOrganizationId sets the OrganizationId field's value.
11529func (s *RegisterOrganizationAdminAccountOutput) SetOrganizationId(v string) *RegisterOrganizationAdminAccountOutput {
11530	s.OrganizationId = &v
11531	return s
11532}
11533
11534// A system asset that is evaluated in an Audit Manager assessment.
11535type Resource struct {
11536	_ struct{} `type:"structure"`
11537
11538	// The Amazon Resource Name (ARN) for the specified resource.
11539	Arn *string `locationName:"arn" min:"20" type:"string"`
11540
11541	// The value of the specified resource.
11542	Value *string `locationName:"value" type:"string"`
11543}
11544
11545// String returns the string representation
11546func (s Resource) String() string {
11547	return awsutil.Prettify(s)
11548}
11549
11550// GoString returns the string representation
11551func (s Resource) GoString() string {
11552	return s.String()
11553}
11554
11555// SetArn sets the Arn field's value.
11556func (s *Resource) SetArn(v string) *Resource {
11557	s.Arn = &v
11558	return s
11559}
11560
11561// SetValue sets the Value field's value.
11562func (s *Resource) SetValue(v string) *Resource {
11563	s.Value = &v
11564	return s
11565}
11566
11567// The resource specified in the request cannot be found.
11568type ResourceNotFoundException struct {
11569	_            struct{}                  `type:"structure"`
11570	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11571
11572	Message_ *string `locationName:"message" type:"string"`
11573
11574	// The unique identifier for the specified resource.
11575	//
11576	// ResourceId is a required field
11577	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
11578
11579	// The type of resource affected by the error.
11580	//
11581	// ResourceType is a required field
11582	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
11583}
11584
11585// String returns the string representation
11586func (s ResourceNotFoundException) String() string {
11587	return awsutil.Prettify(s)
11588}
11589
11590// GoString returns the string representation
11591func (s ResourceNotFoundException) GoString() string {
11592	return s.String()
11593}
11594
11595func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11596	return &ResourceNotFoundException{
11597		RespMetadata: v,
11598	}
11599}
11600
11601// Code returns the exception type name.
11602func (s *ResourceNotFoundException) Code() string {
11603	return "ResourceNotFoundException"
11604}
11605
11606// Message returns the exception's message.
11607func (s *ResourceNotFoundException) Message() string {
11608	if s.Message_ != nil {
11609		return *s.Message_
11610	}
11611	return ""
11612}
11613
11614// OrigErr always returns nil, satisfies awserr.Error interface.
11615func (s *ResourceNotFoundException) OrigErr() error {
11616	return nil
11617}
11618
11619func (s *ResourceNotFoundException) Error() string {
11620	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11621}
11622
11623// Status code returns the HTTP status code for the request's response error.
11624func (s *ResourceNotFoundException) StatusCode() int {
11625	return s.RespMetadata.StatusCode
11626}
11627
11628// RequestID returns the service's response RequestID for request.
11629func (s *ResourceNotFoundException) RequestID() string {
11630	return s.RespMetadata.RequestID
11631}
11632
11633// The wrapper that contains the Audit Manager role information of the current
11634// user, such as the role type and IAM Amazon Resource Name (ARN).
11635type Role struct {
11636	_ struct{} `type:"structure"`
11637
11638	// The Amazon Resource Name (ARN) of the IAM role.
11639	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
11640
11641	// The type of customer persona.
11642	//
11643	// In CreateAssessment, roleType can only be PROCESS_OWNER.
11644	//
11645	// In UpdateSettings, roleType can only be PROCESS_OWNER.
11646	//
11647	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
11648	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
11649}
11650
11651// String returns the string representation
11652func (s Role) String() string {
11653	return awsutil.Prettify(s)
11654}
11655
11656// GoString returns the string representation
11657func (s Role) GoString() string {
11658	return s.String()
11659}
11660
11661// Validate inspects the fields of the type to determine if they are valid.
11662func (s *Role) Validate() error {
11663	invalidParams := request.ErrInvalidParams{Context: "Role"}
11664	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11665		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11666	}
11667
11668	if invalidParams.Len() > 0 {
11669		return invalidParams
11670	}
11671	return nil
11672}
11673
11674// SetRoleArn sets the RoleArn field's value.
11675func (s *Role) SetRoleArn(v string) *Role {
11676	s.RoleArn = &v
11677	return s
11678}
11679
11680// SetRoleType sets the RoleType field's value.
11681func (s *Role) SetRoleType(v string) *Role {
11682	s.RoleType = &v
11683	return s
11684}
11685
11686// The wrapper that contains the accounts and services in scope for the assessment.
11687type Scope struct {
11688	_ struct{} `type:"structure"`
11689
11690	// The accounts included in the scope of the assessment.
11691	AwsAccounts []*AWSAccount `locationName:"awsAccounts" type:"list"`
11692
11693	// The Amazon Web Services services included in the scope of the assessment.
11694	AwsServices []*AWSService `locationName:"awsServices" type:"list"`
11695}
11696
11697// String returns the string representation
11698func (s Scope) String() string {
11699	return awsutil.Prettify(s)
11700}
11701
11702// GoString returns the string representation
11703func (s Scope) GoString() string {
11704	return s.String()
11705}
11706
11707// Validate inspects the fields of the type to determine if they are valid.
11708func (s *Scope) Validate() error {
11709	invalidParams := request.ErrInvalidParams{Context: "Scope"}
11710	if s.AwsAccounts != nil {
11711		for i, v := range s.AwsAccounts {
11712			if v == nil {
11713				continue
11714			}
11715			if err := v.Validate(); err != nil {
11716				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsAccounts", i), err.(request.ErrInvalidParams))
11717			}
11718		}
11719	}
11720	if s.AwsServices != nil {
11721		for i, v := range s.AwsServices {
11722			if v == nil {
11723				continue
11724			}
11725			if err := v.Validate(); err != nil {
11726				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsServices", i), err.(request.ErrInvalidParams))
11727			}
11728		}
11729	}
11730
11731	if invalidParams.Len() > 0 {
11732		return invalidParams
11733	}
11734	return nil
11735}
11736
11737// SetAwsAccounts sets the AwsAccounts field's value.
11738func (s *Scope) SetAwsAccounts(v []*AWSAccount) *Scope {
11739	s.AwsAccounts = v
11740	return s
11741}
11742
11743// SetAwsServices sets the AwsServices field's value.
11744func (s *Scope) SetAwsServices(v []*AWSService) *Scope {
11745	s.AwsServices = v
11746	return s
11747}
11748
11749// The metadata associated with the specified Amazon Web Service.
11750type ServiceMetadata struct {
11751	_ struct{} `type:"structure"`
11752
11753	// The category in which the Amazon Web Service belongs, such as compute, storage,
11754	// database, and so on.
11755	Category *string `locationName:"category" min:"1" type:"string"`
11756
11757	// The description of the specified Amazon Web Service.
11758	Description *string `locationName:"description" min:"1" type:"string"`
11759
11760	// The display name of the Amazon Web Service.
11761	DisplayName *string `locationName:"displayName" min:"1" type:"string"`
11762
11763	// The name of the Amazon Web Service.
11764	Name *string `locationName:"name" min:"1" type:"string"`
11765}
11766
11767// String returns the string representation
11768func (s ServiceMetadata) String() string {
11769	return awsutil.Prettify(s)
11770}
11771
11772// GoString returns the string representation
11773func (s ServiceMetadata) GoString() string {
11774	return s.String()
11775}
11776
11777// SetCategory sets the Category field's value.
11778func (s *ServiceMetadata) SetCategory(v string) *ServiceMetadata {
11779	s.Category = &v
11780	return s
11781}
11782
11783// SetDescription sets the Description field's value.
11784func (s *ServiceMetadata) SetDescription(v string) *ServiceMetadata {
11785	s.Description = &v
11786	return s
11787}
11788
11789// SetDisplayName sets the DisplayName field's value.
11790func (s *ServiceMetadata) SetDisplayName(v string) *ServiceMetadata {
11791	s.DisplayName = &v
11792	return s
11793}
11794
11795// SetName sets the Name field's value.
11796func (s *ServiceMetadata) SetName(v string) *ServiceMetadata {
11797	s.Name = &v
11798	return s
11799}
11800
11801// The settings object that holds all supported Audit Manager settings.
11802type Settings struct {
11803	_ struct{} `type:"structure"`
11804
11805	// The default storage destination for assessment reports.
11806	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
11807
11808	// The designated default audit owners.
11809	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
11810
11811	// Specifies whether Organizations is enabled.
11812	IsAwsOrgEnabled *bool `locationName:"isAwsOrgEnabled" type:"boolean"`
11813
11814	// The KMS key details.
11815	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
11816
11817	// The designated Amazon Simple Notification Service (Amazon SNS) topic.
11818	SnsTopic *string `locationName:"snsTopic" min:"1" type:"string"`
11819}
11820
11821// String returns the string representation
11822func (s Settings) String() string {
11823	return awsutil.Prettify(s)
11824}
11825
11826// GoString returns the string representation
11827func (s Settings) GoString() string {
11828	return s.String()
11829}
11830
11831// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
11832func (s *Settings) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *Settings {
11833	s.DefaultAssessmentReportsDestination = v
11834	return s
11835}
11836
11837// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
11838func (s *Settings) SetDefaultProcessOwners(v []*Role) *Settings {
11839	s.DefaultProcessOwners = v
11840	return s
11841}
11842
11843// SetIsAwsOrgEnabled sets the IsAwsOrgEnabled field's value.
11844func (s *Settings) SetIsAwsOrgEnabled(v bool) *Settings {
11845	s.IsAwsOrgEnabled = &v
11846	return s
11847}
11848
11849// SetKmsKey sets the KmsKey field's value.
11850func (s *Settings) SetKmsKey(v string) *Settings {
11851	s.KmsKey = &v
11852	return s
11853}
11854
11855// SetSnsTopic sets the SnsTopic field's value.
11856func (s *Settings) SetSnsTopic(v string) *Settings {
11857	s.SnsTopic = &v
11858	return s
11859}
11860
11861// The keyword to search for in CloudTrail logs, Config rules, Security Hub
11862// checks, and Amazon Web Services API names.
11863type SourceKeyword struct {
11864	_ struct{} `type:"structure"`
11865
11866	// The method of input for the specified keyword.
11867	KeywordInputType *string `locationName:"keywordInputType" type:"string" enum:"KeywordInputType"`
11868
11869	// The value of the keyword used to search CloudTrail logs, Config rules, Security
11870	// Hub checks, and Amazon Web Services API names when mapping a control data
11871	// source.
11872	KeywordValue *string `locationName:"keywordValue" min:"1" type:"string"`
11873}
11874
11875// String returns the string representation
11876func (s SourceKeyword) String() string {
11877	return awsutil.Prettify(s)
11878}
11879
11880// GoString returns the string representation
11881func (s SourceKeyword) GoString() string {
11882	return s.String()
11883}
11884
11885// Validate inspects the fields of the type to determine if they are valid.
11886func (s *SourceKeyword) Validate() error {
11887	invalidParams := request.ErrInvalidParams{Context: "SourceKeyword"}
11888	if s.KeywordValue != nil && len(*s.KeywordValue) < 1 {
11889		invalidParams.Add(request.NewErrParamMinLen("KeywordValue", 1))
11890	}
11891
11892	if invalidParams.Len() > 0 {
11893		return invalidParams
11894	}
11895	return nil
11896}
11897
11898// SetKeywordInputType sets the KeywordInputType field's value.
11899func (s *SourceKeyword) SetKeywordInputType(v string) *SourceKeyword {
11900	s.KeywordInputType = &v
11901	return s
11902}
11903
11904// SetKeywordValue sets the KeywordValue field's value.
11905func (s *SourceKeyword) SetKeywordValue(v string) *SourceKeyword {
11906	s.KeywordValue = &v
11907	return s
11908}
11909
11910type TagResourceInput struct {
11911	_ struct{} `type:"structure"`
11912
11913	// The Amazon Resource Name (ARN) of the specified resource.
11914	//
11915	// ResourceArn is a required field
11916	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
11917
11918	// The tags to be associated with the resource.
11919	//
11920	// Tags is a required field
11921	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
11922}
11923
11924// String returns the string representation
11925func (s TagResourceInput) String() string {
11926	return awsutil.Prettify(s)
11927}
11928
11929// GoString returns the string representation
11930func (s TagResourceInput) GoString() string {
11931	return s.String()
11932}
11933
11934// Validate inspects the fields of the type to determine if they are valid.
11935func (s *TagResourceInput) Validate() error {
11936	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11937	if s.ResourceArn == nil {
11938		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11939	}
11940	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
11941		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
11942	}
11943	if s.Tags == nil {
11944		invalidParams.Add(request.NewErrParamRequired("Tags"))
11945	}
11946
11947	if invalidParams.Len() > 0 {
11948		return invalidParams
11949	}
11950	return nil
11951}
11952
11953// SetResourceArn sets the ResourceArn field's value.
11954func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
11955	s.ResourceArn = &v
11956	return s
11957}
11958
11959// SetTags sets the Tags field's value.
11960func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
11961	s.Tags = v
11962	return s
11963}
11964
11965type TagResourceOutput struct {
11966	_ struct{} `type:"structure"`
11967}
11968
11969// String returns the string representation
11970func (s TagResourceOutput) String() string {
11971	return awsutil.Prettify(s)
11972}
11973
11974// GoString returns the string representation
11975func (s TagResourceOutput) GoString() string {
11976	return s.String()
11977}
11978
11979// A uniform resource locator, used as a unique identifier to locate a resource
11980// on the internet.
11981type URL struct {
11982	_ struct{} `type:"structure"`
11983
11984	// The name or word used as a hyperlink to the URL.
11985	HyperlinkName *string `locationName:"hyperlinkName" min:"1" type:"string"`
11986
11987	// The unique identifier for the internet resource.
11988	Link *string `locationName:"link" min:"1" type:"string"`
11989}
11990
11991// String returns the string representation
11992func (s URL) String() string {
11993	return awsutil.Prettify(s)
11994}
11995
11996// GoString returns the string representation
11997func (s URL) GoString() string {
11998	return s.String()
11999}
12000
12001// SetHyperlinkName sets the HyperlinkName field's value.
12002func (s *URL) SetHyperlinkName(v string) *URL {
12003	s.HyperlinkName = &v
12004	return s
12005}
12006
12007// SetLink sets the Link field's value.
12008func (s *URL) SetLink(v string) *URL {
12009	s.Link = &v
12010	return s
12011}
12012
12013type UntagResourceInput struct {
12014	_ struct{} `type:"structure"`
12015
12016	// The Amazon Resource Name (ARN) of the specified resource.
12017	//
12018	// ResourceArn is a required field
12019	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
12020
12021	// The name or key of the tag.
12022	//
12023	// TagKeys is a required field
12024	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
12025}
12026
12027// String returns the string representation
12028func (s UntagResourceInput) String() string {
12029	return awsutil.Prettify(s)
12030}
12031
12032// GoString returns the string representation
12033func (s UntagResourceInput) GoString() string {
12034	return s.String()
12035}
12036
12037// Validate inspects the fields of the type to determine if they are valid.
12038func (s *UntagResourceInput) Validate() error {
12039	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12040	if s.ResourceArn == nil {
12041		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12042	}
12043	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
12044		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
12045	}
12046	if s.TagKeys == nil {
12047		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12048	}
12049	if s.TagKeys != nil && len(s.TagKeys) < 1 {
12050		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
12051	}
12052
12053	if invalidParams.Len() > 0 {
12054		return invalidParams
12055	}
12056	return nil
12057}
12058
12059// SetResourceArn sets the ResourceArn field's value.
12060func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
12061	s.ResourceArn = &v
12062	return s
12063}
12064
12065// SetTagKeys sets the TagKeys field's value.
12066func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12067	s.TagKeys = v
12068	return s
12069}
12070
12071type UntagResourceOutput struct {
12072	_ struct{} `type:"structure"`
12073}
12074
12075// String returns the string representation
12076func (s UntagResourceOutput) String() string {
12077	return awsutil.Prettify(s)
12078}
12079
12080// GoString returns the string representation
12081func (s UntagResourceOutput) GoString() string {
12082	return s.String()
12083}
12084
12085type UpdateAssessmentControlInput struct {
12086	_ struct{} `type:"structure"`
12087
12088	// The identifier for the specified assessment.
12089	//
12090	// AssessmentId is a required field
12091	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12092
12093	// The comment body text for the specified control.
12094	CommentBody *string `locationName:"commentBody" type:"string"`
12095
12096	// The identifier for the specified control.
12097	//
12098	// ControlId is a required field
12099	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
12100
12101	// The identifier for the specified control set.
12102	//
12103	// ControlSetId is a required field
12104	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
12105
12106	// The status of the specified control.
12107	ControlStatus *string `locationName:"controlStatus" type:"string" enum:"ControlStatus"`
12108}
12109
12110// String returns the string representation
12111func (s UpdateAssessmentControlInput) String() string {
12112	return awsutil.Prettify(s)
12113}
12114
12115// GoString returns the string representation
12116func (s UpdateAssessmentControlInput) GoString() string {
12117	return s.String()
12118}
12119
12120// Validate inspects the fields of the type to determine if they are valid.
12121func (s *UpdateAssessmentControlInput) Validate() error {
12122	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlInput"}
12123	if s.AssessmentId == nil {
12124		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12125	}
12126	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12127		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12128	}
12129	if s.ControlId == nil {
12130		invalidParams.Add(request.NewErrParamRequired("ControlId"))
12131	}
12132	if s.ControlId != nil && len(*s.ControlId) < 36 {
12133		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
12134	}
12135	if s.ControlSetId == nil {
12136		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
12137	}
12138	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
12139		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
12140	}
12141
12142	if invalidParams.Len() > 0 {
12143		return invalidParams
12144	}
12145	return nil
12146}
12147
12148// SetAssessmentId sets the AssessmentId field's value.
12149func (s *UpdateAssessmentControlInput) SetAssessmentId(v string) *UpdateAssessmentControlInput {
12150	s.AssessmentId = &v
12151	return s
12152}
12153
12154// SetCommentBody sets the CommentBody field's value.
12155func (s *UpdateAssessmentControlInput) SetCommentBody(v string) *UpdateAssessmentControlInput {
12156	s.CommentBody = &v
12157	return s
12158}
12159
12160// SetControlId sets the ControlId field's value.
12161func (s *UpdateAssessmentControlInput) SetControlId(v string) *UpdateAssessmentControlInput {
12162	s.ControlId = &v
12163	return s
12164}
12165
12166// SetControlSetId sets the ControlSetId field's value.
12167func (s *UpdateAssessmentControlInput) SetControlSetId(v string) *UpdateAssessmentControlInput {
12168	s.ControlSetId = &v
12169	return s
12170}
12171
12172// SetControlStatus sets the ControlStatus field's value.
12173func (s *UpdateAssessmentControlInput) SetControlStatus(v string) *UpdateAssessmentControlInput {
12174	s.ControlStatus = &v
12175	return s
12176}
12177
12178type UpdateAssessmentControlOutput struct {
12179	_ struct{} `type:"structure"`
12180
12181	// The name of the updated control set returned by the UpdateAssessmentControl
12182	// API.
12183	Control *AssessmentControl `locationName:"control" type:"structure"`
12184}
12185
12186// String returns the string representation
12187func (s UpdateAssessmentControlOutput) String() string {
12188	return awsutil.Prettify(s)
12189}
12190
12191// GoString returns the string representation
12192func (s UpdateAssessmentControlOutput) GoString() string {
12193	return s.String()
12194}
12195
12196// SetControl sets the Control field's value.
12197func (s *UpdateAssessmentControlOutput) SetControl(v *AssessmentControl) *UpdateAssessmentControlOutput {
12198	s.Control = v
12199	return s
12200}
12201
12202type UpdateAssessmentControlSetStatusInput struct {
12203	_ struct{} `type:"structure"`
12204
12205	// The identifier for the specified assessment.
12206	//
12207	// AssessmentId is a required field
12208	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12209
12210	// The comment related to the status update.
12211	//
12212	// Comment is a required field
12213	Comment *string `locationName:"comment" type:"string" required:"true"`
12214
12215	// The identifier for the specified control set.
12216	//
12217	// ControlSetId is a required field
12218	ControlSetId *string `location:"uri" locationName:"controlSetId" type:"string" required:"true"`
12219
12220	// The status of the control set that is being updated.
12221	//
12222	// Status is a required field
12223	Status *string `locationName:"status" type:"string" required:"true" enum:"ControlSetStatus"`
12224}
12225
12226// String returns the string representation
12227func (s UpdateAssessmentControlSetStatusInput) String() string {
12228	return awsutil.Prettify(s)
12229}
12230
12231// GoString returns the string representation
12232func (s UpdateAssessmentControlSetStatusInput) GoString() string {
12233	return s.String()
12234}
12235
12236// Validate inspects the fields of the type to determine if they are valid.
12237func (s *UpdateAssessmentControlSetStatusInput) Validate() error {
12238	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlSetStatusInput"}
12239	if s.AssessmentId == nil {
12240		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12241	}
12242	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12243		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12244	}
12245	if s.Comment == nil {
12246		invalidParams.Add(request.NewErrParamRequired("Comment"))
12247	}
12248	if s.ControlSetId == nil {
12249		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
12250	}
12251	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
12252		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
12253	}
12254	if s.Status == nil {
12255		invalidParams.Add(request.NewErrParamRequired("Status"))
12256	}
12257
12258	if invalidParams.Len() > 0 {
12259		return invalidParams
12260	}
12261	return nil
12262}
12263
12264// SetAssessmentId sets the AssessmentId field's value.
12265func (s *UpdateAssessmentControlSetStatusInput) SetAssessmentId(v string) *UpdateAssessmentControlSetStatusInput {
12266	s.AssessmentId = &v
12267	return s
12268}
12269
12270// SetComment sets the Comment field's value.
12271func (s *UpdateAssessmentControlSetStatusInput) SetComment(v string) *UpdateAssessmentControlSetStatusInput {
12272	s.Comment = &v
12273	return s
12274}
12275
12276// SetControlSetId sets the ControlSetId field's value.
12277func (s *UpdateAssessmentControlSetStatusInput) SetControlSetId(v string) *UpdateAssessmentControlSetStatusInput {
12278	s.ControlSetId = &v
12279	return s
12280}
12281
12282// SetStatus sets the Status field's value.
12283func (s *UpdateAssessmentControlSetStatusInput) SetStatus(v string) *UpdateAssessmentControlSetStatusInput {
12284	s.Status = &v
12285	return s
12286}
12287
12288type UpdateAssessmentControlSetStatusOutput struct {
12289	_ struct{} `type:"structure"`
12290
12291	// The name of the updated control set returned by the UpdateAssessmentControlSetStatus
12292	// API.
12293	ControlSet *AssessmentControlSet `locationName:"controlSet" type:"structure"`
12294}
12295
12296// String returns the string representation
12297func (s UpdateAssessmentControlSetStatusOutput) String() string {
12298	return awsutil.Prettify(s)
12299}
12300
12301// GoString returns the string representation
12302func (s UpdateAssessmentControlSetStatusOutput) GoString() string {
12303	return s.String()
12304}
12305
12306// SetControlSet sets the ControlSet field's value.
12307func (s *UpdateAssessmentControlSetStatusOutput) SetControlSet(v *AssessmentControlSet) *UpdateAssessmentControlSetStatusOutput {
12308	s.ControlSet = v
12309	return s
12310}
12311
12312// A controlSet entity that represents a collection of controls in Audit Manager.
12313// This does not contain the control set ID.
12314type UpdateAssessmentFrameworkControlSet struct {
12315	_ struct{} `type:"structure"`
12316
12317	// The list of controls contained within the control set.
12318	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
12319
12320	// The unique identifier for the control set.
12321	Id *string `locationName:"id" min:"1" type:"string"`
12322
12323	// The name of the control set.
12324	//
12325	// Name is a required field
12326	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12327}
12328
12329// String returns the string representation
12330func (s UpdateAssessmentFrameworkControlSet) String() string {
12331	return awsutil.Prettify(s)
12332}
12333
12334// GoString returns the string representation
12335func (s UpdateAssessmentFrameworkControlSet) GoString() string {
12336	return s.String()
12337}
12338
12339// Validate inspects the fields of the type to determine if they are valid.
12340func (s *UpdateAssessmentFrameworkControlSet) Validate() error {
12341	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkControlSet"}
12342	if s.Controls != nil && len(s.Controls) < 1 {
12343		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
12344	}
12345	if s.Id != nil && len(*s.Id) < 1 {
12346		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12347	}
12348	if s.Name == nil {
12349		invalidParams.Add(request.NewErrParamRequired("Name"))
12350	}
12351	if s.Name != nil && len(*s.Name) < 1 {
12352		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12353	}
12354	if s.Controls != nil {
12355		for i, v := range s.Controls {
12356			if v == nil {
12357				continue
12358			}
12359			if err := v.Validate(); err != nil {
12360				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
12361			}
12362		}
12363	}
12364
12365	if invalidParams.Len() > 0 {
12366		return invalidParams
12367	}
12368	return nil
12369}
12370
12371// SetControls sets the Controls field's value.
12372func (s *UpdateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *UpdateAssessmentFrameworkControlSet {
12373	s.Controls = v
12374	return s
12375}
12376
12377// SetId sets the Id field's value.
12378func (s *UpdateAssessmentFrameworkControlSet) SetId(v string) *UpdateAssessmentFrameworkControlSet {
12379	s.Id = &v
12380	return s
12381}
12382
12383// SetName sets the Name field's value.
12384func (s *UpdateAssessmentFrameworkControlSet) SetName(v string) *UpdateAssessmentFrameworkControlSet {
12385	s.Name = &v
12386	return s
12387}
12388
12389type UpdateAssessmentFrameworkInput struct {
12390	_ struct{} `type:"structure"`
12391
12392	// The compliance type that the new custom framework supports, such as CIS or
12393	// HIPAA.
12394	ComplianceType *string `locationName:"complianceType" type:"string"`
12395
12396	// The control sets associated with the framework.
12397	//
12398	// ControlSets is a required field
12399	ControlSets []*UpdateAssessmentFrameworkControlSet `locationName:"controlSets" type:"list" required:"true"`
12400
12401	// The description of the framework that is to be updated.
12402	Description *string `locationName:"description" min:"1" type:"string"`
12403
12404	// The identifier for the specified framework.
12405	//
12406	// FrameworkId is a required field
12407	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
12408
12409	// The name of the framework to be updated.
12410	//
12411	// Name is a required field
12412	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12413}
12414
12415// String returns the string representation
12416func (s UpdateAssessmentFrameworkInput) String() string {
12417	return awsutil.Prettify(s)
12418}
12419
12420// GoString returns the string representation
12421func (s UpdateAssessmentFrameworkInput) GoString() string {
12422	return s.String()
12423}
12424
12425// Validate inspects the fields of the type to determine if they are valid.
12426func (s *UpdateAssessmentFrameworkInput) Validate() error {
12427	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkInput"}
12428	if s.ControlSets == nil {
12429		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
12430	}
12431	if s.Description != nil && len(*s.Description) < 1 {
12432		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
12433	}
12434	if s.FrameworkId == nil {
12435		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
12436	}
12437	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
12438		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
12439	}
12440	if s.Name == nil {
12441		invalidParams.Add(request.NewErrParamRequired("Name"))
12442	}
12443	if s.Name != nil && len(*s.Name) < 1 {
12444		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12445	}
12446	if s.ControlSets != nil {
12447		for i, v := range s.ControlSets {
12448			if v == nil {
12449				continue
12450			}
12451			if err := v.Validate(); err != nil {
12452				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
12453			}
12454		}
12455	}
12456
12457	if invalidParams.Len() > 0 {
12458		return invalidParams
12459	}
12460	return nil
12461}
12462
12463// SetComplianceType sets the ComplianceType field's value.
12464func (s *UpdateAssessmentFrameworkInput) SetComplianceType(v string) *UpdateAssessmentFrameworkInput {
12465	s.ComplianceType = &v
12466	return s
12467}
12468
12469// SetControlSets sets the ControlSets field's value.
12470func (s *UpdateAssessmentFrameworkInput) SetControlSets(v []*UpdateAssessmentFrameworkControlSet) *UpdateAssessmentFrameworkInput {
12471	s.ControlSets = v
12472	return s
12473}
12474
12475// SetDescription sets the Description field's value.
12476func (s *UpdateAssessmentFrameworkInput) SetDescription(v string) *UpdateAssessmentFrameworkInput {
12477	s.Description = &v
12478	return s
12479}
12480
12481// SetFrameworkId sets the FrameworkId field's value.
12482func (s *UpdateAssessmentFrameworkInput) SetFrameworkId(v string) *UpdateAssessmentFrameworkInput {
12483	s.FrameworkId = &v
12484	return s
12485}
12486
12487// SetName sets the Name field's value.
12488func (s *UpdateAssessmentFrameworkInput) SetName(v string) *UpdateAssessmentFrameworkInput {
12489	s.Name = &v
12490	return s
12491}
12492
12493type UpdateAssessmentFrameworkOutput struct {
12494	_ struct{} `type:"structure"`
12495
12496	// The name of the specified framework.
12497	Framework *Framework `locationName:"framework" type:"structure"`
12498}
12499
12500// String returns the string representation
12501func (s UpdateAssessmentFrameworkOutput) String() string {
12502	return awsutil.Prettify(s)
12503}
12504
12505// GoString returns the string representation
12506func (s UpdateAssessmentFrameworkOutput) GoString() string {
12507	return s.String()
12508}
12509
12510// SetFramework sets the Framework field's value.
12511func (s *UpdateAssessmentFrameworkOutput) SetFramework(v *Framework) *UpdateAssessmentFrameworkOutput {
12512	s.Framework = v
12513	return s
12514}
12515
12516type UpdateAssessmentInput struct {
12517	_ struct{} `type:"structure"`
12518
12519	// The description of the specified assessment.
12520	AssessmentDescription *string `locationName:"assessmentDescription" type:"string"`
12521
12522	// The identifier for the specified assessment.
12523	//
12524	// AssessmentId is a required field
12525	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12526
12527	// The name of the specified assessment to be updated.
12528	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
12529
12530	// The assessment report storage destination for the specified assessment that
12531	// is being updated.
12532	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
12533
12534	// The list of roles for the specified assessment.
12535	Roles []*Role `locationName:"roles" type:"list"`
12536
12537	// The scope of the specified assessment.
12538	//
12539	// Scope is a required field
12540	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
12541}
12542
12543// String returns the string representation
12544func (s UpdateAssessmentInput) String() string {
12545	return awsutil.Prettify(s)
12546}
12547
12548// GoString returns the string representation
12549func (s UpdateAssessmentInput) GoString() string {
12550	return s.String()
12551}
12552
12553// Validate inspects the fields of the type to determine if they are valid.
12554func (s *UpdateAssessmentInput) Validate() error {
12555	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentInput"}
12556	if s.AssessmentId == nil {
12557		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12558	}
12559	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12560		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12561	}
12562	if s.AssessmentName != nil && len(*s.AssessmentName) < 1 {
12563		invalidParams.Add(request.NewErrParamMinLen("AssessmentName", 1))
12564	}
12565	if s.Scope == nil {
12566		invalidParams.Add(request.NewErrParamRequired("Scope"))
12567	}
12568	if s.AssessmentReportsDestination != nil {
12569		if err := s.AssessmentReportsDestination.Validate(); err != nil {
12570			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
12571		}
12572	}
12573	if s.Roles != nil {
12574		for i, v := range s.Roles {
12575			if v == nil {
12576				continue
12577			}
12578			if err := v.Validate(); err != nil {
12579				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
12580			}
12581		}
12582	}
12583	if s.Scope != nil {
12584		if err := s.Scope.Validate(); err != nil {
12585			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
12586		}
12587	}
12588
12589	if invalidParams.Len() > 0 {
12590		return invalidParams
12591	}
12592	return nil
12593}
12594
12595// SetAssessmentDescription sets the AssessmentDescription field's value.
12596func (s *UpdateAssessmentInput) SetAssessmentDescription(v string) *UpdateAssessmentInput {
12597	s.AssessmentDescription = &v
12598	return s
12599}
12600
12601// SetAssessmentId sets the AssessmentId field's value.
12602func (s *UpdateAssessmentInput) SetAssessmentId(v string) *UpdateAssessmentInput {
12603	s.AssessmentId = &v
12604	return s
12605}
12606
12607// SetAssessmentName sets the AssessmentName field's value.
12608func (s *UpdateAssessmentInput) SetAssessmentName(v string) *UpdateAssessmentInput {
12609	s.AssessmentName = &v
12610	return s
12611}
12612
12613// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
12614func (s *UpdateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateAssessmentInput {
12615	s.AssessmentReportsDestination = v
12616	return s
12617}
12618
12619// SetRoles sets the Roles field's value.
12620func (s *UpdateAssessmentInput) SetRoles(v []*Role) *UpdateAssessmentInput {
12621	s.Roles = v
12622	return s
12623}
12624
12625// SetScope sets the Scope field's value.
12626func (s *UpdateAssessmentInput) SetScope(v *Scope) *UpdateAssessmentInput {
12627	s.Scope = v
12628	return s
12629}
12630
12631type UpdateAssessmentOutput struct {
12632	_ struct{} `type:"structure"`
12633
12634	// The response object (name of the updated assessment) for the UpdateAssessmentRequest
12635	// API.
12636	Assessment *Assessment `locationName:"assessment" type:"structure"`
12637}
12638
12639// String returns the string representation
12640func (s UpdateAssessmentOutput) String() string {
12641	return awsutil.Prettify(s)
12642}
12643
12644// GoString returns the string representation
12645func (s UpdateAssessmentOutput) GoString() string {
12646	return s.String()
12647}
12648
12649// SetAssessment sets the Assessment field's value.
12650func (s *UpdateAssessmentOutput) SetAssessment(v *Assessment) *UpdateAssessmentOutput {
12651	s.Assessment = v
12652	return s
12653}
12654
12655type UpdateAssessmentStatusInput struct {
12656	_ struct{} `type:"structure"`
12657
12658	// The identifier for the specified assessment.
12659	//
12660	// AssessmentId is a required field
12661	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12662
12663	// The current status of the specified assessment.
12664	//
12665	// Status is a required field
12666	Status *string `locationName:"status" type:"string" required:"true" enum:"AssessmentStatus"`
12667}
12668
12669// String returns the string representation
12670func (s UpdateAssessmentStatusInput) String() string {
12671	return awsutil.Prettify(s)
12672}
12673
12674// GoString returns the string representation
12675func (s UpdateAssessmentStatusInput) GoString() string {
12676	return s.String()
12677}
12678
12679// Validate inspects the fields of the type to determine if they are valid.
12680func (s *UpdateAssessmentStatusInput) Validate() error {
12681	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentStatusInput"}
12682	if s.AssessmentId == nil {
12683		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12684	}
12685	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12686		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12687	}
12688	if s.Status == nil {
12689		invalidParams.Add(request.NewErrParamRequired("Status"))
12690	}
12691
12692	if invalidParams.Len() > 0 {
12693		return invalidParams
12694	}
12695	return nil
12696}
12697
12698// SetAssessmentId sets the AssessmentId field's value.
12699func (s *UpdateAssessmentStatusInput) SetAssessmentId(v string) *UpdateAssessmentStatusInput {
12700	s.AssessmentId = &v
12701	return s
12702}
12703
12704// SetStatus sets the Status field's value.
12705func (s *UpdateAssessmentStatusInput) SetStatus(v string) *UpdateAssessmentStatusInput {
12706	s.Status = &v
12707	return s
12708}
12709
12710type UpdateAssessmentStatusOutput struct {
12711	_ struct{} `type:"structure"`
12712
12713	// The name of the updated assessment returned by the UpdateAssessmentStatus
12714	// API.
12715	Assessment *Assessment `locationName:"assessment" type:"structure"`
12716}
12717
12718// String returns the string representation
12719func (s UpdateAssessmentStatusOutput) String() string {
12720	return awsutil.Prettify(s)
12721}
12722
12723// GoString returns the string representation
12724func (s UpdateAssessmentStatusOutput) GoString() string {
12725	return s.String()
12726}
12727
12728// SetAssessment sets the Assessment field's value.
12729func (s *UpdateAssessmentStatusOutput) SetAssessment(v *Assessment) *UpdateAssessmentStatusOutput {
12730	s.Assessment = v
12731	return s
12732}
12733
12734type UpdateControlInput struct {
12735	_ struct{} `type:"structure"`
12736
12737	// The recommended actions to carry out if the control is not fulfilled.
12738	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
12739
12740	// The title of the action plan for remediating the control.
12741	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
12742
12743	// The identifier for the specified control.
12744	//
12745	// ControlId is a required field
12746	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
12747
12748	// The data mapping sources for the specified control.
12749	//
12750	// ControlMappingSources is a required field
12751	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
12752
12753	// The optional description of the control.
12754	Description *string `locationName:"description" type:"string"`
12755
12756	// The name of the control to be updated.
12757	//
12758	// Name is a required field
12759	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12760
12761	// The steps that to follow to determine if the control has been satisfied.
12762	TestingInformation *string `locationName:"testingInformation" type:"string"`
12763}
12764
12765// String returns the string representation
12766func (s UpdateControlInput) String() string {
12767	return awsutil.Prettify(s)
12768}
12769
12770// GoString returns the string representation
12771func (s UpdateControlInput) GoString() string {
12772	return s.String()
12773}
12774
12775// Validate inspects the fields of the type to determine if they are valid.
12776func (s *UpdateControlInput) Validate() error {
12777	invalidParams := request.ErrInvalidParams{Context: "UpdateControlInput"}
12778	if s.ControlId == nil {
12779		invalidParams.Add(request.NewErrParamRequired("ControlId"))
12780	}
12781	if s.ControlId != nil && len(*s.ControlId) < 36 {
12782		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
12783	}
12784	if s.ControlMappingSources == nil {
12785		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
12786	}
12787	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
12788		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
12789	}
12790	if s.Name == nil {
12791		invalidParams.Add(request.NewErrParamRequired("Name"))
12792	}
12793	if s.Name != nil && len(*s.Name) < 1 {
12794		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12795	}
12796	if s.ControlMappingSources != nil {
12797		for i, v := range s.ControlMappingSources {
12798			if v == nil {
12799				continue
12800			}
12801			if err := v.Validate(); err != nil {
12802				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
12803			}
12804		}
12805	}
12806
12807	if invalidParams.Len() > 0 {
12808		return invalidParams
12809	}
12810	return nil
12811}
12812
12813// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
12814func (s *UpdateControlInput) SetActionPlanInstructions(v string) *UpdateControlInput {
12815	s.ActionPlanInstructions = &v
12816	return s
12817}
12818
12819// SetActionPlanTitle sets the ActionPlanTitle field's value.
12820func (s *UpdateControlInput) SetActionPlanTitle(v string) *UpdateControlInput {
12821	s.ActionPlanTitle = &v
12822	return s
12823}
12824
12825// SetControlId sets the ControlId field's value.
12826func (s *UpdateControlInput) SetControlId(v string) *UpdateControlInput {
12827	s.ControlId = &v
12828	return s
12829}
12830
12831// SetControlMappingSources sets the ControlMappingSources field's value.
12832func (s *UpdateControlInput) SetControlMappingSources(v []*ControlMappingSource) *UpdateControlInput {
12833	s.ControlMappingSources = v
12834	return s
12835}
12836
12837// SetDescription sets the Description field's value.
12838func (s *UpdateControlInput) SetDescription(v string) *UpdateControlInput {
12839	s.Description = &v
12840	return s
12841}
12842
12843// SetName sets the Name field's value.
12844func (s *UpdateControlInput) SetName(v string) *UpdateControlInput {
12845	s.Name = &v
12846	return s
12847}
12848
12849// SetTestingInformation sets the TestingInformation field's value.
12850func (s *UpdateControlInput) SetTestingInformation(v string) *UpdateControlInput {
12851	s.TestingInformation = &v
12852	return s
12853}
12854
12855type UpdateControlOutput struct {
12856	_ struct{} `type:"structure"`
12857
12858	// The name of the updated control set returned by the UpdateControl API.
12859	Control *Control `locationName:"control" type:"structure"`
12860}
12861
12862// String returns the string representation
12863func (s UpdateControlOutput) String() string {
12864	return awsutil.Prettify(s)
12865}
12866
12867// GoString returns the string representation
12868func (s UpdateControlOutput) GoString() string {
12869	return s.String()
12870}
12871
12872// SetControl sets the Control field's value.
12873func (s *UpdateControlOutput) SetControl(v *Control) *UpdateControlOutput {
12874	s.Control = v
12875	return s
12876}
12877
12878type UpdateSettingsInput struct {
12879	_ struct{} `type:"structure"`
12880
12881	// The default storage destination for assessment reports.
12882	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
12883
12884	// A list of the default audit owners.
12885	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
12886
12887	// The KMS key details.
12888	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
12889
12890	// The Amazon Simple Notification Service (Amazon SNS) topic to which Audit
12891	// Manager sends notifications.
12892	SnsTopic *string `locationName:"snsTopic" min:"20" type:"string"`
12893}
12894
12895// String returns the string representation
12896func (s UpdateSettingsInput) String() string {
12897	return awsutil.Prettify(s)
12898}
12899
12900// GoString returns the string representation
12901func (s UpdateSettingsInput) GoString() string {
12902	return s.String()
12903}
12904
12905// Validate inspects the fields of the type to determine if they are valid.
12906func (s *UpdateSettingsInput) Validate() error {
12907	invalidParams := request.ErrInvalidParams{Context: "UpdateSettingsInput"}
12908	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
12909		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
12910	}
12911	if s.SnsTopic != nil && len(*s.SnsTopic) < 20 {
12912		invalidParams.Add(request.NewErrParamMinLen("SnsTopic", 20))
12913	}
12914	if s.DefaultAssessmentReportsDestination != nil {
12915		if err := s.DefaultAssessmentReportsDestination.Validate(); err != nil {
12916			invalidParams.AddNested("DefaultAssessmentReportsDestination", err.(request.ErrInvalidParams))
12917		}
12918	}
12919	if s.DefaultProcessOwners != nil {
12920		for i, v := range s.DefaultProcessOwners {
12921			if v == nil {
12922				continue
12923			}
12924			if err := v.Validate(); err != nil {
12925				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultProcessOwners", i), err.(request.ErrInvalidParams))
12926			}
12927		}
12928	}
12929
12930	if invalidParams.Len() > 0 {
12931		return invalidParams
12932	}
12933	return nil
12934}
12935
12936// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
12937func (s *UpdateSettingsInput) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateSettingsInput {
12938	s.DefaultAssessmentReportsDestination = v
12939	return s
12940}
12941
12942// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
12943func (s *UpdateSettingsInput) SetDefaultProcessOwners(v []*Role) *UpdateSettingsInput {
12944	s.DefaultProcessOwners = v
12945	return s
12946}
12947
12948// SetKmsKey sets the KmsKey field's value.
12949func (s *UpdateSettingsInput) SetKmsKey(v string) *UpdateSettingsInput {
12950	s.KmsKey = &v
12951	return s
12952}
12953
12954// SetSnsTopic sets the SnsTopic field's value.
12955func (s *UpdateSettingsInput) SetSnsTopic(v string) *UpdateSettingsInput {
12956	s.SnsTopic = &v
12957	return s
12958}
12959
12960type UpdateSettingsOutput struct {
12961	_ struct{} `type:"structure"`
12962
12963	// The current list of settings.
12964	Settings *Settings `locationName:"settings" type:"structure"`
12965}
12966
12967// String returns the string representation
12968func (s UpdateSettingsOutput) String() string {
12969	return awsutil.Prettify(s)
12970}
12971
12972// GoString returns the string representation
12973func (s UpdateSettingsOutput) GoString() string {
12974	return s.String()
12975}
12976
12977// SetSettings sets the Settings field's value.
12978func (s *UpdateSettingsOutput) SetSettings(v *Settings) *UpdateSettingsOutput {
12979	s.Settings = v
12980	return s
12981}
12982
12983type ValidateAssessmentReportIntegrityInput struct {
12984	_ struct{} `type:"structure"`
12985
12986	// The relative path of the specified Amazon S3 bucket in which the assessment
12987	// report is stored.
12988	//
12989	// S3RelativePath is a required field
12990	S3RelativePath *string `locationName:"s3RelativePath" min:"1" type:"string" required:"true"`
12991}
12992
12993// String returns the string representation
12994func (s ValidateAssessmentReportIntegrityInput) String() string {
12995	return awsutil.Prettify(s)
12996}
12997
12998// GoString returns the string representation
12999func (s ValidateAssessmentReportIntegrityInput) GoString() string {
13000	return s.String()
13001}
13002
13003// Validate inspects the fields of the type to determine if they are valid.
13004func (s *ValidateAssessmentReportIntegrityInput) Validate() error {
13005	invalidParams := request.ErrInvalidParams{Context: "ValidateAssessmentReportIntegrityInput"}
13006	if s.S3RelativePath == nil {
13007		invalidParams.Add(request.NewErrParamRequired("S3RelativePath"))
13008	}
13009	if s.S3RelativePath != nil && len(*s.S3RelativePath) < 1 {
13010		invalidParams.Add(request.NewErrParamMinLen("S3RelativePath", 1))
13011	}
13012
13013	if invalidParams.Len() > 0 {
13014		return invalidParams
13015	}
13016	return nil
13017}
13018
13019// SetS3RelativePath sets the S3RelativePath field's value.
13020func (s *ValidateAssessmentReportIntegrityInput) SetS3RelativePath(v string) *ValidateAssessmentReportIntegrityInput {
13021	s.S3RelativePath = &v
13022	return s
13023}
13024
13025type ValidateAssessmentReportIntegrityOutput struct {
13026	_ struct{} `type:"structure"`
13027
13028	// The signature algorithm used to code sign the assessment report file.
13029	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
13030
13031	// The date and time signature that specifies when the assessment report was
13032	// created.
13033	SignatureDateTime *string `locationName:"signatureDateTime" type:"string"`
13034
13035	// The unique identifier for the validation signature key.
13036	SignatureKeyId *string `locationName:"signatureKeyId" type:"string"`
13037
13038	// Specifies whether the signature key is valid.
13039	SignatureValid *bool `locationName:"signatureValid" type:"boolean"`
13040
13041	// Represents any errors that occurred when validating the assessment report.
13042	ValidationErrors []*string `locationName:"validationErrors" type:"list"`
13043}
13044
13045// String returns the string representation
13046func (s ValidateAssessmentReportIntegrityOutput) String() string {
13047	return awsutil.Prettify(s)
13048}
13049
13050// GoString returns the string representation
13051func (s ValidateAssessmentReportIntegrityOutput) GoString() string {
13052	return s.String()
13053}
13054
13055// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
13056func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureAlgorithm(v string) *ValidateAssessmentReportIntegrityOutput {
13057	s.SignatureAlgorithm = &v
13058	return s
13059}
13060
13061// SetSignatureDateTime sets the SignatureDateTime field's value.
13062func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureDateTime(v string) *ValidateAssessmentReportIntegrityOutput {
13063	s.SignatureDateTime = &v
13064	return s
13065}
13066
13067// SetSignatureKeyId sets the SignatureKeyId field's value.
13068func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureKeyId(v string) *ValidateAssessmentReportIntegrityOutput {
13069	s.SignatureKeyId = &v
13070	return s
13071}
13072
13073// SetSignatureValid sets the SignatureValid field's value.
13074func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureValid(v bool) *ValidateAssessmentReportIntegrityOutput {
13075	s.SignatureValid = &v
13076	return s
13077}
13078
13079// SetValidationErrors sets the ValidationErrors field's value.
13080func (s *ValidateAssessmentReportIntegrityOutput) SetValidationErrors(v []*string) *ValidateAssessmentReportIntegrityOutput {
13081	s.ValidationErrors = v
13082	return s
13083}
13084
13085// The request has invalid or missing parameters.
13086type ValidationException struct {
13087	_            struct{}                  `type:"structure"`
13088	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13089
13090	// The fields that caused the error, if applicable.
13091	Fields []*ValidationExceptionField `locationName:"fields" type:"list"`
13092
13093	Message_ *string `locationName:"message" type:"string"`
13094
13095	// The reason the request failed validation.
13096	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
13097}
13098
13099// String returns the string representation
13100func (s ValidationException) String() string {
13101	return awsutil.Prettify(s)
13102}
13103
13104// GoString returns the string representation
13105func (s ValidationException) GoString() string {
13106	return s.String()
13107}
13108
13109func newErrorValidationException(v protocol.ResponseMetadata) error {
13110	return &ValidationException{
13111		RespMetadata: v,
13112	}
13113}
13114
13115// Code returns the exception type name.
13116func (s *ValidationException) Code() string {
13117	return "ValidationException"
13118}
13119
13120// Message returns the exception's message.
13121func (s *ValidationException) Message() string {
13122	if s.Message_ != nil {
13123		return *s.Message_
13124	}
13125	return ""
13126}
13127
13128// OrigErr always returns nil, satisfies awserr.Error interface.
13129func (s *ValidationException) OrigErr() error {
13130	return nil
13131}
13132
13133func (s *ValidationException) Error() string {
13134	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13135}
13136
13137// Status code returns the HTTP status code for the request's response error.
13138func (s *ValidationException) StatusCode() int {
13139	return s.RespMetadata.StatusCode
13140}
13141
13142// RequestID returns the service's response RequestID for request.
13143func (s *ValidationException) RequestID() string {
13144	return s.RespMetadata.RequestID
13145}
13146
13147// Indicates that the request has invalid or missing parameters for the specified
13148// field.
13149type ValidationExceptionField struct {
13150	_ struct{} `type:"structure"`
13151
13152	// The body of the error message.
13153	//
13154	// Message is a required field
13155	Message *string `locationName:"message" type:"string" required:"true"`
13156
13157	// The name of the validation error.
13158	//
13159	// Name is a required field
13160	Name *string `locationName:"name" type:"string" required:"true"`
13161}
13162
13163// String returns the string representation
13164func (s ValidationExceptionField) String() string {
13165	return awsutil.Prettify(s)
13166}
13167
13168// GoString returns the string representation
13169func (s ValidationExceptionField) GoString() string {
13170	return s.String()
13171}
13172
13173// SetMessage sets the Message field's value.
13174func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
13175	s.Message = &v
13176	return s
13177}
13178
13179// SetName sets the Name field's value.
13180func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
13181	s.Name = &v
13182	return s
13183}
13184
13185const (
13186	// AccountStatusActive is a AccountStatus enum value
13187	AccountStatusActive = "ACTIVE"
13188
13189	// AccountStatusInactive is a AccountStatus enum value
13190	AccountStatusInactive = "INACTIVE"
13191
13192	// AccountStatusPendingActivation is a AccountStatus enum value
13193	AccountStatusPendingActivation = "PENDING_ACTIVATION"
13194)
13195
13196// AccountStatus_Values returns all elements of the AccountStatus enum
13197func AccountStatus_Values() []string {
13198	return []string{
13199		AccountStatusActive,
13200		AccountStatusInactive,
13201		AccountStatusPendingActivation,
13202	}
13203}
13204
13205const (
13206	// ActionEnumCreate is a ActionEnum enum value
13207	ActionEnumCreate = "CREATE"
13208
13209	// ActionEnumUpdateMetadata is a ActionEnum enum value
13210	ActionEnumUpdateMetadata = "UPDATE_METADATA"
13211
13212	// ActionEnumActive is a ActionEnum enum value
13213	ActionEnumActive = "ACTIVE"
13214
13215	// ActionEnumInactive is a ActionEnum enum value
13216	ActionEnumInactive = "INACTIVE"
13217
13218	// ActionEnumDelete is a ActionEnum enum value
13219	ActionEnumDelete = "DELETE"
13220
13221	// ActionEnumUnderReview is a ActionEnum enum value
13222	ActionEnumUnderReview = "UNDER_REVIEW"
13223
13224	// ActionEnumReviewed is a ActionEnum enum value
13225	ActionEnumReviewed = "REVIEWED"
13226
13227	// ActionEnumImportEvidence is a ActionEnum enum value
13228	ActionEnumImportEvidence = "IMPORT_EVIDENCE"
13229)
13230
13231// ActionEnum_Values returns all elements of the ActionEnum enum
13232func ActionEnum_Values() []string {
13233	return []string{
13234		ActionEnumCreate,
13235		ActionEnumUpdateMetadata,
13236		ActionEnumActive,
13237		ActionEnumInactive,
13238		ActionEnumDelete,
13239		ActionEnumUnderReview,
13240		ActionEnumReviewed,
13241		ActionEnumImportEvidence,
13242	}
13243}
13244
13245const (
13246	// AssessmentReportDestinationTypeS3 is a AssessmentReportDestinationType enum value
13247	AssessmentReportDestinationTypeS3 = "S3"
13248)
13249
13250// AssessmentReportDestinationType_Values returns all elements of the AssessmentReportDestinationType enum
13251func AssessmentReportDestinationType_Values() []string {
13252	return []string{
13253		AssessmentReportDestinationTypeS3,
13254	}
13255}
13256
13257const (
13258	// AssessmentReportStatusComplete is a AssessmentReportStatus enum value
13259	AssessmentReportStatusComplete = "COMPLETE"
13260
13261	// AssessmentReportStatusInProgress is a AssessmentReportStatus enum value
13262	AssessmentReportStatusInProgress = "IN_PROGRESS"
13263
13264	// AssessmentReportStatusFailed is a AssessmentReportStatus enum value
13265	AssessmentReportStatusFailed = "FAILED"
13266)
13267
13268// AssessmentReportStatus_Values returns all elements of the AssessmentReportStatus enum
13269func AssessmentReportStatus_Values() []string {
13270	return []string{
13271		AssessmentReportStatusComplete,
13272		AssessmentReportStatusInProgress,
13273		AssessmentReportStatusFailed,
13274	}
13275}
13276
13277const (
13278	// AssessmentStatusActive is a AssessmentStatus enum value
13279	AssessmentStatusActive = "ACTIVE"
13280
13281	// AssessmentStatusInactive is a AssessmentStatus enum value
13282	AssessmentStatusInactive = "INACTIVE"
13283)
13284
13285// AssessmentStatus_Values returns all elements of the AssessmentStatus enum
13286func AssessmentStatus_Values() []string {
13287	return []string{
13288		AssessmentStatusActive,
13289		AssessmentStatusInactive,
13290	}
13291}
13292
13293const (
13294	// ControlResponseManual is a ControlResponse enum value
13295	ControlResponseManual = "MANUAL"
13296
13297	// ControlResponseAutomate is a ControlResponse enum value
13298	ControlResponseAutomate = "AUTOMATE"
13299
13300	// ControlResponseDefer is a ControlResponse enum value
13301	ControlResponseDefer = "DEFER"
13302
13303	// ControlResponseIgnore is a ControlResponse enum value
13304	ControlResponseIgnore = "IGNORE"
13305)
13306
13307// ControlResponse_Values returns all elements of the ControlResponse enum
13308func ControlResponse_Values() []string {
13309	return []string{
13310		ControlResponseManual,
13311		ControlResponseAutomate,
13312		ControlResponseDefer,
13313		ControlResponseIgnore,
13314	}
13315}
13316
13317const (
13318	// ControlSetStatusActive is a ControlSetStatus enum value
13319	ControlSetStatusActive = "ACTIVE"
13320
13321	// ControlSetStatusUnderReview is a ControlSetStatus enum value
13322	ControlSetStatusUnderReview = "UNDER_REVIEW"
13323
13324	// ControlSetStatusReviewed is a ControlSetStatus enum value
13325	ControlSetStatusReviewed = "REVIEWED"
13326)
13327
13328// ControlSetStatus_Values returns all elements of the ControlSetStatus enum
13329func ControlSetStatus_Values() []string {
13330	return []string{
13331		ControlSetStatusActive,
13332		ControlSetStatusUnderReview,
13333		ControlSetStatusReviewed,
13334	}
13335}
13336
13337const (
13338	// ControlStatusUnderReview is a ControlStatus enum value
13339	ControlStatusUnderReview = "UNDER_REVIEW"
13340
13341	// ControlStatusReviewed is a ControlStatus enum value
13342	ControlStatusReviewed = "REVIEWED"
13343
13344	// ControlStatusInactive is a ControlStatus enum value
13345	ControlStatusInactive = "INACTIVE"
13346)
13347
13348// ControlStatus_Values returns all elements of the ControlStatus enum
13349func ControlStatus_Values() []string {
13350	return []string{
13351		ControlStatusUnderReview,
13352		ControlStatusReviewed,
13353		ControlStatusInactive,
13354	}
13355}
13356
13357const (
13358	// ControlTypeStandard is a ControlType enum value
13359	ControlTypeStandard = "Standard"
13360
13361	// ControlTypeCustom is a ControlType enum value
13362	ControlTypeCustom = "Custom"
13363)
13364
13365// ControlType_Values returns all elements of the ControlType enum
13366func ControlType_Values() []string {
13367	return []string{
13368		ControlTypeStandard,
13369		ControlTypeCustom,
13370	}
13371}
13372
13373const (
13374	// DelegationStatusInProgress is a DelegationStatus enum value
13375	DelegationStatusInProgress = "IN_PROGRESS"
13376
13377	// DelegationStatusUnderReview is a DelegationStatus enum value
13378	DelegationStatusUnderReview = "UNDER_REVIEW"
13379
13380	// DelegationStatusComplete is a DelegationStatus enum value
13381	DelegationStatusComplete = "COMPLETE"
13382)
13383
13384// DelegationStatus_Values returns all elements of the DelegationStatus enum
13385func DelegationStatus_Values() []string {
13386	return []string{
13387		DelegationStatusInProgress,
13388		DelegationStatusUnderReview,
13389		DelegationStatusComplete,
13390	}
13391}
13392
13393const (
13394	// FrameworkTypeStandard is a FrameworkType enum value
13395	FrameworkTypeStandard = "Standard"
13396
13397	// FrameworkTypeCustom is a FrameworkType enum value
13398	FrameworkTypeCustom = "Custom"
13399)
13400
13401// FrameworkType_Values returns all elements of the FrameworkType enum
13402func FrameworkType_Values() []string {
13403	return []string{
13404		FrameworkTypeStandard,
13405		FrameworkTypeCustom,
13406	}
13407}
13408
13409const (
13410	// KeywordInputTypeSelectFromList is a KeywordInputType enum value
13411	KeywordInputTypeSelectFromList = "SELECT_FROM_LIST"
13412)
13413
13414// KeywordInputType_Values returns all elements of the KeywordInputType enum
13415func KeywordInputType_Values() []string {
13416	return []string{
13417		KeywordInputTypeSelectFromList,
13418	}
13419}
13420
13421const (
13422	// ObjectTypeEnumAssessment is a ObjectTypeEnum enum value
13423	ObjectTypeEnumAssessment = "ASSESSMENT"
13424
13425	// ObjectTypeEnumControlSet is a ObjectTypeEnum enum value
13426	ObjectTypeEnumControlSet = "CONTROL_SET"
13427
13428	// ObjectTypeEnumControl is a ObjectTypeEnum enum value
13429	ObjectTypeEnumControl = "CONTROL"
13430
13431	// ObjectTypeEnumDelegation is a ObjectTypeEnum enum value
13432	ObjectTypeEnumDelegation = "DELEGATION"
13433
13434	// ObjectTypeEnumAssessmentReport is a ObjectTypeEnum enum value
13435	ObjectTypeEnumAssessmentReport = "ASSESSMENT_REPORT"
13436)
13437
13438// ObjectTypeEnum_Values returns all elements of the ObjectTypeEnum enum
13439func ObjectTypeEnum_Values() []string {
13440	return []string{
13441		ObjectTypeEnumAssessment,
13442		ObjectTypeEnumControlSet,
13443		ObjectTypeEnumControl,
13444		ObjectTypeEnumDelegation,
13445		ObjectTypeEnumAssessmentReport,
13446	}
13447}
13448
13449const (
13450	// RoleTypeProcessOwner is a RoleType enum value
13451	RoleTypeProcessOwner = "PROCESS_OWNER"
13452
13453	// RoleTypeResourceOwner is a RoleType enum value
13454	RoleTypeResourceOwner = "RESOURCE_OWNER"
13455)
13456
13457// RoleType_Values returns all elements of the RoleType enum
13458func RoleType_Values() []string {
13459	return []string{
13460		RoleTypeProcessOwner,
13461		RoleTypeResourceOwner,
13462	}
13463}
13464
13465const (
13466	// SettingAttributeAll is a SettingAttribute enum value
13467	SettingAttributeAll = "ALL"
13468
13469	// SettingAttributeIsAwsOrgEnabled is a SettingAttribute enum value
13470	SettingAttributeIsAwsOrgEnabled = "IS_AWS_ORG_ENABLED"
13471
13472	// SettingAttributeSnsTopic is a SettingAttribute enum value
13473	SettingAttributeSnsTopic = "SNS_TOPIC"
13474
13475	// SettingAttributeDefaultAssessmentReportsDestination is a SettingAttribute enum value
13476	SettingAttributeDefaultAssessmentReportsDestination = "DEFAULT_ASSESSMENT_REPORTS_DESTINATION"
13477
13478	// SettingAttributeDefaultProcessOwners is a SettingAttribute enum value
13479	SettingAttributeDefaultProcessOwners = "DEFAULT_PROCESS_OWNERS"
13480)
13481
13482// SettingAttribute_Values returns all elements of the SettingAttribute enum
13483func SettingAttribute_Values() []string {
13484	return []string{
13485		SettingAttributeAll,
13486		SettingAttributeIsAwsOrgEnabled,
13487		SettingAttributeSnsTopic,
13488		SettingAttributeDefaultAssessmentReportsDestination,
13489		SettingAttributeDefaultProcessOwners,
13490	}
13491}
13492
13493const (
13494	// SourceFrequencyDaily is a SourceFrequency enum value
13495	SourceFrequencyDaily = "DAILY"
13496
13497	// SourceFrequencyWeekly is a SourceFrequency enum value
13498	SourceFrequencyWeekly = "WEEKLY"
13499
13500	// SourceFrequencyMonthly is a SourceFrequency enum value
13501	SourceFrequencyMonthly = "MONTHLY"
13502)
13503
13504// SourceFrequency_Values returns all elements of the SourceFrequency enum
13505func SourceFrequency_Values() []string {
13506	return []string{
13507		SourceFrequencyDaily,
13508		SourceFrequencyWeekly,
13509		SourceFrequencyMonthly,
13510	}
13511}
13512
13513const (
13514	// SourceSetUpOptionSystemControlsMapping is a SourceSetUpOption enum value
13515	SourceSetUpOptionSystemControlsMapping = "System_Controls_Mapping"
13516
13517	// SourceSetUpOptionProceduralControlsMapping is a SourceSetUpOption enum value
13518	SourceSetUpOptionProceduralControlsMapping = "Procedural_Controls_Mapping"
13519)
13520
13521// SourceSetUpOption_Values returns all elements of the SourceSetUpOption enum
13522func SourceSetUpOption_Values() []string {
13523	return []string{
13524		SourceSetUpOptionSystemControlsMapping,
13525		SourceSetUpOptionProceduralControlsMapping,
13526	}
13527}
13528
13529const (
13530	// SourceTypeAwsCloudtrail is a SourceType enum value
13531	SourceTypeAwsCloudtrail = "AWS_Cloudtrail"
13532
13533	// SourceTypeAwsConfig is a SourceType enum value
13534	SourceTypeAwsConfig = "AWS_Config"
13535
13536	// SourceTypeAwsSecurityHub is a SourceType enum value
13537	SourceTypeAwsSecurityHub = "AWS_Security_Hub"
13538
13539	// SourceTypeAwsApiCall is a SourceType enum value
13540	SourceTypeAwsApiCall = "AWS_API_Call"
13541
13542	// SourceTypeManual is a SourceType enum value
13543	SourceTypeManual = "MANUAL"
13544)
13545
13546// SourceType_Values returns all elements of the SourceType enum
13547func SourceType_Values() []string {
13548	return []string{
13549		SourceTypeAwsCloudtrail,
13550		SourceTypeAwsConfig,
13551		SourceTypeAwsSecurityHub,
13552		SourceTypeAwsApiCall,
13553		SourceTypeManual,
13554	}
13555}
13556
13557const (
13558	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
13559	ValidationExceptionReasonUnknownOperation = "unknownOperation"
13560
13561	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
13562	ValidationExceptionReasonCannotParse = "cannotParse"
13563
13564	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
13565	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
13566
13567	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
13568	ValidationExceptionReasonOther = "other"
13569)
13570
13571// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
13572func ValidationExceptionReason_Values() []string {
13573	return []string{
13574		ValidationExceptionReasonUnknownOperation,
13575		ValidationExceptionReasonCannotParse,
13576		ValidationExceptionReasonFieldValidationFailed,
13577		ValidationExceptionReasonOther,
13578	}
13579}
13580