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 AWS 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//   You do not have sufficient access to perform this action.
77//
78//   * InternalServerException
79//   An internal service error occurred during the processing of your request.
80//   Try again later.
81//
82//   * ResourceNotFoundException
83//   The resource specified in the request cannot be found.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/AssociateAssessmentReportEvidenceFolder
86func (c *AuditManager) AssociateAssessmentReportEvidenceFolder(input *AssociateAssessmentReportEvidenceFolderInput) (*AssociateAssessmentReportEvidenceFolderOutput, error) {
87	req, out := c.AssociateAssessmentReportEvidenceFolderRequest(input)
88	return out, req.Send()
89}
90
91// AssociateAssessmentReportEvidenceFolderWithContext is the same as AssociateAssessmentReportEvidenceFolder with the addition of
92// the ability to pass a context and additional request options.
93//
94// See AssociateAssessmentReportEvidenceFolder for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *AuditManager) AssociateAssessmentReportEvidenceFolderWithContext(ctx aws.Context, input *AssociateAssessmentReportEvidenceFolderInput, opts ...request.Option) (*AssociateAssessmentReportEvidenceFolderOutput, error) {
101	req, out := c.AssociateAssessmentReportEvidenceFolderRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opBatchAssociateAssessmentReportEvidence = "BatchAssociateAssessmentReportEvidence"
108
109// BatchAssociateAssessmentReportEvidenceRequest generates a "aws/request.Request" representing the
110// client's request for the BatchAssociateAssessmentReportEvidence operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See BatchAssociateAssessmentReportEvidence for more information on using the BatchAssociateAssessmentReportEvidence
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the BatchAssociateAssessmentReportEvidenceRequest method.
125//    req, resp := client.BatchAssociateAssessmentReportEvidenceRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchAssociateAssessmentReportEvidence
133func (c *AuditManager) BatchAssociateAssessmentReportEvidenceRequest(input *BatchAssociateAssessmentReportEvidenceInput) (req *request.Request, output *BatchAssociateAssessmentReportEvidenceOutput) {
134	op := &request.Operation{
135		Name:       opBatchAssociateAssessmentReportEvidence,
136		HTTPMethod: "PUT",
137		HTTPPath:   "/assessments/{assessmentId}/batchAssociateToAssessmentReport",
138	}
139
140	if input == nil {
141		input = &BatchAssociateAssessmentReportEvidenceInput{}
142	}
143
144	output = &BatchAssociateAssessmentReportEvidenceOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// BatchAssociateAssessmentReportEvidence API operation for AWS Audit Manager.
150//
151// Associates a list of evidence to an assessment report in an AWS Audit Manager
152// assessment.
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for AWS Audit Manager's
159// API operation BatchAssociateAssessmentReportEvidence for usage and error information.
160//
161// Returned Error Types:
162//   * ValidationException
163//   The request has invalid or missing parameters.
164//
165//   * AccessDeniedException
166//   You do not have sufficient access to perform this action.
167//
168//   * InternalServerException
169//   An internal service error occurred during the processing of your request.
170//   Try again later.
171//
172//   * ResourceNotFoundException
173//   The resource specified in the request cannot be found.
174//
175// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchAssociateAssessmentReportEvidence
176func (c *AuditManager) BatchAssociateAssessmentReportEvidence(input *BatchAssociateAssessmentReportEvidenceInput) (*BatchAssociateAssessmentReportEvidenceOutput, error) {
177	req, out := c.BatchAssociateAssessmentReportEvidenceRequest(input)
178	return out, req.Send()
179}
180
181// BatchAssociateAssessmentReportEvidenceWithContext is the same as BatchAssociateAssessmentReportEvidence with the addition of
182// the ability to pass a context and additional request options.
183//
184// See BatchAssociateAssessmentReportEvidence for details on how to use this API operation.
185//
186// The context must be non-nil and will be used for request cancellation. If
187// the context is nil a panic will occur. In the future the SDK may create
188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
189// for more information on using Contexts.
190func (c *AuditManager) BatchAssociateAssessmentReportEvidenceWithContext(ctx aws.Context, input *BatchAssociateAssessmentReportEvidenceInput, opts ...request.Option) (*BatchAssociateAssessmentReportEvidenceOutput, error) {
191	req, out := c.BatchAssociateAssessmentReportEvidenceRequest(input)
192	req.SetContext(ctx)
193	req.ApplyOptions(opts...)
194	return out, req.Send()
195}
196
197const opBatchCreateDelegationByAssessment = "BatchCreateDelegationByAssessment"
198
199// BatchCreateDelegationByAssessmentRequest generates a "aws/request.Request" representing the
200// client's request for the BatchCreateDelegationByAssessment operation. The "output" return
201// value will be populated with the request's response once the request completes
202// successfully.
203//
204// Use "Send" method on the returned Request to send the API call to the service.
205// the "output" return value is not valid until after Send returns without error.
206//
207// See BatchCreateDelegationByAssessment for more information on using the BatchCreateDelegationByAssessment
208// API call, and error handling.
209//
210// This method is useful when you want to inject custom logic or configuration
211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
212//
213//
214//    // Example sending a request using the BatchCreateDelegationByAssessmentRequest method.
215//    req, resp := client.BatchCreateDelegationByAssessmentRequest(params)
216//
217//    err := req.Send()
218//    if err == nil { // resp is now filled
219//        fmt.Println(resp)
220//    }
221//
222// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchCreateDelegationByAssessment
223func (c *AuditManager) BatchCreateDelegationByAssessmentRequest(input *BatchCreateDelegationByAssessmentInput) (req *request.Request, output *BatchCreateDelegationByAssessmentOutput) {
224	op := &request.Operation{
225		Name:       opBatchCreateDelegationByAssessment,
226		HTTPMethod: "POST",
227		HTTPPath:   "/assessments/{assessmentId}/delegations",
228	}
229
230	if input == nil {
231		input = &BatchCreateDelegationByAssessmentInput{}
232	}
233
234	output = &BatchCreateDelegationByAssessmentOutput{}
235	req = c.newRequest(op, input, output)
236	return
237}
238
239// BatchCreateDelegationByAssessment API operation for AWS Audit Manager.
240//
241// Create a batch of delegations for a specified assessment in AWS Audit Manager.
242//
243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
244// with awserr.Error's Code and Message methods to get detailed information about
245// the error.
246//
247// See the AWS API reference guide for AWS Audit Manager's
248// API operation BatchCreateDelegationByAssessment for usage and error information.
249//
250// Returned Error Types:
251//   * ResourceNotFoundException
252//   The resource specified in the request cannot be found.
253//
254//   * AccessDeniedException
255//   You do not have sufficient access to perform this action.
256//
257//   * ValidationException
258//   The request has invalid or missing parameters.
259//
260//   * InternalServerException
261//   An internal service error occurred during the processing of your request.
262//   Try again later.
263//
264// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchCreateDelegationByAssessment
265func (c *AuditManager) BatchCreateDelegationByAssessment(input *BatchCreateDelegationByAssessmentInput) (*BatchCreateDelegationByAssessmentOutput, error) {
266	req, out := c.BatchCreateDelegationByAssessmentRequest(input)
267	return out, req.Send()
268}
269
270// BatchCreateDelegationByAssessmentWithContext is the same as BatchCreateDelegationByAssessment with the addition of
271// the ability to pass a context and additional request options.
272//
273// See BatchCreateDelegationByAssessment for details on how to use this API operation.
274//
275// The context must be non-nil and will be used for request cancellation. If
276// the context is nil a panic will occur. In the future the SDK may create
277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
278// for more information on using Contexts.
279func (c *AuditManager) BatchCreateDelegationByAssessmentWithContext(ctx aws.Context, input *BatchCreateDelegationByAssessmentInput, opts ...request.Option) (*BatchCreateDelegationByAssessmentOutput, error) {
280	req, out := c.BatchCreateDelegationByAssessmentRequest(input)
281	req.SetContext(ctx)
282	req.ApplyOptions(opts...)
283	return out, req.Send()
284}
285
286const opBatchDeleteDelegationByAssessment = "BatchDeleteDelegationByAssessment"
287
288// BatchDeleteDelegationByAssessmentRequest generates a "aws/request.Request" representing the
289// client's request for the BatchDeleteDelegationByAssessment operation. The "output" return
290// value will be populated with the request's response once the request completes
291// successfully.
292//
293// Use "Send" method on the returned Request to send the API call to the service.
294// the "output" return value is not valid until after Send returns without error.
295//
296// See BatchDeleteDelegationByAssessment for more information on using the BatchDeleteDelegationByAssessment
297// API call, and error handling.
298//
299// This method is useful when you want to inject custom logic or configuration
300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
301//
302//
303//    // Example sending a request using the BatchDeleteDelegationByAssessmentRequest method.
304//    req, resp := client.BatchDeleteDelegationByAssessmentRequest(params)
305//
306//    err := req.Send()
307//    if err == nil { // resp is now filled
308//        fmt.Println(resp)
309//    }
310//
311// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDeleteDelegationByAssessment
312func (c *AuditManager) BatchDeleteDelegationByAssessmentRequest(input *BatchDeleteDelegationByAssessmentInput) (req *request.Request, output *BatchDeleteDelegationByAssessmentOutput) {
313	op := &request.Operation{
314		Name:       opBatchDeleteDelegationByAssessment,
315		HTTPMethod: "PUT",
316		HTTPPath:   "/assessments/{assessmentId}/delegations",
317	}
318
319	if input == nil {
320		input = &BatchDeleteDelegationByAssessmentInput{}
321	}
322
323	output = &BatchDeleteDelegationByAssessmentOutput{}
324	req = c.newRequest(op, input, output)
325	return
326}
327
328// BatchDeleteDelegationByAssessment API operation for AWS Audit Manager.
329//
330// Deletes the delegations in the specified AWS Audit Manager assessment.
331//
332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
333// with awserr.Error's Code and Message methods to get detailed information about
334// the error.
335//
336// See the AWS API reference guide for AWS Audit Manager's
337// API operation BatchDeleteDelegationByAssessment for usage and error information.
338//
339// Returned Error Types:
340//   * ResourceNotFoundException
341//   The resource specified in the request cannot be found.
342//
343//   * AccessDeniedException
344//   You do not have sufficient access to perform this action.
345//
346//   * ValidationException
347//   The request has invalid or missing parameters.
348//
349//   * InternalServerException
350//   An internal service error occurred during the processing of your request.
351//   Try again later.
352//
353// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDeleteDelegationByAssessment
354func (c *AuditManager) BatchDeleteDelegationByAssessment(input *BatchDeleteDelegationByAssessmentInput) (*BatchDeleteDelegationByAssessmentOutput, error) {
355	req, out := c.BatchDeleteDelegationByAssessmentRequest(input)
356	return out, req.Send()
357}
358
359// BatchDeleteDelegationByAssessmentWithContext is the same as BatchDeleteDelegationByAssessment with the addition of
360// the ability to pass a context and additional request options.
361//
362// See BatchDeleteDelegationByAssessment for details on how to use this API operation.
363//
364// The context must be non-nil and will be used for request cancellation. If
365// the context is nil a panic will occur. In the future the SDK may create
366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
367// for more information on using Contexts.
368func (c *AuditManager) BatchDeleteDelegationByAssessmentWithContext(ctx aws.Context, input *BatchDeleteDelegationByAssessmentInput, opts ...request.Option) (*BatchDeleteDelegationByAssessmentOutput, error) {
369	req, out := c.BatchDeleteDelegationByAssessmentRequest(input)
370	req.SetContext(ctx)
371	req.ApplyOptions(opts...)
372	return out, req.Send()
373}
374
375const opBatchDisassociateAssessmentReportEvidence = "BatchDisassociateAssessmentReportEvidence"
376
377// BatchDisassociateAssessmentReportEvidenceRequest generates a "aws/request.Request" representing the
378// client's request for the BatchDisassociateAssessmentReportEvidence operation. The "output" return
379// value will be populated with the request's response once the request completes
380// successfully.
381//
382// Use "Send" method on the returned Request to send the API call to the service.
383// the "output" return value is not valid until after Send returns without error.
384//
385// See BatchDisassociateAssessmentReportEvidence for more information on using the BatchDisassociateAssessmentReportEvidence
386// API call, and error handling.
387//
388// This method is useful when you want to inject custom logic or configuration
389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
390//
391//
392//    // Example sending a request using the BatchDisassociateAssessmentReportEvidenceRequest method.
393//    req, resp := client.BatchDisassociateAssessmentReportEvidenceRequest(params)
394//
395//    err := req.Send()
396//    if err == nil { // resp is now filled
397//        fmt.Println(resp)
398//    }
399//
400// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence
401func (c *AuditManager) BatchDisassociateAssessmentReportEvidenceRequest(input *BatchDisassociateAssessmentReportEvidenceInput) (req *request.Request, output *BatchDisassociateAssessmentReportEvidenceOutput) {
402	op := &request.Operation{
403		Name:       opBatchDisassociateAssessmentReportEvidence,
404		HTTPMethod: "PUT",
405		HTTPPath:   "/assessments/{assessmentId}/batchDisassociateFromAssessmentReport",
406	}
407
408	if input == nil {
409		input = &BatchDisassociateAssessmentReportEvidenceInput{}
410	}
411
412	output = &BatchDisassociateAssessmentReportEvidenceOutput{}
413	req = c.newRequest(op, input, output)
414	return
415}
416
417// BatchDisassociateAssessmentReportEvidence API operation for AWS Audit Manager.
418//
419// Disassociates a list of evidence from the specified assessment report in
420// AWS Audit Manager.
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for AWS Audit Manager's
427// API operation BatchDisassociateAssessmentReportEvidence for usage and error information.
428//
429// Returned Error Types:
430//   * ValidationException
431//   The request has invalid or missing parameters.
432//
433//   * AccessDeniedException
434//   You do not have sufficient access to perform this action.
435//
436//   * InternalServerException
437//   An internal service error occurred during the processing of your request.
438//   Try again later.
439//
440//   * ResourceNotFoundException
441//   The resource specified in the request cannot be found.
442//
443// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchDisassociateAssessmentReportEvidence
444func (c *AuditManager) BatchDisassociateAssessmentReportEvidence(input *BatchDisassociateAssessmentReportEvidenceInput) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
445	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
446	return out, req.Send()
447}
448
449// BatchDisassociateAssessmentReportEvidenceWithContext is the same as BatchDisassociateAssessmentReportEvidence with the addition of
450// the ability to pass a context and additional request options.
451//
452// See BatchDisassociateAssessmentReportEvidence for details on how to use this API operation.
453//
454// The context must be non-nil and will be used for request cancellation. If
455// the context is nil a panic will occur. In the future the SDK may create
456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
457// for more information on using Contexts.
458func (c *AuditManager) BatchDisassociateAssessmentReportEvidenceWithContext(ctx aws.Context, input *BatchDisassociateAssessmentReportEvidenceInput, opts ...request.Option) (*BatchDisassociateAssessmentReportEvidenceOutput, error) {
459	req, out := c.BatchDisassociateAssessmentReportEvidenceRequest(input)
460	req.SetContext(ctx)
461	req.ApplyOptions(opts...)
462	return out, req.Send()
463}
464
465const opBatchImportEvidenceToAssessmentControl = "BatchImportEvidenceToAssessmentControl"
466
467// BatchImportEvidenceToAssessmentControlRequest generates a "aws/request.Request" representing the
468// client's request for the BatchImportEvidenceToAssessmentControl operation. The "output" return
469// value will be populated with the request's response once the request completes
470// successfully.
471//
472// Use "Send" method on the returned Request to send the API call to the service.
473// the "output" return value is not valid until after Send returns without error.
474//
475// See BatchImportEvidenceToAssessmentControl for more information on using the BatchImportEvidenceToAssessmentControl
476// API call, and error handling.
477//
478// This method is useful when you want to inject custom logic or configuration
479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
480//
481//
482//    // Example sending a request using the BatchImportEvidenceToAssessmentControlRequest method.
483//    req, resp := client.BatchImportEvidenceToAssessmentControlRequest(params)
484//
485//    err := req.Send()
486//    if err == nil { // resp is now filled
487//        fmt.Println(resp)
488//    }
489//
490// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
491func (c *AuditManager) BatchImportEvidenceToAssessmentControlRequest(input *BatchImportEvidenceToAssessmentControlInput) (req *request.Request, output *BatchImportEvidenceToAssessmentControlOutput) {
492	op := &request.Operation{
493		Name:       opBatchImportEvidenceToAssessmentControl,
494		HTTPMethod: "POST",
495		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}/evidence",
496	}
497
498	if input == nil {
499		input = &BatchImportEvidenceToAssessmentControlInput{}
500	}
501
502	output = &BatchImportEvidenceToAssessmentControlOutput{}
503	req = c.newRequest(op, input, output)
504	return
505}
506
507// BatchImportEvidenceToAssessmentControl API operation for AWS Audit Manager.
508//
509// Uploads one or more pieces of evidence to the specified control in the assessment
510// in AWS Audit Manager.
511//
512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
513// with awserr.Error's Code and Message methods to get detailed information about
514// the error.
515//
516// See the AWS API reference guide for AWS Audit Manager's
517// API operation BatchImportEvidenceToAssessmentControl for usage and error information.
518//
519// Returned Error Types:
520//   * ResourceNotFoundException
521//   The resource specified in the request cannot be found.
522//
523//   * AccessDeniedException
524//   You do not have sufficient access to perform this action.
525//
526//   * ValidationException
527//   The request has invalid or missing parameters.
528//
529//   * InternalServerException
530//   An internal service error occurred during the processing of your request.
531//   Try again later.
532//
533// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/BatchImportEvidenceToAssessmentControl
534func (c *AuditManager) BatchImportEvidenceToAssessmentControl(input *BatchImportEvidenceToAssessmentControlInput) (*BatchImportEvidenceToAssessmentControlOutput, error) {
535	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
536	return out, req.Send()
537}
538
539// BatchImportEvidenceToAssessmentControlWithContext is the same as BatchImportEvidenceToAssessmentControl with the addition of
540// the ability to pass a context and additional request options.
541//
542// See BatchImportEvidenceToAssessmentControl for details on how to use this API operation.
543//
544// The context must be non-nil and will be used for request cancellation. If
545// the context is nil a panic will occur. In the future the SDK may create
546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
547// for more information on using Contexts.
548func (c *AuditManager) BatchImportEvidenceToAssessmentControlWithContext(ctx aws.Context, input *BatchImportEvidenceToAssessmentControlInput, opts ...request.Option) (*BatchImportEvidenceToAssessmentControlOutput, error) {
549	req, out := c.BatchImportEvidenceToAssessmentControlRequest(input)
550	req.SetContext(ctx)
551	req.ApplyOptions(opts...)
552	return out, req.Send()
553}
554
555const opCreateAssessment = "CreateAssessment"
556
557// CreateAssessmentRequest generates a "aws/request.Request" representing the
558// client's request for the CreateAssessment operation. The "output" return
559// value will be populated with the request's response once the request completes
560// successfully.
561//
562// Use "Send" method on the returned Request to send the API call to the service.
563// the "output" return value is not valid until after Send returns without error.
564//
565// See CreateAssessment for more information on using the CreateAssessment
566// API call, and error handling.
567//
568// This method is useful when you want to inject custom logic or configuration
569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
570//
571//
572//    // Example sending a request using the CreateAssessmentRequest method.
573//    req, resp := client.CreateAssessmentRequest(params)
574//
575//    err := req.Send()
576//    if err == nil { // resp is now filled
577//        fmt.Println(resp)
578//    }
579//
580// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
581func (c *AuditManager) CreateAssessmentRequest(input *CreateAssessmentInput) (req *request.Request, output *CreateAssessmentOutput) {
582	op := &request.Operation{
583		Name:       opCreateAssessment,
584		HTTPMethod: "POST",
585		HTTPPath:   "/assessments",
586	}
587
588	if input == nil {
589		input = &CreateAssessmentInput{}
590	}
591
592	output = &CreateAssessmentOutput{}
593	req = c.newRequest(op, input, output)
594	return
595}
596
597// CreateAssessment API operation for AWS Audit Manager.
598//
599// Creates an assessment in AWS Audit Manager.
600//
601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
602// with awserr.Error's Code and Message methods to get detailed information about
603// the error.
604//
605// See the AWS API reference guide for AWS Audit Manager's
606// API operation CreateAssessment for usage and error information.
607//
608// Returned Error Types:
609//   * ResourceNotFoundException
610//   The resource specified in the request cannot be found.
611//
612//   * ValidationException
613//   The request has invalid or missing parameters.
614//
615//   * AccessDeniedException
616//   You do not have sufficient access to perform this action.
617//
618//   * InternalServerException
619//   An internal service error occurred during the processing of your request.
620//   Try again later.
621//
622// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessment
623func (c *AuditManager) CreateAssessment(input *CreateAssessmentInput) (*CreateAssessmentOutput, error) {
624	req, out := c.CreateAssessmentRequest(input)
625	return out, req.Send()
626}
627
628// CreateAssessmentWithContext is the same as CreateAssessment with the addition of
629// the ability to pass a context and additional request options.
630//
631// See CreateAssessment for details on how to use this API operation.
632//
633// The context must be non-nil and will be used for request cancellation. If
634// the context is nil a panic will occur. In the future the SDK may create
635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
636// for more information on using Contexts.
637func (c *AuditManager) CreateAssessmentWithContext(ctx aws.Context, input *CreateAssessmentInput, opts ...request.Option) (*CreateAssessmentOutput, error) {
638	req, out := c.CreateAssessmentRequest(input)
639	req.SetContext(ctx)
640	req.ApplyOptions(opts...)
641	return out, req.Send()
642}
643
644const opCreateAssessmentFramework = "CreateAssessmentFramework"
645
646// CreateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
647// client's request for the CreateAssessmentFramework operation. The "output" return
648// value will be populated with the request's response once the request completes
649// successfully.
650//
651// Use "Send" method on the returned Request to send the API call to the service.
652// the "output" return value is not valid until after Send returns without error.
653//
654// See CreateAssessmentFramework for more information on using the CreateAssessmentFramework
655// API call, and error handling.
656//
657// This method is useful when you want to inject custom logic or configuration
658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
659//
660//
661//    // Example sending a request using the CreateAssessmentFrameworkRequest method.
662//    req, resp := client.CreateAssessmentFrameworkRequest(params)
663//
664//    err := req.Send()
665//    if err == nil { // resp is now filled
666//        fmt.Println(resp)
667//    }
668//
669// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
670func (c *AuditManager) CreateAssessmentFrameworkRequest(input *CreateAssessmentFrameworkInput) (req *request.Request, output *CreateAssessmentFrameworkOutput) {
671	op := &request.Operation{
672		Name:       opCreateAssessmentFramework,
673		HTTPMethod: "POST",
674		HTTPPath:   "/assessmentFrameworks",
675	}
676
677	if input == nil {
678		input = &CreateAssessmentFrameworkInput{}
679	}
680
681	output = &CreateAssessmentFrameworkOutput{}
682	req = c.newRequest(op, input, output)
683	return
684}
685
686// CreateAssessmentFramework API operation for AWS Audit Manager.
687//
688// Creates a custom framework in AWS Audit Manager.
689//
690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
691// with awserr.Error's Code and Message methods to get detailed information about
692// the error.
693//
694// See the AWS API reference guide for AWS Audit Manager's
695// API operation CreateAssessmentFramework for usage and error information.
696//
697// Returned Error Types:
698//   * ResourceNotFoundException
699//   The resource specified in the request cannot be found.
700//
701//   * ValidationException
702//   The request has invalid or missing parameters.
703//
704//   * AccessDeniedException
705//   You do not have sufficient access to perform this action.
706//
707//   * InternalServerException
708//   An internal service error occurred during the processing of your request.
709//   Try again later.
710//
711// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentFramework
712func (c *AuditManager) CreateAssessmentFramework(input *CreateAssessmentFrameworkInput) (*CreateAssessmentFrameworkOutput, error) {
713	req, out := c.CreateAssessmentFrameworkRequest(input)
714	return out, req.Send()
715}
716
717// CreateAssessmentFrameworkWithContext is the same as CreateAssessmentFramework with the addition of
718// the ability to pass a context and additional request options.
719//
720// See CreateAssessmentFramework for details on how to use this API operation.
721//
722// The context must be non-nil and will be used for request cancellation. If
723// the context is nil a panic will occur. In the future the SDK may create
724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
725// for more information on using Contexts.
726func (c *AuditManager) CreateAssessmentFrameworkWithContext(ctx aws.Context, input *CreateAssessmentFrameworkInput, opts ...request.Option) (*CreateAssessmentFrameworkOutput, error) {
727	req, out := c.CreateAssessmentFrameworkRequest(input)
728	req.SetContext(ctx)
729	req.ApplyOptions(opts...)
730	return out, req.Send()
731}
732
733const opCreateAssessmentReport = "CreateAssessmentReport"
734
735// CreateAssessmentReportRequest generates a "aws/request.Request" representing the
736// client's request for the CreateAssessmentReport operation. The "output" return
737// value will be populated with the request's response once the request completes
738// successfully.
739//
740// Use "Send" method on the returned Request to send the API call to the service.
741// the "output" return value is not valid until after Send returns without error.
742//
743// See CreateAssessmentReport for more information on using the CreateAssessmentReport
744// API call, and error handling.
745//
746// This method is useful when you want to inject custom logic or configuration
747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
748//
749//
750//    // Example sending a request using the CreateAssessmentReportRequest method.
751//    req, resp := client.CreateAssessmentReportRequest(params)
752//
753//    err := req.Send()
754//    if err == nil { // resp is now filled
755//        fmt.Println(resp)
756//    }
757//
758// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
759func (c *AuditManager) CreateAssessmentReportRequest(input *CreateAssessmentReportInput) (req *request.Request, output *CreateAssessmentReportOutput) {
760	op := &request.Operation{
761		Name:       opCreateAssessmentReport,
762		HTTPMethod: "POST",
763		HTTPPath:   "/assessments/{assessmentId}/reports",
764	}
765
766	if input == nil {
767		input = &CreateAssessmentReportInput{}
768	}
769
770	output = &CreateAssessmentReportOutput{}
771	req = c.newRequest(op, input, output)
772	return
773}
774
775// CreateAssessmentReport API operation for AWS Audit Manager.
776//
777// Creates an assessment report for the specified assessment.
778//
779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
780// with awserr.Error's Code and Message methods to get detailed information about
781// the error.
782//
783// See the AWS API reference guide for AWS Audit Manager's
784// API operation CreateAssessmentReport for usage and error information.
785//
786// Returned Error Types:
787//   * ValidationException
788//   The request has invalid or missing parameters.
789//
790//   * AccessDeniedException
791//   You do not have sufficient access to perform this action.
792//
793//   * InternalServerException
794//   An internal service error occurred during the processing of your request.
795//   Try again later.
796//
797//   * ResourceNotFoundException
798//   The resource specified in the request cannot be found.
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateAssessmentReport
801func (c *AuditManager) CreateAssessmentReport(input *CreateAssessmentReportInput) (*CreateAssessmentReportOutput, error) {
802	req, out := c.CreateAssessmentReportRequest(input)
803	return out, req.Send()
804}
805
806// CreateAssessmentReportWithContext is the same as CreateAssessmentReport with the addition of
807// the ability to pass a context and additional request options.
808//
809// See CreateAssessmentReport for details on how to use this API operation.
810//
811// The context must be non-nil and will be used for request cancellation. If
812// the context is nil a panic will occur. In the future the SDK may create
813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
814// for more information on using Contexts.
815func (c *AuditManager) CreateAssessmentReportWithContext(ctx aws.Context, input *CreateAssessmentReportInput, opts ...request.Option) (*CreateAssessmentReportOutput, error) {
816	req, out := c.CreateAssessmentReportRequest(input)
817	req.SetContext(ctx)
818	req.ApplyOptions(opts...)
819	return out, req.Send()
820}
821
822const opCreateControl = "CreateControl"
823
824// CreateControlRequest generates a "aws/request.Request" representing the
825// client's request for the CreateControl operation. The "output" return
826// value will be populated with the request's response once the request completes
827// successfully.
828//
829// Use "Send" method on the returned Request to send the API call to the service.
830// the "output" return value is not valid until after Send returns without error.
831//
832// See CreateControl for more information on using the CreateControl
833// API call, and error handling.
834//
835// This method is useful when you want to inject custom logic or configuration
836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
837//
838//
839//    // Example sending a request using the CreateControlRequest method.
840//    req, resp := client.CreateControlRequest(params)
841//
842//    err := req.Send()
843//    if err == nil { // resp is now filled
844//        fmt.Println(resp)
845//    }
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
848func (c *AuditManager) CreateControlRequest(input *CreateControlInput) (req *request.Request, output *CreateControlOutput) {
849	op := &request.Operation{
850		Name:       opCreateControl,
851		HTTPMethod: "POST",
852		HTTPPath:   "/controls",
853	}
854
855	if input == nil {
856		input = &CreateControlInput{}
857	}
858
859	output = &CreateControlOutput{}
860	req = c.newRequest(op, input, output)
861	return
862}
863
864// CreateControl API operation for AWS Audit Manager.
865//
866// Creates a new custom control in AWS Audit Manager.
867//
868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
869// with awserr.Error's Code and Message methods to get detailed information about
870// the error.
871//
872// See the AWS API reference guide for AWS Audit Manager's
873// API operation CreateControl for usage and error information.
874//
875// Returned Error Types:
876//   * ResourceNotFoundException
877//   The resource specified in the request cannot be found.
878//
879//   * ValidationException
880//   The request has invalid or missing parameters.
881//
882//   * AccessDeniedException
883//   You do not have sufficient access to perform this action.
884//
885//   * InternalServerException
886//   An internal service error occurred during the processing of your request.
887//   Try again later.
888//
889// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/CreateControl
890func (c *AuditManager) CreateControl(input *CreateControlInput) (*CreateControlOutput, error) {
891	req, out := c.CreateControlRequest(input)
892	return out, req.Send()
893}
894
895// CreateControlWithContext is the same as CreateControl with the addition of
896// the ability to pass a context and additional request options.
897//
898// See CreateControl for details on how to use this API operation.
899//
900// The context must be non-nil and will be used for request cancellation. If
901// the context is nil a panic will occur. In the future the SDK may create
902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
903// for more information on using Contexts.
904func (c *AuditManager) CreateControlWithContext(ctx aws.Context, input *CreateControlInput, opts ...request.Option) (*CreateControlOutput, error) {
905	req, out := c.CreateControlRequest(input)
906	req.SetContext(ctx)
907	req.ApplyOptions(opts...)
908	return out, req.Send()
909}
910
911const opDeleteAssessment = "DeleteAssessment"
912
913// DeleteAssessmentRequest generates a "aws/request.Request" representing the
914// client's request for the DeleteAssessment operation. The "output" return
915// value will be populated with the request's response once the request completes
916// successfully.
917//
918// Use "Send" method on the returned Request to send the API call to the service.
919// the "output" return value is not valid until after Send returns without error.
920//
921// See DeleteAssessment for more information on using the DeleteAssessment
922// API call, and error handling.
923//
924// This method is useful when you want to inject custom logic or configuration
925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
926//
927//
928//    // Example sending a request using the DeleteAssessmentRequest method.
929//    req, resp := client.DeleteAssessmentRequest(params)
930//
931//    err := req.Send()
932//    if err == nil { // resp is now filled
933//        fmt.Println(resp)
934//    }
935//
936// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
937func (c *AuditManager) DeleteAssessmentRequest(input *DeleteAssessmentInput) (req *request.Request, output *DeleteAssessmentOutput) {
938	op := &request.Operation{
939		Name:       opDeleteAssessment,
940		HTTPMethod: "DELETE",
941		HTTPPath:   "/assessments/{assessmentId}",
942	}
943
944	if input == nil {
945		input = &DeleteAssessmentInput{}
946	}
947
948	output = &DeleteAssessmentOutput{}
949	req = c.newRequest(op, input, output)
950	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
951	return
952}
953
954// DeleteAssessment API operation for AWS Audit Manager.
955//
956// Deletes an assessment in AWS Audit Manager.
957//
958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
959// with awserr.Error's Code and Message methods to get detailed information about
960// the error.
961//
962// See the AWS API reference guide for AWS Audit Manager's
963// API operation DeleteAssessment for usage and error information.
964//
965// Returned Error Types:
966//   * ResourceNotFoundException
967//   The resource specified in the request cannot be found.
968//
969//   * ValidationException
970//   The request has invalid or missing parameters.
971//
972//   * AccessDeniedException
973//   You do not have sufficient access to perform this action.
974//
975//   * InternalServerException
976//   An internal service error occurred during the processing of your request.
977//   Try again later.
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessment
980func (c *AuditManager) DeleteAssessment(input *DeleteAssessmentInput) (*DeleteAssessmentOutput, error) {
981	req, out := c.DeleteAssessmentRequest(input)
982	return out, req.Send()
983}
984
985// DeleteAssessmentWithContext is the same as DeleteAssessment with the addition of
986// the ability to pass a context and additional request options.
987//
988// See DeleteAssessment for details on how to use this API operation.
989//
990// The context must be non-nil and will be used for request cancellation. If
991// the context is nil a panic will occur. In the future the SDK may create
992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
993// for more information on using Contexts.
994func (c *AuditManager) DeleteAssessmentWithContext(ctx aws.Context, input *DeleteAssessmentInput, opts ...request.Option) (*DeleteAssessmentOutput, error) {
995	req, out := c.DeleteAssessmentRequest(input)
996	req.SetContext(ctx)
997	req.ApplyOptions(opts...)
998	return out, req.Send()
999}
1000
1001const opDeleteAssessmentFramework = "DeleteAssessmentFramework"
1002
1003// DeleteAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1004// client's request for the DeleteAssessmentFramework operation. The "output" return
1005// value will be populated with the request's response once the request completes
1006// successfully.
1007//
1008// Use "Send" method on the returned Request to send the API call to the service.
1009// the "output" return value is not valid until after Send returns without error.
1010//
1011// See DeleteAssessmentFramework for more information on using the DeleteAssessmentFramework
1012// API call, and error handling.
1013//
1014// This method is useful when you want to inject custom logic or configuration
1015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1016//
1017//
1018//    // Example sending a request using the DeleteAssessmentFrameworkRequest method.
1019//    req, resp := client.DeleteAssessmentFrameworkRequest(params)
1020//
1021//    err := req.Send()
1022//    if err == nil { // resp is now filled
1023//        fmt.Println(resp)
1024//    }
1025//
1026// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1027func (c *AuditManager) DeleteAssessmentFrameworkRequest(input *DeleteAssessmentFrameworkInput) (req *request.Request, output *DeleteAssessmentFrameworkOutput) {
1028	op := &request.Operation{
1029		Name:       opDeleteAssessmentFramework,
1030		HTTPMethod: "DELETE",
1031		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1032	}
1033
1034	if input == nil {
1035		input = &DeleteAssessmentFrameworkInput{}
1036	}
1037
1038	output = &DeleteAssessmentFrameworkOutput{}
1039	req = c.newRequest(op, input, output)
1040	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1041	return
1042}
1043
1044// DeleteAssessmentFramework API operation for AWS Audit Manager.
1045//
1046// Deletes a custom framework in AWS Audit Manager.
1047//
1048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1049// with awserr.Error's Code and Message methods to get detailed information about
1050// the error.
1051//
1052// See the AWS API reference guide for AWS Audit Manager's
1053// API operation DeleteAssessmentFramework for usage and error information.
1054//
1055// Returned Error Types:
1056//   * ResourceNotFoundException
1057//   The resource specified in the request cannot be found.
1058//
1059//   * ValidationException
1060//   The request has invalid or missing parameters.
1061//
1062//   * AccessDeniedException
1063//   You do not have sufficient access to perform this action.
1064//
1065//   * InternalServerException
1066//   An internal service error occurred during the processing of your request.
1067//   Try again later.
1068//
1069// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentFramework
1070func (c *AuditManager) DeleteAssessmentFramework(input *DeleteAssessmentFrameworkInput) (*DeleteAssessmentFrameworkOutput, error) {
1071	req, out := c.DeleteAssessmentFrameworkRequest(input)
1072	return out, req.Send()
1073}
1074
1075// DeleteAssessmentFrameworkWithContext is the same as DeleteAssessmentFramework with the addition of
1076// the ability to pass a context and additional request options.
1077//
1078// See DeleteAssessmentFramework for details on how to use this API operation.
1079//
1080// The context must be non-nil and will be used for request cancellation. If
1081// the context is nil a panic will occur. In the future the SDK may create
1082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1083// for more information on using Contexts.
1084func (c *AuditManager) DeleteAssessmentFrameworkWithContext(ctx aws.Context, input *DeleteAssessmentFrameworkInput, opts ...request.Option) (*DeleteAssessmentFrameworkOutput, error) {
1085	req, out := c.DeleteAssessmentFrameworkRequest(input)
1086	req.SetContext(ctx)
1087	req.ApplyOptions(opts...)
1088	return out, req.Send()
1089}
1090
1091const opDeleteAssessmentReport = "DeleteAssessmentReport"
1092
1093// DeleteAssessmentReportRequest generates a "aws/request.Request" representing the
1094// client's request for the DeleteAssessmentReport operation. The "output" return
1095// value will be populated with the request's response once the request completes
1096// successfully.
1097//
1098// Use "Send" method on the returned Request to send the API call to the service.
1099// the "output" return value is not valid until after Send returns without error.
1100//
1101// See DeleteAssessmentReport for more information on using the DeleteAssessmentReport
1102// API call, and error handling.
1103//
1104// This method is useful when you want to inject custom logic or configuration
1105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1106//
1107//
1108//    // Example sending a request using the DeleteAssessmentReportRequest method.
1109//    req, resp := client.DeleteAssessmentReportRequest(params)
1110//
1111//    err := req.Send()
1112//    if err == nil { // resp is now filled
1113//        fmt.Println(resp)
1114//    }
1115//
1116// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1117func (c *AuditManager) DeleteAssessmentReportRequest(input *DeleteAssessmentReportInput) (req *request.Request, output *DeleteAssessmentReportOutput) {
1118	op := &request.Operation{
1119		Name:       opDeleteAssessmentReport,
1120		HTTPMethod: "DELETE",
1121		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}",
1122	}
1123
1124	if input == nil {
1125		input = &DeleteAssessmentReportInput{}
1126	}
1127
1128	output = &DeleteAssessmentReportOutput{}
1129	req = c.newRequest(op, input, output)
1130	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1131	return
1132}
1133
1134// DeleteAssessmentReport API operation for AWS Audit Manager.
1135//
1136// Deletes an assessment report from an assessment in AWS Audit Manager.
1137//
1138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1139// with awserr.Error's Code and Message methods to get detailed information about
1140// the error.
1141//
1142// See the AWS API reference guide for AWS Audit Manager's
1143// API operation DeleteAssessmentReport for usage and error information.
1144//
1145// Returned Error Types:
1146//   * ValidationException
1147//   The request has invalid or missing parameters.
1148//
1149//   * AccessDeniedException
1150//   You do not have sufficient access to perform this action.
1151//
1152//   * InternalServerException
1153//   An internal service error occurred during the processing of your request.
1154//   Try again later.
1155//
1156//   * ResourceNotFoundException
1157//   The resource specified in the request cannot be found.
1158//
1159// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteAssessmentReport
1160func (c *AuditManager) DeleteAssessmentReport(input *DeleteAssessmentReportInput) (*DeleteAssessmentReportOutput, error) {
1161	req, out := c.DeleteAssessmentReportRequest(input)
1162	return out, req.Send()
1163}
1164
1165// DeleteAssessmentReportWithContext is the same as DeleteAssessmentReport with the addition of
1166// the ability to pass a context and additional request options.
1167//
1168// See DeleteAssessmentReport for details on how to use this API operation.
1169//
1170// The context must be non-nil and will be used for request cancellation. If
1171// the context is nil a panic will occur. In the future the SDK may create
1172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1173// for more information on using Contexts.
1174func (c *AuditManager) DeleteAssessmentReportWithContext(ctx aws.Context, input *DeleteAssessmentReportInput, opts ...request.Option) (*DeleteAssessmentReportOutput, error) {
1175	req, out := c.DeleteAssessmentReportRequest(input)
1176	req.SetContext(ctx)
1177	req.ApplyOptions(opts...)
1178	return out, req.Send()
1179}
1180
1181const opDeleteControl = "DeleteControl"
1182
1183// DeleteControlRequest generates a "aws/request.Request" representing the
1184// client's request for the DeleteControl operation. The "output" return
1185// value will be populated with the request's response once the request completes
1186// successfully.
1187//
1188// Use "Send" method on the returned Request to send the API call to the service.
1189// the "output" return value is not valid until after Send returns without error.
1190//
1191// See DeleteControl for more information on using the DeleteControl
1192// API call, and error handling.
1193//
1194// This method is useful when you want to inject custom logic or configuration
1195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1196//
1197//
1198//    // Example sending a request using the DeleteControlRequest method.
1199//    req, resp := client.DeleteControlRequest(params)
1200//
1201//    err := req.Send()
1202//    if err == nil { // resp is now filled
1203//        fmt.Println(resp)
1204//    }
1205//
1206// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1207func (c *AuditManager) DeleteControlRequest(input *DeleteControlInput) (req *request.Request, output *DeleteControlOutput) {
1208	op := &request.Operation{
1209		Name:       opDeleteControl,
1210		HTTPMethod: "DELETE",
1211		HTTPPath:   "/controls/{controlId}",
1212	}
1213
1214	if input == nil {
1215		input = &DeleteControlInput{}
1216	}
1217
1218	output = &DeleteControlOutput{}
1219	req = c.newRequest(op, input, output)
1220	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1221	return
1222}
1223
1224// DeleteControl API operation for AWS Audit Manager.
1225//
1226// Deletes a custom control in AWS Audit Manager.
1227//
1228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1229// with awserr.Error's Code and Message methods to get detailed information about
1230// the error.
1231//
1232// See the AWS API reference guide for AWS Audit Manager's
1233// API operation DeleteControl for usage and error information.
1234//
1235// Returned Error Types:
1236//   * ResourceNotFoundException
1237//   The resource specified in the request cannot be found.
1238//
1239//   * ValidationException
1240//   The request has invalid or missing parameters.
1241//
1242//   * AccessDeniedException
1243//   You do not have sufficient access to perform this action.
1244//
1245//   * InternalServerException
1246//   An internal service error occurred during the processing of your request.
1247//   Try again later.
1248//
1249// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeleteControl
1250func (c *AuditManager) DeleteControl(input *DeleteControlInput) (*DeleteControlOutput, error) {
1251	req, out := c.DeleteControlRequest(input)
1252	return out, req.Send()
1253}
1254
1255// DeleteControlWithContext is the same as DeleteControl with the addition of
1256// the ability to pass a context and additional request options.
1257//
1258// See DeleteControl for details on how to use this API operation.
1259//
1260// The context must be non-nil and will be used for request cancellation. If
1261// the context is nil a panic will occur. In the future the SDK may create
1262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1263// for more information on using Contexts.
1264func (c *AuditManager) DeleteControlWithContext(ctx aws.Context, input *DeleteControlInput, opts ...request.Option) (*DeleteControlOutput, error) {
1265	req, out := c.DeleteControlRequest(input)
1266	req.SetContext(ctx)
1267	req.ApplyOptions(opts...)
1268	return out, req.Send()
1269}
1270
1271const opDeregisterAccount = "DeregisterAccount"
1272
1273// DeregisterAccountRequest generates a "aws/request.Request" representing the
1274// client's request for the DeregisterAccount operation. The "output" return
1275// value will be populated with the request's response once the request completes
1276// successfully.
1277//
1278// Use "Send" method on the returned Request to send the API call to the service.
1279// the "output" return value is not valid until after Send returns without error.
1280//
1281// See DeregisterAccount for more information on using the DeregisterAccount
1282// API call, and error handling.
1283//
1284// This method is useful when you want to inject custom logic or configuration
1285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1286//
1287//
1288//    // Example sending a request using the DeregisterAccountRequest method.
1289//    req, resp := client.DeregisterAccountRequest(params)
1290//
1291//    err := req.Send()
1292//    if err == nil { // resp is now filled
1293//        fmt.Println(resp)
1294//    }
1295//
1296// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1297func (c *AuditManager) DeregisterAccountRequest(input *DeregisterAccountInput) (req *request.Request, output *DeregisterAccountOutput) {
1298	op := &request.Operation{
1299		Name:       opDeregisterAccount,
1300		HTTPMethod: "POST",
1301		HTTPPath:   "/account/deregisterAccount",
1302	}
1303
1304	if input == nil {
1305		input = &DeregisterAccountInput{}
1306	}
1307
1308	output = &DeregisterAccountOutput{}
1309	req = c.newRequest(op, input, output)
1310	return
1311}
1312
1313// DeregisterAccount API operation for AWS Audit Manager.
1314//
1315// Deregisters an account in AWS Audit Manager.
1316//
1317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1318// with awserr.Error's Code and Message methods to get detailed information about
1319// the error.
1320//
1321// See the AWS API reference guide for AWS Audit Manager's
1322// API operation DeregisterAccount for usage and error information.
1323//
1324// Returned Error Types:
1325//   * ValidationException
1326//   The request has invalid or missing parameters.
1327//
1328//   * AccessDeniedException
1329//   You do not have sufficient access to perform this action.
1330//
1331//   * InternalServerException
1332//   An internal service error occurred during the processing of your request.
1333//   Try again later.
1334//
1335//   * ResourceNotFoundException
1336//   The resource specified in the request cannot be found.
1337//
1338// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterAccount
1339func (c *AuditManager) DeregisterAccount(input *DeregisterAccountInput) (*DeregisterAccountOutput, error) {
1340	req, out := c.DeregisterAccountRequest(input)
1341	return out, req.Send()
1342}
1343
1344// DeregisterAccountWithContext is the same as DeregisterAccount with the addition of
1345// the ability to pass a context and additional request options.
1346//
1347// See DeregisterAccount for details on how to use this API operation.
1348//
1349// The context must be non-nil and will be used for request cancellation. If
1350// the context is nil a panic will occur. In the future the SDK may create
1351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1352// for more information on using Contexts.
1353func (c *AuditManager) DeregisterAccountWithContext(ctx aws.Context, input *DeregisterAccountInput, opts ...request.Option) (*DeregisterAccountOutput, error) {
1354	req, out := c.DeregisterAccountRequest(input)
1355	req.SetContext(ctx)
1356	req.ApplyOptions(opts...)
1357	return out, req.Send()
1358}
1359
1360const opDeregisterOrganizationAdminAccount = "DeregisterOrganizationAdminAccount"
1361
1362// DeregisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1363// client's request for the DeregisterOrganizationAdminAccount operation. The "output" return
1364// value will be populated with the request's response once the request completes
1365// successfully.
1366//
1367// Use "Send" method on the returned Request to send the API call to the service.
1368// the "output" return value is not valid until after Send returns without error.
1369//
1370// See DeregisterOrganizationAdminAccount for more information on using the DeregisterOrganizationAdminAccount
1371// API call, and error handling.
1372//
1373// This method is useful when you want to inject custom logic or configuration
1374// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1375//
1376//
1377//    // Example sending a request using the DeregisterOrganizationAdminAccountRequest method.
1378//    req, resp := client.DeregisterOrganizationAdminAccountRequest(params)
1379//
1380//    err := req.Send()
1381//    if err == nil { // resp is now filled
1382//        fmt.Println(resp)
1383//    }
1384//
1385// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1386func (c *AuditManager) DeregisterOrganizationAdminAccountRequest(input *DeregisterOrganizationAdminAccountInput) (req *request.Request, output *DeregisterOrganizationAdminAccountOutput) {
1387	op := &request.Operation{
1388		Name:       opDeregisterOrganizationAdminAccount,
1389		HTTPMethod: "POST",
1390		HTTPPath:   "/account/deregisterOrganizationAdminAccount",
1391	}
1392
1393	if input == nil {
1394		input = &DeregisterOrganizationAdminAccountInput{}
1395	}
1396
1397	output = &DeregisterOrganizationAdminAccountOutput{}
1398	req = c.newRequest(op, input, output)
1399	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1400	return
1401}
1402
1403// DeregisterOrganizationAdminAccount API operation for AWS Audit Manager.
1404//
1405// Deregisters the delegated AWS administrator account from the AWS organization.
1406//
1407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1408// with awserr.Error's Code and Message methods to get detailed information about
1409// the error.
1410//
1411// See the AWS API reference guide for AWS Audit Manager's
1412// API operation DeregisterOrganizationAdminAccount for usage and error information.
1413//
1414// Returned Error Types:
1415//   * ValidationException
1416//   The request has invalid or missing parameters.
1417//
1418//   * AccessDeniedException
1419//   You do not have sufficient access to perform this action.
1420//
1421//   * InternalServerException
1422//   An internal service error occurred during the processing of your request.
1423//   Try again later.
1424//
1425//   * ResourceNotFoundException
1426//   The resource specified in the request cannot be found.
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DeregisterOrganizationAdminAccount
1429func (c *AuditManager) DeregisterOrganizationAdminAccount(input *DeregisterOrganizationAdminAccountInput) (*DeregisterOrganizationAdminAccountOutput, error) {
1430	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1431	return out, req.Send()
1432}
1433
1434// DeregisterOrganizationAdminAccountWithContext is the same as DeregisterOrganizationAdminAccount with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See DeregisterOrganizationAdminAccount for details on how to use this API operation.
1438//
1439// The context must be non-nil and will be used for request cancellation. If
1440// the context is nil a panic will occur. In the future the SDK may create
1441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1442// for more information on using Contexts.
1443func (c *AuditManager) DeregisterOrganizationAdminAccountWithContext(ctx aws.Context, input *DeregisterOrganizationAdminAccountInput, opts ...request.Option) (*DeregisterOrganizationAdminAccountOutput, error) {
1444	req, out := c.DeregisterOrganizationAdminAccountRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450const opDisassociateAssessmentReportEvidenceFolder = "DisassociateAssessmentReportEvidenceFolder"
1451
1452// DisassociateAssessmentReportEvidenceFolderRequest generates a "aws/request.Request" representing the
1453// client's request for the DisassociateAssessmentReportEvidenceFolder operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See DisassociateAssessmentReportEvidenceFolder for more information on using the DisassociateAssessmentReportEvidenceFolder
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the DisassociateAssessmentReportEvidenceFolderRequest method.
1468//    req, resp := client.DisassociateAssessmentReportEvidenceFolderRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1476func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderRequest(input *DisassociateAssessmentReportEvidenceFolderInput) (req *request.Request, output *DisassociateAssessmentReportEvidenceFolderOutput) {
1477	op := &request.Operation{
1478		Name:       opDisassociateAssessmentReportEvidenceFolder,
1479		HTTPMethod: "PUT",
1480		HTTPPath:   "/assessments/{assessmentId}/disassociateFromAssessmentReport",
1481	}
1482
1483	if input == nil {
1484		input = &DisassociateAssessmentReportEvidenceFolderInput{}
1485	}
1486
1487	output = &DisassociateAssessmentReportEvidenceFolderOutput{}
1488	req = c.newRequest(op, input, output)
1489	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1490	return
1491}
1492
1493// DisassociateAssessmentReportEvidenceFolder API operation for AWS Audit Manager.
1494//
1495// Disassociates an evidence folder from the specified assessment report in
1496// AWS Audit Manager.
1497//
1498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1499// with awserr.Error's Code and Message methods to get detailed information about
1500// the error.
1501//
1502// See the AWS API reference guide for AWS Audit Manager's
1503// API operation DisassociateAssessmentReportEvidenceFolder for usage and error information.
1504//
1505// Returned Error Types:
1506//   * ValidationException
1507//   The request has invalid or missing parameters.
1508//
1509//   * AccessDeniedException
1510//   You do not have sufficient access to perform this action.
1511//
1512//   * InternalServerException
1513//   An internal service error occurred during the processing of your request.
1514//   Try again later.
1515//
1516//   * ResourceNotFoundException
1517//   The resource specified in the request cannot be found.
1518//
1519// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/DisassociateAssessmentReportEvidenceFolder
1520func (c *AuditManager) DisassociateAssessmentReportEvidenceFolder(input *DisassociateAssessmentReportEvidenceFolderInput) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1521	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1522	return out, req.Send()
1523}
1524
1525// DisassociateAssessmentReportEvidenceFolderWithContext is the same as DisassociateAssessmentReportEvidenceFolder with the addition of
1526// the ability to pass a context and additional request options.
1527//
1528// See DisassociateAssessmentReportEvidenceFolder for details on how to use this API operation.
1529//
1530// The context must be non-nil and will be used for request cancellation. If
1531// the context is nil a panic will occur. In the future the SDK may create
1532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1533// for more information on using Contexts.
1534func (c *AuditManager) DisassociateAssessmentReportEvidenceFolderWithContext(ctx aws.Context, input *DisassociateAssessmentReportEvidenceFolderInput, opts ...request.Option) (*DisassociateAssessmentReportEvidenceFolderOutput, error) {
1535	req, out := c.DisassociateAssessmentReportEvidenceFolderRequest(input)
1536	req.SetContext(ctx)
1537	req.ApplyOptions(opts...)
1538	return out, req.Send()
1539}
1540
1541const opGetAccountStatus = "GetAccountStatus"
1542
1543// GetAccountStatusRequest generates a "aws/request.Request" representing the
1544// client's request for the GetAccountStatus operation. The "output" return
1545// value will be populated with the request's response once the request completes
1546// successfully.
1547//
1548// Use "Send" method on the returned Request to send the API call to the service.
1549// the "output" return value is not valid until after Send returns without error.
1550//
1551// See GetAccountStatus for more information on using the GetAccountStatus
1552// API call, and error handling.
1553//
1554// This method is useful when you want to inject custom logic or configuration
1555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1556//
1557//
1558//    // Example sending a request using the GetAccountStatusRequest method.
1559//    req, resp := client.GetAccountStatusRequest(params)
1560//
1561//    err := req.Send()
1562//    if err == nil { // resp is now filled
1563//        fmt.Println(resp)
1564//    }
1565//
1566// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1567func (c *AuditManager) GetAccountStatusRequest(input *GetAccountStatusInput) (req *request.Request, output *GetAccountStatusOutput) {
1568	op := &request.Operation{
1569		Name:       opGetAccountStatus,
1570		HTTPMethod: "GET",
1571		HTTPPath:   "/account/status",
1572	}
1573
1574	if input == nil {
1575		input = &GetAccountStatusInput{}
1576	}
1577
1578	output = &GetAccountStatusOutput{}
1579	req = c.newRequest(op, input, output)
1580	return
1581}
1582
1583// GetAccountStatus API operation for AWS Audit Manager.
1584//
1585// Returns the registration status of an account in AWS Audit Manager.
1586//
1587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1588// with awserr.Error's Code and Message methods to get detailed information about
1589// the error.
1590//
1591// See the AWS API reference guide for AWS Audit Manager's
1592// API operation GetAccountStatus for usage and error information.
1593//
1594// Returned Error Types:
1595//   * InternalServerException
1596//   An internal service error occurred during the processing of your request.
1597//   Try again later.
1598//
1599// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAccountStatus
1600func (c *AuditManager) GetAccountStatus(input *GetAccountStatusInput) (*GetAccountStatusOutput, error) {
1601	req, out := c.GetAccountStatusRequest(input)
1602	return out, req.Send()
1603}
1604
1605// GetAccountStatusWithContext is the same as GetAccountStatus with the addition of
1606// the ability to pass a context and additional request options.
1607//
1608// See GetAccountStatus for details on how to use this API operation.
1609//
1610// The context must be non-nil and will be used for request cancellation. If
1611// the context is nil a panic will occur. In the future the SDK may create
1612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1613// for more information on using Contexts.
1614func (c *AuditManager) GetAccountStatusWithContext(ctx aws.Context, input *GetAccountStatusInput, opts ...request.Option) (*GetAccountStatusOutput, error) {
1615	req, out := c.GetAccountStatusRequest(input)
1616	req.SetContext(ctx)
1617	req.ApplyOptions(opts...)
1618	return out, req.Send()
1619}
1620
1621const opGetAssessment = "GetAssessment"
1622
1623// GetAssessmentRequest generates a "aws/request.Request" representing the
1624// client's request for the GetAssessment operation. The "output" return
1625// value will be populated with the request's response once the request completes
1626// successfully.
1627//
1628// Use "Send" method on the returned Request to send the API call to the service.
1629// the "output" return value is not valid until after Send returns without error.
1630//
1631// See GetAssessment for more information on using the GetAssessment
1632// API call, and error handling.
1633//
1634// This method is useful when you want to inject custom logic or configuration
1635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1636//
1637//
1638//    // Example sending a request using the GetAssessmentRequest method.
1639//    req, resp := client.GetAssessmentRequest(params)
1640//
1641//    err := req.Send()
1642//    if err == nil { // resp is now filled
1643//        fmt.Println(resp)
1644//    }
1645//
1646// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1647func (c *AuditManager) GetAssessmentRequest(input *GetAssessmentInput) (req *request.Request, output *GetAssessmentOutput) {
1648	op := &request.Operation{
1649		Name:       opGetAssessment,
1650		HTTPMethod: "GET",
1651		HTTPPath:   "/assessments/{assessmentId}",
1652	}
1653
1654	if input == nil {
1655		input = &GetAssessmentInput{}
1656	}
1657
1658	output = &GetAssessmentOutput{}
1659	req = c.newRequest(op, input, output)
1660	return
1661}
1662
1663// GetAssessment API operation for AWS Audit Manager.
1664//
1665// Returns an assessment from AWS Audit Manager.
1666//
1667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1668// with awserr.Error's Code and Message methods to get detailed information about
1669// the error.
1670//
1671// See the AWS API reference guide for AWS Audit Manager's
1672// API operation GetAssessment for usage and error information.
1673//
1674// Returned Error Types:
1675//   * ResourceNotFoundException
1676//   The resource specified in the request cannot be found.
1677//
1678//   * ValidationException
1679//   The request has invalid or missing parameters.
1680//
1681//   * AccessDeniedException
1682//   You do not have sufficient access to perform this action.
1683//
1684//   * InternalServerException
1685//   An internal service error occurred during the processing of your request.
1686//   Try again later.
1687//
1688// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessment
1689func (c *AuditManager) GetAssessment(input *GetAssessmentInput) (*GetAssessmentOutput, error) {
1690	req, out := c.GetAssessmentRequest(input)
1691	return out, req.Send()
1692}
1693
1694// GetAssessmentWithContext is the same as GetAssessment with the addition of
1695// the ability to pass a context and additional request options.
1696//
1697// See GetAssessment for details on how to use this API operation.
1698//
1699// The context must be non-nil and will be used for request cancellation. If
1700// the context is nil a panic will occur. In the future the SDK may create
1701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1702// for more information on using Contexts.
1703func (c *AuditManager) GetAssessmentWithContext(ctx aws.Context, input *GetAssessmentInput, opts ...request.Option) (*GetAssessmentOutput, error) {
1704	req, out := c.GetAssessmentRequest(input)
1705	req.SetContext(ctx)
1706	req.ApplyOptions(opts...)
1707	return out, req.Send()
1708}
1709
1710const opGetAssessmentFramework = "GetAssessmentFramework"
1711
1712// GetAssessmentFrameworkRequest generates a "aws/request.Request" representing the
1713// client's request for the GetAssessmentFramework operation. The "output" return
1714// value will be populated with the request's response once the request completes
1715// successfully.
1716//
1717// Use "Send" method on the returned Request to send the API call to the service.
1718// the "output" return value is not valid until after Send returns without error.
1719//
1720// See GetAssessmentFramework for more information on using the GetAssessmentFramework
1721// API call, and error handling.
1722//
1723// This method is useful when you want to inject custom logic or configuration
1724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1725//
1726//
1727//    // Example sending a request using the GetAssessmentFrameworkRequest method.
1728//    req, resp := client.GetAssessmentFrameworkRequest(params)
1729//
1730//    err := req.Send()
1731//    if err == nil { // resp is now filled
1732//        fmt.Println(resp)
1733//    }
1734//
1735// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1736func (c *AuditManager) GetAssessmentFrameworkRequest(input *GetAssessmentFrameworkInput) (req *request.Request, output *GetAssessmentFrameworkOutput) {
1737	op := &request.Operation{
1738		Name:       opGetAssessmentFramework,
1739		HTTPMethod: "GET",
1740		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
1741	}
1742
1743	if input == nil {
1744		input = &GetAssessmentFrameworkInput{}
1745	}
1746
1747	output = &GetAssessmentFrameworkOutput{}
1748	req = c.newRequest(op, input, output)
1749	return
1750}
1751
1752// GetAssessmentFramework API operation for AWS Audit Manager.
1753//
1754// Returns a framework from AWS Audit Manager.
1755//
1756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1757// with awserr.Error's Code and Message methods to get detailed information about
1758// the error.
1759//
1760// See the AWS API reference guide for AWS Audit Manager's
1761// API operation GetAssessmentFramework for usage and error information.
1762//
1763// Returned Error Types:
1764//   * ResourceNotFoundException
1765//   The resource specified in the request cannot be found.
1766//
1767//   * ValidationException
1768//   The request has invalid or missing parameters.
1769//
1770//   * AccessDeniedException
1771//   You do not have sufficient access to perform this action.
1772//
1773//   * InternalServerException
1774//   An internal service error occurred during the processing of your request.
1775//   Try again later.
1776//
1777// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentFramework
1778func (c *AuditManager) GetAssessmentFramework(input *GetAssessmentFrameworkInput) (*GetAssessmentFrameworkOutput, error) {
1779	req, out := c.GetAssessmentFrameworkRequest(input)
1780	return out, req.Send()
1781}
1782
1783// GetAssessmentFrameworkWithContext is the same as GetAssessmentFramework with the addition of
1784// the ability to pass a context and additional request options.
1785//
1786// See GetAssessmentFramework for details on how to use this API operation.
1787//
1788// The context must be non-nil and will be used for request cancellation. If
1789// the context is nil a panic will occur. In the future the SDK may create
1790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1791// for more information on using Contexts.
1792func (c *AuditManager) GetAssessmentFrameworkWithContext(ctx aws.Context, input *GetAssessmentFrameworkInput, opts ...request.Option) (*GetAssessmentFrameworkOutput, error) {
1793	req, out := c.GetAssessmentFrameworkRequest(input)
1794	req.SetContext(ctx)
1795	req.ApplyOptions(opts...)
1796	return out, req.Send()
1797}
1798
1799const opGetAssessmentReportUrl = "GetAssessmentReportUrl"
1800
1801// GetAssessmentReportUrlRequest generates a "aws/request.Request" representing the
1802// client's request for the GetAssessmentReportUrl operation. The "output" return
1803// value will be populated with the request's response once the request completes
1804// successfully.
1805//
1806// Use "Send" method on the returned Request to send the API call to the service.
1807// the "output" return value is not valid until after Send returns without error.
1808//
1809// See GetAssessmentReportUrl for more information on using the GetAssessmentReportUrl
1810// API call, and error handling.
1811//
1812// This method is useful when you want to inject custom logic or configuration
1813// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1814//
1815//
1816//    // Example sending a request using the GetAssessmentReportUrlRequest method.
1817//    req, resp := client.GetAssessmentReportUrlRequest(params)
1818//
1819//    err := req.Send()
1820//    if err == nil { // resp is now filled
1821//        fmt.Println(resp)
1822//    }
1823//
1824// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1825func (c *AuditManager) GetAssessmentReportUrlRequest(input *GetAssessmentReportUrlInput) (req *request.Request, output *GetAssessmentReportUrlOutput) {
1826	op := &request.Operation{
1827		Name:       opGetAssessmentReportUrl,
1828		HTTPMethod: "GET",
1829		HTTPPath:   "/assessments/{assessmentId}/reports/{assessmentReportId}/url",
1830	}
1831
1832	if input == nil {
1833		input = &GetAssessmentReportUrlInput{}
1834	}
1835
1836	output = &GetAssessmentReportUrlOutput{}
1837	req = c.newRequest(op, input, output)
1838	return
1839}
1840
1841// GetAssessmentReportUrl API operation for AWS Audit Manager.
1842//
1843// Returns the URL of a specified assessment report in AWS Audit Manager.
1844//
1845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1846// with awserr.Error's Code and Message methods to get detailed information about
1847// the error.
1848//
1849// See the AWS API reference guide for AWS Audit Manager's
1850// API operation GetAssessmentReportUrl for usage and error information.
1851//
1852// Returned Error Types:
1853//   * ValidationException
1854//   The request has invalid or missing parameters.
1855//
1856//   * AccessDeniedException
1857//   You do not have sufficient access to perform this action.
1858//
1859//   * InternalServerException
1860//   An internal service error occurred during the processing of your request.
1861//   Try again later.
1862//
1863//   * ResourceNotFoundException
1864//   The resource specified in the request cannot be found.
1865//
1866// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetAssessmentReportUrl
1867func (c *AuditManager) GetAssessmentReportUrl(input *GetAssessmentReportUrlInput) (*GetAssessmentReportUrlOutput, error) {
1868	req, out := c.GetAssessmentReportUrlRequest(input)
1869	return out, req.Send()
1870}
1871
1872// GetAssessmentReportUrlWithContext is the same as GetAssessmentReportUrl with the addition of
1873// the ability to pass a context and additional request options.
1874//
1875// See GetAssessmentReportUrl for details on how to use this API operation.
1876//
1877// The context must be non-nil and will be used for request cancellation. If
1878// the context is nil a panic will occur. In the future the SDK may create
1879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1880// for more information on using Contexts.
1881func (c *AuditManager) GetAssessmentReportUrlWithContext(ctx aws.Context, input *GetAssessmentReportUrlInput, opts ...request.Option) (*GetAssessmentReportUrlOutput, error) {
1882	req, out := c.GetAssessmentReportUrlRequest(input)
1883	req.SetContext(ctx)
1884	req.ApplyOptions(opts...)
1885	return out, req.Send()
1886}
1887
1888const opGetChangeLogs = "GetChangeLogs"
1889
1890// GetChangeLogsRequest generates a "aws/request.Request" representing the
1891// client's request for the GetChangeLogs operation. The "output" return
1892// value will be populated with the request's response once the request completes
1893// successfully.
1894//
1895// Use "Send" method on the returned Request to send the API call to the service.
1896// the "output" return value is not valid until after Send returns without error.
1897//
1898// See GetChangeLogs for more information on using the GetChangeLogs
1899// API call, and error handling.
1900//
1901// This method is useful when you want to inject custom logic or configuration
1902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1903//
1904//
1905//    // Example sending a request using the GetChangeLogsRequest method.
1906//    req, resp := client.GetChangeLogsRequest(params)
1907//
1908//    err := req.Send()
1909//    if err == nil { // resp is now filled
1910//        fmt.Println(resp)
1911//    }
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
1914func (c *AuditManager) GetChangeLogsRequest(input *GetChangeLogsInput) (req *request.Request, output *GetChangeLogsOutput) {
1915	op := &request.Operation{
1916		Name:       opGetChangeLogs,
1917		HTTPMethod: "GET",
1918		HTTPPath:   "/assessments/{assessmentId}/changelogs",
1919		Paginator: &request.Paginator{
1920			InputTokens:     []string{"nextToken"},
1921			OutputTokens:    []string{"nextToken"},
1922			LimitToken:      "maxResults",
1923			TruncationToken: "",
1924		},
1925	}
1926
1927	if input == nil {
1928		input = &GetChangeLogsInput{}
1929	}
1930
1931	output = &GetChangeLogsOutput{}
1932	req = c.newRequest(op, input, output)
1933	return
1934}
1935
1936// GetChangeLogs API operation for AWS Audit Manager.
1937//
1938// Returns a list of changelogs from AWS Audit Manager.
1939//
1940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1941// with awserr.Error's Code and Message methods to get detailed information about
1942// the error.
1943//
1944// See the AWS API reference guide for AWS Audit Manager's
1945// API operation GetChangeLogs for usage and error information.
1946//
1947// Returned Error Types:
1948//   * AccessDeniedException
1949//   You do not have sufficient access to perform this action.
1950//
1951//   * ResourceNotFoundException
1952//   The resource specified in the request cannot be found.
1953//
1954//   * ValidationException
1955//   The request has invalid or missing parameters.
1956//
1957//   * InternalServerException
1958//   An internal service error occurred during the processing of your request.
1959//   Try again later.
1960//
1961// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetChangeLogs
1962func (c *AuditManager) GetChangeLogs(input *GetChangeLogsInput) (*GetChangeLogsOutput, error) {
1963	req, out := c.GetChangeLogsRequest(input)
1964	return out, req.Send()
1965}
1966
1967// GetChangeLogsWithContext is the same as GetChangeLogs with the addition of
1968// the ability to pass a context and additional request options.
1969//
1970// See GetChangeLogs for details on how to use this API operation.
1971//
1972// The context must be non-nil and will be used for request cancellation. If
1973// the context is nil a panic will occur. In the future the SDK may create
1974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1975// for more information on using Contexts.
1976func (c *AuditManager) GetChangeLogsWithContext(ctx aws.Context, input *GetChangeLogsInput, opts ...request.Option) (*GetChangeLogsOutput, error) {
1977	req, out := c.GetChangeLogsRequest(input)
1978	req.SetContext(ctx)
1979	req.ApplyOptions(opts...)
1980	return out, req.Send()
1981}
1982
1983// GetChangeLogsPages iterates over the pages of a GetChangeLogs operation,
1984// calling the "fn" function with the response data for each page. To stop
1985// iterating, return false from the fn function.
1986//
1987// See GetChangeLogs method for more information on how to use this operation.
1988//
1989// Note: This operation can generate multiple requests to a service.
1990//
1991//    // Example iterating over at most 3 pages of a GetChangeLogs operation.
1992//    pageNum := 0
1993//    err := client.GetChangeLogsPages(params,
1994//        func(page *auditmanager.GetChangeLogsOutput, lastPage bool) bool {
1995//            pageNum++
1996//            fmt.Println(page)
1997//            return pageNum <= 3
1998//        })
1999//
2000func (c *AuditManager) GetChangeLogsPages(input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool) error {
2001	return c.GetChangeLogsPagesWithContext(aws.BackgroundContext(), input, fn)
2002}
2003
2004// GetChangeLogsPagesWithContext same as GetChangeLogsPages except
2005// it takes a Context and allows setting request options on the pages.
2006//
2007// The context must be non-nil and will be used for request cancellation. If
2008// the context is nil a panic will occur. In the future the SDK may create
2009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2010// for more information on using Contexts.
2011func (c *AuditManager) GetChangeLogsPagesWithContext(ctx aws.Context, input *GetChangeLogsInput, fn func(*GetChangeLogsOutput, bool) bool, opts ...request.Option) error {
2012	p := request.Pagination{
2013		NewRequest: func() (*request.Request, error) {
2014			var inCpy *GetChangeLogsInput
2015			if input != nil {
2016				tmp := *input
2017				inCpy = &tmp
2018			}
2019			req, _ := c.GetChangeLogsRequest(inCpy)
2020			req.SetContext(ctx)
2021			req.ApplyOptions(opts...)
2022			return req, nil
2023		},
2024	}
2025
2026	for p.Next() {
2027		if !fn(p.Page().(*GetChangeLogsOutput), !p.HasNextPage()) {
2028			break
2029		}
2030	}
2031
2032	return p.Err()
2033}
2034
2035const opGetControl = "GetControl"
2036
2037// GetControlRequest generates a "aws/request.Request" representing the
2038// client's request for the GetControl operation. The "output" return
2039// value will be populated with the request's response once the request completes
2040// successfully.
2041//
2042// Use "Send" method on the returned Request to send the API call to the service.
2043// the "output" return value is not valid until after Send returns without error.
2044//
2045// See GetControl for more information on using the GetControl
2046// API call, and error handling.
2047//
2048// This method is useful when you want to inject custom logic or configuration
2049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2050//
2051//
2052//    // Example sending a request using the GetControlRequest method.
2053//    req, resp := client.GetControlRequest(params)
2054//
2055//    err := req.Send()
2056//    if err == nil { // resp is now filled
2057//        fmt.Println(resp)
2058//    }
2059//
2060// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2061func (c *AuditManager) GetControlRequest(input *GetControlInput) (req *request.Request, output *GetControlOutput) {
2062	op := &request.Operation{
2063		Name:       opGetControl,
2064		HTTPMethod: "GET",
2065		HTTPPath:   "/controls/{controlId}",
2066	}
2067
2068	if input == nil {
2069		input = &GetControlInput{}
2070	}
2071
2072	output = &GetControlOutput{}
2073	req = c.newRequest(op, input, output)
2074	return
2075}
2076
2077// GetControl API operation for AWS Audit Manager.
2078//
2079// Returns a control from AWS Audit Manager.
2080//
2081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2082// with awserr.Error's Code and Message methods to get detailed information about
2083// the error.
2084//
2085// See the AWS API reference guide for AWS Audit Manager's
2086// API operation GetControl for usage and error information.
2087//
2088// Returned Error Types:
2089//   * ResourceNotFoundException
2090//   The resource specified in the request cannot be found.
2091//
2092//   * ValidationException
2093//   The request has invalid or missing parameters.
2094//
2095//   * AccessDeniedException
2096//   You do not have sufficient access to perform this action.
2097//
2098//   * InternalServerException
2099//   An internal service error occurred during the processing of your request.
2100//   Try again later.
2101//
2102// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetControl
2103func (c *AuditManager) GetControl(input *GetControlInput) (*GetControlOutput, error) {
2104	req, out := c.GetControlRequest(input)
2105	return out, req.Send()
2106}
2107
2108// GetControlWithContext is the same as GetControl with the addition of
2109// the ability to pass a context and additional request options.
2110//
2111// See GetControl for details on how to use this API operation.
2112//
2113// The context must be non-nil and will be used for request cancellation. If
2114// the context is nil a panic will occur. In the future the SDK may create
2115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2116// for more information on using Contexts.
2117func (c *AuditManager) GetControlWithContext(ctx aws.Context, input *GetControlInput, opts ...request.Option) (*GetControlOutput, error) {
2118	req, out := c.GetControlRequest(input)
2119	req.SetContext(ctx)
2120	req.ApplyOptions(opts...)
2121	return out, req.Send()
2122}
2123
2124const opGetDelegations = "GetDelegations"
2125
2126// GetDelegationsRequest generates a "aws/request.Request" representing the
2127// client's request for the GetDelegations operation. The "output" return
2128// value will be populated with the request's response once the request completes
2129// successfully.
2130//
2131// Use "Send" method on the returned Request to send the API call to the service.
2132// the "output" return value is not valid until after Send returns without error.
2133//
2134// See GetDelegations for more information on using the GetDelegations
2135// API call, and error handling.
2136//
2137// This method is useful when you want to inject custom logic or configuration
2138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2139//
2140//
2141//    // Example sending a request using the GetDelegationsRequest method.
2142//    req, resp := client.GetDelegationsRequest(params)
2143//
2144//    err := req.Send()
2145//    if err == nil { // resp is now filled
2146//        fmt.Println(resp)
2147//    }
2148//
2149// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2150func (c *AuditManager) GetDelegationsRequest(input *GetDelegationsInput) (req *request.Request, output *GetDelegationsOutput) {
2151	op := &request.Operation{
2152		Name:       opGetDelegations,
2153		HTTPMethod: "GET",
2154		HTTPPath:   "/delegations",
2155		Paginator: &request.Paginator{
2156			InputTokens:     []string{"nextToken"},
2157			OutputTokens:    []string{"nextToken"},
2158			LimitToken:      "maxResults",
2159			TruncationToken: "",
2160		},
2161	}
2162
2163	if input == nil {
2164		input = &GetDelegationsInput{}
2165	}
2166
2167	output = &GetDelegationsOutput{}
2168	req = c.newRequest(op, input, output)
2169	return
2170}
2171
2172// GetDelegations API operation for AWS Audit Manager.
2173//
2174// Returns a list of delegations from an audit owner to a delegate.
2175//
2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2177// with awserr.Error's Code and Message methods to get detailed information about
2178// the error.
2179//
2180// See the AWS API reference guide for AWS Audit Manager's
2181// API operation GetDelegations for usage and error information.
2182//
2183// Returned Error Types:
2184//   * ValidationException
2185//   The request has invalid or missing parameters.
2186//
2187//   * AccessDeniedException
2188//   You do not have sufficient access to perform this action.
2189//
2190//   * InternalServerException
2191//   An internal service error occurred during the processing of your request.
2192//   Try again later.
2193//
2194// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetDelegations
2195func (c *AuditManager) GetDelegations(input *GetDelegationsInput) (*GetDelegationsOutput, error) {
2196	req, out := c.GetDelegationsRequest(input)
2197	return out, req.Send()
2198}
2199
2200// GetDelegationsWithContext is the same as GetDelegations with the addition of
2201// the ability to pass a context and additional request options.
2202//
2203// See GetDelegations for details on how to use this API operation.
2204//
2205// The context must be non-nil and will be used for request cancellation. If
2206// the context is nil a panic will occur. In the future the SDK may create
2207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2208// for more information on using Contexts.
2209func (c *AuditManager) GetDelegationsWithContext(ctx aws.Context, input *GetDelegationsInput, opts ...request.Option) (*GetDelegationsOutput, error) {
2210	req, out := c.GetDelegationsRequest(input)
2211	req.SetContext(ctx)
2212	req.ApplyOptions(opts...)
2213	return out, req.Send()
2214}
2215
2216// GetDelegationsPages iterates over the pages of a GetDelegations operation,
2217// calling the "fn" function with the response data for each page. To stop
2218// iterating, return false from the fn function.
2219//
2220// See GetDelegations method for more information on how to use this operation.
2221//
2222// Note: This operation can generate multiple requests to a service.
2223//
2224//    // Example iterating over at most 3 pages of a GetDelegations operation.
2225//    pageNum := 0
2226//    err := client.GetDelegationsPages(params,
2227//        func(page *auditmanager.GetDelegationsOutput, lastPage bool) bool {
2228//            pageNum++
2229//            fmt.Println(page)
2230//            return pageNum <= 3
2231//        })
2232//
2233func (c *AuditManager) GetDelegationsPages(input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool) error {
2234	return c.GetDelegationsPagesWithContext(aws.BackgroundContext(), input, fn)
2235}
2236
2237// GetDelegationsPagesWithContext same as GetDelegationsPages except
2238// it takes a Context and allows setting request options on the pages.
2239//
2240// The context must be non-nil and will be used for request cancellation. If
2241// the context is nil a panic will occur. In the future the SDK may create
2242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2243// for more information on using Contexts.
2244func (c *AuditManager) GetDelegationsPagesWithContext(ctx aws.Context, input *GetDelegationsInput, fn func(*GetDelegationsOutput, bool) bool, opts ...request.Option) error {
2245	p := request.Pagination{
2246		NewRequest: func() (*request.Request, error) {
2247			var inCpy *GetDelegationsInput
2248			if input != nil {
2249				tmp := *input
2250				inCpy = &tmp
2251			}
2252			req, _ := c.GetDelegationsRequest(inCpy)
2253			req.SetContext(ctx)
2254			req.ApplyOptions(opts...)
2255			return req, nil
2256		},
2257	}
2258
2259	for p.Next() {
2260		if !fn(p.Page().(*GetDelegationsOutput), !p.HasNextPage()) {
2261			break
2262		}
2263	}
2264
2265	return p.Err()
2266}
2267
2268const opGetEvidence = "GetEvidence"
2269
2270// GetEvidenceRequest generates a "aws/request.Request" representing the
2271// client's request for the GetEvidence operation. The "output" return
2272// value will be populated with the request's response once the request completes
2273// successfully.
2274//
2275// Use "Send" method on the returned Request to send the API call to the service.
2276// the "output" return value is not valid until after Send returns without error.
2277//
2278// See GetEvidence for more information on using the GetEvidence
2279// API call, and error handling.
2280//
2281// This method is useful when you want to inject custom logic or configuration
2282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2283//
2284//
2285//    // Example sending a request using the GetEvidenceRequest method.
2286//    req, resp := client.GetEvidenceRequest(params)
2287//
2288//    err := req.Send()
2289//    if err == nil { // resp is now filled
2290//        fmt.Println(resp)
2291//    }
2292//
2293// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2294func (c *AuditManager) GetEvidenceRequest(input *GetEvidenceInput) (req *request.Request, output *GetEvidenceOutput) {
2295	op := &request.Operation{
2296		Name:       opGetEvidence,
2297		HTTPMethod: "GET",
2298		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence/{evidenceId}",
2299	}
2300
2301	if input == nil {
2302		input = &GetEvidenceInput{}
2303	}
2304
2305	output = &GetEvidenceOutput{}
2306	req = c.newRequest(op, input, output)
2307	return
2308}
2309
2310// GetEvidence API operation for AWS Audit Manager.
2311//
2312// Returns evidence from AWS Audit Manager.
2313//
2314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2315// with awserr.Error's Code and Message methods to get detailed information about
2316// the error.
2317//
2318// See the AWS API reference guide for AWS Audit Manager's
2319// API operation GetEvidence for usage and error information.
2320//
2321// Returned Error Types:
2322//   * ResourceNotFoundException
2323//   The resource specified in the request cannot be found.
2324//
2325//   * ValidationException
2326//   The request has invalid or missing parameters.
2327//
2328//   * AccessDeniedException
2329//   You do not have sufficient access to perform this action.
2330//
2331//   * InternalServerException
2332//   An internal service error occurred during the processing of your request.
2333//   Try again later.
2334//
2335// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidence
2336func (c *AuditManager) GetEvidence(input *GetEvidenceInput) (*GetEvidenceOutput, error) {
2337	req, out := c.GetEvidenceRequest(input)
2338	return out, req.Send()
2339}
2340
2341// GetEvidenceWithContext is the same as GetEvidence with the addition of
2342// the ability to pass a context and additional request options.
2343//
2344// See GetEvidence for details on how to use this API operation.
2345//
2346// The context must be non-nil and will be used for request cancellation. If
2347// the context is nil a panic will occur. In the future the SDK may create
2348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2349// for more information on using Contexts.
2350func (c *AuditManager) GetEvidenceWithContext(ctx aws.Context, input *GetEvidenceInput, opts ...request.Option) (*GetEvidenceOutput, error) {
2351	req, out := c.GetEvidenceRequest(input)
2352	req.SetContext(ctx)
2353	req.ApplyOptions(opts...)
2354	return out, req.Send()
2355}
2356
2357const opGetEvidenceByEvidenceFolder = "GetEvidenceByEvidenceFolder"
2358
2359// GetEvidenceByEvidenceFolderRequest generates a "aws/request.Request" representing the
2360// client's request for the GetEvidenceByEvidenceFolder operation. The "output" return
2361// value will be populated with the request's response once the request completes
2362// successfully.
2363//
2364// Use "Send" method on the returned Request to send the API call to the service.
2365// the "output" return value is not valid until after Send returns without error.
2366//
2367// See GetEvidenceByEvidenceFolder for more information on using the GetEvidenceByEvidenceFolder
2368// API call, and error handling.
2369//
2370// This method is useful when you want to inject custom logic or configuration
2371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2372//
2373//
2374//    // Example sending a request using the GetEvidenceByEvidenceFolderRequest method.
2375//    req, resp := client.GetEvidenceByEvidenceFolderRequest(params)
2376//
2377//    err := req.Send()
2378//    if err == nil { // resp is now filled
2379//        fmt.Println(resp)
2380//    }
2381//
2382// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2383func (c *AuditManager) GetEvidenceByEvidenceFolderRequest(input *GetEvidenceByEvidenceFolderInput) (req *request.Request, output *GetEvidenceByEvidenceFolderOutput) {
2384	op := &request.Operation{
2385		Name:       opGetEvidenceByEvidenceFolder,
2386		HTTPMethod: "GET",
2387		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence",
2388		Paginator: &request.Paginator{
2389			InputTokens:     []string{"nextToken"},
2390			OutputTokens:    []string{"nextToken"},
2391			LimitToken:      "maxResults",
2392			TruncationToken: "",
2393		},
2394	}
2395
2396	if input == nil {
2397		input = &GetEvidenceByEvidenceFolderInput{}
2398	}
2399
2400	output = &GetEvidenceByEvidenceFolderOutput{}
2401	req = c.newRequest(op, input, output)
2402	return
2403}
2404
2405// GetEvidenceByEvidenceFolder API operation for AWS Audit Manager.
2406//
2407// Returns all evidence from a specified evidence folder in AWS Audit Manager.
2408//
2409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2410// with awserr.Error's Code and Message methods to get detailed information about
2411// the error.
2412//
2413// See the AWS API reference guide for AWS Audit Manager's
2414// API operation GetEvidenceByEvidenceFolder for usage and error information.
2415//
2416// Returned Error Types:
2417//   * ResourceNotFoundException
2418//   The resource specified in the request cannot be found.
2419//
2420//   * ValidationException
2421//   The request has invalid or missing parameters.
2422//
2423//   * AccessDeniedException
2424//   You do not have sufficient access to perform this action.
2425//
2426//   * InternalServerException
2427//   An internal service error occurred during the processing of your request.
2428//   Try again later.
2429//
2430// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceByEvidenceFolder
2431func (c *AuditManager) GetEvidenceByEvidenceFolder(input *GetEvidenceByEvidenceFolderInput) (*GetEvidenceByEvidenceFolderOutput, error) {
2432	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2433	return out, req.Send()
2434}
2435
2436// GetEvidenceByEvidenceFolderWithContext is the same as GetEvidenceByEvidenceFolder with the addition of
2437// the ability to pass a context and additional request options.
2438//
2439// See GetEvidenceByEvidenceFolder for details on how to use this API operation.
2440//
2441// The context must be non-nil and will be used for request cancellation. If
2442// the context is nil a panic will occur. In the future the SDK may create
2443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2444// for more information on using Contexts.
2445func (c *AuditManager) GetEvidenceByEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, opts ...request.Option) (*GetEvidenceByEvidenceFolderOutput, error) {
2446	req, out := c.GetEvidenceByEvidenceFolderRequest(input)
2447	req.SetContext(ctx)
2448	req.ApplyOptions(opts...)
2449	return out, req.Send()
2450}
2451
2452// GetEvidenceByEvidenceFolderPages iterates over the pages of a GetEvidenceByEvidenceFolder operation,
2453// calling the "fn" function with the response data for each page. To stop
2454// iterating, return false from the fn function.
2455//
2456// See GetEvidenceByEvidenceFolder method for more information on how to use this operation.
2457//
2458// Note: This operation can generate multiple requests to a service.
2459//
2460//    // Example iterating over at most 3 pages of a GetEvidenceByEvidenceFolder operation.
2461//    pageNum := 0
2462//    err := client.GetEvidenceByEvidenceFolderPages(params,
2463//        func(page *auditmanager.GetEvidenceByEvidenceFolderOutput, lastPage bool) bool {
2464//            pageNum++
2465//            fmt.Println(page)
2466//            return pageNum <= 3
2467//        })
2468//
2469func (c *AuditManager) GetEvidenceByEvidenceFolderPages(input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool) error {
2470	return c.GetEvidenceByEvidenceFolderPagesWithContext(aws.BackgroundContext(), input, fn)
2471}
2472
2473// GetEvidenceByEvidenceFolderPagesWithContext same as GetEvidenceByEvidenceFolderPages except
2474// it takes a Context and allows setting request options on the pages.
2475//
2476// The context must be non-nil and will be used for request cancellation. If
2477// the context is nil a panic will occur. In the future the SDK may create
2478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2479// for more information on using Contexts.
2480func (c *AuditManager) GetEvidenceByEvidenceFolderPagesWithContext(ctx aws.Context, input *GetEvidenceByEvidenceFolderInput, fn func(*GetEvidenceByEvidenceFolderOutput, bool) bool, opts ...request.Option) error {
2481	p := request.Pagination{
2482		NewRequest: func() (*request.Request, error) {
2483			var inCpy *GetEvidenceByEvidenceFolderInput
2484			if input != nil {
2485				tmp := *input
2486				inCpy = &tmp
2487			}
2488			req, _ := c.GetEvidenceByEvidenceFolderRequest(inCpy)
2489			req.SetContext(ctx)
2490			req.ApplyOptions(opts...)
2491			return req, nil
2492		},
2493	}
2494
2495	for p.Next() {
2496		if !fn(p.Page().(*GetEvidenceByEvidenceFolderOutput), !p.HasNextPage()) {
2497			break
2498		}
2499	}
2500
2501	return p.Err()
2502}
2503
2504const opGetEvidenceFolder = "GetEvidenceFolder"
2505
2506// GetEvidenceFolderRequest generates a "aws/request.Request" representing the
2507// client's request for the GetEvidenceFolder operation. The "output" return
2508// value will be populated with the request's response once the request completes
2509// successfully.
2510//
2511// Use "Send" method on the returned Request to send the API call to the service.
2512// the "output" return value is not valid until after Send returns without error.
2513//
2514// See GetEvidenceFolder for more information on using the GetEvidenceFolder
2515// API call, and error handling.
2516//
2517// This method is useful when you want to inject custom logic or configuration
2518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2519//
2520//
2521//    // Example sending a request using the GetEvidenceFolderRequest method.
2522//    req, resp := client.GetEvidenceFolderRequest(params)
2523//
2524//    err := req.Send()
2525//    if err == nil { // resp is now filled
2526//        fmt.Println(resp)
2527//    }
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2530func (c *AuditManager) GetEvidenceFolderRequest(input *GetEvidenceFolderInput) (req *request.Request, output *GetEvidenceFolderOutput) {
2531	op := &request.Operation{
2532		Name:       opGetEvidenceFolder,
2533		HTTPMethod: "GET",
2534		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}",
2535	}
2536
2537	if input == nil {
2538		input = &GetEvidenceFolderInput{}
2539	}
2540
2541	output = &GetEvidenceFolderOutput{}
2542	req = c.newRequest(op, input, output)
2543	return
2544}
2545
2546// GetEvidenceFolder API operation for AWS Audit Manager.
2547//
2548// Returns an evidence folder from the specified assessment in AWS Audit Manager.
2549//
2550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2551// with awserr.Error's Code and Message methods to get detailed information about
2552// the error.
2553//
2554// See the AWS API reference guide for AWS Audit Manager's
2555// API operation GetEvidenceFolder for usage and error information.
2556//
2557// Returned Error Types:
2558//   * ResourceNotFoundException
2559//   The resource specified in the request cannot be found.
2560//
2561//   * ValidationException
2562//   The request has invalid or missing parameters.
2563//
2564//   * AccessDeniedException
2565//   You do not have sufficient access to perform this action.
2566//
2567//   * InternalServerException
2568//   An internal service error occurred during the processing of your request.
2569//   Try again later.
2570//
2571// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFolder
2572func (c *AuditManager) GetEvidenceFolder(input *GetEvidenceFolderInput) (*GetEvidenceFolderOutput, error) {
2573	req, out := c.GetEvidenceFolderRequest(input)
2574	return out, req.Send()
2575}
2576
2577// GetEvidenceFolderWithContext is the same as GetEvidenceFolder with the addition of
2578// the ability to pass a context and additional request options.
2579//
2580// See GetEvidenceFolder for details on how to use this API operation.
2581//
2582// The context must be non-nil and will be used for request cancellation. If
2583// the context is nil a panic will occur. In the future the SDK may create
2584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2585// for more information on using Contexts.
2586func (c *AuditManager) GetEvidenceFolderWithContext(ctx aws.Context, input *GetEvidenceFolderInput, opts ...request.Option) (*GetEvidenceFolderOutput, error) {
2587	req, out := c.GetEvidenceFolderRequest(input)
2588	req.SetContext(ctx)
2589	req.ApplyOptions(opts...)
2590	return out, req.Send()
2591}
2592
2593const opGetEvidenceFoldersByAssessment = "GetEvidenceFoldersByAssessment"
2594
2595// GetEvidenceFoldersByAssessmentRequest generates a "aws/request.Request" representing the
2596// client's request for the GetEvidenceFoldersByAssessment operation. The "output" return
2597// value will be populated with the request's response once the request completes
2598// successfully.
2599//
2600// Use "Send" method on the returned Request to send the API call to the service.
2601// the "output" return value is not valid until after Send returns without error.
2602//
2603// See GetEvidenceFoldersByAssessment for more information on using the GetEvidenceFoldersByAssessment
2604// API call, and error handling.
2605//
2606// This method is useful when you want to inject custom logic or configuration
2607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2608//
2609//
2610//    // Example sending a request using the GetEvidenceFoldersByAssessmentRequest method.
2611//    req, resp := client.GetEvidenceFoldersByAssessmentRequest(params)
2612//
2613//    err := req.Send()
2614//    if err == nil { // resp is now filled
2615//        fmt.Println(resp)
2616//    }
2617//
2618// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2619func (c *AuditManager) GetEvidenceFoldersByAssessmentRequest(input *GetEvidenceFoldersByAssessmentInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentOutput) {
2620	op := &request.Operation{
2621		Name:       opGetEvidenceFoldersByAssessment,
2622		HTTPMethod: "GET",
2623		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders",
2624		Paginator: &request.Paginator{
2625			InputTokens:     []string{"nextToken"},
2626			OutputTokens:    []string{"nextToken"},
2627			LimitToken:      "maxResults",
2628			TruncationToken: "",
2629		},
2630	}
2631
2632	if input == nil {
2633		input = &GetEvidenceFoldersByAssessmentInput{}
2634	}
2635
2636	output = &GetEvidenceFoldersByAssessmentOutput{}
2637	req = c.newRequest(op, input, output)
2638	return
2639}
2640
2641// GetEvidenceFoldersByAssessment API operation for AWS Audit Manager.
2642//
2643// Returns the evidence folders from a specified assessment in AWS Audit Manager.
2644//
2645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2646// with awserr.Error's Code and Message methods to get detailed information about
2647// the error.
2648//
2649// See the AWS API reference guide for AWS Audit Manager's
2650// API operation GetEvidenceFoldersByAssessment for usage and error information.
2651//
2652// Returned Error Types:
2653//   * ResourceNotFoundException
2654//   The resource specified in the request cannot be found.
2655//
2656//   * AccessDeniedException
2657//   You do not have sufficient access to perform this action.
2658//
2659//   * ValidationException
2660//   The request has invalid or missing parameters.
2661//
2662//   * InternalServerException
2663//   An internal service error occurred during the processing of your request.
2664//   Try again later.
2665//
2666// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessment
2667func (c *AuditManager) GetEvidenceFoldersByAssessment(input *GetEvidenceFoldersByAssessmentInput) (*GetEvidenceFoldersByAssessmentOutput, error) {
2668	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2669	return out, req.Send()
2670}
2671
2672// GetEvidenceFoldersByAssessmentWithContext is the same as GetEvidenceFoldersByAssessment with the addition of
2673// the ability to pass a context and additional request options.
2674//
2675// See GetEvidenceFoldersByAssessment for details on how to use this API operation.
2676//
2677// The context must be non-nil and will be used for request cancellation. If
2678// the context is nil a panic will occur. In the future the SDK may create
2679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2680// for more information on using Contexts.
2681func (c *AuditManager) GetEvidenceFoldersByAssessmentWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentOutput, error) {
2682	req, out := c.GetEvidenceFoldersByAssessmentRequest(input)
2683	req.SetContext(ctx)
2684	req.ApplyOptions(opts...)
2685	return out, req.Send()
2686}
2687
2688// GetEvidenceFoldersByAssessmentPages iterates over the pages of a GetEvidenceFoldersByAssessment operation,
2689// calling the "fn" function with the response data for each page. To stop
2690// iterating, return false from the fn function.
2691//
2692// See GetEvidenceFoldersByAssessment method for more information on how to use this operation.
2693//
2694// Note: This operation can generate multiple requests to a service.
2695//
2696//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessment operation.
2697//    pageNum := 0
2698//    err := client.GetEvidenceFoldersByAssessmentPages(params,
2699//        func(page *auditmanager.GetEvidenceFoldersByAssessmentOutput, lastPage bool) bool {
2700//            pageNum++
2701//            fmt.Println(page)
2702//            return pageNum <= 3
2703//        })
2704//
2705func (c *AuditManager) GetEvidenceFoldersByAssessmentPages(input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool) error {
2706	return c.GetEvidenceFoldersByAssessmentPagesWithContext(aws.BackgroundContext(), input, fn)
2707}
2708
2709// GetEvidenceFoldersByAssessmentPagesWithContext same as GetEvidenceFoldersByAssessmentPages except
2710// it takes a Context and allows setting request options on the pages.
2711//
2712// The context must be non-nil and will be used for request cancellation. If
2713// the context is nil a panic will occur. In the future the SDK may create
2714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2715// for more information on using Contexts.
2716func (c *AuditManager) GetEvidenceFoldersByAssessmentPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentInput, fn func(*GetEvidenceFoldersByAssessmentOutput, bool) bool, opts ...request.Option) error {
2717	p := request.Pagination{
2718		NewRequest: func() (*request.Request, error) {
2719			var inCpy *GetEvidenceFoldersByAssessmentInput
2720			if input != nil {
2721				tmp := *input
2722				inCpy = &tmp
2723			}
2724			req, _ := c.GetEvidenceFoldersByAssessmentRequest(inCpy)
2725			req.SetContext(ctx)
2726			req.ApplyOptions(opts...)
2727			return req, nil
2728		},
2729	}
2730
2731	for p.Next() {
2732		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentOutput), !p.HasNextPage()) {
2733			break
2734		}
2735	}
2736
2737	return p.Err()
2738}
2739
2740const opGetEvidenceFoldersByAssessmentControl = "GetEvidenceFoldersByAssessmentControl"
2741
2742// GetEvidenceFoldersByAssessmentControlRequest generates a "aws/request.Request" representing the
2743// client's request for the GetEvidenceFoldersByAssessmentControl operation. The "output" return
2744// value will be populated with the request's response once the request completes
2745// successfully.
2746//
2747// Use "Send" method on the returned Request to send the API call to the service.
2748// the "output" return value is not valid until after Send returns without error.
2749//
2750// See GetEvidenceFoldersByAssessmentControl for more information on using the GetEvidenceFoldersByAssessmentControl
2751// API call, and error handling.
2752//
2753// This method is useful when you want to inject custom logic or configuration
2754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2755//
2756//
2757//    // Example sending a request using the GetEvidenceFoldersByAssessmentControlRequest method.
2758//    req, resp := client.GetEvidenceFoldersByAssessmentControlRequest(params)
2759//
2760//    err := req.Send()
2761//    if err == nil { // resp is now filled
2762//        fmt.Println(resp)
2763//    }
2764//
2765// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2766func (c *AuditManager) GetEvidenceFoldersByAssessmentControlRequest(input *GetEvidenceFoldersByAssessmentControlInput) (req *request.Request, output *GetEvidenceFoldersByAssessmentControlOutput) {
2767	op := &request.Operation{
2768		Name:       opGetEvidenceFoldersByAssessmentControl,
2769		HTTPMethod: "GET",
2770		HTTPPath:   "/assessments/{assessmentId}/evidenceFolders-by-assessment-control/{controlSetId}/{controlId}",
2771		Paginator: &request.Paginator{
2772			InputTokens:     []string{"nextToken"},
2773			OutputTokens:    []string{"nextToken"},
2774			LimitToken:      "maxResults",
2775			TruncationToken: "",
2776		},
2777	}
2778
2779	if input == nil {
2780		input = &GetEvidenceFoldersByAssessmentControlInput{}
2781	}
2782
2783	output = &GetEvidenceFoldersByAssessmentControlOutput{}
2784	req = c.newRequest(op, input, output)
2785	return
2786}
2787
2788// GetEvidenceFoldersByAssessmentControl API operation for AWS Audit Manager.
2789//
2790// Returns a list of evidence folders associated with a specified control of
2791// an assessment in AWS Audit Manager.
2792//
2793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2794// with awserr.Error's Code and Message methods to get detailed information about
2795// the error.
2796//
2797// See the AWS API reference guide for AWS Audit Manager's
2798// API operation GetEvidenceFoldersByAssessmentControl for usage and error information.
2799//
2800// Returned Error Types:
2801//   * ResourceNotFoundException
2802//   The resource specified in the request cannot be found.
2803//
2804//   * ValidationException
2805//   The request has invalid or missing parameters.
2806//
2807//   * AccessDeniedException
2808//   You do not have sufficient access to perform this action.
2809//
2810//   * InternalServerException
2811//   An internal service error occurred during the processing of your request.
2812//   Try again later.
2813//
2814// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetEvidenceFoldersByAssessmentControl
2815func (c *AuditManager) GetEvidenceFoldersByAssessmentControl(input *GetEvidenceFoldersByAssessmentControlInput) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2816	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2817	return out, req.Send()
2818}
2819
2820// GetEvidenceFoldersByAssessmentControlWithContext is the same as GetEvidenceFoldersByAssessmentControl with the addition of
2821// the ability to pass a context and additional request options.
2822//
2823// See GetEvidenceFoldersByAssessmentControl for details on how to use this API operation.
2824//
2825// The context must be non-nil and will be used for request cancellation. If
2826// the context is nil a panic will occur. In the future the SDK may create
2827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2828// for more information on using Contexts.
2829func (c *AuditManager) GetEvidenceFoldersByAssessmentControlWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, opts ...request.Option) (*GetEvidenceFoldersByAssessmentControlOutput, error) {
2830	req, out := c.GetEvidenceFoldersByAssessmentControlRequest(input)
2831	req.SetContext(ctx)
2832	req.ApplyOptions(opts...)
2833	return out, req.Send()
2834}
2835
2836// GetEvidenceFoldersByAssessmentControlPages iterates over the pages of a GetEvidenceFoldersByAssessmentControl operation,
2837// calling the "fn" function with the response data for each page. To stop
2838// iterating, return false from the fn function.
2839//
2840// See GetEvidenceFoldersByAssessmentControl method for more information on how to use this operation.
2841//
2842// Note: This operation can generate multiple requests to a service.
2843//
2844//    // Example iterating over at most 3 pages of a GetEvidenceFoldersByAssessmentControl operation.
2845//    pageNum := 0
2846//    err := client.GetEvidenceFoldersByAssessmentControlPages(params,
2847//        func(page *auditmanager.GetEvidenceFoldersByAssessmentControlOutput, lastPage bool) bool {
2848//            pageNum++
2849//            fmt.Println(page)
2850//            return pageNum <= 3
2851//        })
2852//
2853func (c *AuditManager) GetEvidenceFoldersByAssessmentControlPages(input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool) error {
2854	return c.GetEvidenceFoldersByAssessmentControlPagesWithContext(aws.BackgroundContext(), input, fn)
2855}
2856
2857// GetEvidenceFoldersByAssessmentControlPagesWithContext same as GetEvidenceFoldersByAssessmentControlPages except
2858// it takes a Context and allows setting request options on the pages.
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) GetEvidenceFoldersByAssessmentControlPagesWithContext(ctx aws.Context, input *GetEvidenceFoldersByAssessmentControlInput, fn func(*GetEvidenceFoldersByAssessmentControlOutput, bool) bool, opts ...request.Option) error {
2865	p := request.Pagination{
2866		NewRequest: func() (*request.Request, error) {
2867			var inCpy *GetEvidenceFoldersByAssessmentControlInput
2868			if input != nil {
2869				tmp := *input
2870				inCpy = &tmp
2871			}
2872			req, _ := c.GetEvidenceFoldersByAssessmentControlRequest(inCpy)
2873			req.SetContext(ctx)
2874			req.ApplyOptions(opts...)
2875			return req, nil
2876		},
2877	}
2878
2879	for p.Next() {
2880		if !fn(p.Page().(*GetEvidenceFoldersByAssessmentControlOutput), !p.HasNextPage()) {
2881			break
2882		}
2883	}
2884
2885	return p.Err()
2886}
2887
2888const opGetOrganizationAdminAccount = "GetOrganizationAdminAccount"
2889
2890// GetOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2891// client's request for the GetOrganizationAdminAccount operation. The "output" return
2892// value will be populated with the request's response once the request completes
2893// successfully.
2894//
2895// Use "Send" method on the returned Request to send the API call to the service.
2896// the "output" return value is not valid until after Send returns without error.
2897//
2898// See GetOrganizationAdminAccount for more information on using the GetOrganizationAdminAccount
2899// API call, and error handling.
2900//
2901// This method is useful when you want to inject custom logic or configuration
2902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2903//
2904//
2905//    // Example sending a request using the GetOrganizationAdminAccountRequest method.
2906//    req, resp := client.GetOrganizationAdminAccountRequest(params)
2907//
2908//    err := req.Send()
2909//    if err == nil { // resp is now filled
2910//        fmt.Println(resp)
2911//    }
2912//
2913// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
2914func (c *AuditManager) GetOrganizationAdminAccountRequest(input *GetOrganizationAdminAccountInput) (req *request.Request, output *GetOrganizationAdminAccountOutput) {
2915	op := &request.Operation{
2916		Name:       opGetOrganizationAdminAccount,
2917		HTTPMethod: "GET",
2918		HTTPPath:   "/account/organizationAdminAccount",
2919	}
2920
2921	if input == nil {
2922		input = &GetOrganizationAdminAccountInput{}
2923	}
2924
2925	output = &GetOrganizationAdminAccountOutput{}
2926	req = c.newRequest(op, input, output)
2927	return
2928}
2929
2930// GetOrganizationAdminAccount API operation for AWS Audit Manager.
2931//
2932// Returns the name of the delegated AWS administrator account for the AWS organization.
2933//
2934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2935// with awserr.Error's Code and Message methods to get detailed information about
2936// the error.
2937//
2938// See the AWS API reference guide for AWS Audit Manager's
2939// API operation GetOrganizationAdminAccount for usage and error information.
2940//
2941// Returned Error Types:
2942//   * ValidationException
2943//   The request has invalid or missing parameters.
2944//
2945//   * AccessDeniedException
2946//   You do not have sufficient access to perform this action.
2947//
2948//   * InternalServerException
2949//   An internal service error occurred during the processing of your request.
2950//   Try again later.
2951//
2952//   * ResourceNotFoundException
2953//   The resource specified in the request cannot be found.
2954//
2955// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetOrganizationAdminAccount
2956func (c *AuditManager) GetOrganizationAdminAccount(input *GetOrganizationAdminAccountInput) (*GetOrganizationAdminAccountOutput, error) {
2957	req, out := c.GetOrganizationAdminAccountRequest(input)
2958	return out, req.Send()
2959}
2960
2961// GetOrganizationAdminAccountWithContext is the same as GetOrganizationAdminAccount with the addition of
2962// the ability to pass a context and additional request options.
2963//
2964// See GetOrganizationAdminAccount for details on how to use this API operation.
2965//
2966// The context must be non-nil and will be used for request cancellation. If
2967// the context is nil a panic will occur. In the future the SDK may create
2968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2969// for more information on using Contexts.
2970func (c *AuditManager) GetOrganizationAdminAccountWithContext(ctx aws.Context, input *GetOrganizationAdminAccountInput, opts ...request.Option) (*GetOrganizationAdminAccountOutput, error) {
2971	req, out := c.GetOrganizationAdminAccountRequest(input)
2972	req.SetContext(ctx)
2973	req.ApplyOptions(opts...)
2974	return out, req.Send()
2975}
2976
2977const opGetServicesInScope = "GetServicesInScope"
2978
2979// GetServicesInScopeRequest generates a "aws/request.Request" representing the
2980// client's request for the GetServicesInScope operation. The "output" return
2981// value will be populated with the request's response once the request completes
2982// successfully.
2983//
2984// Use "Send" method on the returned Request to send the API call to the service.
2985// the "output" return value is not valid until after Send returns without error.
2986//
2987// See GetServicesInScope for more information on using the GetServicesInScope
2988// API call, and error handling.
2989//
2990// This method is useful when you want to inject custom logic or configuration
2991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2992//
2993//
2994//    // Example sending a request using the GetServicesInScopeRequest method.
2995//    req, resp := client.GetServicesInScopeRequest(params)
2996//
2997//    err := req.Send()
2998//    if err == nil { // resp is now filled
2999//        fmt.Println(resp)
3000//    }
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3003func (c *AuditManager) GetServicesInScopeRequest(input *GetServicesInScopeInput) (req *request.Request, output *GetServicesInScopeOutput) {
3004	op := &request.Operation{
3005		Name:       opGetServicesInScope,
3006		HTTPMethod: "GET",
3007		HTTPPath:   "/services",
3008	}
3009
3010	if input == nil {
3011		input = &GetServicesInScopeInput{}
3012	}
3013
3014	output = &GetServicesInScopeOutput{}
3015	req = c.newRequest(op, input, output)
3016	return
3017}
3018
3019// GetServicesInScope API operation for AWS Audit Manager.
3020//
3021// Returns a list of the in-scope AWS services for the specified assessment.
3022//
3023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3024// with awserr.Error's Code and Message methods to get detailed information about
3025// the error.
3026//
3027// See the AWS API reference guide for AWS Audit Manager's
3028// API operation GetServicesInScope for usage and error information.
3029//
3030// Returned Error Types:
3031//   * ValidationException
3032//   The request has invalid or missing parameters.
3033//
3034//   * InternalServerException
3035//   An internal service error occurred during the processing of your request.
3036//   Try again later.
3037//
3038// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetServicesInScope
3039func (c *AuditManager) GetServicesInScope(input *GetServicesInScopeInput) (*GetServicesInScopeOutput, error) {
3040	req, out := c.GetServicesInScopeRequest(input)
3041	return out, req.Send()
3042}
3043
3044// GetServicesInScopeWithContext is the same as GetServicesInScope with the addition of
3045// the ability to pass a context and additional request options.
3046//
3047// See GetServicesInScope for details on how to use this API operation.
3048//
3049// The context must be non-nil and will be used for request cancellation. If
3050// the context is nil a panic will occur. In the future the SDK may create
3051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3052// for more information on using Contexts.
3053func (c *AuditManager) GetServicesInScopeWithContext(ctx aws.Context, input *GetServicesInScopeInput, opts ...request.Option) (*GetServicesInScopeOutput, error) {
3054	req, out := c.GetServicesInScopeRequest(input)
3055	req.SetContext(ctx)
3056	req.ApplyOptions(opts...)
3057	return out, req.Send()
3058}
3059
3060const opGetSettings = "GetSettings"
3061
3062// GetSettingsRequest generates a "aws/request.Request" representing the
3063// client's request for the GetSettings operation. The "output" return
3064// value will be populated with the request's response once the request completes
3065// successfully.
3066//
3067// Use "Send" method on the returned Request to send the API call to the service.
3068// the "output" return value is not valid until after Send returns without error.
3069//
3070// See GetSettings for more information on using the GetSettings
3071// API call, and error handling.
3072//
3073// This method is useful when you want to inject custom logic or configuration
3074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3075//
3076//
3077//    // Example sending a request using the GetSettingsRequest method.
3078//    req, resp := client.GetSettingsRequest(params)
3079//
3080//    err := req.Send()
3081//    if err == nil { // resp is now filled
3082//        fmt.Println(resp)
3083//    }
3084//
3085// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3086func (c *AuditManager) GetSettingsRequest(input *GetSettingsInput) (req *request.Request, output *GetSettingsOutput) {
3087	op := &request.Operation{
3088		Name:       opGetSettings,
3089		HTTPMethod: "GET",
3090		HTTPPath:   "/settings/{attribute}",
3091	}
3092
3093	if input == nil {
3094		input = &GetSettingsInput{}
3095	}
3096
3097	output = &GetSettingsOutput{}
3098	req = c.newRequest(op, input, output)
3099	return
3100}
3101
3102// GetSettings API operation for AWS Audit Manager.
3103//
3104// Returns the settings for the specified AWS account.
3105//
3106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3107// with awserr.Error's Code and Message methods to get detailed information about
3108// the error.
3109//
3110// See the AWS API reference guide for AWS Audit Manager's
3111// API operation GetSettings for usage and error information.
3112//
3113// Returned Error Types:
3114//   * AccessDeniedException
3115//   You do not have sufficient access to perform this action.
3116//
3117//   * InternalServerException
3118//   An internal service error occurred during the processing of your request.
3119//   Try again later.
3120//
3121// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/GetSettings
3122func (c *AuditManager) GetSettings(input *GetSettingsInput) (*GetSettingsOutput, error) {
3123	req, out := c.GetSettingsRequest(input)
3124	return out, req.Send()
3125}
3126
3127// GetSettingsWithContext is the same as GetSettings with the addition of
3128// the ability to pass a context and additional request options.
3129//
3130// See GetSettings for details on how to use this API operation.
3131//
3132// The context must be non-nil and will be used for request cancellation. If
3133// the context is nil a panic will occur. In the future the SDK may create
3134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3135// for more information on using Contexts.
3136func (c *AuditManager) GetSettingsWithContext(ctx aws.Context, input *GetSettingsInput, opts ...request.Option) (*GetSettingsOutput, error) {
3137	req, out := c.GetSettingsRequest(input)
3138	req.SetContext(ctx)
3139	req.ApplyOptions(opts...)
3140	return out, req.Send()
3141}
3142
3143const opListAssessmentFrameworks = "ListAssessmentFrameworks"
3144
3145// ListAssessmentFrameworksRequest generates a "aws/request.Request" representing the
3146// client's request for the ListAssessmentFrameworks operation. The "output" return
3147// value will be populated with the request's response once the request completes
3148// successfully.
3149//
3150// Use "Send" method on the returned Request to send the API call to the service.
3151// the "output" return value is not valid until after Send returns without error.
3152//
3153// See ListAssessmentFrameworks for more information on using the ListAssessmentFrameworks
3154// API call, and error handling.
3155//
3156// This method is useful when you want to inject custom logic or configuration
3157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3158//
3159//
3160//    // Example sending a request using the ListAssessmentFrameworksRequest method.
3161//    req, resp := client.ListAssessmentFrameworksRequest(params)
3162//
3163//    err := req.Send()
3164//    if err == nil { // resp is now filled
3165//        fmt.Println(resp)
3166//    }
3167//
3168// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3169func (c *AuditManager) ListAssessmentFrameworksRequest(input *ListAssessmentFrameworksInput) (req *request.Request, output *ListAssessmentFrameworksOutput) {
3170	op := &request.Operation{
3171		Name:       opListAssessmentFrameworks,
3172		HTTPMethod: "GET",
3173		HTTPPath:   "/assessmentFrameworks",
3174		Paginator: &request.Paginator{
3175			InputTokens:     []string{"nextToken"},
3176			OutputTokens:    []string{"nextToken"},
3177			LimitToken:      "maxResults",
3178			TruncationToken: "",
3179		},
3180	}
3181
3182	if input == nil {
3183		input = &ListAssessmentFrameworksInput{}
3184	}
3185
3186	output = &ListAssessmentFrameworksOutput{}
3187	req = c.newRequest(op, input, output)
3188	return
3189}
3190
3191// ListAssessmentFrameworks API operation for AWS Audit Manager.
3192//
3193// Returns a list of the frameworks available in the AWS Audit Manager framework
3194// library.
3195//
3196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3197// with awserr.Error's Code and Message methods to get detailed information about
3198// the error.
3199//
3200// See the AWS API reference guide for AWS Audit Manager's
3201// API operation ListAssessmentFrameworks for usage and error information.
3202//
3203// Returned Error Types:
3204//   * ValidationException
3205//   The request has invalid or missing parameters.
3206//
3207//   * AccessDeniedException
3208//   You do not have sufficient access to perform this action.
3209//
3210//   * InternalServerException
3211//   An internal service error occurred during the processing of your request.
3212//   Try again later.
3213//
3214// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentFrameworks
3215func (c *AuditManager) ListAssessmentFrameworks(input *ListAssessmentFrameworksInput) (*ListAssessmentFrameworksOutput, error) {
3216	req, out := c.ListAssessmentFrameworksRequest(input)
3217	return out, req.Send()
3218}
3219
3220// ListAssessmentFrameworksWithContext is the same as ListAssessmentFrameworks with the addition of
3221// the ability to pass a context and additional request options.
3222//
3223// See ListAssessmentFrameworks for details on how to use this API operation.
3224//
3225// The context must be non-nil and will be used for request cancellation. If
3226// the context is nil a panic will occur. In the future the SDK may create
3227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3228// for more information on using Contexts.
3229func (c *AuditManager) ListAssessmentFrameworksWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, opts ...request.Option) (*ListAssessmentFrameworksOutput, error) {
3230	req, out := c.ListAssessmentFrameworksRequest(input)
3231	req.SetContext(ctx)
3232	req.ApplyOptions(opts...)
3233	return out, req.Send()
3234}
3235
3236// ListAssessmentFrameworksPages iterates over the pages of a ListAssessmentFrameworks operation,
3237// calling the "fn" function with the response data for each page. To stop
3238// iterating, return false from the fn function.
3239//
3240// See ListAssessmentFrameworks method for more information on how to use this operation.
3241//
3242// Note: This operation can generate multiple requests to a service.
3243//
3244//    // Example iterating over at most 3 pages of a ListAssessmentFrameworks operation.
3245//    pageNum := 0
3246//    err := client.ListAssessmentFrameworksPages(params,
3247//        func(page *auditmanager.ListAssessmentFrameworksOutput, lastPage bool) bool {
3248//            pageNum++
3249//            fmt.Println(page)
3250//            return pageNum <= 3
3251//        })
3252//
3253func (c *AuditManager) ListAssessmentFrameworksPages(input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool) error {
3254	return c.ListAssessmentFrameworksPagesWithContext(aws.BackgroundContext(), input, fn)
3255}
3256
3257// ListAssessmentFrameworksPagesWithContext same as ListAssessmentFrameworksPages except
3258// it takes a Context and allows setting request options on the pages.
3259//
3260// The context must be non-nil and will be used for request cancellation. If
3261// the context is nil a panic will occur. In the future the SDK may create
3262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3263// for more information on using Contexts.
3264func (c *AuditManager) ListAssessmentFrameworksPagesWithContext(ctx aws.Context, input *ListAssessmentFrameworksInput, fn func(*ListAssessmentFrameworksOutput, bool) bool, opts ...request.Option) error {
3265	p := request.Pagination{
3266		NewRequest: func() (*request.Request, error) {
3267			var inCpy *ListAssessmentFrameworksInput
3268			if input != nil {
3269				tmp := *input
3270				inCpy = &tmp
3271			}
3272			req, _ := c.ListAssessmentFrameworksRequest(inCpy)
3273			req.SetContext(ctx)
3274			req.ApplyOptions(opts...)
3275			return req, nil
3276		},
3277	}
3278
3279	for p.Next() {
3280		if !fn(p.Page().(*ListAssessmentFrameworksOutput), !p.HasNextPage()) {
3281			break
3282		}
3283	}
3284
3285	return p.Err()
3286}
3287
3288const opListAssessmentReports = "ListAssessmentReports"
3289
3290// ListAssessmentReportsRequest generates a "aws/request.Request" representing the
3291// client's request for the ListAssessmentReports operation. The "output" return
3292// value will be populated with the request's response once the request completes
3293// successfully.
3294//
3295// Use "Send" method on the returned Request to send the API call to the service.
3296// the "output" return value is not valid until after Send returns without error.
3297//
3298// See ListAssessmentReports for more information on using the ListAssessmentReports
3299// API call, and error handling.
3300//
3301// This method is useful when you want to inject custom logic or configuration
3302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3303//
3304//
3305//    // Example sending a request using the ListAssessmentReportsRequest method.
3306//    req, resp := client.ListAssessmentReportsRequest(params)
3307//
3308//    err := req.Send()
3309//    if err == nil { // resp is now filled
3310//        fmt.Println(resp)
3311//    }
3312//
3313// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3314func (c *AuditManager) ListAssessmentReportsRequest(input *ListAssessmentReportsInput) (req *request.Request, output *ListAssessmentReportsOutput) {
3315	op := &request.Operation{
3316		Name:       opListAssessmentReports,
3317		HTTPMethod: "GET",
3318		HTTPPath:   "/assessmentReports",
3319		Paginator: &request.Paginator{
3320			InputTokens:     []string{"nextToken"},
3321			OutputTokens:    []string{"nextToken"},
3322			LimitToken:      "maxResults",
3323			TruncationToken: "",
3324		},
3325	}
3326
3327	if input == nil {
3328		input = &ListAssessmentReportsInput{}
3329	}
3330
3331	output = &ListAssessmentReportsOutput{}
3332	req = c.newRequest(op, input, output)
3333	return
3334}
3335
3336// ListAssessmentReports API operation for AWS Audit Manager.
3337//
3338// Returns a list of assessment reports created in AWS Audit Manager.
3339//
3340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3341// with awserr.Error's Code and Message methods to get detailed information about
3342// the error.
3343//
3344// See the AWS API reference guide for AWS Audit Manager's
3345// API operation ListAssessmentReports for usage and error information.
3346//
3347// Returned Error Types:
3348//   * ValidationException
3349//   The request has invalid or missing parameters.
3350//
3351//   * AccessDeniedException
3352//   You do not have sufficient access to perform this action.
3353//
3354//   * InternalServerException
3355//   An internal service error occurred during the processing of your request.
3356//   Try again later.
3357//
3358// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessmentReports
3359func (c *AuditManager) ListAssessmentReports(input *ListAssessmentReportsInput) (*ListAssessmentReportsOutput, error) {
3360	req, out := c.ListAssessmentReportsRequest(input)
3361	return out, req.Send()
3362}
3363
3364// ListAssessmentReportsWithContext is the same as ListAssessmentReports with the addition of
3365// the ability to pass a context and additional request options.
3366//
3367// See ListAssessmentReports for details on how to use this API operation.
3368//
3369// The context must be non-nil and will be used for request cancellation. If
3370// the context is nil a panic will occur. In the future the SDK may create
3371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3372// for more information on using Contexts.
3373func (c *AuditManager) ListAssessmentReportsWithContext(ctx aws.Context, input *ListAssessmentReportsInput, opts ...request.Option) (*ListAssessmentReportsOutput, error) {
3374	req, out := c.ListAssessmentReportsRequest(input)
3375	req.SetContext(ctx)
3376	req.ApplyOptions(opts...)
3377	return out, req.Send()
3378}
3379
3380// ListAssessmentReportsPages iterates over the pages of a ListAssessmentReports operation,
3381// calling the "fn" function with the response data for each page. To stop
3382// iterating, return false from the fn function.
3383//
3384// See ListAssessmentReports method for more information on how to use this operation.
3385//
3386// Note: This operation can generate multiple requests to a service.
3387//
3388//    // Example iterating over at most 3 pages of a ListAssessmentReports operation.
3389//    pageNum := 0
3390//    err := client.ListAssessmentReportsPages(params,
3391//        func(page *auditmanager.ListAssessmentReportsOutput, lastPage bool) bool {
3392//            pageNum++
3393//            fmt.Println(page)
3394//            return pageNum <= 3
3395//        })
3396//
3397func (c *AuditManager) ListAssessmentReportsPages(input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool) error {
3398	return c.ListAssessmentReportsPagesWithContext(aws.BackgroundContext(), input, fn)
3399}
3400
3401// ListAssessmentReportsPagesWithContext same as ListAssessmentReportsPages except
3402// it takes a Context and allows setting request options on the pages.
3403//
3404// The context must be non-nil and will be used for request cancellation. If
3405// the context is nil a panic will occur. In the future the SDK may create
3406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3407// for more information on using Contexts.
3408func (c *AuditManager) ListAssessmentReportsPagesWithContext(ctx aws.Context, input *ListAssessmentReportsInput, fn func(*ListAssessmentReportsOutput, bool) bool, opts ...request.Option) error {
3409	p := request.Pagination{
3410		NewRequest: func() (*request.Request, error) {
3411			var inCpy *ListAssessmentReportsInput
3412			if input != nil {
3413				tmp := *input
3414				inCpy = &tmp
3415			}
3416			req, _ := c.ListAssessmentReportsRequest(inCpy)
3417			req.SetContext(ctx)
3418			req.ApplyOptions(opts...)
3419			return req, nil
3420		},
3421	}
3422
3423	for p.Next() {
3424		if !fn(p.Page().(*ListAssessmentReportsOutput), !p.HasNextPage()) {
3425			break
3426		}
3427	}
3428
3429	return p.Err()
3430}
3431
3432const opListAssessments = "ListAssessments"
3433
3434// ListAssessmentsRequest generates a "aws/request.Request" representing the
3435// client's request for the ListAssessments operation. The "output" return
3436// value will be populated with the request's response once the request completes
3437// successfully.
3438//
3439// Use "Send" method on the returned Request to send the API call to the service.
3440// the "output" return value is not valid until after Send returns without error.
3441//
3442// See ListAssessments for more information on using the ListAssessments
3443// API call, and error handling.
3444//
3445// This method is useful when you want to inject custom logic or configuration
3446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3447//
3448//
3449//    // Example sending a request using the ListAssessmentsRequest method.
3450//    req, resp := client.ListAssessmentsRequest(params)
3451//
3452//    err := req.Send()
3453//    if err == nil { // resp is now filled
3454//        fmt.Println(resp)
3455//    }
3456//
3457// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3458func (c *AuditManager) ListAssessmentsRequest(input *ListAssessmentsInput) (req *request.Request, output *ListAssessmentsOutput) {
3459	op := &request.Operation{
3460		Name:       opListAssessments,
3461		HTTPMethod: "GET",
3462		HTTPPath:   "/assessments",
3463		Paginator: &request.Paginator{
3464			InputTokens:     []string{"nextToken"},
3465			OutputTokens:    []string{"nextToken"},
3466			LimitToken:      "maxResults",
3467			TruncationToken: "",
3468		},
3469	}
3470
3471	if input == nil {
3472		input = &ListAssessmentsInput{}
3473	}
3474
3475	output = &ListAssessmentsOutput{}
3476	req = c.newRequest(op, input, output)
3477	return
3478}
3479
3480// ListAssessments API operation for AWS Audit Manager.
3481//
3482// Returns a list of current and past assessments from AWS Audit Manager.
3483//
3484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3485// with awserr.Error's Code and Message methods to get detailed information about
3486// the error.
3487//
3488// See the AWS API reference guide for AWS Audit Manager's
3489// API operation ListAssessments for usage and error information.
3490//
3491// Returned Error Types:
3492//   * AccessDeniedException
3493//   You do not have sufficient access to perform this action.
3494//
3495//   * ValidationException
3496//   The request has invalid or missing parameters.
3497//
3498//   * InternalServerException
3499//   An internal service error occurred during the processing of your request.
3500//   Try again later.
3501//
3502// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListAssessments
3503func (c *AuditManager) ListAssessments(input *ListAssessmentsInput) (*ListAssessmentsOutput, error) {
3504	req, out := c.ListAssessmentsRequest(input)
3505	return out, req.Send()
3506}
3507
3508// ListAssessmentsWithContext is the same as ListAssessments with the addition of
3509// the ability to pass a context and additional request options.
3510//
3511// See ListAssessments for details on how to use this API operation.
3512//
3513// The context must be non-nil and will be used for request cancellation. If
3514// the context is nil a panic will occur. In the future the SDK may create
3515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3516// for more information on using Contexts.
3517func (c *AuditManager) ListAssessmentsWithContext(ctx aws.Context, input *ListAssessmentsInput, opts ...request.Option) (*ListAssessmentsOutput, error) {
3518	req, out := c.ListAssessmentsRequest(input)
3519	req.SetContext(ctx)
3520	req.ApplyOptions(opts...)
3521	return out, req.Send()
3522}
3523
3524// ListAssessmentsPages iterates over the pages of a ListAssessments operation,
3525// calling the "fn" function with the response data for each page. To stop
3526// iterating, return false from the fn function.
3527//
3528// See ListAssessments method for more information on how to use this operation.
3529//
3530// Note: This operation can generate multiple requests to a service.
3531//
3532//    // Example iterating over at most 3 pages of a ListAssessments operation.
3533//    pageNum := 0
3534//    err := client.ListAssessmentsPages(params,
3535//        func(page *auditmanager.ListAssessmentsOutput, lastPage bool) bool {
3536//            pageNum++
3537//            fmt.Println(page)
3538//            return pageNum <= 3
3539//        })
3540//
3541func (c *AuditManager) ListAssessmentsPages(input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool) error {
3542	return c.ListAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn)
3543}
3544
3545// ListAssessmentsPagesWithContext same as ListAssessmentsPages except
3546// it takes a Context and allows setting request options on the pages.
3547//
3548// The context must be non-nil and will be used for request cancellation. If
3549// the context is nil a panic will occur. In the future the SDK may create
3550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3551// for more information on using Contexts.
3552func (c *AuditManager) ListAssessmentsPagesWithContext(ctx aws.Context, input *ListAssessmentsInput, fn func(*ListAssessmentsOutput, bool) bool, opts ...request.Option) error {
3553	p := request.Pagination{
3554		NewRequest: func() (*request.Request, error) {
3555			var inCpy *ListAssessmentsInput
3556			if input != nil {
3557				tmp := *input
3558				inCpy = &tmp
3559			}
3560			req, _ := c.ListAssessmentsRequest(inCpy)
3561			req.SetContext(ctx)
3562			req.ApplyOptions(opts...)
3563			return req, nil
3564		},
3565	}
3566
3567	for p.Next() {
3568		if !fn(p.Page().(*ListAssessmentsOutput), !p.HasNextPage()) {
3569			break
3570		}
3571	}
3572
3573	return p.Err()
3574}
3575
3576const opListControls = "ListControls"
3577
3578// ListControlsRequest generates a "aws/request.Request" representing the
3579// client's request for the ListControls operation. The "output" return
3580// value will be populated with the request's response once the request completes
3581// successfully.
3582//
3583// Use "Send" method on the returned Request to send the API call to the service.
3584// the "output" return value is not valid until after Send returns without error.
3585//
3586// See ListControls for more information on using the ListControls
3587// API call, and error handling.
3588//
3589// This method is useful when you want to inject custom logic or configuration
3590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3591//
3592//
3593//    // Example sending a request using the ListControlsRequest method.
3594//    req, resp := client.ListControlsRequest(params)
3595//
3596//    err := req.Send()
3597//    if err == nil { // resp is now filled
3598//        fmt.Println(resp)
3599//    }
3600//
3601// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3602func (c *AuditManager) ListControlsRequest(input *ListControlsInput) (req *request.Request, output *ListControlsOutput) {
3603	op := &request.Operation{
3604		Name:       opListControls,
3605		HTTPMethod: "GET",
3606		HTTPPath:   "/controls",
3607		Paginator: &request.Paginator{
3608			InputTokens:     []string{"nextToken"},
3609			OutputTokens:    []string{"nextToken"},
3610			LimitToken:      "maxResults",
3611			TruncationToken: "",
3612		},
3613	}
3614
3615	if input == nil {
3616		input = &ListControlsInput{}
3617	}
3618
3619	output = &ListControlsOutput{}
3620	req = c.newRequest(op, input, output)
3621	return
3622}
3623
3624// ListControls API operation for AWS Audit Manager.
3625//
3626// Returns a list of controls from AWS Audit Manager.
3627//
3628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3629// with awserr.Error's Code and Message methods to get detailed information about
3630// the error.
3631//
3632// See the AWS API reference guide for AWS Audit Manager's
3633// API operation ListControls for usage and error information.
3634//
3635// Returned Error Types:
3636//   * AccessDeniedException
3637//   You do not have sufficient access to perform this action.
3638//
3639//   * ValidationException
3640//   The request has invalid or missing parameters.
3641//
3642//   * InternalServerException
3643//   An internal service error occurred during the processing of your request.
3644//   Try again later.
3645//
3646// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls
3647func (c *AuditManager) ListControls(input *ListControlsInput) (*ListControlsOutput, error) {
3648	req, out := c.ListControlsRequest(input)
3649	return out, req.Send()
3650}
3651
3652// ListControlsWithContext is the same as ListControls with the addition of
3653// the ability to pass a context and additional request options.
3654//
3655// See ListControls for details on how to use this API operation.
3656//
3657// The context must be non-nil and will be used for request cancellation. If
3658// the context is nil a panic will occur. In the future the SDK may create
3659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3660// for more information on using Contexts.
3661func (c *AuditManager) ListControlsWithContext(ctx aws.Context, input *ListControlsInput, opts ...request.Option) (*ListControlsOutput, error) {
3662	req, out := c.ListControlsRequest(input)
3663	req.SetContext(ctx)
3664	req.ApplyOptions(opts...)
3665	return out, req.Send()
3666}
3667
3668// ListControlsPages iterates over the pages of a ListControls operation,
3669// calling the "fn" function with the response data for each page. To stop
3670// iterating, return false from the fn function.
3671//
3672// See ListControls method for more information on how to use this operation.
3673//
3674// Note: This operation can generate multiple requests to a service.
3675//
3676//    // Example iterating over at most 3 pages of a ListControls operation.
3677//    pageNum := 0
3678//    err := client.ListControlsPages(params,
3679//        func(page *auditmanager.ListControlsOutput, lastPage bool) bool {
3680//            pageNum++
3681//            fmt.Println(page)
3682//            return pageNum <= 3
3683//        })
3684//
3685func (c *AuditManager) ListControlsPages(input *ListControlsInput, fn func(*ListControlsOutput, bool) bool) error {
3686	return c.ListControlsPagesWithContext(aws.BackgroundContext(), input, fn)
3687}
3688
3689// ListControlsPagesWithContext same as ListControlsPages except
3690// it takes a Context and allows setting request options on the pages.
3691//
3692// The context must be non-nil and will be used for request cancellation. If
3693// the context is nil a panic will occur. In the future the SDK may create
3694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3695// for more information on using Contexts.
3696func (c *AuditManager) ListControlsPagesWithContext(ctx aws.Context, input *ListControlsInput, fn func(*ListControlsOutput, bool) bool, opts ...request.Option) error {
3697	p := request.Pagination{
3698		NewRequest: func() (*request.Request, error) {
3699			var inCpy *ListControlsInput
3700			if input != nil {
3701				tmp := *input
3702				inCpy = &tmp
3703			}
3704			req, _ := c.ListControlsRequest(inCpy)
3705			req.SetContext(ctx)
3706			req.ApplyOptions(opts...)
3707			return req, nil
3708		},
3709	}
3710
3711	for p.Next() {
3712		if !fn(p.Page().(*ListControlsOutput), !p.HasNextPage()) {
3713			break
3714		}
3715	}
3716
3717	return p.Err()
3718}
3719
3720const opListKeywordsForDataSource = "ListKeywordsForDataSource"
3721
3722// ListKeywordsForDataSourceRequest generates a "aws/request.Request" representing the
3723// client's request for the ListKeywordsForDataSource operation. The "output" return
3724// value will be populated with the request's response once the request completes
3725// successfully.
3726//
3727// Use "Send" method on the returned Request to send the API call to the service.
3728// the "output" return value is not valid until after Send returns without error.
3729//
3730// See ListKeywordsForDataSource for more information on using the ListKeywordsForDataSource
3731// API call, and error handling.
3732//
3733// This method is useful when you want to inject custom logic or configuration
3734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3735//
3736//
3737//    // Example sending a request using the ListKeywordsForDataSourceRequest method.
3738//    req, resp := client.ListKeywordsForDataSourceRequest(params)
3739//
3740//    err := req.Send()
3741//    if err == nil { // resp is now filled
3742//        fmt.Println(resp)
3743//    }
3744//
3745// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
3746func (c *AuditManager) ListKeywordsForDataSourceRequest(input *ListKeywordsForDataSourceInput) (req *request.Request, output *ListKeywordsForDataSourceOutput) {
3747	op := &request.Operation{
3748		Name:       opListKeywordsForDataSource,
3749		HTTPMethod: "GET",
3750		HTTPPath:   "/dataSourceKeywords",
3751		Paginator: &request.Paginator{
3752			InputTokens:     []string{"nextToken"},
3753			OutputTokens:    []string{"nextToken"},
3754			LimitToken:      "maxResults",
3755			TruncationToken: "",
3756		},
3757	}
3758
3759	if input == nil {
3760		input = &ListKeywordsForDataSourceInput{}
3761	}
3762
3763	output = &ListKeywordsForDataSourceOutput{}
3764	req = c.newRequest(op, input, output)
3765	return
3766}
3767
3768// ListKeywordsForDataSource API operation for AWS Audit Manager.
3769//
3770// Returns a list of keywords that pre-mapped to the specified control data
3771// source.
3772//
3773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3774// with awserr.Error's Code and Message methods to get detailed information about
3775// the error.
3776//
3777// See the AWS API reference guide for AWS Audit Manager's
3778// API operation ListKeywordsForDataSource for usage and error information.
3779//
3780// Returned Error Types:
3781//   * AccessDeniedException
3782//   You do not have sufficient access to perform this action.
3783//
3784//   * ValidationException
3785//   The request has invalid or missing parameters.
3786//
3787//   * InternalServerException
3788//   An internal service error occurred during the processing of your request.
3789//   Try again later.
3790//
3791// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListKeywordsForDataSource
3792func (c *AuditManager) ListKeywordsForDataSource(input *ListKeywordsForDataSourceInput) (*ListKeywordsForDataSourceOutput, error) {
3793	req, out := c.ListKeywordsForDataSourceRequest(input)
3794	return out, req.Send()
3795}
3796
3797// ListKeywordsForDataSourceWithContext is the same as ListKeywordsForDataSource with the addition of
3798// the ability to pass a context and additional request options.
3799//
3800// See ListKeywordsForDataSource for details on how to use this API operation.
3801//
3802// The context must be non-nil and will be used for request cancellation. If
3803// the context is nil a panic will occur. In the future the SDK may create
3804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3805// for more information on using Contexts.
3806func (c *AuditManager) ListKeywordsForDataSourceWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, opts ...request.Option) (*ListKeywordsForDataSourceOutput, error) {
3807	req, out := c.ListKeywordsForDataSourceRequest(input)
3808	req.SetContext(ctx)
3809	req.ApplyOptions(opts...)
3810	return out, req.Send()
3811}
3812
3813// ListKeywordsForDataSourcePages iterates over the pages of a ListKeywordsForDataSource operation,
3814// calling the "fn" function with the response data for each page. To stop
3815// iterating, return false from the fn function.
3816//
3817// See ListKeywordsForDataSource method for more information on how to use this operation.
3818//
3819// Note: This operation can generate multiple requests to a service.
3820//
3821//    // Example iterating over at most 3 pages of a ListKeywordsForDataSource operation.
3822//    pageNum := 0
3823//    err := client.ListKeywordsForDataSourcePages(params,
3824//        func(page *auditmanager.ListKeywordsForDataSourceOutput, lastPage bool) bool {
3825//            pageNum++
3826//            fmt.Println(page)
3827//            return pageNum <= 3
3828//        })
3829//
3830func (c *AuditManager) ListKeywordsForDataSourcePages(input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool) error {
3831	return c.ListKeywordsForDataSourcePagesWithContext(aws.BackgroundContext(), input, fn)
3832}
3833
3834// ListKeywordsForDataSourcePagesWithContext same as ListKeywordsForDataSourcePages except
3835// it takes a Context and allows setting request options on the pages.
3836//
3837// The context must be non-nil and will be used for request cancellation. If
3838// the context is nil a panic will occur. In the future the SDK may create
3839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3840// for more information on using Contexts.
3841func (c *AuditManager) ListKeywordsForDataSourcePagesWithContext(ctx aws.Context, input *ListKeywordsForDataSourceInput, fn func(*ListKeywordsForDataSourceOutput, bool) bool, opts ...request.Option) error {
3842	p := request.Pagination{
3843		NewRequest: func() (*request.Request, error) {
3844			var inCpy *ListKeywordsForDataSourceInput
3845			if input != nil {
3846				tmp := *input
3847				inCpy = &tmp
3848			}
3849			req, _ := c.ListKeywordsForDataSourceRequest(inCpy)
3850			req.SetContext(ctx)
3851			req.ApplyOptions(opts...)
3852			return req, nil
3853		},
3854	}
3855
3856	for p.Next() {
3857		if !fn(p.Page().(*ListKeywordsForDataSourceOutput), !p.HasNextPage()) {
3858			break
3859		}
3860	}
3861
3862	return p.Err()
3863}
3864
3865const opListNotifications = "ListNotifications"
3866
3867// ListNotificationsRequest generates a "aws/request.Request" representing the
3868// client's request for the ListNotifications operation. The "output" return
3869// value will be populated with the request's response once the request completes
3870// successfully.
3871//
3872// Use "Send" method on the returned Request to send the API call to the service.
3873// the "output" return value is not valid until after Send returns without error.
3874//
3875// See ListNotifications for more information on using the ListNotifications
3876// API call, and error handling.
3877//
3878// This method is useful when you want to inject custom logic or configuration
3879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3880//
3881//
3882//    // Example sending a request using the ListNotificationsRequest method.
3883//    req, resp := client.ListNotificationsRequest(params)
3884//
3885//    err := req.Send()
3886//    if err == nil { // resp is now filled
3887//        fmt.Println(resp)
3888//    }
3889//
3890// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
3891func (c *AuditManager) ListNotificationsRequest(input *ListNotificationsInput) (req *request.Request, output *ListNotificationsOutput) {
3892	op := &request.Operation{
3893		Name:       opListNotifications,
3894		HTTPMethod: "GET",
3895		HTTPPath:   "/notifications",
3896		Paginator: &request.Paginator{
3897			InputTokens:     []string{"nextToken"},
3898			OutputTokens:    []string{"nextToken"},
3899			LimitToken:      "maxResults",
3900			TruncationToken: "",
3901		},
3902	}
3903
3904	if input == nil {
3905		input = &ListNotificationsInput{}
3906	}
3907
3908	output = &ListNotificationsOutput{}
3909	req = c.newRequest(op, input, output)
3910	return
3911}
3912
3913// ListNotifications API operation for AWS Audit Manager.
3914//
3915// Returns a list of all AWS Audit Manager notifications.
3916//
3917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3918// with awserr.Error's Code and Message methods to get detailed information about
3919// the error.
3920//
3921// See the AWS API reference guide for AWS Audit Manager's
3922// API operation ListNotifications for usage and error information.
3923//
3924// Returned Error Types:
3925//   * AccessDeniedException
3926//   You do not have sufficient access to perform this action.
3927//
3928//   * ValidationException
3929//   The request has invalid or missing parameters.
3930//
3931//   * InternalServerException
3932//   An internal service error occurred during the processing of your request.
3933//   Try again later.
3934//
3935// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListNotifications
3936func (c *AuditManager) ListNotifications(input *ListNotificationsInput) (*ListNotificationsOutput, error) {
3937	req, out := c.ListNotificationsRequest(input)
3938	return out, req.Send()
3939}
3940
3941// ListNotificationsWithContext is the same as ListNotifications with the addition of
3942// the ability to pass a context and additional request options.
3943//
3944// See ListNotifications for details on how to use this API operation.
3945//
3946// The context must be non-nil and will be used for request cancellation. If
3947// the context is nil a panic will occur. In the future the SDK may create
3948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3949// for more information on using Contexts.
3950func (c *AuditManager) ListNotificationsWithContext(ctx aws.Context, input *ListNotificationsInput, opts ...request.Option) (*ListNotificationsOutput, error) {
3951	req, out := c.ListNotificationsRequest(input)
3952	req.SetContext(ctx)
3953	req.ApplyOptions(opts...)
3954	return out, req.Send()
3955}
3956
3957// ListNotificationsPages iterates over the pages of a ListNotifications operation,
3958// calling the "fn" function with the response data for each page. To stop
3959// iterating, return false from the fn function.
3960//
3961// See ListNotifications method for more information on how to use this operation.
3962//
3963// Note: This operation can generate multiple requests to a service.
3964//
3965//    // Example iterating over at most 3 pages of a ListNotifications operation.
3966//    pageNum := 0
3967//    err := client.ListNotificationsPages(params,
3968//        func(page *auditmanager.ListNotificationsOutput, lastPage bool) bool {
3969//            pageNum++
3970//            fmt.Println(page)
3971//            return pageNum <= 3
3972//        })
3973//
3974func (c *AuditManager) ListNotificationsPages(input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool) error {
3975	return c.ListNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
3976}
3977
3978// ListNotificationsPagesWithContext same as ListNotificationsPages except
3979// it takes a Context and allows setting request options on the pages.
3980//
3981// The context must be non-nil and will be used for request cancellation. If
3982// the context is nil a panic will occur. In the future the SDK may create
3983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3984// for more information on using Contexts.
3985func (c *AuditManager) ListNotificationsPagesWithContext(ctx aws.Context, input *ListNotificationsInput, fn func(*ListNotificationsOutput, bool) bool, opts ...request.Option) error {
3986	p := request.Pagination{
3987		NewRequest: func() (*request.Request, error) {
3988			var inCpy *ListNotificationsInput
3989			if input != nil {
3990				tmp := *input
3991				inCpy = &tmp
3992			}
3993			req, _ := c.ListNotificationsRequest(inCpy)
3994			req.SetContext(ctx)
3995			req.ApplyOptions(opts...)
3996			return req, nil
3997		},
3998	}
3999
4000	for p.Next() {
4001		if !fn(p.Page().(*ListNotificationsOutput), !p.HasNextPage()) {
4002			break
4003		}
4004	}
4005
4006	return p.Err()
4007}
4008
4009const opListTagsForResource = "ListTagsForResource"
4010
4011// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4012// client's request for the ListTagsForResource operation. The "output" return
4013// value will be populated with the request's response once the request completes
4014// successfully.
4015//
4016// Use "Send" method on the returned Request to send the API call to the service.
4017// the "output" return value is not valid until after Send returns without error.
4018//
4019// See ListTagsForResource for more information on using the ListTagsForResource
4020// API call, and error handling.
4021//
4022// This method is useful when you want to inject custom logic or configuration
4023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4024//
4025//
4026//    // Example sending a request using the ListTagsForResourceRequest method.
4027//    req, resp := client.ListTagsForResourceRequest(params)
4028//
4029//    err := req.Send()
4030//    if err == nil { // resp is now filled
4031//        fmt.Println(resp)
4032//    }
4033//
4034// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4035func (c *AuditManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4036	op := &request.Operation{
4037		Name:       opListTagsForResource,
4038		HTTPMethod: "GET",
4039		HTTPPath:   "/tags/{resourceArn}",
4040	}
4041
4042	if input == nil {
4043		input = &ListTagsForResourceInput{}
4044	}
4045
4046	output = &ListTagsForResourceOutput{}
4047	req = c.newRequest(op, input, output)
4048	return
4049}
4050
4051// ListTagsForResource API operation for AWS Audit Manager.
4052//
4053// Returns a list of tags for the specified resource in AWS Audit Manager.
4054//
4055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4056// with awserr.Error's Code and Message methods to get detailed information about
4057// the error.
4058//
4059// See the AWS API reference guide for AWS Audit Manager's
4060// API operation ListTagsForResource for usage and error information.
4061//
4062// Returned Error Types:
4063//   * InternalServerException
4064//   An internal service error occurred during the processing of your request.
4065//   Try again later.
4066//
4067//   * ValidationException
4068//   The request has invalid or missing parameters.
4069//
4070//   * ResourceNotFoundException
4071//   The resource specified in the request cannot be found.
4072//
4073// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListTagsForResource
4074func (c *AuditManager) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4075	req, out := c.ListTagsForResourceRequest(input)
4076	return out, req.Send()
4077}
4078
4079// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4080// the ability to pass a context and additional request options.
4081//
4082// See ListTagsForResource for details on how to use this API operation.
4083//
4084// The context must be non-nil and will be used for request cancellation. If
4085// the context is nil a panic will occur. In the future the SDK may create
4086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4087// for more information on using Contexts.
4088func (c *AuditManager) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4089	req, out := c.ListTagsForResourceRequest(input)
4090	req.SetContext(ctx)
4091	req.ApplyOptions(opts...)
4092	return out, req.Send()
4093}
4094
4095const opRegisterAccount = "RegisterAccount"
4096
4097// RegisterAccountRequest generates a "aws/request.Request" representing the
4098// client's request for the RegisterAccount operation. The "output" return
4099// value will be populated with the request's response once the request completes
4100// successfully.
4101//
4102// Use "Send" method on the returned Request to send the API call to the service.
4103// the "output" return value is not valid until after Send returns without error.
4104//
4105// See RegisterAccount for more information on using the RegisterAccount
4106// API call, and error handling.
4107//
4108// This method is useful when you want to inject custom logic or configuration
4109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4110//
4111//
4112//    // Example sending a request using the RegisterAccountRequest method.
4113//    req, resp := client.RegisterAccountRequest(params)
4114//
4115//    err := req.Send()
4116//    if err == nil { // resp is now filled
4117//        fmt.Println(resp)
4118//    }
4119//
4120// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4121func (c *AuditManager) RegisterAccountRequest(input *RegisterAccountInput) (req *request.Request, output *RegisterAccountOutput) {
4122	op := &request.Operation{
4123		Name:       opRegisterAccount,
4124		HTTPMethod: "POST",
4125		HTTPPath:   "/account/registerAccount",
4126	}
4127
4128	if input == nil {
4129		input = &RegisterAccountInput{}
4130	}
4131
4132	output = &RegisterAccountOutput{}
4133	req = c.newRequest(op, input, output)
4134	return
4135}
4136
4137// RegisterAccount API operation for AWS Audit Manager.
4138//
4139// Enables AWS Audit Manager for the specified AWS account.
4140//
4141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4142// with awserr.Error's Code and Message methods to get detailed information about
4143// the error.
4144//
4145// See the AWS API reference guide for AWS Audit Manager's
4146// API operation RegisterAccount for usage and error information.
4147//
4148// Returned Error Types:
4149//   * ValidationException
4150//   The request has invalid or missing parameters.
4151//
4152//   * AccessDeniedException
4153//   You do not have sufficient access to perform this action.
4154//
4155//   * InternalServerException
4156//   An internal service error occurred during the processing of your request.
4157//   Try again later.
4158//
4159//   * ResourceNotFoundException
4160//   The resource specified in the request cannot be found.
4161//
4162// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterAccount
4163func (c *AuditManager) RegisterAccount(input *RegisterAccountInput) (*RegisterAccountOutput, error) {
4164	req, out := c.RegisterAccountRequest(input)
4165	return out, req.Send()
4166}
4167
4168// RegisterAccountWithContext is the same as RegisterAccount with the addition of
4169// the ability to pass a context and additional request options.
4170//
4171// See RegisterAccount for details on how to use this API operation.
4172//
4173// The context must be non-nil and will be used for request cancellation. If
4174// the context is nil a panic will occur. In the future the SDK may create
4175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4176// for more information on using Contexts.
4177func (c *AuditManager) RegisterAccountWithContext(ctx aws.Context, input *RegisterAccountInput, opts ...request.Option) (*RegisterAccountOutput, error) {
4178	req, out := c.RegisterAccountRequest(input)
4179	req.SetContext(ctx)
4180	req.ApplyOptions(opts...)
4181	return out, req.Send()
4182}
4183
4184const opRegisterOrganizationAdminAccount = "RegisterOrganizationAdminAccount"
4185
4186// RegisterOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
4187// client's request for the RegisterOrganizationAdminAccount operation. The "output" return
4188// value will be populated with the request's response once the request completes
4189// successfully.
4190//
4191// Use "Send" method on the returned Request to send the API call to the service.
4192// the "output" return value is not valid until after Send returns without error.
4193//
4194// See RegisterOrganizationAdminAccount for more information on using the RegisterOrganizationAdminAccount
4195// API call, and error handling.
4196//
4197// This method is useful when you want to inject custom logic or configuration
4198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4199//
4200//
4201//    // Example sending a request using the RegisterOrganizationAdminAccountRequest method.
4202//    req, resp := client.RegisterOrganizationAdminAccountRequest(params)
4203//
4204//    err := req.Send()
4205//    if err == nil { // resp is now filled
4206//        fmt.Println(resp)
4207//    }
4208//
4209// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4210func (c *AuditManager) RegisterOrganizationAdminAccountRequest(input *RegisterOrganizationAdminAccountInput) (req *request.Request, output *RegisterOrganizationAdminAccountOutput) {
4211	op := &request.Operation{
4212		Name:       opRegisterOrganizationAdminAccount,
4213		HTTPMethod: "POST",
4214		HTTPPath:   "/account/registerOrganizationAdminAccount",
4215	}
4216
4217	if input == nil {
4218		input = &RegisterOrganizationAdminAccountInput{}
4219	}
4220
4221	output = &RegisterOrganizationAdminAccountOutput{}
4222	req = c.newRequest(op, input, output)
4223	return
4224}
4225
4226// RegisterOrganizationAdminAccount API operation for AWS Audit Manager.
4227//
4228// Enables an AWS account within the organization as the delegated administrator
4229// for AWS Audit Manager.
4230//
4231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4232// with awserr.Error's Code and Message methods to get detailed information about
4233// the error.
4234//
4235// See the AWS API reference guide for AWS Audit Manager's
4236// API operation RegisterOrganizationAdminAccount for usage and error information.
4237//
4238// Returned Error Types:
4239//   * ValidationException
4240//   The request has invalid or missing parameters.
4241//
4242//   * AccessDeniedException
4243//   You do not have sufficient access to perform this action.
4244//
4245//   * InternalServerException
4246//   An internal service error occurred during the processing of your request.
4247//   Try again later.
4248//
4249//   * ResourceNotFoundException
4250//   The resource specified in the request cannot be found.
4251//
4252// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/RegisterOrganizationAdminAccount
4253func (c *AuditManager) RegisterOrganizationAdminAccount(input *RegisterOrganizationAdminAccountInput) (*RegisterOrganizationAdminAccountOutput, error) {
4254	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4255	return out, req.Send()
4256}
4257
4258// RegisterOrganizationAdminAccountWithContext is the same as RegisterOrganizationAdminAccount with the addition of
4259// the ability to pass a context and additional request options.
4260//
4261// See RegisterOrganizationAdminAccount for details on how to use this API operation.
4262//
4263// The context must be non-nil and will be used for request cancellation. If
4264// the context is nil a panic will occur. In the future the SDK may create
4265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4266// for more information on using Contexts.
4267func (c *AuditManager) RegisterOrganizationAdminAccountWithContext(ctx aws.Context, input *RegisterOrganizationAdminAccountInput, opts ...request.Option) (*RegisterOrganizationAdminAccountOutput, error) {
4268	req, out := c.RegisterOrganizationAdminAccountRequest(input)
4269	req.SetContext(ctx)
4270	req.ApplyOptions(opts...)
4271	return out, req.Send()
4272}
4273
4274const opTagResource = "TagResource"
4275
4276// TagResourceRequest generates a "aws/request.Request" representing the
4277// client's request for the TagResource operation. The "output" return
4278// value will be populated with the request's response once the request completes
4279// successfully.
4280//
4281// Use "Send" method on the returned Request to send the API call to the service.
4282// the "output" return value is not valid until after Send returns without error.
4283//
4284// See TagResource for more information on using the TagResource
4285// API call, and error handling.
4286//
4287// This method is useful when you want to inject custom logic or configuration
4288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4289//
4290//
4291//    // Example sending a request using the TagResourceRequest method.
4292//    req, resp := client.TagResourceRequest(params)
4293//
4294//    err := req.Send()
4295//    if err == nil { // resp is now filled
4296//        fmt.Println(resp)
4297//    }
4298//
4299// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4300func (c *AuditManager) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4301	op := &request.Operation{
4302		Name:       opTagResource,
4303		HTTPMethod: "POST",
4304		HTTPPath:   "/tags/{resourceArn}",
4305	}
4306
4307	if input == nil {
4308		input = &TagResourceInput{}
4309	}
4310
4311	output = &TagResourceOutput{}
4312	req = c.newRequest(op, input, output)
4313	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4314	return
4315}
4316
4317// TagResource API operation for AWS Audit Manager.
4318//
4319// Tags the specified resource in AWS Audit Manager.
4320//
4321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4322// with awserr.Error's Code and Message methods to get detailed information about
4323// the error.
4324//
4325// See the AWS API reference guide for AWS Audit Manager's
4326// API operation TagResource for usage and error information.
4327//
4328// Returned Error Types:
4329//   * InternalServerException
4330//   An internal service error occurred during the processing of your request.
4331//   Try again later.
4332//
4333//   * ValidationException
4334//   The request has invalid or missing parameters.
4335//
4336//   * ResourceNotFoundException
4337//   The resource specified in the request cannot be found.
4338//
4339// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/TagResource
4340func (c *AuditManager) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4341	req, out := c.TagResourceRequest(input)
4342	return out, req.Send()
4343}
4344
4345// TagResourceWithContext is the same as TagResource with the addition of
4346// the ability to pass a context and additional request options.
4347//
4348// See TagResource for details on how to use this API operation.
4349//
4350// The context must be non-nil and will be used for request cancellation. If
4351// the context is nil a panic will occur. In the future the SDK may create
4352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4353// for more information on using Contexts.
4354func (c *AuditManager) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4355	req, out := c.TagResourceRequest(input)
4356	req.SetContext(ctx)
4357	req.ApplyOptions(opts...)
4358	return out, req.Send()
4359}
4360
4361const opUntagResource = "UntagResource"
4362
4363// UntagResourceRequest generates a "aws/request.Request" representing the
4364// client's request for the UntagResource operation. The "output" return
4365// value will be populated with the request's response once the request completes
4366// successfully.
4367//
4368// Use "Send" method on the returned Request to send the API call to the service.
4369// the "output" return value is not valid until after Send returns without error.
4370//
4371// See UntagResource for more information on using the UntagResource
4372// API call, and error handling.
4373//
4374// This method is useful when you want to inject custom logic or configuration
4375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4376//
4377//
4378//    // Example sending a request using the UntagResourceRequest method.
4379//    req, resp := client.UntagResourceRequest(params)
4380//
4381//    err := req.Send()
4382//    if err == nil { // resp is now filled
4383//        fmt.Println(resp)
4384//    }
4385//
4386// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4387func (c *AuditManager) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4388	op := &request.Operation{
4389		Name:       opUntagResource,
4390		HTTPMethod: "DELETE",
4391		HTTPPath:   "/tags/{resourceArn}",
4392	}
4393
4394	if input == nil {
4395		input = &UntagResourceInput{}
4396	}
4397
4398	output = &UntagResourceOutput{}
4399	req = c.newRequest(op, input, output)
4400	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4401	return
4402}
4403
4404// UntagResource API operation for AWS Audit Manager.
4405//
4406// Removes a tag from a resource in AWS Audit Manager.
4407//
4408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4409// with awserr.Error's Code and Message methods to get detailed information about
4410// the error.
4411//
4412// See the AWS API reference guide for AWS Audit Manager's
4413// API operation UntagResource for usage and error information.
4414//
4415// Returned Error Types:
4416//   * InternalServerException
4417//   An internal service error occurred during the processing of your request.
4418//   Try again later.
4419//
4420//   * ValidationException
4421//   The request has invalid or missing parameters.
4422//
4423//   * ResourceNotFoundException
4424//   The resource specified in the request cannot be found.
4425//
4426// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UntagResource
4427func (c *AuditManager) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4428	req, out := c.UntagResourceRequest(input)
4429	return out, req.Send()
4430}
4431
4432// UntagResourceWithContext is the same as UntagResource with the addition of
4433// the ability to pass a context and additional request options.
4434//
4435// See UntagResource for details on how to use this API operation.
4436//
4437// The context must be non-nil and will be used for request cancellation. If
4438// the context is nil a panic will occur. In the future the SDK may create
4439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4440// for more information on using Contexts.
4441func (c *AuditManager) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4442	req, out := c.UntagResourceRequest(input)
4443	req.SetContext(ctx)
4444	req.ApplyOptions(opts...)
4445	return out, req.Send()
4446}
4447
4448const opUpdateAssessment = "UpdateAssessment"
4449
4450// UpdateAssessmentRequest generates a "aws/request.Request" representing the
4451// client's request for the UpdateAssessment operation. The "output" return
4452// value will be populated with the request's response once the request completes
4453// successfully.
4454//
4455// Use "Send" method on the returned Request to send the API call to the service.
4456// the "output" return value is not valid until after Send returns without error.
4457//
4458// See UpdateAssessment for more information on using the UpdateAssessment
4459// API call, and error handling.
4460//
4461// This method is useful when you want to inject custom logic or configuration
4462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4463//
4464//
4465//    // Example sending a request using the UpdateAssessmentRequest method.
4466//    req, resp := client.UpdateAssessmentRequest(params)
4467//
4468//    err := req.Send()
4469//    if err == nil { // resp is now filled
4470//        fmt.Println(resp)
4471//    }
4472//
4473// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4474func (c *AuditManager) UpdateAssessmentRequest(input *UpdateAssessmentInput) (req *request.Request, output *UpdateAssessmentOutput) {
4475	op := &request.Operation{
4476		Name:       opUpdateAssessment,
4477		HTTPMethod: "PUT",
4478		HTTPPath:   "/assessments/{assessmentId}",
4479	}
4480
4481	if input == nil {
4482		input = &UpdateAssessmentInput{}
4483	}
4484
4485	output = &UpdateAssessmentOutput{}
4486	req = c.newRequest(op, input, output)
4487	return
4488}
4489
4490// UpdateAssessment API operation for AWS Audit Manager.
4491//
4492// Edits an AWS Audit Manager assessment.
4493//
4494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4495// with awserr.Error's Code and Message methods to get detailed information about
4496// the error.
4497//
4498// See the AWS API reference guide for AWS Audit Manager's
4499// API operation UpdateAssessment for usage and error information.
4500//
4501// Returned Error Types:
4502//   * ResourceNotFoundException
4503//   The resource specified in the request cannot be found.
4504//
4505//   * ValidationException
4506//   The request has invalid or missing parameters.
4507//
4508//   * AccessDeniedException
4509//   You do not have sufficient access to perform this action.
4510//
4511//   * InternalServerException
4512//   An internal service error occurred during the processing of your request.
4513//   Try again later.
4514//
4515// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessment
4516func (c *AuditManager) UpdateAssessment(input *UpdateAssessmentInput) (*UpdateAssessmentOutput, error) {
4517	req, out := c.UpdateAssessmentRequest(input)
4518	return out, req.Send()
4519}
4520
4521// UpdateAssessmentWithContext is the same as UpdateAssessment with the addition of
4522// the ability to pass a context and additional request options.
4523//
4524// See UpdateAssessment for details on how to use this API operation.
4525//
4526// The context must be non-nil and will be used for request cancellation. If
4527// the context is nil a panic will occur. In the future the SDK may create
4528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4529// for more information on using Contexts.
4530func (c *AuditManager) UpdateAssessmentWithContext(ctx aws.Context, input *UpdateAssessmentInput, opts ...request.Option) (*UpdateAssessmentOutput, error) {
4531	req, out := c.UpdateAssessmentRequest(input)
4532	req.SetContext(ctx)
4533	req.ApplyOptions(opts...)
4534	return out, req.Send()
4535}
4536
4537const opUpdateAssessmentControl = "UpdateAssessmentControl"
4538
4539// UpdateAssessmentControlRequest generates a "aws/request.Request" representing the
4540// client's request for the UpdateAssessmentControl operation. The "output" return
4541// value will be populated with the request's response once the request completes
4542// successfully.
4543//
4544// Use "Send" method on the returned Request to send the API call to the service.
4545// the "output" return value is not valid until after Send returns without error.
4546//
4547// See UpdateAssessmentControl for more information on using the UpdateAssessmentControl
4548// API call, and error handling.
4549//
4550// This method is useful when you want to inject custom logic or configuration
4551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4552//
4553//
4554//    // Example sending a request using the UpdateAssessmentControlRequest method.
4555//    req, resp := client.UpdateAssessmentControlRequest(params)
4556//
4557//    err := req.Send()
4558//    if err == nil { // resp is now filled
4559//        fmt.Println(resp)
4560//    }
4561//
4562// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4563func (c *AuditManager) UpdateAssessmentControlRequest(input *UpdateAssessmentControlInput) (req *request.Request, output *UpdateAssessmentControlOutput) {
4564	op := &request.Operation{
4565		Name:       opUpdateAssessmentControl,
4566		HTTPMethod: "PUT",
4567		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}",
4568	}
4569
4570	if input == nil {
4571		input = &UpdateAssessmentControlInput{}
4572	}
4573
4574	output = &UpdateAssessmentControlOutput{}
4575	req = c.newRequest(op, input, output)
4576	return
4577}
4578
4579// UpdateAssessmentControl API operation for AWS Audit Manager.
4580//
4581// Updates a control within an assessment in AWS Audit Manager.
4582//
4583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4584// with awserr.Error's Code and Message methods to get detailed information about
4585// the error.
4586//
4587// See the AWS API reference guide for AWS Audit Manager's
4588// API operation UpdateAssessmentControl for usage and error information.
4589//
4590// Returned Error Types:
4591//   * ResourceNotFoundException
4592//   The resource specified in the request cannot be found.
4593//
4594//   * ValidationException
4595//   The request has invalid or missing parameters.
4596//
4597//   * AccessDeniedException
4598//   You do not have sufficient access to perform this action.
4599//
4600//   * InternalServerException
4601//   An internal service error occurred during the processing of your request.
4602//   Try again later.
4603//
4604// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControl
4605func (c *AuditManager) UpdateAssessmentControl(input *UpdateAssessmentControlInput) (*UpdateAssessmentControlOutput, error) {
4606	req, out := c.UpdateAssessmentControlRequest(input)
4607	return out, req.Send()
4608}
4609
4610// UpdateAssessmentControlWithContext is the same as UpdateAssessmentControl with the addition of
4611// the ability to pass a context and additional request options.
4612//
4613// See UpdateAssessmentControl for details on how to use this API operation.
4614//
4615// The context must be non-nil and will be used for request cancellation. If
4616// the context is nil a panic will occur. In the future the SDK may create
4617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4618// for more information on using Contexts.
4619func (c *AuditManager) UpdateAssessmentControlWithContext(ctx aws.Context, input *UpdateAssessmentControlInput, opts ...request.Option) (*UpdateAssessmentControlOutput, error) {
4620	req, out := c.UpdateAssessmentControlRequest(input)
4621	req.SetContext(ctx)
4622	req.ApplyOptions(opts...)
4623	return out, req.Send()
4624}
4625
4626const opUpdateAssessmentControlSetStatus = "UpdateAssessmentControlSetStatus"
4627
4628// UpdateAssessmentControlSetStatusRequest generates a "aws/request.Request" representing the
4629// client's request for the UpdateAssessmentControlSetStatus operation. The "output" return
4630// value will be populated with the request's response once the request completes
4631// successfully.
4632//
4633// Use "Send" method on the returned Request to send the API call to the service.
4634// the "output" return value is not valid until after Send returns without error.
4635//
4636// See UpdateAssessmentControlSetStatus for more information on using the UpdateAssessmentControlSetStatus
4637// API call, and error handling.
4638//
4639// This method is useful when you want to inject custom logic or configuration
4640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4641//
4642//
4643//    // Example sending a request using the UpdateAssessmentControlSetStatusRequest method.
4644//    req, resp := client.UpdateAssessmentControlSetStatusRequest(params)
4645//
4646//    err := req.Send()
4647//    if err == nil { // resp is now filled
4648//        fmt.Println(resp)
4649//    }
4650//
4651// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
4652func (c *AuditManager) UpdateAssessmentControlSetStatusRequest(input *UpdateAssessmentControlSetStatusInput) (req *request.Request, output *UpdateAssessmentControlSetStatusOutput) {
4653	op := &request.Operation{
4654		Name:       opUpdateAssessmentControlSetStatus,
4655		HTTPMethod: "PUT",
4656		HTTPPath:   "/assessments/{assessmentId}/controlSets/{controlSetId}/status",
4657	}
4658
4659	if input == nil {
4660		input = &UpdateAssessmentControlSetStatusInput{}
4661	}
4662
4663	output = &UpdateAssessmentControlSetStatusOutput{}
4664	req = c.newRequest(op, input, output)
4665	return
4666}
4667
4668// UpdateAssessmentControlSetStatus API operation for AWS Audit Manager.
4669//
4670// Updates the status of a control set in an AWS Audit Manager assessment.
4671//
4672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4673// with awserr.Error's Code and Message methods to get detailed information about
4674// the error.
4675//
4676// See the AWS API reference guide for AWS Audit Manager's
4677// API operation UpdateAssessmentControlSetStatus for usage and error information.
4678//
4679// Returned Error Types:
4680//   * ResourceNotFoundException
4681//   The resource specified in the request cannot be found.
4682//
4683//   * ValidationException
4684//   The request has invalid or missing parameters.
4685//
4686//   * AccessDeniedException
4687//   You do not have sufficient access to perform this action.
4688//
4689//   * InternalServerException
4690//   An internal service error occurred during the processing of your request.
4691//   Try again later.
4692//
4693// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentControlSetStatus
4694func (c *AuditManager) UpdateAssessmentControlSetStatus(input *UpdateAssessmentControlSetStatusInput) (*UpdateAssessmentControlSetStatusOutput, error) {
4695	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
4696	return out, req.Send()
4697}
4698
4699// UpdateAssessmentControlSetStatusWithContext is the same as UpdateAssessmentControlSetStatus with the addition of
4700// the ability to pass a context and additional request options.
4701//
4702// See UpdateAssessmentControlSetStatus for details on how to use this API operation.
4703//
4704// The context must be non-nil and will be used for request cancellation. If
4705// the context is nil a panic will occur. In the future the SDK may create
4706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4707// for more information on using Contexts.
4708func (c *AuditManager) UpdateAssessmentControlSetStatusWithContext(ctx aws.Context, input *UpdateAssessmentControlSetStatusInput, opts ...request.Option) (*UpdateAssessmentControlSetStatusOutput, error) {
4709	req, out := c.UpdateAssessmentControlSetStatusRequest(input)
4710	req.SetContext(ctx)
4711	req.ApplyOptions(opts...)
4712	return out, req.Send()
4713}
4714
4715const opUpdateAssessmentFramework = "UpdateAssessmentFramework"
4716
4717// UpdateAssessmentFrameworkRequest generates a "aws/request.Request" representing the
4718// client's request for the UpdateAssessmentFramework operation. The "output" return
4719// value will be populated with the request's response once the request completes
4720// successfully.
4721//
4722// Use "Send" method on the returned Request to send the API call to the service.
4723// the "output" return value is not valid until after Send returns without error.
4724//
4725// See UpdateAssessmentFramework for more information on using the UpdateAssessmentFramework
4726// API call, and error handling.
4727//
4728// This method is useful when you want to inject custom logic or configuration
4729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4730//
4731//
4732//    // Example sending a request using the UpdateAssessmentFrameworkRequest method.
4733//    req, resp := client.UpdateAssessmentFrameworkRequest(params)
4734//
4735//    err := req.Send()
4736//    if err == nil { // resp is now filled
4737//        fmt.Println(resp)
4738//    }
4739//
4740// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
4741func (c *AuditManager) UpdateAssessmentFrameworkRequest(input *UpdateAssessmentFrameworkInput) (req *request.Request, output *UpdateAssessmentFrameworkOutput) {
4742	op := &request.Operation{
4743		Name:       opUpdateAssessmentFramework,
4744		HTTPMethod: "PUT",
4745		HTTPPath:   "/assessmentFrameworks/{frameworkId}",
4746	}
4747
4748	if input == nil {
4749		input = &UpdateAssessmentFrameworkInput{}
4750	}
4751
4752	output = &UpdateAssessmentFrameworkOutput{}
4753	req = c.newRequest(op, input, output)
4754	return
4755}
4756
4757// UpdateAssessmentFramework API operation for AWS Audit Manager.
4758//
4759// Updates a custom framework in AWS Audit Manager.
4760//
4761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4762// with awserr.Error's Code and Message methods to get detailed information about
4763// the error.
4764//
4765// See the AWS API reference guide for AWS Audit Manager's
4766// API operation UpdateAssessmentFramework for usage and error information.
4767//
4768// Returned Error Types:
4769//   * ResourceNotFoundException
4770//   The resource specified in the request cannot be found.
4771//
4772//   * ValidationException
4773//   The request has invalid or missing parameters.
4774//
4775//   * AccessDeniedException
4776//   You do not have sufficient access to perform this action.
4777//
4778//   * InternalServerException
4779//   An internal service error occurred during the processing of your request.
4780//   Try again later.
4781//
4782// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentFramework
4783func (c *AuditManager) UpdateAssessmentFramework(input *UpdateAssessmentFrameworkInput) (*UpdateAssessmentFrameworkOutput, error) {
4784	req, out := c.UpdateAssessmentFrameworkRequest(input)
4785	return out, req.Send()
4786}
4787
4788// UpdateAssessmentFrameworkWithContext is the same as UpdateAssessmentFramework with the addition of
4789// the ability to pass a context and additional request options.
4790//
4791// See UpdateAssessmentFramework for details on how to use this API operation.
4792//
4793// The context must be non-nil and will be used for request cancellation. If
4794// the context is nil a panic will occur. In the future the SDK may create
4795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4796// for more information on using Contexts.
4797func (c *AuditManager) UpdateAssessmentFrameworkWithContext(ctx aws.Context, input *UpdateAssessmentFrameworkInput, opts ...request.Option) (*UpdateAssessmentFrameworkOutput, error) {
4798	req, out := c.UpdateAssessmentFrameworkRequest(input)
4799	req.SetContext(ctx)
4800	req.ApplyOptions(opts...)
4801	return out, req.Send()
4802}
4803
4804const opUpdateAssessmentStatus = "UpdateAssessmentStatus"
4805
4806// UpdateAssessmentStatusRequest generates a "aws/request.Request" representing the
4807// client's request for the UpdateAssessmentStatus operation. The "output" return
4808// value will be populated with the request's response once the request completes
4809// successfully.
4810//
4811// Use "Send" method on the returned Request to send the API call to the service.
4812// the "output" return value is not valid until after Send returns without error.
4813//
4814// See UpdateAssessmentStatus for more information on using the UpdateAssessmentStatus
4815// API call, and error handling.
4816//
4817// This method is useful when you want to inject custom logic or configuration
4818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4819//
4820//
4821//    // Example sending a request using the UpdateAssessmentStatusRequest method.
4822//    req, resp := client.UpdateAssessmentStatusRequest(params)
4823//
4824//    err := req.Send()
4825//    if err == nil { // resp is now filled
4826//        fmt.Println(resp)
4827//    }
4828//
4829// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
4830func (c *AuditManager) UpdateAssessmentStatusRequest(input *UpdateAssessmentStatusInput) (req *request.Request, output *UpdateAssessmentStatusOutput) {
4831	op := &request.Operation{
4832		Name:       opUpdateAssessmentStatus,
4833		HTTPMethod: "PUT",
4834		HTTPPath:   "/assessments/{assessmentId}/status",
4835	}
4836
4837	if input == nil {
4838		input = &UpdateAssessmentStatusInput{}
4839	}
4840
4841	output = &UpdateAssessmentStatusOutput{}
4842	req = c.newRequest(op, input, output)
4843	return
4844}
4845
4846// UpdateAssessmentStatus API operation for AWS Audit Manager.
4847//
4848// Updates the status of an assessment in AWS Audit Manager.
4849//
4850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4851// with awserr.Error's Code and Message methods to get detailed information about
4852// the error.
4853//
4854// See the AWS API reference guide for AWS Audit Manager's
4855// API operation UpdateAssessmentStatus for usage and error information.
4856//
4857// Returned Error Types:
4858//   * ResourceNotFoundException
4859//   The resource specified in the request cannot be found.
4860//
4861//   * ValidationException
4862//   The request has invalid or missing parameters.
4863//
4864//   * AccessDeniedException
4865//   You do not have sufficient access to perform this action.
4866//
4867//   * InternalServerException
4868//   An internal service error occurred during the processing of your request.
4869//   Try again later.
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateAssessmentStatus
4872func (c *AuditManager) UpdateAssessmentStatus(input *UpdateAssessmentStatusInput) (*UpdateAssessmentStatusOutput, error) {
4873	req, out := c.UpdateAssessmentStatusRequest(input)
4874	return out, req.Send()
4875}
4876
4877// UpdateAssessmentStatusWithContext is the same as UpdateAssessmentStatus with the addition of
4878// the ability to pass a context and additional request options.
4879//
4880// See UpdateAssessmentStatus for details on how to use this API operation.
4881//
4882// The context must be non-nil and will be used for request cancellation. If
4883// the context is nil a panic will occur. In the future the SDK may create
4884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4885// for more information on using Contexts.
4886func (c *AuditManager) UpdateAssessmentStatusWithContext(ctx aws.Context, input *UpdateAssessmentStatusInput, opts ...request.Option) (*UpdateAssessmentStatusOutput, error) {
4887	req, out := c.UpdateAssessmentStatusRequest(input)
4888	req.SetContext(ctx)
4889	req.ApplyOptions(opts...)
4890	return out, req.Send()
4891}
4892
4893const opUpdateControl = "UpdateControl"
4894
4895// UpdateControlRequest generates a "aws/request.Request" representing the
4896// client's request for the UpdateControl operation. The "output" return
4897// value will be populated with the request's response once the request completes
4898// successfully.
4899//
4900// Use "Send" method on the returned Request to send the API call to the service.
4901// the "output" return value is not valid until after Send returns without error.
4902//
4903// See UpdateControl for more information on using the UpdateControl
4904// API call, and error handling.
4905//
4906// This method is useful when you want to inject custom logic or configuration
4907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4908//
4909//
4910//    // Example sending a request using the UpdateControlRequest method.
4911//    req, resp := client.UpdateControlRequest(params)
4912//
4913//    err := req.Send()
4914//    if err == nil { // resp is now filled
4915//        fmt.Println(resp)
4916//    }
4917//
4918// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
4919func (c *AuditManager) UpdateControlRequest(input *UpdateControlInput) (req *request.Request, output *UpdateControlOutput) {
4920	op := &request.Operation{
4921		Name:       opUpdateControl,
4922		HTTPMethod: "PUT",
4923		HTTPPath:   "/controls/{controlId}",
4924	}
4925
4926	if input == nil {
4927		input = &UpdateControlInput{}
4928	}
4929
4930	output = &UpdateControlOutput{}
4931	req = c.newRequest(op, input, output)
4932	return
4933}
4934
4935// UpdateControl API operation for AWS Audit Manager.
4936//
4937// Updates a custom control in AWS Audit Manager.
4938//
4939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4940// with awserr.Error's Code and Message methods to get detailed information about
4941// the error.
4942//
4943// See the AWS API reference guide for AWS Audit Manager's
4944// API operation UpdateControl for usage and error information.
4945//
4946// Returned Error Types:
4947//   * ResourceNotFoundException
4948//   The resource specified in the request cannot be found.
4949//
4950//   * ValidationException
4951//   The request has invalid or missing parameters.
4952//
4953//   * AccessDeniedException
4954//   You do not have sufficient access to perform this action.
4955//
4956//   * InternalServerException
4957//   An internal service error occurred during the processing of your request.
4958//   Try again later.
4959//
4960// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateControl
4961func (c *AuditManager) UpdateControl(input *UpdateControlInput) (*UpdateControlOutput, error) {
4962	req, out := c.UpdateControlRequest(input)
4963	return out, req.Send()
4964}
4965
4966// UpdateControlWithContext is the same as UpdateControl with the addition of
4967// the ability to pass a context and additional request options.
4968//
4969// See UpdateControl for details on how to use this API operation.
4970//
4971// The context must be non-nil and will be used for request cancellation. If
4972// the context is nil a panic will occur. In the future the SDK may create
4973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4974// for more information on using Contexts.
4975func (c *AuditManager) UpdateControlWithContext(ctx aws.Context, input *UpdateControlInput, opts ...request.Option) (*UpdateControlOutput, error) {
4976	req, out := c.UpdateControlRequest(input)
4977	req.SetContext(ctx)
4978	req.ApplyOptions(opts...)
4979	return out, req.Send()
4980}
4981
4982const opUpdateSettings = "UpdateSettings"
4983
4984// UpdateSettingsRequest generates a "aws/request.Request" representing the
4985// client's request for the UpdateSettings operation. The "output" return
4986// value will be populated with the request's response once the request completes
4987// successfully.
4988//
4989// Use "Send" method on the returned Request to send the API call to the service.
4990// the "output" return value is not valid until after Send returns without error.
4991//
4992// See UpdateSettings for more information on using the UpdateSettings
4993// API call, and error handling.
4994//
4995// This method is useful when you want to inject custom logic or configuration
4996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4997//
4998//
4999//    // Example sending a request using the UpdateSettingsRequest method.
5000//    req, resp := client.UpdateSettingsRequest(params)
5001//
5002//    err := req.Send()
5003//    if err == nil { // resp is now filled
5004//        fmt.Println(resp)
5005//    }
5006//
5007// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5008func (c *AuditManager) UpdateSettingsRequest(input *UpdateSettingsInput) (req *request.Request, output *UpdateSettingsOutput) {
5009	op := &request.Operation{
5010		Name:       opUpdateSettings,
5011		HTTPMethod: "PUT",
5012		HTTPPath:   "/settings",
5013	}
5014
5015	if input == nil {
5016		input = &UpdateSettingsInput{}
5017	}
5018
5019	output = &UpdateSettingsOutput{}
5020	req = c.newRequest(op, input, output)
5021	return
5022}
5023
5024// UpdateSettings API operation for AWS Audit Manager.
5025//
5026// Updates AWS Audit Manager settings for the current user account.
5027//
5028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5029// with awserr.Error's Code and Message methods to get detailed information about
5030// the error.
5031//
5032// See the AWS API reference guide for AWS Audit Manager's
5033// API operation UpdateSettings for usage and error information.
5034//
5035// Returned Error Types:
5036//   * ValidationException
5037//   The request has invalid or missing parameters.
5038//
5039//   * AccessDeniedException
5040//   You do not have sufficient access to perform this action.
5041//
5042//   * InternalServerException
5043//   An internal service error occurred during the processing of your request.
5044//   Try again later.
5045//
5046// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/UpdateSettings
5047func (c *AuditManager) UpdateSettings(input *UpdateSettingsInput) (*UpdateSettingsOutput, error) {
5048	req, out := c.UpdateSettingsRequest(input)
5049	return out, req.Send()
5050}
5051
5052// UpdateSettingsWithContext is the same as UpdateSettings with the addition of
5053// the ability to pass a context and additional request options.
5054//
5055// See UpdateSettings for details on how to use this API operation.
5056//
5057// The context must be non-nil and will be used for request cancellation. If
5058// the context is nil a panic will occur. In the future the SDK may create
5059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5060// for more information on using Contexts.
5061func (c *AuditManager) UpdateSettingsWithContext(ctx aws.Context, input *UpdateSettingsInput, opts ...request.Option) (*UpdateSettingsOutput, error) {
5062	req, out := c.UpdateSettingsRequest(input)
5063	req.SetContext(ctx)
5064	req.ApplyOptions(opts...)
5065	return out, req.Send()
5066}
5067
5068const opValidateAssessmentReportIntegrity = "ValidateAssessmentReportIntegrity"
5069
5070// ValidateAssessmentReportIntegrityRequest generates a "aws/request.Request" representing the
5071// client's request for the ValidateAssessmentReportIntegrity operation. The "output" return
5072// value will be populated with the request's response once the request completes
5073// successfully.
5074//
5075// Use "Send" method on the returned Request to send the API call to the service.
5076// the "output" return value is not valid until after Send returns without error.
5077//
5078// See ValidateAssessmentReportIntegrity for more information on using the ValidateAssessmentReportIntegrity
5079// API call, and error handling.
5080//
5081// This method is useful when you want to inject custom logic or configuration
5082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5083//
5084//
5085//    // Example sending a request using the ValidateAssessmentReportIntegrityRequest method.
5086//    req, resp := client.ValidateAssessmentReportIntegrityRequest(params)
5087//
5088//    err := req.Send()
5089//    if err == nil { // resp is now filled
5090//        fmt.Println(resp)
5091//    }
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5094func (c *AuditManager) ValidateAssessmentReportIntegrityRequest(input *ValidateAssessmentReportIntegrityInput) (req *request.Request, output *ValidateAssessmentReportIntegrityOutput) {
5095	op := &request.Operation{
5096		Name:       opValidateAssessmentReportIntegrity,
5097		HTTPMethod: "POST",
5098		HTTPPath:   "/assessmentReports/integrity",
5099	}
5100
5101	if input == nil {
5102		input = &ValidateAssessmentReportIntegrityInput{}
5103	}
5104
5105	output = &ValidateAssessmentReportIntegrityOutput{}
5106	req = c.newRequest(op, input, output)
5107	return
5108}
5109
5110// ValidateAssessmentReportIntegrity API operation for AWS Audit Manager.
5111//
5112// Validates the integrity of an assessment report in AWS Audit Manager.
5113//
5114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5115// with awserr.Error's Code and Message methods to get detailed information about
5116// the error.
5117//
5118// See the AWS API reference guide for AWS Audit Manager's
5119// API operation ValidateAssessmentReportIntegrity for usage and error information.
5120//
5121// Returned Error Types:
5122//   * ValidationException
5123//   The request has invalid or missing parameters.
5124//
5125//   * AccessDeniedException
5126//   You do not have sufficient access to perform this action.
5127//
5128//   * InternalServerException
5129//   An internal service error occurred during the processing of your request.
5130//   Try again later.
5131//
5132//   * ResourceNotFoundException
5133//   The resource specified in the request cannot be found.
5134//
5135// See also, https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ValidateAssessmentReportIntegrity
5136func (c *AuditManager) ValidateAssessmentReportIntegrity(input *ValidateAssessmentReportIntegrityInput) (*ValidateAssessmentReportIntegrityOutput, error) {
5137	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5138	return out, req.Send()
5139}
5140
5141// ValidateAssessmentReportIntegrityWithContext is the same as ValidateAssessmentReportIntegrity with the addition of
5142// the ability to pass a context and additional request options.
5143//
5144// See ValidateAssessmentReportIntegrity for details on how to use this API operation.
5145//
5146// The context must be non-nil and will be used for request cancellation. If
5147// the context is nil a panic will occur. In the future the SDK may create
5148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5149// for more information on using Contexts.
5150func (c *AuditManager) ValidateAssessmentReportIntegrityWithContext(ctx aws.Context, input *ValidateAssessmentReportIntegrityInput, opts ...request.Option) (*ValidateAssessmentReportIntegrityOutput, error) {
5151	req, out := c.ValidateAssessmentReportIntegrityRequest(input)
5152	req.SetContext(ctx)
5153	req.ApplyOptions(opts...)
5154	return out, req.Send()
5155}
5156
5157// The wrapper of AWS account details, such as account ID, email address, and
5158// so on.
5159type AWSAccount struct {
5160	_ struct{} `type:"structure"`
5161
5162	// The email address associated with the specified AWS account.
5163	EmailAddress *string `locationName:"emailAddress" min:"1" type:"string"`
5164
5165	// The identifier for the specified AWS account.
5166	Id *string `locationName:"id" min:"12" type:"string"`
5167
5168	// The name of the specified AWS account.
5169	Name *string `locationName:"name" min:"1" type:"string"`
5170}
5171
5172// String returns the string representation
5173func (s AWSAccount) String() string {
5174	return awsutil.Prettify(s)
5175}
5176
5177// GoString returns the string representation
5178func (s AWSAccount) GoString() string {
5179	return s.String()
5180}
5181
5182// Validate inspects the fields of the type to determine if they are valid.
5183func (s *AWSAccount) Validate() error {
5184	invalidParams := request.ErrInvalidParams{Context: "AWSAccount"}
5185	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
5186		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
5187	}
5188	if s.Id != nil && len(*s.Id) < 12 {
5189		invalidParams.Add(request.NewErrParamMinLen("Id", 12))
5190	}
5191	if s.Name != nil && len(*s.Name) < 1 {
5192		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5193	}
5194
5195	if invalidParams.Len() > 0 {
5196		return invalidParams
5197	}
5198	return nil
5199}
5200
5201// SetEmailAddress sets the EmailAddress field's value.
5202func (s *AWSAccount) SetEmailAddress(v string) *AWSAccount {
5203	s.EmailAddress = &v
5204	return s
5205}
5206
5207// SetId sets the Id field's value.
5208func (s *AWSAccount) SetId(v string) *AWSAccount {
5209	s.Id = &v
5210	return s
5211}
5212
5213// SetName sets the Name field's value.
5214func (s *AWSAccount) SetName(v string) *AWSAccount {
5215	s.Name = &v
5216	return s
5217}
5218
5219// An AWS service such as Amazon S3, AWS CloudTrail, and so on.
5220type AWSService struct {
5221	_ struct{} `type:"structure"`
5222
5223	// The name of the AWS service.
5224	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
5225}
5226
5227// String returns the string representation
5228func (s AWSService) String() string {
5229	return awsutil.Prettify(s)
5230}
5231
5232// GoString returns the string representation
5233func (s AWSService) GoString() string {
5234	return s.String()
5235}
5236
5237// Validate inspects the fields of the type to determine if they are valid.
5238func (s *AWSService) Validate() error {
5239	invalidParams := request.ErrInvalidParams{Context: "AWSService"}
5240	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
5241		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
5242	}
5243
5244	if invalidParams.Len() > 0 {
5245		return invalidParams
5246	}
5247	return nil
5248}
5249
5250// SetServiceName sets the ServiceName field's value.
5251func (s *AWSService) SetServiceName(v string) *AWSService {
5252	s.ServiceName = &v
5253	return s
5254}
5255
5256// You do not have sufficient access to perform this action.
5257type AccessDeniedException struct {
5258	_            struct{}                  `type:"structure"`
5259	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5260
5261	Message_ *string `locationName:"message" type:"string"`
5262}
5263
5264// String returns the string representation
5265func (s AccessDeniedException) String() string {
5266	return awsutil.Prettify(s)
5267}
5268
5269// GoString returns the string representation
5270func (s AccessDeniedException) GoString() string {
5271	return s.String()
5272}
5273
5274func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5275	return &AccessDeniedException{
5276		RespMetadata: v,
5277	}
5278}
5279
5280// Code returns the exception type name.
5281func (s *AccessDeniedException) Code() string {
5282	return "AccessDeniedException"
5283}
5284
5285// Message returns the exception's message.
5286func (s *AccessDeniedException) Message() string {
5287	if s.Message_ != nil {
5288		return *s.Message_
5289	}
5290	return ""
5291}
5292
5293// OrigErr always returns nil, satisfies awserr.Error interface.
5294func (s *AccessDeniedException) OrigErr() error {
5295	return nil
5296}
5297
5298func (s *AccessDeniedException) Error() string {
5299	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5300}
5301
5302// Status code returns the HTTP status code for the request's response error.
5303func (s *AccessDeniedException) StatusCode() int {
5304	return s.RespMetadata.StatusCode
5305}
5306
5307// RequestID returns the service's response RequestID for request.
5308func (s *AccessDeniedException) RequestID() string {
5309	return s.RespMetadata.RequestID
5310}
5311
5312// An entity that defines the scope of audit evidence collected by AWS Audit
5313// Manager. An AWS Audit Manager assessment is an implementation of an AWS Audit
5314// Manager framework.
5315type Assessment struct {
5316	_ struct{} `type:"structure"`
5317
5318	// The Amazon Resource Name (ARN) of the assessment.
5319	Arn *string `locationName:"arn" min:"20" type:"string"`
5320
5321	// The AWS account associated with the assessment.
5322	AwsAccount *AWSAccount `locationName:"awsAccount" type:"structure"`
5323
5324	// The framework from which the assessment was created.
5325	Framework *AssessmentFramework `locationName:"framework" type:"structure"`
5326
5327	// The metadata for the specified assessment.
5328	Metadata *AssessmentMetadata `locationName:"metadata" type:"structure"`
5329
5330	// The tags associated with the assessment.
5331	Tags map[string]*string `locationName:"tags" type:"map"`
5332}
5333
5334// String returns the string representation
5335func (s Assessment) String() string {
5336	return awsutil.Prettify(s)
5337}
5338
5339// GoString returns the string representation
5340func (s Assessment) GoString() string {
5341	return s.String()
5342}
5343
5344// SetArn sets the Arn field's value.
5345func (s *Assessment) SetArn(v string) *Assessment {
5346	s.Arn = &v
5347	return s
5348}
5349
5350// SetAwsAccount sets the AwsAccount field's value.
5351func (s *Assessment) SetAwsAccount(v *AWSAccount) *Assessment {
5352	s.AwsAccount = v
5353	return s
5354}
5355
5356// SetFramework sets the Framework field's value.
5357func (s *Assessment) SetFramework(v *AssessmentFramework) *Assessment {
5358	s.Framework = v
5359	return s
5360}
5361
5362// SetMetadata sets the Metadata field's value.
5363func (s *Assessment) SetMetadata(v *AssessmentMetadata) *Assessment {
5364	s.Metadata = v
5365	return s
5366}
5367
5368// SetTags sets the Tags field's value.
5369func (s *Assessment) SetTags(v map[string]*string) *Assessment {
5370	s.Tags = v
5371	return s
5372}
5373
5374// The control entity that represents a standard or custom control used in an
5375// AWS Audit Manager assessment.
5376type AssessmentControl struct {
5377	_ struct{} `type:"structure"`
5378
5379	// The amount of evidence in the assessment report.
5380	AssessmentReportEvidenceCount *int64 `locationName:"assessmentReportEvidenceCount" type:"integer"`
5381
5382	// The list of comments attached to the specified control.
5383	Comments []*ControlComment `locationName:"comments" type:"list"`
5384
5385	// The description of the specified control.
5386	Description *string `locationName:"description" type:"string"`
5387
5388	// The amount of evidence generated for the control.
5389	EvidenceCount *int64 `locationName:"evidenceCount" type:"integer"`
5390
5391	// The list of data sources for the specified evidence.
5392	EvidenceSources []*string `locationName:"evidenceSources" type:"list"`
5393
5394	// The identifier for the specified control.
5395	Id *string `locationName:"id" min:"36" type:"string"`
5396
5397	// The name of the specified control.
5398	Name *string `locationName:"name" min:"1" type:"string"`
5399
5400	// The response of the specified control.
5401	Response *string `locationName:"response" type:"string" enum:"ControlResponse"`
5402
5403	// The status of the specified control.
5404	Status *string `locationName:"status" type:"string" enum:"ControlStatus"`
5405}
5406
5407// String returns the string representation
5408func (s AssessmentControl) String() string {
5409	return awsutil.Prettify(s)
5410}
5411
5412// GoString returns the string representation
5413func (s AssessmentControl) GoString() string {
5414	return s.String()
5415}
5416
5417// SetAssessmentReportEvidenceCount sets the AssessmentReportEvidenceCount field's value.
5418func (s *AssessmentControl) SetAssessmentReportEvidenceCount(v int64) *AssessmentControl {
5419	s.AssessmentReportEvidenceCount = &v
5420	return s
5421}
5422
5423// SetComments sets the Comments field's value.
5424func (s *AssessmentControl) SetComments(v []*ControlComment) *AssessmentControl {
5425	s.Comments = v
5426	return s
5427}
5428
5429// SetDescription sets the Description field's value.
5430func (s *AssessmentControl) SetDescription(v string) *AssessmentControl {
5431	s.Description = &v
5432	return s
5433}
5434
5435// SetEvidenceCount sets the EvidenceCount field's value.
5436func (s *AssessmentControl) SetEvidenceCount(v int64) *AssessmentControl {
5437	s.EvidenceCount = &v
5438	return s
5439}
5440
5441// SetEvidenceSources sets the EvidenceSources field's value.
5442func (s *AssessmentControl) SetEvidenceSources(v []*string) *AssessmentControl {
5443	s.EvidenceSources = v
5444	return s
5445}
5446
5447// SetId sets the Id field's value.
5448func (s *AssessmentControl) SetId(v string) *AssessmentControl {
5449	s.Id = &v
5450	return s
5451}
5452
5453// SetName sets the Name field's value.
5454func (s *AssessmentControl) SetName(v string) *AssessmentControl {
5455	s.Name = &v
5456	return s
5457}
5458
5459// SetResponse sets the Response field's value.
5460func (s *AssessmentControl) SetResponse(v string) *AssessmentControl {
5461	s.Response = &v
5462	return s
5463}
5464
5465// SetStatus sets the Status field's value.
5466func (s *AssessmentControl) SetStatus(v string) *AssessmentControl {
5467	s.Status = &v
5468	return s
5469}
5470
5471// Represents a set of controls in an AWS Audit Manager assessment.
5472type AssessmentControlSet struct {
5473	_ struct{} `type:"structure"`
5474
5475	// The list of controls contained with the control set.
5476	Controls []*AssessmentControl `locationName:"controls" type:"list"`
5477
5478	// The delegations associated with the control set.
5479	Delegations []*Delegation `locationName:"delegations" type:"list"`
5480
5481	// The description for the control set.
5482	Description *string `locationName:"description" min:"1" type:"string"`
5483
5484	// The identifier of the control set in the assessment. This is the control
5485	// set name in a plain string format.
5486	Id *string `locationName:"id" min:"1" type:"string"`
5487
5488	// The total number of evidence objects uploaded manually to the control set.
5489	ManualEvidenceCount *int64 `locationName:"manualEvidenceCount" type:"integer"`
5490
5491	// The roles associated with the control set.
5492	Roles []*Role `locationName:"roles" type:"list"`
5493
5494	// Specifies the current status of the control set.
5495	Status *string `locationName:"status" type:"string" enum:"ControlSetStatus"`
5496
5497	// The total number of evidence objects retrieved automatically for the control
5498	// set.
5499	SystemEvidenceCount *int64 `locationName:"systemEvidenceCount" type:"integer"`
5500}
5501
5502// String returns the string representation
5503func (s AssessmentControlSet) String() string {
5504	return awsutil.Prettify(s)
5505}
5506
5507// GoString returns the string representation
5508func (s AssessmentControlSet) GoString() string {
5509	return s.String()
5510}
5511
5512// SetControls sets the Controls field's value.
5513func (s *AssessmentControlSet) SetControls(v []*AssessmentControl) *AssessmentControlSet {
5514	s.Controls = v
5515	return s
5516}
5517
5518// SetDelegations sets the Delegations field's value.
5519func (s *AssessmentControlSet) SetDelegations(v []*Delegation) *AssessmentControlSet {
5520	s.Delegations = v
5521	return s
5522}
5523
5524// SetDescription sets the Description field's value.
5525func (s *AssessmentControlSet) SetDescription(v string) *AssessmentControlSet {
5526	s.Description = &v
5527	return s
5528}
5529
5530// SetId sets the Id field's value.
5531func (s *AssessmentControlSet) SetId(v string) *AssessmentControlSet {
5532	s.Id = &v
5533	return s
5534}
5535
5536// SetManualEvidenceCount sets the ManualEvidenceCount field's value.
5537func (s *AssessmentControlSet) SetManualEvidenceCount(v int64) *AssessmentControlSet {
5538	s.ManualEvidenceCount = &v
5539	return s
5540}
5541
5542// SetRoles sets the Roles field's value.
5543func (s *AssessmentControlSet) SetRoles(v []*Role) *AssessmentControlSet {
5544	s.Roles = v
5545	return s
5546}
5547
5548// SetStatus sets the Status field's value.
5549func (s *AssessmentControlSet) SetStatus(v string) *AssessmentControlSet {
5550	s.Status = &v
5551	return s
5552}
5553
5554// SetSystemEvidenceCount sets the SystemEvidenceCount field's value.
5555func (s *AssessmentControlSet) SetSystemEvidenceCount(v int64) *AssessmentControlSet {
5556	s.SystemEvidenceCount = &v
5557	return s
5558}
5559
5560// The folder in which AWS Audit Manager stores evidence for an assessment.
5561type AssessmentEvidenceFolder struct {
5562	_ struct{} `type:"structure"`
5563
5564	// The identifier for the specified assessment.
5565	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
5566
5567	// The total count of evidence included in the assessment report.
5568	AssessmentReportSelectionCount *int64 `locationName:"assessmentReportSelectionCount" type:"integer"`
5569
5570	// The name of the user who created the evidence folder.
5571	Author *string `locationName:"author" type:"string"`
5572
5573	// The unique identifier for the specified control.
5574	ControlId *string `locationName:"controlId" min:"36" type:"string"`
5575
5576	// The name of the control.
5577	ControlName *string `locationName:"controlName" min:"1" type:"string"`
5578
5579	// The identifier for the control set.
5580	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
5581
5582	// The AWS service from which the evidence was collected.
5583	DataSource *string `locationName:"dataSource" type:"string"`
5584
5585	// The date when the first evidence was added to the evidence folder.
5586	Date *time.Time `locationName:"date" type:"timestamp"`
5587
5588	// The total number of AWS resources assessed to generate the evidence.
5589	EvidenceAwsServiceSourceCount *int64 `locationName:"evidenceAwsServiceSourceCount" type:"integer"`
5590
5591	// The number of evidence that falls under the compliance check category. This
5592	// evidence is collected from AWS Config or AWS Security Hub.
5593	EvidenceByTypeComplianceCheckCount *int64 `locationName:"evidenceByTypeComplianceCheckCount" type:"integer"`
5594
5595	// The total number of issues that were reported directly from AWS Security
5596	// Hub, AWS Config, or both.
5597	EvidenceByTypeComplianceCheckIssuesCount *int64 `locationName:"evidenceByTypeComplianceCheckIssuesCount" type:"integer"`
5598
5599	// The number of evidence that falls under the configuration data category.
5600	// This evidence is collected from configuration snapshots of other AWS services
5601	// such as Amazon EC2, Amazon S3, or IAM.
5602	EvidenceByTypeConfigurationDataCount *int64 `locationName:"evidenceByTypeConfigurationDataCount" type:"integer"`
5603
5604	// The number of evidence that falls under the manual category. This evidence
5605	// is imported manually.
5606	EvidenceByTypeManualCount *int64 `locationName:"evidenceByTypeManualCount" type:"integer"`
5607
5608	// The number of evidence that falls under the user activity category. This
5609	// evidence is collected from AWS CloudTrail logs.
5610	EvidenceByTypeUserActivityCount *int64 `locationName:"evidenceByTypeUserActivityCount" type:"integer"`
5611
5612	// The amount of evidence included in the evidence folder.
5613	EvidenceResourcesIncludedCount *int64 `locationName:"evidenceResourcesIncludedCount" type:"integer"`
5614
5615	// The identifier for the folder in which evidence is stored.
5616	Id *string `locationName:"id" min:"36" type:"string"`
5617
5618	// The name of the specified evidence folder.
5619	Name *string `locationName:"name" min:"1" type:"string"`
5620
5621	// The total amount of evidence in the evidence folder.
5622	TotalEvidence *int64 `locationName:"totalEvidence" type:"integer"`
5623}
5624
5625// String returns the string representation
5626func (s AssessmentEvidenceFolder) String() string {
5627	return awsutil.Prettify(s)
5628}
5629
5630// GoString returns the string representation
5631func (s AssessmentEvidenceFolder) GoString() string {
5632	return s.String()
5633}
5634
5635// SetAssessmentId sets the AssessmentId field's value.
5636func (s *AssessmentEvidenceFolder) SetAssessmentId(v string) *AssessmentEvidenceFolder {
5637	s.AssessmentId = &v
5638	return s
5639}
5640
5641// SetAssessmentReportSelectionCount sets the AssessmentReportSelectionCount field's value.
5642func (s *AssessmentEvidenceFolder) SetAssessmentReportSelectionCount(v int64) *AssessmentEvidenceFolder {
5643	s.AssessmentReportSelectionCount = &v
5644	return s
5645}
5646
5647// SetAuthor sets the Author field's value.
5648func (s *AssessmentEvidenceFolder) SetAuthor(v string) *AssessmentEvidenceFolder {
5649	s.Author = &v
5650	return s
5651}
5652
5653// SetControlId sets the ControlId field's value.
5654func (s *AssessmentEvidenceFolder) SetControlId(v string) *AssessmentEvidenceFolder {
5655	s.ControlId = &v
5656	return s
5657}
5658
5659// SetControlName sets the ControlName field's value.
5660func (s *AssessmentEvidenceFolder) SetControlName(v string) *AssessmentEvidenceFolder {
5661	s.ControlName = &v
5662	return s
5663}
5664
5665// SetControlSetId sets the ControlSetId field's value.
5666func (s *AssessmentEvidenceFolder) SetControlSetId(v string) *AssessmentEvidenceFolder {
5667	s.ControlSetId = &v
5668	return s
5669}
5670
5671// SetDataSource sets the DataSource field's value.
5672func (s *AssessmentEvidenceFolder) SetDataSource(v string) *AssessmentEvidenceFolder {
5673	s.DataSource = &v
5674	return s
5675}
5676
5677// SetDate sets the Date field's value.
5678func (s *AssessmentEvidenceFolder) SetDate(v time.Time) *AssessmentEvidenceFolder {
5679	s.Date = &v
5680	return s
5681}
5682
5683// SetEvidenceAwsServiceSourceCount sets the EvidenceAwsServiceSourceCount field's value.
5684func (s *AssessmentEvidenceFolder) SetEvidenceAwsServiceSourceCount(v int64) *AssessmentEvidenceFolder {
5685	s.EvidenceAwsServiceSourceCount = &v
5686	return s
5687}
5688
5689// SetEvidenceByTypeComplianceCheckCount sets the EvidenceByTypeComplianceCheckCount field's value.
5690func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckCount(v int64) *AssessmentEvidenceFolder {
5691	s.EvidenceByTypeComplianceCheckCount = &v
5692	return s
5693}
5694
5695// SetEvidenceByTypeComplianceCheckIssuesCount sets the EvidenceByTypeComplianceCheckIssuesCount field's value.
5696func (s *AssessmentEvidenceFolder) SetEvidenceByTypeComplianceCheckIssuesCount(v int64) *AssessmentEvidenceFolder {
5697	s.EvidenceByTypeComplianceCheckIssuesCount = &v
5698	return s
5699}
5700
5701// SetEvidenceByTypeConfigurationDataCount sets the EvidenceByTypeConfigurationDataCount field's value.
5702func (s *AssessmentEvidenceFolder) SetEvidenceByTypeConfigurationDataCount(v int64) *AssessmentEvidenceFolder {
5703	s.EvidenceByTypeConfigurationDataCount = &v
5704	return s
5705}
5706
5707// SetEvidenceByTypeManualCount sets the EvidenceByTypeManualCount field's value.
5708func (s *AssessmentEvidenceFolder) SetEvidenceByTypeManualCount(v int64) *AssessmentEvidenceFolder {
5709	s.EvidenceByTypeManualCount = &v
5710	return s
5711}
5712
5713// SetEvidenceByTypeUserActivityCount sets the EvidenceByTypeUserActivityCount field's value.
5714func (s *AssessmentEvidenceFolder) SetEvidenceByTypeUserActivityCount(v int64) *AssessmentEvidenceFolder {
5715	s.EvidenceByTypeUserActivityCount = &v
5716	return s
5717}
5718
5719// SetEvidenceResourcesIncludedCount sets the EvidenceResourcesIncludedCount field's value.
5720func (s *AssessmentEvidenceFolder) SetEvidenceResourcesIncludedCount(v int64) *AssessmentEvidenceFolder {
5721	s.EvidenceResourcesIncludedCount = &v
5722	return s
5723}
5724
5725// SetId sets the Id field's value.
5726func (s *AssessmentEvidenceFolder) SetId(v string) *AssessmentEvidenceFolder {
5727	s.Id = &v
5728	return s
5729}
5730
5731// SetName sets the Name field's value.
5732func (s *AssessmentEvidenceFolder) SetName(v string) *AssessmentEvidenceFolder {
5733	s.Name = &v
5734	return s
5735}
5736
5737// SetTotalEvidence sets the TotalEvidence field's value.
5738func (s *AssessmentEvidenceFolder) SetTotalEvidence(v int64) *AssessmentEvidenceFolder {
5739	s.TotalEvidence = &v
5740	return s
5741}
5742
5743// The file used to structure and automate AWS Audit Manager assessments for
5744// a given compliance standard.
5745type AssessmentFramework struct {
5746	_ struct{} `type:"structure"`
5747
5748	// The Amazon Resource Name (ARN) of the specified framework.
5749	Arn *string `locationName:"arn" min:"20" type:"string"`
5750
5751	// The control sets associated with the framework.
5752	ControlSets []*AssessmentControlSet `locationName:"controlSets" type:"list"`
5753
5754	// The unique identifier for the framework.
5755	Id *string `locationName:"id" min:"36" type:"string"`
5756
5757	// The metadata of a framework, such as the name, ID, description, and so on.
5758	Metadata *FrameworkMetadata `locationName:"metadata" type:"structure"`
5759}
5760
5761// String returns the string representation
5762func (s AssessmentFramework) String() string {
5763	return awsutil.Prettify(s)
5764}
5765
5766// GoString returns the string representation
5767func (s AssessmentFramework) GoString() string {
5768	return s.String()
5769}
5770
5771// SetArn sets the Arn field's value.
5772func (s *AssessmentFramework) SetArn(v string) *AssessmentFramework {
5773	s.Arn = &v
5774	return s
5775}
5776
5777// SetControlSets sets the ControlSets field's value.
5778func (s *AssessmentFramework) SetControlSets(v []*AssessmentControlSet) *AssessmentFramework {
5779	s.ControlSets = v
5780	return s
5781}
5782
5783// SetId sets the Id field's value.
5784func (s *AssessmentFramework) SetId(v string) *AssessmentFramework {
5785	s.Id = &v
5786	return s
5787}
5788
5789// SetMetadata sets the Metadata field's value.
5790func (s *AssessmentFramework) SetMetadata(v *FrameworkMetadata) *AssessmentFramework {
5791	s.Metadata = v
5792	return s
5793}
5794
5795// The metadata associated with a standard or custom framework.
5796type AssessmentFrameworkMetadata struct {
5797	_ struct{} `type:"structure"`
5798
5799	// The Amazon Resource Name (ARN) of the framework.
5800	Arn *string `locationName:"arn" min:"20" type:"string"`
5801
5802	// The compliance type that the new custom framework supports, such as CIS or
5803	// HIPAA.
5804	ComplianceType *string `locationName:"complianceType" type:"string"`
5805
5806	// The number of control sets associated with the specified framework.
5807	ControlSetsCount *int64 `locationName:"controlSetsCount" type:"integer"`
5808
5809	// The number of controls associated with the specified framework.
5810	ControlsCount *int64 `locationName:"controlsCount" type:"integer"`
5811
5812	// Specifies when the framework was created.
5813	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
5814
5815	// The description of the specified framework.
5816	Description *string `locationName:"description" min:"1" type:"string"`
5817
5818	// The unique identified for the specified framework.
5819	Id *string `locationName:"id" min:"36" type:"string"`
5820
5821	// Specifies when the framework was most recently updated.
5822	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5823
5824	// The logo associated with the framework.
5825	Logo *string `locationName:"logo" min:"1" type:"string"`
5826
5827	// The name of the specified framework.
5828	Name *string `locationName:"name" min:"1" type:"string"`
5829
5830	// The framework type, such as standard or custom.
5831	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
5832}
5833
5834// String returns the string representation
5835func (s AssessmentFrameworkMetadata) String() string {
5836	return awsutil.Prettify(s)
5837}
5838
5839// GoString returns the string representation
5840func (s AssessmentFrameworkMetadata) GoString() string {
5841	return s.String()
5842}
5843
5844// SetArn sets the Arn field's value.
5845func (s *AssessmentFrameworkMetadata) SetArn(v string) *AssessmentFrameworkMetadata {
5846	s.Arn = &v
5847	return s
5848}
5849
5850// SetComplianceType sets the ComplianceType field's value.
5851func (s *AssessmentFrameworkMetadata) SetComplianceType(v string) *AssessmentFrameworkMetadata {
5852	s.ComplianceType = &v
5853	return s
5854}
5855
5856// SetControlSetsCount sets the ControlSetsCount field's value.
5857func (s *AssessmentFrameworkMetadata) SetControlSetsCount(v int64) *AssessmentFrameworkMetadata {
5858	s.ControlSetsCount = &v
5859	return s
5860}
5861
5862// SetControlsCount sets the ControlsCount field's value.
5863func (s *AssessmentFrameworkMetadata) SetControlsCount(v int64) *AssessmentFrameworkMetadata {
5864	s.ControlsCount = &v
5865	return s
5866}
5867
5868// SetCreatedAt sets the CreatedAt field's value.
5869func (s *AssessmentFrameworkMetadata) SetCreatedAt(v time.Time) *AssessmentFrameworkMetadata {
5870	s.CreatedAt = &v
5871	return s
5872}
5873
5874// SetDescription sets the Description field's value.
5875func (s *AssessmentFrameworkMetadata) SetDescription(v string) *AssessmentFrameworkMetadata {
5876	s.Description = &v
5877	return s
5878}
5879
5880// SetId sets the Id field's value.
5881func (s *AssessmentFrameworkMetadata) SetId(v string) *AssessmentFrameworkMetadata {
5882	s.Id = &v
5883	return s
5884}
5885
5886// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5887func (s *AssessmentFrameworkMetadata) SetLastUpdatedAt(v time.Time) *AssessmentFrameworkMetadata {
5888	s.LastUpdatedAt = &v
5889	return s
5890}
5891
5892// SetLogo sets the Logo field's value.
5893func (s *AssessmentFrameworkMetadata) SetLogo(v string) *AssessmentFrameworkMetadata {
5894	s.Logo = &v
5895	return s
5896}
5897
5898// SetName sets the Name field's value.
5899func (s *AssessmentFrameworkMetadata) SetName(v string) *AssessmentFrameworkMetadata {
5900	s.Name = &v
5901	return s
5902}
5903
5904// SetType sets the Type field's value.
5905func (s *AssessmentFrameworkMetadata) SetType(v string) *AssessmentFrameworkMetadata {
5906	s.Type = &v
5907	return s
5908}
5909
5910// The metadata associated with the specified assessment.
5911type AssessmentMetadata struct {
5912	_ struct{} `type:"structure"`
5913
5914	// The destination in which evidence reports are stored for the specified assessment.
5915	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
5916
5917	// The name of a compliance standard related to the assessment, such as PCI-DSS.
5918	ComplianceType *string `locationName:"complianceType" type:"string"`
5919
5920	// Specifies when the assessment was created.
5921	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
5922
5923	// The delegations associated with the assessment.
5924	Delegations []*Delegation `locationName:"delegations" type:"list"`
5925
5926	// The description of the assessment.
5927	Description *string `locationName:"description" type:"string"`
5928
5929	// The unique identifier for the assessment.
5930	Id *string `locationName:"id" min:"36" type:"string"`
5931
5932	// The time of the most recent update.
5933	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
5934
5935	// The name of the assessment.
5936	Name *string `locationName:"name" min:"1" type:"string"`
5937
5938	// The roles associated with the assessment.
5939	Roles []*Role `locationName:"roles" type:"list"`
5940
5941	// The wrapper of AWS accounts and services in scope for the assessment.
5942	Scope *Scope `locationName:"scope" type:"structure"`
5943
5944	// The overall status of the assessment.
5945	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
5946}
5947
5948// String returns the string representation
5949func (s AssessmentMetadata) String() string {
5950	return awsutil.Prettify(s)
5951}
5952
5953// GoString returns the string representation
5954func (s AssessmentMetadata) GoString() string {
5955	return s.String()
5956}
5957
5958// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
5959func (s *AssessmentMetadata) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *AssessmentMetadata {
5960	s.AssessmentReportsDestination = v
5961	return s
5962}
5963
5964// SetComplianceType sets the ComplianceType field's value.
5965func (s *AssessmentMetadata) SetComplianceType(v string) *AssessmentMetadata {
5966	s.ComplianceType = &v
5967	return s
5968}
5969
5970// SetCreationTime sets the CreationTime field's value.
5971func (s *AssessmentMetadata) SetCreationTime(v time.Time) *AssessmentMetadata {
5972	s.CreationTime = &v
5973	return s
5974}
5975
5976// SetDelegations sets the Delegations field's value.
5977func (s *AssessmentMetadata) SetDelegations(v []*Delegation) *AssessmentMetadata {
5978	s.Delegations = v
5979	return s
5980}
5981
5982// SetDescription sets the Description field's value.
5983func (s *AssessmentMetadata) SetDescription(v string) *AssessmentMetadata {
5984	s.Description = &v
5985	return s
5986}
5987
5988// SetId sets the Id field's value.
5989func (s *AssessmentMetadata) SetId(v string) *AssessmentMetadata {
5990	s.Id = &v
5991	return s
5992}
5993
5994// SetLastUpdated sets the LastUpdated field's value.
5995func (s *AssessmentMetadata) SetLastUpdated(v time.Time) *AssessmentMetadata {
5996	s.LastUpdated = &v
5997	return s
5998}
5999
6000// SetName sets the Name field's value.
6001func (s *AssessmentMetadata) SetName(v string) *AssessmentMetadata {
6002	s.Name = &v
6003	return s
6004}
6005
6006// SetRoles sets the Roles field's value.
6007func (s *AssessmentMetadata) SetRoles(v []*Role) *AssessmentMetadata {
6008	s.Roles = v
6009	return s
6010}
6011
6012// SetScope sets the Scope field's value.
6013func (s *AssessmentMetadata) SetScope(v *Scope) *AssessmentMetadata {
6014	s.Scope = v
6015	return s
6016}
6017
6018// SetStatus sets the Status field's value.
6019func (s *AssessmentMetadata) SetStatus(v string) *AssessmentMetadata {
6020	s.Status = &v
6021	return s
6022}
6023
6024// A metadata object associated with an assessment in AWS Audit Manager.
6025type AssessmentMetadataItem struct {
6026	_ struct{} `type:"structure"`
6027
6028	// The name of the compliance standard related to the assessment, such as PCI-DSS.
6029	ComplianceType *string `locationName:"complianceType" type:"string"`
6030
6031	// Specifies when the assessment was created.
6032	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6033
6034	// The delegations associated with the assessment.
6035	Delegations []*Delegation `locationName:"delegations" type:"list"`
6036
6037	// The unique identifier for the assessment.
6038	Id *string `locationName:"id" min:"36" type:"string"`
6039
6040	// The time of the most recent update.
6041	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
6042
6043	// The name of the assessment.
6044	Name *string `locationName:"name" min:"1" type:"string"`
6045
6046	// The roles associated with the assessment.
6047	Roles []*Role `locationName:"roles" type:"list"`
6048
6049	// The current status of the assessment.
6050	Status *string `locationName:"status" type:"string" enum:"AssessmentStatus"`
6051}
6052
6053// String returns the string representation
6054func (s AssessmentMetadataItem) String() string {
6055	return awsutil.Prettify(s)
6056}
6057
6058// GoString returns the string representation
6059func (s AssessmentMetadataItem) GoString() string {
6060	return s.String()
6061}
6062
6063// SetComplianceType sets the ComplianceType field's value.
6064func (s *AssessmentMetadataItem) SetComplianceType(v string) *AssessmentMetadataItem {
6065	s.ComplianceType = &v
6066	return s
6067}
6068
6069// SetCreationTime sets the CreationTime field's value.
6070func (s *AssessmentMetadataItem) SetCreationTime(v time.Time) *AssessmentMetadataItem {
6071	s.CreationTime = &v
6072	return s
6073}
6074
6075// SetDelegations sets the Delegations field's value.
6076func (s *AssessmentMetadataItem) SetDelegations(v []*Delegation) *AssessmentMetadataItem {
6077	s.Delegations = v
6078	return s
6079}
6080
6081// SetId sets the Id field's value.
6082func (s *AssessmentMetadataItem) SetId(v string) *AssessmentMetadataItem {
6083	s.Id = &v
6084	return s
6085}
6086
6087// SetLastUpdated sets the LastUpdated field's value.
6088func (s *AssessmentMetadataItem) SetLastUpdated(v time.Time) *AssessmentMetadataItem {
6089	s.LastUpdated = &v
6090	return s
6091}
6092
6093// SetName sets the Name field's value.
6094func (s *AssessmentMetadataItem) SetName(v string) *AssessmentMetadataItem {
6095	s.Name = &v
6096	return s
6097}
6098
6099// SetRoles sets the Roles field's value.
6100func (s *AssessmentMetadataItem) SetRoles(v []*Role) *AssessmentMetadataItem {
6101	s.Roles = v
6102	return s
6103}
6104
6105// SetStatus sets the Status field's value.
6106func (s *AssessmentMetadataItem) SetStatus(v string) *AssessmentMetadataItem {
6107	s.Status = &v
6108	return s
6109}
6110
6111// A finalized document generated from an AWS Audit Manager assessment. These
6112// reports summarize the relevant evidence collected for your audit, and link
6113// to the relevant evidence folders which are named and organized according
6114// to the controls specified in your assessment.
6115type AssessmentReport struct {
6116	_ struct{} `type:"structure"`
6117
6118	// The identifier for the specified assessment.
6119	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6120
6121	// The name of the associated assessment.
6122	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
6123
6124	// The name of the user who created the assessment report.
6125	Author *string `locationName:"author" min:"1" type:"string"`
6126
6127	// The identifier for the specified AWS account.
6128	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
6129
6130	// Specifies when the assessment report was created.
6131	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6132
6133	// The description of the specified assessment report.
6134	Description *string `locationName:"description" type:"string"`
6135
6136	// The unique identifier for the specified assessment report.
6137	Id *string `locationName:"id" min:"36" type:"string"`
6138
6139	// The name given to the assessment report.
6140	Name *string `locationName:"name" min:"1" type:"string"`
6141
6142	// The current status of the specified assessment report.
6143	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
6144}
6145
6146// String returns the string representation
6147func (s AssessmentReport) String() string {
6148	return awsutil.Prettify(s)
6149}
6150
6151// GoString returns the string representation
6152func (s AssessmentReport) GoString() string {
6153	return s.String()
6154}
6155
6156// SetAssessmentId sets the AssessmentId field's value.
6157func (s *AssessmentReport) SetAssessmentId(v string) *AssessmentReport {
6158	s.AssessmentId = &v
6159	return s
6160}
6161
6162// SetAssessmentName sets the AssessmentName field's value.
6163func (s *AssessmentReport) SetAssessmentName(v string) *AssessmentReport {
6164	s.AssessmentName = &v
6165	return s
6166}
6167
6168// SetAuthor sets the Author field's value.
6169func (s *AssessmentReport) SetAuthor(v string) *AssessmentReport {
6170	s.Author = &v
6171	return s
6172}
6173
6174// SetAwsAccountId sets the AwsAccountId field's value.
6175func (s *AssessmentReport) SetAwsAccountId(v string) *AssessmentReport {
6176	s.AwsAccountId = &v
6177	return s
6178}
6179
6180// SetCreationTime sets the CreationTime field's value.
6181func (s *AssessmentReport) SetCreationTime(v time.Time) *AssessmentReport {
6182	s.CreationTime = &v
6183	return s
6184}
6185
6186// SetDescription sets the Description field's value.
6187func (s *AssessmentReport) SetDescription(v string) *AssessmentReport {
6188	s.Description = &v
6189	return s
6190}
6191
6192// SetId sets the Id field's value.
6193func (s *AssessmentReport) SetId(v string) *AssessmentReport {
6194	s.Id = &v
6195	return s
6196}
6197
6198// SetName sets the Name field's value.
6199func (s *AssessmentReport) SetName(v string) *AssessmentReport {
6200	s.Name = &v
6201	return s
6202}
6203
6204// SetStatus sets the Status field's value.
6205func (s *AssessmentReport) SetStatus(v string) *AssessmentReport {
6206	s.Status = &v
6207	return s
6208}
6209
6210// An error entity for the AssessmentReportEvidence API. This is used to provide
6211// more meaningful errors than a simple string message.
6212type AssessmentReportEvidenceError struct {
6213	_ struct{} `type:"structure"`
6214
6215	// The error code returned by the AssessmentReportEvidence API.
6216	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6217
6218	// The error message returned by the AssessmentReportEvidence API.
6219	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6220
6221	// The identifier for the evidence.
6222	EvidenceId *string `locationName:"evidenceId" min:"36" type:"string"`
6223}
6224
6225// String returns the string representation
6226func (s AssessmentReportEvidenceError) String() string {
6227	return awsutil.Prettify(s)
6228}
6229
6230// GoString returns the string representation
6231func (s AssessmentReportEvidenceError) GoString() string {
6232	return s.String()
6233}
6234
6235// SetErrorCode sets the ErrorCode field's value.
6236func (s *AssessmentReportEvidenceError) SetErrorCode(v string) *AssessmentReportEvidenceError {
6237	s.ErrorCode = &v
6238	return s
6239}
6240
6241// SetErrorMessage sets the ErrorMessage field's value.
6242func (s *AssessmentReportEvidenceError) SetErrorMessage(v string) *AssessmentReportEvidenceError {
6243	s.ErrorMessage = &v
6244	return s
6245}
6246
6247// SetEvidenceId sets the EvidenceId field's value.
6248func (s *AssessmentReportEvidenceError) SetEvidenceId(v string) *AssessmentReportEvidenceError {
6249	s.EvidenceId = &v
6250	return s
6251}
6252
6253// The metadata objects associated with the specified assessment report.
6254type AssessmentReportMetadata struct {
6255	_ struct{} `type:"structure"`
6256
6257	// The unique identifier for the associated assessment.
6258	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
6259
6260	// The name of the associated assessment.
6261	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
6262
6263	// The name of the user who created the assessment report.
6264	Author *string `locationName:"author" min:"1" type:"string"`
6265
6266	// Specifies when the assessment report was created.
6267	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
6268
6269	// The description of the specified assessment report.
6270	Description *string `locationName:"description" type:"string"`
6271
6272	// The unique identifier for the assessment report.
6273	Id *string `locationName:"id" min:"36" type:"string"`
6274
6275	// The name of the assessment report.
6276	Name *string `locationName:"name" min:"1" type:"string"`
6277
6278	// The current status of the assessment report.
6279	Status *string `locationName:"status" type:"string" enum:"AssessmentReportStatus"`
6280}
6281
6282// String returns the string representation
6283func (s AssessmentReportMetadata) String() string {
6284	return awsutil.Prettify(s)
6285}
6286
6287// GoString returns the string representation
6288func (s AssessmentReportMetadata) GoString() string {
6289	return s.String()
6290}
6291
6292// SetAssessmentId sets the AssessmentId field's value.
6293func (s *AssessmentReportMetadata) SetAssessmentId(v string) *AssessmentReportMetadata {
6294	s.AssessmentId = &v
6295	return s
6296}
6297
6298// SetAssessmentName sets the AssessmentName field's value.
6299func (s *AssessmentReportMetadata) SetAssessmentName(v string) *AssessmentReportMetadata {
6300	s.AssessmentName = &v
6301	return s
6302}
6303
6304// SetAuthor sets the Author field's value.
6305func (s *AssessmentReportMetadata) SetAuthor(v string) *AssessmentReportMetadata {
6306	s.Author = &v
6307	return s
6308}
6309
6310// SetCreationTime sets the CreationTime field's value.
6311func (s *AssessmentReportMetadata) SetCreationTime(v time.Time) *AssessmentReportMetadata {
6312	s.CreationTime = &v
6313	return s
6314}
6315
6316// SetDescription sets the Description field's value.
6317func (s *AssessmentReportMetadata) SetDescription(v string) *AssessmentReportMetadata {
6318	s.Description = &v
6319	return s
6320}
6321
6322// SetId sets the Id field's value.
6323func (s *AssessmentReportMetadata) SetId(v string) *AssessmentReportMetadata {
6324	s.Id = &v
6325	return s
6326}
6327
6328// SetName sets the Name field's value.
6329func (s *AssessmentReportMetadata) SetName(v string) *AssessmentReportMetadata {
6330	s.Name = &v
6331	return s
6332}
6333
6334// SetStatus sets the Status field's value.
6335func (s *AssessmentReportMetadata) SetStatus(v string) *AssessmentReportMetadata {
6336	s.Status = &v
6337	return s
6338}
6339
6340// The location in which AWS Audit Manager saves assessment reports for the
6341// given assessment.
6342type AssessmentReportsDestination struct {
6343	_ struct{} `type:"structure"`
6344
6345	// The destination of the assessment report.
6346	Destination *string `locationName:"destination" min:"1" type:"string"`
6347
6348	// The destination type, such as Amazon S3.
6349	DestinationType *string `locationName:"destinationType" type:"string" enum:"AssessmentReportDestinationType"`
6350}
6351
6352// String returns the string representation
6353func (s AssessmentReportsDestination) String() string {
6354	return awsutil.Prettify(s)
6355}
6356
6357// GoString returns the string representation
6358func (s AssessmentReportsDestination) GoString() string {
6359	return s.String()
6360}
6361
6362// Validate inspects the fields of the type to determine if they are valid.
6363func (s *AssessmentReportsDestination) Validate() error {
6364	invalidParams := request.ErrInvalidParams{Context: "AssessmentReportsDestination"}
6365	if s.Destination != nil && len(*s.Destination) < 1 {
6366		invalidParams.Add(request.NewErrParamMinLen("Destination", 1))
6367	}
6368
6369	if invalidParams.Len() > 0 {
6370		return invalidParams
6371	}
6372	return nil
6373}
6374
6375// SetDestination sets the Destination field's value.
6376func (s *AssessmentReportsDestination) SetDestination(v string) *AssessmentReportsDestination {
6377	s.Destination = &v
6378	return s
6379}
6380
6381// SetDestinationType sets the DestinationType field's value.
6382func (s *AssessmentReportsDestination) SetDestinationType(v string) *AssessmentReportsDestination {
6383	s.DestinationType = &v
6384	return s
6385}
6386
6387type AssociateAssessmentReportEvidenceFolderInput struct {
6388	_ struct{} `type:"structure"`
6389
6390	// The identifier for the specified assessment.
6391	//
6392	// AssessmentId is a required field
6393	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6394
6395	// The identifier for the folder in which evidence is stored.
6396	//
6397	// EvidenceFolderId is a required field
6398	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6399}
6400
6401// String returns the string representation
6402func (s AssociateAssessmentReportEvidenceFolderInput) String() string {
6403	return awsutil.Prettify(s)
6404}
6405
6406// GoString returns the string representation
6407func (s AssociateAssessmentReportEvidenceFolderInput) GoString() string {
6408	return s.String()
6409}
6410
6411// Validate inspects the fields of the type to determine if they are valid.
6412func (s *AssociateAssessmentReportEvidenceFolderInput) Validate() error {
6413	invalidParams := request.ErrInvalidParams{Context: "AssociateAssessmentReportEvidenceFolderInput"}
6414	if s.AssessmentId == nil {
6415		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6416	}
6417	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6418		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6419	}
6420	if s.EvidenceFolderId == nil {
6421		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6422	}
6423	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6424		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6425	}
6426
6427	if invalidParams.Len() > 0 {
6428		return invalidParams
6429	}
6430	return nil
6431}
6432
6433// SetAssessmentId sets the AssessmentId field's value.
6434func (s *AssociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *AssociateAssessmentReportEvidenceFolderInput {
6435	s.AssessmentId = &v
6436	return s
6437}
6438
6439// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6440func (s *AssociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *AssociateAssessmentReportEvidenceFolderInput {
6441	s.EvidenceFolderId = &v
6442	return s
6443}
6444
6445type AssociateAssessmentReportEvidenceFolderOutput struct {
6446	_ struct{} `type:"structure"`
6447}
6448
6449// String returns the string representation
6450func (s AssociateAssessmentReportEvidenceFolderOutput) String() string {
6451	return awsutil.Prettify(s)
6452}
6453
6454// GoString returns the string representation
6455func (s AssociateAssessmentReportEvidenceFolderOutput) GoString() string {
6456	return s.String()
6457}
6458
6459type BatchAssociateAssessmentReportEvidenceInput struct {
6460	_ struct{} `type:"structure"`
6461
6462	// The unique identifier for the specified assessment.
6463	//
6464	// AssessmentId is a required field
6465	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6466
6467	// The identifier for the folder in which the evidence is stored.
6468	//
6469	// EvidenceFolderId is a required field
6470	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6471
6472	// The list of evidence identifiers.
6473	//
6474	// EvidenceIds is a required field
6475	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
6476}
6477
6478// String returns the string representation
6479func (s BatchAssociateAssessmentReportEvidenceInput) String() string {
6480	return awsutil.Prettify(s)
6481}
6482
6483// GoString returns the string representation
6484func (s BatchAssociateAssessmentReportEvidenceInput) GoString() string {
6485	return s.String()
6486}
6487
6488// Validate inspects the fields of the type to determine if they are valid.
6489func (s *BatchAssociateAssessmentReportEvidenceInput) Validate() error {
6490	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateAssessmentReportEvidenceInput"}
6491	if s.AssessmentId == nil {
6492		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6493	}
6494	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6495		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6496	}
6497	if s.EvidenceFolderId == nil {
6498		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6499	}
6500	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6501		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6502	}
6503	if s.EvidenceIds == nil {
6504		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
6505	}
6506
6507	if invalidParams.Len() > 0 {
6508		return invalidParams
6509	}
6510	return nil
6511}
6512
6513// SetAssessmentId sets the AssessmentId field's value.
6514func (s *BatchAssociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchAssociateAssessmentReportEvidenceInput {
6515	s.AssessmentId = &v
6516	return s
6517}
6518
6519// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6520func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchAssociateAssessmentReportEvidenceInput {
6521	s.EvidenceFolderId = &v
6522	return s
6523}
6524
6525// SetEvidenceIds sets the EvidenceIds field's value.
6526func (s *BatchAssociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceInput {
6527	s.EvidenceIds = v
6528	return s
6529}
6530
6531type BatchAssociateAssessmentReportEvidenceOutput struct {
6532	_ struct{} `type:"structure"`
6533
6534	// A list of errors returned by the BatchAssociateAssessmentReportEvidence API.
6535	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
6536
6537	// The identifier for the evidence.
6538	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
6539}
6540
6541// String returns the string representation
6542func (s BatchAssociateAssessmentReportEvidenceOutput) String() string {
6543	return awsutil.Prettify(s)
6544}
6545
6546// GoString returns the string representation
6547func (s BatchAssociateAssessmentReportEvidenceOutput) GoString() string {
6548	return s.String()
6549}
6550
6551// SetErrors sets the Errors field's value.
6552func (s *BatchAssociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchAssociateAssessmentReportEvidenceOutput {
6553	s.Errors = v
6554	return s
6555}
6556
6557// SetEvidenceIds sets the EvidenceIds field's value.
6558func (s *BatchAssociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchAssociateAssessmentReportEvidenceOutput {
6559	s.EvidenceIds = v
6560	return s
6561}
6562
6563// An error entity for the BatchCreateDelegationByAssessment API. This is used
6564// to provide more meaningful errors than a simple string message.
6565type BatchCreateDelegationByAssessmentError struct {
6566	_ struct{} `type:"structure"`
6567
6568	// The API request to batch create delegations in AWS Audit Manager.
6569	CreateDelegationRequest *CreateDelegationRequest `locationName:"createDelegationRequest" type:"structure"`
6570
6571	// The error code returned by the BatchCreateDelegationByAssessment API.
6572	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6573
6574	// The error message returned by the BatchCreateDelegationByAssessment API.
6575	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6576}
6577
6578// String returns the string representation
6579func (s BatchCreateDelegationByAssessmentError) String() string {
6580	return awsutil.Prettify(s)
6581}
6582
6583// GoString returns the string representation
6584func (s BatchCreateDelegationByAssessmentError) GoString() string {
6585	return s.String()
6586}
6587
6588// SetCreateDelegationRequest sets the CreateDelegationRequest field's value.
6589func (s *BatchCreateDelegationByAssessmentError) SetCreateDelegationRequest(v *CreateDelegationRequest) *BatchCreateDelegationByAssessmentError {
6590	s.CreateDelegationRequest = v
6591	return s
6592}
6593
6594// SetErrorCode sets the ErrorCode field's value.
6595func (s *BatchCreateDelegationByAssessmentError) SetErrorCode(v string) *BatchCreateDelegationByAssessmentError {
6596	s.ErrorCode = &v
6597	return s
6598}
6599
6600// SetErrorMessage sets the ErrorMessage field's value.
6601func (s *BatchCreateDelegationByAssessmentError) SetErrorMessage(v string) *BatchCreateDelegationByAssessmentError {
6602	s.ErrorMessage = &v
6603	return s
6604}
6605
6606type BatchCreateDelegationByAssessmentInput struct {
6607	_ struct{} `type:"structure"`
6608
6609	// The identifier for the specified assessment.
6610	//
6611	// AssessmentId is a required field
6612	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6613
6614	// The API request to batch create delegations in AWS Audit Manager.
6615	//
6616	// CreateDelegationRequests is a required field
6617	CreateDelegationRequests []*CreateDelegationRequest `locationName:"createDelegationRequests" min:"1" type:"list" required:"true"`
6618}
6619
6620// String returns the string representation
6621func (s BatchCreateDelegationByAssessmentInput) String() string {
6622	return awsutil.Prettify(s)
6623}
6624
6625// GoString returns the string representation
6626func (s BatchCreateDelegationByAssessmentInput) GoString() string {
6627	return s.String()
6628}
6629
6630// Validate inspects the fields of the type to determine if they are valid.
6631func (s *BatchCreateDelegationByAssessmentInput) Validate() error {
6632	invalidParams := request.ErrInvalidParams{Context: "BatchCreateDelegationByAssessmentInput"}
6633	if s.AssessmentId == nil {
6634		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6635	}
6636	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6637		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6638	}
6639	if s.CreateDelegationRequests == nil {
6640		invalidParams.Add(request.NewErrParamRequired("CreateDelegationRequests"))
6641	}
6642	if s.CreateDelegationRequests != nil && len(s.CreateDelegationRequests) < 1 {
6643		invalidParams.Add(request.NewErrParamMinLen("CreateDelegationRequests", 1))
6644	}
6645	if s.CreateDelegationRequests != nil {
6646		for i, v := range s.CreateDelegationRequests {
6647			if v == nil {
6648				continue
6649			}
6650			if err := v.Validate(); err != nil {
6651				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDelegationRequests", i), err.(request.ErrInvalidParams))
6652			}
6653		}
6654	}
6655
6656	if invalidParams.Len() > 0 {
6657		return invalidParams
6658	}
6659	return nil
6660}
6661
6662// SetAssessmentId sets the AssessmentId field's value.
6663func (s *BatchCreateDelegationByAssessmentInput) SetAssessmentId(v string) *BatchCreateDelegationByAssessmentInput {
6664	s.AssessmentId = &v
6665	return s
6666}
6667
6668// SetCreateDelegationRequests sets the CreateDelegationRequests field's value.
6669func (s *BatchCreateDelegationByAssessmentInput) SetCreateDelegationRequests(v []*CreateDelegationRequest) *BatchCreateDelegationByAssessmentInput {
6670	s.CreateDelegationRequests = v
6671	return s
6672}
6673
6674type BatchCreateDelegationByAssessmentOutput struct {
6675	_ struct{} `type:"structure"`
6676
6677	// The delegations associated with the assessment.
6678	Delegations []*Delegation `locationName:"delegations" type:"list"`
6679
6680	// A list of errors returned by the BatchCreateDelegationByAssessment API.
6681	Errors []*BatchCreateDelegationByAssessmentError `locationName:"errors" type:"list"`
6682}
6683
6684// String returns the string representation
6685func (s BatchCreateDelegationByAssessmentOutput) String() string {
6686	return awsutil.Prettify(s)
6687}
6688
6689// GoString returns the string representation
6690func (s BatchCreateDelegationByAssessmentOutput) GoString() string {
6691	return s.String()
6692}
6693
6694// SetDelegations sets the Delegations field's value.
6695func (s *BatchCreateDelegationByAssessmentOutput) SetDelegations(v []*Delegation) *BatchCreateDelegationByAssessmentOutput {
6696	s.Delegations = v
6697	return s
6698}
6699
6700// SetErrors sets the Errors field's value.
6701func (s *BatchCreateDelegationByAssessmentOutput) SetErrors(v []*BatchCreateDelegationByAssessmentError) *BatchCreateDelegationByAssessmentOutput {
6702	s.Errors = v
6703	return s
6704}
6705
6706// An error entity for the BatchDeleteDelegationByAssessment API. This is used
6707// to provide more meaningful errors than a simple string message.
6708type BatchDeleteDelegationByAssessmentError struct {
6709	_ struct{} `type:"structure"`
6710
6711	// The identifier for the specified delegation.
6712	DelegationId *string `locationName:"delegationId" min:"36" type:"string"`
6713
6714	// The error code returned by the BatchDeleteDelegationByAssessment API.
6715	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6716
6717	// The error message returned by the BatchDeleteDelegationByAssessment API.
6718	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6719}
6720
6721// String returns the string representation
6722func (s BatchDeleteDelegationByAssessmentError) String() string {
6723	return awsutil.Prettify(s)
6724}
6725
6726// GoString returns the string representation
6727func (s BatchDeleteDelegationByAssessmentError) GoString() string {
6728	return s.String()
6729}
6730
6731// SetDelegationId sets the DelegationId field's value.
6732func (s *BatchDeleteDelegationByAssessmentError) SetDelegationId(v string) *BatchDeleteDelegationByAssessmentError {
6733	s.DelegationId = &v
6734	return s
6735}
6736
6737// SetErrorCode sets the ErrorCode field's value.
6738func (s *BatchDeleteDelegationByAssessmentError) SetErrorCode(v string) *BatchDeleteDelegationByAssessmentError {
6739	s.ErrorCode = &v
6740	return s
6741}
6742
6743// SetErrorMessage sets the ErrorMessage field's value.
6744func (s *BatchDeleteDelegationByAssessmentError) SetErrorMessage(v string) *BatchDeleteDelegationByAssessmentError {
6745	s.ErrorMessage = &v
6746	return s
6747}
6748
6749type BatchDeleteDelegationByAssessmentInput struct {
6750	_ struct{} `type:"structure"`
6751
6752	// The identifier for the specified assessment.
6753	//
6754	// AssessmentId is a required field
6755	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6756
6757	// The identifiers for the specified delegations.
6758	//
6759	// DelegationIds is a required field
6760	DelegationIds []*string `locationName:"delegationIds" min:"1" type:"list" required:"true"`
6761}
6762
6763// String returns the string representation
6764func (s BatchDeleteDelegationByAssessmentInput) String() string {
6765	return awsutil.Prettify(s)
6766}
6767
6768// GoString returns the string representation
6769func (s BatchDeleteDelegationByAssessmentInput) GoString() string {
6770	return s.String()
6771}
6772
6773// Validate inspects the fields of the type to determine if they are valid.
6774func (s *BatchDeleteDelegationByAssessmentInput) Validate() error {
6775	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDelegationByAssessmentInput"}
6776	if s.AssessmentId == nil {
6777		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6778	}
6779	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6780		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6781	}
6782	if s.DelegationIds == nil {
6783		invalidParams.Add(request.NewErrParamRequired("DelegationIds"))
6784	}
6785	if s.DelegationIds != nil && len(s.DelegationIds) < 1 {
6786		invalidParams.Add(request.NewErrParamMinLen("DelegationIds", 1))
6787	}
6788
6789	if invalidParams.Len() > 0 {
6790		return invalidParams
6791	}
6792	return nil
6793}
6794
6795// SetAssessmentId sets the AssessmentId field's value.
6796func (s *BatchDeleteDelegationByAssessmentInput) SetAssessmentId(v string) *BatchDeleteDelegationByAssessmentInput {
6797	s.AssessmentId = &v
6798	return s
6799}
6800
6801// SetDelegationIds sets the DelegationIds field's value.
6802func (s *BatchDeleteDelegationByAssessmentInput) SetDelegationIds(v []*string) *BatchDeleteDelegationByAssessmentInput {
6803	s.DelegationIds = v
6804	return s
6805}
6806
6807type BatchDeleteDelegationByAssessmentOutput struct {
6808	_ struct{} `type:"structure"`
6809
6810	// A list of errors returned by the BatchDeleteDelegationByAssessment API.
6811	Errors []*BatchDeleteDelegationByAssessmentError `locationName:"errors" type:"list"`
6812}
6813
6814// String returns the string representation
6815func (s BatchDeleteDelegationByAssessmentOutput) String() string {
6816	return awsutil.Prettify(s)
6817}
6818
6819// GoString returns the string representation
6820func (s BatchDeleteDelegationByAssessmentOutput) GoString() string {
6821	return s.String()
6822}
6823
6824// SetErrors sets the Errors field's value.
6825func (s *BatchDeleteDelegationByAssessmentOutput) SetErrors(v []*BatchDeleteDelegationByAssessmentError) *BatchDeleteDelegationByAssessmentOutput {
6826	s.Errors = v
6827	return s
6828}
6829
6830type BatchDisassociateAssessmentReportEvidenceInput struct {
6831	_ struct{} `type:"structure"`
6832
6833	// The identifier for the specified assessment.
6834	//
6835	// AssessmentId is a required field
6836	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6837
6838	// The identifier for the folder in which evidence is stored.
6839	//
6840	// EvidenceFolderId is a required field
6841	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
6842
6843	// The list of evidence identifiers.
6844	//
6845	// EvidenceIds is a required field
6846	EvidenceIds []*string `locationName:"evidenceIds" type:"list" required:"true"`
6847}
6848
6849// String returns the string representation
6850func (s BatchDisassociateAssessmentReportEvidenceInput) String() string {
6851	return awsutil.Prettify(s)
6852}
6853
6854// GoString returns the string representation
6855func (s BatchDisassociateAssessmentReportEvidenceInput) GoString() string {
6856	return s.String()
6857}
6858
6859// Validate inspects the fields of the type to determine if they are valid.
6860func (s *BatchDisassociateAssessmentReportEvidenceInput) Validate() error {
6861	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateAssessmentReportEvidenceInput"}
6862	if s.AssessmentId == nil {
6863		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
6864	}
6865	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
6866		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
6867	}
6868	if s.EvidenceFolderId == nil {
6869		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
6870	}
6871	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
6872		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
6873	}
6874	if s.EvidenceIds == nil {
6875		invalidParams.Add(request.NewErrParamRequired("EvidenceIds"))
6876	}
6877
6878	if invalidParams.Len() > 0 {
6879		return invalidParams
6880	}
6881	return nil
6882}
6883
6884// SetAssessmentId sets the AssessmentId field's value.
6885func (s *BatchDisassociateAssessmentReportEvidenceInput) SetAssessmentId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
6886	s.AssessmentId = &v
6887	return s
6888}
6889
6890// SetEvidenceFolderId sets the EvidenceFolderId field's value.
6891func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceFolderId(v string) *BatchDisassociateAssessmentReportEvidenceInput {
6892	s.EvidenceFolderId = &v
6893	return s
6894}
6895
6896// SetEvidenceIds sets the EvidenceIds field's value.
6897func (s *BatchDisassociateAssessmentReportEvidenceInput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceInput {
6898	s.EvidenceIds = v
6899	return s
6900}
6901
6902type BatchDisassociateAssessmentReportEvidenceOutput struct {
6903	_ struct{} `type:"structure"`
6904
6905	// A list of errors returned by the BatchDisassociateAssessmentReportEvidence
6906	// API.
6907	Errors []*AssessmentReportEvidenceError `locationName:"errors" type:"list"`
6908
6909	// The identifier for the evidence.
6910	EvidenceIds []*string `locationName:"evidenceIds" type:"list"`
6911}
6912
6913// String returns the string representation
6914func (s BatchDisassociateAssessmentReportEvidenceOutput) String() string {
6915	return awsutil.Prettify(s)
6916}
6917
6918// GoString returns the string representation
6919func (s BatchDisassociateAssessmentReportEvidenceOutput) GoString() string {
6920	return s.String()
6921}
6922
6923// SetErrors sets the Errors field's value.
6924func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetErrors(v []*AssessmentReportEvidenceError) *BatchDisassociateAssessmentReportEvidenceOutput {
6925	s.Errors = v
6926	return s
6927}
6928
6929// SetEvidenceIds sets the EvidenceIds field's value.
6930func (s *BatchDisassociateAssessmentReportEvidenceOutput) SetEvidenceIds(v []*string) *BatchDisassociateAssessmentReportEvidenceOutput {
6931	s.EvidenceIds = v
6932	return s
6933}
6934
6935// An error entity for the BatchImportEvidenceToAssessmentControl API. This
6936// is used to provide more meaningful errors than a simple string message.
6937type BatchImportEvidenceToAssessmentControlError struct {
6938	_ struct{} `type:"structure"`
6939
6940	// The error code returned by the BatchImportEvidenceToAssessmentControl API.
6941	ErrorCode *string `locationName:"errorCode" min:"3" type:"string"`
6942
6943	// The error message returned by the BatchImportEvidenceToAssessmentControl
6944	// API.
6945	ErrorMessage *string `locationName:"errorMessage" type:"string"`
6946
6947	// Manual evidence that cannot be collected automatically by AWS Audit Manager.
6948	ManualEvidence *ManualEvidence `locationName:"manualEvidence" type:"structure"`
6949}
6950
6951// String returns the string representation
6952func (s BatchImportEvidenceToAssessmentControlError) String() string {
6953	return awsutil.Prettify(s)
6954}
6955
6956// GoString returns the string representation
6957func (s BatchImportEvidenceToAssessmentControlError) GoString() string {
6958	return s.String()
6959}
6960
6961// SetErrorCode sets the ErrorCode field's value.
6962func (s *BatchImportEvidenceToAssessmentControlError) SetErrorCode(v string) *BatchImportEvidenceToAssessmentControlError {
6963	s.ErrorCode = &v
6964	return s
6965}
6966
6967// SetErrorMessage sets the ErrorMessage field's value.
6968func (s *BatchImportEvidenceToAssessmentControlError) SetErrorMessage(v string) *BatchImportEvidenceToAssessmentControlError {
6969	s.ErrorMessage = &v
6970	return s
6971}
6972
6973// SetManualEvidence sets the ManualEvidence field's value.
6974func (s *BatchImportEvidenceToAssessmentControlError) SetManualEvidence(v *ManualEvidence) *BatchImportEvidenceToAssessmentControlError {
6975	s.ManualEvidence = v
6976	return s
6977}
6978
6979type BatchImportEvidenceToAssessmentControlInput struct {
6980	_ struct{} `type:"structure"`
6981
6982	// The identifier for the specified assessment.
6983	//
6984	// AssessmentId is a required field
6985	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
6986
6987	// The identifier for the specified control.
6988	//
6989	// ControlId is a required field
6990	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
6991
6992	// The identifier for the specified control set.
6993	//
6994	// ControlSetId is a required field
6995	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
6996
6997	// The list of manual evidence objects.
6998	//
6999	// ManualEvidence is a required field
7000	ManualEvidence []*ManualEvidence `locationName:"manualEvidence" min:"1" type:"list" required:"true"`
7001}
7002
7003// String returns the string representation
7004func (s BatchImportEvidenceToAssessmentControlInput) String() string {
7005	return awsutil.Prettify(s)
7006}
7007
7008// GoString returns the string representation
7009func (s BatchImportEvidenceToAssessmentControlInput) GoString() string {
7010	return s.String()
7011}
7012
7013// Validate inspects the fields of the type to determine if they are valid.
7014func (s *BatchImportEvidenceToAssessmentControlInput) Validate() error {
7015	invalidParams := request.ErrInvalidParams{Context: "BatchImportEvidenceToAssessmentControlInput"}
7016	if s.AssessmentId == nil {
7017		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
7018	}
7019	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
7020		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
7021	}
7022	if s.ControlId == nil {
7023		invalidParams.Add(request.NewErrParamRequired("ControlId"))
7024	}
7025	if s.ControlId != nil && len(*s.ControlId) < 36 {
7026		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
7027	}
7028	if s.ControlSetId == nil {
7029		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
7030	}
7031	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
7032		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
7033	}
7034	if s.ManualEvidence == nil {
7035		invalidParams.Add(request.NewErrParamRequired("ManualEvidence"))
7036	}
7037	if s.ManualEvidence != nil && len(s.ManualEvidence) < 1 {
7038		invalidParams.Add(request.NewErrParamMinLen("ManualEvidence", 1))
7039	}
7040	if s.ManualEvidence != nil {
7041		for i, v := range s.ManualEvidence {
7042			if v == nil {
7043				continue
7044			}
7045			if err := v.Validate(); err != nil {
7046				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManualEvidence", i), err.(request.ErrInvalidParams))
7047			}
7048		}
7049	}
7050
7051	if invalidParams.Len() > 0 {
7052		return invalidParams
7053	}
7054	return nil
7055}
7056
7057// SetAssessmentId sets the AssessmentId field's value.
7058func (s *BatchImportEvidenceToAssessmentControlInput) SetAssessmentId(v string) *BatchImportEvidenceToAssessmentControlInput {
7059	s.AssessmentId = &v
7060	return s
7061}
7062
7063// SetControlId sets the ControlId field's value.
7064func (s *BatchImportEvidenceToAssessmentControlInput) SetControlId(v string) *BatchImportEvidenceToAssessmentControlInput {
7065	s.ControlId = &v
7066	return s
7067}
7068
7069// SetControlSetId sets the ControlSetId field's value.
7070func (s *BatchImportEvidenceToAssessmentControlInput) SetControlSetId(v string) *BatchImportEvidenceToAssessmentControlInput {
7071	s.ControlSetId = &v
7072	return s
7073}
7074
7075// SetManualEvidence sets the ManualEvidence field's value.
7076func (s *BatchImportEvidenceToAssessmentControlInput) SetManualEvidence(v []*ManualEvidence) *BatchImportEvidenceToAssessmentControlInput {
7077	s.ManualEvidence = v
7078	return s
7079}
7080
7081type BatchImportEvidenceToAssessmentControlOutput struct {
7082	_ struct{} `type:"structure"`
7083
7084	// A list of errors returned by the BatchImportEvidenceToAssessmentControl API.
7085	Errors []*BatchImportEvidenceToAssessmentControlError `locationName:"errors" type:"list"`
7086}
7087
7088// String returns the string representation
7089func (s BatchImportEvidenceToAssessmentControlOutput) String() string {
7090	return awsutil.Prettify(s)
7091}
7092
7093// GoString returns the string representation
7094func (s BatchImportEvidenceToAssessmentControlOutput) GoString() string {
7095	return s.String()
7096}
7097
7098// SetErrors sets the Errors field's value.
7099func (s *BatchImportEvidenceToAssessmentControlOutput) SetErrors(v []*BatchImportEvidenceToAssessmentControlError) *BatchImportEvidenceToAssessmentControlOutput {
7100	s.Errors = v
7101	return s
7102}
7103
7104// The record of a change within AWS Audit Manager, such as a modified assessment,
7105// a delegated control set, and so on.
7106type ChangeLog struct {
7107	_ struct{} `type:"structure"`
7108
7109	// The action performed.
7110	Action *string `locationName:"action" type:"string" enum:"ActionEnum"`
7111
7112	// The time of creation for the changelog object.
7113	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7114
7115	// The IAM user or role that performed the action.
7116	CreatedBy *string `locationName:"createdBy" min:"20" type:"string"`
7117
7118	// The name of the changelog object.
7119	ObjectName *string `locationName:"objectName" min:"1" type:"string"`
7120
7121	// The changelog object type, such as an assessment, control, or control set.
7122	ObjectType *string `locationName:"objectType" type:"string" enum:"ObjectTypeEnum"`
7123}
7124
7125// String returns the string representation
7126func (s ChangeLog) String() string {
7127	return awsutil.Prettify(s)
7128}
7129
7130// GoString returns the string representation
7131func (s ChangeLog) GoString() string {
7132	return s.String()
7133}
7134
7135// SetAction sets the Action field's value.
7136func (s *ChangeLog) SetAction(v string) *ChangeLog {
7137	s.Action = &v
7138	return s
7139}
7140
7141// SetCreatedAt sets the CreatedAt field's value.
7142func (s *ChangeLog) SetCreatedAt(v time.Time) *ChangeLog {
7143	s.CreatedAt = &v
7144	return s
7145}
7146
7147// SetCreatedBy sets the CreatedBy field's value.
7148func (s *ChangeLog) SetCreatedBy(v string) *ChangeLog {
7149	s.CreatedBy = &v
7150	return s
7151}
7152
7153// SetObjectName sets the ObjectName field's value.
7154func (s *ChangeLog) SetObjectName(v string) *ChangeLog {
7155	s.ObjectName = &v
7156	return s
7157}
7158
7159// SetObjectType sets the ObjectType field's value.
7160func (s *ChangeLog) SetObjectType(v string) *ChangeLog {
7161	s.ObjectType = &v
7162	return s
7163}
7164
7165// A control in AWS Audit Manager.
7166type Control struct {
7167	_ struct{} `type:"structure"`
7168
7169	// The recommended actions to carry out if the control is not fulfilled.
7170	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
7171
7172	// The title of the action plan for remediating the control.
7173	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
7174
7175	// The Amazon Resource Name (ARN) of the specified control.
7176	Arn *string `locationName:"arn" min:"20" type:"string"`
7177
7178	// The data mapping sources for the specified control.
7179	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list"`
7180
7181	// The data source that determines from where AWS Audit Manager collects evidence
7182	// for the control.
7183	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
7184
7185	// Specifies when the control was created.
7186	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7187
7188	// The IAM user or role that created the control.
7189	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
7190
7191	// The description of the specified control.
7192	Description *string `locationName:"description" type:"string"`
7193
7194	// The unique identifier for the control.
7195	Id *string `locationName:"id" min:"36" type:"string"`
7196
7197	// Specifies when the control was most recently updated.
7198	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7199
7200	// The IAM user or role that most recently updated the control.
7201	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
7202
7203	// The name of the specified control.
7204	Name *string `locationName:"name" min:"1" type:"string"`
7205
7206	// The tags associated with the control.
7207	Tags map[string]*string `locationName:"tags" type:"map"`
7208
7209	// The steps to follow to determine if the control has been satisfied.
7210	TestingInformation *string `locationName:"testingInformation" type:"string"`
7211
7212	// The type of control, such as custom or standard.
7213	Type *string `locationName:"type" type:"string" enum:"ControlType"`
7214}
7215
7216// String returns the string representation
7217func (s Control) String() string {
7218	return awsutil.Prettify(s)
7219}
7220
7221// GoString returns the string representation
7222func (s Control) GoString() string {
7223	return s.String()
7224}
7225
7226// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
7227func (s *Control) SetActionPlanInstructions(v string) *Control {
7228	s.ActionPlanInstructions = &v
7229	return s
7230}
7231
7232// SetActionPlanTitle sets the ActionPlanTitle field's value.
7233func (s *Control) SetActionPlanTitle(v string) *Control {
7234	s.ActionPlanTitle = &v
7235	return s
7236}
7237
7238// SetArn sets the Arn field's value.
7239func (s *Control) SetArn(v string) *Control {
7240	s.Arn = &v
7241	return s
7242}
7243
7244// SetControlMappingSources sets the ControlMappingSources field's value.
7245func (s *Control) SetControlMappingSources(v []*ControlMappingSource) *Control {
7246	s.ControlMappingSources = v
7247	return s
7248}
7249
7250// SetControlSources sets the ControlSources field's value.
7251func (s *Control) SetControlSources(v string) *Control {
7252	s.ControlSources = &v
7253	return s
7254}
7255
7256// SetCreatedAt sets the CreatedAt field's value.
7257func (s *Control) SetCreatedAt(v time.Time) *Control {
7258	s.CreatedAt = &v
7259	return s
7260}
7261
7262// SetCreatedBy sets the CreatedBy field's value.
7263func (s *Control) SetCreatedBy(v string) *Control {
7264	s.CreatedBy = &v
7265	return s
7266}
7267
7268// SetDescription sets the Description field's value.
7269func (s *Control) SetDescription(v string) *Control {
7270	s.Description = &v
7271	return s
7272}
7273
7274// SetId sets the Id field's value.
7275func (s *Control) SetId(v string) *Control {
7276	s.Id = &v
7277	return s
7278}
7279
7280// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7281func (s *Control) SetLastUpdatedAt(v time.Time) *Control {
7282	s.LastUpdatedAt = &v
7283	return s
7284}
7285
7286// SetLastUpdatedBy sets the LastUpdatedBy field's value.
7287func (s *Control) SetLastUpdatedBy(v string) *Control {
7288	s.LastUpdatedBy = &v
7289	return s
7290}
7291
7292// SetName sets the Name field's value.
7293func (s *Control) SetName(v string) *Control {
7294	s.Name = &v
7295	return s
7296}
7297
7298// SetTags sets the Tags field's value.
7299func (s *Control) SetTags(v map[string]*string) *Control {
7300	s.Tags = v
7301	return s
7302}
7303
7304// SetTestingInformation sets the TestingInformation field's value.
7305func (s *Control) SetTestingInformation(v string) *Control {
7306	s.TestingInformation = &v
7307	return s
7308}
7309
7310// SetType sets the Type field's value.
7311func (s *Control) SetType(v string) *Control {
7312	s.Type = &v
7313	return s
7314}
7315
7316// A comment posted by a user on a control. This includes the author's name,
7317// the comment text, and a timestamp.
7318type ControlComment struct {
7319	_ struct{} `type:"structure"`
7320
7321	// The name of the user who authored the comment.
7322	AuthorName *string `locationName:"authorName" min:"1" type:"string"`
7323
7324	// The body text of a control comment.
7325	CommentBody *string `locationName:"commentBody" type:"string"`
7326
7327	// The time when the comment was posted.
7328	PostedDate *time.Time `locationName:"postedDate" type:"timestamp"`
7329}
7330
7331// String returns the string representation
7332func (s ControlComment) String() string {
7333	return awsutil.Prettify(s)
7334}
7335
7336// GoString returns the string representation
7337func (s ControlComment) GoString() string {
7338	return s.String()
7339}
7340
7341// SetAuthorName sets the AuthorName field's value.
7342func (s *ControlComment) SetAuthorName(v string) *ControlComment {
7343	s.AuthorName = &v
7344	return s
7345}
7346
7347// SetCommentBody sets the CommentBody field's value.
7348func (s *ControlComment) SetCommentBody(v string) *ControlComment {
7349	s.CommentBody = &v
7350	return s
7351}
7352
7353// SetPostedDate sets the PostedDate field's value.
7354func (s *ControlComment) SetPostedDate(v time.Time) *ControlComment {
7355	s.PostedDate = &v
7356	return s
7357}
7358
7359// The data source that determines from where AWS Audit Manager collects evidence
7360// for the control.
7361type ControlMappingSource struct {
7362	_ struct{} `type:"structure"`
7363
7364	// The description of the specified source.
7365	SourceDescription *string `locationName:"sourceDescription" type:"string"`
7366
7367	// The frequency of evidence collection for the specified control mapping source.
7368	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
7369
7370	// The unique identifier for the specified source.
7371	SourceId *string `locationName:"sourceId" min:"36" type:"string"`
7372
7373	// The keyword to search for in AWS CloudTrail logs.
7374	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
7375
7376	// The name of the specified source.
7377	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
7378
7379	// The setup option for the data source, which reflects if the evidence collection
7380	// is automated or manual.
7381	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
7382
7383	// Specifies one of the five types of data sources for evidence collection.
7384	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
7385
7386	// The instructions for troubleshooting the specified control.
7387	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
7388}
7389
7390// String returns the string representation
7391func (s ControlMappingSource) String() string {
7392	return awsutil.Prettify(s)
7393}
7394
7395// GoString returns the string representation
7396func (s ControlMappingSource) GoString() string {
7397	return s.String()
7398}
7399
7400// Validate inspects the fields of the type to determine if they are valid.
7401func (s *ControlMappingSource) Validate() error {
7402	invalidParams := request.ErrInvalidParams{Context: "ControlMappingSource"}
7403	if s.SourceId != nil && len(*s.SourceId) < 36 {
7404		invalidParams.Add(request.NewErrParamMinLen("SourceId", 36))
7405	}
7406	if s.SourceName != nil && len(*s.SourceName) < 1 {
7407		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
7408	}
7409	if s.SourceKeyword != nil {
7410		if err := s.SourceKeyword.Validate(); err != nil {
7411			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
7412		}
7413	}
7414
7415	if invalidParams.Len() > 0 {
7416		return invalidParams
7417	}
7418	return nil
7419}
7420
7421// SetSourceDescription sets the SourceDescription field's value.
7422func (s *ControlMappingSource) SetSourceDescription(v string) *ControlMappingSource {
7423	s.SourceDescription = &v
7424	return s
7425}
7426
7427// SetSourceFrequency sets the SourceFrequency field's value.
7428func (s *ControlMappingSource) SetSourceFrequency(v string) *ControlMappingSource {
7429	s.SourceFrequency = &v
7430	return s
7431}
7432
7433// SetSourceId sets the SourceId field's value.
7434func (s *ControlMappingSource) SetSourceId(v string) *ControlMappingSource {
7435	s.SourceId = &v
7436	return s
7437}
7438
7439// SetSourceKeyword sets the SourceKeyword field's value.
7440func (s *ControlMappingSource) SetSourceKeyword(v *SourceKeyword) *ControlMappingSource {
7441	s.SourceKeyword = v
7442	return s
7443}
7444
7445// SetSourceName sets the SourceName field's value.
7446func (s *ControlMappingSource) SetSourceName(v string) *ControlMappingSource {
7447	s.SourceName = &v
7448	return s
7449}
7450
7451// SetSourceSetUpOption sets the SourceSetUpOption field's value.
7452func (s *ControlMappingSource) SetSourceSetUpOption(v string) *ControlMappingSource {
7453	s.SourceSetUpOption = &v
7454	return s
7455}
7456
7457// SetSourceType sets the SourceType field's value.
7458func (s *ControlMappingSource) SetSourceType(v string) *ControlMappingSource {
7459	s.SourceType = &v
7460	return s
7461}
7462
7463// SetTroubleshootingText sets the TroubleshootingText field's value.
7464func (s *ControlMappingSource) SetTroubleshootingText(v string) *ControlMappingSource {
7465	s.TroubleshootingText = &v
7466	return s
7467}
7468
7469// The metadata associated with the specified standard or custom control.
7470type ControlMetadata struct {
7471	_ struct{} `type:"structure"`
7472
7473	// The Amazon Resource Name (ARN) of the specified control.
7474	Arn *string `locationName:"arn" min:"20" type:"string"`
7475
7476	// The data source that determines from where AWS Audit Manager collects evidence
7477	// for the control.
7478	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
7479
7480	// Specifies when the control was created.
7481	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7482
7483	// The unique identifier for the specified control.
7484	Id *string `locationName:"id" min:"36" type:"string"`
7485
7486	// Specifies when the control was most recently updated.
7487	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7488
7489	// The name of the specified control.
7490	Name *string `locationName:"name" min:"1" type:"string"`
7491}
7492
7493// String returns the string representation
7494func (s ControlMetadata) String() string {
7495	return awsutil.Prettify(s)
7496}
7497
7498// GoString returns the string representation
7499func (s ControlMetadata) GoString() string {
7500	return s.String()
7501}
7502
7503// SetArn sets the Arn field's value.
7504func (s *ControlMetadata) SetArn(v string) *ControlMetadata {
7505	s.Arn = &v
7506	return s
7507}
7508
7509// SetControlSources sets the ControlSources field's value.
7510func (s *ControlMetadata) SetControlSources(v string) *ControlMetadata {
7511	s.ControlSources = &v
7512	return s
7513}
7514
7515// SetCreatedAt sets the CreatedAt field's value.
7516func (s *ControlMetadata) SetCreatedAt(v time.Time) *ControlMetadata {
7517	s.CreatedAt = &v
7518	return s
7519}
7520
7521// SetId sets the Id field's value.
7522func (s *ControlMetadata) SetId(v string) *ControlMetadata {
7523	s.Id = &v
7524	return s
7525}
7526
7527// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7528func (s *ControlMetadata) SetLastUpdatedAt(v time.Time) *ControlMetadata {
7529	s.LastUpdatedAt = &v
7530	return s
7531}
7532
7533// SetName sets the Name field's value.
7534func (s *ControlMetadata) SetName(v string) *ControlMetadata {
7535	s.Name = &v
7536	return s
7537}
7538
7539// A set of controls in AWS Audit Manager.
7540type ControlSet struct {
7541	_ struct{} `type:"structure"`
7542
7543	// The list of controls within the control set.
7544	Controls []*Control `locationName:"controls" min:"1" type:"list"`
7545
7546	// The identifier of the control set in the assessment. This is the control
7547	// set name in a plain string format.
7548	Id *string `locationName:"id" min:"36" type:"string"`
7549
7550	// The name of the control set.
7551	Name *string `locationName:"name" min:"1" type:"string"`
7552}
7553
7554// String returns the string representation
7555func (s ControlSet) String() string {
7556	return awsutil.Prettify(s)
7557}
7558
7559// GoString returns the string representation
7560func (s ControlSet) GoString() string {
7561	return s.String()
7562}
7563
7564// SetControls sets the Controls field's value.
7565func (s *ControlSet) SetControls(v []*Control) *ControlSet {
7566	s.Controls = v
7567	return s
7568}
7569
7570// SetId sets the Id field's value.
7571func (s *ControlSet) SetId(v string) *ControlSet {
7572	s.Id = &v
7573	return s
7574}
7575
7576// SetName sets the Name field's value.
7577func (s *ControlSet) SetName(v string) *ControlSet {
7578	s.Name = &v
7579	return s
7580}
7581
7582// Control entity attributes that uniquely identify an existing control to be
7583// added to a framework in AWS Audit Manager.
7584type CreateAssessmentFrameworkControl struct {
7585	_ struct{} `type:"structure"`
7586
7587	// The unique identifier of the control.
7588	Id *string `locationName:"id" min:"36" type:"string"`
7589}
7590
7591// String returns the string representation
7592func (s CreateAssessmentFrameworkControl) String() string {
7593	return awsutil.Prettify(s)
7594}
7595
7596// GoString returns the string representation
7597func (s CreateAssessmentFrameworkControl) GoString() string {
7598	return s.String()
7599}
7600
7601// Validate inspects the fields of the type to determine if they are valid.
7602func (s *CreateAssessmentFrameworkControl) Validate() error {
7603	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControl"}
7604	if s.Id != nil && len(*s.Id) < 36 {
7605		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
7606	}
7607
7608	if invalidParams.Len() > 0 {
7609		return invalidParams
7610	}
7611	return nil
7612}
7613
7614// SetId sets the Id field's value.
7615func (s *CreateAssessmentFrameworkControl) SetId(v string) *CreateAssessmentFrameworkControl {
7616	s.Id = &v
7617	return s
7618}
7619
7620// A controlSet entity that represents a collection of controls in AWS Audit
7621// Manager. This does not contain the control set ID.
7622type CreateAssessmentFrameworkControlSet struct {
7623	_ struct{} `type:"structure"`
7624
7625	// The list of controls within the control set. This does not contain the control
7626	// set ID.
7627	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
7628
7629	// The name of the specified control set.
7630	Name *string `locationName:"name" min:"1" type:"string"`
7631}
7632
7633// String returns the string representation
7634func (s CreateAssessmentFrameworkControlSet) String() string {
7635	return awsutil.Prettify(s)
7636}
7637
7638// GoString returns the string representation
7639func (s CreateAssessmentFrameworkControlSet) GoString() string {
7640	return s.String()
7641}
7642
7643// Validate inspects the fields of the type to determine if they are valid.
7644func (s *CreateAssessmentFrameworkControlSet) Validate() error {
7645	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkControlSet"}
7646	if s.Controls != nil && len(s.Controls) < 1 {
7647		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
7648	}
7649	if s.Name != nil && len(*s.Name) < 1 {
7650		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7651	}
7652	if s.Controls != nil {
7653		for i, v := range s.Controls {
7654			if v == nil {
7655				continue
7656			}
7657			if err := v.Validate(); err != nil {
7658				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
7659			}
7660		}
7661	}
7662
7663	if invalidParams.Len() > 0 {
7664		return invalidParams
7665	}
7666	return nil
7667}
7668
7669// SetControls sets the Controls field's value.
7670func (s *CreateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *CreateAssessmentFrameworkControlSet {
7671	s.Controls = v
7672	return s
7673}
7674
7675// SetName sets the Name field's value.
7676func (s *CreateAssessmentFrameworkControlSet) SetName(v string) *CreateAssessmentFrameworkControlSet {
7677	s.Name = &v
7678	return s
7679}
7680
7681type CreateAssessmentFrameworkInput struct {
7682	_ struct{} `type:"structure"`
7683
7684	// The compliance type that the new custom framework supports, such as CIS or
7685	// HIPAA.
7686	ComplianceType *string `locationName:"complianceType" type:"string"`
7687
7688	// The control sets to be associated with the framework.
7689	//
7690	// ControlSets is a required field
7691	ControlSets []*CreateAssessmentFrameworkControlSet `locationName:"controlSets" min:"1" type:"list" required:"true"`
7692
7693	// An optional description for the new custom framework.
7694	Description *string `locationName:"description" min:"1" type:"string"`
7695
7696	// The name of the new custom framework.
7697	//
7698	// Name is a required field
7699	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7700
7701	// The tags associated with the framework.
7702	Tags map[string]*string `locationName:"tags" type:"map"`
7703}
7704
7705// String returns the string representation
7706func (s CreateAssessmentFrameworkInput) String() string {
7707	return awsutil.Prettify(s)
7708}
7709
7710// GoString returns the string representation
7711func (s CreateAssessmentFrameworkInput) GoString() string {
7712	return s.String()
7713}
7714
7715// Validate inspects the fields of the type to determine if they are valid.
7716func (s *CreateAssessmentFrameworkInput) Validate() error {
7717	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentFrameworkInput"}
7718	if s.ControlSets == nil {
7719		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
7720	}
7721	if s.ControlSets != nil && len(s.ControlSets) < 1 {
7722		invalidParams.Add(request.NewErrParamMinLen("ControlSets", 1))
7723	}
7724	if s.Description != nil && len(*s.Description) < 1 {
7725		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7726	}
7727	if s.Name == nil {
7728		invalidParams.Add(request.NewErrParamRequired("Name"))
7729	}
7730	if s.Name != nil && len(*s.Name) < 1 {
7731		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7732	}
7733	if s.ControlSets != nil {
7734		for i, v := range s.ControlSets {
7735			if v == nil {
7736				continue
7737			}
7738			if err := v.Validate(); err != nil {
7739				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
7740			}
7741		}
7742	}
7743
7744	if invalidParams.Len() > 0 {
7745		return invalidParams
7746	}
7747	return nil
7748}
7749
7750// SetComplianceType sets the ComplianceType field's value.
7751func (s *CreateAssessmentFrameworkInput) SetComplianceType(v string) *CreateAssessmentFrameworkInput {
7752	s.ComplianceType = &v
7753	return s
7754}
7755
7756// SetControlSets sets the ControlSets field's value.
7757func (s *CreateAssessmentFrameworkInput) SetControlSets(v []*CreateAssessmentFrameworkControlSet) *CreateAssessmentFrameworkInput {
7758	s.ControlSets = v
7759	return s
7760}
7761
7762// SetDescription sets the Description field's value.
7763func (s *CreateAssessmentFrameworkInput) SetDescription(v string) *CreateAssessmentFrameworkInput {
7764	s.Description = &v
7765	return s
7766}
7767
7768// SetName sets the Name field's value.
7769func (s *CreateAssessmentFrameworkInput) SetName(v string) *CreateAssessmentFrameworkInput {
7770	s.Name = &v
7771	return s
7772}
7773
7774// SetTags sets the Tags field's value.
7775func (s *CreateAssessmentFrameworkInput) SetTags(v map[string]*string) *CreateAssessmentFrameworkInput {
7776	s.Tags = v
7777	return s
7778}
7779
7780type CreateAssessmentFrameworkOutput struct {
7781	_ struct{} `type:"structure"`
7782
7783	// The name of the new framework returned by the CreateAssessmentFramework API.
7784	Framework *Framework `locationName:"framework" type:"structure"`
7785}
7786
7787// String returns the string representation
7788func (s CreateAssessmentFrameworkOutput) String() string {
7789	return awsutil.Prettify(s)
7790}
7791
7792// GoString returns the string representation
7793func (s CreateAssessmentFrameworkOutput) GoString() string {
7794	return s.String()
7795}
7796
7797// SetFramework sets the Framework field's value.
7798func (s *CreateAssessmentFrameworkOutput) SetFramework(v *Framework) *CreateAssessmentFrameworkOutput {
7799	s.Framework = v
7800	return s
7801}
7802
7803type CreateAssessmentInput struct {
7804	_ struct{} `type:"structure"`
7805
7806	// The assessment report storage destination for the specified assessment that
7807	// is being created.
7808	//
7809	// AssessmentReportsDestination is a required field
7810	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure" required:"true"`
7811
7812	// The optional description of the assessment to be created.
7813	Description *string `locationName:"description" type:"string"`
7814
7815	// The identifier for the specified framework.
7816	//
7817	// FrameworkId is a required field
7818	FrameworkId *string `locationName:"frameworkId" min:"36" type:"string" required:"true"`
7819
7820	// The name of the assessment to be created.
7821	//
7822	// Name is a required field
7823	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7824
7825	// The list of roles for the specified assessment.
7826	//
7827	// Roles is a required field
7828	Roles []*Role `locationName:"roles" type:"list" required:"true"`
7829
7830	// The wrapper that contains the AWS accounts and AWS services in scope for
7831	// the assessment.
7832	//
7833	// Scope is a required field
7834	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
7835
7836	// The tags associated with the assessment.
7837	Tags map[string]*string `locationName:"tags" type:"map"`
7838}
7839
7840// String returns the string representation
7841func (s CreateAssessmentInput) String() string {
7842	return awsutil.Prettify(s)
7843}
7844
7845// GoString returns the string representation
7846func (s CreateAssessmentInput) GoString() string {
7847	return s.String()
7848}
7849
7850// Validate inspects the fields of the type to determine if they are valid.
7851func (s *CreateAssessmentInput) Validate() error {
7852	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentInput"}
7853	if s.AssessmentReportsDestination == nil {
7854		invalidParams.Add(request.NewErrParamRequired("AssessmentReportsDestination"))
7855	}
7856	if s.FrameworkId == nil {
7857		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
7858	}
7859	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
7860		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
7861	}
7862	if s.Name == nil {
7863		invalidParams.Add(request.NewErrParamRequired("Name"))
7864	}
7865	if s.Name != nil && len(*s.Name) < 1 {
7866		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7867	}
7868	if s.Roles == nil {
7869		invalidParams.Add(request.NewErrParamRequired("Roles"))
7870	}
7871	if s.Scope == nil {
7872		invalidParams.Add(request.NewErrParamRequired("Scope"))
7873	}
7874	if s.AssessmentReportsDestination != nil {
7875		if err := s.AssessmentReportsDestination.Validate(); err != nil {
7876			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
7877		}
7878	}
7879	if s.Roles != nil {
7880		for i, v := range s.Roles {
7881			if v == nil {
7882				continue
7883			}
7884			if err := v.Validate(); err != nil {
7885				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
7886			}
7887		}
7888	}
7889	if s.Scope != nil {
7890		if err := s.Scope.Validate(); err != nil {
7891			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
7892		}
7893	}
7894
7895	if invalidParams.Len() > 0 {
7896		return invalidParams
7897	}
7898	return nil
7899}
7900
7901// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
7902func (s *CreateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *CreateAssessmentInput {
7903	s.AssessmentReportsDestination = v
7904	return s
7905}
7906
7907// SetDescription sets the Description field's value.
7908func (s *CreateAssessmentInput) SetDescription(v string) *CreateAssessmentInput {
7909	s.Description = &v
7910	return s
7911}
7912
7913// SetFrameworkId sets the FrameworkId field's value.
7914func (s *CreateAssessmentInput) SetFrameworkId(v string) *CreateAssessmentInput {
7915	s.FrameworkId = &v
7916	return s
7917}
7918
7919// SetName sets the Name field's value.
7920func (s *CreateAssessmentInput) SetName(v string) *CreateAssessmentInput {
7921	s.Name = &v
7922	return s
7923}
7924
7925// SetRoles sets the Roles field's value.
7926func (s *CreateAssessmentInput) SetRoles(v []*Role) *CreateAssessmentInput {
7927	s.Roles = v
7928	return s
7929}
7930
7931// SetScope sets the Scope field's value.
7932func (s *CreateAssessmentInput) SetScope(v *Scope) *CreateAssessmentInput {
7933	s.Scope = v
7934	return s
7935}
7936
7937// SetTags sets the Tags field's value.
7938func (s *CreateAssessmentInput) SetTags(v map[string]*string) *CreateAssessmentInput {
7939	s.Tags = v
7940	return s
7941}
7942
7943type CreateAssessmentOutput struct {
7944	_ struct{} `type:"structure"`
7945
7946	// An entity that defines the scope of audit evidence collected by AWS Audit
7947	// Manager. An AWS Audit Manager assessment is an implementation of an AWS Audit
7948	// Manager framework.
7949	Assessment *Assessment `locationName:"assessment" type:"structure"`
7950}
7951
7952// String returns the string representation
7953func (s CreateAssessmentOutput) String() string {
7954	return awsutil.Prettify(s)
7955}
7956
7957// GoString returns the string representation
7958func (s CreateAssessmentOutput) GoString() string {
7959	return s.String()
7960}
7961
7962// SetAssessment sets the Assessment field's value.
7963func (s *CreateAssessmentOutput) SetAssessment(v *Assessment) *CreateAssessmentOutput {
7964	s.Assessment = v
7965	return s
7966}
7967
7968type CreateAssessmentReportInput struct {
7969	_ struct{} `type:"structure"`
7970
7971	// The identifier for the specified assessment.
7972	//
7973	// AssessmentId is a required field
7974	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
7975
7976	// The description of the assessment report.
7977	Description *string `locationName:"description" type:"string"`
7978
7979	// The name of the new assessment report.
7980	//
7981	// Name is a required field
7982	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7983}
7984
7985// String returns the string representation
7986func (s CreateAssessmentReportInput) String() string {
7987	return awsutil.Prettify(s)
7988}
7989
7990// GoString returns the string representation
7991func (s CreateAssessmentReportInput) GoString() string {
7992	return s.String()
7993}
7994
7995// Validate inspects the fields of the type to determine if they are valid.
7996func (s *CreateAssessmentReportInput) Validate() error {
7997	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentReportInput"}
7998	if s.AssessmentId == nil {
7999		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8000	}
8001	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8002		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8003	}
8004	if s.Name == nil {
8005		invalidParams.Add(request.NewErrParamRequired("Name"))
8006	}
8007	if s.Name != nil && len(*s.Name) < 1 {
8008		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8009	}
8010
8011	if invalidParams.Len() > 0 {
8012		return invalidParams
8013	}
8014	return nil
8015}
8016
8017// SetAssessmentId sets the AssessmentId field's value.
8018func (s *CreateAssessmentReportInput) SetAssessmentId(v string) *CreateAssessmentReportInput {
8019	s.AssessmentId = &v
8020	return s
8021}
8022
8023// SetDescription sets the Description field's value.
8024func (s *CreateAssessmentReportInput) SetDescription(v string) *CreateAssessmentReportInput {
8025	s.Description = &v
8026	return s
8027}
8028
8029// SetName sets the Name field's value.
8030func (s *CreateAssessmentReportInput) SetName(v string) *CreateAssessmentReportInput {
8031	s.Name = &v
8032	return s
8033}
8034
8035type CreateAssessmentReportOutput struct {
8036	_ struct{} `type:"structure"`
8037
8038	// The new assessment report returned by the CreateAssessmentReport API.
8039	AssessmentReport *AssessmentReport `locationName:"assessmentReport" type:"structure"`
8040}
8041
8042// String returns the string representation
8043func (s CreateAssessmentReportOutput) String() string {
8044	return awsutil.Prettify(s)
8045}
8046
8047// GoString returns the string representation
8048func (s CreateAssessmentReportOutput) GoString() string {
8049	return s.String()
8050}
8051
8052// SetAssessmentReport sets the AssessmentReport field's value.
8053func (s *CreateAssessmentReportOutput) SetAssessmentReport(v *AssessmentReport) *CreateAssessmentReportOutput {
8054	s.AssessmentReport = v
8055	return s
8056}
8057
8058type CreateControlInput struct {
8059	_ struct{} `type:"structure"`
8060
8061	// The recommended actions to carry out if the control is not fulfilled.
8062	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
8063
8064	// The title of the action plan for remediating the control.
8065	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
8066
8067	// The data mapping sources for the specified control.
8068	//
8069	// ControlMappingSources is a required field
8070	ControlMappingSources []*CreateControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
8071
8072	// The description of the control.
8073	Description *string `locationName:"description" type:"string"`
8074
8075	// The name of the control.
8076	//
8077	// Name is a required field
8078	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8079
8080	// The tags associated with the control.
8081	Tags map[string]*string `locationName:"tags" type:"map"`
8082
8083	// The steps to follow to determine if the control has been satisfied.
8084	TestingInformation *string `locationName:"testingInformation" type:"string"`
8085}
8086
8087// String returns the string representation
8088func (s CreateControlInput) String() string {
8089	return awsutil.Prettify(s)
8090}
8091
8092// GoString returns the string representation
8093func (s CreateControlInput) GoString() string {
8094	return s.String()
8095}
8096
8097// Validate inspects the fields of the type to determine if they are valid.
8098func (s *CreateControlInput) Validate() error {
8099	invalidParams := request.ErrInvalidParams{Context: "CreateControlInput"}
8100	if s.ControlMappingSources == nil {
8101		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
8102	}
8103	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
8104		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
8105	}
8106	if s.Name == nil {
8107		invalidParams.Add(request.NewErrParamRequired("Name"))
8108	}
8109	if s.Name != nil && len(*s.Name) < 1 {
8110		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8111	}
8112	if s.ControlMappingSources != nil {
8113		for i, v := range s.ControlMappingSources {
8114			if v == nil {
8115				continue
8116			}
8117			if err := v.Validate(); err != nil {
8118				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
8119			}
8120		}
8121	}
8122
8123	if invalidParams.Len() > 0 {
8124		return invalidParams
8125	}
8126	return nil
8127}
8128
8129// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
8130func (s *CreateControlInput) SetActionPlanInstructions(v string) *CreateControlInput {
8131	s.ActionPlanInstructions = &v
8132	return s
8133}
8134
8135// SetActionPlanTitle sets the ActionPlanTitle field's value.
8136func (s *CreateControlInput) SetActionPlanTitle(v string) *CreateControlInput {
8137	s.ActionPlanTitle = &v
8138	return s
8139}
8140
8141// SetControlMappingSources sets the ControlMappingSources field's value.
8142func (s *CreateControlInput) SetControlMappingSources(v []*CreateControlMappingSource) *CreateControlInput {
8143	s.ControlMappingSources = v
8144	return s
8145}
8146
8147// SetDescription sets the Description field's value.
8148func (s *CreateControlInput) SetDescription(v string) *CreateControlInput {
8149	s.Description = &v
8150	return s
8151}
8152
8153// SetName sets the Name field's value.
8154func (s *CreateControlInput) SetName(v string) *CreateControlInput {
8155	s.Name = &v
8156	return s
8157}
8158
8159// SetTags sets the Tags field's value.
8160func (s *CreateControlInput) SetTags(v map[string]*string) *CreateControlInput {
8161	s.Tags = v
8162	return s
8163}
8164
8165// SetTestingInformation sets the TestingInformation field's value.
8166func (s *CreateControlInput) SetTestingInformation(v string) *CreateControlInput {
8167	s.TestingInformation = &v
8168	return s
8169}
8170
8171// Control mapping fields that represent the source for evidence collection,
8172// along with related parameters and metadata. This does not contain mappingID.
8173type CreateControlMappingSource struct {
8174	_ struct{} `type:"structure"`
8175
8176	// The description of the data source that determines from where AWS Audit Manager
8177	// collects evidence for the control.
8178	SourceDescription *string `locationName:"sourceDescription" type:"string"`
8179
8180	// The frequency of evidence collection for the specified control mapping source.
8181	SourceFrequency *string `locationName:"sourceFrequency" type:"string" enum:"SourceFrequency"`
8182
8183	// The keyword to search for in AWS CloudTrail logs.
8184	SourceKeyword *SourceKeyword `locationName:"sourceKeyword" type:"structure"`
8185
8186	// The name of the control mapping data source.
8187	SourceName *string `locationName:"sourceName" min:"1" type:"string"`
8188
8189	// The setup option for the data source, which reflects if the evidence collection
8190	// is automated or manual.
8191	SourceSetUpOption *string `locationName:"sourceSetUpOption" type:"string" enum:"SourceSetUpOption"`
8192
8193	// Specifies one of the five types of data sources for evidence collection.
8194	SourceType *string `locationName:"sourceType" type:"string" enum:"SourceType"`
8195
8196	// The instructions for troubleshooting the specified control.
8197	TroubleshootingText *string `locationName:"troubleshootingText" type:"string"`
8198}
8199
8200// String returns the string representation
8201func (s CreateControlMappingSource) String() string {
8202	return awsutil.Prettify(s)
8203}
8204
8205// GoString returns the string representation
8206func (s CreateControlMappingSource) GoString() string {
8207	return s.String()
8208}
8209
8210// Validate inspects the fields of the type to determine if they are valid.
8211func (s *CreateControlMappingSource) Validate() error {
8212	invalidParams := request.ErrInvalidParams{Context: "CreateControlMappingSource"}
8213	if s.SourceName != nil && len(*s.SourceName) < 1 {
8214		invalidParams.Add(request.NewErrParamMinLen("SourceName", 1))
8215	}
8216	if s.SourceKeyword != nil {
8217		if err := s.SourceKeyword.Validate(); err != nil {
8218			invalidParams.AddNested("SourceKeyword", err.(request.ErrInvalidParams))
8219		}
8220	}
8221
8222	if invalidParams.Len() > 0 {
8223		return invalidParams
8224	}
8225	return nil
8226}
8227
8228// SetSourceDescription sets the SourceDescription field's value.
8229func (s *CreateControlMappingSource) SetSourceDescription(v string) *CreateControlMappingSource {
8230	s.SourceDescription = &v
8231	return s
8232}
8233
8234// SetSourceFrequency sets the SourceFrequency field's value.
8235func (s *CreateControlMappingSource) SetSourceFrequency(v string) *CreateControlMappingSource {
8236	s.SourceFrequency = &v
8237	return s
8238}
8239
8240// SetSourceKeyword sets the SourceKeyword field's value.
8241func (s *CreateControlMappingSource) SetSourceKeyword(v *SourceKeyword) *CreateControlMappingSource {
8242	s.SourceKeyword = v
8243	return s
8244}
8245
8246// SetSourceName sets the SourceName field's value.
8247func (s *CreateControlMappingSource) SetSourceName(v string) *CreateControlMappingSource {
8248	s.SourceName = &v
8249	return s
8250}
8251
8252// SetSourceSetUpOption sets the SourceSetUpOption field's value.
8253func (s *CreateControlMappingSource) SetSourceSetUpOption(v string) *CreateControlMappingSource {
8254	s.SourceSetUpOption = &v
8255	return s
8256}
8257
8258// SetSourceType sets the SourceType field's value.
8259func (s *CreateControlMappingSource) SetSourceType(v string) *CreateControlMappingSource {
8260	s.SourceType = &v
8261	return s
8262}
8263
8264// SetTroubleshootingText sets the TroubleshootingText field's value.
8265func (s *CreateControlMappingSource) SetTroubleshootingText(v string) *CreateControlMappingSource {
8266	s.TroubleshootingText = &v
8267	return s
8268}
8269
8270type CreateControlOutput struct {
8271	_ struct{} `type:"structure"`
8272
8273	// The new control returned by the CreateControl API.
8274	Control *Control `locationName:"control" type:"structure"`
8275}
8276
8277// String returns the string representation
8278func (s CreateControlOutput) String() string {
8279	return awsutil.Prettify(s)
8280}
8281
8282// GoString returns the string representation
8283func (s CreateControlOutput) GoString() string {
8284	return s.String()
8285}
8286
8287// SetControl sets the Control field's value.
8288func (s *CreateControlOutput) SetControl(v *Control) *CreateControlOutput {
8289	s.Control = v
8290	return s
8291}
8292
8293// A collection of attributes used to create a delegation for an assessment
8294// in AWS Audit Manager.
8295type CreateDelegationRequest struct {
8296	_ struct{} `type:"structure"`
8297
8298	// A comment related to the delegation request.
8299	Comment *string `locationName:"comment" type:"string"`
8300
8301	// The unique identifier for the control set.
8302	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
8303
8304	// The Amazon Resource Name (ARN) of the IAM role.
8305	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8306
8307	// The type of customer persona.
8308	//
8309	// In CreateAssessment, roleType can only be PROCESS_OWNER.
8310	//
8311	// In UpdateSettings, roleType can only be PROCESS_OWNER.
8312	//
8313	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
8314	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
8315}
8316
8317// String returns the string representation
8318func (s CreateDelegationRequest) String() string {
8319	return awsutil.Prettify(s)
8320}
8321
8322// GoString returns the string representation
8323func (s CreateDelegationRequest) GoString() string {
8324	return s.String()
8325}
8326
8327// Validate inspects the fields of the type to determine if they are valid.
8328func (s *CreateDelegationRequest) Validate() error {
8329	invalidParams := request.ErrInvalidParams{Context: "CreateDelegationRequest"}
8330	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
8331		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
8332	}
8333	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
8334		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
8335	}
8336
8337	if invalidParams.Len() > 0 {
8338		return invalidParams
8339	}
8340	return nil
8341}
8342
8343// SetComment sets the Comment field's value.
8344func (s *CreateDelegationRequest) SetComment(v string) *CreateDelegationRequest {
8345	s.Comment = &v
8346	return s
8347}
8348
8349// SetControlSetId sets the ControlSetId field's value.
8350func (s *CreateDelegationRequest) SetControlSetId(v string) *CreateDelegationRequest {
8351	s.ControlSetId = &v
8352	return s
8353}
8354
8355// SetRoleArn sets the RoleArn field's value.
8356func (s *CreateDelegationRequest) SetRoleArn(v string) *CreateDelegationRequest {
8357	s.RoleArn = &v
8358	return s
8359}
8360
8361// SetRoleType sets the RoleType field's value.
8362func (s *CreateDelegationRequest) SetRoleType(v string) *CreateDelegationRequest {
8363	s.RoleType = &v
8364	return s
8365}
8366
8367// The assignment of a control set to a delegate for review.
8368type Delegation struct {
8369	_ struct{} `type:"structure"`
8370
8371	// The identifier for the associated assessment.
8372	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
8373
8374	// The name of the associated assessment.
8375	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
8376
8377	// The comment related to the delegation.
8378	Comment *string `locationName:"comment" type:"string"`
8379
8380	// The identifier for the associated control set.
8381	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
8382
8383	// The IAM user or role that created the delegation.
8384	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
8385
8386	// Specifies when the delegation was created.
8387	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
8388
8389	// The unique identifier for the delegation.
8390	Id *string `locationName:"id" min:"36" type:"string"`
8391
8392	// Specifies when the delegation was last updated.
8393	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp"`
8394
8395	// The Amazon Resource Name (ARN) of the IAM role.
8396	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8397
8398	// The type of customer persona.
8399	//
8400	// In CreateAssessment, roleType can only be PROCESS_OWNER.
8401	//
8402	// In UpdateSettings, roleType can only be PROCESS_OWNER.
8403	//
8404	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
8405	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
8406
8407	// The status of the delegation.
8408	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
8409}
8410
8411// String returns the string representation
8412func (s Delegation) String() string {
8413	return awsutil.Prettify(s)
8414}
8415
8416// GoString returns the string representation
8417func (s Delegation) GoString() string {
8418	return s.String()
8419}
8420
8421// SetAssessmentId sets the AssessmentId field's value.
8422func (s *Delegation) SetAssessmentId(v string) *Delegation {
8423	s.AssessmentId = &v
8424	return s
8425}
8426
8427// SetAssessmentName sets the AssessmentName field's value.
8428func (s *Delegation) SetAssessmentName(v string) *Delegation {
8429	s.AssessmentName = &v
8430	return s
8431}
8432
8433// SetComment sets the Comment field's value.
8434func (s *Delegation) SetComment(v string) *Delegation {
8435	s.Comment = &v
8436	return s
8437}
8438
8439// SetControlSetId sets the ControlSetId field's value.
8440func (s *Delegation) SetControlSetId(v string) *Delegation {
8441	s.ControlSetId = &v
8442	return s
8443}
8444
8445// SetCreatedBy sets the CreatedBy field's value.
8446func (s *Delegation) SetCreatedBy(v string) *Delegation {
8447	s.CreatedBy = &v
8448	return s
8449}
8450
8451// SetCreationTime sets the CreationTime field's value.
8452func (s *Delegation) SetCreationTime(v time.Time) *Delegation {
8453	s.CreationTime = &v
8454	return s
8455}
8456
8457// SetId sets the Id field's value.
8458func (s *Delegation) SetId(v string) *Delegation {
8459	s.Id = &v
8460	return s
8461}
8462
8463// SetLastUpdated sets the LastUpdated field's value.
8464func (s *Delegation) SetLastUpdated(v time.Time) *Delegation {
8465	s.LastUpdated = &v
8466	return s
8467}
8468
8469// SetRoleArn sets the RoleArn field's value.
8470func (s *Delegation) SetRoleArn(v string) *Delegation {
8471	s.RoleArn = &v
8472	return s
8473}
8474
8475// SetRoleType sets the RoleType field's value.
8476func (s *Delegation) SetRoleType(v string) *Delegation {
8477	s.RoleType = &v
8478	return s
8479}
8480
8481// SetStatus sets the Status field's value.
8482func (s *Delegation) SetStatus(v string) *Delegation {
8483	s.Status = &v
8484	return s
8485}
8486
8487// The metadata associated with the specified delegation.
8488type DelegationMetadata struct {
8489	_ struct{} `type:"structure"`
8490
8491	// The unique identifier for the specified assessment.
8492	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
8493
8494	// The name of the associated assessment.
8495	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
8496
8497	// Specifies the name of the control set delegated for review.
8498	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
8499
8500	// Specifies when the delegation was created.
8501	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
8502
8503	// The unique identifier for the delegation.
8504	Id *string `locationName:"id" min:"36" type:"string"`
8505
8506	// The Amazon Resource Name (ARN) of the IAM role.
8507	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
8508
8509	// The current status of the delgation.
8510	Status *string `locationName:"status" type:"string" enum:"DelegationStatus"`
8511}
8512
8513// String returns the string representation
8514func (s DelegationMetadata) String() string {
8515	return awsutil.Prettify(s)
8516}
8517
8518// GoString returns the string representation
8519func (s DelegationMetadata) GoString() string {
8520	return s.String()
8521}
8522
8523// SetAssessmentId sets the AssessmentId field's value.
8524func (s *DelegationMetadata) SetAssessmentId(v string) *DelegationMetadata {
8525	s.AssessmentId = &v
8526	return s
8527}
8528
8529// SetAssessmentName sets the AssessmentName field's value.
8530func (s *DelegationMetadata) SetAssessmentName(v string) *DelegationMetadata {
8531	s.AssessmentName = &v
8532	return s
8533}
8534
8535// SetControlSetName sets the ControlSetName field's value.
8536func (s *DelegationMetadata) SetControlSetName(v string) *DelegationMetadata {
8537	s.ControlSetName = &v
8538	return s
8539}
8540
8541// SetCreationTime sets the CreationTime field's value.
8542func (s *DelegationMetadata) SetCreationTime(v time.Time) *DelegationMetadata {
8543	s.CreationTime = &v
8544	return s
8545}
8546
8547// SetId sets the Id field's value.
8548func (s *DelegationMetadata) SetId(v string) *DelegationMetadata {
8549	s.Id = &v
8550	return s
8551}
8552
8553// SetRoleArn sets the RoleArn field's value.
8554func (s *DelegationMetadata) SetRoleArn(v string) *DelegationMetadata {
8555	s.RoleArn = &v
8556	return s
8557}
8558
8559// SetStatus sets the Status field's value.
8560func (s *DelegationMetadata) SetStatus(v string) *DelegationMetadata {
8561	s.Status = &v
8562	return s
8563}
8564
8565type DeleteAssessmentFrameworkInput struct {
8566	_ struct{} `type:"structure"`
8567
8568	// The identifier for the specified framework.
8569	//
8570	// FrameworkId is a required field
8571	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
8572}
8573
8574// String returns the string representation
8575func (s DeleteAssessmentFrameworkInput) String() string {
8576	return awsutil.Prettify(s)
8577}
8578
8579// GoString returns the string representation
8580func (s DeleteAssessmentFrameworkInput) GoString() string {
8581	return s.String()
8582}
8583
8584// Validate inspects the fields of the type to determine if they are valid.
8585func (s *DeleteAssessmentFrameworkInput) Validate() error {
8586	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentFrameworkInput"}
8587	if s.FrameworkId == nil {
8588		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
8589	}
8590	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
8591		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
8592	}
8593
8594	if invalidParams.Len() > 0 {
8595		return invalidParams
8596	}
8597	return nil
8598}
8599
8600// SetFrameworkId sets the FrameworkId field's value.
8601func (s *DeleteAssessmentFrameworkInput) SetFrameworkId(v string) *DeleteAssessmentFrameworkInput {
8602	s.FrameworkId = &v
8603	return s
8604}
8605
8606type DeleteAssessmentFrameworkOutput struct {
8607	_ struct{} `type:"structure"`
8608}
8609
8610// String returns the string representation
8611func (s DeleteAssessmentFrameworkOutput) String() string {
8612	return awsutil.Prettify(s)
8613}
8614
8615// GoString returns the string representation
8616func (s DeleteAssessmentFrameworkOutput) GoString() string {
8617	return s.String()
8618}
8619
8620type DeleteAssessmentInput struct {
8621	_ struct{} `type:"structure"`
8622
8623	// The identifier for the specified assessment.
8624	//
8625	// AssessmentId is a required field
8626	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8627}
8628
8629// String returns the string representation
8630func (s DeleteAssessmentInput) String() string {
8631	return awsutil.Prettify(s)
8632}
8633
8634// GoString returns the string representation
8635func (s DeleteAssessmentInput) GoString() string {
8636	return s.String()
8637}
8638
8639// Validate inspects the fields of the type to determine if they are valid.
8640func (s *DeleteAssessmentInput) Validate() error {
8641	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentInput"}
8642	if s.AssessmentId == nil {
8643		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8644	}
8645	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8646		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8647	}
8648
8649	if invalidParams.Len() > 0 {
8650		return invalidParams
8651	}
8652	return nil
8653}
8654
8655// SetAssessmentId sets the AssessmentId field's value.
8656func (s *DeleteAssessmentInput) SetAssessmentId(v string) *DeleteAssessmentInput {
8657	s.AssessmentId = &v
8658	return s
8659}
8660
8661type DeleteAssessmentOutput struct {
8662	_ struct{} `type:"structure"`
8663}
8664
8665// String returns the string representation
8666func (s DeleteAssessmentOutput) String() string {
8667	return awsutil.Prettify(s)
8668}
8669
8670// GoString returns the string representation
8671func (s DeleteAssessmentOutput) GoString() string {
8672	return s.String()
8673}
8674
8675type DeleteAssessmentReportInput struct {
8676	_ struct{} `type:"structure"`
8677
8678	// The identifier for the specified assessment.
8679	//
8680	// AssessmentId is a required field
8681	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8682
8683	// The unique identifier for the assessment report.
8684	//
8685	// AssessmentReportId is a required field
8686	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
8687}
8688
8689// String returns the string representation
8690func (s DeleteAssessmentReportInput) String() string {
8691	return awsutil.Prettify(s)
8692}
8693
8694// GoString returns the string representation
8695func (s DeleteAssessmentReportInput) GoString() string {
8696	return s.String()
8697}
8698
8699// Validate inspects the fields of the type to determine if they are valid.
8700func (s *DeleteAssessmentReportInput) Validate() error {
8701	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentReportInput"}
8702	if s.AssessmentId == nil {
8703		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8704	}
8705	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8706		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8707	}
8708	if s.AssessmentReportId == nil {
8709		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
8710	}
8711	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
8712		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
8713	}
8714
8715	if invalidParams.Len() > 0 {
8716		return invalidParams
8717	}
8718	return nil
8719}
8720
8721// SetAssessmentId sets the AssessmentId field's value.
8722func (s *DeleteAssessmentReportInput) SetAssessmentId(v string) *DeleteAssessmentReportInput {
8723	s.AssessmentId = &v
8724	return s
8725}
8726
8727// SetAssessmentReportId sets the AssessmentReportId field's value.
8728func (s *DeleteAssessmentReportInput) SetAssessmentReportId(v string) *DeleteAssessmentReportInput {
8729	s.AssessmentReportId = &v
8730	return s
8731}
8732
8733type DeleteAssessmentReportOutput struct {
8734	_ struct{} `type:"structure"`
8735}
8736
8737// String returns the string representation
8738func (s DeleteAssessmentReportOutput) String() string {
8739	return awsutil.Prettify(s)
8740}
8741
8742// GoString returns the string representation
8743func (s DeleteAssessmentReportOutput) GoString() string {
8744	return s.String()
8745}
8746
8747type DeleteControlInput struct {
8748	_ struct{} `type:"structure"`
8749
8750	// The identifier for the specified control.
8751	//
8752	// ControlId is a required field
8753	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
8754}
8755
8756// String returns the string representation
8757func (s DeleteControlInput) String() string {
8758	return awsutil.Prettify(s)
8759}
8760
8761// GoString returns the string representation
8762func (s DeleteControlInput) GoString() string {
8763	return s.String()
8764}
8765
8766// Validate inspects the fields of the type to determine if they are valid.
8767func (s *DeleteControlInput) Validate() error {
8768	invalidParams := request.ErrInvalidParams{Context: "DeleteControlInput"}
8769	if s.ControlId == nil {
8770		invalidParams.Add(request.NewErrParamRequired("ControlId"))
8771	}
8772	if s.ControlId != nil && len(*s.ControlId) < 36 {
8773		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
8774	}
8775
8776	if invalidParams.Len() > 0 {
8777		return invalidParams
8778	}
8779	return nil
8780}
8781
8782// SetControlId sets the ControlId field's value.
8783func (s *DeleteControlInput) SetControlId(v string) *DeleteControlInput {
8784	s.ControlId = &v
8785	return s
8786}
8787
8788type DeleteControlOutput struct {
8789	_ struct{} `type:"structure"`
8790}
8791
8792// String returns the string representation
8793func (s DeleteControlOutput) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s DeleteControlOutput) GoString() string {
8799	return s.String()
8800}
8801
8802type DeregisterAccountInput struct {
8803	_ struct{} `type:"structure"`
8804}
8805
8806// String returns the string representation
8807func (s DeregisterAccountInput) String() string {
8808	return awsutil.Prettify(s)
8809}
8810
8811// GoString returns the string representation
8812func (s DeregisterAccountInput) GoString() string {
8813	return s.String()
8814}
8815
8816type DeregisterAccountOutput struct {
8817	_ struct{} `type:"structure"`
8818
8819	// The registration status of the account.
8820	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
8821}
8822
8823// String returns the string representation
8824func (s DeregisterAccountOutput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation
8829func (s DeregisterAccountOutput) GoString() string {
8830	return s.String()
8831}
8832
8833// SetStatus sets the Status field's value.
8834func (s *DeregisterAccountOutput) SetStatus(v string) *DeregisterAccountOutput {
8835	s.Status = &v
8836	return s
8837}
8838
8839type DeregisterOrganizationAdminAccountInput struct {
8840	_ struct{} `type:"structure"`
8841
8842	// The identifier for the specified administrator account.
8843	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
8844}
8845
8846// String returns the string representation
8847func (s DeregisterOrganizationAdminAccountInput) String() string {
8848	return awsutil.Prettify(s)
8849}
8850
8851// GoString returns the string representation
8852func (s DeregisterOrganizationAdminAccountInput) GoString() string {
8853	return s.String()
8854}
8855
8856// Validate inspects the fields of the type to determine if they are valid.
8857func (s *DeregisterOrganizationAdminAccountInput) Validate() error {
8858	invalidParams := request.ErrInvalidParams{Context: "DeregisterOrganizationAdminAccountInput"}
8859	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
8860		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
8861	}
8862
8863	if invalidParams.Len() > 0 {
8864		return invalidParams
8865	}
8866	return nil
8867}
8868
8869// SetAdminAccountId sets the AdminAccountId field's value.
8870func (s *DeregisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *DeregisterOrganizationAdminAccountInput {
8871	s.AdminAccountId = &v
8872	return s
8873}
8874
8875type DeregisterOrganizationAdminAccountOutput struct {
8876	_ struct{} `type:"structure"`
8877}
8878
8879// String returns the string representation
8880func (s DeregisterOrganizationAdminAccountOutput) String() string {
8881	return awsutil.Prettify(s)
8882}
8883
8884// GoString returns the string representation
8885func (s DeregisterOrganizationAdminAccountOutput) GoString() string {
8886	return s.String()
8887}
8888
8889type DisassociateAssessmentReportEvidenceFolderInput struct {
8890	_ struct{} `type:"structure"`
8891
8892	// The identifier for the specified assessment.
8893	//
8894	// AssessmentId is a required field
8895	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
8896
8897	// The identifier for the folder in which evidence is stored.
8898	//
8899	// EvidenceFolderId is a required field
8900	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
8901}
8902
8903// String returns the string representation
8904func (s DisassociateAssessmentReportEvidenceFolderInput) String() string {
8905	return awsutil.Prettify(s)
8906}
8907
8908// GoString returns the string representation
8909func (s DisassociateAssessmentReportEvidenceFolderInput) GoString() string {
8910	return s.String()
8911}
8912
8913// Validate inspects the fields of the type to determine if they are valid.
8914func (s *DisassociateAssessmentReportEvidenceFolderInput) Validate() error {
8915	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssessmentReportEvidenceFolderInput"}
8916	if s.AssessmentId == nil {
8917		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
8918	}
8919	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
8920		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
8921	}
8922	if s.EvidenceFolderId == nil {
8923		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
8924	}
8925	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
8926		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
8927	}
8928
8929	if invalidParams.Len() > 0 {
8930		return invalidParams
8931	}
8932	return nil
8933}
8934
8935// SetAssessmentId sets the AssessmentId field's value.
8936func (s *DisassociateAssessmentReportEvidenceFolderInput) SetAssessmentId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
8937	s.AssessmentId = &v
8938	return s
8939}
8940
8941// SetEvidenceFolderId sets the EvidenceFolderId field's value.
8942func (s *DisassociateAssessmentReportEvidenceFolderInput) SetEvidenceFolderId(v string) *DisassociateAssessmentReportEvidenceFolderInput {
8943	s.EvidenceFolderId = &v
8944	return s
8945}
8946
8947type DisassociateAssessmentReportEvidenceFolderOutput struct {
8948	_ struct{} `type:"structure"`
8949}
8950
8951// String returns the string representation
8952func (s DisassociateAssessmentReportEvidenceFolderOutput) String() string {
8953	return awsutil.Prettify(s)
8954}
8955
8956// GoString returns the string representation
8957func (s DisassociateAssessmentReportEvidenceFolderOutput) GoString() string {
8958	return s.String()
8959}
8960
8961// A record that contains the information needed to demonstrate compliance with
8962// the requirements specified by a control. Examples of evidence include change
8963// activity triggered by a user, or a system configuration snapshot.
8964type Evidence struct {
8965	_ struct{} `type:"structure"`
8966
8967	// Specifies whether the evidence is inclded in the assessment report.
8968	AssessmentReportSelection *string `locationName:"assessmentReportSelection" type:"string"`
8969
8970	// The names and values used by the evidence event, including an attribute name
8971	// (such as allowUsersToChangePassword) and value (such as true or false).
8972	Attributes map[string]*string `locationName:"attributes" type:"map"`
8973
8974	// The identifier for the specified AWS account.
8975	AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string"`
8976
8977	// The AWS account from which the evidence is collected, and its AWS organization
8978	// path.
8979	AwsOrganization *string `locationName:"awsOrganization" type:"string"`
8980
8981	// The evaluation status for evidence that falls under the compliance check
8982	// category. For evidence collected from AWS Security Hub, a Pass or Fail result
8983	// is shown. For evidence collected from AWS Config, a Compliant or Noncompliant
8984	// result is shown.
8985	ComplianceCheck *string `locationName:"complianceCheck" type:"string"`
8986
8987	// The data source from which the specified evidence was collected.
8988	DataSource *string `locationName:"dataSource" type:"string"`
8989
8990	// The name of the specified evidence event.
8991	EventName *string `locationName:"eventName" type:"string"`
8992
8993	// The AWS service from which the evidence is collected.
8994	EventSource *string `locationName:"eventSource" min:"1" type:"string"`
8995
8996	// The identifier for the specified AWS account.
8997	EvidenceAwsAccountId *string `locationName:"evidenceAwsAccountId" min:"12" type:"string"`
8998
8999	// The type of automated evidence.
9000	EvidenceByType *string `locationName:"evidenceByType" type:"string"`
9001
9002	// The identifier for the folder in which the evidence is stored.
9003	EvidenceFolderId *string `locationName:"evidenceFolderId" min:"36" type:"string"`
9004
9005	// The unique identifier for the IAM user or role associated with the evidence.
9006	IamId *string `locationName:"iamId" min:"20" type:"string"`
9007
9008	// The identifier for the evidence.
9009	Id *string `locationName:"id" min:"36" type:"string"`
9010
9011	// The list of resources assessed to generate the evidence.
9012	ResourcesIncluded []*Resource `locationName:"resourcesIncluded" type:"list"`
9013
9014	// The timestamp that represents when the evidence was collected.
9015	Time *time.Time `locationName:"time" type:"timestamp"`
9016}
9017
9018// String returns the string representation
9019func (s Evidence) String() string {
9020	return awsutil.Prettify(s)
9021}
9022
9023// GoString returns the string representation
9024func (s Evidence) GoString() string {
9025	return s.String()
9026}
9027
9028// SetAssessmentReportSelection sets the AssessmentReportSelection field's value.
9029func (s *Evidence) SetAssessmentReportSelection(v string) *Evidence {
9030	s.AssessmentReportSelection = &v
9031	return s
9032}
9033
9034// SetAttributes sets the Attributes field's value.
9035func (s *Evidence) SetAttributes(v map[string]*string) *Evidence {
9036	s.Attributes = v
9037	return s
9038}
9039
9040// SetAwsAccountId sets the AwsAccountId field's value.
9041func (s *Evidence) SetAwsAccountId(v string) *Evidence {
9042	s.AwsAccountId = &v
9043	return s
9044}
9045
9046// SetAwsOrganization sets the AwsOrganization field's value.
9047func (s *Evidence) SetAwsOrganization(v string) *Evidence {
9048	s.AwsOrganization = &v
9049	return s
9050}
9051
9052// SetComplianceCheck sets the ComplianceCheck field's value.
9053func (s *Evidence) SetComplianceCheck(v string) *Evidence {
9054	s.ComplianceCheck = &v
9055	return s
9056}
9057
9058// SetDataSource sets the DataSource field's value.
9059func (s *Evidence) SetDataSource(v string) *Evidence {
9060	s.DataSource = &v
9061	return s
9062}
9063
9064// SetEventName sets the EventName field's value.
9065func (s *Evidence) SetEventName(v string) *Evidence {
9066	s.EventName = &v
9067	return s
9068}
9069
9070// SetEventSource sets the EventSource field's value.
9071func (s *Evidence) SetEventSource(v string) *Evidence {
9072	s.EventSource = &v
9073	return s
9074}
9075
9076// SetEvidenceAwsAccountId sets the EvidenceAwsAccountId field's value.
9077func (s *Evidence) SetEvidenceAwsAccountId(v string) *Evidence {
9078	s.EvidenceAwsAccountId = &v
9079	return s
9080}
9081
9082// SetEvidenceByType sets the EvidenceByType field's value.
9083func (s *Evidence) SetEvidenceByType(v string) *Evidence {
9084	s.EvidenceByType = &v
9085	return s
9086}
9087
9088// SetEvidenceFolderId sets the EvidenceFolderId field's value.
9089func (s *Evidence) SetEvidenceFolderId(v string) *Evidence {
9090	s.EvidenceFolderId = &v
9091	return s
9092}
9093
9094// SetIamId sets the IamId field's value.
9095func (s *Evidence) SetIamId(v string) *Evidence {
9096	s.IamId = &v
9097	return s
9098}
9099
9100// SetId sets the Id field's value.
9101func (s *Evidence) SetId(v string) *Evidence {
9102	s.Id = &v
9103	return s
9104}
9105
9106// SetResourcesIncluded sets the ResourcesIncluded field's value.
9107func (s *Evidence) SetResourcesIncluded(v []*Resource) *Evidence {
9108	s.ResourcesIncluded = v
9109	return s
9110}
9111
9112// SetTime sets the Time field's value.
9113func (s *Evidence) SetTime(v time.Time) *Evidence {
9114	s.Time = &v
9115	return s
9116}
9117
9118// The file used to structure and automate AWS Audit Manager assessments for
9119// a given compliance standard.
9120type Framework struct {
9121	_ struct{} `type:"structure"`
9122
9123	// The Amazon Resource Name (ARN) of the specified framework.
9124	Arn *string `locationName:"arn" min:"20" type:"string"`
9125
9126	// The compliance type that the new custom framework supports, such as CIS or
9127	// HIPAA.
9128	ComplianceType *string `locationName:"complianceType" type:"string"`
9129
9130	// The control sets associated with the framework.
9131	ControlSets []*ControlSet `locationName:"controlSets" min:"1" type:"list"`
9132
9133	// The sources from which AWS Audit Manager collects evidence for the control.
9134	ControlSources *string `locationName:"controlSources" min:"1" type:"string"`
9135
9136	// Specifies when the framework was created.
9137	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9138
9139	// The IAM user or role that created the framework.
9140	CreatedBy *string `locationName:"createdBy" min:"1" type:"string"`
9141
9142	// The description of the specified framework.
9143	Description *string `locationName:"description" min:"1" type:"string"`
9144
9145	// The unique identifier for the specified framework.
9146	Id *string `locationName:"id" min:"36" type:"string"`
9147
9148	// Specifies when the framework was most recently updated.
9149	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9150
9151	// The IAM user or role that most recently updated the framework.
9152	LastUpdatedBy *string `locationName:"lastUpdatedBy" min:"1" type:"string"`
9153
9154	// The logo associated with the framework.
9155	Logo *string `locationName:"logo" min:"1" type:"string"`
9156
9157	// The name of the specified framework.
9158	Name *string `locationName:"name" min:"1" type:"string"`
9159
9160	// The tags associated with the framework.
9161	Tags map[string]*string `locationName:"tags" type:"map"`
9162
9163	// The framework type, such as custom or standard.
9164	Type *string `locationName:"type" type:"string" enum:"FrameworkType"`
9165}
9166
9167// String returns the string representation
9168func (s Framework) String() string {
9169	return awsutil.Prettify(s)
9170}
9171
9172// GoString returns the string representation
9173func (s Framework) GoString() string {
9174	return s.String()
9175}
9176
9177// SetArn sets the Arn field's value.
9178func (s *Framework) SetArn(v string) *Framework {
9179	s.Arn = &v
9180	return s
9181}
9182
9183// SetComplianceType sets the ComplianceType field's value.
9184func (s *Framework) SetComplianceType(v string) *Framework {
9185	s.ComplianceType = &v
9186	return s
9187}
9188
9189// SetControlSets sets the ControlSets field's value.
9190func (s *Framework) SetControlSets(v []*ControlSet) *Framework {
9191	s.ControlSets = v
9192	return s
9193}
9194
9195// SetControlSources sets the ControlSources field's value.
9196func (s *Framework) SetControlSources(v string) *Framework {
9197	s.ControlSources = &v
9198	return s
9199}
9200
9201// SetCreatedAt sets the CreatedAt field's value.
9202func (s *Framework) SetCreatedAt(v time.Time) *Framework {
9203	s.CreatedAt = &v
9204	return s
9205}
9206
9207// SetCreatedBy sets the CreatedBy field's value.
9208func (s *Framework) SetCreatedBy(v string) *Framework {
9209	s.CreatedBy = &v
9210	return s
9211}
9212
9213// SetDescription sets the Description field's value.
9214func (s *Framework) SetDescription(v string) *Framework {
9215	s.Description = &v
9216	return s
9217}
9218
9219// SetId sets the Id field's value.
9220func (s *Framework) SetId(v string) *Framework {
9221	s.Id = &v
9222	return s
9223}
9224
9225// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9226func (s *Framework) SetLastUpdatedAt(v time.Time) *Framework {
9227	s.LastUpdatedAt = &v
9228	return s
9229}
9230
9231// SetLastUpdatedBy sets the LastUpdatedBy field's value.
9232func (s *Framework) SetLastUpdatedBy(v string) *Framework {
9233	s.LastUpdatedBy = &v
9234	return s
9235}
9236
9237// SetLogo sets the Logo field's value.
9238func (s *Framework) SetLogo(v string) *Framework {
9239	s.Logo = &v
9240	return s
9241}
9242
9243// SetName sets the Name field's value.
9244func (s *Framework) SetName(v string) *Framework {
9245	s.Name = &v
9246	return s
9247}
9248
9249// SetTags sets the Tags field's value.
9250func (s *Framework) SetTags(v map[string]*string) *Framework {
9251	s.Tags = v
9252	return s
9253}
9254
9255// SetType sets the Type field's value.
9256func (s *Framework) SetType(v string) *Framework {
9257	s.Type = &v
9258	return s
9259}
9260
9261// The metadata of a framework, such as the name, ID, description, and so on.
9262type FrameworkMetadata struct {
9263	_ struct{} `type:"structure"`
9264
9265	// The compliance standard associated with the framework, such as PCI-DSS or
9266	// HIPAA.
9267	ComplianceType *string `locationName:"complianceType" type:"string"`
9268
9269	// The description of the framework.
9270	Description *string `locationName:"description" min:"1" type:"string"`
9271
9272	// The logo associated with the framework.
9273	Logo *string `locationName:"logo" min:"1" type:"string"`
9274
9275	// The name of the framework.
9276	Name *string `locationName:"name" min:"1" type:"string"`
9277}
9278
9279// String returns the string representation
9280func (s FrameworkMetadata) String() string {
9281	return awsutil.Prettify(s)
9282}
9283
9284// GoString returns the string representation
9285func (s FrameworkMetadata) GoString() string {
9286	return s.String()
9287}
9288
9289// SetComplianceType sets the ComplianceType field's value.
9290func (s *FrameworkMetadata) SetComplianceType(v string) *FrameworkMetadata {
9291	s.ComplianceType = &v
9292	return s
9293}
9294
9295// SetDescription sets the Description field's value.
9296func (s *FrameworkMetadata) SetDescription(v string) *FrameworkMetadata {
9297	s.Description = &v
9298	return s
9299}
9300
9301// SetLogo sets the Logo field's value.
9302func (s *FrameworkMetadata) SetLogo(v string) *FrameworkMetadata {
9303	s.Logo = &v
9304	return s
9305}
9306
9307// SetName sets the Name field's value.
9308func (s *FrameworkMetadata) SetName(v string) *FrameworkMetadata {
9309	s.Name = &v
9310	return s
9311}
9312
9313type GetAccountStatusInput struct {
9314	_ struct{} `type:"structure"`
9315}
9316
9317// String returns the string representation
9318func (s GetAccountStatusInput) String() string {
9319	return awsutil.Prettify(s)
9320}
9321
9322// GoString returns the string representation
9323func (s GetAccountStatusInput) GoString() string {
9324	return s.String()
9325}
9326
9327type GetAccountStatusOutput struct {
9328	_ struct{} `type:"structure"`
9329
9330	// The status of the specified AWS account.
9331	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
9332}
9333
9334// String returns the string representation
9335func (s GetAccountStatusOutput) String() string {
9336	return awsutil.Prettify(s)
9337}
9338
9339// GoString returns the string representation
9340func (s GetAccountStatusOutput) GoString() string {
9341	return s.String()
9342}
9343
9344// SetStatus sets the Status field's value.
9345func (s *GetAccountStatusOutput) SetStatus(v string) *GetAccountStatusOutput {
9346	s.Status = &v
9347	return s
9348}
9349
9350type GetAssessmentFrameworkInput struct {
9351	_ struct{} `type:"structure"`
9352
9353	// The identifier for the specified framework.
9354	//
9355	// FrameworkId is a required field
9356	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
9357}
9358
9359// String returns the string representation
9360func (s GetAssessmentFrameworkInput) String() string {
9361	return awsutil.Prettify(s)
9362}
9363
9364// GoString returns the string representation
9365func (s GetAssessmentFrameworkInput) GoString() string {
9366	return s.String()
9367}
9368
9369// Validate inspects the fields of the type to determine if they are valid.
9370func (s *GetAssessmentFrameworkInput) Validate() error {
9371	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentFrameworkInput"}
9372	if s.FrameworkId == nil {
9373		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
9374	}
9375	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
9376		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
9377	}
9378
9379	if invalidParams.Len() > 0 {
9380		return invalidParams
9381	}
9382	return nil
9383}
9384
9385// SetFrameworkId sets the FrameworkId field's value.
9386func (s *GetAssessmentFrameworkInput) SetFrameworkId(v string) *GetAssessmentFrameworkInput {
9387	s.FrameworkId = &v
9388	return s
9389}
9390
9391type GetAssessmentFrameworkOutput struct {
9392	_ struct{} `type:"structure"`
9393
9394	// The framework returned by the GetAssessmentFramework API.
9395	Framework *Framework `locationName:"framework" type:"structure"`
9396}
9397
9398// String returns the string representation
9399func (s GetAssessmentFrameworkOutput) String() string {
9400	return awsutil.Prettify(s)
9401}
9402
9403// GoString returns the string representation
9404func (s GetAssessmentFrameworkOutput) GoString() string {
9405	return s.String()
9406}
9407
9408// SetFramework sets the Framework field's value.
9409func (s *GetAssessmentFrameworkOutput) SetFramework(v *Framework) *GetAssessmentFrameworkOutput {
9410	s.Framework = v
9411	return s
9412}
9413
9414type GetAssessmentInput struct {
9415	_ struct{} `type:"structure"`
9416
9417	// The identifier for the specified assessment.
9418	//
9419	// AssessmentId is a required field
9420	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9421}
9422
9423// String returns the string representation
9424func (s GetAssessmentInput) String() string {
9425	return awsutil.Prettify(s)
9426}
9427
9428// GoString returns the string representation
9429func (s GetAssessmentInput) GoString() string {
9430	return s.String()
9431}
9432
9433// Validate inspects the fields of the type to determine if they are valid.
9434func (s *GetAssessmentInput) Validate() error {
9435	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentInput"}
9436	if s.AssessmentId == nil {
9437		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9438	}
9439	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9440		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9441	}
9442
9443	if invalidParams.Len() > 0 {
9444		return invalidParams
9445	}
9446	return nil
9447}
9448
9449// SetAssessmentId sets the AssessmentId field's value.
9450func (s *GetAssessmentInput) SetAssessmentId(v string) *GetAssessmentInput {
9451	s.AssessmentId = &v
9452	return s
9453}
9454
9455type GetAssessmentOutput struct {
9456	_ struct{} `type:"structure"`
9457
9458	// An entity that defines the scope of audit evidence collected by AWS Audit
9459	// Manager. An AWS Audit Manager assessment is an implementation of an AWS Audit
9460	// Manager framework.
9461	Assessment *Assessment `locationName:"assessment" type:"structure"`
9462}
9463
9464// String returns the string representation
9465func (s GetAssessmentOutput) String() string {
9466	return awsutil.Prettify(s)
9467}
9468
9469// GoString returns the string representation
9470func (s GetAssessmentOutput) GoString() string {
9471	return s.String()
9472}
9473
9474// SetAssessment sets the Assessment field's value.
9475func (s *GetAssessmentOutput) SetAssessment(v *Assessment) *GetAssessmentOutput {
9476	s.Assessment = v
9477	return s
9478}
9479
9480type GetAssessmentReportUrlInput struct {
9481	_ struct{} `type:"structure"`
9482
9483	// The identifier for the specified assessment.
9484	//
9485	// AssessmentId is a required field
9486	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9487
9488	// The identifier for the assessment report.
9489	//
9490	// AssessmentReportId is a required field
9491	AssessmentReportId *string `location:"uri" locationName:"assessmentReportId" min:"36" type:"string" required:"true"`
9492}
9493
9494// String returns the string representation
9495func (s GetAssessmentReportUrlInput) String() string {
9496	return awsutil.Prettify(s)
9497}
9498
9499// GoString returns the string representation
9500func (s GetAssessmentReportUrlInput) GoString() string {
9501	return s.String()
9502}
9503
9504// Validate inspects the fields of the type to determine if they are valid.
9505func (s *GetAssessmentReportUrlInput) Validate() error {
9506	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentReportUrlInput"}
9507	if s.AssessmentId == nil {
9508		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9509	}
9510	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9511		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9512	}
9513	if s.AssessmentReportId == nil {
9514		invalidParams.Add(request.NewErrParamRequired("AssessmentReportId"))
9515	}
9516	if s.AssessmentReportId != nil && len(*s.AssessmentReportId) < 36 {
9517		invalidParams.Add(request.NewErrParamMinLen("AssessmentReportId", 36))
9518	}
9519
9520	if invalidParams.Len() > 0 {
9521		return invalidParams
9522	}
9523	return nil
9524}
9525
9526// SetAssessmentId sets the AssessmentId field's value.
9527func (s *GetAssessmentReportUrlInput) SetAssessmentId(v string) *GetAssessmentReportUrlInput {
9528	s.AssessmentId = &v
9529	return s
9530}
9531
9532// SetAssessmentReportId sets the AssessmentReportId field's value.
9533func (s *GetAssessmentReportUrlInput) SetAssessmentReportId(v string) *GetAssessmentReportUrlInput {
9534	s.AssessmentReportId = &v
9535	return s
9536}
9537
9538type GetAssessmentReportUrlOutput struct {
9539	_ struct{} `type:"structure"`
9540
9541	// A uniform resource locator, used as a unique identifier to locate a resource
9542	// on the internet.
9543	PreSignedUrl *URL `locationName:"preSignedUrl" type:"structure"`
9544}
9545
9546// String returns the string representation
9547func (s GetAssessmentReportUrlOutput) String() string {
9548	return awsutil.Prettify(s)
9549}
9550
9551// GoString returns the string representation
9552func (s GetAssessmentReportUrlOutput) GoString() string {
9553	return s.String()
9554}
9555
9556// SetPreSignedUrl sets the PreSignedUrl field's value.
9557func (s *GetAssessmentReportUrlOutput) SetPreSignedUrl(v *URL) *GetAssessmentReportUrlOutput {
9558	s.PreSignedUrl = v
9559	return s
9560}
9561
9562type GetChangeLogsInput struct {
9563	_ struct{} `type:"structure"`
9564
9565	// The identifier for the specified assessment.
9566	//
9567	// AssessmentId is a required field
9568	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9569
9570	// The identifier for the specified control.
9571	ControlId *string `location:"querystring" locationName:"controlId" min:"36" type:"string"`
9572
9573	// The identifier for the specified control set.
9574	ControlSetId *string `location:"querystring" locationName:"controlSetId" min:"1" type:"string"`
9575
9576	// Represents the maximum number of results per page, or per API request call.
9577	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9578
9579	// The pagination token used to fetch the next set of results.
9580	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9581}
9582
9583// String returns the string representation
9584func (s GetChangeLogsInput) String() string {
9585	return awsutil.Prettify(s)
9586}
9587
9588// GoString returns the string representation
9589func (s GetChangeLogsInput) GoString() string {
9590	return s.String()
9591}
9592
9593// Validate inspects the fields of the type to determine if they are valid.
9594func (s *GetChangeLogsInput) Validate() error {
9595	invalidParams := request.ErrInvalidParams{Context: "GetChangeLogsInput"}
9596	if s.AssessmentId == nil {
9597		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9598	}
9599	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9600		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9601	}
9602	if s.ControlId != nil && len(*s.ControlId) < 36 {
9603		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
9604	}
9605	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
9606		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
9607	}
9608	if s.MaxResults != nil && *s.MaxResults < 1 {
9609		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9610	}
9611	if s.NextToken != nil && len(*s.NextToken) < 1 {
9612		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9613	}
9614
9615	if invalidParams.Len() > 0 {
9616		return invalidParams
9617	}
9618	return nil
9619}
9620
9621// SetAssessmentId sets the AssessmentId field's value.
9622func (s *GetChangeLogsInput) SetAssessmentId(v string) *GetChangeLogsInput {
9623	s.AssessmentId = &v
9624	return s
9625}
9626
9627// SetControlId sets the ControlId field's value.
9628func (s *GetChangeLogsInput) SetControlId(v string) *GetChangeLogsInput {
9629	s.ControlId = &v
9630	return s
9631}
9632
9633// SetControlSetId sets the ControlSetId field's value.
9634func (s *GetChangeLogsInput) SetControlSetId(v string) *GetChangeLogsInput {
9635	s.ControlSetId = &v
9636	return s
9637}
9638
9639// SetMaxResults sets the MaxResults field's value.
9640func (s *GetChangeLogsInput) SetMaxResults(v int64) *GetChangeLogsInput {
9641	s.MaxResults = &v
9642	return s
9643}
9644
9645// SetNextToken sets the NextToken field's value.
9646func (s *GetChangeLogsInput) SetNextToken(v string) *GetChangeLogsInput {
9647	s.NextToken = &v
9648	return s
9649}
9650
9651type GetChangeLogsOutput struct {
9652	_ struct{} `type:"structure"`
9653
9654	// The list of user activity for the control.
9655	ChangeLogs []*ChangeLog `locationName:"changeLogs" type:"list"`
9656
9657	// The pagination token used to fetch the next set of results.
9658	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9659}
9660
9661// String returns the string representation
9662func (s GetChangeLogsOutput) String() string {
9663	return awsutil.Prettify(s)
9664}
9665
9666// GoString returns the string representation
9667func (s GetChangeLogsOutput) GoString() string {
9668	return s.String()
9669}
9670
9671// SetChangeLogs sets the ChangeLogs field's value.
9672func (s *GetChangeLogsOutput) SetChangeLogs(v []*ChangeLog) *GetChangeLogsOutput {
9673	s.ChangeLogs = v
9674	return s
9675}
9676
9677// SetNextToken sets the NextToken field's value.
9678func (s *GetChangeLogsOutput) SetNextToken(v string) *GetChangeLogsOutput {
9679	s.NextToken = &v
9680	return s
9681}
9682
9683type GetControlInput struct {
9684	_ struct{} `type:"structure"`
9685
9686	// The identifier for the specified control.
9687	//
9688	// ControlId is a required field
9689	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
9690}
9691
9692// String returns the string representation
9693func (s GetControlInput) String() string {
9694	return awsutil.Prettify(s)
9695}
9696
9697// GoString returns the string representation
9698func (s GetControlInput) GoString() string {
9699	return s.String()
9700}
9701
9702// Validate inspects the fields of the type to determine if they are valid.
9703func (s *GetControlInput) Validate() error {
9704	invalidParams := request.ErrInvalidParams{Context: "GetControlInput"}
9705	if s.ControlId == nil {
9706		invalidParams.Add(request.NewErrParamRequired("ControlId"))
9707	}
9708	if s.ControlId != nil && len(*s.ControlId) < 36 {
9709		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
9710	}
9711
9712	if invalidParams.Len() > 0 {
9713		return invalidParams
9714	}
9715	return nil
9716}
9717
9718// SetControlId sets the ControlId field's value.
9719func (s *GetControlInput) SetControlId(v string) *GetControlInput {
9720	s.ControlId = &v
9721	return s
9722}
9723
9724type GetControlOutput struct {
9725	_ struct{} `type:"structure"`
9726
9727	// The name of the control returned by the GetControl API.
9728	Control *Control `locationName:"control" type:"structure"`
9729}
9730
9731// String returns the string representation
9732func (s GetControlOutput) String() string {
9733	return awsutil.Prettify(s)
9734}
9735
9736// GoString returns the string representation
9737func (s GetControlOutput) GoString() string {
9738	return s.String()
9739}
9740
9741// SetControl sets the Control field's value.
9742func (s *GetControlOutput) SetControl(v *Control) *GetControlOutput {
9743	s.Control = v
9744	return s
9745}
9746
9747type GetDelegationsInput struct {
9748	_ struct{} `type:"structure"`
9749
9750	// Represents the maximum number of results per page, or per API request call.
9751	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9752
9753	// The pagination token used to fetch the next set of results.
9754	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9755}
9756
9757// String returns the string representation
9758func (s GetDelegationsInput) String() string {
9759	return awsutil.Prettify(s)
9760}
9761
9762// GoString returns the string representation
9763func (s GetDelegationsInput) GoString() string {
9764	return s.String()
9765}
9766
9767// Validate inspects the fields of the type to determine if they are valid.
9768func (s *GetDelegationsInput) Validate() error {
9769	invalidParams := request.ErrInvalidParams{Context: "GetDelegationsInput"}
9770	if s.MaxResults != nil && *s.MaxResults < 1 {
9771		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9772	}
9773	if s.NextToken != nil && len(*s.NextToken) < 1 {
9774		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9775	}
9776
9777	if invalidParams.Len() > 0 {
9778		return invalidParams
9779	}
9780	return nil
9781}
9782
9783// SetMaxResults sets the MaxResults field's value.
9784func (s *GetDelegationsInput) SetMaxResults(v int64) *GetDelegationsInput {
9785	s.MaxResults = &v
9786	return s
9787}
9788
9789// SetNextToken sets the NextToken field's value.
9790func (s *GetDelegationsInput) SetNextToken(v string) *GetDelegationsInput {
9791	s.NextToken = &v
9792	return s
9793}
9794
9795type GetDelegationsOutput struct {
9796	_ struct{} `type:"structure"`
9797
9798	// The list of delegations returned by the GetDelegations API.
9799	Delegations []*DelegationMetadata `locationName:"delegations" type:"list"`
9800
9801	// The pagination token used to fetch the next set of results.
9802	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9803}
9804
9805// String returns the string representation
9806func (s GetDelegationsOutput) String() string {
9807	return awsutil.Prettify(s)
9808}
9809
9810// GoString returns the string representation
9811func (s GetDelegationsOutput) GoString() string {
9812	return s.String()
9813}
9814
9815// SetDelegations sets the Delegations field's value.
9816func (s *GetDelegationsOutput) SetDelegations(v []*DelegationMetadata) *GetDelegationsOutput {
9817	s.Delegations = v
9818	return s
9819}
9820
9821// SetNextToken sets the NextToken field's value.
9822func (s *GetDelegationsOutput) SetNextToken(v string) *GetDelegationsOutput {
9823	s.NextToken = &v
9824	return s
9825}
9826
9827type GetEvidenceByEvidenceFolderInput struct {
9828	_ struct{} `type:"structure"`
9829
9830	// The identifier for the specified assessment.
9831	//
9832	// AssessmentId is a required field
9833	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9834
9835	// The identifier for the control set.
9836	//
9837	// ControlSetId is a required field
9838	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
9839
9840	// The unique identifier for the folder in which the evidence is stored.
9841	//
9842	// EvidenceFolderId is a required field
9843	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
9844
9845	// Represents the maximum number of results per page, or per API request call.
9846	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9847
9848	// The pagination token used to fetch the next set of results.
9849	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
9850}
9851
9852// String returns the string representation
9853func (s GetEvidenceByEvidenceFolderInput) String() string {
9854	return awsutil.Prettify(s)
9855}
9856
9857// GoString returns the string representation
9858func (s GetEvidenceByEvidenceFolderInput) GoString() string {
9859	return s.String()
9860}
9861
9862// Validate inspects the fields of the type to determine if they are valid.
9863func (s *GetEvidenceByEvidenceFolderInput) Validate() error {
9864	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceByEvidenceFolderInput"}
9865	if s.AssessmentId == nil {
9866		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9867	}
9868	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9869		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9870	}
9871	if s.ControlSetId == nil {
9872		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
9873	}
9874	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
9875		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
9876	}
9877	if s.EvidenceFolderId == nil {
9878		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
9879	}
9880	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
9881		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
9882	}
9883	if s.MaxResults != nil && *s.MaxResults < 1 {
9884		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9885	}
9886	if s.NextToken != nil && len(*s.NextToken) < 1 {
9887		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9888	}
9889
9890	if invalidParams.Len() > 0 {
9891		return invalidParams
9892	}
9893	return nil
9894}
9895
9896// SetAssessmentId sets the AssessmentId field's value.
9897func (s *GetEvidenceByEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceByEvidenceFolderInput {
9898	s.AssessmentId = &v
9899	return s
9900}
9901
9902// SetControlSetId sets the ControlSetId field's value.
9903func (s *GetEvidenceByEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceByEvidenceFolderInput {
9904	s.ControlSetId = &v
9905	return s
9906}
9907
9908// SetEvidenceFolderId sets the EvidenceFolderId field's value.
9909func (s *GetEvidenceByEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceByEvidenceFolderInput {
9910	s.EvidenceFolderId = &v
9911	return s
9912}
9913
9914// SetMaxResults sets the MaxResults field's value.
9915func (s *GetEvidenceByEvidenceFolderInput) SetMaxResults(v int64) *GetEvidenceByEvidenceFolderInput {
9916	s.MaxResults = &v
9917	return s
9918}
9919
9920// SetNextToken sets the NextToken field's value.
9921func (s *GetEvidenceByEvidenceFolderInput) SetNextToken(v string) *GetEvidenceByEvidenceFolderInput {
9922	s.NextToken = &v
9923	return s
9924}
9925
9926type GetEvidenceByEvidenceFolderOutput struct {
9927	_ struct{} `type:"structure"`
9928
9929	// The list of evidence returned by the GetEvidenceByEvidenceFolder API.
9930	Evidence []*Evidence `locationName:"evidence" type:"list"`
9931
9932	// The pagination token used to fetch the next set of results.
9933	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9934}
9935
9936// String returns the string representation
9937func (s GetEvidenceByEvidenceFolderOutput) String() string {
9938	return awsutil.Prettify(s)
9939}
9940
9941// GoString returns the string representation
9942func (s GetEvidenceByEvidenceFolderOutput) GoString() string {
9943	return s.String()
9944}
9945
9946// SetEvidence sets the Evidence field's value.
9947func (s *GetEvidenceByEvidenceFolderOutput) SetEvidence(v []*Evidence) *GetEvidenceByEvidenceFolderOutput {
9948	s.Evidence = v
9949	return s
9950}
9951
9952// SetNextToken sets the NextToken field's value.
9953func (s *GetEvidenceByEvidenceFolderOutput) SetNextToken(v string) *GetEvidenceByEvidenceFolderOutput {
9954	s.NextToken = &v
9955	return s
9956}
9957
9958type GetEvidenceFolderInput struct {
9959	_ struct{} `type:"structure"`
9960
9961	// The identifier for the specified assessment.
9962	//
9963	// AssessmentId is a required field
9964	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
9965
9966	// The identifier for the specified control set.
9967	//
9968	// ControlSetId is a required field
9969	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
9970
9971	// The identifier for the folder in which the evidence is stored.
9972	//
9973	// EvidenceFolderId is a required field
9974	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
9975}
9976
9977// String returns the string representation
9978func (s GetEvidenceFolderInput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s GetEvidenceFolderInput) GoString() string {
9984	return s.String()
9985}
9986
9987// Validate inspects the fields of the type to determine if they are valid.
9988func (s *GetEvidenceFolderInput) Validate() error {
9989	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFolderInput"}
9990	if s.AssessmentId == nil {
9991		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
9992	}
9993	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
9994		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
9995	}
9996	if s.ControlSetId == nil {
9997		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
9998	}
9999	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10000		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10001	}
10002	if s.EvidenceFolderId == nil {
10003		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
10004	}
10005	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
10006		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
10007	}
10008
10009	if invalidParams.Len() > 0 {
10010		return invalidParams
10011	}
10012	return nil
10013}
10014
10015// SetAssessmentId sets the AssessmentId field's value.
10016func (s *GetEvidenceFolderInput) SetAssessmentId(v string) *GetEvidenceFolderInput {
10017	s.AssessmentId = &v
10018	return s
10019}
10020
10021// SetControlSetId sets the ControlSetId field's value.
10022func (s *GetEvidenceFolderInput) SetControlSetId(v string) *GetEvidenceFolderInput {
10023	s.ControlSetId = &v
10024	return s
10025}
10026
10027// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10028func (s *GetEvidenceFolderInput) SetEvidenceFolderId(v string) *GetEvidenceFolderInput {
10029	s.EvidenceFolderId = &v
10030	return s
10031}
10032
10033type GetEvidenceFolderOutput struct {
10034	_ struct{} `type:"structure"`
10035
10036	// The folder in which evidence is stored.
10037	EvidenceFolder *AssessmentEvidenceFolder `locationName:"evidenceFolder" type:"structure"`
10038}
10039
10040// String returns the string representation
10041func (s GetEvidenceFolderOutput) String() string {
10042	return awsutil.Prettify(s)
10043}
10044
10045// GoString returns the string representation
10046func (s GetEvidenceFolderOutput) GoString() string {
10047	return s.String()
10048}
10049
10050// SetEvidenceFolder sets the EvidenceFolder field's value.
10051func (s *GetEvidenceFolderOutput) SetEvidenceFolder(v *AssessmentEvidenceFolder) *GetEvidenceFolderOutput {
10052	s.EvidenceFolder = v
10053	return s
10054}
10055
10056type GetEvidenceFoldersByAssessmentControlInput struct {
10057	_ struct{} `type:"structure"`
10058
10059	// The identifier for the specified assessment.
10060	//
10061	// AssessmentId is a required field
10062	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10063
10064	// The identifier for the specified control.
10065	//
10066	// ControlId is a required field
10067	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
10068
10069	// The identifier for the specified control set.
10070	//
10071	// ControlSetId is a required field
10072	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
10073
10074	// Represents the maximum number of results per page, or per API request call.
10075	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10076
10077	// The pagination token used to fetch the next set of results.
10078	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10079}
10080
10081// String returns the string representation
10082func (s GetEvidenceFoldersByAssessmentControlInput) String() string {
10083	return awsutil.Prettify(s)
10084}
10085
10086// GoString returns the string representation
10087func (s GetEvidenceFoldersByAssessmentControlInput) GoString() string {
10088	return s.String()
10089}
10090
10091// Validate inspects the fields of the type to determine if they are valid.
10092func (s *GetEvidenceFoldersByAssessmentControlInput) Validate() error {
10093	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentControlInput"}
10094	if s.AssessmentId == nil {
10095		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10096	}
10097	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10098		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10099	}
10100	if s.ControlId == nil {
10101		invalidParams.Add(request.NewErrParamRequired("ControlId"))
10102	}
10103	if s.ControlId != nil && len(*s.ControlId) < 36 {
10104		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
10105	}
10106	if s.ControlSetId == nil {
10107		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
10108	}
10109	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10110		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10111	}
10112	if s.MaxResults != nil && *s.MaxResults < 1 {
10113		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10114	}
10115	if s.NextToken != nil && len(*s.NextToken) < 1 {
10116		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10117	}
10118
10119	if invalidParams.Len() > 0 {
10120		return invalidParams
10121	}
10122	return nil
10123}
10124
10125// SetAssessmentId sets the AssessmentId field's value.
10126func (s *GetEvidenceFoldersByAssessmentControlInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10127	s.AssessmentId = &v
10128	return s
10129}
10130
10131// SetControlId sets the ControlId field's value.
10132func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10133	s.ControlId = &v
10134	return s
10135}
10136
10137// SetControlSetId sets the ControlSetId field's value.
10138func (s *GetEvidenceFoldersByAssessmentControlInput) SetControlSetId(v string) *GetEvidenceFoldersByAssessmentControlInput {
10139	s.ControlSetId = &v
10140	return s
10141}
10142
10143// SetMaxResults sets the MaxResults field's value.
10144func (s *GetEvidenceFoldersByAssessmentControlInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentControlInput {
10145	s.MaxResults = &v
10146	return s
10147}
10148
10149// SetNextToken sets the NextToken field's value.
10150func (s *GetEvidenceFoldersByAssessmentControlInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlInput {
10151	s.NextToken = &v
10152	return s
10153}
10154
10155type GetEvidenceFoldersByAssessmentControlOutput struct {
10156	_ struct{} `type:"structure"`
10157
10158	// The list of evidence folders returned by the GetEvidenceFoldersByAssessmentControl
10159	// API.
10160	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
10161
10162	// The pagination token used to fetch the next set of results.
10163	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10164}
10165
10166// String returns the string representation
10167func (s GetEvidenceFoldersByAssessmentControlOutput) String() string {
10168	return awsutil.Prettify(s)
10169}
10170
10171// GoString returns the string representation
10172func (s GetEvidenceFoldersByAssessmentControlOutput) GoString() string {
10173	return s.String()
10174}
10175
10176// SetEvidenceFolders sets the EvidenceFolders field's value.
10177func (s *GetEvidenceFoldersByAssessmentControlOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentControlOutput {
10178	s.EvidenceFolders = v
10179	return s
10180}
10181
10182// SetNextToken sets the NextToken field's value.
10183func (s *GetEvidenceFoldersByAssessmentControlOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentControlOutput {
10184	s.NextToken = &v
10185	return s
10186}
10187
10188type GetEvidenceFoldersByAssessmentInput struct {
10189	_ struct{} `type:"structure"`
10190
10191	// The identifier for the specified assessment.
10192	//
10193	// AssessmentId is a required field
10194	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10195
10196	// Represents the maximum number of results per page, or per API request call.
10197	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10198
10199	// The pagination token used to fetch the next set of results.
10200	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10201}
10202
10203// String returns the string representation
10204func (s GetEvidenceFoldersByAssessmentInput) String() string {
10205	return awsutil.Prettify(s)
10206}
10207
10208// GoString returns the string representation
10209func (s GetEvidenceFoldersByAssessmentInput) GoString() string {
10210	return s.String()
10211}
10212
10213// Validate inspects the fields of the type to determine if they are valid.
10214func (s *GetEvidenceFoldersByAssessmentInput) Validate() error {
10215	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceFoldersByAssessmentInput"}
10216	if s.AssessmentId == nil {
10217		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10218	}
10219	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10220		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10221	}
10222	if s.MaxResults != nil && *s.MaxResults < 1 {
10223		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10224	}
10225	if s.NextToken != nil && len(*s.NextToken) < 1 {
10226		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10227	}
10228
10229	if invalidParams.Len() > 0 {
10230		return invalidParams
10231	}
10232	return nil
10233}
10234
10235// SetAssessmentId sets the AssessmentId field's value.
10236func (s *GetEvidenceFoldersByAssessmentInput) SetAssessmentId(v string) *GetEvidenceFoldersByAssessmentInput {
10237	s.AssessmentId = &v
10238	return s
10239}
10240
10241// SetMaxResults sets the MaxResults field's value.
10242func (s *GetEvidenceFoldersByAssessmentInput) SetMaxResults(v int64) *GetEvidenceFoldersByAssessmentInput {
10243	s.MaxResults = &v
10244	return s
10245}
10246
10247// SetNextToken sets the NextToken field's value.
10248func (s *GetEvidenceFoldersByAssessmentInput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentInput {
10249	s.NextToken = &v
10250	return s
10251}
10252
10253type GetEvidenceFoldersByAssessmentOutput struct {
10254	_ struct{} `type:"structure"`
10255
10256	// The list of evidence folders returned by the GetEvidenceFoldersByAssessment
10257	// API.
10258	EvidenceFolders []*AssessmentEvidenceFolder `locationName:"evidenceFolders" type:"list"`
10259
10260	// The pagination token used to fetch the next set of results.
10261	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10262}
10263
10264// String returns the string representation
10265func (s GetEvidenceFoldersByAssessmentOutput) String() string {
10266	return awsutil.Prettify(s)
10267}
10268
10269// GoString returns the string representation
10270func (s GetEvidenceFoldersByAssessmentOutput) GoString() string {
10271	return s.String()
10272}
10273
10274// SetEvidenceFolders sets the EvidenceFolders field's value.
10275func (s *GetEvidenceFoldersByAssessmentOutput) SetEvidenceFolders(v []*AssessmentEvidenceFolder) *GetEvidenceFoldersByAssessmentOutput {
10276	s.EvidenceFolders = v
10277	return s
10278}
10279
10280// SetNextToken sets the NextToken field's value.
10281func (s *GetEvidenceFoldersByAssessmentOutput) SetNextToken(v string) *GetEvidenceFoldersByAssessmentOutput {
10282	s.NextToken = &v
10283	return s
10284}
10285
10286type GetEvidenceInput struct {
10287	_ struct{} `type:"structure"`
10288
10289	// The identifier for the specified assessment.
10290	//
10291	// AssessmentId is a required field
10292	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
10293
10294	// The identifier for the specified control set.
10295	//
10296	// ControlSetId is a required field
10297	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
10298
10299	// The identifier for the folder in which the evidence is stored.
10300	//
10301	// EvidenceFolderId is a required field
10302	EvidenceFolderId *string `location:"uri" locationName:"evidenceFolderId" min:"36" type:"string" required:"true"`
10303
10304	// The identifier for the evidence.
10305	//
10306	// EvidenceId is a required field
10307	EvidenceId *string `location:"uri" locationName:"evidenceId" min:"36" type:"string" required:"true"`
10308}
10309
10310// String returns the string representation
10311func (s GetEvidenceInput) String() string {
10312	return awsutil.Prettify(s)
10313}
10314
10315// GoString returns the string representation
10316func (s GetEvidenceInput) GoString() string {
10317	return s.String()
10318}
10319
10320// Validate inspects the fields of the type to determine if they are valid.
10321func (s *GetEvidenceInput) Validate() error {
10322	invalidParams := request.ErrInvalidParams{Context: "GetEvidenceInput"}
10323	if s.AssessmentId == nil {
10324		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
10325	}
10326	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
10327		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
10328	}
10329	if s.ControlSetId == nil {
10330		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
10331	}
10332	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
10333		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
10334	}
10335	if s.EvidenceFolderId == nil {
10336		invalidParams.Add(request.NewErrParamRequired("EvidenceFolderId"))
10337	}
10338	if s.EvidenceFolderId != nil && len(*s.EvidenceFolderId) < 36 {
10339		invalidParams.Add(request.NewErrParamMinLen("EvidenceFolderId", 36))
10340	}
10341	if s.EvidenceId == nil {
10342		invalidParams.Add(request.NewErrParamRequired("EvidenceId"))
10343	}
10344	if s.EvidenceId != nil && len(*s.EvidenceId) < 36 {
10345		invalidParams.Add(request.NewErrParamMinLen("EvidenceId", 36))
10346	}
10347
10348	if invalidParams.Len() > 0 {
10349		return invalidParams
10350	}
10351	return nil
10352}
10353
10354// SetAssessmentId sets the AssessmentId field's value.
10355func (s *GetEvidenceInput) SetAssessmentId(v string) *GetEvidenceInput {
10356	s.AssessmentId = &v
10357	return s
10358}
10359
10360// SetControlSetId sets the ControlSetId field's value.
10361func (s *GetEvidenceInput) SetControlSetId(v string) *GetEvidenceInput {
10362	s.ControlSetId = &v
10363	return s
10364}
10365
10366// SetEvidenceFolderId sets the EvidenceFolderId field's value.
10367func (s *GetEvidenceInput) SetEvidenceFolderId(v string) *GetEvidenceInput {
10368	s.EvidenceFolderId = &v
10369	return s
10370}
10371
10372// SetEvidenceId sets the EvidenceId field's value.
10373func (s *GetEvidenceInput) SetEvidenceId(v string) *GetEvidenceInput {
10374	s.EvidenceId = &v
10375	return s
10376}
10377
10378type GetEvidenceOutput struct {
10379	_ struct{} `type:"structure"`
10380
10381	// The evidence returned by the GetEvidenceResponse API.
10382	Evidence *Evidence `locationName:"evidence" type:"structure"`
10383}
10384
10385// String returns the string representation
10386func (s GetEvidenceOutput) String() string {
10387	return awsutil.Prettify(s)
10388}
10389
10390// GoString returns the string representation
10391func (s GetEvidenceOutput) GoString() string {
10392	return s.String()
10393}
10394
10395// SetEvidence sets the Evidence field's value.
10396func (s *GetEvidenceOutput) SetEvidence(v *Evidence) *GetEvidenceOutput {
10397	s.Evidence = v
10398	return s
10399}
10400
10401type GetOrganizationAdminAccountInput struct {
10402	_ struct{} `type:"structure"`
10403}
10404
10405// String returns the string representation
10406func (s GetOrganizationAdminAccountInput) String() string {
10407	return awsutil.Prettify(s)
10408}
10409
10410// GoString returns the string representation
10411func (s GetOrganizationAdminAccountInput) GoString() string {
10412	return s.String()
10413}
10414
10415type GetOrganizationAdminAccountOutput struct {
10416	_ struct{} `type:"structure"`
10417
10418	// The identifier for the specified administrator account.
10419	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
10420
10421	// The identifier for the specified organization.
10422	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
10423}
10424
10425// String returns the string representation
10426func (s GetOrganizationAdminAccountOutput) String() string {
10427	return awsutil.Prettify(s)
10428}
10429
10430// GoString returns the string representation
10431func (s GetOrganizationAdminAccountOutput) GoString() string {
10432	return s.String()
10433}
10434
10435// SetAdminAccountId sets the AdminAccountId field's value.
10436func (s *GetOrganizationAdminAccountOutput) SetAdminAccountId(v string) *GetOrganizationAdminAccountOutput {
10437	s.AdminAccountId = &v
10438	return s
10439}
10440
10441// SetOrganizationId sets the OrganizationId field's value.
10442func (s *GetOrganizationAdminAccountOutput) SetOrganizationId(v string) *GetOrganizationAdminAccountOutput {
10443	s.OrganizationId = &v
10444	return s
10445}
10446
10447type GetServicesInScopeInput struct {
10448	_ struct{} `type:"structure"`
10449}
10450
10451// String returns the string representation
10452func (s GetServicesInScopeInput) String() string {
10453	return awsutil.Prettify(s)
10454}
10455
10456// GoString returns the string representation
10457func (s GetServicesInScopeInput) GoString() string {
10458	return s.String()
10459}
10460
10461type GetServicesInScopeOutput struct {
10462	_ struct{} `type:"structure"`
10463
10464	// The metadata associated with the aAWS service.
10465	ServiceMetadata []*ServiceMetadata `locationName:"serviceMetadata" type:"list"`
10466}
10467
10468// String returns the string representation
10469func (s GetServicesInScopeOutput) String() string {
10470	return awsutil.Prettify(s)
10471}
10472
10473// GoString returns the string representation
10474func (s GetServicesInScopeOutput) GoString() string {
10475	return s.String()
10476}
10477
10478// SetServiceMetadata sets the ServiceMetadata field's value.
10479func (s *GetServicesInScopeOutput) SetServiceMetadata(v []*ServiceMetadata) *GetServicesInScopeOutput {
10480	s.ServiceMetadata = v
10481	return s
10482}
10483
10484type GetSettingsInput struct {
10485	_ struct{} `type:"structure"`
10486
10487	// The list of SettingAttribute enum values.
10488	//
10489	// Attribute is a required field
10490	Attribute *string `location:"uri" locationName:"attribute" type:"string" required:"true" enum:"SettingAttribute"`
10491}
10492
10493// String returns the string representation
10494func (s GetSettingsInput) String() string {
10495	return awsutil.Prettify(s)
10496}
10497
10498// GoString returns the string representation
10499func (s GetSettingsInput) GoString() string {
10500	return s.String()
10501}
10502
10503// Validate inspects the fields of the type to determine if they are valid.
10504func (s *GetSettingsInput) Validate() error {
10505	invalidParams := request.ErrInvalidParams{Context: "GetSettingsInput"}
10506	if s.Attribute == nil {
10507		invalidParams.Add(request.NewErrParamRequired("Attribute"))
10508	}
10509	if s.Attribute != nil && len(*s.Attribute) < 1 {
10510		invalidParams.Add(request.NewErrParamMinLen("Attribute", 1))
10511	}
10512
10513	if invalidParams.Len() > 0 {
10514		return invalidParams
10515	}
10516	return nil
10517}
10518
10519// SetAttribute sets the Attribute field's value.
10520func (s *GetSettingsInput) SetAttribute(v string) *GetSettingsInput {
10521	s.Attribute = &v
10522	return s
10523}
10524
10525type GetSettingsOutput struct {
10526	_ struct{} `type:"structure"`
10527
10528	// The settings object that holds all supported AWS Audit Manager settings.
10529	Settings *Settings `locationName:"settings" type:"structure"`
10530}
10531
10532// String returns the string representation
10533func (s GetSettingsOutput) String() string {
10534	return awsutil.Prettify(s)
10535}
10536
10537// GoString returns the string representation
10538func (s GetSettingsOutput) GoString() string {
10539	return s.String()
10540}
10541
10542// SetSettings sets the Settings field's value.
10543func (s *GetSettingsOutput) SetSettings(v *Settings) *GetSettingsOutput {
10544	s.Settings = v
10545	return s
10546}
10547
10548// An internal service error occurred during the processing of your request.
10549// Try again later.
10550type InternalServerException struct {
10551	_            struct{}                  `type:"structure"`
10552	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10553
10554	Message_ *string `locationName:"message" type:"string"`
10555}
10556
10557// String returns the string representation
10558func (s InternalServerException) String() string {
10559	return awsutil.Prettify(s)
10560}
10561
10562// GoString returns the string representation
10563func (s InternalServerException) GoString() string {
10564	return s.String()
10565}
10566
10567func newErrorInternalServerException(v protocol.ResponseMetadata) error {
10568	return &InternalServerException{
10569		RespMetadata: v,
10570	}
10571}
10572
10573// Code returns the exception type name.
10574func (s *InternalServerException) Code() string {
10575	return "InternalServerException"
10576}
10577
10578// Message returns the exception's message.
10579func (s *InternalServerException) Message() string {
10580	if s.Message_ != nil {
10581		return *s.Message_
10582	}
10583	return ""
10584}
10585
10586// OrigErr always returns nil, satisfies awserr.Error interface.
10587func (s *InternalServerException) OrigErr() error {
10588	return nil
10589}
10590
10591func (s *InternalServerException) Error() string {
10592	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10593}
10594
10595// Status code returns the HTTP status code for the request's response error.
10596func (s *InternalServerException) StatusCode() int {
10597	return s.RespMetadata.StatusCode
10598}
10599
10600// RequestID returns the service's response RequestID for request.
10601func (s *InternalServerException) RequestID() string {
10602	return s.RespMetadata.RequestID
10603}
10604
10605type ListAssessmentFrameworksInput struct {
10606	_ struct{} `type:"structure"`
10607
10608	// The type of framework, such as standard or custom.
10609	//
10610	// FrameworkType is a required field
10611	FrameworkType *string `location:"querystring" locationName:"frameworkType" type:"string" required:"true" enum:"FrameworkType"`
10612
10613	// Represents the maximum number of results per page, or per API request call.
10614	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10615
10616	// The pagination token used to fetch the next set of results.
10617	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10618}
10619
10620// String returns the string representation
10621func (s ListAssessmentFrameworksInput) String() string {
10622	return awsutil.Prettify(s)
10623}
10624
10625// GoString returns the string representation
10626func (s ListAssessmentFrameworksInput) GoString() string {
10627	return s.String()
10628}
10629
10630// Validate inspects the fields of the type to determine if they are valid.
10631func (s *ListAssessmentFrameworksInput) Validate() error {
10632	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentFrameworksInput"}
10633	if s.FrameworkType == nil {
10634		invalidParams.Add(request.NewErrParamRequired("FrameworkType"))
10635	}
10636	if s.MaxResults != nil && *s.MaxResults < 1 {
10637		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10638	}
10639	if s.NextToken != nil && len(*s.NextToken) < 1 {
10640		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10641	}
10642
10643	if invalidParams.Len() > 0 {
10644		return invalidParams
10645	}
10646	return nil
10647}
10648
10649// SetFrameworkType sets the FrameworkType field's value.
10650func (s *ListAssessmentFrameworksInput) SetFrameworkType(v string) *ListAssessmentFrameworksInput {
10651	s.FrameworkType = &v
10652	return s
10653}
10654
10655// SetMaxResults sets the MaxResults field's value.
10656func (s *ListAssessmentFrameworksInput) SetMaxResults(v int64) *ListAssessmentFrameworksInput {
10657	s.MaxResults = &v
10658	return s
10659}
10660
10661// SetNextToken sets the NextToken field's value.
10662func (s *ListAssessmentFrameworksInput) SetNextToken(v string) *ListAssessmentFrameworksInput {
10663	s.NextToken = &v
10664	return s
10665}
10666
10667type ListAssessmentFrameworksOutput struct {
10668	_ struct{} `type:"structure"`
10669
10670	// The list of metadata objects for the specified framework.
10671	FrameworkMetadataList []*AssessmentFrameworkMetadata `locationName:"frameworkMetadataList" type:"list"`
10672
10673	// The pagination token used to fetch the next set of results.
10674	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10675}
10676
10677// String returns the string representation
10678func (s ListAssessmentFrameworksOutput) String() string {
10679	return awsutil.Prettify(s)
10680}
10681
10682// GoString returns the string representation
10683func (s ListAssessmentFrameworksOutput) GoString() string {
10684	return s.String()
10685}
10686
10687// SetFrameworkMetadataList sets the FrameworkMetadataList field's value.
10688func (s *ListAssessmentFrameworksOutput) SetFrameworkMetadataList(v []*AssessmentFrameworkMetadata) *ListAssessmentFrameworksOutput {
10689	s.FrameworkMetadataList = v
10690	return s
10691}
10692
10693// SetNextToken sets the NextToken field's value.
10694func (s *ListAssessmentFrameworksOutput) SetNextToken(v string) *ListAssessmentFrameworksOutput {
10695	s.NextToken = &v
10696	return s
10697}
10698
10699type ListAssessmentReportsInput struct {
10700	_ struct{} `type:"structure"`
10701
10702	// Represents the maximum number of results per page, or per API request call.
10703	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10704
10705	// The pagination token used to fetch the next set of results.
10706	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10707}
10708
10709// String returns the string representation
10710func (s ListAssessmentReportsInput) String() string {
10711	return awsutil.Prettify(s)
10712}
10713
10714// GoString returns the string representation
10715func (s ListAssessmentReportsInput) GoString() string {
10716	return s.String()
10717}
10718
10719// Validate inspects the fields of the type to determine if they are valid.
10720func (s *ListAssessmentReportsInput) Validate() error {
10721	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentReportsInput"}
10722	if s.MaxResults != nil && *s.MaxResults < 1 {
10723		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10724	}
10725	if s.NextToken != nil && len(*s.NextToken) < 1 {
10726		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10727	}
10728
10729	if invalidParams.Len() > 0 {
10730		return invalidParams
10731	}
10732	return nil
10733}
10734
10735// SetMaxResults sets the MaxResults field's value.
10736func (s *ListAssessmentReportsInput) SetMaxResults(v int64) *ListAssessmentReportsInput {
10737	s.MaxResults = &v
10738	return s
10739}
10740
10741// SetNextToken sets the NextToken field's value.
10742func (s *ListAssessmentReportsInput) SetNextToken(v string) *ListAssessmentReportsInput {
10743	s.NextToken = &v
10744	return s
10745}
10746
10747type ListAssessmentReportsOutput struct {
10748	_ struct{} `type:"structure"`
10749
10750	// The list of assessment reports returned by the ListAssessmentReports API.
10751	AssessmentReports []*AssessmentReportMetadata `locationName:"assessmentReports" type:"list"`
10752
10753	// The pagination token used to fetch the next set of results.
10754	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10755}
10756
10757// String returns the string representation
10758func (s ListAssessmentReportsOutput) String() string {
10759	return awsutil.Prettify(s)
10760}
10761
10762// GoString returns the string representation
10763func (s ListAssessmentReportsOutput) GoString() string {
10764	return s.String()
10765}
10766
10767// SetAssessmentReports sets the AssessmentReports field's value.
10768func (s *ListAssessmentReportsOutput) SetAssessmentReports(v []*AssessmentReportMetadata) *ListAssessmentReportsOutput {
10769	s.AssessmentReports = v
10770	return s
10771}
10772
10773// SetNextToken sets the NextToken field's value.
10774func (s *ListAssessmentReportsOutput) SetNextToken(v string) *ListAssessmentReportsOutput {
10775	s.NextToken = &v
10776	return s
10777}
10778
10779type ListAssessmentsInput struct {
10780	_ struct{} `type:"structure"`
10781
10782	// Represents the maximum number of results per page, or per API request call.
10783	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10784
10785	// The pagination token used to fetch the next set of results.
10786	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10787}
10788
10789// String returns the string representation
10790func (s ListAssessmentsInput) String() string {
10791	return awsutil.Prettify(s)
10792}
10793
10794// GoString returns the string representation
10795func (s ListAssessmentsInput) GoString() string {
10796	return s.String()
10797}
10798
10799// Validate inspects the fields of the type to determine if they are valid.
10800func (s *ListAssessmentsInput) Validate() error {
10801	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentsInput"}
10802	if s.MaxResults != nil && *s.MaxResults < 1 {
10803		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10804	}
10805	if s.NextToken != nil && len(*s.NextToken) < 1 {
10806		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10807	}
10808
10809	if invalidParams.Len() > 0 {
10810		return invalidParams
10811	}
10812	return nil
10813}
10814
10815// SetMaxResults sets the MaxResults field's value.
10816func (s *ListAssessmentsInput) SetMaxResults(v int64) *ListAssessmentsInput {
10817	s.MaxResults = &v
10818	return s
10819}
10820
10821// SetNextToken sets the NextToken field's value.
10822func (s *ListAssessmentsInput) SetNextToken(v string) *ListAssessmentsInput {
10823	s.NextToken = &v
10824	return s
10825}
10826
10827type ListAssessmentsOutput struct {
10828	_ struct{} `type:"structure"`
10829
10830	// The metadata associated with the assessment.
10831	AssessmentMetadata []*AssessmentMetadataItem `locationName:"assessmentMetadata" type:"list"`
10832
10833	// The pagination token used to fetch the next set of results.
10834	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10835}
10836
10837// String returns the string representation
10838func (s ListAssessmentsOutput) String() string {
10839	return awsutil.Prettify(s)
10840}
10841
10842// GoString returns the string representation
10843func (s ListAssessmentsOutput) GoString() string {
10844	return s.String()
10845}
10846
10847// SetAssessmentMetadata sets the AssessmentMetadata field's value.
10848func (s *ListAssessmentsOutput) SetAssessmentMetadata(v []*AssessmentMetadataItem) *ListAssessmentsOutput {
10849	s.AssessmentMetadata = v
10850	return s
10851}
10852
10853// SetNextToken sets the NextToken field's value.
10854func (s *ListAssessmentsOutput) SetNextToken(v string) *ListAssessmentsOutput {
10855	s.NextToken = &v
10856	return s
10857}
10858
10859type ListControlsInput struct {
10860	_ struct{} `type:"structure"`
10861
10862	// The type of control, such as standard or custom.
10863	//
10864	// ControlType is a required field
10865	ControlType *string `location:"querystring" locationName:"controlType" type:"string" required:"true" enum:"ControlType"`
10866
10867	// Represents the maximum number of results per page, or per API request call.
10868	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10869
10870	// The pagination token used to fetch the next set of results.
10871	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10872}
10873
10874// String returns the string representation
10875func (s ListControlsInput) String() string {
10876	return awsutil.Prettify(s)
10877}
10878
10879// GoString returns the string representation
10880func (s ListControlsInput) GoString() string {
10881	return s.String()
10882}
10883
10884// Validate inspects the fields of the type to determine if they are valid.
10885func (s *ListControlsInput) Validate() error {
10886	invalidParams := request.ErrInvalidParams{Context: "ListControlsInput"}
10887	if s.ControlType == nil {
10888		invalidParams.Add(request.NewErrParamRequired("ControlType"))
10889	}
10890	if s.MaxResults != nil && *s.MaxResults < 1 {
10891		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10892	}
10893	if s.NextToken != nil && len(*s.NextToken) < 1 {
10894		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10895	}
10896
10897	if invalidParams.Len() > 0 {
10898		return invalidParams
10899	}
10900	return nil
10901}
10902
10903// SetControlType sets the ControlType field's value.
10904func (s *ListControlsInput) SetControlType(v string) *ListControlsInput {
10905	s.ControlType = &v
10906	return s
10907}
10908
10909// SetMaxResults sets the MaxResults field's value.
10910func (s *ListControlsInput) SetMaxResults(v int64) *ListControlsInput {
10911	s.MaxResults = &v
10912	return s
10913}
10914
10915// SetNextToken sets the NextToken field's value.
10916func (s *ListControlsInput) SetNextToken(v string) *ListControlsInput {
10917	s.NextToken = &v
10918	return s
10919}
10920
10921type ListControlsOutput struct {
10922	_ struct{} `type:"structure"`
10923
10924	// The list of control metadata objects returned by the ListControls API.
10925	ControlMetadataList []*ControlMetadata `locationName:"controlMetadataList" type:"list"`
10926
10927	// The pagination token used to fetch the next set of results.
10928	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
10929}
10930
10931// String returns the string representation
10932func (s ListControlsOutput) String() string {
10933	return awsutil.Prettify(s)
10934}
10935
10936// GoString returns the string representation
10937func (s ListControlsOutput) GoString() string {
10938	return s.String()
10939}
10940
10941// SetControlMetadataList sets the ControlMetadataList field's value.
10942func (s *ListControlsOutput) SetControlMetadataList(v []*ControlMetadata) *ListControlsOutput {
10943	s.ControlMetadataList = v
10944	return s
10945}
10946
10947// SetNextToken sets the NextToken field's value.
10948func (s *ListControlsOutput) SetNextToken(v string) *ListControlsOutput {
10949	s.NextToken = &v
10950	return s
10951}
10952
10953type ListKeywordsForDataSourceInput struct {
10954	_ struct{} `type:"structure"`
10955
10956	// Represents the maximum number of results per page, or per API request call.
10957	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10958
10959	// The pagination token used to fetch the next set of results.
10960	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
10961
10962	// The control mapping data source to which the keywords apply.
10963	//
10964	// Source is a required field
10965	Source *string `location:"querystring" locationName:"source" type:"string" required:"true" enum:"SourceType"`
10966}
10967
10968// String returns the string representation
10969func (s ListKeywordsForDataSourceInput) String() string {
10970	return awsutil.Prettify(s)
10971}
10972
10973// GoString returns the string representation
10974func (s ListKeywordsForDataSourceInput) GoString() string {
10975	return s.String()
10976}
10977
10978// Validate inspects the fields of the type to determine if they are valid.
10979func (s *ListKeywordsForDataSourceInput) Validate() error {
10980	invalidParams := request.ErrInvalidParams{Context: "ListKeywordsForDataSourceInput"}
10981	if s.MaxResults != nil && *s.MaxResults < 1 {
10982		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10983	}
10984	if s.NextToken != nil && len(*s.NextToken) < 1 {
10985		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10986	}
10987	if s.Source == nil {
10988		invalidParams.Add(request.NewErrParamRequired("Source"))
10989	}
10990
10991	if invalidParams.Len() > 0 {
10992		return invalidParams
10993	}
10994	return nil
10995}
10996
10997// SetMaxResults sets the MaxResults field's value.
10998func (s *ListKeywordsForDataSourceInput) SetMaxResults(v int64) *ListKeywordsForDataSourceInput {
10999	s.MaxResults = &v
11000	return s
11001}
11002
11003// SetNextToken sets the NextToken field's value.
11004func (s *ListKeywordsForDataSourceInput) SetNextToken(v string) *ListKeywordsForDataSourceInput {
11005	s.NextToken = &v
11006	return s
11007}
11008
11009// SetSource sets the Source field's value.
11010func (s *ListKeywordsForDataSourceInput) SetSource(v string) *ListKeywordsForDataSourceInput {
11011	s.Source = &v
11012	return s
11013}
11014
11015type ListKeywordsForDataSourceOutput struct {
11016	_ struct{} `type:"structure"`
11017
11018	// The list of keywords for the specified event mapping source.
11019	Keywords []*string `locationName:"keywords" type:"list"`
11020
11021	// The pagination token used to fetch the next set of results.
11022	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11023}
11024
11025// String returns the string representation
11026func (s ListKeywordsForDataSourceOutput) String() string {
11027	return awsutil.Prettify(s)
11028}
11029
11030// GoString returns the string representation
11031func (s ListKeywordsForDataSourceOutput) GoString() string {
11032	return s.String()
11033}
11034
11035// SetKeywords sets the Keywords field's value.
11036func (s *ListKeywordsForDataSourceOutput) SetKeywords(v []*string) *ListKeywordsForDataSourceOutput {
11037	s.Keywords = v
11038	return s
11039}
11040
11041// SetNextToken sets the NextToken field's value.
11042func (s *ListKeywordsForDataSourceOutput) SetNextToken(v string) *ListKeywordsForDataSourceOutput {
11043	s.NextToken = &v
11044	return s
11045}
11046
11047type ListNotificationsInput struct {
11048	_ struct{} `type:"structure"`
11049
11050	// Represents the maximum number of results per page, or per API request call.
11051	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11052
11053	// The pagination token used to fetch the next set of results.
11054	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11055}
11056
11057// String returns the string representation
11058func (s ListNotificationsInput) String() string {
11059	return awsutil.Prettify(s)
11060}
11061
11062// GoString returns the string representation
11063func (s ListNotificationsInput) GoString() string {
11064	return s.String()
11065}
11066
11067// Validate inspects the fields of the type to determine if they are valid.
11068func (s *ListNotificationsInput) Validate() error {
11069	invalidParams := request.ErrInvalidParams{Context: "ListNotificationsInput"}
11070	if s.MaxResults != nil && *s.MaxResults < 1 {
11071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11072	}
11073	if s.NextToken != nil && len(*s.NextToken) < 1 {
11074		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11075	}
11076
11077	if invalidParams.Len() > 0 {
11078		return invalidParams
11079	}
11080	return nil
11081}
11082
11083// SetMaxResults sets the MaxResults field's value.
11084func (s *ListNotificationsInput) SetMaxResults(v int64) *ListNotificationsInput {
11085	s.MaxResults = &v
11086	return s
11087}
11088
11089// SetNextToken sets the NextToken field's value.
11090func (s *ListNotificationsInput) SetNextToken(v string) *ListNotificationsInput {
11091	s.NextToken = &v
11092	return s
11093}
11094
11095type ListNotificationsOutput struct {
11096	_ struct{} `type:"structure"`
11097
11098	// The pagination token used to fetch the next set of results.
11099	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11100
11101	// The returned list of notifications.
11102	Notifications []*Notification `locationName:"notifications" type:"list"`
11103}
11104
11105// String returns the string representation
11106func (s ListNotificationsOutput) String() string {
11107	return awsutil.Prettify(s)
11108}
11109
11110// GoString returns the string representation
11111func (s ListNotificationsOutput) GoString() string {
11112	return s.String()
11113}
11114
11115// SetNextToken sets the NextToken field's value.
11116func (s *ListNotificationsOutput) SetNextToken(v string) *ListNotificationsOutput {
11117	s.NextToken = &v
11118	return s
11119}
11120
11121// SetNotifications sets the Notifications field's value.
11122func (s *ListNotificationsOutput) SetNotifications(v []*Notification) *ListNotificationsOutput {
11123	s.Notifications = v
11124	return s
11125}
11126
11127type ListTagsForResourceInput struct {
11128	_ struct{} `type:"structure"`
11129
11130	// The Amazon Resource Name (ARN) of the specified resource.
11131	//
11132	// ResourceArn is a required field
11133	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
11134}
11135
11136// String returns the string representation
11137func (s ListTagsForResourceInput) String() string {
11138	return awsutil.Prettify(s)
11139}
11140
11141// GoString returns the string representation
11142func (s ListTagsForResourceInput) GoString() string {
11143	return s.String()
11144}
11145
11146// Validate inspects the fields of the type to determine if they are valid.
11147func (s *ListTagsForResourceInput) Validate() error {
11148	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11149	if s.ResourceArn == nil {
11150		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11151	}
11152	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
11153		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
11154	}
11155
11156	if invalidParams.Len() > 0 {
11157		return invalidParams
11158	}
11159	return nil
11160}
11161
11162// SetResourceArn sets the ResourceArn field's value.
11163func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
11164	s.ResourceArn = &v
11165	return s
11166}
11167
11168type ListTagsForResourceOutput struct {
11169	_ struct{} `type:"structure"`
11170
11171	// The list of tags returned by the ListTagsForResource API.
11172	Tags map[string]*string `locationName:"tags" type:"map"`
11173}
11174
11175// String returns the string representation
11176func (s ListTagsForResourceOutput) String() string {
11177	return awsutil.Prettify(s)
11178}
11179
11180// GoString returns the string representation
11181func (s ListTagsForResourceOutput) GoString() string {
11182	return s.String()
11183}
11184
11185// SetTags sets the Tags field's value.
11186func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
11187	s.Tags = v
11188	return s
11189}
11190
11191// Evidence that is uploaded to AWS Audit Manager manually.
11192type ManualEvidence struct {
11193	_ struct{} `type:"structure"`
11194
11195	// The Amazon S3 URL that points to a manual evidence object.
11196	S3ResourcePath *string `locationName:"s3ResourcePath" min:"1" type:"string"`
11197}
11198
11199// String returns the string representation
11200func (s ManualEvidence) String() string {
11201	return awsutil.Prettify(s)
11202}
11203
11204// GoString returns the string representation
11205func (s ManualEvidence) GoString() string {
11206	return s.String()
11207}
11208
11209// Validate inspects the fields of the type to determine if they are valid.
11210func (s *ManualEvidence) Validate() error {
11211	invalidParams := request.ErrInvalidParams{Context: "ManualEvidence"}
11212	if s.S3ResourcePath != nil && len(*s.S3ResourcePath) < 1 {
11213		invalidParams.Add(request.NewErrParamMinLen("S3ResourcePath", 1))
11214	}
11215
11216	if invalidParams.Len() > 0 {
11217		return invalidParams
11218	}
11219	return nil
11220}
11221
11222// SetS3ResourcePath sets the S3ResourcePath field's value.
11223func (s *ManualEvidence) SetS3ResourcePath(v string) *ManualEvidence {
11224	s.S3ResourcePath = &v
11225	return s
11226}
11227
11228// The notification used to inform a user of an update in AWS Audit Manager.
11229// For example, this includes the notification that is sent when a control set
11230// is delegated for review.
11231type Notification struct {
11232	_ struct{} `type:"structure"`
11233
11234	// The identifier for the specified assessment.
11235	AssessmentId *string `locationName:"assessmentId" min:"36" type:"string"`
11236
11237	// The name of the related assessment.
11238	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
11239
11240	// The identifier for the specified control set.
11241	ControlSetId *string `locationName:"controlSetId" min:"1" type:"string"`
11242
11243	// Specifies the name of the control set that the notification is about.
11244	ControlSetName *string `locationName:"controlSetName" min:"1" type:"string"`
11245
11246	// The description of the notification.
11247	Description *string `locationName:"description" min:"1" type:"string"`
11248
11249	// The time when the notification was sent.
11250	EventTime *time.Time `locationName:"eventTime" type:"timestamp"`
11251
11252	// The unique identifier for the notification.
11253	Id *string `locationName:"id" min:"47" type:"string"`
11254
11255	// The sender of the notification.
11256	Source *string `locationName:"source" min:"1" type:"string"`
11257}
11258
11259// String returns the string representation
11260func (s Notification) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s Notification) GoString() string {
11266	return s.String()
11267}
11268
11269// SetAssessmentId sets the AssessmentId field's value.
11270func (s *Notification) SetAssessmentId(v string) *Notification {
11271	s.AssessmentId = &v
11272	return s
11273}
11274
11275// SetAssessmentName sets the AssessmentName field's value.
11276func (s *Notification) SetAssessmentName(v string) *Notification {
11277	s.AssessmentName = &v
11278	return s
11279}
11280
11281// SetControlSetId sets the ControlSetId field's value.
11282func (s *Notification) SetControlSetId(v string) *Notification {
11283	s.ControlSetId = &v
11284	return s
11285}
11286
11287// SetControlSetName sets the ControlSetName field's value.
11288func (s *Notification) SetControlSetName(v string) *Notification {
11289	s.ControlSetName = &v
11290	return s
11291}
11292
11293// SetDescription sets the Description field's value.
11294func (s *Notification) SetDescription(v string) *Notification {
11295	s.Description = &v
11296	return s
11297}
11298
11299// SetEventTime sets the EventTime field's value.
11300func (s *Notification) SetEventTime(v time.Time) *Notification {
11301	s.EventTime = &v
11302	return s
11303}
11304
11305// SetId sets the Id field's value.
11306func (s *Notification) SetId(v string) *Notification {
11307	s.Id = &v
11308	return s
11309}
11310
11311// SetSource sets the Source field's value.
11312func (s *Notification) SetSource(v string) *Notification {
11313	s.Source = &v
11314	return s
11315}
11316
11317type RegisterAccountInput struct {
11318	_ struct{} `type:"structure"`
11319
11320	// The delegated administrator account for AWS Audit Manager.
11321	DelegatedAdminAccount *string `locationName:"delegatedAdminAccount" min:"12" type:"string"`
11322
11323	// The AWS KMS key details.
11324	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
11325}
11326
11327// String returns the string representation
11328func (s RegisterAccountInput) String() string {
11329	return awsutil.Prettify(s)
11330}
11331
11332// GoString returns the string representation
11333func (s RegisterAccountInput) GoString() string {
11334	return s.String()
11335}
11336
11337// Validate inspects the fields of the type to determine if they are valid.
11338func (s *RegisterAccountInput) Validate() error {
11339	invalidParams := request.ErrInvalidParams{Context: "RegisterAccountInput"}
11340	if s.DelegatedAdminAccount != nil && len(*s.DelegatedAdminAccount) < 12 {
11341		invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccount", 12))
11342	}
11343	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
11344		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
11345	}
11346
11347	if invalidParams.Len() > 0 {
11348		return invalidParams
11349	}
11350	return nil
11351}
11352
11353// SetDelegatedAdminAccount sets the DelegatedAdminAccount field's value.
11354func (s *RegisterAccountInput) SetDelegatedAdminAccount(v string) *RegisterAccountInput {
11355	s.DelegatedAdminAccount = &v
11356	return s
11357}
11358
11359// SetKmsKey sets the KmsKey field's value.
11360func (s *RegisterAccountInput) SetKmsKey(v string) *RegisterAccountInput {
11361	s.KmsKey = &v
11362	return s
11363}
11364
11365type RegisterAccountOutput struct {
11366	_ struct{} `type:"structure"`
11367
11368	// The status of the account registration request.
11369	Status *string `locationName:"status" type:"string" enum:"AccountStatus"`
11370}
11371
11372// String returns the string representation
11373func (s RegisterAccountOutput) String() string {
11374	return awsutil.Prettify(s)
11375}
11376
11377// GoString returns the string representation
11378func (s RegisterAccountOutput) GoString() string {
11379	return s.String()
11380}
11381
11382// SetStatus sets the Status field's value.
11383func (s *RegisterAccountOutput) SetStatus(v string) *RegisterAccountOutput {
11384	s.Status = &v
11385	return s
11386}
11387
11388type RegisterOrganizationAdminAccountInput struct {
11389	_ struct{} `type:"structure"`
11390
11391	// The identifier for the specified delegated administrator account.
11392	//
11393	// AdminAccountId is a required field
11394	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string" required:"true"`
11395}
11396
11397// String returns the string representation
11398func (s RegisterOrganizationAdminAccountInput) String() string {
11399	return awsutil.Prettify(s)
11400}
11401
11402// GoString returns the string representation
11403func (s RegisterOrganizationAdminAccountInput) GoString() string {
11404	return s.String()
11405}
11406
11407// Validate inspects the fields of the type to determine if they are valid.
11408func (s *RegisterOrganizationAdminAccountInput) Validate() error {
11409	invalidParams := request.ErrInvalidParams{Context: "RegisterOrganizationAdminAccountInput"}
11410	if s.AdminAccountId == nil {
11411		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
11412	}
11413	if s.AdminAccountId != nil && len(*s.AdminAccountId) < 12 {
11414		invalidParams.Add(request.NewErrParamMinLen("AdminAccountId", 12))
11415	}
11416
11417	if invalidParams.Len() > 0 {
11418		return invalidParams
11419	}
11420	return nil
11421}
11422
11423// SetAdminAccountId sets the AdminAccountId field's value.
11424func (s *RegisterOrganizationAdminAccountInput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountInput {
11425	s.AdminAccountId = &v
11426	return s
11427}
11428
11429type RegisterOrganizationAdminAccountOutput struct {
11430	_ struct{} `type:"structure"`
11431
11432	// The identifier for the specified delegated administrator account.
11433	AdminAccountId *string `locationName:"adminAccountId" min:"12" type:"string"`
11434
11435	// The identifier for the specified AWS organization.
11436	OrganizationId *string `locationName:"organizationId" min:"12" type:"string"`
11437}
11438
11439// String returns the string representation
11440func (s RegisterOrganizationAdminAccountOutput) String() string {
11441	return awsutil.Prettify(s)
11442}
11443
11444// GoString returns the string representation
11445func (s RegisterOrganizationAdminAccountOutput) GoString() string {
11446	return s.String()
11447}
11448
11449// SetAdminAccountId sets the AdminAccountId field's value.
11450func (s *RegisterOrganizationAdminAccountOutput) SetAdminAccountId(v string) *RegisterOrganizationAdminAccountOutput {
11451	s.AdminAccountId = &v
11452	return s
11453}
11454
11455// SetOrganizationId sets the OrganizationId field's value.
11456func (s *RegisterOrganizationAdminAccountOutput) SetOrganizationId(v string) *RegisterOrganizationAdminAccountOutput {
11457	s.OrganizationId = &v
11458	return s
11459}
11460
11461// A system asset that is evaluated in an AWS Audit Manager assessment.
11462type Resource struct {
11463	_ struct{} `type:"structure"`
11464
11465	// The Amazon Resource Name (ARN) for the specified resource.
11466	Arn *string `locationName:"arn" min:"20" type:"string"`
11467
11468	// The value of the specified resource.
11469	Value *string `locationName:"value" type:"string"`
11470}
11471
11472// String returns the string representation
11473func (s Resource) String() string {
11474	return awsutil.Prettify(s)
11475}
11476
11477// GoString returns the string representation
11478func (s Resource) GoString() string {
11479	return s.String()
11480}
11481
11482// SetArn sets the Arn field's value.
11483func (s *Resource) SetArn(v string) *Resource {
11484	s.Arn = &v
11485	return s
11486}
11487
11488// SetValue sets the Value field's value.
11489func (s *Resource) SetValue(v string) *Resource {
11490	s.Value = &v
11491	return s
11492}
11493
11494// The resource specified in the request cannot be found.
11495type ResourceNotFoundException struct {
11496	_            struct{}                  `type:"structure"`
11497	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11498
11499	Message_ *string `locationName:"message" type:"string"`
11500
11501	// The unique identifier for the specified resource.
11502	//
11503	// ResourceId is a required field
11504	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
11505
11506	// The type of resource affected by the error.
11507	//
11508	// ResourceType is a required field
11509	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
11510}
11511
11512// String returns the string representation
11513func (s ResourceNotFoundException) String() string {
11514	return awsutil.Prettify(s)
11515}
11516
11517// GoString returns the string representation
11518func (s ResourceNotFoundException) GoString() string {
11519	return s.String()
11520}
11521
11522func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
11523	return &ResourceNotFoundException{
11524		RespMetadata: v,
11525	}
11526}
11527
11528// Code returns the exception type name.
11529func (s *ResourceNotFoundException) Code() string {
11530	return "ResourceNotFoundException"
11531}
11532
11533// Message returns the exception's message.
11534func (s *ResourceNotFoundException) Message() string {
11535	if s.Message_ != nil {
11536		return *s.Message_
11537	}
11538	return ""
11539}
11540
11541// OrigErr always returns nil, satisfies awserr.Error interface.
11542func (s *ResourceNotFoundException) OrigErr() error {
11543	return nil
11544}
11545
11546func (s *ResourceNotFoundException) Error() string {
11547	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11548}
11549
11550// Status code returns the HTTP status code for the request's response error.
11551func (s *ResourceNotFoundException) StatusCode() int {
11552	return s.RespMetadata.StatusCode
11553}
11554
11555// RequestID returns the service's response RequestID for request.
11556func (s *ResourceNotFoundException) RequestID() string {
11557	return s.RespMetadata.RequestID
11558}
11559
11560// The wrapper that contains AWS Audit Manager role information, such as the
11561// role type and IAM Amazon Resource Name (ARN).
11562type Role struct {
11563	_ struct{} `type:"structure"`
11564
11565	// The Amazon Resource Name (ARN) of the IAM role.
11566	RoleArn *string `locationName:"roleArn" min:"20" type:"string"`
11567
11568	// The type of customer persona.
11569	//
11570	// In CreateAssessment, roleType can only be PROCESS_OWNER.
11571	//
11572	// In UpdateSettings, roleType can only be PROCESS_OWNER.
11573	//
11574	// In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.
11575	RoleType *string `locationName:"roleType" type:"string" enum:"RoleType"`
11576}
11577
11578// String returns the string representation
11579func (s Role) String() string {
11580	return awsutil.Prettify(s)
11581}
11582
11583// GoString returns the string representation
11584func (s Role) GoString() string {
11585	return s.String()
11586}
11587
11588// Validate inspects the fields of the type to determine if they are valid.
11589func (s *Role) Validate() error {
11590	invalidParams := request.ErrInvalidParams{Context: "Role"}
11591	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11592		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11593	}
11594
11595	if invalidParams.Len() > 0 {
11596		return invalidParams
11597	}
11598	return nil
11599}
11600
11601// SetRoleArn sets the RoleArn field's value.
11602func (s *Role) SetRoleArn(v string) *Role {
11603	s.RoleArn = &v
11604	return s
11605}
11606
11607// SetRoleType sets the RoleType field's value.
11608func (s *Role) SetRoleType(v string) *Role {
11609	s.RoleType = &v
11610	return s
11611}
11612
11613// The wrapper that contains the AWS accounts and AWS services in scope for
11614// the assessment.
11615type Scope struct {
11616	_ struct{} `type:"structure"`
11617
11618	// The AWS accounts included in the scope of the assessment.
11619	AwsAccounts []*AWSAccount `locationName:"awsAccounts" type:"list"`
11620
11621	// The AWS services included in the scope of the assessment.
11622	AwsServices []*AWSService `locationName:"awsServices" type:"list"`
11623}
11624
11625// String returns the string representation
11626func (s Scope) String() string {
11627	return awsutil.Prettify(s)
11628}
11629
11630// GoString returns the string representation
11631func (s Scope) GoString() string {
11632	return s.String()
11633}
11634
11635// Validate inspects the fields of the type to determine if they are valid.
11636func (s *Scope) Validate() error {
11637	invalidParams := request.ErrInvalidParams{Context: "Scope"}
11638	if s.AwsAccounts != nil {
11639		for i, v := range s.AwsAccounts {
11640			if v == nil {
11641				continue
11642			}
11643			if err := v.Validate(); err != nil {
11644				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsAccounts", i), err.(request.ErrInvalidParams))
11645			}
11646		}
11647	}
11648	if s.AwsServices != nil {
11649		for i, v := range s.AwsServices {
11650			if v == nil {
11651				continue
11652			}
11653			if err := v.Validate(); err != nil {
11654				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsServices", i), err.(request.ErrInvalidParams))
11655			}
11656		}
11657	}
11658
11659	if invalidParams.Len() > 0 {
11660		return invalidParams
11661	}
11662	return nil
11663}
11664
11665// SetAwsAccounts sets the AwsAccounts field's value.
11666func (s *Scope) SetAwsAccounts(v []*AWSAccount) *Scope {
11667	s.AwsAccounts = v
11668	return s
11669}
11670
11671// SetAwsServices sets the AwsServices field's value.
11672func (s *Scope) SetAwsServices(v []*AWSService) *Scope {
11673	s.AwsServices = v
11674	return s
11675}
11676
11677// The metadata associated with the specified AWS service.
11678type ServiceMetadata struct {
11679	_ struct{} `type:"structure"`
11680
11681	// The category in which the AWS service belongs, such as compute, storage,
11682	// database, and so on.
11683	Category *string `locationName:"category" min:"1" type:"string"`
11684
11685	// The description of the specified AWS service.
11686	Description *string `locationName:"description" min:"1" type:"string"`
11687
11688	// The display name of the AWS service.
11689	DisplayName *string `locationName:"displayName" min:"1" type:"string"`
11690
11691	// The name of the AWS service.
11692	Name *string `locationName:"name" min:"1" type:"string"`
11693}
11694
11695// String returns the string representation
11696func (s ServiceMetadata) String() string {
11697	return awsutil.Prettify(s)
11698}
11699
11700// GoString returns the string representation
11701func (s ServiceMetadata) GoString() string {
11702	return s.String()
11703}
11704
11705// SetCategory sets the Category field's value.
11706func (s *ServiceMetadata) SetCategory(v string) *ServiceMetadata {
11707	s.Category = &v
11708	return s
11709}
11710
11711// SetDescription sets the Description field's value.
11712func (s *ServiceMetadata) SetDescription(v string) *ServiceMetadata {
11713	s.Description = &v
11714	return s
11715}
11716
11717// SetDisplayName sets the DisplayName field's value.
11718func (s *ServiceMetadata) SetDisplayName(v string) *ServiceMetadata {
11719	s.DisplayName = &v
11720	return s
11721}
11722
11723// SetName sets the Name field's value.
11724func (s *ServiceMetadata) SetName(v string) *ServiceMetadata {
11725	s.Name = &v
11726	return s
11727}
11728
11729// The settings object that holds all supported AWS Audit Manager settings.
11730type Settings struct {
11731	_ struct{} `type:"structure"`
11732
11733	// The default storage destination for assessment reports.
11734	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
11735
11736	// The designated default audit owners.
11737	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
11738
11739	// Specifies whether AWS Organizations is enabled.
11740	IsAwsOrgEnabled *bool `locationName:"isAwsOrgEnabled" type:"boolean"`
11741
11742	// The AWS KMS key details.
11743	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
11744
11745	// The designated Amazon Simple Notification Service (Amazon SNS) topic.
11746	SnsTopic *string `locationName:"snsTopic" min:"1" type:"string"`
11747}
11748
11749// String returns the string representation
11750func (s Settings) String() string {
11751	return awsutil.Prettify(s)
11752}
11753
11754// GoString returns the string representation
11755func (s Settings) GoString() string {
11756	return s.String()
11757}
11758
11759// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
11760func (s *Settings) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *Settings {
11761	s.DefaultAssessmentReportsDestination = v
11762	return s
11763}
11764
11765// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
11766func (s *Settings) SetDefaultProcessOwners(v []*Role) *Settings {
11767	s.DefaultProcessOwners = v
11768	return s
11769}
11770
11771// SetIsAwsOrgEnabled sets the IsAwsOrgEnabled field's value.
11772func (s *Settings) SetIsAwsOrgEnabled(v bool) *Settings {
11773	s.IsAwsOrgEnabled = &v
11774	return s
11775}
11776
11777// SetKmsKey sets the KmsKey field's value.
11778func (s *Settings) SetKmsKey(v string) *Settings {
11779	s.KmsKey = &v
11780	return s
11781}
11782
11783// SetSnsTopic sets the SnsTopic field's value.
11784func (s *Settings) SetSnsTopic(v string) *Settings {
11785	s.SnsTopic = &v
11786	return s
11787}
11788
11789// The keyword to search for in AWS CloudTrail logs.
11790type SourceKeyword struct {
11791	_ struct{} `type:"structure"`
11792
11793	// The method of input for the specified keyword.
11794	KeywordInputType *string `locationName:"keywordInputType" type:"string" enum:"KeywordInputType"`
11795
11796	// The value of the keyword used to search AWS CloudTrail logs when mapping
11797	// a control data source.
11798	KeywordValue *string `locationName:"keywordValue" min:"1" type:"string"`
11799}
11800
11801// String returns the string representation
11802func (s SourceKeyword) String() string {
11803	return awsutil.Prettify(s)
11804}
11805
11806// GoString returns the string representation
11807func (s SourceKeyword) GoString() string {
11808	return s.String()
11809}
11810
11811// Validate inspects the fields of the type to determine if they are valid.
11812func (s *SourceKeyword) Validate() error {
11813	invalidParams := request.ErrInvalidParams{Context: "SourceKeyword"}
11814	if s.KeywordValue != nil && len(*s.KeywordValue) < 1 {
11815		invalidParams.Add(request.NewErrParamMinLen("KeywordValue", 1))
11816	}
11817
11818	if invalidParams.Len() > 0 {
11819		return invalidParams
11820	}
11821	return nil
11822}
11823
11824// SetKeywordInputType sets the KeywordInputType field's value.
11825func (s *SourceKeyword) SetKeywordInputType(v string) *SourceKeyword {
11826	s.KeywordInputType = &v
11827	return s
11828}
11829
11830// SetKeywordValue sets the KeywordValue field's value.
11831func (s *SourceKeyword) SetKeywordValue(v string) *SourceKeyword {
11832	s.KeywordValue = &v
11833	return s
11834}
11835
11836type TagResourceInput struct {
11837	_ struct{} `type:"structure"`
11838
11839	// The Amazon Resource Name (ARN) of the specified resource.
11840	//
11841	// ResourceArn is a required field
11842	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
11843
11844	// The tags to be associated with the resource.
11845	//
11846	// Tags is a required field
11847	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
11848}
11849
11850// String returns the string representation
11851func (s TagResourceInput) String() string {
11852	return awsutil.Prettify(s)
11853}
11854
11855// GoString returns the string representation
11856func (s TagResourceInput) GoString() string {
11857	return s.String()
11858}
11859
11860// Validate inspects the fields of the type to determine if they are valid.
11861func (s *TagResourceInput) Validate() error {
11862	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11863	if s.ResourceArn == nil {
11864		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11865	}
11866	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
11867		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
11868	}
11869	if s.Tags == nil {
11870		invalidParams.Add(request.NewErrParamRequired("Tags"))
11871	}
11872
11873	if invalidParams.Len() > 0 {
11874		return invalidParams
11875	}
11876	return nil
11877}
11878
11879// SetResourceArn sets the ResourceArn field's value.
11880func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
11881	s.ResourceArn = &v
11882	return s
11883}
11884
11885// SetTags sets the Tags field's value.
11886func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
11887	s.Tags = v
11888	return s
11889}
11890
11891type TagResourceOutput struct {
11892	_ struct{} `type:"structure"`
11893}
11894
11895// String returns the string representation
11896func (s TagResourceOutput) String() string {
11897	return awsutil.Prettify(s)
11898}
11899
11900// GoString returns the string representation
11901func (s TagResourceOutput) GoString() string {
11902	return s.String()
11903}
11904
11905// A uniform resource locator, used as a unique identifier to locate a resource
11906// on the internet.
11907type URL struct {
11908	_ struct{} `type:"structure"`
11909
11910	// The name or word used as a hyperlink to the URL.
11911	HyperlinkName *string `locationName:"hyperlinkName" min:"1" type:"string"`
11912
11913	// The unique identifier for the internet resource.
11914	Link *string `locationName:"link" min:"1" type:"string"`
11915}
11916
11917// String returns the string representation
11918func (s URL) String() string {
11919	return awsutil.Prettify(s)
11920}
11921
11922// GoString returns the string representation
11923func (s URL) GoString() string {
11924	return s.String()
11925}
11926
11927// SetHyperlinkName sets the HyperlinkName field's value.
11928func (s *URL) SetHyperlinkName(v string) *URL {
11929	s.HyperlinkName = &v
11930	return s
11931}
11932
11933// SetLink sets the Link field's value.
11934func (s *URL) SetLink(v string) *URL {
11935	s.Link = &v
11936	return s
11937}
11938
11939type UntagResourceInput struct {
11940	_ struct{} `type:"structure"`
11941
11942	// The Amazon Resource Name (ARN) of the specified resource.
11943	//
11944	// ResourceArn is a required field
11945	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
11946
11947	// The name or key of the tag.
11948	//
11949	// TagKeys is a required field
11950	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
11951}
11952
11953// String returns the string representation
11954func (s UntagResourceInput) String() string {
11955	return awsutil.Prettify(s)
11956}
11957
11958// GoString returns the string representation
11959func (s UntagResourceInput) GoString() string {
11960	return s.String()
11961}
11962
11963// Validate inspects the fields of the type to determine if they are valid.
11964func (s *UntagResourceInput) Validate() error {
11965	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
11966	if s.ResourceArn == nil {
11967		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11968	}
11969	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
11970		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
11971	}
11972	if s.TagKeys == nil {
11973		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
11974	}
11975	if s.TagKeys != nil && len(s.TagKeys) < 1 {
11976		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
11977	}
11978
11979	if invalidParams.Len() > 0 {
11980		return invalidParams
11981	}
11982	return nil
11983}
11984
11985// SetResourceArn sets the ResourceArn field's value.
11986func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
11987	s.ResourceArn = &v
11988	return s
11989}
11990
11991// SetTagKeys sets the TagKeys field's value.
11992func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
11993	s.TagKeys = v
11994	return s
11995}
11996
11997type UntagResourceOutput struct {
11998	_ struct{} `type:"structure"`
11999}
12000
12001// String returns the string representation
12002func (s UntagResourceOutput) String() string {
12003	return awsutil.Prettify(s)
12004}
12005
12006// GoString returns the string representation
12007func (s UntagResourceOutput) GoString() string {
12008	return s.String()
12009}
12010
12011type UpdateAssessmentControlInput struct {
12012	_ struct{} `type:"structure"`
12013
12014	// The identifier for the specified assessment.
12015	//
12016	// AssessmentId is a required field
12017	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12018
12019	// The comment body text for the specified control.
12020	CommentBody *string `locationName:"commentBody" type:"string"`
12021
12022	// The identifier for the specified control.
12023	//
12024	// ControlId is a required field
12025	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
12026
12027	// The identifier for the specified control set.
12028	//
12029	// ControlSetId is a required field
12030	ControlSetId *string `location:"uri" locationName:"controlSetId" min:"1" type:"string" required:"true"`
12031
12032	// The status of the specified control.
12033	ControlStatus *string `locationName:"controlStatus" type:"string" enum:"ControlStatus"`
12034}
12035
12036// String returns the string representation
12037func (s UpdateAssessmentControlInput) String() string {
12038	return awsutil.Prettify(s)
12039}
12040
12041// GoString returns the string representation
12042func (s UpdateAssessmentControlInput) GoString() string {
12043	return s.String()
12044}
12045
12046// Validate inspects the fields of the type to determine if they are valid.
12047func (s *UpdateAssessmentControlInput) Validate() error {
12048	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlInput"}
12049	if s.AssessmentId == nil {
12050		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12051	}
12052	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12053		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12054	}
12055	if s.ControlId == nil {
12056		invalidParams.Add(request.NewErrParamRequired("ControlId"))
12057	}
12058	if s.ControlId != nil && len(*s.ControlId) < 36 {
12059		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
12060	}
12061	if s.ControlSetId == nil {
12062		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
12063	}
12064	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
12065		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
12066	}
12067
12068	if invalidParams.Len() > 0 {
12069		return invalidParams
12070	}
12071	return nil
12072}
12073
12074// SetAssessmentId sets the AssessmentId field's value.
12075func (s *UpdateAssessmentControlInput) SetAssessmentId(v string) *UpdateAssessmentControlInput {
12076	s.AssessmentId = &v
12077	return s
12078}
12079
12080// SetCommentBody sets the CommentBody field's value.
12081func (s *UpdateAssessmentControlInput) SetCommentBody(v string) *UpdateAssessmentControlInput {
12082	s.CommentBody = &v
12083	return s
12084}
12085
12086// SetControlId sets the ControlId field's value.
12087func (s *UpdateAssessmentControlInput) SetControlId(v string) *UpdateAssessmentControlInput {
12088	s.ControlId = &v
12089	return s
12090}
12091
12092// SetControlSetId sets the ControlSetId field's value.
12093func (s *UpdateAssessmentControlInput) SetControlSetId(v string) *UpdateAssessmentControlInput {
12094	s.ControlSetId = &v
12095	return s
12096}
12097
12098// SetControlStatus sets the ControlStatus field's value.
12099func (s *UpdateAssessmentControlInput) SetControlStatus(v string) *UpdateAssessmentControlInput {
12100	s.ControlStatus = &v
12101	return s
12102}
12103
12104type UpdateAssessmentControlOutput struct {
12105	_ struct{} `type:"structure"`
12106
12107	// The name of the updated control set returned by the UpdateAssessmentControl
12108	// API.
12109	Control *AssessmentControl `locationName:"control" type:"structure"`
12110}
12111
12112// String returns the string representation
12113func (s UpdateAssessmentControlOutput) String() string {
12114	return awsutil.Prettify(s)
12115}
12116
12117// GoString returns the string representation
12118func (s UpdateAssessmentControlOutput) GoString() string {
12119	return s.String()
12120}
12121
12122// SetControl sets the Control field's value.
12123func (s *UpdateAssessmentControlOutput) SetControl(v *AssessmentControl) *UpdateAssessmentControlOutput {
12124	s.Control = v
12125	return s
12126}
12127
12128type UpdateAssessmentControlSetStatusInput struct {
12129	_ struct{} `type:"structure"`
12130
12131	// The identifier for the specified assessment.
12132	//
12133	// AssessmentId is a required field
12134	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12135
12136	// The comment related to the status update.
12137	//
12138	// Comment is a required field
12139	Comment *string `locationName:"comment" type:"string" required:"true"`
12140
12141	// The identifier for the specified control set.
12142	//
12143	// ControlSetId is a required field
12144	ControlSetId *string `location:"uri" locationName:"controlSetId" type:"string" required:"true"`
12145
12146	// The status of the control set that is being updated.
12147	//
12148	// Status is a required field
12149	Status *string `locationName:"status" type:"string" required:"true" enum:"ControlSetStatus"`
12150}
12151
12152// String returns the string representation
12153func (s UpdateAssessmentControlSetStatusInput) String() string {
12154	return awsutil.Prettify(s)
12155}
12156
12157// GoString returns the string representation
12158func (s UpdateAssessmentControlSetStatusInput) GoString() string {
12159	return s.String()
12160}
12161
12162// Validate inspects the fields of the type to determine if they are valid.
12163func (s *UpdateAssessmentControlSetStatusInput) Validate() error {
12164	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentControlSetStatusInput"}
12165	if s.AssessmentId == nil {
12166		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12167	}
12168	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12169		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12170	}
12171	if s.Comment == nil {
12172		invalidParams.Add(request.NewErrParamRequired("Comment"))
12173	}
12174	if s.ControlSetId == nil {
12175		invalidParams.Add(request.NewErrParamRequired("ControlSetId"))
12176	}
12177	if s.ControlSetId != nil && len(*s.ControlSetId) < 1 {
12178		invalidParams.Add(request.NewErrParamMinLen("ControlSetId", 1))
12179	}
12180	if s.Status == nil {
12181		invalidParams.Add(request.NewErrParamRequired("Status"))
12182	}
12183
12184	if invalidParams.Len() > 0 {
12185		return invalidParams
12186	}
12187	return nil
12188}
12189
12190// SetAssessmentId sets the AssessmentId field's value.
12191func (s *UpdateAssessmentControlSetStatusInput) SetAssessmentId(v string) *UpdateAssessmentControlSetStatusInput {
12192	s.AssessmentId = &v
12193	return s
12194}
12195
12196// SetComment sets the Comment field's value.
12197func (s *UpdateAssessmentControlSetStatusInput) SetComment(v string) *UpdateAssessmentControlSetStatusInput {
12198	s.Comment = &v
12199	return s
12200}
12201
12202// SetControlSetId sets the ControlSetId field's value.
12203func (s *UpdateAssessmentControlSetStatusInput) SetControlSetId(v string) *UpdateAssessmentControlSetStatusInput {
12204	s.ControlSetId = &v
12205	return s
12206}
12207
12208// SetStatus sets the Status field's value.
12209func (s *UpdateAssessmentControlSetStatusInput) SetStatus(v string) *UpdateAssessmentControlSetStatusInput {
12210	s.Status = &v
12211	return s
12212}
12213
12214type UpdateAssessmentControlSetStatusOutput struct {
12215	_ struct{} `type:"structure"`
12216
12217	// The name of the updated control set returned by the UpdateAssessmentControlSetStatus
12218	// API.
12219	ControlSet *AssessmentControlSet `locationName:"controlSet" type:"structure"`
12220}
12221
12222// String returns the string representation
12223func (s UpdateAssessmentControlSetStatusOutput) String() string {
12224	return awsutil.Prettify(s)
12225}
12226
12227// GoString returns the string representation
12228func (s UpdateAssessmentControlSetStatusOutput) GoString() string {
12229	return s.String()
12230}
12231
12232// SetControlSet sets the ControlSet field's value.
12233func (s *UpdateAssessmentControlSetStatusOutput) SetControlSet(v *AssessmentControlSet) *UpdateAssessmentControlSetStatusOutput {
12234	s.ControlSet = v
12235	return s
12236}
12237
12238// A controlSet entity that represents a collection of controls in AWS Audit
12239// Manager. This does not contain the control set ID.
12240type UpdateAssessmentFrameworkControlSet struct {
12241	_ struct{} `type:"structure"`
12242
12243	// The list of controls contained within the control set.
12244	Controls []*CreateAssessmentFrameworkControl `locationName:"controls" min:"1" type:"list"`
12245
12246	// The unique identifier for the control set.
12247	Id *string `locationName:"id" min:"36" type:"string"`
12248
12249	// The name of the control set.
12250	Name *string `locationName:"name" min:"1" type:"string"`
12251}
12252
12253// String returns the string representation
12254func (s UpdateAssessmentFrameworkControlSet) String() string {
12255	return awsutil.Prettify(s)
12256}
12257
12258// GoString returns the string representation
12259func (s UpdateAssessmentFrameworkControlSet) GoString() string {
12260	return s.String()
12261}
12262
12263// Validate inspects the fields of the type to determine if they are valid.
12264func (s *UpdateAssessmentFrameworkControlSet) Validate() error {
12265	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkControlSet"}
12266	if s.Controls != nil && len(s.Controls) < 1 {
12267		invalidParams.Add(request.NewErrParamMinLen("Controls", 1))
12268	}
12269	if s.Id != nil && len(*s.Id) < 36 {
12270		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
12271	}
12272	if s.Name != nil && len(*s.Name) < 1 {
12273		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12274	}
12275	if s.Controls != nil {
12276		for i, v := range s.Controls {
12277			if v == nil {
12278				continue
12279			}
12280			if err := v.Validate(); err != nil {
12281				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Controls", i), err.(request.ErrInvalidParams))
12282			}
12283		}
12284	}
12285
12286	if invalidParams.Len() > 0 {
12287		return invalidParams
12288	}
12289	return nil
12290}
12291
12292// SetControls sets the Controls field's value.
12293func (s *UpdateAssessmentFrameworkControlSet) SetControls(v []*CreateAssessmentFrameworkControl) *UpdateAssessmentFrameworkControlSet {
12294	s.Controls = v
12295	return s
12296}
12297
12298// SetId sets the Id field's value.
12299func (s *UpdateAssessmentFrameworkControlSet) SetId(v string) *UpdateAssessmentFrameworkControlSet {
12300	s.Id = &v
12301	return s
12302}
12303
12304// SetName sets the Name field's value.
12305func (s *UpdateAssessmentFrameworkControlSet) SetName(v string) *UpdateAssessmentFrameworkControlSet {
12306	s.Name = &v
12307	return s
12308}
12309
12310type UpdateAssessmentFrameworkInput struct {
12311	_ struct{} `type:"structure"`
12312
12313	// The compliance type that the new custom framework supports, such as CIS or
12314	// HIPAA.
12315	ComplianceType *string `locationName:"complianceType" type:"string"`
12316
12317	// The control sets associated with the framework.
12318	//
12319	// ControlSets is a required field
12320	ControlSets []*UpdateAssessmentFrameworkControlSet `locationName:"controlSets" type:"list" required:"true"`
12321
12322	// The description of the framework that is to be updated.
12323	Description *string `locationName:"description" min:"1" type:"string"`
12324
12325	// The identifier for the specified framework.
12326	//
12327	// FrameworkId is a required field
12328	FrameworkId *string `location:"uri" locationName:"frameworkId" min:"36" type:"string" required:"true"`
12329
12330	// The name of the framework to be updated.
12331	//
12332	// Name is a required field
12333	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12334}
12335
12336// String returns the string representation
12337func (s UpdateAssessmentFrameworkInput) String() string {
12338	return awsutil.Prettify(s)
12339}
12340
12341// GoString returns the string representation
12342func (s UpdateAssessmentFrameworkInput) GoString() string {
12343	return s.String()
12344}
12345
12346// Validate inspects the fields of the type to determine if they are valid.
12347func (s *UpdateAssessmentFrameworkInput) Validate() error {
12348	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentFrameworkInput"}
12349	if s.ControlSets == nil {
12350		invalidParams.Add(request.NewErrParamRequired("ControlSets"))
12351	}
12352	if s.Description != nil && len(*s.Description) < 1 {
12353		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
12354	}
12355	if s.FrameworkId == nil {
12356		invalidParams.Add(request.NewErrParamRequired("FrameworkId"))
12357	}
12358	if s.FrameworkId != nil && len(*s.FrameworkId) < 36 {
12359		invalidParams.Add(request.NewErrParamMinLen("FrameworkId", 36))
12360	}
12361	if s.Name == nil {
12362		invalidParams.Add(request.NewErrParamRequired("Name"))
12363	}
12364	if s.Name != nil && len(*s.Name) < 1 {
12365		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12366	}
12367	if s.ControlSets != nil {
12368		for i, v := range s.ControlSets {
12369			if v == nil {
12370				continue
12371			}
12372			if err := v.Validate(); err != nil {
12373				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlSets", i), err.(request.ErrInvalidParams))
12374			}
12375		}
12376	}
12377
12378	if invalidParams.Len() > 0 {
12379		return invalidParams
12380	}
12381	return nil
12382}
12383
12384// SetComplianceType sets the ComplianceType field's value.
12385func (s *UpdateAssessmentFrameworkInput) SetComplianceType(v string) *UpdateAssessmentFrameworkInput {
12386	s.ComplianceType = &v
12387	return s
12388}
12389
12390// SetControlSets sets the ControlSets field's value.
12391func (s *UpdateAssessmentFrameworkInput) SetControlSets(v []*UpdateAssessmentFrameworkControlSet) *UpdateAssessmentFrameworkInput {
12392	s.ControlSets = v
12393	return s
12394}
12395
12396// SetDescription sets the Description field's value.
12397func (s *UpdateAssessmentFrameworkInput) SetDescription(v string) *UpdateAssessmentFrameworkInput {
12398	s.Description = &v
12399	return s
12400}
12401
12402// SetFrameworkId sets the FrameworkId field's value.
12403func (s *UpdateAssessmentFrameworkInput) SetFrameworkId(v string) *UpdateAssessmentFrameworkInput {
12404	s.FrameworkId = &v
12405	return s
12406}
12407
12408// SetName sets the Name field's value.
12409func (s *UpdateAssessmentFrameworkInput) SetName(v string) *UpdateAssessmentFrameworkInput {
12410	s.Name = &v
12411	return s
12412}
12413
12414type UpdateAssessmentFrameworkOutput struct {
12415	_ struct{} `type:"structure"`
12416
12417	// The name of the specified framework.
12418	Framework *Framework `locationName:"framework" type:"structure"`
12419}
12420
12421// String returns the string representation
12422func (s UpdateAssessmentFrameworkOutput) String() string {
12423	return awsutil.Prettify(s)
12424}
12425
12426// GoString returns the string representation
12427func (s UpdateAssessmentFrameworkOutput) GoString() string {
12428	return s.String()
12429}
12430
12431// SetFramework sets the Framework field's value.
12432func (s *UpdateAssessmentFrameworkOutput) SetFramework(v *Framework) *UpdateAssessmentFrameworkOutput {
12433	s.Framework = v
12434	return s
12435}
12436
12437type UpdateAssessmentInput struct {
12438	_ struct{} `type:"structure"`
12439
12440	// The description of the specified assessment.
12441	AssessmentDescription *string `locationName:"assessmentDescription" type:"string"`
12442
12443	// The identifier for the specified assessment.
12444	//
12445	// AssessmentId is a required field
12446	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12447
12448	// The name of the specified assessment to be updated.
12449	AssessmentName *string `locationName:"assessmentName" min:"1" type:"string"`
12450
12451	// The assessment report storage destination for the specified assessment that
12452	// is being updated.
12453	AssessmentReportsDestination *AssessmentReportsDestination `locationName:"assessmentReportsDestination" type:"structure"`
12454
12455	// The list of roles for the specified assessment.
12456	Roles []*Role `locationName:"roles" type:"list"`
12457
12458	// The scope of the specified assessment.
12459	//
12460	// Scope is a required field
12461	Scope *Scope `locationName:"scope" type:"structure" required:"true"`
12462}
12463
12464// String returns the string representation
12465func (s UpdateAssessmentInput) String() string {
12466	return awsutil.Prettify(s)
12467}
12468
12469// GoString returns the string representation
12470func (s UpdateAssessmentInput) GoString() string {
12471	return s.String()
12472}
12473
12474// Validate inspects the fields of the type to determine if they are valid.
12475func (s *UpdateAssessmentInput) Validate() error {
12476	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentInput"}
12477	if s.AssessmentId == nil {
12478		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12479	}
12480	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12481		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12482	}
12483	if s.AssessmentName != nil && len(*s.AssessmentName) < 1 {
12484		invalidParams.Add(request.NewErrParamMinLen("AssessmentName", 1))
12485	}
12486	if s.Scope == nil {
12487		invalidParams.Add(request.NewErrParamRequired("Scope"))
12488	}
12489	if s.AssessmentReportsDestination != nil {
12490		if err := s.AssessmentReportsDestination.Validate(); err != nil {
12491			invalidParams.AddNested("AssessmentReportsDestination", err.(request.ErrInvalidParams))
12492		}
12493	}
12494	if s.Roles != nil {
12495		for i, v := range s.Roles {
12496			if v == nil {
12497				continue
12498			}
12499			if err := v.Validate(); err != nil {
12500				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
12501			}
12502		}
12503	}
12504	if s.Scope != nil {
12505		if err := s.Scope.Validate(); err != nil {
12506			invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
12507		}
12508	}
12509
12510	if invalidParams.Len() > 0 {
12511		return invalidParams
12512	}
12513	return nil
12514}
12515
12516// SetAssessmentDescription sets the AssessmentDescription field's value.
12517func (s *UpdateAssessmentInput) SetAssessmentDescription(v string) *UpdateAssessmentInput {
12518	s.AssessmentDescription = &v
12519	return s
12520}
12521
12522// SetAssessmentId sets the AssessmentId field's value.
12523func (s *UpdateAssessmentInput) SetAssessmentId(v string) *UpdateAssessmentInput {
12524	s.AssessmentId = &v
12525	return s
12526}
12527
12528// SetAssessmentName sets the AssessmentName field's value.
12529func (s *UpdateAssessmentInput) SetAssessmentName(v string) *UpdateAssessmentInput {
12530	s.AssessmentName = &v
12531	return s
12532}
12533
12534// SetAssessmentReportsDestination sets the AssessmentReportsDestination field's value.
12535func (s *UpdateAssessmentInput) SetAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateAssessmentInput {
12536	s.AssessmentReportsDestination = v
12537	return s
12538}
12539
12540// SetRoles sets the Roles field's value.
12541func (s *UpdateAssessmentInput) SetRoles(v []*Role) *UpdateAssessmentInput {
12542	s.Roles = v
12543	return s
12544}
12545
12546// SetScope sets the Scope field's value.
12547func (s *UpdateAssessmentInput) SetScope(v *Scope) *UpdateAssessmentInput {
12548	s.Scope = v
12549	return s
12550}
12551
12552type UpdateAssessmentOutput struct {
12553	_ struct{} `type:"structure"`
12554
12555	// The response object (name of the updated assessment) for the UpdateAssessmentRequest
12556	// API.
12557	Assessment *Assessment `locationName:"assessment" type:"structure"`
12558}
12559
12560// String returns the string representation
12561func (s UpdateAssessmentOutput) String() string {
12562	return awsutil.Prettify(s)
12563}
12564
12565// GoString returns the string representation
12566func (s UpdateAssessmentOutput) GoString() string {
12567	return s.String()
12568}
12569
12570// SetAssessment sets the Assessment field's value.
12571func (s *UpdateAssessmentOutput) SetAssessment(v *Assessment) *UpdateAssessmentOutput {
12572	s.Assessment = v
12573	return s
12574}
12575
12576type UpdateAssessmentStatusInput struct {
12577	_ struct{} `type:"structure"`
12578
12579	// The identifier for the specified assessment.
12580	//
12581	// AssessmentId is a required field
12582	AssessmentId *string `location:"uri" locationName:"assessmentId" min:"36" type:"string" required:"true"`
12583
12584	// The current status of the specified assessment.
12585	//
12586	// Status is a required field
12587	Status *string `locationName:"status" type:"string" required:"true" enum:"AssessmentStatus"`
12588}
12589
12590// String returns the string representation
12591func (s UpdateAssessmentStatusInput) String() string {
12592	return awsutil.Prettify(s)
12593}
12594
12595// GoString returns the string representation
12596func (s UpdateAssessmentStatusInput) GoString() string {
12597	return s.String()
12598}
12599
12600// Validate inspects the fields of the type to determine if they are valid.
12601func (s *UpdateAssessmentStatusInput) Validate() error {
12602	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentStatusInput"}
12603	if s.AssessmentId == nil {
12604		invalidParams.Add(request.NewErrParamRequired("AssessmentId"))
12605	}
12606	if s.AssessmentId != nil && len(*s.AssessmentId) < 36 {
12607		invalidParams.Add(request.NewErrParamMinLen("AssessmentId", 36))
12608	}
12609	if s.Status == nil {
12610		invalidParams.Add(request.NewErrParamRequired("Status"))
12611	}
12612
12613	if invalidParams.Len() > 0 {
12614		return invalidParams
12615	}
12616	return nil
12617}
12618
12619// SetAssessmentId sets the AssessmentId field's value.
12620func (s *UpdateAssessmentStatusInput) SetAssessmentId(v string) *UpdateAssessmentStatusInput {
12621	s.AssessmentId = &v
12622	return s
12623}
12624
12625// SetStatus sets the Status field's value.
12626func (s *UpdateAssessmentStatusInput) SetStatus(v string) *UpdateAssessmentStatusInput {
12627	s.Status = &v
12628	return s
12629}
12630
12631type UpdateAssessmentStatusOutput struct {
12632	_ struct{} `type:"structure"`
12633
12634	// The name of the updated assessment returned by the UpdateAssessmentStatus
12635	// API.
12636	Assessment *Assessment `locationName:"assessment" type:"structure"`
12637}
12638
12639// String returns the string representation
12640func (s UpdateAssessmentStatusOutput) String() string {
12641	return awsutil.Prettify(s)
12642}
12643
12644// GoString returns the string representation
12645func (s UpdateAssessmentStatusOutput) GoString() string {
12646	return s.String()
12647}
12648
12649// SetAssessment sets the Assessment field's value.
12650func (s *UpdateAssessmentStatusOutput) SetAssessment(v *Assessment) *UpdateAssessmentStatusOutput {
12651	s.Assessment = v
12652	return s
12653}
12654
12655type UpdateControlInput struct {
12656	_ struct{} `type:"structure"`
12657
12658	// The recommended actions to carry out if the control is not fulfilled.
12659	ActionPlanInstructions *string `locationName:"actionPlanInstructions" type:"string"`
12660
12661	// The title of the action plan for remediating the control.
12662	ActionPlanTitle *string `locationName:"actionPlanTitle" type:"string"`
12663
12664	// The identifier for the specified control.
12665	//
12666	// ControlId is a required field
12667	ControlId *string `location:"uri" locationName:"controlId" min:"36" type:"string" required:"true"`
12668
12669	// The data mapping sources for the specified control.
12670	//
12671	// ControlMappingSources is a required field
12672	ControlMappingSources []*ControlMappingSource `locationName:"controlMappingSources" min:"1" type:"list" required:"true"`
12673
12674	// The optional description of the control.
12675	Description *string `locationName:"description" type:"string"`
12676
12677	// The name of the control to be updated.
12678	//
12679	// Name is a required field
12680	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12681
12682	// The steps that to follow to determine if the control has been satisfied.
12683	TestingInformation *string `locationName:"testingInformation" type:"string"`
12684}
12685
12686// String returns the string representation
12687func (s UpdateControlInput) String() string {
12688	return awsutil.Prettify(s)
12689}
12690
12691// GoString returns the string representation
12692func (s UpdateControlInput) GoString() string {
12693	return s.String()
12694}
12695
12696// Validate inspects the fields of the type to determine if they are valid.
12697func (s *UpdateControlInput) Validate() error {
12698	invalidParams := request.ErrInvalidParams{Context: "UpdateControlInput"}
12699	if s.ControlId == nil {
12700		invalidParams.Add(request.NewErrParamRequired("ControlId"))
12701	}
12702	if s.ControlId != nil && len(*s.ControlId) < 36 {
12703		invalidParams.Add(request.NewErrParamMinLen("ControlId", 36))
12704	}
12705	if s.ControlMappingSources == nil {
12706		invalidParams.Add(request.NewErrParamRequired("ControlMappingSources"))
12707	}
12708	if s.ControlMappingSources != nil && len(s.ControlMappingSources) < 1 {
12709		invalidParams.Add(request.NewErrParamMinLen("ControlMappingSources", 1))
12710	}
12711	if s.Name == nil {
12712		invalidParams.Add(request.NewErrParamRequired("Name"))
12713	}
12714	if s.Name != nil && len(*s.Name) < 1 {
12715		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12716	}
12717	if s.ControlMappingSources != nil {
12718		for i, v := range s.ControlMappingSources {
12719			if v == nil {
12720				continue
12721			}
12722			if err := v.Validate(); err != nil {
12723				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ControlMappingSources", i), err.(request.ErrInvalidParams))
12724			}
12725		}
12726	}
12727
12728	if invalidParams.Len() > 0 {
12729		return invalidParams
12730	}
12731	return nil
12732}
12733
12734// SetActionPlanInstructions sets the ActionPlanInstructions field's value.
12735func (s *UpdateControlInput) SetActionPlanInstructions(v string) *UpdateControlInput {
12736	s.ActionPlanInstructions = &v
12737	return s
12738}
12739
12740// SetActionPlanTitle sets the ActionPlanTitle field's value.
12741func (s *UpdateControlInput) SetActionPlanTitle(v string) *UpdateControlInput {
12742	s.ActionPlanTitle = &v
12743	return s
12744}
12745
12746// SetControlId sets the ControlId field's value.
12747func (s *UpdateControlInput) SetControlId(v string) *UpdateControlInput {
12748	s.ControlId = &v
12749	return s
12750}
12751
12752// SetControlMappingSources sets the ControlMappingSources field's value.
12753func (s *UpdateControlInput) SetControlMappingSources(v []*ControlMappingSource) *UpdateControlInput {
12754	s.ControlMappingSources = v
12755	return s
12756}
12757
12758// SetDescription sets the Description field's value.
12759func (s *UpdateControlInput) SetDescription(v string) *UpdateControlInput {
12760	s.Description = &v
12761	return s
12762}
12763
12764// SetName sets the Name field's value.
12765func (s *UpdateControlInput) SetName(v string) *UpdateControlInput {
12766	s.Name = &v
12767	return s
12768}
12769
12770// SetTestingInformation sets the TestingInformation field's value.
12771func (s *UpdateControlInput) SetTestingInformation(v string) *UpdateControlInput {
12772	s.TestingInformation = &v
12773	return s
12774}
12775
12776type UpdateControlOutput struct {
12777	_ struct{} `type:"structure"`
12778
12779	// The name of the updated control set returned by the UpdateControl API.
12780	Control *Control `locationName:"control" type:"structure"`
12781}
12782
12783// String returns the string representation
12784func (s UpdateControlOutput) String() string {
12785	return awsutil.Prettify(s)
12786}
12787
12788// GoString returns the string representation
12789func (s UpdateControlOutput) GoString() string {
12790	return s.String()
12791}
12792
12793// SetControl sets the Control field's value.
12794func (s *UpdateControlOutput) SetControl(v *Control) *UpdateControlOutput {
12795	s.Control = v
12796	return s
12797}
12798
12799type UpdateSettingsInput struct {
12800	_ struct{} `type:"structure"`
12801
12802	// The default storage destination for assessment reports.
12803	DefaultAssessmentReportsDestination *AssessmentReportsDestination `locationName:"defaultAssessmentReportsDestination" type:"structure"`
12804
12805	// A list of the default audit owners.
12806	DefaultProcessOwners []*Role `locationName:"defaultProcessOwners" type:"list"`
12807
12808	// The AWS KMS key details.
12809	KmsKey *string `locationName:"kmsKey" min:"7" type:"string"`
12810
12811	// The Amazon Simple Notification Service (Amazon SNS) topic to which AWS Audit
12812	// Manager sends notifications.
12813	SnsTopic *string `locationName:"snsTopic" min:"20" type:"string"`
12814}
12815
12816// String returns the string representation
12817func (s UpdateSettingsInput) String() string {
12818	return awsutil.Prettify(s)
12819}
12820
12821// GoString returns the string representation
12822func (s UpdateSettingsInput) GoString() string {
12823	return s.String()
12824}
12825
12826// Validate inspects the fields of the type to determine if they are valid.
12827func (s *UpdateSettingsInput) Validate() error {
12828	invalidParams := request.ErrInvalidParams{Context: "UpdateSettingsInput"}
12829	if s.KmsKey != nil && len(*s.KmsKey) < 7 {
12830		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 7))
12831	}
12832	if s.SnsTopic != nil && len(*s.SnsTopic) < 20 {
12833		invalidParams.Add(request.NewErrParamMinLen("SnsTopic", 20))
12834	}
12835	if s.DefaultAssessmentReportsDestination != nil {
12836		if err := s.DefaultAssessmentReportsDestination.Validate(); err != nil {
12837			invalidParams.AddNested("DefaultAssessmentReportsDestination", err.(request.ErrInvalidParams))
12838		}
12839	}
12840	if s.DefaultProcessOwners != nil {
12841		for i, v := range s.DefaultProcessOwners {
12842			if v == nil {
12843				continue
12844			}
12845			if err := v.Validate(); err != nil {
12846				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultProcessOwners", i), err.(request.ErrInvalidParams))
12847			}
12848		}
12849	}
12850
12851	if invalidParams.Len() > 0 {
12852		return invalidParams
12853	}
12854	return nil
12855}
12856
12857// SetDefaultAssessmentReportsDestination sets the DefaultAssessmentReportsDestination field's value.
12858func (s *UpdateSettingsInput) SetDefaultAssessmentReportsDestination(v *AssessmentReportsDestination) *UpdateSettingsInput {
12859	s.DefaultAssessmentReportsDestination = v
12860	return s
12861}
12862
12863// SetDefaultProcessOwners sets the DefaultProcessOwners field's value.
12864func (s *UpdateSettingsInput) SetDefaultProcessOwners(v []*Role) *UpdateSettingsInput {
12865	s.DefaultProcessOwners = v
12866	return s
12867}
12868
12869// SetKmsKey sets the KmsKey field's value.
12870func (s *UpdateSettingsInput) SetKmsKey(v string) *UpdateSettingsInput {
12871	s.KmsKey = &v
12872	return s
12873}
12874
12875// SetSnsTopic sets the SnsTopic field's value.
12876func (s *UpdateSettingsInput) SetSnsTopic(v string) *UpdateSettingsInput {
12877	s.SnsTopic = &v
12878	return s
12879}
12880
12881type UpdateSettingsOutput struct {
12882	_ struct{} `type:"structure"`
12883
12884	// The current list of settings.
12885	Settings *Settings `locationName:"settings" type:"structure"`
12886}
12887
12888// String returns the string representation
12889func (s UpdateSettingsOutput) String() string {
12890	return awsutil.Prettify(s)
12891}
12892
12893// GoString returns the string representation
12894func (s UpdateSettingsOutput) GoString() string {
12895	return s.String()
12896}
12897
12898// SetSettings sets the Settings field's value.
12899func (s *UpdateSettingsOutput) SetSettings(v *Settings) *UpdateSettingsOutput {
12900	s.Settings = v
12901	return s
12902}
12903
12904type ValidateAssessmentReportIntegrityInput struct {
12905	_ struct{} `type:"structure"`
12906
12907	// The relative path of the specified Amazon S3 bucket in which the assessment
12908	// report is stored.
12909	//
12910	// S3RelativePath is a required field
12911	S3RelativePath *string `locationName:"s3RelativePath" min:"1" type:"string" required:"true"`
12912}
12913
12914// String returns the string representation
12915func (s ValidateAssessmentReportIntegrityInput) String() string {
12916	return awsutil.Prettify(s)
12917}
12918
12919// GoString returns the string representation
12920func (s ValidateAssessmentReportIntegrityInput) GoString() string {
12921	return s.String()
12922}
12923
12924// Validate inspects the fields of the type to determine if they are valid.
12925func (s *ValidateAssessmentReportIntegrityInput) Validate() error {
12926	invalidParams := request.ErrInvalidParams{Context: "ValidateAssessmentReportIntegrityInput"}
12927	if s.S3RelativePath == nil {
12928		invalidParams.Add(request.NewErrParamRequired("S3RelativePath"))
12929	}
12930	if s.S3RelativePath != nil && len(*s.S3RelativePath) < 1 {
12931		invalidParams.Add(request.NewErrParamMinLen("S3RelativePath", 1))
12932	}
12933
12934	if invalidParams.Len() > 0 {
12935		return invalidParams
12936	}
12937	return nil
12938}
12939
12940// SetS3RelativePath sets the S3RelativePath field's value.
12941func (s *ValidateAssessmentReportIntegrityInput) SetS3RelativePath(v string) *ValidateAssessmentReportIntegrityInput {
12942	s.S3RelativePath = &v
12943	return s
12944}
12945
12946type ValidateAssessmentReportIntegrityOutput struct {
12947	_ struct{} `type:"structure"`
12948
12949	// The signature algorithm used to code sign the assessment report file.
12950	SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"`
12951
12952	// The date and time signature that specifies when the assessment report was
12953	// created.
12954	SignatureDateTime *string `locationName:"signatureDateTime" type:"string"`
12955
12956	// The unique identifier for the validation signature key.
12957	SignatureKeyId *string `locationName:"signatureKeyId" type:"string"`
12958
12959	// Specifies whether the signature key is valid.
12960	SignatureValid *bool `locationName:"signatureValid" type:"boolean"`
12961
12962	// Represents any errors that occurred when validating the assessment report.
12963	ValidationErrors []*string `locationName:"validationErrors" type:"list"`
12964}
12965
12966// String returns the string representation
12967func (s ValidateAssessmentReportIntegrityOutput) String() string {
12968	return awsutil.Prettify(s)
12969}
12970
12971// GoString returns the string representation
12972func (s ValidateAssessmentReportIntegrityOutput) GoString() string {
12973	return s.String()
12974}
12975
12976// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
12977func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureAlgorithm(v string) *ValidateAssessmentReportIntegrityOutput {
12978	s.SignatureAlgorithm = &v
12979	return s
12980}
12981
12982// SetSignatureDateTime sets the SignatureDateTime field's value.
12983func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureDateTime(v string) *ValidateAssessmentReportIntegrityOutput {
12984	s.SignatureDateTime = &v
12985	return s
12986}
12987
12988// SetSignatureKeyId sets the SignatureKeyId field's value.
12989func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureKeyId(v string) *ValidateAssessmentReportIntegrityOutput {
12990	s.SignatureKeyId = &v
12991	return s
12992}
12993
12994// SetSignatureValid sets the SignatureValid field's value.
12995func (s *ValidateAssessmentReportIntegrityOutput) SetSignatureValid(v bool) *ValidateAssessmentReportIntegrityOutput {
12996	s.SignatureValid = &v
12997	return s
12998}
12999
13000// SetValidationErrors sets the ValidationErrors field's value.
13001func (s *ValidateAssessmentReportIntegrityOutput) SetValidationErrors(v []*string) *ValidateAssessmentReportIntegrityOutput {
13002	s.ValidationErrors = v
13003	return s
13004}
13005
13006// The request has invalid or missing parameters.
13007type ValidationException struct {
13008	_            struct{}                  `type:"structure"`
13009	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13010
13011	// The fields that caused the error, if applicable.
13012	Fields []*ValidationExceptionField `locationName:"fields" type:"list"`
13013
13014	Message_ *string `locationName:"message" type:"string"`
13015
13016	// The reason the request failed validation.
13017	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
13018}
13019
13020// String returns the string representation
13021func (s ValidationException) String() string {
13022	return awsutil.Prettify(s)
13023}
13024
13025// GoString returns the string representation
13026func (s ValidationException) GoString() string {
13027	return s.String()
13028}
13029
13030func newErrorValidationException(v protocol.ResponseMetadata) error {
13031	return &ValidationException{
13032		RespMetadata: v,
13033	}
13034}
13035
13036// Code returns the exception type name.
13037func (s *ValidationException) Code() string {
13038	return "ValidationException"
13039}
13040
13041// Message returns the exception's message.
13042func (s *ValidationException) Message() string {
13043	if s.Message_ != nil {
13044		return *s.Message_
13045	}
13046	return ""
13047}
13048
13049// OrigErr always returns nil, satisfies awserr.Error interface.
13050func (s *ValidationException) OrigErr() error {
13051	return nil
13052}
13053
13054func (s *ValidationException) Error() string {
13055	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13056}
13057
13058// Status code returns the HTTP status code for the request's response error.
13059func (s *ValidationException) StatusCode() int {
13060	return s.RespMetadata.StatusCode
13061}
13062
13063// RequestID returns the service's response RequestID for request.
13064func (s *ValidationException) RequestID() string {
13065	return s.RespMetadata.RequestID
13066}
13067
13068// Indicates that the request has invalid or missing parameters for the specified
13069// field.
13070type ValidationExceptionField struct {
13071	_ struct{} `type:"structure"`
13072
13073	// The body of the error message.
13074	//
13075	// Message is a required field
13076	Message *string `locationName:"message" type:"string" required:"true"`
13077
13078	// The name of the validation error.
13079	//
13080	// Name is a required field
13081	Name *string `locationName:"name" type:"string" required:"true"`
13082}
13083
13084// String returns the string representation
13085func (s ValidationExceptionField) String() string {
13086	return awsutil.Prettify(s)
13087}
13088
13089// GoString returns the string representation
13090func (s ValidationExceptionField) GoString() string {
13091	return s.String()
13092}
13093
13094// SetMessage sets the Message field's value.
13095func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
13096	s.Message = &v
13097	return s
13098}
13099
13100// SetName sets the Name field's value.
13101func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
13102	s.Name = &v
13103	return s
13104}
13105
13106const (
13107	// AccountStatusActive is a AccountStatus enum value
13108	AccountStatusActive = "ACTIVE"
13109
13110	// AccountStatusInactive is a AccountStatus enum value
13111	AccountStatusInactive = "INACTIVE"
13112
13113	// AccountStatusPendingActivation is a AccountStatus enum value
13114	AccountStatusPendingActivation = "PENDING_ACTIVATION"
13115)
13116
13117// AccountStatus_Values returns all elements of the AccountStatus enum
13118func AccountStatus_Values() []string {
13119	return []string{
13120		AccountStatusActive,
13121		AccountStatusInactive,
13122		AccountStatusPendingActivation,
13123	}
13124}
13125
13126const (
13127	// ActionEnumCreate is a ActionEnum enum value
13128	ActionEnumCreate = "CREATE"
13129
13130	// ActionEnumUpdateMetadata is a ActionEnum enum value
13131	ActionEnumUpdateMetadata = "UPDATE_METADATA"
13132
13133	// ActionEnumActive is a ActionEnum enum value
13134	ActionEnumActive = "ACTIVE"
13135
13136	// ActionEnumInactive is a ActionEnum enum value
13137	ActionEnumInactive = "INACTIVE"
13138
13139	// ActionEnumDelete is a ActionEnum enum value
13140	ActionEnumDelete = "DELETE"
13141
13142	// ActionEnumUnderReview is a ActionEnum enum value
13143	ActionEnumUnderReview = "UNDER_REVIEW"
13144
13145	// ActionEnumReviewed is a ActionEnum enum value
13146	ActionEnumReviewed = "REVIEWED"
13147
13148	// ActionEnumImportEvidence is a ActionEnum enum value
13149	ActionEnumImportEvidence = "IMPORT_EVIDENCE"
13150)
13151
13152// ActionEnum_Values returns all elements of the ActionEnum enum
13153func ActionEnum_Values() []string {
13154	return []string{
13155		ActionEnumCreate,
13156		ActionEnumUpdateMetadata,
13157		ActionEnumActive,
13158		ActionEnumInactive,
13159		ActionEnumDelete,
13160		ActionEnumUnderReview,
13161		ActionEnumReviewed,
13162		ActionEnumImportEvidence,
13163	}
13164}
13165
13166const (
13167	// AssessmentReportDestinationTypeS3 is a AssessmentReportDestinationType enum value
13168	AssessmentReportDestinationTypeS3 = "S3"
13169)
13170
13171// AssessmentReportDestinationType_Values returns all elements of the AssessmentReportDestinationType enum
13172func AssessmentReportDestinationType_Values() []string {
13173	return []string{
13174		AssessmentReportDestinationTypeS3,
13175	}
13176}
13177
13178const (
13179	// AssessmentReportStatusComplete is a AssessmentReportStatus enum value
13180	AssessmentReportStatusComplete = "COMPLETE"
13181
13182	// AssessmentReportStatusInProgress is a AssessmentReportStatus enum value
13183	AssessmentReportStatusInProgress = "IN_PROGRESS"
13184
13185	// AssessmentReportStatusFailed is a AssessmentReportStatus enum value
13186	AssessmentReportStatusFailed = "FAILED"
13187)
13188
13189// AssessmentReportStatus_Values returns all elements of the AssessmentReportStatus enum
13190func AssessmentReportStatus_Values() []string {
13191	return []string{
13192		AssessmentReportStatusComplete,
13193		AssessmentReportStatusInProgress,
13194		AssessmentReportStatusFailed,
13195	}
13196}
13197
13198const (
13199	// AssessmentStatusActive is a AssessmentStatus enum value
13200	AssessmentStatusActive = "ACTIVE"
13201
13202	// AssessmentStatusInactive is a AssessmentStatus enum value
13203	AssessmentStatusInactive = "INACTIVE"
13204)
13205
13206// AssessmentStatus_Values returns all elements of the AssessmentStatus enum
13207func AssessmentStatus_Values() []string {
13208	return []string{
13209		AssessmentStatusActive,
13210		AssessmentStatusInactive,
13211	}
13212}
13213
13214const (
13215	// ControlResponseManual is a ControlResponse enum value
13216	ControlResponseManual = "MANUAL"
13217
13218	// ControlResponseAutomate is a ControlResponse enum value
13219	ControlResponseAutomate = "AUTOMATE"
13220
13221	// ControlResponseDefer is a ControlResponse enum value
13222	ControlResponseDefer = "DEFER"
13223
13224	// ControlResponseIgnore is a ControlResponse enum value
13225	ControlResponseIgnore = "IGNORE"
13226)
13227
13228// ControlResponse_Values returns all elements of the ControlResponse enum
13229func ControlResponse_Values() []string {
13230	return []string{
13231		ControlResponseManual,
13232		ControlResponseAutomate,
13233		ControlResponseDefer,
13234		ControlResponseIgnore,
13235	}
13236}
13237
13238const (
13239	// ControlSetStatusActive is a ControlSetStatus enum value
13240	ControlSetStatusActive = "ACTIVE"
13241
13242	// ControlSetStatusUnderReview is a ControlSetStatus enum value
13243	ControlSetStatusUnderReview = "UNDER_REVIEW"
13244
13245	// ControlSetStatusReviewed is a ControlSetStatus enum value
13246	ControlSetStatusReviewed = "REVIEWED"
13247)
13248
13249// ControlSetStatus_Values returns all elements of the ControlSetStatus enum
13250func ControlSetStatus_Values() []string {
13251	return []string{
13252		ControlSetStatusActive,
13253		ControlSetStatusUnderReview,
13254		ControlSetStatusReviewed,
13255	}
13256}
13257
13258const (
13259	// ControlStatusUnderReview is a ControlStatus enum value
13260	ControlStatusUnderReview = "UNDER_REVIEW"
13261
13262	// ControlStatusReviewed is a ControlStatus enum value
13263	ControlStatusReviewed = "REVIEWED"
13264
13265	// ControlStatusInactive is a ControlStatus enum value
13266	ControlStatusInactive = "INACTIVE"
13267)
13268
13269// ControlStatus_Values returns all elements of the ControlStatus enum
13270func ControlStatus_Values() []string {
13271	return []string{
13272		ControlStatusUnderReview,
13273		ControlStatusReviewed,
13274		ControlStatusInactive,
13275	}
13276}
13277
13278const (
13279	// ControlTypeStandard is a ControlType enum value
13280	ControlTypeStandard = "Standard"
13281
13282	// ControlTypeCustom is a ControlType enum value
13283	ControlTypeCustom = "Custom"
13284)
13285
13286// ControlType_Values returns all elements of the ControlType enum
13287func ControlType_Values() []string {
13288	return []string{
13289		ControlTypeStandard,
13290		ControlTypeCustom,
13291	}
13292}
13293
13294const (
13295	// DelegationStatusInProgress is a DelegationStatus enum value
13296	DelegationStatusInProgress = "IN_PROGRESS"
13297
13298	// DelegationStatusUnderReview is a DelegationStatus enum value
13299	DelegationStatusUnderReview = "UNDER_REVIEW"
13300
13301	// DelegationStatusComplete is a DelegationStatus enum value
13302	DelegationStatusComplete = "COMPLETE"
13303)
13304
13305// DelegationStatus_Values returns all elements of the DelegationStatus enum
13306func DelegationStatus_Values() []string {
13307	return []string{
13308		DelegationStatusInProgress,
13309		DelegationStatusUnderReview,
13310		DelegationStatusComplete,
13311	}
13312}
13313
13314const (
13315	// FrameworkTypeStandard is a FrameworkType enum value
13316	FrameworkTypeStandard = "Standard"
13317
13318	// FrameworkTypeCustom is a FrameworkType enum value
13319	FrameworkTypeCustom = "Custom"
13320)
13321
13322// FrameworkType_Values returns all elements of the FrameworkType enum
13323func FrameworkType_Values() []string {
13324	return []string{
13325		FrameworkTypeStandard,
13326		FrameworkTypeCustom,
13327	}
13328}
13329
13330const (
13331	// KeywordInputTypeSelectFromList is a KeywordInputType enum value
13332	KeywordInputTypeSelectFromList = "SELECT_FROM_LIST"
13333)
13334
13335// KeywordInputType_Values returns all elements of the KeywordInputType enum
13336func KeywordInputType_Values() []string {
13337	return []string{
13338		KeywordInputTypeSelectFromList,
13339	}
13340}
13341
13342const (
13343	// ObjectTypeEnumAssessment is a ObjectTypeEnum enum value
13344	ObjectTypeEnumAssessment = "ASSESSMENT"
13345
13346	// ObjectTypeEnumControlSet is a ObjectTypeEnum enum value
13347	ObjectTypeEnumControlSet = "CONTROL_SET"
13348
13349	// ObjectTypeEnumControl is a ObjectTypeEnum enum value
13350	ObjectTypeEnumControl = "CONTROL"
13351
13352	// ObjectTypeEnumDelegation is a ObjectTypeEnum enum value
13353	ObjectTypeEnumDelegation = "DELEGATION"
13354
13355	// ObjectTypeEnumAssessmentReport is a ObjectTypeEnum enum value
13356	ObjectTypeEnumAssessmentReport = "ASSESSMENT_REPORT"
13357)
13358
13359// ObjectTypeEnum_Values returns all elements of the ObjectTypeEnum enum
13360func ObjectTypeEnum_Values() []string {
13361	return []string{
13362		ObjectTypeEnumAssessment,
13363		ObjectTypeEnumControlSet,
13364		ObjectTypeEnumControl,
13365		ObjectTypeEnumDelegation,
13366		ObjectTypeEnumAssessmentReport,
13367	}
13368}
13369
13370const (
13371	// RoleTypeProcessOwner is a RoleType enum value
13372	RoleTypeProcessOwner = "PROCESS_OWNER"
13373
13374	// RoleTypeResourceOwner is a RoleType enum value
13375	RoleTypeResourceOwner = "RESOURCE_OWNER"
13376)
13377
13378// RoleType_Values returns all elements of the RoleType enum
13379func RoleType_Values() []string {
13380	return []string{
13381		RoleTypeProcessOwner,
13382		RoleTypeResourceOwner,
13383	}
13384}
13385
13386const (
13387	// SettingAttributeAll is a SettingAttribute enum value
13388	SettingAttributeAll = "ALL"
13389
13390	// SettingAttributeIsAwsOrgEnabled is a SettingAttribute enum value
13391	SettingAttributeIsAwsOrgEnabled = "IS_AWS_ORG_ENABLED"
13392
13393	// SettingAttributeSnsTopic is a SettingAttribute enum value
13394	SettingAttributeSnsTopic = "SNS_TOPIC"
13395
13396	// SettingAttributeDefaultAssessmentReportsDestination is a SettingAttribute enum value
13397	SettingAttributeDefaultAssessmentReportsDestination = "DEFAULT_ASSESSMENT_REPORTS_DESTINATION"
13398
13399	// SettingAttributeDefaultProcessOwners is a SettingAttribute enum value
13400	SettingAttributeDefaultProcessOwners = "DEFAULT_PROCESS_OWNERS"
13401)
13402
13403// SettingAttribute_Values returns all elements of the SettingAttribute enum
13404func SettingAttribute_Values() []string {
13405	return []string{
13406		SettingAttributeAll,
13407		SettingAttributeIsAwsOrgEnabled,
13408		SettingAttributeSnsTopic,
13409		SettingAttributeDefaultAssessmentReportsDestination,
13410		SettingAttributeDefaultProcessOwners,
13411	}
13412}
13413
13414const (
13415	// SourceFrequencyDaily is a SourceFrequency enum value
13416	SourceFrequencyDaily = "DAILY"
13417
13418	// SourceFrequencyWeekly is a SourceFrequency enum value
13419	SourceFrequencyWeekly = "WEEKLY"
13420
13421	// SourceFrequencyMonthly is a SourceFrequency enum value
13422	SourceFrequencyMonthly = "MONTHLY"
13423)
13424
13425// SourceFrequency_Values returns all elements of the SourceFrequency enum
13426func SourceFrequency_Values() []string {
13427	return []string{
13428		SourceFrequencyDaily,
13429		SourceFrequencyWeekly,
13430		SourceFrequencyMonthly,
13431	}
13432}
13433
13434const (
13435	// SourceSetUpOptionSystemControlsMapping is a SourceSetUpOption enum value
13436	SourceSetUpOptionSystemControlsMapping = "System_Controls_Mapping"
13437
13438	// SourceSetUpOptionProceduralControlsMapping is a SourceSetUpOption enum value
13439	SourceSetUpOptionProceduralControlsMapping = "Procedural_Controls_Mapping"
13440)
13441
13442// SourceSetUpOption_Values returns all elements of the SourceSetUpOption enum
13443func SourceSetUpOption_Values() []string {
13444	return []string{
13445		SourceSetUpOptionSystemControlsMapping,
13446		SourceSetUpOptionProceduralControlsMapping,
13447	}
13448}
13449
13450const (
13451	// SourceTypeAwsCloudtrail is a SourceType enum value
13452	SourceTypeAwsCloudtrail = "AWS_Cloudtrail"
13453
13454	// SourceTypeAwsConfig is a SourceType enum value
13455	SourceTypeAwsConfig = "AWS_Config"
13456
13457	// SourceTypeAwsSecurityHub is a SourceType enum value
13458	SourceTypeAwsSecurityHub = "AWS_Security_Hub"
13459
13460	// SourceTypeAwsApiCall is a SourceType enum value
13461	SourceTypeAwsApiCall = "AWS_API_Call"
13462
13463	// SourceTypeManual is a SourceType enum value
13464	SourceTypeManual = "MANUAL"
13465)
13466
13467// SourceType_Values returns all elements of the SourceType enum
13468func SourceType_Values() []string {
13469	return []string{
13470		SourceTypeAwsCloudtrail,
13471		SourceTypeAwsConfig,
13472		SourceTypeAwsSecurityHub,
13473		SourceTypeAwsApiCall,
13474		SourceTypeManual,
13475	}
13476}
13477
13478const (
13479	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
13480	ValidationExceptionReasonUnknownOperation = "unknownOperation"
13481
13482	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
13483	ValidationExceptionReasonCannotParse = "cannotParse"
13484
13485	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
13486	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
13487
13488	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
13489	ValidationExceptionReasonOther = "other"
13490)
13491
13492// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
13493func ValidationExceptionReason_Values() []string {
13494	return []string{
13495		ValidationExceptionReasonUnknownOperation,
13496		ValidationExceptionReasonCannotParse,
13497		ValidationExceptionReasonFieldValidationFailed,
13498		ValidationExceptionReasonOther,
13499	}
13500}
13501