1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package inspector
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAddAttributesToFindings = "AddAttributesToFindings"
17
18// AddAttributesToFindingsRequest generates a "aws/request.Request" representing the
19// client's request for the AddAttributesToFindings 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 AddAttributesToFindings for more information on using the AddAttributesToFindings
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 AddAttributesToFindingsRequest method.
34//    req, resp := client.AddAttributesToFindingsRequest(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/inspector-2016-02-16/AddAttributesToFindings
42func (c *Inspector) AddAttributesToFindingsRequest(input *AddAttributesToFindingsInput) (req *request.Request, output *AddAttributesToFindingsOutput) {
43	op := &request.Operation{
44		Name:       opAddAttributesToFindings,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddAttributesToFindingsInput{}
51	}
52
53	output = &AddAttributesToFindingsOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AddAttributesToFindings API operation for Amazon Inspector.
59//
60// Assigns attributes (key and value pairs) to the findings that are specified
61// by the ARNs of the findings.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon Inspector's
68// API operation AddAttributesToFindings for usage and error information.
69//
70// Returned Error Codes:
71//   * ErrCodeInternalException "InternalException"
72//   Internal server error.
73//
74//   * ErrCodeInvalidInputException "InvalidInputException"
75//   The request was rejected because an invalid or out-of-range value was supplied
76//   for an input parameter.
77//
78//   * ErrCodeAccessDeniedException "AccessDeniedException"
79//   You do not have required permissions to access the requested resource.
80//
81//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
82//   The request was rejected because it referenced an entity that does not exist.
83//   The error code describes the entity.
84//
85//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
86//   The serice is temporary unavailable.
87//
88// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/AddAttributesToFindings
89func (c *Inspector) AddAttributesToFindings(input *AddAttributesToFindingsInput) (*AddAttributesToFindingsOutput, error) {
90	req, out := c.AddAttributesToFindingsRequest(input)
91	return out, req.Send()
92}
93
94// AddAttributesToFindingsWithContext is the same as AddAttributesToFindings with the addition of
95// the ability to pass a context and additional request options.
96//
97// See AddAttributesToFindings for details on how to use this API operation.
98//
99// The context must be non-nil and will be used for request cancellation. If
100// the context is nil a panic will occur. In the future the SDK may create
101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
102// for more information on using Contexts.
103func (c *Inspector) AddAttributesToFindingsWithContext(ctx aws.Context, input *AddAttributesToFindingsInput, opts ...request.Option) (*AddAttributesToFindingsOutput, error) {
104	req, out := c.AddAttributesToFindingsRequest(input)
105	req.SetContext(ctx)
106	req.ApplyOptions(opts...)
107	return out, req.Send()
108}
109
110const opCreateAssessmentTarget = "CreateAssessmentTarget"
111
112// CreateAssessmentTargetRequest generates a "aws/request.Request" representing the
113// client's request for the CreateAssessmentTarget operation. The "output" return
114// value will be populated with the request's response once the request completes
115// successfully.
116//
117// Use "Send" method on the returned Request to send the API call to the service.
118// the "output" return value is not valid until after Send returns without error.
119//
120// See CreateAssessmentTarget for more information on using the CreateAssessmentTarget
121// API call, and error handling.
122//
123// This method is useful when you want to inject custom logic or configuration
124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
125//
126//
127//    // Example sending a request using the CreateAssessmentTargetRequest method.
128//    req, resp := client.CreateAssessmentTargetRequest(params)
129//
130//    err := req.Send()
131//    if err == nil { // resp is now filled
132//        fmt.Println(resp)
133//    }
134//
135// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateAssessmentTarget
136func (c *Inspector) CreateAssessmentTargetRequest(input *CreateAssessmentTargetInput) (req *request.Request, output *CreateAssessmentTargetOutput) {
137	op := &request.Operation{
138		Name:       opCreateAssessmentTarget,
139		HTTPMethod: "POST",
140		HTTPPath:   "/",
141	}
142
143	if input == nil {
144		input = &CreateAssessmentTargetInput{}
145	}
146
147	output = &CreateAssessmentTargetOutput{}
148	req = c.newRequest(op, input, output)
149	return
150}
151
152// CreateAssessmentTarget API operation for Amazon Inspector.
153//
154// Creates a new assessment target using the ARN of the resource group that
155// is generated by CreateResourceGroup. If resourceGroupArn is not specified,
156// all EC2 instances in the current AWS account and region are included in the
157// assessment target. If the service-linked role (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_slr.html)
158// isn’t already registered, this action also creates and registers a service-linked
159// role to grant Amazon Inspector access to AWS Services needed to perform security
160// assessments. You can create up to 50 assessment targets per AWS account.
161// You can run up to 500 concurrent agents per AWS account. For more information,
162// see Amazon Inspector Assessment Targets (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_applications.html).
163//
164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
165// with awserr.Error's Code and Message methods to get detailed information about
166// the error.
167//
168// See the AWS API reference guide for Amazon Inspector's
169// API operation CreateAssessmentTarget for usage and error information.
170//
171// Returned Error Codes:
172//   * ErrCodeInternalException "InternalException"
173//   Internal server error.
174//
175//   * ErrCodeInvalidInputException "InvalidInputException"
176//   The request was rejected because an invalid or out-of-range value was supplied
177//   for an input parameter.
178//
179//   * ErrCodeLimitExceededException "LimitExceededException"
180//   The request was rejected because it attempted to create resources beyond
181//   the current AWS account limits. The error code describes the limit exceeded.
182//
183//   * ErrCodeAccessDeniedException "AccessDeniedException"
184//   You do not have required permissions to access the requested resource.
185//
186//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
187//   The request was rejected because it referenced an entity that does not exist.
188//   The error code describes the entity.
189//
190//   * ErrCodeInvalidCrossAccountRoleException "InvalidCrossAccountRoleException"
191//   Amazon Inspector cannot assume the cross-account role that it needs to list
192//   your EC2 instances during the assessment run.
193//
194//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
195//   The serice is temporary unavailable.
196//
197// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateAssessmentTarget
198func (c *Inspector) CreateAssessmentTarget(input *CreateAssessmentTargetInput) (*CreateAssessmentTargetOutput, error) {
199	req, out := c.CreateAssessmentTargetRequest(input)
200	return out, req.Send()
201}
202
203// CreateAssessmentTargetWithContext is the same as CreateAssessmentTarget with the addition of
204// the ability to pass a context and additional request options.
205//
206// See CreateAssessmentTarget for details on how to use this API operation.
207//
208// The context must be non-nil and will be used for request cancellation. If
209// the context is nil a panic will occur. In the future the SDK may create
210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
211// for more information on using Contexts.
212func (c *Inspector) CreateAssessmentTargetWithContext(ctx aws.Context, input *CreateAssessmentTargetInput, opts ...request.Option) (*CreateAssessmentTargetOutput, error) {
213	req, out := c.CreateAssessmentTargetRequest(input)
214	req.SetContext(ctx)
215	req.ApplyOptions(opts...)
216	return out, req.Send()
217}
218
219const opCreateAssessmentTemplate = "CreateAssessmentTemplate"
220
221// CreateAssessmentTemplateRequest generates a "aws/request.Request" representing the
222// client's request for the CreateAssessmentTemplate operation. The "output" return
223// value will be populated with the request's response once the request completes
224// successfully.
225//
226// Use "Send" method on the returned Request to send the API call to the service.
227// the "output" return value is not valid until after Send returns without error.
228//
229// See CreateAssessmentTemplate for more information on using the CreateAssessmentTemplate
230// API call, and error handling.
231//
232// This method is useful when you want to inject custom logic or configuration
233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
234//
235//
236//    // Example sending a request using the CreateAssessmentTemplateRequest method.
237//    req, resp := client.CreateAssessmentTemplateRequest(params)
238//
239//    err := req.Send()
240//    if err == nil { // resp is now filled
241//        fmt.Println(resp)
242//    }
243//
244// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateAssessmentTemplate
245func (c *Inspector) CreateAssessmentTemplateRequest(input *CreateAssessmentTemplateInput) (req *request.Request, output *CreateAssessmentTemplateOutput) {
246	op := &request.Operation{
247		Name:       opCreateAssessmentTemplate,
248		HTTPMethod: "POST",
249		HTTPPath:   "/",
250	}
251
252	if input == nil {
253		input = &CreateAssessmentTemplateInput{}
254	}
255
256	output = &CreateAssessmentTemplateOutput{}
257	req = c.newRequest(op, input, output)
258	return
259}
260
261// CreateAssessmentTemplate API operation for Amazon Inspector.
262//
263// Creates an assessment template for the assessment target that is specified
264// by the ARN of the assessment target. If the service-linked role (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_slr.html)
265// isn’t already registered, this action also creates and registers a service-linked
266// role to grant Amazon Inspector access to AWS Services needed to perform security
267// assessments.
268//
269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
270// with awserr.Error's Code and Message methods to get detailed information about
271// the error.
272//
273// See the AWS API reference guide for Amazon Inspector's
274// API operation CreateAssessmentTemplate for usage and error information.
275//
276// Returned Error Codes:
277//   * ErrCodeInternalException "InternalException"
278//   Internal server error.
279//
280//   * ErrCodeInvalidInputException "InvalidInputException"
281//   The request was rejected because an invalid or out-of-range value was supplied
282//   for an input parameter.
283//
284//   * ErrCodeLimitExceededException "LimitExceededException"
285//   The request was rejected because it attempted to create resources beyond
286//   the current AWS account limits. The error code describes the limit exceeded.
287//
288//   * ErrCodeAccessDeniedException "AccessDeniedException"
289//   You do not have required permissions to access the requested resource.
290//
291//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
292//   The request was rejected because it referenced an entity that does not exist.
293//   The error code describes the entity.
294//
295//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
296//   The serice is temporary unavailable.
297//
298// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateAssessmentTemplate
299func (c *Inspector) CreateAssessmentTemplate(input *CreateAssessmentTemplateInput) (*CreateAssessmentTemplateOutput, error) {
300	req, out := c.CreateAssessmentTemplateRequest(input)
301	return out, req.Send()
302}
303
304// CreateAssessmentTemplateWithContext is the same as CreateAssessmentTemplate with the addition of
305// the ability to pass a context and additional request options.
306//
307// See CreateAssessmentTemplate for details on how to use this API operation.
308//
309// The context must be non-nil and will be used for request cancellation. If
310// the context is nil a panic will occur. In the future the SDK may create
311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
312// for more information on using Contexts.
313func (c *Inspector) CreateAssessmentTemplateWithContext(ctx aws.Context, input *CreateAssessmentTemplateInput, opts ...request.Option) (*CreateAssessmentTemplateOutput, error) {
314	req, out := c.CreateAssessmentTemplateRequest(input)
315	req.SetContext(ctx)
316	req.ApplyOptions(opts...)
317	return out, req.Send()
318}
319
320const opCreateExclusionsPreview = "CreateExclusionsPreview"
321
322// CreateExclusionsPreviewRequest generates a "aws/request.Request" representing the
323// client's request for the CreateExclusionsPreview operation. The "output" return
324// value will be populated with the request's response once the request completes
325// successfully.
326//
327// Use "Send" method on the returned Request to send the API call to the service.
328// the "output" return value is not valid until after Send returns without error.
329//
330// See CreateExclusionsPreview for more information on using the CreateExclusionsPreview
331// API call, and error handling.
332//
333// This method is useful when you want to inject custom logic or configuration
334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
335//
336//
337//    // Example sending a request using the CreateExclusionsPreviewRequest method.
338//    req, resp := client.CreateExclusionsPreviewRequest(params)
339//
340//    err := req.Send()
341//    if err == nil { // resp is now filled
342//        fmt.Println(resp)
343//    }
344//
345// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateExclusionsPreview
346func (c *Inspector) CreateExclusionsPreviewRequest(input *CreateExclusionsPreviewInput) (req *request.Request, output *CreateExclusionsPreviewOutput) {
347	op := &request.Operation{
348		Name:       opCreateExclusionsPreview,
349		HTTPMethod: "POST",
350		HTTPPath:   "/",
351	}
352
353	if input == nil {
354		input = &CreateExclusionsPreviewInput{}
355	}
356
357	output = &CreateExclusionsPreviewOutput{}
358	req = c.newRequest(op, input, output)
359	return
360}
361
362// CreateExclusionsPreview API operation for Amazon Inspector.
363//
364// Starts the generation of an exclusions preview for the specified assessment
365// template. The exclusions preview lists the potential exclusions (ExclusionPreview)
366// that Inspector can detect before it runs the assessment.
367//
368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
369// with awserr.Error's Code and Message methods to get detailed information about
370// the error.
371//
372// See the AWS API reference guide for Amazon Inspector's
373// API operation CreateExclusionsPreview for usage and error information.
374//
375// Returned Error Codes:
376//   * ErrCodeInvalidInputException "InvalidInputException"
377//   The request was rejected because an invalid or out-of-range value was supplied
378//   for an input parameter.
379//
380//   * ErrCodePreviewGenerationInProgressException "PreviewGenerationInProgressException"
381//   The request is rejected. The specified assessment template is currently generating
382//   an exclusions preview.
383//
384//   * ErrCodeInternalException "InternalException"
385//   Internal server error.
386//
387//   * ErrCodeAccessDeniedException "AccessDeniedException"
388//   You do not have required permissions to access the requested resource.
389//
390//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
391//   The request was rejected because it referenced an entity that does not exist.
392//   The error code describes the entity.
393//
394//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
395//   The serice is temporary unavailable.
396//
397// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateExclusionsPreview
398func (c *Inspector) CreateExclusionsPreview(input *CreateExclusionsPreviewInput) (*CreateExclusionsPreviewOutput, error) {
399	req, out := c.CreateExclusionsPreviewRequest(input)
400	return out, req.Send()
401}
402
403// CreateExclusionsPreviewWithContext is the same as CreateExclusionsPreview with the addition of
404// the ability to pass a context and additional request options.
405//
406// See CreateExclusionsPreview for details on how to use this API operation.
407//
408// The context must be non-nil and will be used for request cancellation. If
409// the context is nil a panic will occur. In the future the SDK may create
410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
411// for more information on using Contexts.
412func (c *Inspector) CreateExclusionsPreviewWithContext(ctx aws.Context, input *CreateExclusionsPreviewInput, opts ...request.Option) (*CreateExclusionsPreviewOutput, error) {
413	req, out := c.CreateExclusionsPreviewRequest(input)
414	req.SetContext(ctx)
415	req.ApplyOptions(opts...)
416	return out, req.Send()
417}
418
419const opCreateResourceGroup = "CreateResourceGroup"
420
421// CreateResourceGroupRequest generates a "aws/request.Request" representing the
422// client's request for the CreateResourceGroup operation. The "output" return
423// value will be populated with the request's response once the request completes
424// successfully.
425//
426// Use "Send" method on the returned Request to send the API call to the service.
427// the "output" return value is not valid until after Send returns without error.
428//
429// See CreateResourceGroup for more information on using the CreateResourceGroup
430// API call, and error handling.
431//
432// This method is useful when you want to inject custom logic or configuration
433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
434//
435//
436//    // Example sending a request using the CreateResourceGroupRequest method.
437//    req, resp := client.CreateResourceGroupRequest(params)
438//
439//    err := req.Send()
440//    if err == nil { // resp is now filled
441//        fmt.Println(resp)
442//    }
443//
444// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateResourceGroup
445func (c *Inspector) CreateResourceGroupRequest(input *CreateResourceGroupInput) (req *request.Request, output *CreateResourceGroupOutput) {
446	op := &request.Operation{
447		Name:       opCreateResourceGroup,
448		HTTPMethod: "POST",
449		HTTPPath:   "/",
450	}
451
452	if input == nil {
453		input = &CreateResourceGroupInput{}
454	}
455
456	output = &CreateResourceGroupOutput{}
457	req = c.newRequest(op, input, output)
458	return
459}
460
461// CreateResourceGroup API operation for Amazon Inspector.
462//
463// Creates a resource group using the specified set of tags (key and value pairs)
464// that are used to select the EC2 instances to be included in an Amazon Inspector
465// assessment target. The created resource group is then used to create an Amazon
466// Inspector assessment target. For more information, see CreateAssessmentTarget.
467//
468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
469// with awserr.Error's Code and Message methods to get detailed information about
470// the error.
471//
472// See the AWS API reference guide for Amazon Inspector's
473// API operation CreateResourceGroup for usage and error information.
474//
475// Returned Error Codes:
476//   * ErrCodeInternalException "InternalException"
477//   Internal server error.
478//
479//   * ErrCodeInvalidInputException "InvalidInputException"
480//   The request was rejected because an invalid or out-of-range value was supplied
481//   for an input parameter.
482//
483//   * ErrCodeLimitExceededException "LimitExceededException"
484//   The request was rejected because it attempted to create resources beyond
485//   the current AWS account limits. The error code describes the limit exceeded.
486//
487//   * ErrCodeAccessDeniedException "AccessDeniedException"
488//   You do not have required permissions to access the requested resource.
489//
490//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
491//   The serice is temporary unavailable.
492//
493// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/CreateResourceGroup
494func (c *Inspector) CreateResourceGroup(input *CreateResourceGroupInput) (*CreateResourceGroupOutput, error) {
495	req, out := c.CreateResourceGroupRequest(input)
496	return out, req.Send()
497}
498
499// CreateResourceGroupWithContext is the same as CreateResourceGroup with the addition of
500// the ability to pass a context and additional request options.
501//
502// See CreateResourceGroup for details on how to use this API operation.
503//
504// The context must be non-nil and will be used for request cancellation. If
505// the context is nil a panic will occur. In the future the SDK may create
506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
507// for more information on using Contexts.
508func (c *Inspector) CreateResourceGroupWithContext(ctx aws.Context, input *CreateResourceGroupInput, opts ...request.Option) (*CreateResourceGroupOutput, error) {
509	req, out := c.CreateResourceGroupRequest(input)
510	req.SetContext(ctx)
511	req.ApplyOptions(opts...)
512	return out, req.Send()
513}
514
515const opDeleteAssessmentRun = "DeleteAssessmentRun"
516
517// DeleteAssessmentRunRequest generates a "aws/request.Request" representing the
518// client's request for the DeleteAssessmentRun operation. The "output" return
519// value will be populated with the request's response once the request completes
520// successfully.
521//
522// Use "Send" method on the returned Request to send the API call to the service.
523// the "output" return value is not valid until after Send returns without error.
524//
525// See DeleteAssessmentRun for more information on using the DeleteAssessmentRun
526// API call, and error handling.
527//
528// This method is useful when you want to inject custom logic or configuration
529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
530//
531//
532//    // Example sending a request using the DeleteAssessmentRunRequest method.
533//    req, resp := client.DeleteAssessmentRunRequest(params)
534//
535//    err := req.Send()
536//    if err == nil { // resp is now filled
537//        fmt.Println(resp)
538//    }
539//
540// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentRun
541func (c *Inspector) DeleteAssessmentRunRequest(input *DeleteAssessmentRunInput) (req *request.Request, output *DeleteAssessmentRunOutput) {
542	op := &request.Operation{
543		Name:       opDeleteAssessmentRun,
544		HTTPMethod: "POST",
545		HTTPPath:   "/",
546	}
547
548	if input == nil {
549		input = &DeleteAssessmentRunInput{}
550	}
551
552	output = &DeleteAssessmentRunOutput{}
553	req = c.newRequest(op, input, output)
554	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
555	return
556}
557
558// DeleteAssessmentRun API operation for Amazon Inspector.
559//
560// Deletes the assessment run that is specified by the ARN of the assessment
561// run.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for Amazon Inspector's
568// API operation DeleteAssessmentRun for usage and error information.
569//
570// Returned Error Codes:
571//   * ErrCodeInternalException "InternalException"
572//   Internal server error.
573//
574//   * ErrCodeInvalidInputException "InvalidInputException"
575//   The request was rejected because an invalid or out-of-range value was supplied
576//   for an input parameter.
577//
578//   * ErrCodeAssessmentRunInProgressException "AssessmentRunInProgressException"
579//   You cannot perform a specified action if an assessment run is currently in
580//   progress.
581//
582//   * ErrCodeAccessDeniedException "AccessDeniedException"
583//   You do not have required permissions to access the requested resource.
584//
585//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
586//   The request was rejected because it referenced an entity that does not exist.
587//   The error code describes the entity.
588//
589//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
590//   The serice is temporary unavailable.
591//
592// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentRun
593func (c *Inspector) DeleteAssessmentRun(input *DeleteAssessmentRunInput) (*DeleteAssessmentRunOutput, error) {
594	req, out := c.DeleteAssessmentRunRequest(input)
595	return out, req.Send()
596}
597
598// DeleteAssessmentRunWithContext is the same as DeleteAssessmentRun with the addition of
599// the ability to pass a context and additional request options.
600//
601// See DeleteAssessmentRun for details on how to use this API operation.
602//
603// The context must be non-nil and will be used for request cancellation. If
604// the context is nil a panic will occur. In the future the SDK may create
605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
606// for more information on using Contexts.
607func (c *Inspector) DeleteAssessmentRunWithContext(ctx aws.Context, input *DeleteAssessmentRunInput, opts ...request.Option) (*DeleteAssessmentRunOutput, error) {
608	req, out := c.DeleteAssessmentRunRequest(input)
609	req.SetContext(ctx)
610	req.ApplyOptions(opts...)
611	return out, req.Send()
612}
613
614const opDeleteAssessmentTarget = "DeleteAssessmentTarget"
615
616// DeleteAssessmentTargetRequest generates a "aws/request.Request" representing the
617// client's request for the DeleteAssessmentTarget operation. The "output" return
618// value will be populated with the request's response once the request completes
619// successfully.
620//
621// Use "Send" method on the returned Request to send the API call to the service.
622// the "output" return value is not valid until after Send returns without error.
623//
624// See DeleteAssessmentTarget for more information on using the DeleteAssessmentTarget
625// API call, and error handling.
626//
627// This method is useful when you want to inject custom logic or configuration
628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
629//
630//
631//    // Example sending a request using the DeleteAssessmentTargetRequest method.
632//    req, resp := client.DeleteAssessmentTargetRequest(params)
633//
634//    err := req.Send()
635//    if err == nil { // resp is now filled
636//        fmt.Println(resp)
637//    }
638//
639// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentTarget
640func (c *Inspector) DeleteAssessmentTargetRequest(input *DeleteAssessmentTargetInput) (req *request.Request, output *DeleteAssessmentTargetOutput) {
641	op := &request.Operation{
642		Name:       opDeleteAssessmentTarget,
643		HTTPMethod: "POST",
644		HTTPPath:   "/",
645	}
646
647	if input == nil {
648		input = &DeleteAssessmentTargetInput{}
649	}
650
651	output = &DeleteAssessmentTargetOutput{}
652	req = c.newRequest(op, input, output)
653	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
654	return
655}
656
657// DeleteAssessmentTarget API operation for Amazon Inspector.
658//
659// Deletes the assessment target that is specified by the ARN of the assessment
660// target.
661//
662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
663// with awserr.Error's Code and Message methods to get detailed information about
664// the error.
665//
666// See the AWS API reference guide for Amazon Inspector's
667// API operation DeleteAssessmentTarget for usage and error information.
668//
669// Returned Error Codes:
670//   * ErrCodeInternalException "InternalException"
671//   Internal server error.
672//
673//   * ErrCodeInvalidInputException "InvalidInputException"
674//   The request was rejected because an invalid or out-of-range value was supplied
675//   for an input parameter.
676//
677//   * ErrCodeAssessmentRunInProgressException "AssessmentRunInProgressException"
678//   You cannot perform a specified action if an assessment run is currently in
679//   progress.
680//
681//   * ErrCodeAccessDeniedException "AccessDeniedException"
682//   You do not have required permissions to access the requested resource.
683//
684//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
685//   The request was rejected because it referenced an entity that does not exist.
686//   The error code describes the entity.
687//
688//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
689//   The serice is temporary unavailable.
690//
691// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentTarget
692func (c *Inspector) DeleteAssessmentTarget(input *DeleteAssessmentTargetInput) (*DeleteAssessmentTargetOutput, error) {
693	req, out := c.DeleteAssessmentTargetRequest(input)
694	return out, req.Send()
695}
696
697// DeleteAssessmentTargetWithContext is the same as DeleteAssessmentTarget with the addition of
698// the ability to pass a context and additional request options.
699//
700// See DeleteAssessmentTarget for details on how to use this API operation.
701//
702// The context must be non-nil and will be used for request cancellation. If
703// the context is nil a panic will occur. In the future the SDK may create
704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
705// for more information on using Contexts.
706func (c *Inspector) DeleteAssessmentTargetWithContext(ctx aws.Context, input *DeleteAssessmentTargetInput, opts ...request.Option) (*DeleteAssessmentTargetOutput, error) {
707	req, out := c.DeleteAssessmentTargetRequest(input)
708	req.SetContext(ctx)
709	req.ApplyOptions(opts...)
710	return out, req.Send()
711}
712
713const opDeleteAssessmentTemplate = "DeleteAssessmentTemplate"
714
715// DeleteAssessmentTemplateRequest generates a "aws/request.Request" representing the
716// client's request for the DeleteAssessmentTemplate operation. The "output" return
717// value will be populated with the request's response once the request completes
718// successfully.
719//
720// Use "Send" method on the returned Request to send the API call to the service.
721// the "output" return value is not valid until after Send returns without error.
722//
723// See DeleteAssessmentTemplate for more information on using the DeleteAssessmentTemplate
724// API call, and error handling.
725//
726// This method is useful when you want to inject custom logic or configuration
727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
728//
729//
730//    // Example sending a request using the DeleteAssessmentTemplateRequest method.
731//    req, resp := client.DeleteAssessmentTemplateRequest(params)
732//
733//    err := req.Send()
734//    if err == nil { // resp is now filled
735//        fmt.Println(resp)
736//    }
737//
738// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentTemplate
739func (c *Inspector) DeleteAssessmentTemplateRequest(input *DeleteAssessmentTemplateInput) (req *request.Request, output *DeleteAssessmentTemplateOutput) {
740	op := &request.Operation{
741		Name:       opDeleteAssessmentTemplate,
742		HTTPMethod: "POST",
743		HTTPPath:   "/",
744	}
745
746	if input == nil {
747		input = &DeleteAssessmentTemplateInput{}
748	}
749
750	output = &DeleteAssessmentTemplateOutput{}
751	req = c.newRequest(op, input, output)
752	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
753	return
754}
755
756// DeleteAssessmentTemplate API operation for Amazon Inspector.
757//
758// Deletes the assessment template that is specified by the ARN of the assessment
759// template.
760//
761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
762// with awserr.Error's Code and Message methods to get detailed information about
763// the error.
764//
765// See the AWS API reference guide for Amazon Inspector's
766// API operation DeleteAssessmentTemplate for usage and error information.
767//
768// Returned Error Codes:
769//   * ErrCodeInternalException "InternalException"
770//   Internal server error.
771//
772//   * ErrCodeInvalidInputException "InvalidInputException"
773//   The request was rejected because an invalid or out-of-range value was supplied
774//   for an input parameter.
775//
776//   * ErrCodeAssessmentRunInProgressException "AssessmentRunInProgressException"
777//   You cannot perform a specified action if an assessment run is currently in
778//   progress.
779//
780//   * ErrCodeAccessDeniedException "AccessDeniedException"
781//   You do not have required permissions to access the requested resource.
782//
783//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
784//   The request was rejected because it referenced an entity that does not exist.
785//   The error code describes the entity.
786//
787//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
788//   The serice is temporary unavailable.
789//
790// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DeleteAssessmentTemplate
791func (c *Inspector) DeleteAssessmentTemplate(input *DeleteAssessmentTemplateInput) (*DeleteAssessmentTemplateOutput, error) {
792	req, out := c.DeleteAssessmentTemplateRequest(input)
793	return out, req.Send()
794}
795
796// DeleteAssessmentTemplateWithContext is the same as DeleteAssessmentTemplate with the addition of
797// the ability to pass a context and additional request options.
798//
799// See DeleteAssessmentTemplate for details on how to use this API operation.
800//
801// The context must be non-nil and will be used for request cancellation. If
802// the context is nil a panic will occur. In the future the SDK may create
803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
804// for more information on using Contexts.
805func (c *Inspector) DeleteAssessmentTemplateWithContext(ctx aws.Context, input *DeleteAssessmentTemplateInput, opts ...request.Option) (*DeleteAssessmentTemplateOutput, error) {
806	req, out := c.DeleteAssessmentTemplateRequest(input)
807	req.SetContext(ctx)
808	req.ApplyOptions(opts...)
809	return out, req.Send()
810}
811
812const opDescribeAssessmentRuns = "DescribeAssessmentRuns"
813
814// DescribeAssessmentRunsRequest generates a "aws/request.Request" representing the
815// client's request for the DescribeAssessmentRuns operation. The "output" return
816// value will be populated with the request's response once the request completes
817// successfully.
818//
819// Use "Send" method on the returned Request to send the API call to the service.
820// the "output" return value is not valid until after Send returns without error.
821//
822// See DescribeAssessmentRuns for more information on using the DescribeAssessmentRuns
823// API call, and error handling.
824//
825// This method is useful when you want to inject custom logic or configuration
826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
827//
828//
829//    // Example sending a request using the DescribeAssessmentRunsRequest method.
830//    req, resp := client.DescribeAssessmentRunsRequest(params)
831//
832//    err := req.Send()
833//    if err == nil { // resp is now filled
834//        fmt.Println(resp)
835//    }
836//
837// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentRuns
838func (c *Inspector) DescribeAssessmentRunsRequest(input *DescribeAssessmentRunsInput) (req *request.Request, output *DescribeAssessmentRunsOutput) {
839	op := &request.Operation{
840		Name:       opDescribeAssessmentRuns,
841		HTTPMethod: "POST",
842		HTTPPath:   "/",
843	}
844
845	if input == nil {
846		input = &DescribeAssessmentRunsInput{}
847	}
848
849	output = &DescribeAssessmentRunsOutput{}
850	req = c.newRequest(op, input, output)
851	return
852}
853
854// DescribeAssessmentRuns API operation for Amazon Inspector.
855//
856// Describes the assessment runs that are specified by the ARNs of the assessment
857// runs.
858//
859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
860// with awserr.Error's Code and Message methods to get detailed information about
861// the error.
862//
863// See the AWS API reference guide for Amazon Inspector's
864// API operation DescribeAssessmentRuns for usage and error information.
865//
866// Returned Error Codes:
867//   * ErrCodeInternalException "InternalException"
868//   Internal server error.
869//
870//   * ErrCodeInvalidInputException "InvalidInputException"
871//   The request was rejected because an invalid or out-of-range value was supplied
872//   for an input parameter.
873//
874// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentRuns
875func (c *Inspector) DescribeAssessmentRuns(input *DescribeAssessmentRunsInput) (*DescribeAssessmentRunsOutput, error) {
876	req, out := c.DescribeAssessmentRunsRequest(input)
877	return out, req.Send()
878}
879
880// DescribeAssessmentRunsWithContext is the same as DescribeAssessmentRuns with the addition of
881// the ability to pass a context and additional request options.
882//
883// See DescribeAssessmentRuns for details on how to use this API operation.
884//
885// The context must be non-nil and will be used for request cancellation. If
886// the context is nil a panic will occur. In the future the SDK may create
887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
888// for more information on using Contexts.
889func (c *Inspector) DescribeAssessmentRunsWithContext(ctx aws.Context, input *DescribeAssessmentRunsInput, opts ...request.Option) (*DescribeAssessmentRunsOutput, error) {
890	req, out := c.DescribeAssessmentRunsRequest(input)
891	req.SetContext(ctx)
892	req.ApplyOptions(opts...)
893	return out, req.Send()
894}
895
896const opDescribeAssessmentTargets = "DescribeAssessmentTargets"
897
898// DescribeAssessmentTargetsRequest generates a "aws/request.Request" representing the
899// client's request for the DescribeAssessmentTargets operation. The "output" return
900// value will be populated with the request's response once the request completes
901// successfully.
902//
903// Use "Send" method on the returned Request to send the API call to the service.
904// the "output" return value is not valid until after Send returns without error.
905//
906// See DescribeAssessmentTargets for more information on using the DescribeAssessmentTargets
907// API call, and error handling.
908//
909// This method is useful when you want to inject custom logic or configuration
910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
911//
912//
913//    // Example sending a request using the DescribeAssessmentTargetsRequest method.
914//    req, resp := client.DescribeAssessmentTargetsRequest(params)
915//
916//    err := req.Send()
917//    if err == nil { // resp is now filled
918//        fmt.Println(resp)
919//    }
920//
921// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentTargets
922func (c *Inspector) DescribeAssessmentTargetsRequest(input *DescribeAssessmentTargetsInput) (req *request.Request, output *DescribeAssessmentTargetsOutput) {
923	op := &request.Operation{
924		Name:       opDescribeAssessmentTargets,
925		HTTPMethod: "POST",
926		HTTPPath:   "/",
927	}
928
929	if input == nil {
930		input = &DescribeAssessmentTargetsInput{}
931	}
932
933	output = &DescribeAssessmentTargetsOutput{}
934	req = c.newRequest(op, input, output)
935	return
936}
937
938// DescribeAssessmentTargets API operation for Amazon Inspector.
939//
940// Describes the assessment targets that are specified by the ARNs of the assessment
941// targets.
942//
943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
944// with awserr.Error's Code and Message methods to get detailed information about
945// the error.
946//
947// See the AWS API reference guide for Amazon Inspector's
948// API operation DescribeAssessmentTargets for usage and error information.
949//
950// Returned Error Codes:
951//   * ErrCodeInternalException "InternalException"
952//   Internal server error.
953//
954//   * ErrCodeInvalidInputException "InvalidInputException"
955//   The request was rejected because an invalid or out-of-range value was supplied
956//   for an input parameter.
957//
958// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentTargets
959func (c *Inspector) DescribeAssessmentTargets(input *DescribeAssessmentTargetsInput) (*DescribeAssessmentTargetsOutput, error) {
960	req, out := c.DescribeAssessmentTargetsRequest(input)
961	return out, req.Send()
962}
963
964// DescribeAssessmentTargetsWithContext is the same as DescribeAssessmentTargets with the addition of
965// the ability to pass a context and additional request options.
966//
967// See DescribeAssessmentTargets for details on how to use this API operation.
968//
969// The context must be non-nil and will be used for request cancellation. If
970// the context is nil a panic will occur. In the future the SDK may create
971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
972// for more information on using Contexts.
973func (c *Inspector) DescribeAssessmentTargetsWithContext(ctx aws.Context, input *DescribeAssessmentTargetsInput, opts ...request.Option) (*DescribeAssessmentTargetsOutput, error) {
974	req, out := c.DescribeAssessmentTargetsRequest(input)
975	req.SetContext(ctx)
976	req.ApplyOptions(opts...)
977	return out, req.Send()
978}
979
980const opDescribeAssessmentTemplates = "DescribeAssessmentTemplates"
981
982// DescribeAssessmentTemplatesRequest generates a "aws/request.Request" representing the
983// client's request for the DescribeAssessmentTemplates operation. The "output" return
984// value will be populated with the request's response once the request completes
985// successfully.
986//
987// Use "Send" method on the returned Request to send the API call to the service.
988// the "output" return value is not valid until after Send returns without error.
989//
990// See DescribeAssessmentTemplates for more information on using the DescribeAssessmentTemplates
991// API call, and error handling.
992//
993// This method is useful when you want to inject custom logic or configuration
994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
995//
996//
997//    // Example sending a request using the DescribeAssessmentTemplatesRequest method.
998//    req, resp := client.DescribeAssessmentTemplatesRequest(params)
999//
1000//    err := req.Send()
1001//    if err == nil { // resp is now filled
1002//        fmt.Println(resp)
1003//    }
1004//
1005// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentTemplates
1006func (c *Inspector) DescribeAssessmentTemplatesRequest(input *DescribeAssessmentTemplatesInput) (req *request.Request, output *DescribeAssessmentTemplatesOutput) {
1007	op := &request.Operation{
1008		Name:       opDescribeAssessmentTemplates,
1009		HTTPMethod: "POST",
1010		HTTPPath:   "/",
1011	}
1012
1013	if input == nil {
1014		input = &DescribeAssessmentTemplatesInput{}
1015	}
1016
1017	output = &DescribeAssessmentTemplatesOutput{}
1018	req = c.newRequest(op, input, output)
1019	return
1020}
1021
1022// DescribeAssessmentTemplates API operation for Amazon Inspector.
1023//
1024// Describes the assessment templates that are specified by the ARNs of the
1025// assessment templates.
1026//
1027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1028// with awserr.Error's Code and Message methods to get detailed information about
1029// the error.
1030//
1031// See the AWS API reference guide for Amazon Inspector's
1032// API operation DescribeAssessmentTemplates for usage and error information.
1033//
1034// Returned Error Codes:
1035//   * ErrCodeInternalException "InternalException"
1036//   Internal server error.
1037//
1038//   * ErrCodeInvalidInputException "InvalidInputException"
1039//   The request was rejected because an invalid or out-of-range value was supplied
1040//   for an input parameter.
1041//
1042// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeAssessmentTemplates
1043func (c *Inspector) DescribeAssessmentTemplates(input *DescribeAssessmentTemplatesInput) (*DescribeAssessmentTemplatesOutput, error) {
1044	req, out := c.DescribeAssessmentTemplatesRequest(input)
1045	return out, req.Send()
1046}
1047
1048// DescribeAssessmentTemplatesWithContext is the same as DescribeAssessmentTemplates with the addition of
1049// the ability to pass a context and additional request options.
1050//
1051// See DescribeAssessmentTemplates for details on how to use this API operation.
1052//
1053// The context must be non-nil and will be used for request cancellation. If
1054// the context is nil a panic will occur. In the future the SDK may create
1055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1056// for more information on using Contexts.
1057func (c *Inspector) DescribeAssessmentTemplatesWithContext(ctx aws.Context, input *DescribeAssessmentTemplatesInput, opts ...request.Option) (*DescribeAssessmentTemplatesOutput, error) {
1058	req, out := c.DescribeAssessmentTemplatesRequest(input)
1059	req.SetContext(ctx)
1060	req.ApplyOptions(opts...)
1061	return out, req.Send()
1062}
1063
1064const opDescribeCrossAccountAccessRole = "DescribeCrossAccountAccessRole"
1065
1066// DescribeCrossAccountAccessRoleRequest generates a "aws/request.Request" representing the
1067// client's request for the DescribeCrossAccountAccessRole operation. The "output" return
1068// value will be populated with the request's response once the request completes
1069// successfully.
1070//
1071// Use "Send" method on the returned Request to send the API call to the service.
1072// the "output" return value is not valid until after Send returns without error.
1073//
1074// See DescribeCrossAccountAccessRole for more information on using the DescribeCrossAccountAccessRole
1075// API call, and error handling.
1076//
1077// This method is useful when you want to inject custom logic or configuration
1078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1079//
1080//
1081//    // Example sending a request using the DescribeCrossAccountAccessRoleRequest method.
1082//    req, resp := client.DescribeCrossAccountAccessRoleRequest(params)
1083//
1084//    err := req.Send()
1085//    if err == nil { // resp is now filled
1086//        fmt.Println(resp)
1087//    }
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeCrossAccountAccessRole
1090func (c *Inspector) DescribeCrossAccountAccessRoleRequest(input *DescribeCrossAccountAccessRoleInput) (req *request.Request, output *DescribeCrossAccountAccessRoleOutput) {
1091	op := &request.Operation{
1092		Name:       opDescribeCrossAccountAccessRole,
1093		HTTPMethod: "POST",
1094		HTTPPath:   "/",
1095	}
1096
1097	if input == nil {
1098		input = &DescribeCrossAccountAccessRoleInput{}
1099	}
1100
1101	output = &DescribeCrossAccountAccessRoleOutput{}
1102	req = c.newRequest(op, input, output)
1103	return
1104}
1105
1106// DescribeCrossAccountAccessRole API operation for Amazon Inspector.
1107//
1108// Describes the IAM role that enables Amazon Inspector to access your AWS account.
1109//
1110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1111// with awserr.Error's Code and Message methods to get detailed information about
1112// the error.
1113//
1114// See the AWS API reference guide for Amazon Inspector's
1115// API operation DescribeCrossAccountAccessRole for usage and error information.
1116//
1117// Returned Error Codes:
1118//   * ErrCodeInternalException "InternalException"
1119//   Internal server error.
1120//
1121// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeCrossAccountAccessRole
1122func (c *Inspector) DescribeCrossAccountAccessRole(input *DescribeCrossAccountAccessRoleInput) (*DescribeCrossAccountAccessRoleOutput, error) {
1123	req, out := c.DescribeCrossAccountAccessRoleRequest(input)
1124	return out, req.Send()
1125}
1126
1127// DescribeCrossAccountAccessRoleWithContext is the same as DescribeCrossAccountAccessRole with the addition of
1128// the ability to pass a context and additional request options.
1129//
1130// See DescribeCrossAccountAccessRole for details on how to use this API operation.
1131//
1132// The context must be non-nil and will be used for request cancellation. If
1133// the context is nil a panic will occur. In the future the SDK may create
1134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1135// for more information on using Contexts.
1136func (c *Inspector) DescribeCrossAccountAccessRoleWithContext(ctx aws.Context, input *DescribeCrossAccountAccessRoleInput, opts ...request.Option) (*DescribeCrossAccountAccessRoleOutput, error) {
1137	req, out := c.DescribeCrossAccountAccessRoleRequest(input)
1138	req.SetContext(ctx)
1139	req.ApplyOptions(opts...)
1140	return out, req.Send()
1141}
1142
1143const opDescribeExclusions = "DescribeExclusions"
1144
1145// DescribeExclusionsRequest generates a "aws/request.Request" representing the
1146// client's request for the DescribeExclusions operation. The "output" return
1147// value will be populated with the request's response once the request completes
1148// successfully.
1149//
1150// Use "Send" method on the returned Request to send the API call to the service.
1151// the "output" return value is not valid until after Send returns without error.
1152//
1153// See DescribeExclusions for more information on using the DescribeExclusions
1154// API call, and error handling.
1155//
1156// This method is useful when you want to inject custom logic or configuration
1157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1158//
1159//
1160//    // Example sending a request using the DescribeExclusionsRequest method.
1161//    req, resp := client.DescribeExclusionsRequest(params)
1162//
1163//    err := req.Send()
1164//    if err == nil { // resp is now filled
1165//        fmt.Println(resp)
1166//    }
1167//
1168// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeExclusions
1169func (c *Inspector) DescribeExclusionsRequest(input *DescribeExclusionsInput) (req *request.Request, output *DescribeExclusionsOutput) {
1170	op := &request.Operation{
1171		Name:       opDescribeExclusions,
1172		HTTPMethod: "POST",
1173		HTTPPath:   "/",
1174	}
1175
1176	if input == nil {
1177		input = &DescribeExclusionsInput{}
1178	}
1179
1180	output = &DescribeExclusionsOutput{}
1181	req = c.newRequest(op, input, output)
1182	return
1183}
1184
1185// DescribeExclusions API operation for Amazon Inspector.
1186//
1187// Describes the exclusions that are specified by the exclusions' ARNs.
1188//
1189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1190// with awserr.Error's Code and Message methods to get detailed information about
1191// the error.
1192//
1193// See the AWS API reference guide for Amazon Inspector's
1194// API operation DescribeExclusions for usage and error information.
1195//
1196// Returned Error Codes:
1197//   * ErrCodeInternalException "InternalException"
1198//   Internal server error.
1199//
1200//   * ErrCodeInvalidInputException "InvalidInputException"
1201//   The request was rejected because an invalid or out-of-range value was supplied
1202//   for an input parameter.
1203//
1204// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeExclusions
1205func (c *Inspector) DescribeExclusions(input *DescribeExclusionsInput) (*DescribeExclusionsOutput, error) {
1206	req, out := c.DescribeExclusionsRequest(input)
1207	return out, req.Send()
1208}
1209
1210// DescribeExclusionsWithContext is the same as DescribeExclusions with the addition of
1211// the ability to pass a context and additional request options.
1212//
1213// See DescribeExclusions for details on how to use this API operation.
1214//
1215// The context must be non-nil and will be used for request cancellation. If
1216// the context is nil a panic will occur. In the future the SDK may create
1217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1218// for more information on using Contexts.
1219func (c *Inspector) DescribeExclusionsWithContext(ctx aws.Context, input *DescribeExclusionsInput, opts ...request.Option) (*DescribeExclusionsOutput, error) {
1220	req, out := c.DescribeExclusionsRequest(input)
1221	req.SetContext(ctx)
1222	req.ApplyOptions(opts...)
1223	return out, req.Send()
1224}
1225
1226const opDescribeFindings = "DescribeFindings"
1227
1228// DescribeFindingsRequest generates a "aws/request.Request" representing the
1229// client's request for the DescribeFindings operation. The "output" return
1230// value will be populated with the request's response once the request completes
1231// successfully.
1232//
1233// Use "Send" method on the returned Request to send the API call to the service.
1234// the "output" return value is not valid until after Send returns without error.
1235//
1236// See DescribeFindings for more information on using the DescribeFindings
1237// API call, and error handling.
1238//
1239// This method is useful when you want to inject custom logic or configuration
1240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1241//
1242//
1243//    // Example sending a request using the DescribeFindingsRequest method.
1244//    req, resp := client.DescribeFindingsRequest(params)
1245//
1246//    err := req.Send()
1247//    if err == nil { // resp is now filled
1248//        fmt.Println(resp)
1249//    }
1250//
1251// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeFindings
1252func (c *Inspector) DescribeFindingsRequest(input *DescribeFindingsInput) (req *request.Request, output *DescribeFindingsOutput) {
1253	op := &request.Operation{
1254		Name:       opDescribeFindings,
1255		HTTPMethod: "POST",
1256		HTTPPath:   "/",
1257	}
1258
1259	if input == nil {
1260		input = &DescribeFindingsInput{}
1261	}
1262
1263	output = &DescribeFindingsOutput{}
1264	req = c.newRequest(op, input, output)
1265	return
1266}
1267
1268// DescribeFindings API operation for Amazon Inspector.
1269//
1270// Describes the findings that are specified by the ARNs of the findings.
1271//
1272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1273// with awserr.Error's Code and Message methods to get detailed information about
1274// the error.
1275//
1276// See the AWS API reference guide for Amazon Inspector's
1277// API operation DescribeFindings for usage and error information.
1278//
1279// Returned Error Codes:
1280//   * ErrCodeInternalException "InternalException"
1281//   Internal server error.
1282//
1283//   * ErrCodeInvalidInputException "InvalidInputException"
1284//   The request was rejected because an invalid or out-of-range value was supplied
1285//   for an input parameter.
1286//
1287// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeFindings
1288func (c *Inspector) DescribeFindings(input *DescribeFindingsInput) (*DescribeFindingsOutput, error) {
1289	req, out := c.DescribeFindingsRequest(input)
1290	return out, req.Send()
1291}
1292
1293// DescribeFindingsWithContext is the same as DescribeFindings with the addition of
1294// the ability to pass a context and additional request options.
1295//
1296// See DescribeFindings for details on how to use this API operation.
1297//
1298// The context must be non-nil and will be used for request cancellation. If
1299// the context is nil a panic will occur. In the future the SDK may create
1300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1301// for more information on using Contexts.
1302func (c *Inspector) DescribeFindingsWithContext(ctx aws.Context, input *DescribeFindingsInput, opts ...request.Option) (*DescribeFindingsOutput, error) {
1303	req, out := c.DescribeFindingsRequest(input)
1304	req.SetContext(ctx)
1305	req.ApplyOptions(opts...)
1306	return out, req.Send()
1307}
1308
1309const opDescribeResourceGroups = "DescribeResourceGroups"
1310
1311// DescribeResourceGroupsRequest generates a "aws/request.Request" representing the
1312// client's request for the DescribeResourceGroups operation. The "output" return
1313// value will be populated with the request's response once the request completes
1314// successfully.
1315//
1316// Use "Send" method on the returned Request to send the API call to the service.
1317// the "output" return value is not valid until after Send returns without error.
1318//
1319// See DescribeResourceGroups for more information on using the DescribeResourceGroups
1320// API call, and error handling.
1321//
1322// This method is useful when you want to inject custom logic or configuration
1323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1324//
1325//
1326//    // Example sending a request using the DescribeResourceGroupsRequest method.
1327//    req, resp := client.DescribeResourceGroupsRequest(params)
1328//
1329//    err := req.Send()
1330//    if err == nil { // resp is now filled
1331//        fmt.Println(resp)
1332//    }
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeResourceGroups
1335func (c *Inspector) DescribeResourceGroupsRequest(input *DescribeResourceGroupsInput) (req *request.Request, output *DescribeResourceGroupsOutput) {
1336	op := &request.Operation{
1337		Name:       opDescribeResourceGroups,
1338		HTTPMethod: "POST",
1339		HTTPPath:   "/",
1340	}
1341
1342	if input == nil {
1343		input = &DescribeResourceGroupsInput{}
1344	}
1345
1346	output = &DescribeResourceGroupsOutput{}
1347	req = c.newRequest(op, input, output)
1348	return
1349}
1350
1351// DescribeResourceGroups API operation for Amazon Inspector.
1352//
1353// Describes the resource groups that are specified by the ARNs of the resource
1354// groups.
1355//
1356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1357// with awserr.Error's Code and Message methods to get detailed information about
1358// the error.
1359//
1360// See the AWS API reference guide for Amazon Inspector's
1361// API operation DescribeResourceGroups for usage and error information.
1362//
1363// Returned Error Codes:
1364//   * ErrCodeInternalException "InternalException"
1365//   Internal server error.
1366//
1367//   * ErrCodeInvalidInputException "InvalidInputException"
1368//   The request was rejected because an invalid or out-of-range value was supplied
1369//   for an input parameter.
1370//
1371// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeResourceGroups
1372func (c *Inspector) DescribeResourceGroups(input *DescribeResourceGroupsInput) (*DescribeResourceGroupsOutput, error) {
1373	req, out := c.DescribeResourceGroupsRequest(input)
1374	return out, req.Send()
1375}
1376
1377// DescribeResourceGroupsWithContext is the same as DescribeResourceGroups with the addition of
1378// the ability to pass a context and additional request options.
1379//
1380// See DescribeResourceGroups for details on how to use this API operation.
1381//
1382// The context must be non-nil and will be used for request cancellation. If
1383// the context is nil a panic will occur. In the future the SDK may create
1384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1385// for more information on using Contexts.
1386func (c *Inspector) DescribeResourceGroupsWithContext(ctx aws.Context, input *DescribeResourceGroupsInput, opts ...request.Option) (*DescribeResourceGroupsOutput, error) {
1387	req, out := c.DescribeResourceGroupsRequest(input)
1388	req.SetContext(ctx)
1389	req.ApplyOptions(opts...)
1390	return out, req.Send()
1391}
1392
1393const opDescribeRulesPackages = "DescribeRulesPackages"
1394
1395// DescribeRulesPackagesRequest generates a "aws/request.Request" representing the
1396// client's request for the DescribeRulesPackages operation. The "output" return
1397// value will be populated with the request's response once the request completes
1398// successfully.
1399//
1400// Use "Send" method on the returned Request to send the API call to the service.
1401// the "output" return value is not valid until after Send returns without error.
1402//
1403// See DescribeRulesPackages for more information on using the DescribeRulesPackages
1404// API call, and error handling.
1405//
1406// This method is useful when you want to inject custom logic or configuration
1407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1408//
1409//
1410//    // Example sending a request using the DescribeRulesPackagesRequest method.
1411//    req, resp := client.DescribeRulesPackagesRequest(params)
1412//
1413//    err := req.Send()
1414//    if err == nil { // resp is now filled
1415//        fmt.Println(resp)
1416//    }
1417//
1418// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeRulesPackages
1419func (c *Inspector) DescribeRulesPackagesRequest(input *DescribeRulesPackagesInput) (req *request.Request, output *DescribeRulesPackagesOutput) {
1420	op := &request.Operation{
1421		Name:       opDescribeRulesPackages,
1422		HTTPMethod: "POST",
1423		HTTPPath:   "/",
1424	}
1425
1426	if input == nil {
1427		input = &DescribeRulesPackagesInput{}
1428	}
1429
1430	output = &DescribeRulesPackagesOutput{}
1431	req = c.newRequest(op, input, output)
1432	return
1433}
1434
1435// DescribeRulesPackages API operation for Amazon Inspector.
1436//
1437// Describes the rules packages that are specified by the ARNs of the rules
1438// packages.
1439//
1440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1441// with awserr.Error's Code and Message methods to get detailed information about
1442// the error.
1443//
1444// See the AWS API reference guide for Amazon Inspector's
1445// API operation DescribeRulesPackages for usage and error information.
1446//
1447// Returned Error Codes:
1448//   * ErrCodeInternalException "InternalException"
1449//   Internal server error.
1450//
1451//   * ErrCodeInvalidInputException "InvalidInputException"
1452//   The request was rejected because an invalid or out-of-range value was supplied
1453//   for an input parameter.
1454//
1455// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/DescribeRulesPackages
1456func (c *Inspector) DescribeRulesPackages(input *DescribeRulesPackagesInput) (*DescribeRulesPackagesOutput, error) {
1457	req, out := c.DescribeRulesPackagesRequest(input)
1458	return out, req.Send()
1459}
1460
1461// DescribeRulesPackagesWithContext is the same as DescribeRulesPackages with the addition of
1462// the ability to pass a context and additional request options.
1463//
1464// See DescribeRulesPackages for details on how to use this API operation.
1465//
1466// The context must be non-nil and will be used for request cancellation. If
1467// the context is nil a panic will occur. In the future the SDK may create
1468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1469// for more information on using Contexts.
1470func (c *Inspector) DescribeRulesPackagesWithContext(ctx aws.Context, input *DescribeRulesPackagesInput, opts ...request.Option) (*DescribeRulesPackagesOutput, error) {
1471	req, out := c.DescribeRulesPackagesRequest(input)
1472	req.SetContext(ctx)
1473	req.ApplyOptions(opts...)
1474	return out, req.Send()
1475}
1476
1477const opGetAssessmentReport = "GetAssessmentReport"
1478
1479// GetAssessmentReportRequest generates a "aws/request.Request" representing the
1480// client's request for the GetAssessmentReport operation. The "output" return
1481// value will be populated with the request's response once the request completes
1482// successfully.
1483//
1484// Use "Send" method on the returned Request to send the API call to the service.
1485// the "output" return value is not valid until after Send returns without error.
1486//
1487// See GetAssessmentReport for more information on using the GetAssessmentReport
1488// API call, and error handling.
1489//
1490// This method is useful when you want to inject custom logic or configuration
1491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1492//
1493//
1494//    // Example sending a request using the GetAssessmentReportRequest method.
1495//    req, resp := client.GetAssessmentReportRequest(params)
1496//
1497//    err := req.Send()
1498//    if err == nil { // resp is now filled
1499//        fmt.Println(resp)
1500//    }
1501//
1502// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetAssessmentReport
1503func (c *Inspector) GetAssessmentReportRequest(input *GetAssessmentReportInput) (req *request.Request, output *GetAssessmentReportOutput) {
1504	op := &request.Operation{
1505		Name:       opGetAssessmentReport,
1506		HTTPMethod: "POST",
1507		HTTPPath:   "/",
1508	}
1509
1510	if input == nil {
1511		input = &GetAssessmentReportInput{}
1512	}
1513
1514	output = &GetAssessmentReportOutput{}
1515	req = c.newRequest(op, input, output)
1516	return
1517}
1518
1519// GetAssessmentReport API operation for Amazon Inspector.
1520//
1521// Produces an assessment report that includes detailed and comprehensive results
1522// of a specified assessment run.
1523//
1524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1525// with awserr.Error's Code and Message methods to get detailed information about
1526// the error.
1527//
1528// See the AWS API reference guide for Amazon Inspector's
1529// API operation GetAssessmentReport for usage and error information.
1530//
1531// Returned Error Codes:
1532//   * ErrCodeInternalException "InternalException"
1533//   Internal server error.
1534//
1535//   * ErrCodeInvalidInputException "InvalidInputException"
1536//   The request was rejected because an invalid or out-of-range value was supplied
1537//   for an input parameter.
1538//
1539//   * ErrCodeAccessDeniedException "AccessDeniedException"
1540//   You do not have required permissions to access the requested resource.
1541//
1542//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
1543//   The request was rejected because it referenced an entity that does not exist.
1544//   The error code describes the entity.
1545//
1546//   * ErrCodeAssessmentRunInProgressException "AssessmentRunInProgressException"
1547//   You cannot perform a specified action if an assessment run is currently in
1548//   progress.
1549//
1550//   * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException"
1551//   Used by the GetAssessmentReport API. The request was rejected because you
1552//   tried to generate a report for an assessment run that existed before reporting
1553//   was supported in Amazon Inspector. You can only generate reports for assessment
1554//   runs that took place or will take place after generating reports in Amazon
1555//   Inspector became available.
1556//
1557//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
1558//   The serice is temporary unavailable.
1559//
1560// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetAssessmentReport
1561func (c *Inspector) GetAssessmentReport(input *GetAssessmentReportInput) (*GetAssessmentReportOutput, error) {
1562	req, out := c.GetAssessmentReportRequest(input)
1563	return out, req.Send()
1564}
1565
1566// GetAssessmentReportWithContext is the same as GetAssessmentReport with the addition of
1567// the ability to pass a context and additional request options.
1568//
1569// See GetAssessmentReport for details on how to use this API operation.
1570//
1571// The context must be non-nil and will be used for request cancellation. If
1572// the context is nil a panic will occur. In the future the SDK may create
1573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1574// for more information on using Contexts.
1575func (c *Inspector) GetAssessmentReportWithContext(ctx aws.Context, input *GetAssessmentReportInput, opts ...request.Option) (*GetAssessmentReportOutput, error) {
1576	req, out := c.GetAssessmentReportRequest(input)
1577	req.SetContext(ctx)
1578	req.ApplyOptions(opts...)
1579	return out, req.Send()
1580}
1581
1582const opGetExclusionsPreview = "GetExclusionsPreview"
1583
1584// GetExclusionsPreviewRequest generates a "aws/request.Request" representing the
1585// client's request for the GetExclusionsPreview operation. The "output" return
1586// value will be populated with the request's response once the request completes
1587// successfully.
1588//
1589// Use "Send" method on the returned Request to send the API call to the service.
1590// the "output" return value is not valid until after Send returns without error.
1591//
1592// See GetExclusionsPreview for more information on using the GetExclusionsPreview
1593// API call, and error handling.
1594//
1595// This method is useful when you want to inject custom logic or configuration
1596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1597//
1598//
1599//    // Example sending a request using the GetExclusionsPreviewRequest method.
1600//    req, resp := client.GetExclusionsPreviewRequest(params)
1601//
1602//    err := req.Send()
1603//    if err == nil { // resp is now filled
1604//        fmt.Println(resp)
1605//    }
1606//
1607// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetExclusionsPreview
1608func (c *Inspector) GetExclusionsPreviewRequest(input *GetExclusionsPreviewInput) (req *request.Request, output *GetExclusionsPreviewOutput) {
1609	op := &request.Operation{
1610		Name:       opGetExclusionsPreview,
1611		HTTPMethod: "POST",
1612		HTTPPath:   "/",
1613		Paginator: &request.Paginator{
1614			InputTokens:     []string{"nextToken"},
1615			OutputTokens:    []string{"nextToken"},
1616			LimitToken:      "maxResults",
1617			TruncationToken: "",
1618		},
1619	}
1620
1621	if input == nil {
1622		input = &GetExclusionsPreviewInput{}
1623	}
1624
1625	output = &GetExclusionsPreviewOutput{}
1626	req = c.newRequest(op, input, output)
1627	return
1628}
1629
1630// GetExclusionsPreview API operation for Amazon Inspector.
1631//
1632// Retrieves the exclusions preview (a list of ExclusionPreview objects) specified
1633// by the preview token. You can obtain the preview token by running the CreateExclusionsPreview
1634// API.
1635//
1636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1637// with awserr.Error's Code and Message methods to get detailed information about
1638// the error.
1639//
1640// See the AWS API reference guide for Amazon Inspector's
1641// API operation GetExclusionsPreview for usage and error information.
1642//
1643// Returned Error Codes:
1644//   * ErrCodeInvalidInputException "InvalidInputException"
1645//   The request was rejected because an invalid or out-of-range value was supplied
1646//   for an input parameter.
1647//
1648//   * ErrCodeInternalException "InternalException"
1649//   Internal server error.
1650//
1651//   * ErrCodeAccessDeniedException "AccessDeniedException"
1652//   You do not have required permissions to access the requested resource.
1653//
1654//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
1655//   The request was rejected because it referenced an entity that does not exist.
1656//   The error code describes the entity.
1657//
1658// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetExclusionsPreview
1659func (c *Inspector) GetExclusionsPreview(input *GetExclusionsPreviewInput) (*GetExclusionsPreviewOutput, error) {
1660	req, out := c.GetExclusionsPreviewRequest(input)
1661	return out, req.Send()
1662}
1663
1664// GetExclusionsPreviewWithContext is the same as GetExclusionsPreview with the addition of
1665// the ability to pass a context and additional request options.
1666//
1667// See GetExclusionsPreview for details on how to use this API operation.
1668//
1669// The context must be non-nil and will be used for request cancellation. If
1670// the context is nil a panic will occur. In the future the SDK may create
1671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1672// for more information on using Contexts.
1673func (c *Inspector) GetExclusionsPreviewWithContext(ctx aws.Context, input *GetExclusionsPreviewInput, opts ...request.Option) (*GetExclusionsPreviewOutput, error) {
1674	req, out := c.GetExclusionsPreviewRequest(input)
1675	req.SetContext(ctx)
1676	req.ApplyOptions(opts...)
1677	return out, req.Send()
1678}
1679
1680// GetExclusionsPreviewPages iterates over the pages of a GetExclusionsPreview operation,
1681// calling the "fn" function with the response data for each page. To stop
1682// iterating, return false from the fn function.
1683//
1684// See GetExclusionsPreview method for more information on how to use this operation.
1685//
1686// Note: This operation can generate multiple requests to a service.
1687//
1688//    // Example iterating over at most 3 pages of a GetExclusionsPreview operation.
1689//    pageNum := 0
1690//    err := client.GetExclusionsPreviewPages(params,
1691//        func(page *inspector.GetExclusionsPreviewOutput, lastPage bool) bool {
1692//            pageNum++
1693//            fmt.Println(page)
1694//            return pageNum <= 3
1695//        })
1696//
1697func (c *Inspector) GetExclusionsPreviewPages(input *GetExclusionsPreviewInput, fn func(*GetExclusionsPreviewOutput, bool) bool) error {
1698	return c.GetExclusionsPreviewPagesWithContext(aws.BackgroundContext(), input, fn)
1699}
1700
1701// GetExclusionsPreviewPagesWithContext same as GetExclusionsPreviewPages except
1702// it takes a Context and allows setting request options on the pages.
1703//
1704// The context must be non-nil and will be used for request cancellation. If
1705// the context is nil a panic will occur. In the future the SDK may create
1706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1707// for more information on using Contexts.
1708func (c *Inspector) GetExclusionsPreviewPagesWithContext(ctx aws.Context, input *GetExclusionsPreviewInput, fn func(*GetExclusionsPreviewOutput, bool) bool, opts ...request.Option) error {
1709	p := request.Pagination{
1710		NewRequest: func() (*request.Request, error) {
1711			var inCpy *GetExclusionsPreviewInput
1712			if input != nil {
1713				tmp := *input
1714				inCpy = &tmp
1715			}
1716			req, _ := c.GetExclusionsPreviewRequest(inCpy)
1717			req.SetContext(ctx)
1718			req.ApplyOptions(opts...)
1719			return req, nil
1720		},
1721	}
1722
1723	for p.Next() {
1724		if !fn(p.Page().(*GetExclusionsPreviewOutput), !p.HasNextPage()) {
1725			break
1726		}
1727	}
1728
1729	return p.Err()
1730}
1731
1732const opGetTelemetryMetadata = "GetTelemetryMetadata"
1733
1734// GetTelemetryMetadataRequest generates a "aws/request.Request" representing the
1735// client's request for the GetTelemetryMetadata operation. The "output" return
1736// value will be populated with the request's response once the request completes
1737// successfully.
1738//
1739// Use "Send" method on the returned Request to send the API call to the service.
1740// the "output" return value is not valid until after Send returns without error.
1741//
1742// See GetTelemetryMetadata for more information on using the GetTelemetryMetadata
1743// API call, and error handling.
1744//
1745// This method is useful when you want to inject custom logic or configuration
1746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1747//
1748//
1749//    // Example sending a request using the GetTelemetryMetadataRequest method.
1750//    req, resp := client.GetTelemetryMetadataRequest(params)
1751//
1752//    err := req.Send()
1753//    if err == nil { // resp is now filled
1754//        fmt.Println(resp)
1755//    }
1756//
1757// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetTelemetryMetadata
1758func (c *Inspector) GetTelemetryMetadataRequest(input *GetTelemetryMetadataInput) (req *request.Request, output *GetTelemetryMetadataOutput) {
1759	op := &request.Operation{
1760		Name:       opGetTelemetryMetadata,
1761		HTTPMethod: "POST",
1762		HTTPPath:   "/",
1763	}
1764
1765	if input == nil {
1766		input = &GetTelemetryMetadataInput{}
1767	}
1768
1769	output = &GetTelemetryMetadataOutput{}
1770	req = c.newRequest(op, input, output)
1771	return
1772}
1773
1774// GetTelemetryMetadata API operation for Amazon Inspector.
1775//
1776// Information about the data that is collected for the specified assessment
1777// run.
1778//
1779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1780// with awserr.Error's Code and Message methods to get detailed information about
1781// the error.
1782//
1783// See the AWS API reference guide for Amazon Inspector's
1784// API operation GetTelemetryMetadata for usage and error information.
1785//
1786// Returned Error Codes:
1787//   * ErrCodeInternalException "InternalException"
1788//   Internal server error.
1789//
1790//   * ErrCodeInvalidInputException "InvalidInputException"
1791//   The request was rejected because an invalid or out-of-range value was supplied
1792//   for an input parameter.
1793//
1794//   * ErrCodeAccessDeniedException "AccessDeniedException"
1795//   You do not have required permissions to access the requested resource.
1796//
1797//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
1798//   The request was rejected because it referenced an entity that does not exist.
1799//   The error code describes the entity.
1800//
1801// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/GetTelemetryMetadata
1802func (c *Inspector) GetTelemetryMetadata(input *GetTelemetryMetadataInput) (*GetTelemetryMetadataOutput, error) {
1803	req, out := c.GetTelemetryMetadataRequest(input)
1804	return out, req.Send()
1805}
1806
1807// GetTelemetryMetadataWithContext is the same as GetTelemetryMetadata with the addition of
1808// the ability to pass a context and additional request options.
1809//
1810// See GetTelemetryMetadata for details on how to use this API operation.
1811//
1812// The context must be non-nil and will be used for request cancellation. If
1813// the context is nil a panic will occur. In the future the SDK may create
1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1815// for more information on using Contexts.
1816func (c *Inspector) GetTelemetryMetadataWithContext(ctx aws.Context, input *GetTelemetryMetadataInput, opts ...request.Option) (*GetTelemetryMetadataOutput, error) {
1817	req, out := c.GetTelemetryMetadataRequest(input)
1818	req.SetContext(ctx)
1819	req.ApplyOptions(opts...)
1820	return out, req.Send()
1821}
1822
1823const opListAssessmentRunAgents = "ListAssessmentRunAgents"
1824
1825// ListAssessmentRunAgentsRequest generates a "aws/request.Request" representing the
1826// client's request for the ListAssessmentRunAgents operation. The "output" return
1827// value will be populated with the request's response once the request completes
1828// successfully.
1829//
1830// Use "Send" method on the returned Request to send the API call to the service.
1831// the "output" return value is not valid until after Send returns without error.
1832//
1833// See ListAssessmentRunAgents for more information on using the ListAssessmentRunAgents
1834// API call, and error handling.
1835//
1836// This method is useful when you want to inject custom logic or configuration
1837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1838//
1839//
1840//    // Example sending a request using the ListAssessmentRunAgentsRequest method.
1841//    req, resp := client.ListAssessmentRunAgentsRequest(params)
1842//
1843//    err := req.Send()
1844//    if err == nil { // resp is now filled
1845//        fmt.Println(resp)
1846//    }
1847//
1848// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentRunAgents
1849func (c *Inspector) ListAssessmentRunAgentsRequest(input *ListAssessmentRunAgentsInput) (req *request.Request, output *ListAssessmentRunAgentsOutput) {
1850	op := &request.Operation{
1851		Name:       opListAssessmentRunAgents,
1852		HTTPMethod: "POST",
1853		HTTPPath:   "/",
1854		Paginator: &request.Paginator{
1855			InputTokens:     []string{"nextToken"},
1856			OutputTokens:    []string{"nextToken"},
1857			LimitToken:      "maxResults",
1858			TruncationToken: "",
1859		},
1860	}
1861
1862	if input == nil {
1863		input = &ListAssessmentRunAgentsInput{}
1864	}
1865
1866	output = &ListAssessmentRunAgentsOutput{}
1867	req = c.newRequest(op, input, output)
1868	return
1869}
1870
1871// ListAssessmentRunAgents API operation for Amazon Inspector.
1872//
1873// Lists the agents of the assessment runs that are specified by the ARNs of
1874// the assessment runs.
1875//
1876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1877// with awserr.Error's Code and Message methods to get detailed information about
1878// the error.
1879//
1880// See the AWS API reference guide for Amazon Inspector's
1881// API operation ListAssessmentRunAgents for usage and error information.
1882//
1883// Returned Error Codes:
1884//   * ErrCodeInternalException "InternalException"
1885//   Internal server error.
1886//
1887//   * ErrCodeInvalidInputException "InvalidInputException"
1888//   The request was rejected because an invalid or out-of-range value was supplied
1889//   for an input parameter.
1890//
1891//   * ErrCodeAccessDeniedException "AccessDeniedException"
1892//   You do not have required permissions to access the requested resource.
1893//
1894//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
1895//   The request was rejected because it referenced an entity that does not exist.
1896//   The error code describes the entity.
1897//
1898// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentRunAgents
1899func (c *Inspector) ListAssessmentRunAgents(input *ListAssessmentRunAgentsInput) (*ListAssessmentRunAgentsOutput, error) {
1900	req, out := c.ListAssessmentRunAgentsRequest(input)
1901	return out, req.Send()
1902}
1903
1904// ListAssessmentRunAgentsWithContext is the same as ListAssessmentRunAgents with the addition of
1905// the ability to pass a context and additional request options.
1906//
1907// See ListAssessmentRunAgents for details on how to use this API operation.
1908//
1909// The context must be non-nil and will be used for request cancellation. If
1910// the context is nil a panic will occur. In the future the SDK may create
1911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1912// for more information on using Contexts.
1913func (c *Inspector) ListAssessmentRunAgentsWithContext(ctx aws.Context, input *ListAssessmentRunAgentsInput, opts ...request.Option) (*ListAssessmentRunAgentsOutput, error) {
1914	req, out := c.ListAssessmentRunAgentsRequest(input)
1915	req.SetContext(ctx)
1916	req.ApplyOptions(opts...)
1917	return out, req.Send()
1918}
1919
1920// ListAssessmentRunAgentsPages iterates over the pages of a ListAssessmentRunAgents operation,
1921// calling the "fn" function with the response data for each page. To stop
1922// iterating, return false from the fn function.
1923//
1924// See ListAssessmentRunAgents method for more information on how to use this operation.
1925//
1926// Note: This operation can generate multiple requests to a service.
1927//
1928//    // Example iterating over at most 3 pages of a ListAssessmentRunAgents operation.
1929//    pageNum := 0
1930//    err := client.ListAssessmentRunAgentsPages(params,
1931//        func(page *inspector.ListAssessmentRunAgentsOutput, lastPage bool) bool {
1932//            pageNum++
1933//            fmt.Println(page)
1934//            return pageNum <= 3
1935//        })
1936//
1937func (c *Inspector) ListAssessmentRunAgentsPages(input *ListAssessmentRunAgentsInput, fn func(*ListAssessmentRunAgentsOutput, bool) bool) error {
1938	return c.ListAssessmentRunAgentsPagesWithContext(aws.BackgroundContext(), input, fn)
1939}
1940
1941// ListAssessmentRunAgentsPagesWithContext same as ListAssessmentRunAgentsPages except
1942// it takes a Context and allows setting request options on the pages.
1943//
1944// The context must be non-nil and will be used for request cancellation. If
1945// the context is nil a panic will occur. In the future the SDK may create
1946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1947// for more information on using Contexts.
1948func (c *Inspector) ListAssessmentRunAgentsPagesWithContext(ctx aws.Context, input *ListAssessmentRunAgentsInput, fn func(*ListAssessmentRunAgentsOutput, bool) bool, opts ...request.Option) error {
1949	p := request.Pagination{
1950		NewRequest: func() (*request.Request, error) {
1951			var inCpy *ListAssessmentRunAgentsInput
1952			if input != nil {
1953				tmp := *input
1954				inCpy = &tmp
1955			}
1956			req, _ := c.ListAssessmentRunAgentsRequest(inCpy)
1957			req.SetContext(ctx)
1958			req.ApplyOptions(opts...)
1959			return req, nil
1960		},
1961	}
1962
1963	for p.Next() {
1964		if !fn(p.Page().(*ListAssessmentRunAgentsOutput), !p.HasNextPage()) {
1965			break
1966		}
1967	}
1968
1969	return p.Err()
1970}
1971
1972const opListAssessmentRuns = "ListAssessmentRuns"
1973
1974// ListAssessmentRunsRequest generates a "aws/request.Request" representing the
1975// client's request for the ListAssessmentRuns operation. The "output" return
1976// value will be populated with the request's response once the request completes
1977// successfully.
1978//
1979// Use "Send" method on the returned Request to send the API call to the service.
1980// the "output" return value is not valid until after Send returns without error.
1981//
1982// See ListAssessmentRuns for more information on using the ListAssessmentRuns
1983// API call, and error handling.
1984//
1985// This method is useful when you want to inject custom logic or configuration
1986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1987//
1988//
1989//    // Example sending a request using the ListAssessmentRunsRequest method.
1990//    req, resp := client.ListAssessmentRunsRequest(params)
1991//
1992//    err := req.Send()
1993//    if err == nil { // resp is now filled
1994//        fmt.Println(resp)
1995//    }
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentRuns
1998func (c *Inspector) ListAssessmentRunsRequest(input *ListAssessmentRunsInput) (req *request.Request, output *ListAssessmentRunsOutput) {
1999	op := &request.Operation{
2000		Name:       opListAssessmentRuns,
2001		HTTPMethod: "POST",
2002		HTTPPath:   "/",
2003		Paginator: &request.Paginator{
2004			InputTokens:     []string{"nextToken"},
2005			OutputTokens:    []string{"nextToken"},
2006			LimitToken:      "maxResults",
2007			TruncationToken: "",
2008		},
2009	}
2010
2011	if input == nil {
2012		input = &ListAssessmentRunsInput{}
2013	}
2014
2015	output = &ListAssessmentRunsOutput{}
2016	req = c.newRequest(op, input, output)
2017	return
2018}
2019
2020// ListAssessmentRuns API operation for Amazon Inspector.
2021//
2022// Lists the assessment runs that correspond to the assessment templates that
2023// are specified by the ARNs of the assessment templates.
2024//
2025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2026// with awserr.Error's Code and Message methods to get detailed information about
2027// the error.
2028//
2029// See the AWS API reference guide for Amazon Inspector's
2030// API operation ListAssessmentRuns for usage and error information.
2031//
2032// Returned Error Codes:
2033//   * ErrCodeInternalException "InternalException"
2034//   Internal server error.
2035//
2036//   * ErrCodeInvalidInputException "InvalidInputException"
2037//   The request was rejected because an invalid or out-of-range value was supplied
2038//   for an input parameter.
2039//
2040//   * ErrCodeAccessDeniedException "AccessDeniedException"
2041//   You do not have required permissions to access the requested resource.
2042//
2043//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
2044//   The request was rejected because it referenced an entity that does not exist.
2045//   The error code describes the entity.
2046//
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentRuns
2048func (c *Inspector) ListAssessmentRuns(input *ListAssessmentRunsInput) (*ListAssessmentRunsOutput, error) {
2049	req, out := c.ListAssessmentRunsRequest(input)
2050	return out, req.Send()
2051}
2052
2053// ListAssessmentRunsWithContext is the same as ListAssessmentRuns with the addition of
2054// the ability to pass a context and additional request options.
2055//
2056// See ListAssessmentRuns for details on how to use this API operation.
2057//
2058// The context must be non-nil and will be used for request cancellation. If
2059// the context is nil a panic will occur. In the future the SDK may create
2060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2061// for more information on using Contexts.
2062func (c *Inspector) ListAssessmentRunsWithContext(ctx aws.Context, input *ListAssessmentRunsInput, opts ...request.Option) (*ListAssessmentRunsOutput, error) {
2063	req, out := c.ListAssessmentRunsRequest(input)
2064	req.SetContext(ctx)
2065	req.ApplyOptions(opts...)
2066	return out, req.Send()
2067}
2068
2069// ListAssessmentRunsPages iterates over the pages of a ListAssessmentRuns operation,
2070// calling the "fn" function with the response data for each page. To stop
2071// iterating, return false from the fn function.
2072//
2073// See ListAssessmentRuns method for more information on how to use this operation.
2074//
2075// Note: This operation can generate multiple requests to a service.
2076//
2077//    // Example iterating over at most 3 pages of a ListAssessmentRuns operation.
2078//    pageNum := 0
2079//    err := client.ListAssessmentRunsPages(params,
2080//        func(page *inspector.ListAssessmentRunsOutput, lastPage bool) bool {
2081//            pageNum++
2082//            fmt.Println(page)
2083//            return pageNum <= 3
2084//        })
2085//
2086func (c *Inspector) ListAssessmentRunsPages(input *ListAssessmentRunsInput, fn func(*ListAssessmentRunsOutput, bool) bool) error {
2087	return c.ListAssessmentRunsPagesWithContext(aws.BackgroundContext(), input, fn)
2088}
2089
2090// ListAssessmentRunsPagesWithContext same as ListAssessmentRunsPages except
2091// it takes a Context and allows setting request options on the pages.
2092//
2093// The context must be non-nil and will be used for request cancellation. If
2094// the context is nil a panic will occur. In the future the SDK may create
2095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2096// for more information on using Contexts.
2097func (c *Inspector) ListAssessmentRunsPagesWithContext(ctx aws.Context, input *ListAssessmentRunsInput, fn func(*ListAssessmentRunsOutput, bool) bool, opts ...request.Option) error {
2098	p := request.Pagination{
2099		NewRequest: func() (*request.Request, error) {
2100			var inCpy *ListAssessmentRunsInput
2101			if input != nil {
2102				tmp := *input
2103				inCpy = &tmp
2104			}
2105			req, _ := c.ListAssessmentRunsRequest(inCpy)
2106			req.SetContext(ctx)
2107			req.ApplyOptions(opts...)
2108			return req, nil
2109		},
2110	}
2111
2112	for p.Next() {
2113		if !fn(p.Page().(*ListAssessmentRunsOutput), !p.HasNextPage()) {
2114			break
2115		}
2116	}
2117
2118	return p.Err()
2119}
2120
2121const opListAssessmentTargets = "ListAssessmentTargets"
2122
2123// ListAssessmentTargetsRequest generates a "aws/request.Request" representing the
2124// client's request for the ListAssessmentTargets operation. The "output" return
2125// value will be populated with the request's response once the request completes
2126// successfully.
2127//
2128// Use "Send" method on the returned Request to send the API call to the service.
2129// the "output" return value is not valid until after Send returns without error.
2130//
2131// See ListAssessmentTargets for more information on using the ListAssessmentTargets
2132// API call, and error handling.
2133//
2134// This method is useful when you want to inject custom logic or configuration
2135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2136//
2137//
2138//    // Example sending a request using the ListAssessmentTargetsRequest method.
2139//    req, resp := client.ListAssessmentTargetsRequest(params)
2140//
2141//    err := req.Send()
2142//    if err == nil { // resp is now filled
2143//        fmt.Println(resp)
2144//    }
2145//
2146// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentTargets
2147func (c *Inspector) ListAssessmentTargetsRequest(input *ListAssessmentTargetsInput) (req *request.Request, output *ListAssessmentTargetsOutput) {
2148	op := &request.Operation{
2149		Name:       opListAssessmentTargets,
2150		HTTPMethod: "POST",
2151		HTTPPath:   "/",
2152		Paginator: &request.Paginator{
2153			InputTokens:     []string{"nextToken"},
2154			OutputTokens:    []string{"nextToken"},
2155			LimitToken:      "maxResults",
2156			TruncationToken: "",
2157		},
2158	}
2159
2160	if input == nil {
2161		input = &ListAssessmentTargetsInput{}
2162	}
2163
2164	output = &ListAssessmentTargetsOutput{}
2165	req = c.newRequest(op, input, output)
2166	return
2167}
2168
2169// ListAssessmentTargets API operation for Amazon Inspector.
2170//
2171// Lists the ARNs of the assessment targets within this AWS account. For more
2172// information about assessment targets, see Amazon Inspector Assessment Targets
2173// (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_applications.html).
2174//
2175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2176// with awserr.Error's Code and Message methods to get detailed information about
2177// the error.
2178//
2179// See the AWS API reference guide for Amazon Inspector's
2180// API operation ListAssessmentTargets for usage and error information.
2181//
2182// Returned Error Codes:
2183//   * ErrCodeInternalException "InternalException"
2184//   Internal server error.
2185//
2186//   * ErrCodeInvalidInputException "InvalidInputException"
2187//   The request was rejected because an invalid or out-of-range value was supplied
2188//   for an input parameter.
2189//
2190//   * ErrCodeAccessDeniedException "AccessDeniedException"
2191//   You do not have required permissions to access the requested resource.
2192//
2193// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentTargets
2194func (c *Inspector) ListAssessmentTargets(input *ListAssessmentTargetsInput) (*ListAssessmentTargetsOutput, error) {
2195	req, out := c.ListAssessmentTargetsRequest(input)
2196	return out, req.Send()
2197}
2198
2199// ListAssessmentTargetsWithContext is the same as ListAssessmentTargets with the addition of
2200// the ability to pass a context and additional request options.
2201//
2202// See ListAssessmentTargets for details on how to use this API operation.
2203//
2204// The context must be non-nil and will be used for request cancellation. If
2205// the context is nil a panic will occur. In the future the SDK may create
2206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2207// for more information on using Contexts.
2208func (c *Inspector) ListAssessmentTargetsWithContext(ctx aws.Context, input *ListAssessmentTargetsInput, opts ...request.Option) (*ListAssessmentTargetsOutput, error) {
2209	req, out := c.ListAssessmentTargetsRequest(input)
2210	req.SetContext(ctx)
2211	req.ApplyOptions(opts...)
2212	return out, req.Send()
2213}
2214
2215// ListAssessmentTargetsPages iterates over the pages of a ListAssessmentTargets operation,
2216// calling the "fn" function with the response data for each page. To stop
2217// iterating, return false from the fn function.
2218//
2219// See ListAssessmentTargets method for more information on how to use this operation.
2220//
2221// Note: This operation can generate multiple requests to a service.
2222//
2223//    // Example iterating over at most 3 pages of a ListAssessmentTargets operation.
2224//    pageNum := 0
2225//    err := client.ListAssessmentTargetsPages(params,
2226//        func(page *inspector.ListAssessmentTargetsOutput, lastPage bool) bool {
2227//            pageNum++
2228//            fmt.Println(page)
2229//            return pageNum <= 3
2230//        })
2231//
2232func (c *Inspector) ListAssessmentTargetsPages(input *ListAssessmentTargetsInput, fn func(*ListAssessmentTargetsOutput, bool) bool) error {
2233	return c.ListAssessmentTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
2234}
2235
2236// ListAssessmentTargetsPagesWithContext same as ListAssessmentTargetsPages except
2237// it takes a Context and allows setting request options on the pages.
2238//
2239// The context must be non-nil and will be used for request cancellation. If
2240// the context is nil a panic will occur. In the future the SDK may create
2241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2242// for more information on using Contexts.
2243func (c *Inspector) ListAssessmentTargetsPagesWithContext(ctx aws.Context, input *ListAssessmentTargetsInput, fn func(*ListAssessmentTargetsOutput, bool) bool, opts ...request.Option) error {
2244	p := request.Pagination{
2245		NewRequest: func() (*request.Request, error) {
2246			var inCpy *ListAssessmentTargetsInput
2247			if input != nil {
2248				tmp := *input
2249				inCpy = &tmp
2250			}
2251			req, _ := c.ListAssessmentTargetsRequest(inCpy)
2252			req.SetContext(ctx)
2253			req.ApplyOptions(opts...)
2254			return req, nil
2255		},
2256	}
2257
2258	for p.Next() {
2259		if !fn(p.Page().(*ListAssessmentTargetsOutput), !p.HasNextPage()) {
2260			break
2261		}
2262	}
2263
2264	return p.Err()
2265}
2266
2267const opListAssessmentTemplates = "ListAssessmentTemplates"
2268
2269// ListAssessmentTemplatesRequest generates a "aws/request.Request" representing the
2270// client's request for the ListAssessmentTemplates operation. The "output" return
2271// value will be populated with the request's response once the request completes
2272// successfully.
2273//
2274// Use "Send" method on the returned Request to send the API call to the service.
2275// the "output" return value is not valid until after Send returns without error.
2276//
2277// See ListAssessmentTemplates for more information on using the ListAssessmentTemplates
2278// API call, and error handling.
2279//
2280// This method is useful when you want to inject custom logic or configuration
2281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2282//
2283//
2284//    // Example sending a request using the ListAssessmentTemplatesRequest method.
2285//    req, resp := client.ListAssessmentTemplatesRequest(params)
2286//
2287//    err := req.Send()
2288//    if err == nil { // resp is now filled
2289//        fmt.Println(resp)
2290//    }
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentTemplates
2293func (c *Inspector) ListAssessmentTemplatesRequest(input *ListAssessmentTemplatesInput) (req *request.Request, output *ListAssessmentTemplatesOutput) {
2294	op := &request.Operation{
2295		Name:       opListAssessmentTemplates,
2296		HTTPMethod: "POST",
2297		HTTPPath:   "/",
2298		Paginator: &request.Paginator{
2299			InputTokens:     []string{"nextToken"},
2300			OutputTokens:    []string{"nextToken"},
2301			LimitToken:      "maxResults",
2302			TruncationToken: "",
2303		},
2304	}
2305
2306	if input == nil {
2307		input = &ListAssessmentTemplatesInput{}
2308	}
2309
2310	output = &ListAssessmentTemplatesOutput{}
2311	req = c.newRequest(op, input, output)
2312	return
2313}
2314
2315// ListAssessmentTemplates API operation for Amazon Inspector.
2316//
2317// Lists the assessment templates that correspond to the assessment targets
2318// that are specified by the ARNs of the assessment targets.
2319//
2320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2321// with awserr.Error's Code and Message methods to get detailed information about
2322// the error.
2323//
2324// See the AWS API reference guide for Amazon Inspector's
2325// API operation ListAssessmentTemplates for usage and error information.
2326//
2327// Returned Error Codes:
2328//   * ErrCodeInternalException "InternalException"
2329//   Internal server error.
2330//
2331//   * ErrCodeInvalidInputException "InvalidInputException"
2332//   The request was rejected because an invalid or out-of-range value was supplied
2333//   for an input parameter.
2334//
2335//   * ErrCodeAccessDeniedException "AccessDeniedException"
2336//   You do not have required permissions to access the requested resource.
2337//
2338//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
2339//   The request was rejected because it referenced an entity that does not exist.
2340//   The error code describes the entity.
2341//
2342// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListAssessmentTemplates
2343func (c *Inspector) ListAssessmentTemplates(input *ListAssessmentTemplatesInput) (*ListAssessmentTemplatesOutput, error) {
2344	req, out := c.ListAssessmentTemplatesRequest(input)
2345	return out, req.Send()
2346}
2347
2348// ListAssessmentTemplatesWithContext is the same as ListAssessmentTemplates with the addition of
2349// the ability to pass a context and additional request options.
2350//
2351// See ListAssessmentTemplates for details on how to use this API operation.
2352//
2353// The context must be non-nil and will be used for request cancellation. If
2354// the context is nil a panic will occur. In the future the SDK may create
2355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2356// for more information on using Contexts.
2357func (c *Inspector) ListAssessmentTemplatesWithContext(ctx aws.Context, input *ListAssessmentTemplatesInput, opts ...request.Option) (*ListAssessmentTemplatesOutput, error) {
2358	req, out := c.ListAssessmentTemplatesRequest(input)
2359	req.SetContext(ctx)
2360	req.ApplyOptions(opts...)
2361	return out, req.Send()
2362}
2363
2364// ListAssessmentTemplatesPages iterates over the pages of a ListAssessmentTemplates operation,
2365// calling the "fn" function with the response data for each page. To stop
2366// iterating, return false from the fn function.
2367//
2368// See ListAssessmentTemplates method for more information on how to use this operation.
2369//
2370// Note: This operation can generate multiple requests to a service.
2371//
2372//    // Example iterating over at most 3 pages of a ListAssessmentTemplates operation.
2373//    pageNum := 0
2374//    err := client.ListAssessmentTemplatesPages(params,
2375//        func(page *inspector.ListAssessmentTemplatesOutput, lastPage bool) bool {
2376//            pageNum++
2377//            fmt.Println(page)
2378//            return pageNum <= 3
2379//        })
2380//
2381func (c *Inspector) ListAssessmentTemplatesPages(input *ListAssessmentTemplatesInput, fn func(*ListAssessmentTemplatesOutput, bool) bool) error {
2382	return c.ListAssessmentTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
2383}
2384
2385// ListAssessmentTemplatesPagesWithContext same as ListAssessmentTemplatesPages except
2386// it takes a Context and allows setting request options on the pages.
2387//
2388// The context must be non-nil and will be used for request cancellation. If
2389// the context is nil a panic will occur. In the future the SDK may create
2390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2391// for more information on using Contexts.
2392func (c *Inspector) ListAssessmentTemplatesPagesWithContext(ctx aws.Context, input *ListAssessmentTemplatesInput, fn func(*ListAssessmentTemplatesOutput, bool) bool, opts ...request.Option) error {
2393	p := request.Pagination{
2394		NewRequest: func() (*request.Request, error) {
2395			var inCpy *ListAssessmentTemplatesInput
2396			if input != nil {
2397				tmp := *input
2398				inCpy = &tmp
2399			}
2400			req, _ := c.ListAssessmentTemplatesRequest(inCpy)
2401			req.SetContext(ctx)
2402			req.ApplyOptions(opts...)
2403			return req, nil
2404		},
2405	}
2406
2407	for p.Next() {
2408		if !fn(p.Page().(*ListAssessmentTemplatesOutput), !p.HasNextPage()) {
2409			break
2410		}
2411	}
2412
2413	return p.Err()
2414}
2415
2416const opListEventSubscriptions = "ListEventSubscriptions"
2417
2418// ListEventSubscriptionsRequest generates a "aws/request.Request" representing the
2419// client's request for the ListEventSubscriptions operation. The "output" return
2420// value will be populated with the request's response once the request completes
2421// successfully.
2422//
2423// Use "Send" method on the returned Request to send the API call to the service.
2424// the "output" return value is not valid until after Send returns without error.
2425//
2426// See ListEventSubscriptions for more information on using the ListEventSubscriptions
2427// API call, and error handling.
2428//
2429// This method is useful when you want to inject custom logic or configuration
2430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2431//
2432//
2433//    // Example sending a request using the ListEventSubscriptionsRequest method.
2434//    req, resp := client.ListEventSubscriptionsRequest(params)
2435//
2436//    err := req.Send()
2437//    if err == nil { // resp is now filled
2438//        fmt.Println(resp)
2439//    }
2440//
2441// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListEventSubscriptions
2442func (c *Inspector) ListEventSubscriptionsRequest(input *ListEventSubscriptionsInput) (req *request.Request, output *ListEventSubscriptionsOutput) {
2443	op := &request.Operation{
2444		Name:       opListEventSubscriptions,
2445		HTTPMethod: "POST",
2446		HTTPPath:   "/",
2447		Paginator: &request.Paginator{
2448			InputTokens:     []string{"nextToken"},
2449			OutputTokens:    []string{"nextToken"},
2450			LimitToken:      "maxResults",
2451			TruncationToken: "",
2452		},
2453	}
2454
2455	if input == nil {
2456		input = &ListEventSubscriptionsInput{}
2457	}
2458
2459	output = &ListEventSubscriptionsOutput{}
2460	req = c.newRequest(op, input, output)
2461	return
2462}
2463
2464// ListEventSubscriptions API operation for Amazon Inspector.
2465//
2466// Lists all the event subscriptions for the assessment template that is specified
2467// by the ARN of the assessment template. For more information, see SubscribeToEvent
2468// and UnsubscribeFromEvent.
2469//
2470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2471// with awserr.Error's Code and Message methods to get detailed information about
2472// the error.
2473//
2474// See the AWS API reference guide for Amazon Inspector's
2475// API operation ListEventSubscriptions for usage and error information.
2476//
2477// Returned Error Codes:
2478//   * ErrCodeInternalException "InternalException"
2479//   Internal server error.
2480//
2481//   * ErrCodeInvalidInputException "InvalidInputException"
2482//   The request was rejected because an invalid or out-of-range value was supplied
2483//   for an input parameter.
2484//
2485//   * ErrCodeAccessDeniedException "AccessDeniedException"
2486//   You do not have required permissions to access the requested resource.
2487//
2488//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
2489//   The request was rejected because it referenced an entity that does not exist.
2490//   The error code describes the entity.
2491//
2492// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListEventSubscriptions
2493func (c *Inspector) ListEventSubscriptions(input *ListEventSubscriptionsInput) (*ListEventSubscriptionsOutput, error) {
2494	req, out := c.ListEventSubscriptionsRequest(input)
2495	return out, req.Send()
2496}
2497
2498// ListEventSubscriptionsWithContext is the same as ListEventSubscriptions with the addition of
2499// the ability to pass a context and additional request options.
2500//
2501// See ListEventSubscriptions for details on how to use this API operation.
2502//
2503// The context must be non-nil and will be used for request cancellation. If
2504// the context is nil a panic will occur. In the future the SDK may create
2505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2506// for more information on using Contexts.
2507func (c *Inspector) ListEventSubscriptionsWithContext(ctx aws.Context, input *ListEventSubscriptionsInput, opts ...request.Option) (*ListEventSubscriptionsOutput, error) {
2508	req, out := c.ListEventSubscriptionsRequest(input)
2509	req.SetContext(ctx)
2510	req.ApplyOptions(opts...)
2511	return out, req.Send()
2512}
2513
2514// ListEventSubscriptionsPages iterates over the pages of a ListEventSubscriptions operation,
2515// calling the "fn" function with the response data for each page. To stop
2516// iterating, return false from the fn function.
2517//
2518// See ListEventSubscriptions method for more information on how to use this operation.
2519//
2520// Note: This operation can generate multiple requests to a service.
2521//
2522//    // Example iterating over at most 3 pages of a ListEventSubscriptions operation.
2523//    pageNum := 0
2524//    err := client.ListEventSubscriptionsPages(params,
2525//        func(page *inspector.ListEventSubscriptionsOutput, lastPage bool) bool {
2526//            pageNum++
2527//            fmt.Println(page)
2528//            return pageNum <= 3
2529//        })
2530//
2531func (c *Inspector) ListEventSubscriptionsPages(input *ListEventSubscriptionsInput, fn func(*ListEventSubscriptionsOutput, bool) bool) error {
2532	return c.ListEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
2533}
2534
2535// ListEventSubscriptionsPagesWithContext same as ListEventSubscriptionsPages except
2536// it takes a Context and allows setting request options on the pages.
2537//
2538// The context must be non-nil and will be used for request cancellation. If
2539// the context is nil a panic will occur. In the future the SDK may create
2540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2541// for more information on using Contexts.
2542func (c *Inspector) ListEventSubscriptionsPagesWithContext(ctx aws.Context, input *ListEventSubscriptionsInput, fn func(*ListEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
2543	p := request.Pagination{
2544		NewRequest: func() (*request.Request, error) {
2545			var inCpy *ListEventSubscriptionsInput
2546			if input != nil {
2547				tmp := *input
2548				inCpy = &tmp
2549			}
2550			req, _ := c.ListEventSubscriptionsRequest(inCpy)
2551			req.SetContext(ctx)
2552			req.ApplyOptions(opts...)
2553			return req, nil
2554		},
2555	}
2556
2557	for p.Next() {
2558		if !fn(p.Page().(*ListEventSubscriptionsOutput), !p.HasNextPage()) {
2559			break
2560		}
2561	}
2562
2563	return p.Err()
2564}
2565
2566const opListExclusions = "ListExclusions"
2567
2568// ListExclusionsRequest generates a "aws/request.Request" representing the
2569// client's request for the ListExclusions operation. The "output" return
2570// value will be populated with the request's response once the request completes
2571// successfully.
2572//
2573// Use "Send" method on the returned Request to send the API call to the service.
2574// the "output" return value is not valid until after Send returns without error.
2575//
2576// See ListExclusions for more information on using the ListExclusions
2577// API call, and error handling.
2578//
2579// This method is useful when you want to inject custom logic or configuration
2580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2581//
2582//
2583//    // Example sending a request using the ListExclusionsRequest method.
2584//    req, resp := client.ListExclusionsRequest(params)
2585//
2586//    err := req.Send()
2587//    if err == nil { // resp is now filled
2588//        fmt.Println(resp)
2589//    }
2590//
2591// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListExclusions
2592func (c *Inspector) ListExclusionsRequest(input *ListExclusionsInput) (req *request.Request, output *ListExclusionsOutput) {
2593	op := &request.Operation{
2594		Name:       opListExclusions,
2595		HTTPMethod: "POST",
2596		HTTPPath:   "/",
2597		Paginator: &request.Paginator{
2598			InputTokens:     []string{"nextToken"},
2599			OutputTokens:    []string{"nextToken"},
2600			LimitToken:      "maxResults",
2601			TruncationToken: "",
2602		},
2603	}
2604
2605	if input == nil {
2606		input = &ListExclusionsInput{}
2607	}
2608
2609	output = &ListExclusionsOutput{}
2610	req = c.newRequest(op, input, output)
2611	return
2612}
2613
2614// ListExclusions API operation for Amazon Inspector.
2615//
2616// List exclusions that are generated by the assessment run.
2617//
2618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2619// with awserr.Error's Code and Message methods to get detailed information about
2620// the error.
2621//
2622// See the AWS API reference guide for Amazon Inspector's
2623// API operation ListExclusions for usage and error information.
2624//
2625// Returned Error Codes:
2626//   * ErrCodeInternalException "InternalException"
2627//   Internal server error.
2628//
2629//   * ErrCodeInvalidInputException "InvalidInputException"
2630//   The request was rejected because an invalid or out-of-range value was supplied
2631//   for an input parameter.
2632//
2633//   * ErrCodeAccessDeniedException "AccessDeniedException"
2634//   You do not have required permissions to access the requested resource.
2635//
2636//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
2637//   The request was rejected because it referenced an entity that does not exist.
2638//   The error code describes the entity.
2639//
2640// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListExclusions
2641func (c *Inspector) ListExclusions(input *ListExclusionsInput) (*ListExclusionsOutput, error) {
2642	req, out := c.ListExclusionsRequest(input)
2643	return out, req.Send()
2644}
2645
2646// ListExclusionsWithContext is the same as ListExclusions with the addition of
2647// the ability to pass a context and additional request options.
2648//
2649// See ListExclusions for details on how to use this API operation.
2650//
2651// The context must be non-nil and will be used for request cancellation. If
2652// the context is nil a panic will occur. In the future the SDK may create
2653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2654// for more information on using Contexts.
2655func (c *Inspector) ListExclusionsWithContext(ctx aws.Context, input *ListExclusionsInput, opts ...request.Option) (*ListExclusionsOutput, error) {
2656	req, out := c.ListExclusionsRequest(input)
2657	req.SetContext(ctx)
2658	req.ApplyOptions(opts...)
2659	return out, req.Send()
2660}
2661
2662// ListExclusionsPages iterates over the pages of a ListExclusions operation,
2663// calling the "fn" function with the response data for each page. To stop
2664// iterating, return false from the fn function.
2665//
2666// See ListExclusions method for more information on how to use this operation.
2667//
2668// Note: This operation can generate multiple requests to a service.
2669//
2670//    // Example iterating over at most 3 pages of a ListExclusions operation.
2671//    pageNum := 0
2672//    err := client.ListExclusionsPages(params,
2673//        func(page *inspector.ListExclusionsOutput, lastPage bool) bool {
2674//            pageNum++
2675//            fmt.Println(page)
2676//            return pageNum <= 3
2677//        })
2678//
2679func (c *Inspector) ListExclusionsPages(input *ListExclusionsInput, fn func(*ListExclusionsOutput, bool) bool) error {
2680	return c.ListExclusionsPagesWithContext(aws.BackgroundContext(), input, fn)
2681}
2682
2683// ListExclusionsPagesWithContext same as ListExclusionsPages except
2684// it takes a Context and allows setting request options on the pages.
2685//
2686// The context must be non-nil and will be used for request cancellation. If
2687// the context is nil a panic will occur. In the future the SDK may create
2688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2689// for more information on using Contexts.
2690func (c *Inspector) ListExclusionsPagesWithContext(ctx aws.Context, input *ListExclusionsInput, fn func(*ListExclusionsOutput, bool) bool, opts ...request.Option) error {
2691	p := request.Pagination{
2692		NewRequest: func() (*request.Request, error) {
2693			var inCpy *ListExclusionsInput
2694			if input != nil {
2695				tmp := *input
2696				inCpy = &tmp
2697			}
2698			req, _ := c.ListExclusionsRequest(inCpy)
2699			req.SetContext(ctx)
2700			req.ApplyOptions(opts...)
2701			return req, nil
2702		},
2703	}
2704
2705	for p.Next() {
2706		if !fn(p.Page().(*ListExclusionsOutput), !p.HasNextPage()) {
2707			break
2708		}
2709	}
2710
2711	return p.Err()
2712}
2713
2714const opListFindings = "ListFindings"
2715
2716// ListFindingsRequest generates a "aws/request.Request" representing the
2717// client's request for the ListFindings operation. The "output" return
2718// value will be populated with the request's response once the request completes
2719// successfully.
2720//
2721// Use "Send" method on the returned Request to send the API call to the service.
2722// the "output" return value is not valid until after Send returns without error.
2723//
2724// See ListFindings for more information on using the ListFindings
2725// API call, and error handling.
2726//
2727// This method is useful when you want to inject custom logic or configuration
2728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2729//
2730//
2731//    // Example sending a request using the ListFindingsRequest method.
2732//    req, resp := client.ListFindingsRequest(params)
2733//
2734//    err := req.Send()
2735//    if err == nil { // resp is now filled
2736//        fmt.Println(resp)
2737//    }
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListFindings
2740func (c *Inspector) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
2741	op := &request.Operation{
2742		Name:       opListFindings,
2743		HTTPMethod: "POST",
2744		HTTPPath:   "/",
2745		Paginator: &request.Paginator{
2746			InputTokens:     []string{"nextToken"},
2747			OutputTokens:    []string{"nextToken"},
2748			LimitToken:      "maxResults",
2749			TruncationToken: "",
2750		},
2751	}
2752
2753	if input == nil {
2754		input = &ListFindingsInput{}
2755	}
2756
2757	output = &ListFindingsOutput{}
2758	req = c.newRequest(op, input, output)
2759	return
2760}
2761
2762// ListFindings API operation for Amazon Inspector.
2763//
2764// Lists findings that are generated by the assessment runs that are specified
2765// by the ARNs of the assessment runs.
2766//
2767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2768// with awserr.Error's Code and Message methods to get detailed information about
2769// the error.
2770//
2771// See the AWS API reference guide for Amazon Inspector's
2772// API operation ListFindings for usage and error information.
2773//
2774// Returned Error Codes:
2775//   * ErrCodeInternalException "InternalException"
2776//   Internal server error.
2777//
2778//   * ErrCodeInvalidInputException "InvalidInputException"
2779//   The request was rejected because an invalid or out-of-range value was supplied
2780//   for an input parameter.
2781//
2782//   * ErrCodeAccessDeniedException "AccessDeniedException"
2783//   You do not have required permissions to access the requested resource.
2784//
2785//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
2786//   The request was rejected because it referenced an entity that does not exist.
2787//   The error code describes the entity.
2788//
2789// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListFindings
2790func (c *Inspector) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
2791	req, out := c.ListFindingsRequest(input)
2792	return out, req.Send()
2793}
2794
2795// ListFindingsWithContext is the same as ListFindings with the addition of
2796// the ability to pass a context and additional request options.
2797//
2798// See ListFindings for details on how to use this API operation.
2799//
2800// The context must be non-nil and will be used for request cancellation. If
2801// the context is nil a panic will occur. In the future the SDK may create
2802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2803// for more information on using Contexts.
2804func (c *Inspector) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
2805	req, out := c.ListFindingsRequest(input)
2806	req.SetContext(ctx)
2807	req.ApplyOptions(opts...)
2808	return out, req.Send()
2809}
2810
2811// ListFindingsPages iterates over the pages of a ListFindings operation,
2812// calling the "fn" function with the response data for each page. To stop
2813// iterating, return false from the fn function.
2814//
2815// See ListFindings method for more information on how to use this operation.
2816//
2817// Note: This operation can generate multiple requests to a service.
2818//
2819//    // Example iterating over at most 3 pages of a ListFindings operation.
2820//    pageNum := 0
2821//    err := client.ListFindingsPages(params,
2822//        func(page *inspector.ListFindingsOutput, lastPage bool) bool {
2823//            pageNum++
2824//            fmt.Println(page)
2825//            return pageNum <= 3
2826//        })
2827//
2828func (c *Inspector) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
2829	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
2830}
2831
2832// ListFindingsPagesWithContext same as ListFindingsPages except
2833// it takes a Context and allows setting request options on the pages.
2834//
2835// The context must be non-nil and will be used for request cancellation. If
2836// the context is nil a panic will occur. In the future the SDK may create
2837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2838// for more information on using Contexts.
2839func (c *Inspector) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
2840	p := request.Pagination{
2841		NewRequest: func() (*request.Request, error) {
2842			var inCpy *ListFindingsInput
2843			if input != nil {
2844				tmp := *input
2845				inCpy = &tmp
2846			}
2847			req, _ := c.ListFindingsRequest(inCpy)
2848			req.SetContext(ctx)
2849			req.ApplyOptions(opts...)
2850			return req, nil
2851		},
2852	}
2853
2854	for p.Next() {
2855		if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) {
2856			break
2857		}
2858	}
2859
2860	return p.Err()
2861}
2862
2863const opListRulesPackages = "ListRulesPackages"
2864
2865// ListRulesPackagesRequest generates a "aws/request.Request" representing the
2866// client's request for the ListRulesPackages operation. The "output" return
2867// value will be populated with the request's response once the request completes
2868// successfully.
2869//
2870// Use "Send" method on the returned Request to send the API call to the service.
2871// the "output" return value is not valid until after Send returns without error.
2872//
2873// See ListRulesPackages for more information on using the ListRulesPackages
2874// API call, and error handling.
2875//
2876// This method is useful when you want to inject custom logic or configuration
2877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2878//
2879//
2880//    // Example sending a request using the ListRulesPackagesRequest method.
2881//    req, resp := client.ListRulesPackagesRequest(params)
2882//
2883//    err := req.Send()
2884//    if err == nil { // resp is now filled
2885//        fmt.Println(resp)
2886//    }
2887//
2888// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListRulesPackages
2889func (c *Inspector) ListRulesPackagesRequest(input *ListRulesPackagesInput) (req *request.Request, output *ListRulesPackagesOutput) {
2890	op := &request.Operation{
2891		Name:       opListRulesPackages,
2892		HTTPMethod: "POST",
2893		HTTPPath:   "/",
2894		Paginator: &request.Paginator{
2895			InputTokens:     []string{"nextToken"},
2896			OutputTokens:    []string{"nextToken"},
2897			LimitToken:      "maxResults",
2898			TruncationToken: "",
2899		},
2900	}
2901
2902	if input == nil {
2903		input = &ListRulesPackagesInput{}
2904	}
2905
2906	output = &ListRulesPackagesOutput{}
2907	req = c.newRequest(op, input, output)
2908	return
2909}
2910
2911// ListRulesPackages API operation for Amazon Inspector.
2912//
2913// Lists all available Amazon Inspector rules packages.
2914//
2915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2916// with awserr.Error's Code and Message methods to get detailed information about
2917// the error.
2918//
2919// See the AWS API reference guide for Amazon Inspector's
2920// API operation ListRulesPackages for usage and error information.
2921//
2922// Returned Error Codes:
2923//   * ErrCodeInternalException "InternalException"
2924//   Internal server error.
2925//
2926//   * ErrCodeInvalidInputException "InvalidInputException"
2927//   The request was rejected because an invalid or out-of-range value was supplied
2928//   for an input parameter.
2929//
2930//   * ErrCodeAccessDeniedException "AccessDeniedException"
2931//   You do not have required permissions to access the requested resource.
2932//
2933// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListRulesPackages
2934func (c *Inspector) ListRulesPackages(input *ListRulesPackagesInput) (*ListRulesPackagesOutput, error) {
2935	req, out := c.ListRulesPackagesRequest(input)
2936	return out, req.Send()
2937}
2938
2939// ListRulesPackagesWithContext is the same as ListRulesPackages with the addition of
2940// the ability to pass a context and additional request options.
2941//
2942// See ListRulesPackages for details on how to use this API operation.
2943//
2944// The context must be non-nil and will be used for request cancellation. If
2945// the context is nil a panic will occur. In the future the SDK may create
2946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2947// for more information on using Contexts.
2948func (c *Inspector) ListRulesPackagesWithContext(ctx aws.Context, input *ListRulesPackagesInput, opts ...request.Option) (*ListRulesPackagesOutput, error) {
2949	req, out := c.ListRulesPackagesRequest(input)
2950	req.SetContext(ctx)
2951	req.ApplyOptions(opts...)
2952	return out, req.Send()
2953}
2954
2955// ListRulesPackagesPages iterates over the pages of a ListRulesPackages operation,
2956// calling the "fn" function with the response data for each page. To stop
2957// iterating, return false from the fn function.
2958//
2959// See ListRulesPackages method for more information on how to use this operation.
2960//
2961// Note: This operation can generate multiple requests to a service.
2962//
2963//    // Example iterating over at most 3 pages of a ListRulesPackages operation.
2964//    pageNum := 0
2965//    err := client.ListRulesPackagesPages(params,
2966//        func(page *inspector.ListRulesPackagesOutput, lastPage bool) bool {
2967//            pageNum++
2968//            fmt.Println(page)
2969//            return pageNum <= 3
2970//        })
2971//
2972func (c *Inspector) ListRulesPackagesPages(input *ListRulesPackagesInput, fn func(*ListRulesPackagesOutput, bool) bool) error {
2973	return c.ListRulesPackagesPagesWithContext(aws.BackgroundContext(), input, fn)
2974}
2975
2976// ListRulesPackagesPagesWithContext same as ListRulesPackagesPages except
2977// it takes a Context and allows setting request options on the pages.
2978//
2979// The context must be non-nil and will be used for request cancellation. If
2980// the context is nil a panic will occur. In the future the SDK may create
2981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2982// for more information on using Contexts.
2983func (c *Inspector) ListRulesPackagesPagesWithContext(ctx aws.Context, input *ListRulesPackagesInput, fn func(*ListRulesPackagesOutput, bool) bool, opts ...request.Option) error {
2984	p := request.Pagination{
2985		NewRequest: func() (*request.Request, error) {
2986			var inCpy *ListRulesPackagesInput
2987			if input != nil {
2988				tmp := *input
2989				inCpy = &tmp
2990			}
2991			req, _ := c.ListRulesPackagesRequest(inCpy)
2992			req.SetContext(ctx)
2993			req.ApplyOptions(opts...)
2994			return req, nil
2995		},
2996	}
2997
2998	for p.Next() {
2999		if !fn(p.Page().(*ListRulesPackagesOutput), !p.HasNextPage()) {
3000			break
3001		}
3002	}
3003
3004	return p.Err()
3005}
3006
3007const opListTagsForResource = "ListTagsForResource"
3008
3009// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3010// client's request for the ListTagsForResource operation. The "output" return
3011// value will be populated with the request's response once the request completes
3012// successfully.
3013//
3014// Use "Send" method on the returned Request to send the API call to the service.
3015// the "output" return value is not valid until after Send returns without error.
3016//
3017// See ListTagsForResource for more information on using the ListTagsForResource
3018// API call, and error handling.
3019//
3020// This method is useful when you want to inject custom logic or configuration
3021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3022//
3023//
3024//    // Example sending a request using the ListTagsForResourceRequest method.
3025//    req, resp := client.ListTagsForResourceRequest(params)
3026//
3027//    err := req.Send()
3028//    if err == nil { // resp is now filled
3029//        fmt.Println(resp)
3030//    }
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListTagsForResource
3033func (c *Inspector) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3034	op := &request.Operation{
3035		Name:       opListTagsForResource,
3036		HTTPMethod: "POST",
3037		HTTPPath:   "/",
3038	}
3039
3040	if input == nil {
3041		input = &ListTagsForResourceInput{}
3042	}
3043
3044	output = &ListTagsForResourceOutput{}
3045	req = c.newRequest(op, input, output)
3046	return
3047}
3048
3049// ListTagsForResource API operation for Amazon Inspector.
3050//
3051// Lists all tags associated with an assessment template.
3052//
3053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3054// with awserr.Error's Code and Message methods to get detailed information about
3055// the error.
3056//
3057// See the AWS API reference guide for Amazon Inspector's
3058// API operation ListTagsForResource for usage and error information.
3059//
3060// Returned Error Codes:
3061//   * ErrCodeInternalException "InternalException"
3062//   Internal server error.
3063//
3064//   * ErrCodeInvalidInputException "InvalidInputException"
3065//   The request was rejected because an invalid or out-of-range value was supplied
3066//   for an input parameter.
3067//
3068//   * ErrCodeAccessDeniedException "AccessDeniedException"
3069//   You do not have required permissions to access the requested resource.
3070//
3071//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3072//   The request was rejected because it referenced an entity that does not exist.
3073//   The error code describes the entity.
3074//
3075// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/ListTagsForResource
3076func (c *Inspector) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3077	req, out := c.ListTagsForResourceRequest(input)
3078	return out, req.Send()
3079}
3080
3081// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3082// the ability to pass a context and additional request options.
3083//
3084// See ListTagsForResource for details on how to use this API operation.
3085//
3086// The context must be non-nil and will be used for request cancellation. If
3087// the context is nil a panic will occur. In the future the SDK may create
3088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3089// for more information on using Contexts.
3090func (c *Inspector) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3091	req, out := c.ListTagsForResourceRequest(input)
3092	req.SetContext(ctx)
3093	req.ApplyOptions(opts...)
3094	return out, req.Send()
3095}
3096
3097const opPreviewAgents = "PreviewAgents"
3098
3099// PreviewAgentsRequest generates a "aws/request.Request" representing the
3100// client's request for the PreviewAgents operation. The "output" return
3101// value will be populated with the request's response once the request completes
3102// successfully.
3103//
3104// Use "Send" method on the returned Request to send the API call to the service.
3105// the "output" return value is not valid until after Send returns without error.
3106//
3107// See PreviewAgents for more information on using the PreviewAgents
3108// API call, and error handling.
3109//
3110// This method is useful when you want to inject custom logic or configuration
3111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3112//
3113//
3114//    // Example sending a request using the PreviewAgentsRequest method.
3115//    req, resp := client.PreviewAgentsRequest(params)
3116//
3117//    err := req.Send()
3118//    if err == nil { // resp is now filled
3119//        fmt.Println(resp)
3120//    }
3121//
3122// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/PreviewAgents
3123func (c *Inspector) PreviewAgentsRequest(input *PreviewAgentsInput) (req *request.Request, output *PreviewAgentsOutput) {
3124	op := &request.Operation{
3125		Name:       opPreviewAgents,
3126		HTTPMethod: "POST",
3127		HTTPPath:   "/",
3128		Paginator: &request.Paginator{
3129			InputTokens:     []string{"nextToken"},
3130			OutputTokens:    []string{"nextToken"},
3131			LimitToken:      "maxResults",
3132			TruncationToken: "",
3133		},
3134	}
3135
3136	if input == nil {
3137		input = &PreviewAgentsInput{}
3138	}
3139
3140	output = &PreviewAgentsOutput{}
3141	req = c.newRequest(op, input, output)
3142	return
3143}
3144
3145// PreviewAgents API operation for Amazon Inspector.
3146//
3147// Previews the agents installed on the EC2 instances that are part of the specified
3148// assessment target.
3149//
3150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3151// with awserr.Error's Code and Message methods to get detailed information about
3152// the error.
3153//
3154// See the AWS API reference guide for Amazon Inspector's
3155// API operation PreviewAgents for usage and error information.
3156//
3157// Returned Error Codes:
3158//   * ErrCodeInternalException "InternalException"
3159//   Internal server error.
3160//
3161//   * ErrCodeInvalidInputException "InvalidInputException"
3162//   The request was rejected because an invalid or out-of-range value was supplied
3163//   for an input parameter.
3164//
3165//   * ErrCodeAccessDeniedException "AccessDeniedException"
3166//   You do not have required permissions to access the requested resource.
3167//
3168//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3169//   The request was rejected because it referenced an entity that does not exist.
3170//   The error code describes the entity.
3171//
3172//   * ErrCodeInvalidCrossAccountRoleException "InvalidCrossAccountRoleException"
3173//   Amazon Inspector cannot assume the cross-account role that it needs to list
3174//   your EC2 instances during the assessment run.
3175//
3176// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/PreviewAgents
3177func (c *Inspector) PreviewAgents(input *PreviewAgentsInput) (*PreviewAgentsOutput, error) {
3178	req, out := c.PreviewAgentsRequest(input)
3179	return out, req.Send()
3180}
3181
3182// PreviewAgentsWithContext is the same as PreviewAgents with the addition of
3183// the ability to pass a context and additional request options.
3184//
3185// See PreviewAgents for details on how to use this API operation.
3186//
3187// The context must be non-nil and will be used for request cancellation. If
3188// the context is nil a panic will occur. In the future the SDK may create
3189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3190// for more information on using Contexts.
3191func (c *Inspector) PreviewAgentsWithContext(ctx aws.Context, input *PreviewAgentsInput, opts ...request.Option) (*PreviewAgentsOutput, error) {
3192	req, out := c.PreviewAgentsRequest(input)
3193	req.SetContext(ctx)
3194	req.ApplyOptions(opts...)
3195	return out, req.Send()
3196}
3197
3198// PreviewAgentsPages iterates over the pages of a PreviewAgents operation,
3199// calling the "fn" function with the response data for each page. To stop
3200// iterating, return false from the fn function.
3201//
3202// See PreviewAgents method for more information on how to use this operation.
3203//
3204// Note: This operation can generate multiple requests to a service.
3205//
3206//    // Example iterating over at most 3 pages of a PreviewAgents operation.
3207//    pageNum := 0
3208//    err := client.PreviewAgentsPages(params,
3209//        func(page *inspector.PreviewAgentsOutput, lastPage bool) bool {
3210//            pageNum++
3211//            fmt.Println(page)
3212//            return pageNum <= 3
3213//        })
3214//
3215func (c *Inspector) PreviewAgentsPages(input *PreviewAgentsInput, fn func(*PreviewAgentsOutput, bool) bool) error {
3216	return c.PreviewAgentsPagesWithContext(aws.BackgroundContext(), input, fn)
3217}
3218
3219// PreviewAgentsPagesWithContext same as PreviewAgentsPages except
3220// it takes a Context and allows setting request options on the pages.
3221//
3222// The context must be non-nil and will be used for request cancellation. If
3223// the context is nil a panic will occur. In the future the SDK may create
3224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3225// for more information on using Contexts.
3226func (c *Inspector) PreviewAgentsPagesWithContext(ctx aws.Context, input *PreviewAgentsInput, fn func(*PreviewAgentsOutput, bool) bool, opts ...request.Option) error {
3227	p := request.Pagination{
3228		NewRequest: func() (*request.Request, error) {
3229			var inCpy *PreviewAgentsInput
3230			if input != nil {
3231				tmp := *input
3232				inCpy = &tmp
3233			}
3234			req, _ := c.PreviewAgentsRequest(inCpy)
3235			req.SetContext(ctx)
3236			req.ApplyOptions(opts...)
3237			return req, nil
3238		},
3239	}
3240
3241	for p.Next() {
3242		if !fn(p.Page().(*PreviewAgentsOutput), !p.HasNextPage()) {
3243			break
3244		}
3245	}
3246
3247	return p.Err()
3248}
3249
3250const opRegisterCrossAccountAccessRole = "RegisterCrossAccountAccessRole"
3251
3252// RegisterCrossAccountAccessRoleRequest generates a "aws/request.Request" representing the
3253// client's request for the RegisterCrossAccountAccessRole operation. The "output" return
3254// value will be populated with the request's response once the request completes
3255// successfully.
3256//
3257// Use "Send" method on the returned Request to send the API call to the service.
3258// the "output" return value is not valid until after Send returns without error.
3259//
3260// See RegisterCrossAccountAccessRole for more information on using the RegisterCrossAccountAccessRole
3261// API call, and error handling.
3262//
3263// This method is useful when you want to inject custom logic or configuration
3264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3265//
3266//
3267//    // Example sending a request using the RegisterCrossAccountAccessRoleRequest method.
3268//    req, resp := client.RegisterCrossAccountAccessRoleRequest(params)
3269//
3270//    err := req.Send()
3271//    if err == nil { // resp is now filled
3272//        fmt.Println(resp)
3273//    }
3274//
3275// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/RegisterCrossAccountAccessRole
3276func (c *Inspector) RegisterCrossAccountAccessRoleRequest(input *RegisterCrossAccountAccessRoleInput) (req *request.Request, output *RegisterCrossAccountAccessRoleOutput) {
3277	op := &request.Operation{
3278		Name:       opRegisterCrossAccountAccessRole,
3279		HTTPMethod: "POST",
3280		HTTPPath:   "/",
3281	}
3282
3283	if input == nil {
3284		input = &RegisterCrossAccountAccessRoleInput{}
3285	}
3286
3287	output = &RegisterCrossAccountAccessRoleOutput{}
3288	req = c.newRequest(op, input, output)
3289	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3290	return
3291}
3292
3293// RegisterCrossAccountAccessRole API operation for Amazon Inspector.
3294//
3295// Registers the IAM role that grants Amazon Inspector access to AWS Services
3296// needed to perform security assessments.
3297//
3298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3299// with awserr.Error's Code and Message methods to get detailed information about
3300// the error.
3301//
3302// See the AWS API reference guide for Amazon Inspector's
3303// API operation RegisterCrossAccountAccessRole for usage and error information.
3304//
3305// Returned Error Codes:
3306//   * ErrCodeInternalException "InternalException"
3307//   Internal server error.
3308//
3309//   * ErrCodeInvalidInputException "InvalidInputException"
3310//   The request was rejected because an invalid or out-of-range value was supplied
3311//   for an input parameter.
3312//
3313//   * ErrCodeAccessDeniedException "AccessDeniedException"
3314//   You do not have required permissions to access the requested resource.
3315//
3316//   * ErrCodeInvalidCrossAccountRoleException "InvalidCrossAccountRoleException"
3317//   Amazon Inspector cannot assume the cross-account role that it needs to list
3318//   your EC2 instances during the assessment run.
3319//
3320//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3321//   The serice is temporary unavailable.
3322//
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/RegisterCrossAccountAccessRole
3324func (c *Inspector) RegisterCrossAccountAccessRole(input *RegisterCrossAccountAccessRoleInput) (*RegisterCrossAccountAccessRoleOutput, error) {
3325	req, out := c.RegisterCrossAccountAccessRoleRequest(input)
3326	return out, req.Send()
3327}
3328
3329// RegisterCrossAccountAccessRoleWithContext is the same as RegisterCrossAccountAccessRole with the addition of
3330// the ability to pass a context and additional request options.
3331//
3332// See RegisterCrossAccountAccessRole for details on how to use this API operation.
3333//
3334// The context must be non-nil and will be used for request cancellation. If
3335// the context is nil a panic will occur. In the future the SDK may create
3336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3337// for more information on using Contexts.
3338func (c *Inspector) RegisterCrossAccountAccessRoleWithContext(ctx aws.Context, input *RegisterCrossAccountAccessRoleInput, opts ...request.Option) (*RegisterCrossAccountAccessRoleOutput, error) {
3339	req, out := c.RegisterCrossAccountAccessRoleRequest(input)
3340	req.SetContext(ctx)
3341	req.ApplyOptions(opts...)
3342	return out, req.Send()
3343}
3344
3345const opRemoveAttributesFromFindings = "RemoveAttributesFromFindings"
3346
3347// RemoveAttributesFromFindingsRequest generates a "aws/request.Request" representing the
3348// client's request for the RemoveAttributesFromFindings operation. The "output" return
3349// value will be populated with the request's response once the request completes
3350// successfully.
3351//
3352// Use "Send" method on the returned Request to send the API call to the service.
3353// the "output" return value is not valid until after Send returns without error.
3354//
3355// See RemoveAttributesFromFindings for more information on using the RemoveAttributesFromFindings
3356// API call, and error handling.
3357//
3358// This method is useful when you want to inject custom logic or configuration
3359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3360//
3361//
3362//    // Example sending a request using the RemoveAttributesFromFindingsRequest method.
3363//    req, resp := client.RemoveAttributesFromFindingsRequest(params)
3364//
3365//    err := req.Send()
3366//    if err == nil { // resp is now filled
3367//        fmt.Println(resp)
3368//    }
3369//
3370// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/RemoveAttributesFromFindings
3371func (c *Inspector) RemoveAttributesFromFindingsRequest(input *RemoveAttributesFromFindingsInput) (req *request.Request, output *RemoveAttributesFromFindingsOutput) {
3372	op := &request.Operation{
3373		Name:       opRemoveAttributesFromFindings,
3374		HTTPMethod: "POST",
3375		HTTPPath:   "/",
3376	}
3377
3378	if input == nil {
3379		input = &RemoveAttributesFromFindingsInput{}
3380	}
3381
3382	output = &RemoveAttributesFromFindingsOutput{}
3383	req = c.newRequest(op, input, output)
3384	return
3385}
3386
3387// RemoveAttributesFromFindings API operation for Amazon Inspector.
3388//
3389// Removes entire attributes (key and value pairs) from the findings that are
3390// specified by the ARNs of the findings where an attribute with the specified
3391// key exists.
3392//
3393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3394// with awserr.Error's Code and Message methods to get detailed information about
3395// the error.
3396//
3397// See the AWS API reference guide for Amazon Inspector's
3398// API operation RemoveAttributesFromFindings for usage and error information.
3399//
3400// Returned Error Codes:
3401//   * ErrCodeInternalException "InternalException"
3402//   Internal server error.
3403//
3404//   * ErrCodeInvalidInputException "InvalidInputException"
3405//   The request was rejected because an invalid or out-of-range value was supplied
3406//   for an input parameter.
3407//
3408//   * ErrCodeAccessDeniedException "AccessDeniedException"
3409//   You do not have required permissions to access the requested resource.
3410//
3411//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3412//   The request was rejected because it referenced an entity that does not exist.
3413//   The error code describes the entity.
3414//
3415//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3416//   The serice is temporary unavailable.
3417//
3418// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/RemoveAttributesFromFindings
3419func (c *Inspector) RemoveAttributesFromFindings(input *RemoveAttributesFromFindingsInput) (*RemoveAttributesFromFindingsOutput, error) {
3420	req, out := c.RemoveAttributesFromFindingsRequest(input)
3421	return out, req.Send()
3422}
3423
3424// RemoveAttributesFromFindingsWithContext is the same as RemoveAttributesFromFindings with the addition of
3425// the ability to pass a context and additional request options.
3426//
3427// See RemoveAttributesFromFindings for details on how to use this API operation.
3428//
3429// The context must be non-nil and will be used for request cancellation. If
3430// the context is nil a panic will occur. In the future the SDK may create
3431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3432// for more information on using Contexts.
3433func (c *Inspector) RemoveAttributesFromFindingsWithContext(ctx aws.Context, input *RemoveAttributesFromFindingsInput, opts ...request.Option) (*RemoveAttributesFromFindingsOutput, error) {
3434	req, out := c.RemoveAttributesFromFindingsRequest(input)
3435	req.SetContext(ctx)
3436	req.ApplyOptions(opts...)
3437	return out, req.Send()
3438}
3439
3440const opSetTagsForResource = "SetTagsForResource"
3441
3442// SetTagsForResourceRequest generates a "aws/request.Request" representing the
3443// client's request for the SetTagsForResource operation. The "output" return
3444// value will be populated with the request's response once the request completes
3445// successfully.
3446//
3447// Use "Send" method on the returned Request to send the API call to the service.
3448// the "output" return value is not valid until after Send returns without error.
3449//
3450// See SetTagsForResource for more information on using the SetTagsForResource
3451// API call, and error handling.
3452//
3453// This method is useful when you want to inject custom logic or configuration
3454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3455//
3456//
3457//    // Example sending a request using the SetTagsForResourceRequest method.
3458//    req, resp := client.SetTagsForResourceRequest(params)
3459//
3460//    err := req.Send()
3461//    if err == nil { // resp is now filled
3462//        fmt.Println(resp)
3463//    }
3464//
3465// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/SetTagsForResource
3466func (c *Inspector) SetTagsForResourceRequest(input *SetTagsForResourceInput) (req *request.Request, output *SetTagsForResourceOutput) {
3467	op := &request.Operation{
3468		Name:       opSetTagsForResource,
3469		HTTPMethod: "POST",
3470		HTTPPath:   "/",
3471	}
3472
3473	if input == nil {
3474		input = &SetTagsForResourceInput{}
3475	}
3476
3477	output = &SetTagsForResourceOutput{}
3478	req = c.newRequest(op, input, output)
3479	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3480	return
3481}
3482
3483// SetTagsForResource API operation for Amazon Inspector.
3484//
3485// Sets tags (key and value pairs) to the assessment template that is specified
3486// by the ARN of the assessment template.
3487//
3488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3489// with awserr.Error's Code and Message methods to get detailed information about
3490// the error.
3491//
3492// See the AWS API reference guide for Amazon Inspector's
3493// API operation SetTagsForResource for usage and error information.
3494//
3495// Returned Error Codes:
3496//   * ErrCodeInternalException "InternalException"
3497//   Internal server error.
3498//
3499//   * ErrCodeInvalidInputException "InvalidInputException"
3500//   The request was rejected because an invalid or out-of-range value was supplied
3501//   for an input parameter.
3502//
3503//   * ErrCodeAccessDeniedException "AccessDeniedException"
3504//   You do not have required permissions to access the requested resource.
3505//
3506//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3507//   The request was rejected because it referenced an entity that does not exist.
3508//   The error code describes the entity.
3509//
3510//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3511//   The serice is temporary unavailable.
3512//
3513// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/SetTagsForResource
3514func (c *Inspector) SetTagsForResource(input *SetTagsForResourceInput) (*SetTagsForResourceOutput, error) {
3515	req, out := c.SetTagsForResourceRequest(input)
3516	return out, req.Send()
3517}
3518
3519// SetTagsForResourceWithContext is the same as SetTagsForResource with the addition of
3520// the ability to pass a context and additional request options.
3521//
3522// See SetTagsForResource for details on how to use this API operation.
3523//
3524// The context must be non-nil and will be used for request cancellation. If
3525// the context is nil a panic will occur. In the future the SDK may create
3526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3527// for more information on using Contexts.
3528func (c *Inspector) SetTagsForResourceWithContext(ctx aws.Context, input *SetTagsForResourceInput, opts ...request.Option) (*SetTagsForResourceOutput, error) {
3529	req, out := c.SetTagsForResourceRequest(input)
3530	req.SetContext(ctx)
3531	req.ApplyOptions(opts...)
3532	return out, req.Send()
3533}
3534
3535const opStartAssessmentRun = "StartAssessmentRun"
3536
3537// StartAssessmentRunRequest generates a "aws/request.Request" representing the
3538// client's request for the StartAssessmentRun operation. The "output" return
3539// value will be populated with the request's response once the request completes
3540// successfully.
3541//
3542// Use "Send" method on the returned Request to send the API call to the service.
3543// the "output" return value is not valid until after Send returns without error.
3544//
3545// See StartAssessmentRun for more information on using the StartAssessmentRun
3546// API call, and error handling.
3547//
3548// This method is useful when you want to inject custom logic or configuration
3549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3550//
3551//
3552//    // Example sending a request using the StartAssessmentRunRequest method.
3553//    req, resp := client.StartAssessmentRunRequest(params)
3554//
3555//    err := req.Send()
3556//    if err == nil { // resp is now filled
3557//        fmt.Println(resp)
3558//    }
3559//
3560// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/StartAssessmentRun
3561func (c *Inspector) StartAssessmentRunRequest(input *StartAssessmentRunInput) (req *request.Request, output *StartAssessmentRunOutput) {
3562	op := &request.Operation{
3563		Name:       opStartAssessmentRun,
3564		HTTPMethod: "POST",
3565		HTTPPath:   "/",
3566	}
3567
3568	if input == nil {
3569		input = &StartAssessmentRunInput{}
3570	}
3571
3572	output = &StartAssessmentRunOutput{}
3573	req = c.newRequest(op, input, output)
3574	return
3575}
3576
3577// StartAssessmentRun API operation for Amazon Inspector.
3578//
3579// Starts the assessment run specified by the ARN of the assessment template.
3580// For this API to function properly, you must not exceed the limit of running
3581// up to 500 concurrent agents per AWS account.
3582//
3583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3584// with awserr.Error's Code and Message methods to get detailed information about
3585// the error.
3586//
3587// See the AWS API reference guide for Amazon Inspector's
3588// API operation StartAssessmentRun for usage and error information.
3589//
3590// Returned Error Codes:
3591//   * ErrCodeInternalException "InternalException"
3592//   Internal server error.
3593//
3594//   * ErrCodeInvalidInputException "InvalidInputException"
3595//   The request was rejected because an invalid or out-of-range value was supplied
3596//   for an input parameter.
3597//
3598//   * ErrCodeLimitExceededException "LimitExceededException"
3599//   The request was rejected because it attempted to create resources beyond
3600//   the current AWS account limits. The error code describes the limit exceeded.
3601//
3602//   * ErrCodeAccessDeniedException "AccessDeniedException"
3603//   You do not have required permissions to access the requested resource.
3604//
3605//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3606//   The request was rejected because it referenced an entity that does not exist.
3607//   The error code describes the entity.
3608//
3609//   * ErrCodeInvalidCrossAccountRoleException "InvalidCrossAccountRoleException"
3610//   Amazon Inspector cannot assume the cross-account role that it needs to list
3611//   your EC2 instances during the assessment run.
3612//
3613//   * ErrCodeAgentsAlreadyRunningAssessmentException "AgentsAlreadyRunningAssessmentException"
3614//   You started an assessment run, but one of the instances is already participating
3615//   in another assessment run.
3616//
3617//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3618//   The serice is temporary unavailable.
3619//
3620// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/StartAssessmentRun
3621func (c *Inspector) StartAssessmentRun(input *StartAssessmentRunInput) (*StartAssessmentRunOutput, error) {
3622	req, out := c.StartAssessmentRunRequest(input)
3623	return out, req.Send()
3624}
3625
3626// StartAssessmentRunWithContext is the same as StartAssessmentRun with the addition of
3627// the ability to pass a context and additional request options.
3628//
3629// See StartAssessmentRun for details on how to use this API operation.
3630//
3631// The context must be non-nil and will be used for request cancellation. If
3632// the context is nil a panic will occur. In the future the SDK may create
3633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3634// for more information on using Contexts.
3635func (c *Inspector) StartAssessmentRunWithContext(ctx aws.Context, input *StartAssessmentRunInput, opts ...request.Option) (*StartAssessmentRunOutput, error) {
3636	req, out := c.StartAssessmentRunRequest(input)
3637	req.SetContext(ctx)
3638	req.ApplyOptions(opts...)
3639	return out, req.Send()
3640}
3641
3642const opStopAssessmentRun = "StopAssessmentRun"
3643
3644// StopAssessmentRunRequest generates a "aws/request.Request" representing the
3645// client's request for the StopAssessmentRun operation. The "output" return
3646// value will be populated with the request's response once the request completes
3647// successfully.
3648//
3649// Use "Send" method on the returned Request to send the API call to the service.
3650// the "output" return value is not valid until after Send returns without error.
3651//
3652// See StopAssessmentRun for more information on using the StopAssessmentRun
3653// API call, and error handling.
3654//
3655// This method is useful when you want to inject custom logic or configuration
3656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3657//
3658//
3659//    // Example sending a request using the StopAssessmentRunRequest method.
3660//    req, resp := client.StopAssessmentRunRequest(params)
3661//
3662//    err := req.Send()
3663//    if err == nil { // resp is now filled
3664//        fmt.Println(resp)
3665//    }
3666//
3667// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/StopAssessmentRun
3668func (c *Inspector) StopAssessmentRunRequest(input *StopAssessmentRunInput) (req *request.Request, output *StopAssessmentRunOutput) {
3669	op := &request.Operation{
3670		Name:       opStopAssessmentRun,
3671		HTTPMethod: "POST",
3672		HTTPPath:   "/",
3673	}
3674
3675	if input == nil {
3676		input = &StopAssessmentRunInput{}
3677	}
3678
3679	output = &StopAssessmentRunOutput{}
3680	req = c.newRequest(op, input, output)
3681	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3682	return
3683}
3684
3685// StopAssessmentRun API operation for Amazon Inspector.
3686//
3687// Stops the assessment run that is specified by the ARN of the assessment run.
3688//
3689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3690// with awserr.Error's Code and Message methods to get detailed information about
3691// the error.
3692//
3693// See the AWS API reference guide for Amazon Inspector's
3694// API operation StopAssessmentRun for usage and error information.
3695//
3696// Returned Error Codes:
3697//   * ErrCodeInternalException "InternalException"
3698//   Internal server error.
3699//
3700//   * ErrCodeInvalidInputException "InvalidInputException"
3701//   The request was rejected because an invalid or out-of-range value was supplied
3702//   for an input parameter.
3703//
3704//   * ErrCodeAccessDeniedException "AccessDeniedException"
3705//   You do not have required permissions to access the requested resource.
3706//
3707//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3708//   The request was rejected because it referenced an entity that does not exist.
3709//   The error code describes the entity.
3710//
3711//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3712//   The serice is temporary unavailable.
3713//
3714// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/StopAssessmentRun
3715func (c *Inspector) StopAssessmentRun(input *StopAssessmentRunInput) (*StopAssessmentRunOutput, error) {
3716	req, out := c.StopAssessmentRunRequest(input)
3717	return out, req.Send()
3718}
3719
3720// StopAssessmentRunWithContext is the same as StopAssessmentRun with the addition of
3721// the ability to pass a context and additional request options.
3722//
3723// See StopAssessmentRun for details on how to use this API operation.
3724//
3725// The context must be non-nil and will be used for request cancellation. If
3726// the context is nil a panic will occur. In the future the SDK may create
3727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3728// for more information on using Contexts.
3729func (c *Inspector) StopAssessmentRunWithContext(ctx aws.Context, input *StopAssessmentRunInput, opts ...request.Option) (*StopAssessmentRunOutput, error) {
3730	req, out := c.StopAssessmentRunRequest(input)
3731	req.SetContext(ctx)
3732	req.ApplyOptions(opts...)
3733	return out, req.Send()
3734}
3735
3736const opSubscribeToEvent = "SubscribeToEvent"
3737
3738// SubscribeToEventRequest generates a "aws/request.Request" representing the
3739// client's request for the SubscribeToEvent operation. The "output" return
3740// value will be populated with the request's response once the request completes
3741// successfully.
3742//
3743// Use "Send" method on the returned Request to send the API call to the service.
3744// the "output" return value is not valid until after Send returns without error.
3745//
3746// See SubscribeToEvent for more information on using the SubscribeToEvent
3747// API call, and error handling.
3748//
3749// This method is useful when you want to inject custom logic or configuration
3750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3751//
3752//
3753//    // Example sending a request using the SubscribeToEventRequest method.
3754//    req, resp := client.SubscribeToEventRequest(params)
3755//
3756//    err := req.Send()
3757//    if err == nil { // resp is now filled
3758//        fmt.Println(resp)
3759//    }
3760//
3761// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/SubscribeToEvent
3762func (c *Inspector) SubscribeToEventRequest(input *SubscribeToEventInput) (req *request.Request, output *SubscribeToEventOutput) {
3763	op := &request.Operation{
3764		Name:       opSubscribeToEvent,
3765		HTTPMethod: "POST",
3766		HTTPPath:   "/",
3767	}
3768
3769	if input == nil {
3770		input = &SubscribeToEventInput{}
3771	}
3772
3773	output = &SubscribeToEventOutput{}
3774	req = c.newRequest(op, input, output)
3775	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3776	return
3777}
3778
3779// SubscribeToEvent API operation for Amazon Inspector.
3780//
3781// Enables the process of sending Amazon Simple Notification Service (SNS) notifications
3782// about a specified event to a specified SNS topic.
3783//
3784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3785// with awserr.Error's Code and Message methods to get detailed information about
3786// the error.
3787//
3788// See the AWS API reference guide for Amazon Inspector's
3789// API operation SubscribeToEvent for usage and error information.
3790//
3791// Returned Error Codes:
3792//   * ErrCodeInternalException "InternalException"
3793//   Internal server error.
3794//
3795//   * ErrCodeInvalidInputException "InvalidInputException"
3796//   The request was rejected because an invalid or out-of-range value was supplied
3797//   for an input parameter.
3798//
3799//   * ErrCodeLimitExceededException "LimitExceededException"
3800//   The request was rejected because it attempted to create resources beyond
3801//   the current AWS account limits. The error code describes the limit exceeded.
3802//
3803//   * ErrCodeAccessDeniedException "AccessDeniedException"
3804//   You do not have required permissions to access the requested resource.
3805//
3806//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3807//   The request was rejected because it referenced an entity that does not exist.
3808//   The error code describes the entity.
3809//
3810//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3811//   The serice is temporary unavailable.
3812//
3813// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/SubscribeToEvent
3814func (c *Inspector) SubscribeToEvent(input *SubscribeToEventInput) (*SubscribeToEventOutput, error) {
3815	req, out := c.SubscribeToEventRequest(input)
3816	return out, req.Send()
3817}
3818
3819// SubscribeToEventWithContext is the same as SubscribeToEvent with the addition of
3820// the ability to pass a context and additional request options.
3821//
3822// See SubscribeToEvent for details on how to use this API operation.
3823//
3824// The context must be non-nil and will be used for request cancellation. If
3825// the context is nil a panic will occur. In the future the SDK may create
3826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3827// for more information on using Contexts.
3828func (c *Inspector) SubscribeToEventWithContext(ctx aws.Context, input *SubscribeToEventInput, opts ...request.Option) (*SubscribeToEventOutput, error) {
3829	req, out := c.SubscribeToEventRequest(input)
3830	req.SetContext(ctx)
3831	req.ApplyOptions(opts...)
3832	return out, req.Send()
3833}
3834
3835const opUnsubscribeFromEvent = "UnsubscribeFromEvent"
3836
3837// UnsubscribeFromEventRequest generates a "aws/request.Request" representing the
3838// client's request for the UnsubscribeFromEvent operation. The "output" return
3839// value will be populated with the request's response once the request completes
3840// successfully.
3841//
3842// Use "Send" method on the returned Request to send the API call to the service.
3843// the "output" return value is not valid until after Send returns without error.
3844//
3845// See UnsubscribeFromEvent for more information on using the UnsubscribeFromEvent
3846// API call, and error handling.
3847//
3848// This method is useful when you want to inject custom logic or configuration
3849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3850//
3851//
3852//    // Example sending a request using the UnsubscribeFromEventRequest method.
3853//    req, resp := client.UnsubscribeFromEventRequest(params)
3854//
3855//    err := req.Send()
3856//    if err == nil { // resp is now filled
3857//        fmt.Println(resp)
3858//    }
3859//
3860// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/UnsubscribeFromEvent
3861func (c *Inspector) UnsubscribeFromEventRequest(input *UnsubscribeFromEventInput) (req *request.Request, output *UnsubscribeFromEventOutput) {
3862	op := &request.Operation{
3863		Name:       opUnsubscribeFromEvent,
3864		HTTPMethod: "POST",
3865		HTTPPath:   "/",
3866	}
3867
3868	if input == nil {
3869		input = &UnsubscribeFromEventInput{}
3870	}
3871
3872	output = &UnsubscribeFromEventOutput{}
3873	req = c.newRequest(op, input, output)
3874	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3875	return
3876}
3877
3878// UnsubscribeFromEvent API operation for Amazon Inspector.
3879//
3880// Disables the process of sending Amazon Simple Notification Service (SNS)
3881// notifications about a specified event to a specified SNS topic.
3882//
3883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3884// with awserr.Error's Code and Message methods to get detailed information about
3885// the error.
3886//
3887// See the AWS API reference guide for Amazon Inspector's
3888// API operation UnsubscribeFromEvent for usage and error information.
3889//
3890// Returned Error Codes:
3891//   * ErrCodeInternalException "InternalException"
3892//   Internal server error.
3893//
3894//   * ErrCodeInvalidInputException "InvalidInputException"
3895//   The request was rejected because an invalid or out-of-range value was supplied
3896//   for an input parameter.
3897//
3898//   * ErrCodeAccessDeniedException "AccessDeniedException"
3899//   You do not have required permissions to access the requested resource.
3900//
3901//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
3902//   The request was rejected because it referenced an entity that does not exist.
3903//   The error code describes the entity.
3904//
3905//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
3906//   The serice is temporary unavailable.
3907//
3908// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/UnsubscribeFromEvent
3909func (c *Inspector) UnsubscribeFromEvent(input *UnsubscribeFromEventInput) (*UnsubscribeFromEventOutput, error) {
3910	req, out := c.UnsubscribeFromEventRequest(input)
3911	return out, req.Send()
3912}
3913
3914// UnsubscribeFromEventWithContext is the same as UnsubscribeFromEvent with the addition of
3915// the ability to pass a context and additional request options.
3916//
3917// See UnsubscribeFromEvent for details on how to use this API operation.
3918//
3919// The context must be non-nil and will be used for request cancellation. If
3920// the context is nil a panic will occur. In the future the SDK may create
3921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3922// for more information on using Contexts.
3923func (c *Inspector) UnsubscribeFromEventWithContext(ctx aws.Context, input *UnsubscribeFromEventInput, opts ...request.Option) (*UnsubscribeFromEventOutput, error) {
3924	req, out := c.UnsubscribeFromEventRequest(input)
3925	req.SetContext(ctx)
3926	req.ApplyOptions(opts...)
3927	return out, req.Send()
3928}
3929
3930const opUpdateAssessmentTarget = "UpdateAssessmentTarget"
3931
3932// UpdateAssessmentTargetRequest generates a "aws/request.Request" representing the
3933// client's request for the UpdateAssessmentTarget operation. The "output" return
3934// value will be populated with the request's response once the request completes
3935// successfully.
3936//
3937// Use "Send" method on the returned Request to send the API call to the service.
3938// the "output" return value is not valid until after Send returns without error.
3939//
3940// See UpdateAssessmentTarget for more information on using the UpdateAssessmentTarget
3941// API call, and error handling.
3942//
3943// This method is useful when you want to inject custom logic or configuration
3944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3945//
3946//
3947//    // Example sending a request using the UpdateAssessmentTargetRequest method.
3948//    req, resp := client.UpdateAssessmentTargetRequest(params)
3949//
3950//    err := req.Send()
3951//    if err == nil { // resp is now filled
3952//        fmt.Println(resp)
3953//    }
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/UpdateAssessmentTarget
3956func (c *Inspector) UpdateAssessmentTargetRequest(input *UpdateAssessmentTargetInput) (req *request.Request, output *UpdateAssessmentTargetOutput) {
3957	op := &request.Operation{
3958		Name:       opUpdateAssessmentTarget,
3959		HTTPMethod: "POST",
3960		HTTPPath:   "/",
3961	}
3962
3963	if input == nil {
3964		input = &UpdateAssessmentTargetInput{}
3965	}
3966
3967	output = &UpdateAssessmentTargetOutput{}
3968	req = c.newRequest(op, input, output)
3969	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3970	return
3971}
3972
3973// UpdateAssessmentTarget API operation for Amazon Inspector.
3974//
3975// Updates the assessment target that is specified by the ARN of the assessment
3976// target.
3977//
3978// If resourceGroupArn is not specified, all EC2 instances in the current AWS
3979// account and region are included in the assessment target.
3980//
3981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3982// with awserr.Error's Code and Message methods to get detailed information about
3983// the error.
3984//
3985// See the AWS API reference guide for Amazon Inspector's
3986// API operation UpdateAssessmentTarget for usage and error information.
3987//
3988// Returned Error Codes:
3989//   * ErrCodeInternalException "InternalException"
3990//   Internal server error.
3991//
3992//   * ErrCodeInvalidInputException "InvalidInputException"
3993//   The request was rejected because an invalid or out-of-range value was supplied
3994//   for an input parameter.
3995//
3996//   * ErrCodeAccessDeniedException "AccessDeniedException"
3997//   You do not have required permissions to access the requested resource.
3998//
3999//   * ErrCodeNoSuchEntityException "NoSuchEntityException"
4000//   The request was rejected because it referenced an entity that does not exist.
4001//   The error code describes the entity.
4002//
4003//   * ErrCodeServiceTemporarilyUnavailableException "ServiceTemporarilyUnavailableException"
4004//   The serice is temporary unavailable.
4005//
4006// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector-2016-02-16/UpdateAssessmentTarget
4007func (c *Inspector) UpdateAssessmentTarget(input *UpdateAssessmentTargetInput) (*UpdateAssessmentTargetOutput, error) {
4008	req, out := c.UpdateAssessmentTargetRequest(input)
4009	return out, req.Send()
4010}
4011
4012// UpdateAssessmentTargetWithContext is the same as UpdateAssessmentTarget with the addition of
4013// the ability to pass a context and additional request options.
4014//
4015// See UpdateAssessmentTarget for details on how to use this API operation.
4016//
4017// The context must be non-nil and will be used for request cancellation. If
4018// the context is nil a panic will occur. In the future the SDK may create
4019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4020// for more information on using Contexts.
4021func (c *Inspector) UpdateAssessmentTargetWithContext(ctx aws.Context, input *UpdateAssessmentTargetInput, opts ...request.Option) (*UpdateAssessmentTargetOutput, error) {
4022	req, out := c.UpdateAssessmentTargetRequest(input)
4023	req.SetContext(ctx)
4024	req.ApplyOptions(opts...)
4025	return out, req.Send()
4026}
4027
4028type AddAttributesToFindingsInput struct {
4029	_ struct{} `type:"structure"`
4030
4031	// The array of attributes that you want to assign to specified findings.
4032	//
4033	// Attributes is a required field
4034	Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
4035
4036	// The ARNs that specify the findings that you want to assign attributes to.
4037	//
4038	// FindingArns is a required field
4039	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
4040}
4041
4042// String returns the string representation
4043func (s AddAttributesToFindingsInput) String() string {
4044	return awsutil.Prettify(s)
4045}
4046
4047// GoString returns the string representation
4048func (s AddAttributesToFindingsInput) GoString() string {
4049	return s.String()
4050}
4051
4052// Validate inspects the fields of the type to determine if they are valid.
4053func (s *AddAttributesToFindingsInput) Validate() error {
4054	invalidParams := request.ErrInvalidParams{Context: "AddAttributesToFindingsInput"}
4055	if s.Attributes == nil {
4056		invalidParams.Add(request.NewErrParamRequired("Attributes"))
4057	}
4058	if s.FindingArns == nil {
4059		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
4060	}
4061	if s.FindingArns != nil && len(s.FindingArns) < 1 {
4062		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
4063	}
4064	if s.Attributes != nil {
4065		for i, v := range s.Attributes {
4066			if v == nil {
4067				continue
4068			}
4069			if err := v.Validate(); err != nil {
4070				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
4071			}
4072		}
4073	}
4074
4075	if invalidParams.Len() > 0 {
4076		return invalidParams
4077	}
4078	return nil
4079}
4080
4081// SetAttributes sets the Attributes field's value.
4082func (s *AddAttributesToFindingsInput) SetAttributes(v []*Attribute) *AddAttributesToFindingsInput {
4083	s.Attributes = v
4084	return s
4085}
4086
4087// SetFindingArns sets the FindingArns field's value.
4088func (s *AddAttributesToFindingsInput) SetFindingArns(v []*string) *AddAttributesToFindingsInput {
4089	s.FindingArns = v
4090	return s
4091}
4092
4093type AddAttributesToFindingsOutput struct {
4094	_ struct{} `type:"structure"`
4095
4096	// Attribute details that cannot be described. An error code is provided for
4097	// each failed item.
4098	//
4099	// FailedItems is a required field
4100	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
4101}
4102
4103// String returns the string representation
4104func (s AddAttributesToFindingsOutput) String() string {
4105	return awsutil.Prettify(s)
4106}
4107
4108// GoString returns the string representation
4109func (s AddAttributesToFindingsOutput) GoString() string {
4110	return s.String()
4111}
4112
4113// SetFailedItems sets the FailedItems field's value.
4114func (s *AddAttributesToFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *AddAttributesToFindingsOutput {
4115	s.FailedItems = v
4116	return s
4117}
4118
4119// Used in the exception error that is thrown if you start an assessment run
4120// for an assessment target that includes an EC2 instance that is already participating
4121// in another started assessment run.
4122type AgentAlreadyRunningAssessment struct {
4123	_ struct{} `type:"structure"`
4124
4125	// ID of the agent that is running on an EC2 instance that is already participating
4126	// in another started assessment run.
4127	//
4128	// AgentId is a required field
4129	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4130
4131	// The ARN of the assessment run that has already been started.
4132	//
4133	// AssessmentRunArn is a required field
4134	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
4135}
4136
4137// String returns the string representation
4138func (s AgentAlreadyRunningAssessment) String() string {
4139	return awsutil.Prettify(s)
4140}
4141
4142// GoString returns the string representation
4143func (s AgentAlreadyRunningAssessment) GoString() string {
4144	return s.String()
4145}
4146
4147// SetAgentId sets the AgentId field's value.
4148func (s *AgentAlreadyRunningAssessment) SetAgentId(v string) *AgentAlreadyRunningAssessment {
4149	s.AgentId = &v
4150	return s
4151}
4152
4153// SetAssessmentRunArn sets the AssessmentRunArn field's value.
4154func (s *AgentAlreadyRunningAssessment) SetAssessmentRunArn(v string) *AgentAlreadyRunningAssessment {
4155	s.AssessmentRunArn = &v
4156	return s
4157}
4158
4159// Contains information about an Amazon Inspector agent. This data type is used
4160// as a request parameter in the ListAssessmentRunAgents action.
4161type AgentFilter struct {
4162	_ struct{} `type:"structure"`
4163
4164	// The detailed health state of the agent. Values can be set to IDLE, RUNNING,
4165	// SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN.
4166	//
4167	// AgentHealthCodes is a required field
4168	AgentHealthCodes []*string `locationName:"agentHealthCodes" type:"list" required:"true"`
4169
4170	// The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY.
4171	//
4172	// AgentHealths is a required field
4173	AgentHealths []*string `locationName:"agentHealths" type:"list" required:"true"`
4174}
4175
4176// String returns the string representation
4177func (s AgentFilter) String() string {
4178	return awsutil.Prettify(s)
4179}
4180
4181// GoString returns the string representation
4182func (s AgentFilter) GoString() string {
4183	return s.String()
4184}
4185
4186// Validate inspects the fields of the type to determine if they are valid.
4187func (s *AgentFilter) Validate() error {
4188	invalidParams := request.ErrInvalidParams{Context: "AgentFilter"}
4189	if s.AgentHealthCodes == nil {
4190		invalidParams.Add(request.NewErrParamRequired("AgentHealthCodes"))
4191	}
4192	if s.AgentHealths == nil {
4193		invalidParams.Add(request.NewErrParamRequired("AgentHealths"))
4194	}
4195
4196	if invalidParams.Len() > 0 {
4197		return invalidParams
4198	}
4199	return nil
4200}
4201
4202// SetAgentHealthCodes sets the AgentHealthCodes field's value.
4203func (s *AgentFilter) SetAgentHealthCodes(v []*string) *AgentFilter {
4204	s.AgentHealthCodes = v
4205	return s
4206}
4207
4208// SetAgentHealths sets the AgentHealths field's value.
4209func (s *AgentFilter) SetAgentHealths(v []*string) *AgentFilter {
4210	s.AgentHealths = v
4211	return s
4212}
4213
4214// Used as a response element in the PreviewAgents action.
4215type AgentPreview struct {
4216	_ struct{} `type:"structure"`
4217
4218	// The health status of the Amazon Inspector Agent.
4219	AgentHealth *string `locationName:"agentHealth" type:"string" enum:"AgentHealth"`
4220
4221	// The ID of the EC2 instance where the agent is installed.
4222	//
4223	// AgentId is a required field
4224	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4225
4226	// The version of the Amazon Inspector Agent.
4227	AgentVersion *string `locationName:"agentVersion" min:"1" type:"string"`
4228
4229	// The Auto Scaling group for the EC2 instance where the agent is installed.
4230	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
4231
4232	// The hostname of the EC2 instance on which the Amazon Inspector Agent is installed.
4233	Hostname *string `locationName:"hostname" type:"string"`
4234
4235	// The IP address of the EC2 instance on which the Amazon Inspector Agent is
4236	// installed.
4237	Ipv4Address *string `locationName:"ipv4Address" min:"7" type:"string"`
4238
4239	// The kernel version of the operating system running on the EC2 instance on
4240	// which the Amazon Inspector Agent is installed.
4241	KernelVersion *string `locationName:"kernelVersion" min:"1" type:"string"`
4242
4243	// The operating system running on the EC2 instance on which the Amazon Inspector
4244	// Agent is installed.
4245	OperatingSystem *string `locationName:"operatingSystem" min:"1" type:"string"`
4246}
4247
4248// String returns the string representation
4249func (s AgentPreview) String() string {
4250	return awsutil.Prettify(s)
4251}
4252
4253// GoString returns the string representation
4254func (s AgentPreview) GoString() string {
4255	return s.String()
4256}
4257
4258// SetAgentHealth sets the AgentHealth field's value.
4259func (s *AgentPreview) SetAgentHealth(v string) *AgentPreview {
4260	s.AgentHealth = &v
4261	return s
4262}
4263
4264// SetAgentId sets the AgentId field's value.
4265func (s *AgentPreview) SetAgentId(v string) *AgentPreview {
4266	s.AgentId = &v
4267	return s
4268}
4269
4270// SetAgentVersion sets the AgentVersion field's value.
4271func (s *AgentPreview) SetAgentVersion(v string) *AgentPreview {
4272	s.AgentVersion = &v
4273	return s
4274}
4275
4276// SetAutoScalingGroup sets the AutoScalingGroup field's value.
4277func (s *AgentPreview) SetAutoScalingGroup(v string) *AgentPreview {
4278	s.AutoScalingGroup = &v
4279	return s
4280}
4281
4282// SetHostname sets the Hostname field's value.
4283func (s *AgentPreview) SetHostname(v string) *AgentPreview {
4284	s.Hostname = &v
4285	return s
4286}
4287
4288// SetIpv4Address sets the Ipv4Address field's value.
4289func (s *AgentPreview) SetIpv4Address(v string) *AgentPreview {
4290	s.Ipv4Address = &v
4291	return s
4292}
4293
4294// SetKernelVersion sets the KernelVersion field's value.
4295func (s *AgentPreview) SetKernelVersion(v string) *AgentPreview {
4296	s.KernelVersion = &v
4297	return s
4298}
4299
4300// SetOperatingSystem sets the OperatingSystem field's value.
4301func (s *AgentPreview) SetOperatingSystem(v string) *AgentPreview {
4302	s.OperatingSystem = &v
4303	return s
4304}
4305
4306// A snapshot of an Amazon Inspector assessment run that contains the findings
4307// of the assessment run .
4308//
4309// Used as the response element in the DescribeAssessmentRuns action.
4310type AssessmentRun struct {
4311	_ struct{} `type:"structure"`
4312
4313	// The ARN of the assessment run.
4314	//
4315	// Arn is a required field
4316	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4317
4318	// The ARN of the assessment template that is associated with the assessment
4319	// run.
4320	//
4321	// AssessmentTemplateArn is a required field
4322	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
4323
4324	// The assessment run completion time that corresponds to the rules packages
4325	// evaluation completion time or failure.
4326	CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"`
4327
4328	// The time when StartAssessmentRun was called.
4329	//
4330	// CreatedAt is a required field
4331	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
4332
4333	// A Boolean value (true or false) that specifies whether the process of collecting
4334	// data from the agents is completed.
4335	//
4336	// DataCollected is a required field
4337	DataCollected *bool `locationName:"dataCollected" type:"boolean" required:"true"`
4338
4339	// The duration of the assessment run.
4340	//
4341	// DurationInSeconds is a required field
4342	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
4343
4344	// Provides a total count of generated findings per severity.
4345	//
4346	// FindingCounts is a required field
4347	FindingCounts map[string]*int64 `locationName:"findingCounts" type:"map" required:"true"`
4348
4349	// The auto-generated name for the assessment run.
4350	//
4351	// Name is a required field
4352	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4353
4354	// A list of notifications for the event subscriptions. A notification about
4355	// a particular generated finding is added to this list only once.
4356	//
4357	// Notifications is a required field
4358	Notifications []*AssessmentRunNotification `locationName:"notifications" type:"list" required:"true"`
4359
4360	// The rules packages selected for the assessment run.
4361	//
4362	// RulesPackageArns is a required field
4363	RulesPackageArns []*string `locationName:"rulesPackageArns" min:"1" type:"list" required:"true"`
4364
4365	// The time when StartAssessmentRun was called.
4366	StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
4367
4368	// The state of the assessment run.
4369	//
4370	// State is a required field
4371	State *string `locationName:"state" type:"string" required:"true" enum:"AssessmentRunState"`
4372
4373	// The last time when the assessment run's state changed.
4374	//
4375	// StateChangedAt is a required field
4376	StateChangedAt *time.Time `locationName:"stateChangedAt" type:"timestamp" required:"true"`
4377
4378	// A list of the assessment run state changes.
4379	//
4380	// StateChanges is a required field
4381	StateChanges []*AssessmentRunStateChange `locationName:"stateChanges" type:"list" required:"true"`
4382
4383	// The user-defined attributes that are assigned to every generated finding.
4384	//
4385	// UserAttributesForFindings is a required field
4386	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list" required:"true"`
4387}
4388
4389// String returns the string representation
4390func (s AssessmentRun) String() string {
4391	return awsutil.Prettify(s)
4392}
4393
4394// GoString returns the string representation
4395func (s AssessmentRun) GoString() string {
4396	return s.String()
4397}
4398
4399// SetArn sets the Arn field's value.
4400func (s *AssessmentRun) SetArn(v string) *AssessmentRun {
4401	s.Arn = &v
4402	return s
4403}
4404
4405// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
4406func (s *AssessmentRun) SetAssessmentTemplateArn(v string) *AssessmentRun {
4407	s.AssessmentTemplateArn = &v
4408	return s
4409}
4410
4411// SetCompletedAt sets the CompletedAt field's value.
4412func (s *AssessmentRun) SetCompletedAt(v time.Time) *AssessmentRun {
4413	s.CompletedAt = &v
4414	return s
4415}
4416
4417// SetCreatedAt sets the CreatedAt field's value.
4418func (s *AssessmentRun) SetCreatedAt(v time.Time) *AssessmentRun {
4419	s.CreatedAt = &v
4420	return s
4421}
4422
4423// SetDataCollected sets the DataCollected field's value.
4424func (s *AssessmentRun) SetDataCollected(v bool) *AssessmentRun {
4425	s.DataCollected = &v
4426	return s
4427}
4428
4429// SetDurationInSeconds sets the DurationInSeconds field's value.
4430func (s *AssessmentRun) SetDurationInSeconds(v int64) *AssessmentRun {
4431	s.DurationInSeconds = &v
4432	return s
4433}
4434
4435// SetFindingCounts sets the FindingCounts field's value.
4436func (s *AssessmentRun) SetFindingCounts(v map[string]*int64) *AssessmentRun {
4437	s.FindingCounts = v
4438	return s
4439}
4440
4441// SetName sets the Name field's value.
4442func (s *AssessmentRun) SetName(v string) *AssessmentRun {
4443	s.Name = &v
4444	return s
4445}
4446
4447// SetNotifications sets the Notifications field's value.
4448func (s *AssessmentRun) SetNotifications(v []*AssessmentRunNotification) *AssessmentRun {
4449	s.Notifications = v
4450	return s
4451}
4452
4453// SetRulesPackageArns sets the RulesPackageArns field's value.
4454func (s *AssessmentRun) SetRulesPackageArns(v []*string) *AssessmentRun {
4455	s.RulesPackageArns = v
4456	return s
4457}
4458
4459// SetStartedAt sets the StartedAt field's value.
4460func (s *AssessmentRun) SetStartedAt(v time.Time) *AssessmentRun {
4461	s.StartedAt = &v
4462	return s
4463}
4464
4465// SetState sets the State field's value.
4466func (s *AssessmentRun) SetState(v string) *AssessmentRun {
4467	s.State = &v
4468	return s
4469}
4470
4471// SetStateChangedAt sets the StateChangedAt field's value.
4472func (s *AssessmentRun) SetStateChangedAt(v time.Time) *AssessmentRun {
4473	s.StateChangedAt = &v
4474	return s
4475}
4476
4477// SetStateChanges sets the StateChanges field's value.
4478func (s *AssessmentRun) SetStateChanges(v []*AssessmentRunStateChange) *AssessmentRun {
4479	s.StateChanges = v
4480	return s
4481}
4482
4483// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
4484func (s *AssessmentRun) SetUserAttributesForFindings(v []*Attribute) *AssessmentRun {
4485	s.UserAttributesForFindings = v
4486	return s
4487}
4488
4489// Contains information about an Amazon Inspector agent. This data type is used
4490// as a response element in the ListAssessmentRunAgents action.
4491type AssessmentRunAgent struct {
4492	_ struct{} `type:"structure"`
4493
4494	// The current health state of the agent.
4495	//
4496	// AgentHealth is a required field
4497	AgentHealth *string `locationName:"agentHealth" type:"string" required:"true" enum:"AgentHealth"`
4498
4499	// The detailed health state of the agent.
4500	//
4501	// AgentHealthCode is a required field
4502	AgentHealthCode *string `locationName:"agentHealthCode" type:"string" required:"true" enum:"AgentHealthCode"`
4503
4504	// The description for the agent health code.
4505	AgentHealthDetails *string `locationName:"agentHealthDetails" type:"string"`
4506
4507	// The AWS account of the EC2 instance where the agent is installed.
4508	//
4509	// AgentId is a required field
4510	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4511
4512	// The ARN of the assessment run that is associated with the agent.
4513	//
4514	// AssessmentRunArn is a required field
4515	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
4516
4517	// The Auto Scaling group of the EC2 instance that is specified by the agent
4518	// ID.
4519	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
4520
4521	// The Amazon Inspector application data metrics that are collected by the agent.
4522	//
4523	// TelemetryMetadata is a required field
4524	TelemetryMetadata []*TelemetryMetadata `locationName:"telemetryMetadata" type:"list" required:"true"`
4525}
4526
4527// String returns the string representation
4528func (s AssessmentRunAgent) String() string {
4529	return awsutil.Prettify(s)
4530}
4531
4532// GoString returns the string representation
4533func (s AssessmentRunAgent) GoString() string {
4534	return s.String()
4535}
4536
4537// SetAgentHealth sets the AgentHealth field's value.
4538func (s *AssessmentRunAgent) SetAgentHealth(v string) *AssessmentRunAgent {
4539	s.AgentHealth = &v
4540	return s
4541}
4542
4543// SetAgentHealthCode sets the AgentHealthCode field's value.
4544func (s *AssessmentRunAgent) SetAgentHealthCode(v string) *AssessmentRunAgent {
4545	s.AgentHealthCode = &v
4546	return s
4547}
4548
4549// SetAgentHealthDetails sets the AgentHealthDetails field's value.
4550func (s *AssessmentRunAgent) SetAgentHealthDetails(v string) *AssessmentRunAgent {
4551	s.AgentHealthDetails = &v
4552	return s
4553}
4554
4555// SetAgentId sets the AgentId field's value.
4556func (s *AssessmentRunAgent) SetAgentId(v string) *AssessmentRunAgent {
4557	s.AgentId = &v
4558	return s
4559}
4560
4561// SetAssessmentRunArn sets the AssessmentRunArn field's value.
4562func (s *AssessmentRunAgent) SetAssessmentRunArn(v string) *AssessmentRunAgent {
4563	s.AssessmentRunArn = &v
4564	return s
4565}
4566
4567// SetAutoScalingGroup sets the AutoScalingGroup field's value.
4568func (s *AssessmentRunAgent) SetAutoScalingGroup(v string) *AssessmentRunAgent {
4569	s.AutoScalingGroup = &v
4570	return s
4571}
4572
4573// SetTelemetryMetadata sets the TelemetryMetadata field's value.
4574func (s *AssessmentRunAgent) SetTelemetryMetadata(v []*TelemetryMetadata) *AssessmentRunAgent {
4575	s.TelemetryMetadata = v
4576	return s
4577}
4578
4579// Used as the request parameter in the ListAssessmentRuns action.
4580type AssessmentRunFilter struct {
4581	_ struct{} `type:"structure"`
4582
4583	// For a record to match a filter, the value that is specified for this data
4584	// type property must inclusively match any value between the specified minimum
4585	// and maximum values of the completedAt property of the AssessmentRun data
4586	// type.
4587	CompletionTimeRange *TimestampRange `locationName:"completionTimeRange" type:"structure"`
4588
4589	// For a record to match a filter, the value that is specified for this data
4590	// type property must inclusively match any value between the specified minimum
4591	// and maximum values of the durationInSeconds property of the AssessmentRun
4592	// data type.
4593	DurationRange *DurationRange `locationName:"durationRange" type:"structure"`
4594
4595	// For a record to match a filter, an explicit value or a string containing
4596	// a wildcard that is specified for this data type property must match the value
4597	// of the assessmentRunName property of the AssessmentRun data type.
4598	NamePattern *string `locationName:"namePattern" min:"1" type:"string"`
4599
4600	// For a record to match a filter, the value that is specified for this data
4601	// type property must be contained in the list of values of the rulesPackages
4602	// property of the AssessmentRun data type.
4603	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
4604
4605	// For a record to match a filter, the value that is specified for this data
4606	// type property must inclusively match any value between the specified minimum
4607	// and maximum values of the startTime property of the AssessmentRun data type.
4608	StartTimeRange *TimestampRange `locationName:"startTimeRange" type:"structure"`
4609
4610	// For a record to match a filter, the value that is specified for this data
4611	// type property must match the stateChangedAt property of the AssessmentRun
4612	// data type.
4613	StateChangeTimeRange *TimestampRange `locationName:"stateChangeTimeRange" type:"structure"`
4614
4615	// For a record to match a filter, one of the values specified for this data
4616	// type property must be the exact match of the value of the assessmentRunState
4617	// property of the AssessmentRun data type.
4618	States []*string `locationName:"states" type:"list"`
4619}
4620
4621// String returns the string representation
4622func (s AssessmentRunFilter) String() string {
4623	return awsutil.Prettify(s)
4624}
4625
4626// GoString returns the string representation
4627func (s AssessmentRunFilter) GoString() string {
4628	return s.String()
4629}
4630
4631// Validate inspects the fields of the type to determine if they are valid.
4632func (s *AssessmentRunFilter) Validate() error {
4633	invalidParams := request.ErrInvalidParams{Context: "AssessmentRunFilter"}
4634	if s.NamePattern != nil && len(*s.NamePattern) < 1 {
4635		invalidParams.Add(request.NewErrParamMinLen("NamePattern", 1))
4636	}
4637	if s.DurationRange != nil {
4638		if err := s.DurationRange.Validate(); err != nil {
4639			invalidParams.AddNested("DurationRange", err.(request.ErrInvalidParams))
4640		}
4641	}
4642
4643	if invalidParams.Len() > 0 {
4644		return invalidParams
4645	}
4646	return nil
4647}
4648
4649// SetCompletionTimeRange sets the CompletionTimeRange field's value.
4650func (s *AssessmentRunFilter) SetCompletionTimeRange(v *TimestampRange) *AssessmentRunFilter {
4651	s.CompletionTimeRange = v
4652	return s
4653}
4654
4655// SetDurationRange sets the DurationRange field's value.
4656func (s *AssessmentRunFilter) SetDurationRange(v *DurationRange) *AssessmentRunFilter {
4657	s.DurationRange = v
4658	return s
4659}
4660
4661// SetNamePattern sets the NamePattern field's value.
4662func (s *AssessmentRunFilter) SetNamePattern(v string) *AssessmentRunFilter {
4663	s.NamePattern = &v
4664	return s
4665}
4666
4667// SetRulesPackageArns sets the RulesPackageArns field's value.
4668func (s *AssessmentRunFilter) SetRulesPackageArns(v []*string) *AssessmentRunFilter {
4669	s.RulesPackageArns = v
4670	return s
4671}
4672
4673// SetStartTimeRange sets the StartTimeRange field's value.
4674func (s *AssessmentRunFilter) SetStartTimeRange(v *TimestampRange) *AssessmentRunFilter {
4675	s.StartTimeRange = v
4676	return s
4677}
4678
4679// SetStateChangeTimeRange sets the StateChangeTimeRange field's value.
4680func (s *AssessmentRunFilter) SetStateChangeTimeRange(v *TimestampRange) *AssessmentRunFilter {
4681	s.StateChangeTimeRange = v
4682	return s
4683}
4684
4685// SetStates sets the States field's value.
4686func (s *AssessmentRunFilter) SetStates(v []*string) *AssessmentRunFilter {
4687	s.States = v
4688	return s
4689}
4690
4691// Used as one of the elements of the AssessmentRun data type.
4692type AssessmentRunNotification struct {
4693	_ struct{} `type:"structure"`
4694
4695	// The date of the notification.
4696	//
4697	// Date is a required field
4698	Date *time.Time `locationName:"date" type:"timestamp" required:"true"`
4699
4700	// The Boolean value that specifies whether the notification represents an error.
4701	//
4702	// Error is a required field
4703	Error *bool `locationName:"error" type:"boolean" required:"true"`
4704
4705	// The event for which a notification is sent.
4706	//
4707	// Event is a required field
4708	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
4709
4710	// The message included in the notification.
4711	Message *string `locationName:"message" type:"string"`
4712
4713	// The status code of the SNS notification.
4714	SnsPublishStatusCode *string `locationName:"snsPublishStatusCode" type:"string" enum:"AssessmentRunNotificationSnsStatusCode"`
4715
4716	// The SNS topic to which the SNS notification is sent.
4717	SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"`
4718}
4719
4720// String returns the string representation
4721func (s AssessmentRunNotification) String() string {
4722	return awsutil.Prettify(s)
4723}
4724
4725// GoString returns the string representation
4726func (s AssessmentRunNotification) GoString() string {
4727	return s.String()
4728}
4729
4730// SetDate sets the Date field's value.
4731func (s *AssessmentRunNotification) SetDate(v time.Time) *AssessmentRunNotification {
4732	s.Date = &v
4733	return s
4734}
4735
4736// SetError sets the Error field's value.
4737func (s *AssessmentRunNotification) SetError(v bool) *AssessmentRunNotification {
4738	s.Error = &v
4739	return s
4740}
4741
4742// SetEvent sets the Event field's value.
4743func (s *AssessmentRunNotification) SetEvent(v string) *AssessmentRunNotification {
4744	s.Event = &v
4745	return s
4746}
4747
4748// SetMessage sets the Message field's value.
4749func (s *AssessmentRunNotification) SetMessage(v string) *AssessmentRunNotification {
4750	s.Message = &v
4751	return s
4752}
4753
4754// SetSnsPublishStatusCode sets the SnsPublishStatusCode field's value.
4755func (s *AssessmentRunNotification) SetSnsPublishStatusCode(v string) *AssessmentRunNotification {
4756	s.SnsPublishStatusCode = &v
4757	return s
4758}
4759
4760// SetSnsTopicArn sets the SnsTopicArn field's value.
4761func (s *AssessmentRunNotification) SetSnsTopicArn(v string) *AssessmentRunNotification {
4762	s.SnsTopicArn = &v
4763	return s
4764}
4765
4766// Used as one of the elements of the AssessmentRun data type.
4767type AssessmentRunStateChange struct {
4768	_ struct{} `type:"structure"`
4769
4770	// The assessment run state.
4771	//
4772	// State is a required field
4773	State *string `locationName:"state" type:"string" required:"true" enum:"AssessmentRunState"`
4774
4775	// The last time the assessment run state changed.
4776	//
4777	// StateChangedAt is a required field
4778	StateChangedAt *time.Time `locationName:"stateChangedAt" type:"timestamp" required:"true"`
4779}
4780
4781// String returns the string representation
4782func (s AssessmentRunStateChange) String() string {
4783	return awsutil.Prettify(s)
4784}
4785
4786// GoString returns the string representation
4787func (s AssessmentRunStateChange) GoString() string {
4788	return s.String()
4789}
4790
4791// SetState sets the State field's value.
4792func (s *AssessmentRunStateChange) SetState(v string) *AssessmentRunStateChange {
4793	s.State = &v
4794	return s
4795}
4796
4797// SetStateChangedAt sets the StateChangedAt field's value.
4798func (s *AssessmentRunStateChange) SetStateChangedAt(v time.Time) *AssessmentRunStateChange {
4799	s.StateChangedAt = &v
4800	return s
4801}
4802
4803// Contains information about an Amazon Inspector application. This data type
4804// is used as the response element in the DescribeAssessmentTargets action.
4805type AssessmentTarget struct {
4806	_ struct{} `type:"structure"`
4807
4808	// The ARN that specifies the Amazon Inspector assessment target.
4809	//
4810	// Arn is a required field
4811	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4812
4813	// The time at which the assessment target is created.
4814	//
4815	// CreatedAt is a required field
4816	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
4817
4818	// The name of the Amazon Inspector assessment target.
4819	//
4820	// Name is a required field
4821	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4822
4823	// The ARN that specifies the resource group that is associated with the assessment
4824	// target.
4825	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
4826
4827	// The time at which UpdateAssessmentTarget is called.
4828	//
4829	// UpdatedAt is a required field
4830	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`
4831}
4832
4833// String returns the string representation
4834func (s AssessmentTarget) String() string {
4835	return awsutil.Prettify(s)
4836}
4837
4838// GoString returns the string representation
4839func (s AssessmentTarget) GoString() string {
4840	return s.String()
4841}
4842
4843// SetArn sets the Arn field's value.
4844func (s *AssessmentTarget) SetArn(v string) *AssessmentTarget {
4845	s.Arn = &v
4846	return s
4847}
4848
4849// SetCreatedAt sets the CreatedAt field's value.
4850func (s *AssessmentTarget) SetCreatedAt(v time.Time) *AssessmentTarget {
4851	s.CreatedAt = &v
4852	return s
4853}
4854
4855// SetName sets the Name field's value.
4856func (s *AssessmentTarget) SetName(v string) *AssessmentTarget {
4857	s.Name = &v
4858	return s
4859}
4860
4861// SetResourceGroupArn sets the ResourceGroupArn field's value.
4862func (s *AssessmentTarget) SetResourceGroupArn(v string) *AssessmentTarget {
4863	s.ResourceGroupArn = &v
4864	return s
4865}
4866
4867// SetUpdatedAt sets the UpdatedAt field's value.
4868func (s *AssessmentTarget) SetUpdatedAt(v time.Time) *AssessmentTarget {
4869	s.UpdatedAt = &v
4870	return s
4871}
4872
4873// Used as the request parameter in the ListAssessmentTargets action.
4874type AssessmentTargetFilter struct {
4875	_ struct{} `type:"structure"`
4876
4877	// For a record to match a filter, an explicit value or a string that contains
4878	// a wildcard that is specified for this data type property must match the value
4879	// of the assessmentTargetName property of the AssessmentTarget data type.
4880	AssessmentTargetNamePattern *string `locationName:"assessmentTargetNamePattern" min:"1" type:"string"`
4881}
4882
4883// String returns the string representation
4884func (s AssessmentTargetFilter) String() string {
4885	return awsutil.Prettify(s)
4886}
4887
4888// GoString returns the string representation
4889func (s AssessmentTargetFilter) GoString() string {
4890	return s.String()
4891}
4892
4893// Validate inspects the fields of the type to determine if they are valid.
4894func (s *AssessmentTargetFilter) Validate() error {
4895	invalidParams := request.ErrInvalidParams{Context: "AssessmentTargetFilter"}
4896	if s.AssessmentTargetNamePattern != nil && len(*s.AssessmentTargetNamePattern) < 1 {
4897		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetNamePattern", 1))
4898	}
4899
4900	if invalidParams.Len() > 0 {
4901		return invalidParams
4902	}
4903	return nil
4904}
4905
4906// SetAssessmentTargetNamePattern sets the AssessmentTargetNamePattern field's value.
4907func (s *AssessmentTargetFilter) SetAssessmentTargetNamePattern(v string) *AssessmentTargetFilter {
4908	s.AssessmentTargetNamePattern = &v
4909	return s
4910}
4911
4912// Contains information about an Amazon Inspector assessment template. This
4913// data type is used as the response element in the DescribeAssessmentTemplates
4914// action.
4915type AssessmentTemplate struct {
4916	_ struct{} `type:"structure"`
4917
4918	// The ARN of the assessment template.
4919	//
4920	// Arn is a required field
4921	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4922
4923	// The number of existing assessment runs associated with this assessment template.
4924	// This value can be zero or a positive integer.
4925	//
4926	// AssessmentRunCount is a required field
4927	AssessmentRunCount *int64 `locationName:"assessmentRunCount" type:"integer" required:"true"`
4928
4929	// The ARN of the assessment target that corresponds to this assessment template.
4930	//
4931	// AssessmentTargetArn is a required field
4932	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
4933
4934	// The time at which the assessment template is created.
4935	//
4936	// CreatedAt is a required field
4937	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
4938
4939	// The duration in seconds specified for this assessment template. The default
4940	// value is 3600 seconds (one hour). The maximum value is 86400 seconds (one
4941	// day).
4942	//
4943	// DurationInSeconds is a required field
4944	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
4945
4946	// The Amazon Resource Name (ARN) of the most recent assessment run associated
4947	// with this assessment template. This value exists only when the value of assessmentRunCount
4948	// is greaterpa than zero.
4949	LastAssessmentRunArn *string `locationName:"lastAssessmentRunArn" min:"1" type:"string"`
4950
4951	// The name of the assessment template.
4952	//
4953	// Name is a required field
4954	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4955
4956	// The rules packages that are specified for this assessment template.
4957	//
4958	// RulesPackageArns is a required field
4959	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
4960
4961	// The user-defined attributes that are assigned to every generated finding
4962	// from the assessment run that uses this assessment template.
4963	//
4964	// UserAttributesForFindings is a required field
4965	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list" required:"true"`
4966}
4967
4968// String returns the string representation
4969func (s AssessmentTemplate) String() string {
4970	return awsutil.Prettify(s)
4971}
4972
4973// GoString returns the string representation
4974func (s AssessmentTemplate) GoString() string {
4975	return s.String()
4976}
4977
4978// SetArn sets the Arn field's value.
4979func (s *AssessmentTemplate) SetArn(v string) *AssessmentTemplate {
4980	s.Arn = &v
4981	return s
4982}
4983
4984// SetAssessmentRunCount sets the AssessmentRunCount field's value.
4985func (s *AssessmentTemplate) SetAssessmentRunCount(v int64) *AssessmentTemplate {
4986	s.AssessmentRunCount = &v
4987	return s
4988}
4989
4990// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
4991func (s *AssessmentTemplate) SetAssessmentTargetArn(v string) *AssessmentTemplate {
4992	s.AssessmentTargetArn = &v
4993	return s
4994}
4995
4996// SetCreatedAt sets the CreatedAt field's value.
4997func (s *AssessmentTemplate) SetCreatedAt(v time.Time) *AssessmentTemplate {
4998	s.CreatedAt = &v
4999	return s
5000}
5001
5002// SetDurationInSeconds sets the DurationInSeconds field's value.
5003func (s *AssessmentTemplate) SetDurationInSeconds(v int64) *AssessmentTemplate {
5004	s.DurationInSeconds = &v
5005	return s
5006}
5007
5008// SetLastAssessmentRunArn sets the LastAssessmentRunArn field's value.
5009func (s *AssessmentTemplate) SetLastAssessmentRunArn(v string) *AssessmentTemplate {
5010	s.LastAssessmentRunArn = &v
5011	return s
5012}
5013
5014// SetName sets the Name field's value.
5015func (s *AssessmentTemplate) SetName(v string) *AssessmentTemplate {
5016	s.Name = &v
5017	return s
5018}
5019
5020// SetRulesPackageArns sets the RulesPackageArns field's value.
5021func (s *AssessmentTemplate) SetRulesPackageArns(v []*string) *AssessmentTemplate {
5022	s.RulesPackageArns = v
5023	return s
5024}
5025
5026// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
5027func (s *AssessmentTemplate) SetUserAttributesForFindings(v []*Attribute) *AssessmentTemplate {
5028	s.UserAttributesForFindings = v
5029	return s
5030}
5031
5032// Used as the request parameter in the ListAssessmentTemplates action.
5033type AssessmentTemplateFilter struct {
5034	_ struct{} `type:"structure"`
5035
5036	// For a record to match a filter, the value specified for this data type property
5037	// must inclusively match any value between the specified minimum and maximum
5038	// values of the durationInSeconds property of the AssessmentTemplate data type.
5039	DurationRange *DurationRange `locationName:"durationRange" type:"structure"`
5040
5041	// For a record to match a filter, an explicit value or a string that contains
5042	// a wildcard that is specified for this data type property must match the value
5043	// of the assessmentTemplateName property of the AssessmentTemplate data type.
5044	NamePattern *string `locationName:"namePattern" min:"1" type:"string"`
5045
5046	// For a record to match a filter, the values that are specified for this data
5047	// type property must be contained in the list of values of the rulesPackageArns
5048	// property of the AssessmentTemplate data type.
5049	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
5050}
5051
5052// String returns the string representation
5053func (s AssessmentTemplateFilter) String() string {
5054	return awsutil.Prettify(s)
5055}
5056
5057// GoString returns the string representation
5058func (s AssessmentTemplateFilter) GoString() string {
5059	return s.String()
5060}
5061
5062// Validate inspects the fields of the type to determine if they are valid.
5063func (s *AssessmentTemplateFilter) Validate() error {
5064	invalidParams := request.ErrInvalidParams{Context: "AssessmentTemplateFilter"}
5065	if s.NamePattern != nil && len(*s.NamePattern) < 1 {
5066		invalidParams.Add(request.NewErrParamMinLen("NamePattern", 1))
5067	}
5068	if s.DurationRange != nil {
5069		if err := s.DurationRange.Validate(); err != nil {
5070			invalidParams.AddNested("DurationRange", err.(request.ErrInvalidParams))
5071		}
5072	}
5073
5074	if invalidParams.Len() > 0 {
5075		return invalidParams
5076	}
5077	return nil
5078}
5079
5080// SetDurationRange sets the DurationRange field's value.
5081func (s *AssessmentTemplateFilter) SetDurationRange(v *DurationRange) *AssessmentTemplateFilter {
5082	s.DurationRange = v
5083	return s
5084}
5085
5086// SetNamePattern sets the NamePattern field's value.
5087func (s *AssessmentTemplateFilter) SetNamePattern(v string) *AssessmentTemplateFilter {
5088	s.NamePattern = &v
5089	return s
5090}
5091
5092// SetRulesPackageArns sets the RulesPackageArns field's value.
5093func (s *AssessmentTemplateFilter) SetRulesPackageArns(v []*string) *AssessmentTemplateFilter {
5094	s.RulesPackageArns = v
5095	return s
5096}
5097
5098// A collection of attributes of the host from which the finding is generated.
5099type AssetAttributes struct {
5100	_ struct{} `type:"structure"`
5101
5102	// The ID of the agent that is installed on the EC2 instance where the finding
5103	// is generated.
5104	AgentId *string `locationName:"agentId" min:"1" type:"string"`
5105
5106	// The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance
5107	// where the finding is generated.
5108	AmiId *string `locationName:"amiId" type:"string"`
5109
5110	// The Auto Scaling group of the EC2 instance where the finding is generated.
5111	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
5112
5113	// The hostname of the EC2 instance where the finding is generated.
5114	Hostname *string `locationName:"hostname" type:"string"`
5115
5116	// The list of IP v4 addresses of the EC2 instance where the finding is generated.
5117	Ipv4Addresses []*string `locationName:"ipv4Addresses" type:"list"`
5118
5119	// An array of the network interfaces interacting with the EC2 instance where
5120	// the finding is generated.
5121	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
5122
5123	// The schema version of this data type.
5124	//
5125	// SchemaVersion is a required field
5126	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer" required:"true"`
5127
5128	// The tags related to the EC2 instance where the finding is generated.
5129	Tags []*Tag `locationName:"tags" type:"list"`
5130}
5131
5132// String returns the string representation
5133func (s AssetAttributes) String() string {
5134	return awsutil.Prettify(s)
5135}
5136
5137// GoString returns the string representation
5138func (s AssetAttributes) GoString() string {
5139	return s.String()
5140}
5141
5142// SetAgentId sets the AgentId field's value.
5143func (s *AssetAttributes) SetAgentId(v string) *AssetAttributes {
5144	s.AgentId = &v
5145	return s
5146}
5147
5148// SetAmiId sets the AmiId field's value.
5149func (s *AssetAttributes) SetAmiId(v string) *AssetAttributes {
5150	s.AmiId = &v
5151	return s
5152}
5153
5154// SetAutoScalingGroup sets the AutoScalingGroup field's value.
5155func (s *AssetAttributes) SetAutoScalingGroup(v string) *AssetAttributes {
5156	s.AutoScalingGroup = &v
5157	return s
5158}
5159
5160// SetHostname sets the Hostname field's value.
5161func (s *AssetAttributes) SetHostname(v string) *AssetAttributes {
5162	s.Hostname = &v
5163	return s
5164}
5165
5166// SetIpv4Addresses sets the Ipv4Addresses field's value.
5167func (s *AssetAttributes) SetIpv4Addresses(v []*string) *AssetAttributes {
5168	s.Ipv4Addresses = v
5169	return s
5170}
5171
5172// SetNetworkInterfaces sets the NetworkInterfaces field's value.
5173func (s *AssetAttributes) SetNetworkInterfaces(v []*NetworkInterface) *AssetAttributes {
5174	s.NetworkInterfaces = v
5175	return s
5176}
5177
5178// SetSchemaVersion sets the SchemaVersion field's value.
5179func (s *AssetAttributes) SetSchemaVersion(v int64) *AssetAttributes {
5180	s.SchemaVersion = &v
5181	return s
5182}
5183
5184// SetTags sets the Tags field's value.
5185func (s *AssetAttributes) SetTags(v []*Tag) *AssetAttributes {
5186	s.Tags = v
5187	return s
5188}
5189
5190// This data type is used as a request parameter in the AddAttributesToFindings
5191// and CreateAssessmentTemplate actions.
5192type Attribute struct {
5193	_ struct{} `type:"structure"`
5194
5195	// The attribute key.
5196	//
5197	// Key is a required field
5198	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
5199
5200	// The value assigned to the attribute key.
5201	Value *string `locationName:"value" min:"1" type:"string"`
5202}
5203
5204// String returns the string representation
5205func (s Attribute) String() string {
5206	return awsutil.Prettify(s)
5207}
5208
5209// GoString returns the string representation
5210func (s Attribute) GoString() string {
5211	return s.String()
5212}
5213
5214// Validate inspects the fields of the type to determine if they are valid.
5215func (s *Attribute) Validate() error {
5216	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
5217	if s.Key == nil {
5218		invalidParams.Add(request.NewErrParamRequired("Key"))
5219	}
5220	if s.Key != nil && len(*s.Key) < 1 {
5221		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
5222	}
5223	if s.Value != nil && len(*s.Value) < 1 {
5224		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
5225	}
5226
5227	if invalidParams.Len() > 0 {
5228		return invalidParams
5229	}
5230	return nil
5231}
5232
5233// SetKey sets the Key field's value.
5234func (s *Attribute) SetKey(v string) *Attribute {
5235	s.Key = &v
5236	return s
5237}
5238
5239// SetValue sets the Value field's value.
5240func (s *Attribute) SetValue(v string) *Attribute {
5241	s.Value = &v
5242	return s
5243}
5244
5245type CreateAssessmentTargetInput struct {
5246	_ struct{} `type:"structure"`
5247
5248	// The user-defined name that identifies the assessment target that you want
5249	// to create. The name must be unique within the AWS account.
5250	//
5251	// AssessmentTargetName is a required field
5252	AssessmentTargetName *string `locationName:"assessmentTargetName" min:"1" type:"string" required:"true"`
5253
5254	// The ARN that specifies the resource group that is used to create the assessment
5255	// target. If resourceGroupArn is not specified, all EC2 instances in the current
5256	// AWS account and region are included in the assessment target.
5257	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
5258}
5259
5260// String returns the string representation
5261func (s CreateAssessmentTargetInput) String() string {
5262	return awsutil.Prettify(s)
5263}
5264
5265// GoString returns the string representation
5266func (s CreateAssessmentTargetInput) GoString() string {
5267	return s.String()
5268}
5269
5270// Validate inspects the fields of the type to determine if they are valid.
5271func (s *CreateAssessmentTargetInput) Validate() error {
5272	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentTargetInput"}
5273	if s.AssessmentTargetName == nil {
5274		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetName"))
5275	}
5276	if s.AssessmentTargetName != nil && len(*s.AssessmentTargetName) < 1 {
5277		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetName", 1))
5278	}
5279	if s.ResourceGroupArn != nil && len(*s.ResourceGroupArn) < 1 {
5280		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArn", 1))
5281	}
5282
5283	if invalidParams.Len() > 0 {
5284		return invalidParams
5285	}
5286	return nil
5287}
5288
5289// SetAssessmentTargetName sets the AssessmentTargetName field's value.
5290func (s *CreateAssessmentTargetInput) SetAssessmentTargetName(v string) *CreateAssessmentTargetInput {
5291	s.AssessmentTargetName = &v
5292	return s
5293}
5294
5295// SetResourceGroupArn sets the ResourceGroupArn field's value.
5296func (s *CreateAssessmentTargetInput) SetResourceGroupArn(v string) *CreateAssessmentTargetInput {
5297	s.ResourceGroupArn = &v
5298	return s
5299}
5300
5301type CreateAssessmentTargetOutput struct {
5302	_ struct{} `type:"structure"`
5303
5304	// The ARN that specifies the assessment target that is created.
5305	//
5306	// AssessmentTargetArn is a required field
5307	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5308}
5309
5310// String returns the string representation
5311func (s CreateAssessmentTargetOutput) String() string {
5312	return awsutil.Prettify(s)
5313}
5314
5315// GoString returns the string representation
5316func (s CreateAssessmentTargetOutput) GoString() string {
5317	return s.String()
5318}
5319
5320// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5321func (s *CreateAssessmentTargetOutput) SetAssessmentTargetArn(v string) *CreateAssessmentTargetOutput {
5322	s.AssessmentTargetArn = &v
5323	return s
5324}
5325
5326type CreateAssessmentTemplateInput struct {
5327	_ struct{} `type:"structure"`
5328
5329	// The ARN that specifies the assessment target for which you want to create
5330	// the assessment template.
5331	//
5332	// AssessmentTargetArn is a required field
5333	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5334
5335	// The user-defined name that identifies the assessment template that you want
5336	// to create. You can create several assessment templates for an assessment
5337	// target. The names of the assessment templates that correspond to a particular
5338	// assessment target must be unique.
5339	//
5340	// AssessmentTemplateName is a required field
5341	AssessmentTemplateName *string `locationName:"assessmentTemplateName" min:"1" type:"string" required:"true"`
5342
5343	// The duration of the assessment run in seconds.
5344	//
5345	// DurationInSeconds is a required field
5346	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
5347
5348	// The ARNs that specify the rules packages that you want to attach to the assessment
5349	// template.
5350	//
5351	// RulesPackageArns is a required field
5352	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
5353
5354	// The user-defined attributes that are assigned to every finding that is generated
5355	// by the assessment run that uses this assessment template. An attribute is
5356	// a key and value pair (an Attribute object). Within an assessment template,
5357	// each key must be unique.
5358	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list"`
5359}
5360
5361// String returns the string representation
5362func (s CreateAssessmentTemplateInput) String() string {
5363	return awsutil.Prettify(s)
5364}
5365
5366// GoString returns the string representation
5367func (s CreateAssessmentTemplateInput) GoString() string {
5368	return s.String()
5369}
5370
5371// Validate inspects the fields of the type to determine if they are valid.
5372func (s *CreateAssessmentTemplateInput) Validate() error {
5373	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentTemplateInput"}
5374	if s.AssessmentTargetArn == nil {
5375		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
5376	}
5377	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
5378		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
5379	}
5380	if s.AssessmentTemplateName == nil {
5381		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateName"))
5382	}
5383	if s.AssessmentTemplateName != nil && len(*s.AssessmentTemplateName) < 1 {
5384		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateName", 1))
5385	}
5386	if s.DurationInSeconds == nil {
5387		invalidParams.Add(request.NewErrParamRequired("DurationInSeconds"))
5388	}
5389	if s.DurationInSeconds != nil && *s.DurationInSeconds < 180 {
5390		invalidParams.Add(request.NewErrParamMinValue("DurationInSeconds", 180))
5391	}
5392	if s.RulesPackageArns == nil {
5393		invalidParams.Add(request.NewErrParamRequired("RulesPackageArns"))
5394	}
5395	if s.UserAttributesForFindings != nil {
5396		for i, v := range s.UserAttributesForFindings {
5397			if v == nil {
5398				continue
5399			}
5400			if err := v.Validate(); err != nil {
5401				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributesForFindings", i), err.(request.ErrInvalidParams))
5402			}
5403		}
5404	}
5405
5406	if invalidParams.Len() > 0 {
5407		return invalidParams
5408	}
5409	return nil
5410}
5411
5412// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5413func (s *CreateAssessmentTemplateInput) SetAssessmentTargetArn(v string) *CreateAssessmentTemplateInput {
5414	s.AssessmentTargetArn = &v
5415	return s
5416}
5417
5418// SetAssessmentTemplateName sets the AssessmentTemplateName field's value.
5419func (s *CreateAssessmentTemplateInput) SetAssessmentTemplateName(v string) *CreateAssessmentTemplateInput {
5420	s.AssessmentTemplateName = &v
5421	return s
5422}
5423
5424// SetDurationInSeconds sets the DurationInSeconds field's value.
5425func (s *CreateAssessmentTemplateInput) SetDurationInSeconds(v int64) *CreateAssessmentTemplateInput {
5426	s.DurationInSeconds = &v
5427	return s
5428}
5429
5430// SetRulesPackageArns sets the RulesPackageArns field's value.
5431func (s *CreateAssessmentTemplateInput) SetRulesPackageArns(v []*string) *CreateAssessmentTemplateInput {
5432	s.RulesPackageArns = v
5433	return s
5434}
5435
5436// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
5437func (s *CreateAssessmentTemplateInput) SetUserAttributesForFindings(v []*Attribute) *CreateAssessmentTemplateInput {
5438	s.UserAttributesForFindings = v
5439	return s
5440}
5441
5442type CreateAssessmentTemplateOutput struct {
5443	_ struct{} `type:"structure"`
5444
5445	// The ARN that specifies the assessment template that is created.
5446	//
5447	// AssessmentTemplateArn is a required field
5448	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5449}
5450
5451// String returns the string representation
5452func (s CreateAssessmentTemplateOutput) String() string {
5453	return awsutil.Prettify(s)
5454}
5455
5456// GoString returns the string representation
5457func (s CreateAssessmentTemplateOutput) GoString() string {
5458	return s.String()
5459}
5460
5461// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5462func (s *CreateAssessmentTemplateOutput) SetAssessmentTemplateArn(v string) *CreateAssessmentTemplateOutput {
5463	s.AssessmentTemplateArn = &v
5464	return s
5465}
5466
5467type CreateExclusionsPreviewInput struct {
5468	_ struct{} `type:"structure"`
5469
5470	// The ARN that specifies the assessment template for which you want to create
5471	// an exclusions preview.
5472	//
5473	// AssessmentTemplateArn is a required field
5474	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5475}
5476
5477// String returns the string representation
5478func (s CreateExclusionsPreviewInput) String() string {
5479	return awsutil.Prettify(s)
5480}
5481
5482// GoString returns the string representation
5483func (s CreateExclusionsPreviewInput) GoString() string {
5484	return s.String()
5485}
5486
5487// Validate inspects the fields of the type to determine if they are valid.
5488func (s *CreateExclusionsPreviewInput) Validate() error {
5489	invalidParams := request.ErrInvalidParams{Context: "CreateExclusionsPreviewInput"}
5490	if s.AssessmentTemplateArn == nil {
5491		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
5492	}
5493	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
5494		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
5495	}
5496
5497	if invalidParams.Len() > 0 {
5498		return invalidParams
5499	}
5500	return nil
5501}
5502
5503// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5504func (s *CreateExclusionsPreviewInput) SetAssessmentTemplateArn(v string) *CreateExclusionsPreviewInput {
5505	s.AssessmentTemplateArn = &v
5506	return s
5507}
5508
5509type CreateExclusionsPreviewOutput struct {
5510	_ struct{} `type:"structure"`
5511
5512	// Specifies the unique identifier of the requested exclusions preview. You
5513	// can use the unique identifier to retrieve the exclusions preview when running
5514	// the GetExclusionsPreview API.
5515	//
5516	// PreviewToken is a required field
5517	PreviewToken *string `locationName:"previewToken" type:"string" required:"true"`
5518}
5519
5520// String returns the string representation
5521func (s CreateExclusionsPreviewOutput) String() string {
5522	return awsutil.Prettify(s)
5523}
5524
5525// GoString returns the string representation
5526func (s CreateExclusionsPreviewOutput) GoString() string {
5527	return s.String()
5528}
5529
5530// SetPreviewToken sets the PreviewToken field's value.
5531func (s *CreateExclusionsPreviewOutput) SetPreviewToken(v string) *CreateExclusionsPreviewOutput {
5532	s.PreviewToken = &v
5533	return s
5534}
5535
5536type CreateResourceGroupInput struct {
5537	_ struct{} `type:"structure"`
5538
5539	// A collection of keys and an array of possible values, '[{"key":"key1","values":["Value1","Value2"]},{"key":"Key2","values":["Value3"]}]'.
5540	//
5541	// For example,'[{"key":"Name","values":["TestEC2Instance"]}]'.
5542	//
5543	// ResourceGroupTags is a required field
5544	ResourceGroupTags []*ResourceGroupTag `locationName:"resourceGroupTags" min:"1" type:"list" required:"true"`
5545}
5546
5547// String returns the string representation
5548func (s CreateResourceGroupInput) String() string {
5549	return awsutil.Prettify(s)
5550}
5551
5552// GoString returns the string representation
5553func (s CreateResourceGroupInput) GoString() string {
5554	return s.String()
5555}
5556
5557// Validate inspects the fields of the type to determine if they are valid.
5558func (s *CreateResourceGroupInput) Validate() error {
5559	invalidParams := request.ErrInvalidParams{Context: "CreateResourceGroupInput"}
5560	if s.ResourceGroupTags == nil {
5561		invalidParams.Add(request.NewErrParamRequired("ResourceGroupTags"))
5562	}
5563	if s.ResourceGroupTags != nil && len(s.ResourceGroupTags) < 1 {
5564		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupTags", 1))
5565	}
5566	if s.ResourceGroupTags != nil {
5567		for i, v := range s.ResourceGroupTags {
5568			if v == nil {
5569				continue
5570			}
5571			if err := v.Validate(); err != nil {
5572				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceGroupTags", i), err.(request.ErrInvalidParams))
5573			}
5574		}
5575	}
5576
5577	if invalidParams.Len() > 0 {
5578		return invalidParams
5579	}
5580	return nil
5581}
5582
5583// SetResourceGroupTags sets the ResourceGroupTags field's value.
5584func (s *CreateResourceGroupInput) SetResourceGroupTags(v []*ResourceGroupTag) *CreateResourceGroupInput {
5585	s.ResourceGroupTags = v
5586	return s
5587}
5588
5589type CreateResourceGroupOutput struct {
5590	_ struct{} `type:"structure"`
5591
5592	// The ARN that specifies the resource group that is created.
5593	//
5594	// ResourceGroupArn is a required field
5595	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string" required:"true"`
5596}
5597
5598// String returns the string representation
5599func (s CreateResourceGroupOutput) String() string {
5600	return awsutil.Prettify(s)
5601}
5602
5603// GoString returns the string representation
5604func (s CreateResourceGroupOutput) GoString() string {
5605	return s.String()
5606}
5607
5608// SetResourceGroupArn sets the ResourceGroupArn field's value.
5609func (s *CreateResourceGroupOutput) SetResourceGroupArn(v string) *CreateResourceGroupOutput {
5610	s.ResourceGroupArn = &v
5611	return s
5612}
5613
5614type DeleteAssessmentRunInput struct {
5615	_ struct{} `type:"structure"`
5616
5617	// The ARN that specifies the assessment run that you want to delete.
5618	//
5619	// AssessmentRunArn is a required field
5620	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
5621}
5622
5623// String returns the string representation
5624func (s DeleteAssessmentRunInput) String() string {
5625	return awsutil.Prettify(s)
5626}
5627
5628// GoString returns the string representation
5629func (s DeleteAssessmentRunInput) GoString() string {
5630	return s.String()
5631}
5632
5633// Validate inspects the fields of the type to determine if they are valid.
5634func (s *DeleteAssessmentRunInput) Validate() error {
5635	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentRunInput"}
5636	if s.AssessmentRunArn == nil {
5637		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
5638	}
5639	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
5640		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
5641	}
5642
5643	if invalidParams.Len() > 0 {
5644		return invalidParams
5645	}
5646	return nil
5647}
5648
5649// SetAssessmentRunArn sets the AssessmentRunArn field's value.
5650func (s *DeleteAssessmentRunInput) SetAssessmentRunArn(v string) *DeleteAssessmentRunInput {
5651	s.AssessmentRunArn = &v
5652	return s
5653}
5654
5655type DeleteAssessmentRunOutput struct {
5656	_ struct{} `type:"structure"`
5657}
5658
5659// String returns the string representation
5660func (s DeleteAssessmentRunOutput) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation
5665func (s DeleteAssessmentRunOutput) GoString() string {
5666	return s.String()
5667}
5668
5669type DeleteAssessmentTargetInput struct {
5670	_ struct{} `type:"structure"`
5671
5672	// The ARN that specifies the assessment target that you want to delete.
5673	//
5674	// AssessmentTargetArn is a required field
5675	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5676}
5677
5678// String returns the string representation
5679func (s DeleteAssessmentTargetInput) String() string {
5680	return awsutil.Prettify(s)
5681}
5682
5683// GoString returns the string representation
5684func (s DeleteAssessmentTargetInput) GoString() string {
5685	return s.String()
5686}
5687
5688// Validate inspects the fields of the type to determine if they are valid.
5689func (s *DeleteAssessmentTargetInput) Validate() error {
5690	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentTargetInput"}
5691	if s.AssessmentTargetArn == nil {
5692		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
5693	}
5694	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
5695		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
5696	}
5697
5698	if invalidParams.Len() > 0 {
5699		return invalidParams
5700	}
5701	return nil
5702}
5703
5704// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5705func (s *DeleteAssessmentTargetInput) SetAssessmentTargetArn(v string) *DeleteAssessmentTargetInput {
5706	s.AssessmentTargetArn = &v
5707	return s
5708}
5709
5710type DeleteAssessmentTargetOutput struct {
5711	_ struct{} `type:"structure"`
5712}
5713
5714// String returns the string representation
5715func (s DeleteAssessmentTargetOutput) String() string {
5716	return awsutil.Prettify(s)
5717}
5718
5719// GoString returns the string representation
5720func (s DeleteAssessmentTargetOutput) GoString() string {
5721	return s.String()
5722}
5723
5724type DeleteAssessmentTemplateInput struct {
5725	_ struct{} `type:"structure"`
5726
5727	// The ARN that specifies the assessment template that you want to delete.
5728	//
5729	// AssessmentTemplateArn is a required field
5730	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5731}
5732
5733// String returns the string representation
5734func (s DeleteAssessmentTemplateInput) String() string {
5735	return awsutil.Prettify(s)
5736}
5737
5738// GoString returns the string representation
5739func (s DeleteAssessmentTemplateInput) GoString() string {
5740	return s.String()
5741}
5742
5743// Validate inspects the fields of the type to determine if they are valid.
5744func (s *DeleteAssessmentTemplateInput) Validate() error {
5745	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentTemplateInput"}
5746	if s.AssessmentTemplateArn == nil {
5747		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
5748	}
5749	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
5750		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
5751	}
5752
5753	if invalidParams.Len() > 0 {
5754		return invalidParams
5755	}
5756	return nil
5757}
5758
5759// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5760func (s *DeleteAssessmentTemplateInput) SetAssessmentTemplateArn(v string) *DeleteAssessmentTemplateInput {
5761	s.AssessmentTemplateArn = &v
5762	return s
5763}
5764
5765type DeleteAssessmentTemplateOutput struct {
5766	_ struct{} `type:"structure"`
5767}
5768
5769// String returns the string representation
5770func (s DeleteAssessmentTemplateOutput) String() string {
5771	return awsutil.Prettify(s)
5772}
5773
5774// GoString returns the string representation
5775func (s DeleteAssessmentTemplateOutput) GoString() string {
5776	return s.String()
5777}
5778
5779type DescribeAssessmentRunsInput struct {
5780	_ struct{} `type:"structure"`
5781
5782	// The ARN that specifies the assessment run that you want to describe.
5783	//
5784	// AssessmentRunArns is a required field
5785	AssessmentRunArns []*string `locationName:"assessmentRunArns" min:"1" type:"list" required:"true"`
5786}
5787
5788// String returns the string representation
5789func (s DescribeAssessmentRunsInput) String() string {
5790	return awsutil.Prettify(s)
5791}
5792
5793// GoString returns the string representation
5794func (s DescribeAssessmentRunsInput) GoString() string {
5795	return s.String()
5796}
5797
5798// Validate inspects the fields of the type to determine if they are valid.
5799func (s *DescribeAssessmentRunsInput) Validate() error {
5800	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentRunsInput"}
5801	if s.AssessmentRunArns == nil {
5802		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArns"))
5803	}
5804	if s.AssessmentRunArns != nil && len(s.AssessmentRunArns) < 1 {
5805		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArns", 1))
5806	}
5807
5808	if invalidParams.Len() > 0 {
5809		return invalidParams
5810	}
5811	return nil
5812}
5813
5814// SetAssessmentRunArns sets the AssessmentRunArns field's value.
5815func (s *DescribeAssessmentRunsInput) SetAssessmentRunArns(v []*string) *DescribeAssessmentRunsInput {
5816	s.AssessmentRunArns = v
5817	return s
5818}
5819
5820type DescribeAssessmentRunsOutput struct {
5821	_ struct{} `type:"structure"`
5822
5823	// Information about the assessment run.
5824	//
5825	// AssessmentRuns is a required field
5826	AssessmentRuns []*AssessmentRun `locationName:"assessmentRuns" type:"list" required:"true"`
5827
5828	// Assessment run details that cannot be described. An error code is provided
5829	// for each failed item.
5830	//
5831	// FailedItems is a required field
5832	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
5833}
5834
5835// String returns the string representation
5836func (s DescribeAssessmentRunsOutput) String() string {
5837	return awsutil.Prettify(s)
5838}
5839
5840// GoString returns the string representation
5841func (s DescribeAssessmentRunsOutput) GoString() string {
5842	return s.String()
5843}
5844
5845// SetAssessmentRuns sets the AssessmentRuns field's value.
5846func (s *DescribeAssessmentRunsOutput) SetAssessmentRuns(v []*AssessmentRun) *DescribeAssessmentRunsOutput {
5847	s.AssessmentRuns = v
5848	return s
5849}
5850
5851// SetFailedItems sets the FailedItems field's value.
5852func (s *DescribeAssessmentRunsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentRunsOutput {
5853	s.FailedItems = v
5854	return s
5855}
5856
5857type DescribeAssessmentTargetsInput struct {
5858	_ struct{} `type:"structure"`
5859
5860	// The ARNs that specifies the assessment targets that you want to describe.
5861	//
5862	// AssessmentTargetArns is a required field
5863	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" min:"1" type:"list" required:"true"`
5864}
5865
5866// String returns the string representation
5867func (s DescribeAssessmentTargetsInput) String() string {
5868	return awsutil.Prettify(s)
5869}
5870
5871// GoString returns the string representation
5872func (s DescribeAssessmentTargetsInput) GoString() string {
5873	return s.String()
5874}
5875
5876// Validate inspects the fields of the type to determine if they are valid.
5877func (s *DescribeAssessmentTargetsInput) Validate() error {
5878	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentTargetsInput"}
5879	if s.AssessmentTargetArns == nil {
5880		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArns"))
5881	}
5882	if s.AssessmentTargetArns != nil && len(s.AssessmentTargetArns) < 1 {
5883		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArns", 1))
5884	}
5885
5886	if invalidParams.Len() > 0 {
5887		return invalidParams
5888	}
5889	return nil
5890}
5891
5892// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
5893func (s *DescribeAssessmentTargetsInput) SetAssessmentTargetArns(v []*string) *DescribeAssessmentTargetsInput {
5894	s.AssessmentTargetArns = v
5895	return s
5896}
5897
5898type DescribeAssessmentTargetsOutput struct {
5899	_ struct{} `type:"structure"`
5900
5901	// Information about the assessment targets.
5902	//
5903	// AssessmentTargets is a required field
5904	AssessmentTargets []*AssessmentTarget `locationName:"assessmentTargets" type:"list" required:"true"`
5905
5906	// Assessment target details that cannot be described. An error code is provided
5907	// for each failed item.
5908	//
5909	// FailedItems is a required field
5910	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
5911}
5912
5913// String returns the string representation
5914func (s DescribeAssessmentTargetsOutput) String() string {
5915	return awsutil.Prettify(s)
5916}
5917
5918// GoString returns the string representation
5919func (s DescribeAssessmentTargetsOutput) GoString() string {
5920	return s.String()
5921}
5922
5923// SetAssessmentTargets sets the AssessmentTargets field's value.
5924func (s *DescribeAssessmentTargetsOutput) SetAssessmentTargets(v []*AssessmentTarget) *DescribeAssessmentTargetsOutput {
5925	s.AssessmentTargets = v
5926	return s
5927}
5928
5929// SetFailedItems sets the FailedItems field's value.
5930func (s *DescribeAssessmentTargetsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentTargetsOutput {
5931	s.FailedItems = v
5932	return s
5933}
5934
5935type DescribeAssessmentTemplatesInput struct {
5936	_ struct{} `type:"structure"`
5937
5938	// AssessmentTemplateArns is a required field
5939	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" min:"1" type:"list" required:"true"`
5940}
5941
5942// String returns the string representation
5943func (s DescribeAssessmentTemplatesInput) String() string {
5944	return awsutil.Prettify(s)
5945}
5946
5947// GoString returns the string representation
5948func (s DescribeAssessmentTemplatesInput) GoString() string {
5949	return s.String()
5950}
5951
5952// Validate inspects the fields of the type to determine if they are valid.
5953func (s *DescribeAssessmentTemplatesInput) Validate() error {
5954	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentTemplatesInput"}
5955	if s.AssessmentTemplateArns == nil {
5956		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArns"))
5957	}
5958	if s.AssessmentTemplateArns != nil && len(s.AssessmentTemplateArns) < 1 {
5959		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArns", 1))
5960	}
5961
5962	if invalidParams.Len() > 0 {
5963		return invalidParams
5964	}
5965	return nil
5966}
5967
5968// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
5969func (s *DescribeAssessmentTemplatesInput) SetAssessmentTemplateArns(v []*string) *DescribeAssessmentTemplatesInput {
5970	s.AssessmentTemplateArns = v
5971	return s
5972}
5973
5974type DescribeAssessmentTemplatesOutput struct {
5975	_ struct{} `type:"structure"`
5976
5977	// Information about the assessment templates.
5978	//
5979	// AssessmentTemplates is a required field
5980	AssessmentTemplates []*AssessmentTemplate `locationName:"assessmentTemplates" type:"list" required:"true"`
5981
5982	// Assessment template details that cannot be described. An error code is provided
5983	// for each failed item.
5984	//
5985	// FailedItems is a required field
5986	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
5987}
5988
5989// String returns the string representation
5990func (s DescribeAssessmentTemplatesOutput) String() string {
5991	return awsutil.Prettify(s)
5992}
5993
5994// GoString returns the string representation
5995func (s DescribeAssessmentTemplatesOutput) GoString() string {
5996	return s.String()
5997}
5998
5999// SetAssessmentTemplates sets the AssessmentTemplates field's value.
6000func (s *DescribeAssessmentTemplatesOutput) SetAssessmentTemplates(v []*AssessmentTemplate) *DescribeAssessmentTemplatesOutput {
6001	s.AssessmentTemplates = v
6002	return s
6003}
6004
6005// SetFailedItems sets the FailedItems field's value.
6006func (s *DescribeAssessmentTemplatesOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentTemplatesOutput {
6007	s.FailedItems = v
6008	return s
6009}
6010
6011type DescribeCrossAccountAccessRoleInput struct {
6012	_ struct{} `type:"structure"`
6013}
6014
6015// String returns the string representation
6016func (s DescribeCrossAccountAccessRoleInput) String() string {
6017	return awsutil.Prettify(s)
6018}
6019
6020// GoString returns the string representation
6021func (s DescribeCrossAccountAccessRoleInput) GoString() string {
6022	return s.String()
6023}
6024
6025type DescribeCrossAccountAccessRoleOutput struct {
6026	_ struct{} `type:"structure"`
6027
6028	// The date when the cross-account access role was registered.
6029	//
6030	// RegisteredAt is a required field
6031	RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp" required:"true"`
6032
6033	// The ARN that specifies the IAM role that Amazon Inspector uses to access
6034	// your AWS account.
6035	//
6036	// RoleArn is a required field
6037	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
6038
6039	// A Boolean value that specifies whether the IAM role has the necessary policies
6040	// attached to enable Amazon Inspector to access your AWS account.
6041	//
6042	// Valid is a required field
6043	Valid *bool `locationName:"valid" type:"boolean" required:"true"`
6044}
6045
6046// String returns the string representation
6047func (s DescribeCrossAccountAccessRoleOutput) String() string {
6048	return awsutil.Prettify(s)
6049}
6050
6051// GoString returns the string representation
6052func (s DescribeCrossAccountAccessRoleOutput) GoString() string {
6053	return s.String()
6054}
6055
6056// SetRegisteredAt sets the RegisteredAt field's value.
6057func (s *DescribeCrossAccountAccessRoleOutput) SetRegisteredAt(v time.Time) *DescribeCrossAccountAccessRoleOutput {
6058	s.RegisteredAt = &v
6059	return s
6060}
6061
6062// SetRoleArn sets the RoleArn field's value.
6063func (s *DescribeCrossAccountAccessRoleOutput) SetRoleArn(v string) *DescribeCrossAccountAccessRoleOutput {
6064	s.RoleArn = &v
6065	return s
6066}
6067
6068// SetValid sets the Valid field's value.
6069func (s *DescribeCrossAccountAccessRoleOutput) SetValid(v bool) *DescribeCrossAccountAccessRoleOutput {
6070	s.Valid = &v
6071	return s
6072}
6073
6074type DescribeExclusionsInput struct {
6075	_ struct{} `type:"structure"`
6076
6077	// The list of ARNs that specify the exclusions that you want to describe.
6078	//
6079	// ExclusionArns is a required field
6080	ExclusionArns []*string `locationName:"exclusionArns" min:"1" type:"list" required:"true"`
6081
6082	// The locale into which you want to translate the exclusion's title, description,
6083	// and recommendation.
6084	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6085}
6086
6087// String returns the string representation
6088func (s DescribeExclusionsInput) String() string {
6089	return awsutil.Prettify(s)
6090}
6091
6092// GoString returns the string representation
6093func (s DescribeExclusionsInput) GoString() string {
6094	return s.String()
6095}
6096
6097// Validate inspects the fields of the type to determine if they are valid.
6098func (s *DescribeExclusionsInput) Validate() error {
6099	invalidParams := request.ErrInvalidParams{Context: "DescribeExclusionsInput"}
6100	if s.ExclusionArns == nil {
6101		invalidParams.Add(request.NewErrParamRequired("ExclusionArns"))
6102	}
6103	if s.ExclusionArns != nil && len(s.ExclusionArns) < 1 {
6104		invalidParams.Add(request.NewErrParamMinLen("ExclusionArns", 1))
6105	}
6106
6107	if invalidParams.Len() > 0 {
6108		return invalidParams
6109	}
6110	return nil
6111}
6112
6113// SetExclusionArns sets the ExclusionArns field's value.
6114func (s *DescribeExclusionsInput) SetExclusionArns(v []*string) *DescribeExclusionsInput {
6115	s.ExclusionArns = v
6116	return s
6117}
6118
6119// SetLocale sets the Locale field's value.
6120func (s *DescribeExclusionsInput) SetLocale(v string) *DescribeExclusionsInput {
6121	s.Locale = &v
6122	return s
6123}
6124
6125type DescribeExclusionsOutput struct {
6126	_ struct{} `type:"structure"`
6127
6128	// Information about the exclusions.
6129	//
6130	// Exclusions is a required field
6131	Exclusions map[string]*Exclusion `locationName:"exclusions" min:"1" type:"map" required:"true"`
6132
6133	// Exclusion details that cannot be described. An error code is provided for
6134	// each failed item.
6135	//
6136	// FailedItems is a required field
6137	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6138}
6139
6140// String returns the string representation
6141func (s DescribeExclusionsOutput) String() string {
6142	return awsutil.Prettify(s)
6143}
6144
6145// GoString returns the string representation
6146func (s DescribeExclusionsOutput) GoString() string {
6147	return s.String()
6148}
6149
6150// SetExclusions sets the Exclusions field's value.
6151func (s *DescribeExclusionsOutput) SetExclusions(v map[string]*Exclusion) *DescribeExclusionsOutput {
6152	s.Exclusions = v
6153	return s
6154}
6155
6156// SetFailedItems sets the FailedItems field's value.
6157func (s *DescribeExclusionsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeExclusionsOutput {
6158	s.FailedItems = v
6159	return s
6160}
6161
6162type DescribeFindingsInput struct {
6163	_ struct{} `type:"structure"`
6164
6165	// The ARN that specifies the finding that you want to describe.
6166	//
6167	// FindingArns is a required field
6168	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
6169
6170	// The locale into which you want to translate a finding description, recommendation,
6171	// and the short description that identifies the finding.
6172	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6173}
6174
6175// String returns the string representation
6176func (s DescribeFindingsInput) String() string {
6177	return awsutil.Prettify(s)
6178}
6179
6180// GoString returns the string representation
6181func (s DescribeFindingsInput) GoString() string {
6182	return s.String()
6183}
6184
6185// Validate inspects the fields of the type to determine if they are valid.
6186func (s *DescribeFindingsInput) Validate() error {
6187	invalidParams := request.ErrInvalidParams{Context: "DescribeFindingsInput"}
6188	if s.FindingArns == nil {
6189		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
6190	}
6191	if s.FindingArns != nil && len(s.FindingArns) < 1 {
6192		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
6193	}
6194
6195	if invalidParams.Len() > 0 {
6196		return invalidParams
6197	}
6198	return nil
6199}
6200
6201// SetFindingArns sets the FindingArns field's value.
6202func (s *DescribeFindingsInput) SetFindingArns(v []*string) *DescribeFindingsInput {
6203	s.FindingArns = v
6204	return s
6205}
6206
6207// SetLocale sets the Locale field's value.
6208func (s *DescribeFindingsInput) SetLocale(v string) *DescribeFindingsInput {
6209	s.Locale = &v
6210	return s
6211}
6212
6213type DescribeFindingsOutput struct {
6214	_ struct{} `type:"structure"`
6215
6216	// Finding details that cannot be described. An error code is provided for each
6217	// failed item.
6218	//
6219	// FailedItems is a required field
6220	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6221
6222	// Information about the finding.
6223	//
6224	// Findings is a required field
6225	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
6226}
6227
6228// String returns the string representation
6229func (s DescribeFindingsOutput) String() string {
6230	return awsutil.Prettify(s)
6231}
6232
6233// GoString returns the string representation
6234func (s DescribeFindingsOutput) GoString() string {
6235	return s.String()
6236}
6237
6238// SetFailedItems sets the FailedItems field's value.
6239func (s *DescribeFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeFindingsOutput {
6240	s.FailedItems = v
6241	return s
6242}
6243
6244// SetFindings sets the Findings field's value.
6245func (s *DescribeFindingsOutput) SetFindings(v []*Finding) *DescribeFindingsOutput {
6246	s.Findings = v
6247	return s
6248}
6249
6250type DescribeResourceGroupsInput struct {
6251	_ struct{} `type:"structure"`
6252
6253	// The ARN that specifies the resource group that you want to describe.
6254	//
6255	// ResourceGroupArns is a required field
6256	ResourceGroupArns []*string `locationName:"resourceGroupArns" min:"1" type:"list" required:"true"`
6257}
6258
6259// String returns the string representation
6260func (s DescribeResourceGroupsInput) String() string {
6261	return awsutil.Prettify(s)
6262}
6263
6264// GoString returns the string representation
6265func (s DescribeResourceGroupsInput) GoString() string {
6266	return s.String()
6267}
6268
6269// Validate inspects the fields of the type to determine if they are valid.
6270func (s *DescribeResourceGroupsInput) Validate() error {
6271	invalidParams := request.ErrInvalidParams{Context: "DescribeResourceGroupsInput"}
6272	if s.ResourceGroupArns == nil {
6273		invalidParams.Add(request.NewErrParamRequired("ResourceGroupArns"))
6274	}
6275	if s.ResourceGroupArns != nil && len(s.ResourceGroupArns) < 1 {
6276		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArns", 1))
6277	}
6278
6279	if invalidParams.Len() > 0 {
6280		return invalidParams
6281	}
6282	return nil
6283}
6284
6285// SetResourceGroupArns sets the ResourceGroupArns field's value.
6286func (s *DescribeResourceGroupsInput) SetResourceGroupArns(v []*string) *DescribeResourceGroupsInput {
6287	s.ResourceGroupArns = v
6288	return s
6289}
6290
6291type DescribeResourceGroupsOutput struct {
6292	_ struct{} `type:"structure"`
6293
6294	// Resource group details that cannot be described. An error code is provided
6295	// for each failed item.
6296	//
6297	// FailedItems is a required field
6298	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6299
6300	// Information about a resource group.
6301	//
6302	// ResourceGroups is a required field
6303	ResourceGroups []*ResourceGroup `locationName:"resourceGroups" type:"list" required:"true"`
6304}
6305
6306// String returns the string representation
6307func (s DescribeResourceGroupsOutput) String() string {
6308	return awsutil.Prettify(s)
6309}
6310
6311// GoString returns the string representation
6312func (s DescribeResourceGroupsOutput) GoString() string {
6313	return s.String()
6314}
6315
6316// SetFailedItems sets the FailedItems field's value.
6317func (s *DescribeResourceGroupsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeResourceGroupsOutput {
6318	s.FailedItems = v
6319	return s
6320}
6321
6322// SetResourceGroups sets the ResourceGroups field's value.
6323func (s *DescribeResourceGroupsOutput) SetResourceGroups(v []*ResourceGroup) *DescribeResourceGroupsOutput {
6324	s.ResourceGroups = v
6325	return s
6326}
6327
6328type DescribeRulesPackagesInput struct {
6329	_ struct{} `type:"structure"`
6330
6331	// The locale that you want to translate a rules package description into.
6332	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6333
6334	// The ARN that specifies the rules package that you want to describe.
6335	//
6336	// RulesPackageArns is a required field
6337	RulesPackageArns []*string `locationName:"rulesPackageArns" min:"1" type:"list" required:"true"`
6338}
6339
6340// String returns the string representation
6341func (s DescribeRulesPackagesInput) String() string {
6342	return awsutil.Prettify(s)
6343}
6344
6345// GoString returns the string representation
6346func (s DescribeRulesPackagesInput) GoString() string {
6347	return s.String()
6348}
6349
6350// Validate inspects the fields of the type to determine if they are valid.
6351func (s *DescribeRulesPackagesInput) Validate() error {
6352	invalidParams := request.ErrInvalidParams{Context: "DescribeRulesPackagesInput"}
6353	if s.RulesPackageArns == nil {
6354		invalidParams.Add(request.NewErrParamRequired("RulesPackageArns"))
6355	}
6356	if s.RulesPackageArns != nil && len(s.RulesPackageArns) < 1 {
6357		invalidParams.Add(request.NewErrParamMinLen("RulesPackageArns", 1))
6358	}
6359
6360	if invalidParams.Len() > 0 {
6361		return invalidParams
6362	}
6363	return nil
6364}
6365
6366// SetLocale sets the Locale field's value.
6367func (s *DescribeRulesPackagesInput) SetLocale(v string) *DescribeRulesPackagesInput {
6368	s.Locale = &v
6369	return s
6370}
6371
6372// SetRulesPackageArns sets the RulesPackageArns field's value.
6373func (s *DescribeRulesPackagesInput) SetRulesPackageArns(v []*string) *DescribeRulesPackagesInput {
6374	s.RulesPackageArns = v
6375	return s
6376}
6377
6378type DescribeRulesPackagesOutput struct {
6379	_ struct{} `type:"structure"`
6380
6381	// Rules package details that cannot be described. An error code is provided
6382	// for each failed item.
6383	//
6384	// FailedItems is a required field
6385	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6386
6387	// Information about the rules package.
6388	//
6389	// RulesPackages is a required field
6390	RulesPackages []*RulesPackage `locationName:"rulesPackages" type:"list" required:"true"`
6391}
6392
6393// String returns the string representation
6394func (s DescribeRulesPackagesOutput) String() string {
6395	return awsutil.Prettify(s)
6396}
6397
6398// GoString returns the string representation
6399func (s DescribeRulesPackagesOutput) GoString() string {
6400	return s.String()
6401}
6402
6403// SetFailedItems sets the FailedItems field's value.
6404func (s *DescribeRulesPackagesOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeRulesPackagesOutput {
6405	s.FailedItems = v
6406	return s
6407}
6408
6409// SetRulesPackages sets the RulesPackages field's value.
6410func (s *DescribeRulesPackagesOutput) SetRulesPackages(v []*RulesPackage) *DescribeRulesPackagesOutput {
6411	s.RulesPackages = v
6412	return s
6413}
6414
6415// This data type is used in the AssessmentTemplateFilter data type.
6416type DurationRange struct {
6417	_ struct{} `type:"structure"`
6418
6419	// The maximum value of the duration range. Must be less than or equal to 604800
6420	// seconds (1 week).
6421	MaxSeconds *int64 `locationName:"maxSeconds" min:"180" type:"integer"`
6422
6423	// The minimum value of the duration range. Must be greater than zero.
6424	MinSeconds *int64 `locationName:"minSeconds" min:"180" type:"integer"`
6425}
6426
6427// String returns the string representation
6428func (s DurationRange) String() string {
6429	return awsutil.Prettify(s)
6430}
6431
6432// GoString returns the string representation
6433func (s DurationRange) GoString() string {
6434	return s.String()
6435}
6436
6437// Validate inspects the fields of the type to determine if they are valid.
6438func (s *DurationRange) Validate() error {
6439	invalidParams := request.ErrInvalidParams{Context: "DurationRange"}
6440	if s.MaxSeconds != nil && *s.MaxSeconds < 180 {
6441		invalidParams.Add(request.NewErrParamMinValue("MaxSeconds", 180))
6442	}
6443	if s.MinSeconds != nil && *s.MinSeconds < 180 {
6444		invalidParams.Add(request.NewErrParamMinValue("MinSeconds", 180))
6445	}
6446
6447	if invalidParams.Len() > 0 {
6448		return invalidParams
6449	}
6450	return nil
6451}
6452
6453// SetMaxSeconds sets the MaxSeconds field's value.
6454func (s *DurationRange) SetMaxSeconds(v int64) *DurationRange {
6455	s.MaxSeconds = &v
6456	return s
6457}
6458
6459// SetMinSeconds sets the MinSeconds field's value.
6460func (s *DurationRange) SetMinSeconds(v int64) *DurationRange {
6461	s.MinSeconds = &v
6462	return s
6463}
6464
6465// This data type is used in the Subscription data type.
6466type EventSubscription struct {
6467	_ struct{} `type:"structure"`
6468
6469	// The event for which Amazon Simple Notification Service (SNS) notifications
6470	// are sent.
6471	//
6472	// Event is a required field
6473	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
6474
6475	// The time at which SubscribeToEvent is called.
6476	//
6477	// SubscribedAt is a required field
6478	SubscribedAt *time.Time `locationName:"subscribedAt" type:"timestamp" required:"true"`
6479}
6480
6481// String returns the string representation
6482func (s EventSubscription) String() string {
6483	return awsutil.Prettify(s)
6484}
6485
6486// GoString returns the string representation
6487func (s EventSubscription) GoString() string {
6488	return s.String()
6489}
6490
6491// SetEvent sets the Event field's value.
6492func (s *EventSubscription) SetEvent(v string) *EventSubscription {
6493	s.Event = &v
6494	return s
6495}
6496
6497// SetSubscribedAt sets the SubscribedAt field's value.
6498func (s *EventSubscription) SetSubscribedAt(v time.Time) *EventSubscription {
6499	s.SubscribedAt = &v
6500	return s
6501}
6502
6503// Contains information about what was excluded from an assessment run.
6504type Exclusion struct {
6505	_ struct{} `type:"structure"`
6506
6507	// The ARN that specifies the exclusion.
6508	//
6509	// Arn is a required field
6510	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
6511
6512	// The system-defined attributes for the exclusion.
6513	Attributes []*Attribute `locationName:"attributes" type:"list"`
6514
6515	// The description of the exclusion.
6516	//
6517	// Description is a required field
6518	Description *string `locationName:"description" type:"string" required:"true"`
6519
6520	// The recommendation for the exclusion.
6521	//
6522	// Recommendation is a required field
6523	Recommendation *string `locationName:"recommendation" type:"string" required:"true"`
6524
6525	// The AWS resources for which the exclusion pertains.
6526	//
6527	// Scopes is a required field
6528	Scopes []*Scope `locationName:"scopes" min:"1" type:"list" required:"true"`
6529
6530	// The name of the exclusion.
6531	//
6532	// Title is a required field
6533	Title *string `locationName:"title" type:"string" required:"true"`
6534}
6535
6536// String returns the string representation
6537func (s Exclusion) String() string {
6538	return awsutil.Prettify(s)
6539}
6540
6541// GoString returns the string representation
6542func (s Exclusion) GoString() string {
6543	return s.String()
6544}
6545
6546// SetArn sets the Arn field's value.
6547func (s *Exclusion) SetArn(v string) *Exclusion {
6548	s.Arn = &v
6549	return s
6550}
6551
6552// SetAttributes sets the Attributes field's value.
6553func (s *Exclusion) SetAttributes(v []*Attribute) *Exclusion {
6554	s.Attributes = v
6555	return s
6556}
6557
6558// SetDescription sets the Description field's value.
6559func (s *Exclusion) SetDescription(v string) *Exclusion {
6560	s.Description = &v
6561	return s
6562}
6563
6564// SetRecommendation sets the Recommendation field's value.
6565func (s *Exclusion) SetRecommendation(v string) *Exclusion {
6566	s.Recommendation = &v
6567	return s
6568}
6569
6570// SetScopes sets the Scopes field's value.
6571func (s *Exclusion) SetScopes(v []*Scope) *Exclusion {
6572	s.Scopes = v
6573	return s
6574}
6575
6576// SetTitle sets the Title field's value.
6577func (s *Exclusion) SetTitle(v string) *Exclusion {
6578	s.Title = &v
6579	return s
6580}
6581
6582// Contains information about what is excluded from an assessment run given
6583// the current state of the assessment template.
6584type ExclusionPreview struct {
6585	_ struct{} `type:"structure"`
6586
6587	// The system-defined attributes for the exclusion preview.
6588	Attributes []*Attribute `locationName:"attributes" type:"list"`
6589
6590	// The description of the exclusion preview.
6591	//
6592	// Description is a required field
6593	Description *string `locationName:"description" type:"string" required:"true"`
6594
6595	// The recommendation for the exclusion preview.
6596	//
6597	// Recommendation is a required field
6598	Recommendation *string `locationName:"recommendation" type:"string" required:"true"`
6599
6600	// The AWS resources for which the exclusion preview pertains.
6601	//
6602	// Scopes is a required field
6603	Scopes []*Scope `locationName:"scopes" min:"1" type:"list" required:"true"`
6604
6605	// The name of the exclusion preview.
6606	//
6607	// Title is a required field
6608	Title *string `locationName:"title" type:"string" required:"true"`
6609}
6610
6611// String returns the string representation
6612func (s ExclusionPreview) String() string {
6613	return awsutil.Prettify(s)
6614}
6615
6616// GoString returns the string representation
6617func (s ExclusionPreview) GoString() string {
6618	return s.String()
6619}
6620
6621// SetAttributes sets the Attributes field's value.
6622func (s *ExclusionPreview) SetAttributes(v []*Attribute) *ExclusionPreview {
6623	s.Attributes = v
6624	return s
6625}
6626
6627// SetDescription sets the Description field's value.
6628func (s *ExclusionPreview) SetDescription(v string) *ExclusionPreview {
6629	s.Description = &v
6630	return s
6631}
6632
6633// SetRecommendation sets the Recommendation field's value.
6634func (s *ExclusionPreview) SetRecommendation(v string) *ExclusionPreview {
6635	s.Recommendation = &v
6636	return s
6637}
6638
6639// SetScopes sets the Scopes field's value.
6640func (s *ExclusionPreview) SetScopes(v []*Scope) *ExclusionPreview {
6641	s.Scopes = v
6642	return s
6643}
6644
6645// SetTitle sets the Title field's value.
6646func (s *ExclusionPreview) SetTitle(v string) *ExclusionPreview {
6647	s.Title = &v
6648	return s
6649}
6650
6651// Includes details about the failed items.
6652type FailedItemDetails struct {
6653	_ struct{} `type:"structure"`
6654
6655	// The status code of a failed item.
6656	//
6657	// FailureCode is a required field
6658	FailureCode *string `locationName:"failureCode" type:"string" required:"true" enum:"FailedItemErrorCode"`
6659
6660	// Indicates whether you can immediately retry a request for this item for a
6661	// specified resource.
6662	//
6663	// Retryable is a required field
6664	Retryable *bool `locationName:"retryable" type:"boolean" required:"true"`
6665}
6666
6667// String returns the string representation
6668func (s FailedItemDetails) String() string {
6669	return awsutil.Prettify(s)
6670}
6671
6672// GoString returns the string representation
6673func (s FailedItemDetails) GoString() string {
6674	return s.String()
6675}
6676
6677// SetFailureCode sets the FailureCode field's value.
6678func (s *FailedItemDetails) SetFailureCode(v string) *FailedItemDetails {
6679	s.FailureCode = &v
6680	return s
6681}
6682
6683// SetRetryable sets the Retryable field's value.
6684func (s *FailedItemDetails) SetRetryable(v bool) *FailedItemDetails {
6685	s.Retryable = &v
6686	return s
6687}
6688
6689// Contains information about an Amazon Inspector finding. This data type is
6690// used as the response element in the DescribeFindings action.
6691type Finding struct {
6692	_ struct{} `type:"structure"`
6693
6694	// The ARN that specifies the finding.
6695	//
6696	// Arn is a required field
6697	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
6698
6699	// A collection of attributes of the host from which the finding is generated.
6700	AssetAttributes *AssetAttributes `locationName:"assetAttributes" type:"structure"`
6701
6702	// The type of the host from which the finding is generated.
6703	AssetType *string `locationName:"assetType" type:"string" enum:"AssetType"`
6704
6705	// The system-defined attributes for the finding.
6706	//
6707	// Attributes is a required field
6708	Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
6709
6710	// This data element is currently not used.
6711	Confidence *int64 `locationName:"confidence" type:"integer"`
6712
6713	// The time when the finding was generated.
6714	//
6715	// CreatedAt is a required field
6716	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
6717
6718	// The description of the finding.
6719	Description *string `locationName:"description" type:"string"`
6720
6721	// The ID of the finding.
6722	Id *string `locationName:"id" type:"string"`
6723
6724	// This data element is currently not used.
6725	IndicatorOfCompromise *bool `locationName:"indicatorOfCompromise" type:"boolean"`
6726
6727	// The numeric value of the finding severity.
6728	NumericSeverity *float64 `locationName:"numericSeverity" type:"double"`
6729
6730	// The recommendation for the finding.
6731	Recommendation *string `locationName:"recommendation" type:"string"`
6732
6733	// The schema version of this data type.
6734	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer"`
6735
6736	// The data element is set to "Inspector".
6737	Service *string `locationName:"service" type:"string"`
6738
6739	// This data type is used in the Finding data type.
6740	ServiceAttributes *ServiceAttributes `locationName:"serviceAttributes" type:"structure"`
6741
6742	// The finding severity. Values can be set to High, Medium, Low, and Informational.
6743	Severity *string `locationName:"severity" type:"string" enum:"Severity"`
6744
6745	// The name of the finding.
6746	Title *string `locationName:"title" type:"string"`
6747
6748	// The time when AddAttributesToFindings is called.
6749	//
6750	// UpdatedAt is a required field
6751	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`
6752
6753	// The user-defined attributes that are assigned to the finding.
6754	//
6755	// UserAttributes is a required field
6756	UserAttributes []*Attribute `locationName:"userAttributes" type:"list" required:"true"`
6757}
6758
6759// String returns the string representation
6760func (s Finding) String() string {
6761	return awsutil.Prettify(s)
6762}
6763
6764// GoString returns the string representation
6765func (s Finding) GoString() string {
6766	return s.String()
6767}
6768
6769// SetArn sets the Arn field's value.
6770func (s *Finding) SetArn(v string) *Finding {
6771	s.Arn = &v
6772	return s
6773}
6774
6775// SetAssetAttributes sets the AssetAttributes field's value.
6776func (s *Finding) SetAssetAttributes(v *AssetAttributes) *Finding {
6777	s.AssetAttributes = v
6778	return s
6779}
6780
6781// SetAssetType sets the AssetType field's value.
6782func (s *Finding) SetAssetType(v string) *Finding {
6783	s.AssetType = &v
6784	return s
6785}
6786
6787// SetAttributes sets the Attributes field's value.
6788func (s *Finding) SetAttributes(v []*Attribute) *Finding {
6789	s.Attributes = v
6790	return s
6791}
6792
6793// SetConfidence sets the Confidence field's value.
6794func (s *Finding) SetConfidence(v int64) *Finding {
6795	s.Confidence = &v
6796	return s
6797}
6798
6799// SetCreatedAt sets the CreatedAt field's value.
6800func (s *Finding) SetCreatedAt(v time.Time) *Finding {
6801	s.CreatedAt = &v
6802	return s
6803}
6804
6805// SetDescription sets the Description field's value.
6806func (s *Finding) SetDescription(v string) *Finding {
6807	s.Description = &v
6808	return s
6809}
6810
6811// SetId sets the Id field's value.
6812func (s *Finding) SetId(v string) *Finding {
6813	s.Id = &v
6814	return s
6815}
6816
6817// SetIndicatorOfCompromise sets the IndicatorOfCompromise field's value.
6818func (s *Finding) SetIndicatorOfCompromise(v bool) *Finding {
6819	s.IndicatorOfCompromise = &v
6820	return s
6821}
6822
6823// SetNumericSeverity sets the NumericSeverity field's value.
6824func (s *Finding) SetNumericSeverity(v float64) *Finding {
6825	s.NumericSeverity = &v
6826	return s
6827}
6828
6829// SetRecommendation sets the Recommendation field's value.
6830func (s *Finding) SetRecommendation(v string) *Finding {
6831	s.Recommendation = &v
6832	return s
6833}
6834
6835// SetSchemaVersion sets the SchemaVersion field's value.
6836func (s *Finding) SetSchemaVersion(v int64) *Finding {
6837	s.SchemaVersion = &v
6838	return s
6839}
6840
6841// SetService sets the Service field's value.
6842func (s *Finding) SetService(v string) *Finding {
6843	s.Service = &v
6844	return s
6845}
6846
6847// SetServiceAttributes sets the ServiceAttributes field's value.
6848func (s *Finding) SetServiceAttributes(v *ServiceAttributes) *Finding {
6849	s.ServiceAttributes = v
6850	return s
6851}
6852
6853// SetSeverity sets the Severity field's value.
6854func (s *Finding) SetSeverity(v string) *Finding {
6855	s.Severity = &v
6856	return s
6857}
6858
6859// SetTitle sets the Title field's value.
6860func (s *Finding) SetTitle(v string) *Finding {
6861	s.Title = &v
6862	return s
6863}
6864
6865// SetUpdatedAt sets the UpdatedAt field's value.
6866func (s *Finding) SetUpdatedAt(v time.Time) *Finding {
6867	s.UpdatedAt = &v
6868	return s
6869}
6870
6871// SetUserAttributes sets the UserAttributes field's value.
6872func (s *Finding) SetUserAttributes(v []*Attribute) *Finding {
6873	s.UserAttributes = v
6874	return s
6875}
6876
6877// This data type is used as a request parameter in the ListFindings action.
6878type FindingFilter struct {
6879	_ struct{} `type:"structure"`
6880
6881	// For a record to match a filter, one of the values that is specified for this
6882	// data type property must be the exact match of the value of the agentId property
6883	// of the Finding data type.
6884	AgentIds []*string `locationName:"agentIds" type:"list"`
6885
6886	// For a record to match a filter, the list of values that are specified for
6887	// this data type property must be contained in the list of values of the attributes
6888	// property of the Finding data type.
6889	Attributes []*Attribute `locationName:"attributes" type:"list"`
6890
6891	// For a record to match a filter, one of the values that is specified for this
6892	// data type property must be the exact match of the value of the autoScalingGroup
6893	// property of the Finding data type.
6894	AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"`
6895
6896	// The time range during which the finding is generated.
6897	CreationTimeRange *TimestampRange `locationName:"creationTimeRange" type:"structure"`
6898
6899	// For a record to match a filter, one of the values that is specified for this
6900	// data type property must be the exact match of the value of the ruleName property
6901	// of the Finding data type.
6902	RuleNames []*string `locationName:"ruleNames" type:"list"`
6903
6904	// For a record to match a filter, one of the values that is specified for this
6905	// data type property must be the exact match of the value of the rulesPackageArn
6906	// property of the Finding data type.
6907	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
6908
6909	// For a record to match a filter, one of the values that is specified for this
6910	// data type property must be the exact match of the value of the severity property
6911	// of the Finding data type.
6912	Severities []*string `locationName:"severities" type:"list"`
6913
6914	// For a record to match a filter, the value that is specified for this data
6915	// type property must be contained in the list of values of the userAttributes
6916	// property of the Finding data type.
6917	UserAttributes []*Attribute `locationName:"userAttributes" type:"list"`
6918}
6919
6920// String returns the string representation
6921func (s FindingFilter) String() string {
6922	return awsutil.Prettify(s)
6923}
6924
6925// GoString returns the string representation
6926func (s FindingFilter) GoString() string {
6927	return s.String()
6928}
6929
6930// Validate inspects the fields of the type to determine if they are valid.
6931func (s *FindingFilter) Validate() error {
6932	invalidParams := request.ErrInvalidParams{Context: "FindingFilter"}
6933	if s.Attributes != nil {
6934		for i, v := range s.Attributes {
6935			if v == nil {
6936				continue
6937			}
6938			if err := v.Validate(); err != nil {
6939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
6940			}
6941		}
6942	}
6943	if s.UserAttributes != nil {
6944		for i, v := range s.UserAttributes {
6945			if v == nil {
6946				continue
6947			}
6948			if err := v.Validate(); err != nil {
6949				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
6950			}
6951		}
6952	}
6953
6954	if invalidParams.Len() > 0 {
6955		return invalidParams
6956	}
6957	return nil
6958}
6959
6960// SetAgentIds sets the AgentIds field's value.
6961func (s *FindingFilter) SetAgentIds(v []*string) *FindingFilter {
6962	s.AgentIds = v
6963	return s
6964}
6965
6966// SetAttributes sets the Attributes field's value.
6967func (s *FindingFilter) SetAttributes(v []*Attribute) *FindingFilter {
6968	s.Attributes = v
6969	return s
6970}
6971
6972// SetAutoScalingGroups sets the AutoScalingGroups field's value.
6973func (s *FindingFilter) SetAutoScalingGroups(v []*string) *FindingFilter {
6974	s.AutoScalingGroups = v
6975	return s
6976}
6977
6978// SetCreationTimeRange sets the CreationTimeRange field's value.
6979func (s *FindingFilter) SetCreationTimeRange(v *TimestampRange) *FindingFilter {
6980	s.CreationTimeRange = v
6981	return s
6982}
6983
6984// SetRuleNames sets the RuleNames field's value.
6985func (s *FindingFilter) SetRuleNames(v []*string) *FindingFilter {
6986	s.RuleNames = v
6987	return s
6988}
6989
6990// SetRulesPackageArns sets the RulesPackageArns field's value.
6991func (s *FindingFilter) SetRulesPackageArns(v []*string) *FindingFilter {
6992	s.RulesPackageArns = v
6993	return s
6994}
6995
6996// SetSeverities sets the Severities field's value.
6997func (s *FindingFilter) SetSeverities(v []*string) *FindingFilter {
6998	s.Severities = v
6999	return s
7000}
7001
7002// SetUserAttributes sets the UserAttributes field's value.
7003func (s *FindingFilter) SetUserAttributes(v []*Attribute) *FindingFilter {
7004	s.UserAttributes = v
7005	return s
7006}
7007
7008type GetAssessmentReportInput struct {
7009	_ struct{} `type:"structure"`
7010
7011	// The ARN that specifies the assessment run for which you want to generate
7012	// a report.
7013	//
7014	// AssessmentRunArn is a required field
7015	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7016
7017	// Specifies the file format (html or pdf) of the assessment report that you
7018	// want to generate.
7019	//
7020	// ReportFileFormat is a required field
7021	ReportFileFormat *string `locationName:"reportFileFormat" type:"string" required:"true" enum:"ReportFileFormat"`
7022
7023	// Specifies the type of the assessment report that you want to generate. There
7024	// are two types of assessment reports: a finding report and a full report.
7025	// For more information, see Assessment Reports (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_reports.html).
7026	//
7027	// ReportType is a required field
7028	ReportType *string `locationName:"reportType" type:"string" required:"true" enum:"ReportType"`
7029}
7030
7031// String returns the string representation
7032func (s GetAssessmentReportInput) String() string {
7033	return awsutil.Prettify(s)
7034}
7035
7036// GoString returns the string representation
7037func (s GetAssessmentReportInput) GoString() string {
7038	return s.String()
7039}
7040
7041// Validate inspects the fields of the type to determine if they are valid.
7042func (s *GetAssessmentReportInput) Validate() error {
7043	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentReportInput"}
7044	if s.AssessmentRunArn == nil {
7045		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7046	}
7047	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7048		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7049	}
7050	if s.ReportFileFormat == nil {
7051		invalidParams.Add(request.NewErrParamRequired("ReportFileFormat"))
7052	}
7053	if s.ReportType == nil {
7054		invalidParams.Add(request.NewErrParamRequired("ReportType"))
7055	}
7056
7057	if invalidParams.Len() > 0 {
7058		return invalidParams
7059	}
7060	return nil
7061}
7062
7063// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7064func (s *GetAssessmentReportInput) SetAssessmentRunArn(v string) *GetAssessmentReportInput {
7065	s.AssessmentRunArn = &v
7066	return s
7067}
7068
7069// SetReportFileFormat sets the ReportFileFormat field's value.
7070func (s *GetAssessmentReportInput) SetReportFileFormat(v string) *GetAssessmentReportInput {
7071	s.ReportFileFormat = &v
7072	return s
7073}
7074
7075// SetReportType sets the ReportType field's value.
7076func (s *GetAssessmentReportInput) SetReportType(v string) *GetAssessmentReportInput {
7077	s.ReportType = &v
7078	return s
7079}
7080
7081type GetAssessmentReportOutput struct {
7082	_ struct{} `type:"structure"`
7083
7084	// Specifies the status of the request to generate an assessment report.
7085	//
7086	// Status is a required field
7087	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatus"`
7088
7089	// Specifies the URL where you can find the generated assessment report. This
7090	// parameter is only returned if the report is successfully generated.
7091	Url *string `locationName:"url" type:"string"`
7092}
7093
7094// String returns the string representation
7095func (s GetAssessmentReportOutput) String() string {
7096	return awsutil.Prettify(s)
7097}
7098
7099// GoString returns the string representation
7100func (s GetAssessmentReportOutput) GoString() string {
7101	return s.String()
7102}
7103
7104// SetStatus sets the Status field's value.
7105func (s *GetAssessmentReportOutput) SetStatus(v string) *GetAssessmentReportOutput {
7106	s.Status = &v
7107	return s
7108}
7109
7110// SetUrl sets the Url field's value.
7111func (s *GetAssessmentReportOutput) SetUrl(v string) *GetAssessmentReportOutput {
7112	s.Url = &v
7113	return s
7114}
7115
7116type GetExclusionsPreviewInput struct {
7117	_ struct{} `type:"structure"`
7118
7119	// The ARN that specifies the assessment template for which the exclusions preview
7120	// was requested.
7121	//
7122	// AssessmentTemplateArn is a required field
7123	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
7124
7125	// The locale into which you want to translate the exclusion's title, description,
7126	// and recommendation.
7127	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
7128
7129	// You can use this parameter to indicate the maximum number of items you want
7130	// in the response. The default value is 100. The maximum value is 500.
7131	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7132
7133	// You can use this parameter when paginating results. Set the value of this
7134	// parameter to null on your first call to the GetExclusionsPreviewRequest action.
7135	// Subsequent calls to the action fill nextToken in the request with the value
7136	// of nextToken from the previous response to continue listing data.
7137	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7138
7139	// The unique identifier associated of the exclusions preview.
7140	//
7141	// PreviewToken is a required field
7142	PreviewToken *string `locationName:"previewToken" type:"string" required:"true"`
7143}
7144
7145// String returns the string representation
7146func (s GetExclusionsPreviewInput) String() string {
7147	return awsutil.Prettify(s)
7148}
7149
7150// GoString returns the string representation
7151func (s GetExclusionsPreviewInput) GoString() string {
7152	return s.String()
7153}
7154
7155// Validate inspects the fields of the type to determine if they are valid.
7156func (s *GetExclusionsPreviewInput) Validate() error {
7157	invalidParams := request.ErrInvalidParams{Context: "GetExclusionsPreviewInput"}
7158	if s.AssessmentTemplateArn == nil {
7159		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
7160	}
7161	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
7162		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
7163	}
7164	if s.NextToken != nil && len(*s.NextToken) < 1 {
7165		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7166	}
7167	if s.PreviewToken == nil {
7168		invalidParams.Add(request.NewErrParamRequired("PreviewToken"))
7169	}
7170
7171	if invalidParams.Len() > 0 {
7172		return invalidParams
7173	}
7174	return nil
7175}
7176
7177// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
7178func (s *GetExclusionsPreviewInput) SetAssessmentTemplateArn(v string) *GetExclusionsPreviewInput {
7179	s.AssessmentTemplateArn = &v
7180	return s
7181}
7182
7183// SetLocale sets the Locale field's value.
7184func (s *GetExclusionsPreviewInput) SetLocale(v string) *GetExclusionsPreviewInput {
7185	s.Locale = &v
7186	return s
7187}
7188
7189// SetMaxResults sets the MaxResults field's value.
7190func (s *GetExclusionsPreviewInput) SetMaxResults(v int64) *GetExclusionsPreviewInput {
7191	s.MaxResults = &v
7192	return s
7193}
7194
7195// SetNextToken sets the NextToken field's value.
7196func (s *GetExclusionsPreviewInput) SetNextToken(v string) *GetExclusionsPreviewInput {
7197	s.NextToken = &v
7198	return s
7199}
7200
7201// SetPreviewToken sets the PreviewToken field's value.
7202func (s *GetExclusionsPreviewInput) SetPreviewToken(v string) *GetExclusionsPreviewInput {
7203	s.PreviewToken = &v
7204	return s
7205}
7206
7207type GetExclusionsPreviewOutput struct {
7208	_ struct{} `type:"structure"`
7209
7210	// Information about the exclusions included in the preview.
7211	ExclusionPreviews []*ExclusionPreview `locationName:"exclusionPreviews" type:"list"`
7212
7213	// When a response is generated, if there is more data to be listed, this parameters
7214	// is present in the response and contains the value to use for the nextToken
7215	// parameter in a subsequent pagination request. If there is no more data to
7216	// be listed, this parameter is set to null.
7217	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7218
7219	// Specifies the status of the request to generate an exclusions preview.
7220	//
7221	// PreviewStatus is a required field
7222	PreviewStatus *string `locationName:"previewStatus" type:"string" required:"true" enum:"PreviewStatus"`
7223}
7224
7225// String returns the string representation
7226func (s GetExclusionsPreviewOutput) String() string {
7227	return awsutil.Prettify(s)
7228}
7229
7230// GoString returns the string representation
7231func (s GetExclusionsPreviewOutput) GoString() string {
7232	return s.String()
7233}
7234
7235// SetExclusionPreviews sets the ExclusionPreviews field's value.
7236func (s *GetExclusionsPreviewOutput) SetExclusionPreviews(v []*ExclusionPreview) *GetExclusionsPreviewOutput {
7237	s.ExclusionPreviews = v
7238	return s
7239}
7240
7241// SetNextToken sets the NextToken field's value.
7242func (s *GetExclusionsPreviewOutput) SetNextToken(v string) *GetExclusionsPreviewOutput {
7243	s.NextToken = &v
7244	return s
7245}
7246
7247// SetPreviewStatus sets the PreviewStatus field's value.
7248func (s *GetExclusionsPreviewOutput) SetPreviewStatus(v string) *GetExclusionsPreviewOutput {
7249	s.PreviewStatus = &v
7250	return s
7251}
7252
7253type GetTelemetryMetadataInput struct {
7254	_ struct{} `type:"structure"`
7255
7256	// The ARN that specifies the assessment run that has the telemetry data that
7257	// you want to obtain.
7258	//
7259	// AssessmentRunArn is a required field
7260	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7261}
7262
7263// String returns the string representation
7264func (s GetTelemetryMetadataInput) String() string {
7265	return awsutil.Prettify(s)
7266}
7267
7268// GoString returns the string representation
7269func (s GetTelemetryMetadataInput) GoString() string {
7270	return s.String()
7271}
7272
7273// Validate inspects the fields of the type to determine if they are valid.
7274func (s *GetTelemetryMetadataInput) Validate() error {
7275	invalidParams := request.ErrInvalidParams{Context: "GetTelemetryMetadataInput"}
7276	if s.AssessmentRunArn == nil {
7277		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7278	}
7279	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7280		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7281	}
7282
7283	if invalidParams.Len() > 0 {
7284		return invalidParams
7285	}
7286	return nil
7287}
7288
7289// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7290func (s *GetTelemetryMetadataInput) SetAssessmentRunArn(v string) *GetTelemetryMetadataInput {
7291	s.AssessmentRunArn = &v
7292	return s
7293}
7294
7295type GetTelemetryMetadataOutput struct {
7296	_ struct{} `type:"structure"`
7297
7298	// Telemetry details.
7299	//
7300	// TelemetryMetadata is a required field
7301	TelemetryMetadata []*TelemetryMetadata `locationName:"telemetryMetadata" type:"list" required:"true"`
7302}
7303
7304// String returns the string representation
7305func (s GetTelemetryMetadataOutput) String() string {
7306	return awsutil.Prettify(s)
7307}
7308
7309// GoString returns the string representation
7310func (s GetTelemetryMetadataOutput) GoString() string {
7311	return s.String()
7312}
7313
7314// SetTelemetryMetadata sets the TelemetryMetadata field's value.
7315func (s *GetTelemetryMetadataOutput) SetTelemetryMetadata(v []*TelemetryMetadata) *GetTelemetryMetadataOutput {
7316	s.TelemetryMetadata = v
7317	return s
7318}
7319
7320type ListAssessmentRunAgentsInput struct {
7321	_ struct{} `type:"structure"`
7322
7323	// The ARN that specifies the assessment run whose agents you want to list.
7324	//
7325	// AssessmentRunArn is a required field
7326	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7327
7328	// You can use this parameter to specify a subset of data to be included in
7329	// the action's response.
7330	//
7331	// For a record to match a filter, all specified filter attributes must match.
7332	// When multiple values are specified for a filter attribute, any of the values
7333	// can match.
7334	Filter *AgentFilter `locationName:"filter" type:"structure"`
7335
7336	// You can use this parameter to indicate the maximum number of items that you
7337	// want in the response. The default value is 10. The maximum value is 500.
7338	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7339
7340	// You can use this parameter when paginating results. Set the value of this
7341	// parameter to null on your first call to the ListAssessmentRunAgents action.
7342	// Subsequent calls to the action fill nextToken in the request with the value
7343	// of NextToken from the previous response to continue listing data.
7344	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7345}
7346
7347// String returns the string representation
7348func (s ListAssessmentRunAgentsInput) String() string {
7349	return awsutil.Prettify(s)
7350}
7351
7352// GoString returns the string representation
7353func (s ListAssessmentRunAgentsInput) GoString() string {
7354	return s.String()
7355}
7356
7357// Validate inspects the fields of the type to determine if they are valid.
7358func (s *ListAssessmentRunAgentsInput) Validate() error {
7359	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentRunAgentsInput"}
7360	if s.AssessmentRunArn == nil {
7361		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7362	}
7363	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7364		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7365	}
7366	if s.NextToken != nil && len(*s.NextToken) < 1 {
7367		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7368	}
7369	if s.Filter != nil {
7370		if err := s.Filter.Validate(); err != nil {
7371			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7372		}
7373	}
7374
7375	if invalidParams.Len() > 0 {
7376		return invalidParams
7377	}
7378	return nil
7379}
7380
7381// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7382func (s *ListAssessmentRunAgentsInput) SetAssessmentRunArn(v string) *ListAssessmentRunAgentsInput {
7383	s.AssessmentRunArn = &v
7384	return s
7385}
7386
7387// SetFilter sets the Filter field's value.
7388func (s *ListAssessmentRunAgentsInput) SetFilter(v *AgentFilter) *ListAssessmentRunAgentsInput {
7389	s.Filter = v
7390	return s
7391}
7392
7393// SetMaxResults sets the MaxResults field's value.
7394func (s *ListAssessmentRunAgentsInput) SetMaxResults(v int64) *ListAssessmentRunAgentsInput {
7395	s.MaxResults = &v
7396	return s
7397}
7398
7399// SetNextToken sets the NextToken field's value.
7400func (s *ListAssessmentRunAgentsInput) SetNextToken(v string) *ListAssessmentRunAgentsInput {
7401	s.NextToken = &v
7402	return s
7403}
7404
7405type ListAssessmentRunAgentsOutput struct {
7406	_ struct{} `type:"structure"`
7407
7408	// A list of ARNs that specifies the agents returned by the action.
7409	//
7410	// AssessmentRunAgents is a required field
7411	AssessmentRunAgents []*AssessmentRunAgent `locationName:"assessmentRunAgents" type:"list" required:"true"`
7412
7413	// When a response is generated, if there is more data to be listed, this parameter
7414	// is present in the response and contains the value to use for the nextToken
7415	// parameter in a subsequent pagination request. If there is no more data to
7416	// be listed, this parameter is set to null.
7417	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7418}
7419
7420// String returns the string representation
7421func (s ListAssessmentRunAgentsOutput) String() string {
7422	return awsutil.Prettify(s)
7423}
7424
7425// GoString returns the string representation
7426func (s ListAssessmentRunAgentsOutput) GoString() string {
7427	return s.String()
7428}
7429
7430// SetAssessmentRunAgents sets the AssessmentRunAgents field's value.
7431func (s *ListAssessmentRunAgentsOutput) SetAssessmentRunAgents(v []*AssessmentRunAgent) *ListAssessmentRunAgentsOutput {
7432	s.AssessmentRunAgents = v
7433	return s
7434}
7435
7436// SetNextToken sets the NextToken field's value.
7437func (s *ListAssessmentRunAgentsOutput) SetNextToken(v string) *ListAssessmentRunAgentsOutput {
7438	s.NextToken = &v
7439	return s
7440}
7441
7442type ListAssessmentRunsInput struct {
7443	_ struct{} `type:"structure"`
7444
7445	// The ARNs that specify the assessment templates whose assessment runs you
7446	// want to list.
7447	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" type:"list"`
7448
7449	// You can use this parameter to specify a subset of data to be included in
7450	// the action's response.
7451	//
7452	// For a record to match a filter, all specified filter attributes must match.
7453	// When multiple values are specified for a filter attribute, any of the values
7454	// can match.
7455	Filter *AssessmentRunFilter `locationName:"filter" type:"structure"`
7456
7457	// You can use this parameter to indicate the maximum number of items that you
7458	// want in the response. The default value is 10. The maximum value is 500.
7459	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7460
7461	// You can use this parameter when paginating results. Set the value of this
7462	// parameter to null on your first call to the ListAssessmentRuns action. Subsequent
7463	// calls to the action fill nextToken in the request with the value of NextToken
7464	// from the previous response to continue listing data.
7465	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7466}
7467
7468// String returns the string representation
7469func (s ListAssessmentRunsInput) String() string {
7470	return awsutil.Prettify(s)
7471}
7472
7473// GoString returns the string representation
7474func (s ListAssessmentRunsInput) GoString() string {
7475	return s.String()
7476}
7477
7478// Validate inspects the fields of the type to determine if they are valid.
7479func (s *ListAssessmentRunsInput) Validate() error {
7480	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentRunsInput"}
7481	if s.NextToken != nil && len(*s.NextToken) < 1 {
7482		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7483	}
7484	if s.Filter != nil {
7485		if err := s.Filter.Validate(); err != nil {
7486			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7487		}
7488	}
7489
7490	if invalidParams.Len() > 0 {
7491		return invalidParams
7492	}
7493	return nil
7494}
7495
7496// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
7497func (s *ListAssessmentRunsInput) SetAssessmentTemplateArns(v []*string) *ListAssessmentRunsInput {
7498	s.AssessmentTemplateArns = v
7499	return s
7500}
7501
7502// SetFilter sets the Filter field's value.
7503func (s *ListAssessmentRunsInput) SetFilter(v *AssessmentRunFilter) *ListAssessmentRunsInput {
7504	s.Filter = v
7505	return s
7506}
7507
7508// SetMaxResults sets the MaxResults field's value.
7509func (s *ListAssessmentRunsInput) SetMaxResults(v int64) *ListAssessmentRunsInput {
7510	s.MaxResults = &v
7511	return s
7512}
7513
7514// SetNextToken sets the NextToken field's value.
7515func (s *ListAssessmentRunsInput) SetNextToken(v string) *ListAssessmentRunsInput {
7516	s.NextToken = &v
7517	return s
7518}
7519
7520type ListAssessmentRunsOutput struct {
7521	_ struct{} `type:"structure"`
7522
7523	// A list of ARNs that specifies the assessment runs that are returned by the
7524	// action.
7525	//
7526	// AssessmentRunArns is a required field
7527	AssessmentRunArns []*string `locationName:"assessmentRunArns" type:"list" required:"true"`
7528
7529	// When a response is generated, if there is more data to be listed, this parameter
7530	// is present in the response and contains the value to use for the nextToken
7531	// parameter in a subsequent pagination request. If there is no more data to
7532	// be listed, this parameter is set to null.
7533	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7534}
7535
7536// String returns the string representation
7537func (s ListAssessmentRunsOutput) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s ListAssessmentRunsOutput) GoString() string {
7543	return s.String()
7544}
7545
7546// SetAssessmentRunArns sets the AssessmentRunArns field's value.
7547func (s *ListAssessmentRunsOutput) SetAssessmentRunArns(v []*string) *ListAssessmentRunsOutput {
7548	s.AssessmentRunArns = v
7549	return s
7550}
7551
7552// SetNextToken sets the NextToken field's value.
7553func (s *ListAssessmentRunsOutput) SetNextToken(v string) *ListAssessmentRunsOutput {
7554	s.NextToken = &v
7555	return s
7556}
7557
7558type ListAssessmentTargetsInput struct {
7559	_ struct{} `type:"structure"`
7560
7561	// You can use this parameter to specify a subset of data to be included in
7562	// the action's response.
7563	//
7564	// For a record to match a filter, all specified filter attributes must match.
7565	// When multiple values are specified for a filter attribute, any of the values
7566	// can match.
7567	Filter *AssessmentTargetFilter `locationName:"filter" type:"structure"`
7568
7569	// You can use this parameter to indicate the maximum number of items you want
7570	// in the response. The default value is 10. The maximum value is 500.
7571	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7572
7573	// You can use this parameter when paginating results. Set the value of this
7574	// parameter to null on your first call to the ListAssessmentTargets action.
7575	// Subsequent calls to the action fill nextToken in the request with the value
7576	// of NextToken from the previous response to continue listing data.
7577	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7578}
7579
7580// String returns the string representation
7581func (s ListAssessmentTargetsInput) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation
7586func (s ListAssessmentTargetsInput) GoString() string {
7587	return s.String()
7588}
7589
7590// Validate inspects the fields of the type to determine if they are valid.
7591func (s *ListAssessmentTargetsInput) Validate() error {
7592	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentTargetsInput"}
7593	if s.NextToken != nil && len(*s.NextToken) < 1 {
7594		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7595	}
7596	if s.Filter != nil {
7597		if err := s.Filter.Validate(); err != nil {
7598			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7599		}
7600	}
7601
7602	if invalidParams.Len() > 0 {
7603		return invalidParams
7604	}
7605	return nil
7606}
7607
7608// SetFilter sets the Filter field's value.
7609func (s *ListAssessmentTargetsInput) SetFilter(v *AssessmentTargetFilter) *ListAssessmentTargetsInput {
7610	s.Filter = v
7611	return s
7612}
7613
7614// SetMaxResults sets the MaxResults field's value.
7615func (s *ListAssessmentTargetsInput) SetMaxResults(v int64) *ListAssessmentTargetsInput {
7616	s.MaxResults = &v
7617	return s
7618}
7619
7620// SetNextToken sets the NextToken field's value.
7621func (s *ListAssessmentTargetsInput) SetNextToken(v string) *ListAssessmentTargetsInput {
7622	s.NextToken = &v
7623	return s
7624}
7625
7626type ListAssessmentTargetsOutput struct {
7627	_ struct{} `type:"structure"`
7628
7629	// A list of ARNs that specifies the assessment targets that are returned by
7630	// the action.
7631	//
7632	// AssessmentTargetArns is a required field
7633	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" type:"list" required:"true"`
7634
7635	// When a response is generated, if there is more data to be listed, this parameter
7636	// is present in the response and contains the value to use for the nextToken
7637	// parameter in a subsequent pagination request. If there is no more data to
7638	// be listed, this parameter is set to null.
7639	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7640}
7641
7642// String returns the string representation
7643func (s ListAssessmentTargetsOutput) String() string {
7644	return awsutil.Prettify(s)
7645}
7646
7647// GoString returns the string representation
7648func (s ListAssessmentTargetsOutput) GoString() string {
7649	return s.String()
7650}
7651
7652// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
7653func (s *ListAssessmentTargetsOutput) SetAssessmentTargetArns(v []*string) *ListAssessmentTargetsOutput {
7654	s.AssessmentTargetArns = v
7655	return s
7656}
7657
7658// SetNextToken sets the NextToken field's value.
7659func (s *ListAssessmentTargetsOutput) SetNextToken(v string) *ListAssessmentTargetsOutput {
7660	s.NextToken = &v
7661	return s
7662}
7663
7664type ListAssessmentTemplatesInput struct {
7665	_ struct{} `type:"structure"`
7666
7667	// A list of ARNs that specifies the assessment targets whose assessment templates
7668	// you want to list.
7669	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" type:"list"`
7670
7671	// You can use this parameter to specify a subset of data to be included in
7672	// the action's response.
7673	//
7674	// For a record to match a filter, all specified filter attributes must match.
7675	// When multiple values are specified for a filter attribute, any of the values
7676	// can match.
7677	Filter *AssessmentTemplateFilter `locationName:"filter" type:"structure"`
7678
7679	// You can use this parameter to indicate the maximum number of items you want
7680	// in the response. The default value is 10. The maximum value is 500.
7681	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7682
7683	// You can use this parameter when paginating results. Set the value of this
7684	// parameter to null on your first call to the ListAssessmentTemplates action.
7685	// Subsequent calls to the action fill nextToken in the request with the value
7686	// of NextToken from the previous response to continue listing data.
7687	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7688}
7689
7690// String returns the string representation
7691func (s ListAssessmentTemplatesInput) String() string {
7692	return awsutil.Prettify(s)
7693}
7694
7695// GoString returns the string representation
7696func (s ListAssessmentTemplatesInput) GoString() string {
7697	return s.String()
7698}
7699
7700// Validate inspects the fields of the type to determine if they are valid.
7701func (s *ListAssessmentTemplatesInput) Validate() error {
7702	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentTemplatesInput"}
7703	if s.NextToken != nil && len(*s.NextToken) < 1 {
7704		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7705	}
7706	if s.Filter != nil {
7707		if err := s.Filter.Validate(); err != nil {
7708			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7709		}
7710	}
7711
7712	if invalidParams.Len() > 0 {
7713		return invalidParams
7714	}
7715	return nil
7716}
7717
7718// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
7719func (s *ListAssessmentTemplatesInput) SetAssessmentTargetArns(v []*string) *ListAssessmentTemplatesInput {
7720	s.AssessmentTargetArns = v
7721	return s
7722}
7723
7724// SetFilter sets the Filter field's value.
7725func (s *ListAssessmentTemplatesInput) SetFilter(v *AssessmentTemplateFilter) *ListAssessmentTemplatesInput {
7726	s.Filter = v
7727	return s
7728}
7729
7730// SetMaxResults sets the MaxResults field's value.
7731func (s *ListAssessmentTemplatesInput) SetMaxResults(v int64) *ListAssessmentTemplatesInput {
7732	s.MaxResults = &v
7733	return s
7734}
7735
7736// SetNextToken sets the NextToken field's value.
7737func (s *ListAssessmentTemplatesInput) SetNextToken(v string) *ListAssessmentTemplatesInput {
7738	s.NextToken = &v
7739	return s
7740}
7741
7742type ListAssessmentTemplatesOutput struct {
7743	_ struct{} `type:"structure"`
7744
7745	// A list of ARNs that specifies the assessment templates returned by the action.
7746	//
7747	// AssessmentTemplateArns is a required field
7748	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" type:"list" required:"true"`
7749
7750	// When a response is generated, if there is more data to be listed, this parameter
7751	// is present in the response and contains the value to use for the nextToken
7752	// parameter in a subsequent pagination request. If there is no more data to
7753	// be listed, this parameter is set to null.
7754	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7755}
7756
7757// String returns the string representation
7758func (s ListAssessmentTemplatesOutput) String() string {
7759	return awsutil.Prettify(s)
7760}
7761
7762// GoString returns the string representation
7763func (s ListAssessmentTemplatesOutput) GoString() string {
7764	return s.String()
7765}
7766
7767// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
7768func (s *ListAssessmentTemplatesOutput) SetAssessmentTemplateArns(v []*string) *ListAssessmentTemplatesOutput {
7769	s.AssessmentTemplateArns = v
7770	return s
7771}
7772
7773// SetNextToken sets the NextToken field's value.
7774func (s *ListAssessmentTemplatesOutput) SetNextToken(v string) *ListAssessmentTemplatesOutput {
7775	s.NextToken = &v
7776	return s
7777}
7778
7779type ListEventSubscriptionsInput struct {
7780	_ struct{} `type:"structure"`
7781
7782	// You can use this parameter to indicate the maximum number of items you want
7783	// in the response. The default value is 10. The maximum value is 500.
7784	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7785
7786	// You can use this parameter when paginating results. Set the value of this
7787	// parameter to null on your first call to the ListEventSubscriptions action.
7788	// Subsequent calls to the action fill nextToken in the request with the value
7789	// of NextToken from the previous response to continue listing data.
7790	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7791
7792	// The ARN of the assessment template for which you want to list the existing
7793	// event subscriptions.
7794	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
7795}
7796
7797// String returns the string representation
7798func (s ListEventSubscriptionsInput) String() string {
7799	return awsutil.Prettify(s)
7800}
7801
7802// GoString returns the string representation
7803func (s ListEventSubscriptionsInput) GoString() string {
7804	return s.String()
7805}
7806
7807// Validate inspects the fields of the type to determine if they are valid.
7808func (s *ListEventSubscriptionsInput) Validate() error {
7809	invalidParams := request.ErrInvalidParams{Context: "ListEventSubscriptionsInput"}
7810	if s.NextToken != nil && len(*s.NextToken) < 1 {
7811		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7812	}
7813	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7814		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7815	}
7816
7817	if invalidParams.Len() > 0 {
7818		return invalidParams
7819	}
7820	return nil
7821}
7822
7823// SetMaxResults sets the MaxResults field's value.
7824func (s *ListEventSubscriptionsInput) SetMaxResults(v int64) *ListEventSubscriptionsInput {
7825	s.MaxResults = &v
7826	return s
7827}
7828
7829// SetNextToken sets the NextToken field's value.
7830func (s *ListEventSubscriptionsInput) SetNextToken(v string) *ListEventSubscriptionsInput {
7831	s.NextToken = &v
7832	return s
7833}
7834
7835// SetResourceArn sets the ResourceArn field's value.
7836func (s *ListEventSubscriptionsInput) SetResourceArn(v string) *ListEventSubscriptionsInput {
7837	s.ResourceArn = &v
7838	return s
7839}
7840
7841type ListEventSubscriptionsOutput struct {
7842	_ struct{} `type:"structure"`
7843
7844	// When a response is generated, if there is more data to be listed, this parameter
7845	// is present in the response and contains the value to use for the nextToken
7846	// parameter in a subsequent pagination request. If there is no more data to
7847	// be listed, this parameter is set to null.
7848	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7849
7850	// Details of the returned event subscriptions.
7851	//
7852	// Subscriptions is a required field
7853	Subscriptions []*Subscription `locationName:"subscriptions" type:"list" required:"true"`
7854}
7855
7856// String returns the string representation
7857func (s ListEventSubscriptionsOutput) String() string {
7858	return awsutil.Prettify(s)
7859}
7860
7861// GoString returns the string representation
7862func (s ListEventSubscriptionsOutput) GoString() string {
7863	return s.String()
7864}
7865
7866// SetNextToken sets the NextToken field's value.
7867func (s *ListEventSubscriptionsOutput) SetNextToken(v string) *ListEventSubscriptionsOutput {
7868	s.NextToken = &v
7869	return s
7870}
7871
7872// SetSubscriptions sets the Subscriptions field's value.
7873func (s *ListEventSubscriptionsOutput) SetSubscriptions(v []*Subscription) *ListEventSubscriptionsOutput {
7874	s.Subscriptions = v
7875	return s
7876}
7877
7878type ListExclusionsInput struct {
7879	_ struct{} `type:"structure"`
7880
7881	// The ARN of the assessment run that generated the exclusions that you want
7882	// to list.
7883	//
7884	// AssessmentRunArn is a required field
7885	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7886
7887	// You can use this parameter to indicate the maximum number of items you want
7888	// in the response. The default value is 100. The maximum value is 500.
7889	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7890
7891	// You can use this parameter when paginating results. Set the value of this
7892	// parameter to null on your first call to the ListExclusionsRequest action.
7893	// Subsequent calls to the action fill nextToken in the request with the value
7894	// of nextToken from the previous response to continue listing data.
7895	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7896}
7897
7898// String returns the string representation
7899func (s ListExclusionsInput) String() string {
7900	return awsutil.Prettify(s)
7901}
7902
7903// GoString returns the string representation
7904func (s ListExclusionsInput) GoString() string {
7905	return s.String()
7906}
7907
7908// Validate inspects the fields of the type to determine if they are valid.
7909func (s *ListExclusionsInput) Validate() error {
7910	invalidParams := request.ErrInvalidParams{Context: "ListExclusionsInput"}
7911	if s.AssessmentRunArn == nil {
7912		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7913	}
7914	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7915		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7916	}
7917	if s.NextToken != nil && len(*s.NextToken) < 1 {
7918		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7919	}
7920
7921	if invalidParams.Len() > 0 {
7922		return invalidParams
7923	}
7924	return nil
7925}
7926
7927// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7928func (s *ListExclusionsInput) SetAssessmentRunArn(v string) *ListExclusionsInput {
7929	s.AssessmentRunArn = &v
7930	return s
7931}
7932
7933// SetMaxResults sets the MaxResults field's value.
7934func (s *ListExclusionsInput) SetMaxResults(v int64) *ListExclusionsInput {
7935	s.MaxResults = &v
7936	return s
7937}
7938
7939// SetNextToken sets the NextToken field's value.
7940func (s *ListExclusionsInput) SetNextToken(v string) *ListExclusionsInput {
7941	s.NextToken = &v
7942	return s
7943}
7944
7945type ListExclusionsOutput struct {
7946	_ struct{} `type:"structure"`
7947
7948	// A list of exclusions' ARNs returned by the action.
7949	//
7950	// ExclusionArns is a required field
7951	ExclusionArns []*string `locationName:"exclusionArns" type:"list" required:"true"`
7952
7953	// When a response is generated, if there is more data to be listed, this parameters
7954	// is present in the response and contains the value to use for the nextToken
7955	// parameter in a subsequent pagination request. If there is no more data to
7956	// be listed, this parameter is set to null.
7957	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7958}
7959
7960// String returns the string representation
7961func (s ListExclusionsOutput) String() string {
7962	return awsutil.Prettify(s)
7963}
7964
7965// GoString returns the string representation
7966func (s ListExclusionsOutput) GoString() string {
7967	return s.String()
7968}
7969
7970// SetExclusionArns sets the ExclusionArns field's value.
7971func (s *ListExclusionsOutput) SetExclusionArns(v []*string) *ListExclusionsOutput {
7972	s.ExclusionArns = v
7973	return s
7974}
7975
7976// SetNextToken sets the NextToken field's value.
7977func (s *ListExclusionsOutput) SetNextToken(v string) *ListExclusionsOutput {
7978	s.NextToken = &v
7979	return s
7980}
7981
7982type ListFindingsInput struct {
7983	_ struct{} `type:"structure"`
7984
7985	// The ARNs of the assessment runs that generate the findings that you want
7986	// to list.
7987	AssessmentRunArns []*string `locationName:"assessmentRunArns" type:"list"`
7988
7989	// You can use this parameter to specify a subset of data to be included in
7990	// the action's response.
7991	//
7992	// For a record to match a filter, all specified filter attributes must match.
7993	// When multiple values are specified for a filter attribute, any of the values
7994	// can match.
7995	Filter *FindingFilter `locationName:"filter" type:"structure"`
7996
7997	// You can use this parameter to indicate the maximum number of items you want
7998	// in the response. The default value is 10. The maximum value is 500.
7999	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8000
8001	// You can use this parameter when paginating results. Set the value of this
8002	// parameter to null on your first call to the ListFindings action. Subsequent
8003	// calls to the action fill nextToken in the request with the value of NextToken
8004	// from the previous response to continue listing data.
8005	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8006}
8007
8008// String returns the string representation
8009func (s ListFindingsInput) String() string {
8010	return awsutil.Prettify(s)
8011}
8012
8013// GoString returns the string representation
8014func (s ListFindingsInput) GoString() string {
8015	return s.String()
8016}
8017
8018// Validate inspects the fields of the type to determine if they are valid.
8019func (s *ListFindingsInput) Validate() error {
8020	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
8021	if s.NextToken != nil && len(*s.NextToken) < 1 {
8022		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8023	}
8024	if s.Filter != nil {
8025		if err := s.Filter.Validate(); err != nil {
8026			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
8027		}
8028	}
8029
8030	if invalidParams.Len() > 0 {
8031		return invalidParams
8032	}
8033	return nil
8034}
8035
8036// SetAssessmentRunArns sets the AssessmentRunArns field's value.
8037func (s *ListFindingsInput) SetAssessmentRunArns(v []*string) *ListFindingsInput {
8038	s.AssessmentRunArns = v
8039	return s
8040}
8041
8042// SetFilter sets the Filter field's value.
8043func (s *ListFindingsInput) SetFilter(v *FindingFilter) *ListFindingsInput {
8044	s.Filter = v
8045	return s
8046}
8047
8048// SetMaxResults sets the MaxResults field's value.
8049func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
8050	s.MaxResults = &v
8051	return s
8052}
8053
8054// SetNextToken sets the NextToken field's value.
8055func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
8056	s.NextToken = &v
8057	return s
8058}
8059
8060type ListFindingsOutput struct {
8061	_ struct{} `type:"structure"`
8062
8063	// A list of ARNs that specifies the findings returned by the action.
8064	//
8065	// FindingArns is a required field
8066	FindingArns []*string `locationName:"findingArns" type:"list" required:"true"`
8067
8068	// When a response is generated, if there is more data to be listed, this parameter
8069	// is present in the response and contains the value to use for the nextToken
8070	// parameter in a subsequent pagination request. If there is no more data to
8071	// be listed, this parameter is set to null.
8072	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8073}
8074
8075// String returns the string representation
8076func (s ListFindingsOutput) String() string {
8077	return awsutil.Prettify(s)
8078}
8079
8080// GoString returns the string representation
8081func (s ListFindingsOutput) GoString() string {
8082	return s.String()
8083}
8084
8085// SetFindingArns sets the FindingArns field's value.
8086func (s *ListFindingsOutput) SetFindingArns(v []*string) *ListFindingsOutput {
8087	s.FindingArns = v
8088	return s
8089}
8090
8091// SetNextToken sets the NextToken field's value.
8092func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
8093	s.NextToken = &v
8094	return s
8095}
8096
8097type ListRulesPackagesInput struct {
8098	_ struct{} `type:"structure"`
8099
8100	// You can use this parameter to indicate the maximum number of items you want
8101	// in the response. The default value is 10. The maximum value is 500.
8102	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8103
8104	// You can use this parameter when paginating results. Set the value of this
8105	// parameter to null on your first call to the ListRulesPackages action. Subsequent
8106	// calls to the action fill nextToken in the request with the value of NextToken
8107	// from the previous response to continue listing data.
8108	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8109}
8110
8111// String returns the string representation
8112func (s ListRulesPackagesInput) String() string {
8113	return awsutil.Prettify(s)
8114}
8115
8116// GoString returns the string representation
8117func (s ListRulesPackagesInput) GoString() string {
8118	return s.String()
8119}
8120
8121// Validate inspects the fields of the type to determine if they are valid.
8122func (s *ListRulesPackagesInput) Validate() error {
8123	invalidParams := request.ErrInvalidParams{Context: "ListRulesPackagesInput"}
8124	if s.NextToken != nil && len(*s.NextToken) < 1 {
8125		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8126	}
8127
8128	if invalidParams.Len() > 0 {
8129		return invalidParams
8130	}
8131	return nil
8132}
8133
8134// SetMaxResults sets the MaxResults field's value.
8135func (s *ListRulesPackagesInput) SetMaxResults(v int64) *ListRulesPackagesInput {
8136	s.MaxResults = &v
8137	return s
8138}
8139
8140// SetNextToken sets the NextToken field's value.
8141func (s *ListRulesPackagesInput) SetNextToken(v string) *ListRulesPackagesInput {
8142	s.NextToken = &v
8143	return s
8144}
8145
8146type ListRulesPackagesOutput struct {
8147	_ struct{} `type:"structure"`
8148
8149	// When a response is generated, if there is more data to be listed, this parameter
8150	// is present in the response and contains the value to use for the nextToken
8151	// parameter in a subsequent pagination request. If there is no more data to
8152	// be listed, this parameter is set to null.
8153	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8154
8155	// The list of ARNs that specifies the rules packages returned by the action.
8156	//
8157	// RulesPackageArns is a required field
8158	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
8159}
8160
8161// String returns the string representation
8162func (s ListRulesPackagesOutput) String() string {
8163	return awsutil.Prettify(s)
8164}
8165
8166// GoString returns the string representation
8167func (s ListRulesPackagesOutput) GoString() string {
8168	return s.String()
8169}
8170
8171// SetNextToken sets the NextToken field's value.
8172func (s *ListRulesPackagesOutput) SetNextToken(v string) *ListRulesPackagesOutput {
8173	s.NextToken = &v
8174	return s
8175}
8176
8177// SetRulesPackageArns sets the RulesPackageArns field's value.
8178func (s *ListRulesPackagesOutput) SetRulesPackageArns(v []*string) *ListRulesPackagesOutput {
8179	s.RulesPackageArns = v
8180	return s
8181}
8182
8183type ListTagsForResourceInput struct {
8184	_ struct{} `type:"structure"`
8185
8186	// The ARN that specifies the assessment template whose tags you want to list.
8187	//
8188	// ResourceArn is a required field
8189	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
8190}
8191
8192// String returns the string representation
8193func (s ListTagsForResourceInput) String() string {
8194	return awsutil.Prettify(s)
8195}
8196
8197// GoString returns the string representation
8198func (s ListTagsForResourceInput) GoString() string {
8199	return s.String()
8200}
8201
8202// Validate inspects the fields of the type to determine if they are valid.
8203func (s *ListTagsForResourceInput) Validate() error {
8204	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8205	if s.ResourceArn == nil {
8206		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8207	}
8208	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8209		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8210	}
8211
8212	if invalidParams.Len() > 0 {
8213		return invalidParams
8214	}
8215	return nil
8216}
8217
8218// SetResourceArn sets the ResourceArn field's value.
8219func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8220	s.ResourceArn = &v
8221	return s
8222}
8223
8224type ListTagsForResourceOutput struct {
8225	_ struct{} `type:"structure"`
8226
8227	// A collection of key and value pairs.
8228	//
8229	// Tags is a required field
8230	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
8231}
8232
8233// String returns the string representation
8234func (s ListTagsForResourceOutput) String() string {
8235	return awsutil.Prettify(s)
8236}
8237
8238// GoString returns the string representation
8239func (s ListTagsForResourceOutput) GoString() string {
8240	return s.String()
8241}
8242
8243// SetTags sets the Tags field's value.
8244func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8245	s.Tags = v
8246	return s
8247}
8248
8249// Contains information about the network interfaces interacting with an EC2
8250// instance. This data type is used as one of the elements of the AssetAttributes
8251// data type.
8252type NetworkInterface struct {
8253	_ struct{} `type:"structure"`
8254
8255	// The IP addresses associated with the network interface.
8256	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
8257
8258	// The ID of the network interface.
8259	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
8260
8261	// The name of a private DNS associated with the network interface.
8262	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
8263
8264	// The private IP address associated with the network interface.
8265	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8266
8267	// A list of the private IP addresses associated with the network interface.
8268	// Includes the privateDnsName and privateIpAddress.
8269	PrivateIpAddresses []*PrivateIp `locationName:"privateIpAddresses" type:"list"`
8270
8271	// The name of a public DNS associated with the network interface.
8272	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
8273
8274	// The public IP address from which the network interface is reachable.
8275	PublicIp *string `locationName:"publicIp" type:"string"`
8276
8277	// A list of the security groups associated with the network interface. Includes
8278	// the groupId and groupName.
8279	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
8280
8281	// The ID of a subnet associated with the network interface.
8282	SubnetId *string `locationName:"subnetId" type:"string"`
8283
8284	// The ID of a VPC associated with the network interface.
8285	VpcId *string `locationName:"vpcId" type:"string"`
8286}
8287
8288// String returns the string representation
8289func (s NetworkInterface) String() string {
8290	return awsutil.Prettify(s)
8291}
8292
8293// GoString returns the string representation
8294func (s NetworkInterface) GoString() string {
8295	return s.String()
8296}
8297
8298// SetIpv6Addresses sets the Ipv6Addresses field's value.
8299func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
8300	s.Ipv6Addresses = v
8301	return s
8302}
8303
8304// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8305func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
8306	s.NetworkInterfaceId = &v
8307	return s
8308}
8309
8310// SetPrivateDnsName sets the PrivateDnsName field's value.
8311func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
8312	s.PrivateDnsName = &v
8313	return s
8314}
8315
8316// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8317func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
8318	s.PrivateIpAddress = &v
8319	return s
8320}
8321
8322// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
8323func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIp) *NetworkInterface {
8324	s.PrivateIpAddresses = v
8325	return s
8326}
8327
8328// SetPublicDnsName sets the PublicDnsName field's value.
8329func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
8330	s.PublicDnsName = &v
8331	return s
8332}
8333
8334// SetPublicIp sets the PublicIp field's value.
8335func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
8336	s.PublicIp = &v
8337	return s
8338}
8339
8340// SetSecurityGroups sets the SecurityGroups field's value.
8341func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
8342	s.SecurityGroups = v
8343	return s
8344}
8345
8346// SetSubnetId sets the SubnetId field's value.
8347func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
8348	s.SubnetId = &v
8349	return s
8350}
8351
8352// SetVpcId sets the VpcId field's value.
8353func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
8354	s.VpcId = &v
8355	return s
8356}
8357
8358type PreviewAgentsInput struct {
8359	_ struct{} `type:"structure"`
8360
8361	// You can use this parameter to indicate the maximum number of items you want
8362	// in the response. The default value is 10. The maximum value is 500.
8363	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8364
8365	// You can use this parameter when paginating results. Set the value of this
8366	// parameter to null on your first call to the PreviewAgents action. Subsequent
8367	// calls to the action fill nextToken in the request with the value of NextToken
8368	// from the previous response to continue listing data.
8369	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8370
8371	// The ARN of the assessment target whose agents you want to preview.
8372	//
8373	// PreviewAgentsArn is a required field
8374	PreviewAgentsArn *string `locationName:"previewAgentsArn" min:"1" type:"string" required:"true"`
8375}
8376
8377// String returns the string representation
8378func (s PreviewAgentsInput) String() string {
8379	return awsutil.Prettify(s)
8380}
8381
8382// GoString returns the string representation
8383func (s PreviewAgentsInput) GoString() string {
8384	return s.String()
8385}
8386
8387// Validate inspects the fields of the type to determine if they are valid.
8388func (s *PreviewAgentsInput) Validate() error {
8389	invalidParams := request.ErrInvalidParams{Context: "PreviewAgentsInput"}
8390	if s.NextToken != nil && len(*s.NextToken) < 1 {
8391		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8392	}
8393	if s.PreviewAgentsArn == nil {
8394		invalidParams.Add(request.NewErrParamRequired("PreviewAgentsArn"))
8395	}
8396	if s.PreviewAgentsArn != nil && len(*s.PreviewAgentsArn) < 1 {
8397		invalidParams.Add(request.NewErrParamMinLen("PreviewAgentsArn", 1))
8398	}
8399
8400	if invalidParams.Len() > 0 {
8401		return invalidParams
8402	}
8403	return nil
8404}
8405
8406// SetMaxResults sets the MaxResults field's value.
8407func (s *PreviewAgentsInput) SetMaxResults(v int64) *PreviewAgentsInput {
8408	s.MaxResults = &v
8409	return s
8410}
8411
8412// SetNextToken sets the NextToken field's value.
8413func (s *PreviewAgentsInput) SetNextToken(v string) *PreviewAgentsInput {
8414	s.NextToken = &v
8415	return s
8416}
8417
8418// SetPreviewAgentsArn sets the PreviewAgentsArn field's value.
8419func (s *PreviewAgentsInput) SetPreviewAgentsArn(v string) *PreviewAgentsInput {
8420	s.PreviewAgentsArn = &v
8421	return s
8422}
8423
8424type PreviewAgentsOutput struct {
8425	_ struct{} `type:"structure"`
8426
8427	// The resulting list of agents.
8428	//
8429	// AgentPreviews is a required field
8430	AgentPreviews []*AgentPreview `locationName:"agentPreviews" type:"list" required:"true"`
8431
8432	// When a response is generated, if there is more data to be listed, this parameter
8433	// is present in the response and contains the value to use for the nextToken
8434	// parameter in a subsequent pagination request. If there is no more data to
8435	// be listed, this parameter is set to null.
8436	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8437}
8438
8439// String returns the string representation
8440func (s PreviewAgentsOutput) String() string {
8441	return awsutil.Prettify(s)
8442}
8443
8444// GoString returns the string representation
8445func (s PreviewAgentsOutput) GoString() string {
8446	return s.String()
8447}
8448
8449// SetAgentPreviews sets the AgentPreviews field's value.
8450func (s *PreviewAgentsOutput) SetAgentPreviews(v []*AgentPreview) *PreviewAgentsOutput {
8451	s.AgentPreviews = v
8452	return s
8453}
8454
8455// SetNextToken sets the NextToken field's value.
8456func (s *PreviewAgentsOutput) SetNextToken(v string) *PreviewAgentsOutput {
8457	s.NextToken = &v
8458	return s
8459}
8460
8461// Contains information about a private IP address associated with a network
8462// interface. This data type is used as a response element in the DescribeFindings
8463// action.
8464type PrivateIp struct {
8465	_ struct{} `type:"structure"`
8466
8467	// The DNS name of the private IP address.
8468	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
8469
8470	// The full IP address of the network inteface.
8471	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8472}
8473
8474// String returns the string representation
8475func (s PrivateIp) String() string {
8476	return awsutil.Prettify(s)
8477}
8478
8479// GoString returns the string representation
8480func (s PrivateIp) GoString() string {
8481	return s.String()
8482}
8483
8484// SetPrivateDnsName sets the PrivateDnsName field's value.
8485func (s *PrivateIp) SetPrivateDnsName(v string) *PrivateIp {
8486	s.PrivateDnsName = &v
8487	return s
8488}
8489
8490// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8491func (s *PrivateIp) SetPrivateIpAddress(v string) *PrivateIp {
8492	s.PrivateIpAddress = &v
8493	return s
8494}
8495
8496type RegisterCrossAccountAccessRoleInput struct {
8497	_ struct{} `type:"structure"`
8498
8499	// The ARN of the IAM role that grants Amazon Inspector access to AWS Services
8500	// needed to perform security assessments.
8501	//
8502	// RoleArn is a required field
8503	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
8504}
8505
8506// String returns the string representation
8507func (s RegisterCrossAccountAccessRoleInput) String() string {
8508	return awsutil.Prettify(s)
8509}
8510
8511// GoString returns the string representation
8512func (s RegisterCrossAccountAccessRoleInput) GoString() string {
8513	return s.String()
8514}
8515
8516// Validate inspects the fields of the type to determine if they are valid.
8517func (s *RegisterCrossAccountAccessRoleInput) Validate() error {
8518	invalidParams := request.ErrInvalidParams{Context: "RegisterCrossAccountAccessRoleInput"}
8519	if s.RoleArn == nil {
8520		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
8521	}
8522	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8523		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8524	}
8525
8526	if invalidParams.Len() > 0 {
8527		return invalidParams
8528	}
8529	return nil
8530}
8531
8532// SetRoleArn sets the RoleArn field's value.
8533func (s *RegisterCrossAccountAccessRoleInput) SetRoleArn(v string) *RegisterCrossAccountAccessRoleInput {
8534	s.RoleArn = &v
8535	return s
8536}
8537
8538type RegisterCrossAccountAccessRoleOutput struct {
8539	_ struct{} `type:"structure"`
8540}
8541
8542// String returns the string representation
8543func (s RegisterCrossAccountAccessRoleOutput) String() string {
8544	return awsutil.Prettify(s)
8545}
8546
8547// GoString returns the string representation
8548func (s RegisterCrossAccountAccessRoleOutput) GoString() string {
8549	return s.String()
8550}
8551
8552type RemoveAttributesFromFindingsInput struct {
8553	_ struct{} `type:"structure"`
8554
8555	// The array of attribute keys that you want to remove from specified findings.
8556	//
8557	// AttributeKeys is a required field
8558	AttributeKeys []*string `locationName:"attributeKeys" type:"list" required:"true"`
8559
8560	// The ARNs that specify the findings that you want to remove attributes from.
8561	//
8562	// FindingArns is a required field
8563	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
8564}
8565
8566// String returns the string representation
8567func (s RemoveAttributesFromFindingsInput) String() string {
8568	return awsutil.Prettify(s)
8569}
8570
8571// GoString returns the string representation
8572func (s RemoveAttributesFromFindingsInput) GoString() string {
8573	return s.String()
8574}
8575
8576// Validate inspects the fields of the type to determine if they are valid.
8577func (s *RemoveAttributesFromFindingsInput) Validate() error {
8578	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesFromFindingsInput"}
8579	if s.AttributeKeys == nil {
8580		invalidParams.Add(request.NewErrParamRequired("AttributeKeys"))
8581	}
8582	if s.FindingArns == nil {
8583		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
8584	}
8585	if s.FindingArns != nil && len(s.FindingArns) < 1 {
8586		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
8587	}
8588
8589	if invalidParams.Len() > 0 {
8590		return invalidParams
8591	}
8592	return nil
8593}
8594
8595// SetAttributeKeys sets the AttributeKeys field's value.
8596func (s *RemoveAttributesFromFindingsInput) SetAttributeKeys(v []*string) *RemoveAttributesFromFindingsInput {
8597	s.AttributeKeys = v
8598	return s
8599}
8600
8601// SetFindingArns sets the FindingArns field's value.
8602func (s *RemoveAttributesFromFindingsInput) SetFindingArns(v []*string) *RemoveAttributesFromFindingsInput {
8603	s.FindingArns = v
8604	return s
8605}
8606
8607type RemoveAttributesFromFindingsOutput struct {
8608	_ struct{} `type:"structure"`
8609
8610	// Attributes details that cannot be described. An error code is provided for
8611	// each failed item.
8612	//
8613	// FailedItems is a required field
8614	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
8615}
8616
8617// String returns the string representation
8618func (s RemoveAttributesFromFindingsOutput) String() string {
8619	return awsutil.Prettify(s)
8620}
8621
8622// GoString returns the string representation
8623func (s RemoveAttributesFromFindingsOutput) GoString() string {
8624	return s.String()
8625}
8626
8627// SetFailedItems sets the FailedItems field's value.
8628func (s *RemoveAttributesFromFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *RemoveAttributesFromFindingsOutput {
8629	s.FailedItems = v
8630	return s
8631}
8632
8633// Contains information about a resource group. The resource group defines a
8634// set of tags that, when queried, identify the AWS resources that make up the
8635// assessment target. This data type is used as the response element in the
8636// DescribeResourceGroups action.
8637type ResourceGroup struct {
8638	_ struct{} `type:"structure"`
8639
8640	// The ARN of the resource group.
8641	//
8642	// Arn is a required field
8643	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
8644
8645	// The time at which resource group is created.
8646	//
8647	// CreatedAt is a required field
8648	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
8649
8650	// The tags (key and value pairs) of the resource group. This data type property
8651	// is used in the CreateResourceGroup action.
8652	//
8653	// Tags is a required field
8654	Tags []*ResourceGroupTag `locationName:"tags" min:"1" type:"list" required:"true"`
8655}
8656
8657// String returns the string representation
8658func (s ResourceGroup) String() string {
8659	return awsutil.Prettify(s)
8660}
8661
8662// GoString returns the string representation
8663func (s ResourceGroup) GoString() string {
8664	return s.String()
8665}
8666
8667// SetArn sets the Arn field's value.
8668func (s *ResourceGroup) SetArn(v string) *ResourceGroup {
8669	s.Arn = &v
8670	return s
8671}
8672
8673// SetCreatedAt sets the CreatedAt field's value.
8674func (s *ResourceGroup) SetCreatedAt(v time.Time) *ResourceGroup {
8675	s.CreatedAt = &v
8676	return s
8677}
8678
8679// SetTags sets the Tags field's value.
8680func (s *ResourceGroup) SetTags(v []*ResourceGroupTag) *ResourceGroup {
8681	s.Tags = v
8682	return s
8683}
8684
8685// This data type is used as one of the elements of the ResourceGroup data type.
8686type ResourceGroupTag struct {
8687	_ struct{} `type:"structure"`
8688
8689	// A tag key.
8690	//
8691	// Key is a required field
8692	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
8693
8694	// The value assigned to a tag key.
8695	Value *string `locationName:"value" min:"1" type:"string"`
8696}
8697
8698// String returns the string representation
8699func (s ResourceGroupTag) String() string {
8700	return awsutil.Prettify(s)
8701}
8702
8703// GoString returns the string representation
8704func (s ResourceGroupTag) GoString() string {
8705	return s.String()
8706}
8707
8708// Validate inspects the fields of the type to determine if they are valid.
8709func (s *ResourceGroupTag) Validate() error {
8710	invalidParams := request.ErrInvalidParams{Context: "ResourceGroupTag"}
8711	if s.Key == nil {
8712		invalidParams.Add(request.NewErrParamRequired("Key"))
8713	}
8714	if s.Key != nil && len(*s.Key) < 1 {
8715		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8716	}
8717	if s.Value != nil && len(*s.Value) < 1 {
8718		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
8719	}
8720
8721	if invalidParams.Len() > 0 {
8722		return invalidParams
8723	}
8724	return nil
8725}
8726
8727// SetKey sets the Key field's value.
8728func (s *ResourceGroupTag) SetKey(v string) *ResourceGroupTag {
8729	s.Key = &v
8730	return s
8731}
8732
8733// SetValue sets the Value field's value.
8734func (s *ResourceGroupTag) SetValue(v string) *ResourceGroupTag {
8735	s.Value = &v
8736	return s
8737}
8738
8739// Contains information about an Amazon Inspector rules package. This data type
8740// is used as the response element in the DescribeRulesPackages action.
8741type RulesPackage struct {
8742	_ struct{} `type:"structure"`
8743
8744	// The ARN of the rules package.
8745	//
8746	// Arn is a required field
8747	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
8748
8749	// The description of the rules package.
8750	Description *string `locationName:"description" type:"string"`
8751
8752	// The name of the rules package.
8753	//
8754	// Name is a required field
8755	Name *string `locationName:"name" type:"string" required:"true"`
8756
8757	// The provider of the rules package.
8758	//
8759	// Provider is a required field
8760	Provider *string `locationName:"provider" type:"string" required:"true"`
8761
8762	// The version ID of the rules package.
8763	//
8764	// Version is a required field
8765	Version *string `locationName:"version" type:"string" required:"true"`
8766}
8767
8768// String returns the string representation
8769func (s RulesPackage) String() string {
8770	return awsutil.Prettify(s)
8771}
8772
8773// GoString returns the string representation
8774func (s RulesPackage) GoString() string {
8775	return s.String()
8776}
8777
8778// SetArn sets the Arn field's value.
8779func (s *RulesPackage) SetArn(v string) *RulesPackage {
8780	s.Arn = &v
8781	return s
8782}
8783
8784// SetDescription sets the Description field's value.
8785func (s *RulesPackage) SetDescription(v string) *RulesPackage {
8786	s.Description = &v
8787	return s
8788}
8789
8790// SetName sets the Name field's value.
8791func (s *RulesPackage) SetName(v string) *RulesPackage {
8792	s.Name = &v
8793	return s
8794}
8795
8796// SetProvider sets the Provider field's value.
8797func (s *RulesPackage) SetProvider(v string) *RulesPackage {
8798	s.Provider = &v
8799	return s
8800}
8801
8802// SetVersion sets the Version field's value.
8803func (s *RulesPackage) SetVersion(v string) *RulesPackage {
8804	s.Version = &v
8805	return s
8806}
8807
8808// This data type contains key-value pairs that identify various Amazon resources.
8809type Scope struct {
8810	_ struct{} `type:"structure"`
8811
8812	// The type of the scope.
8813	Key *string `locationName:"key" type:"string" enum:"ScopeType"`
8814
8815	// The resource identifier for the specified scope type.
8816	Value *string `locationName:"value" type:"string"`
8817}
8818
8819// String returns the string representation
8820func (s Scope) String() string {
8821	return awsutil.Prettify(s)
8822}
8823
8824// GoString returns the string representation
8825func (s Scope) GoString() string {
8826	return s.String()
8827}
8828
8829// SetKey sets the Key field's value.
8830func (s *Scope) SetKey(v string) *Scope {
8831	s.Key = &v
8832	return s
8833}
8834
8835// SetValue sets the Value field's value.
8836func (s *Scope) SetValue(v string) *Scope {
8837	s.Value = &v
8838	return s
8839}
8840
8841// Contains information about a security group associated with a network interface.
8842// This data type is used as one of the elements of the NetworkInterface data
8843// type.
8844type SecurityGroup struct {
8845	_ struct{} `type:"structure"`
8846
8847	// The ID of the security group.
8848	GroupId *string `locationName:"groupId" type:"string"`
8849
8850	// The name of the security group.
8851	GroupName *string `locationName:"groupName" type:"string"`
8852}
8853
8854// String returns the string representation
8855func (s SecurityGroup) String() string {
8856	return awsutil.Prettify(s)
8857}
8858
8859// GoString returns the string representation
8860func (s SecurityGroup) GoString() string {
8861	return s.String()
8862}
8863
8864// SetGroupId sets the GroupId field's value.
8865func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
8866	s.GroupId = &v
8867	return s
8868}
8869
8870// SetGroupName sets the GroupName field's value.
8871func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
8872	s.GroupName = &v
8873	return s
8874}
8875
8876// This data type is used in the Finding data type.
8877type ServiceAttributes struct {
8878	_ struct{} `type:"structure"`
8879
8880	// The ARN of the assessment run during which the finding is generated.
8881	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string"`
8882
8883	// The ARN of the rules package that is used to generate the finding.
8884	RulesPackageArn *string `locationName:"rulesPackageArn" min:"1" type:"string"`
8885
8886	// The schema version of this data type.
8887	//
8888	// SchemaVersion is a required field
8889	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer" required:"true"`
8890}
8891
8892// String returns the string representation
8893func (s ServiceAttributes) String() string {
8894	return awsutil.Prettify(s)
8895}
8896
8897// GoString returns the string representation
8898func (s ServiceAttributes) GoString() string {
8899	return s.String()
8900}
8901
8902// SetAssessmentRunArn sets the AssessmentRunArn field's value.
8903func (s *ServiceAttributes) SetAssessmentRunArn(v string) *ServiceAttributes {
8904	s.AssessmentRunArn = &v
8905	return s
8906}
8907
8908// SetRulesPackageArn sets the RulesPackageArn field's value.
8909func (s *ServiceAttributes) SetRulesPackageArn(v string) *ServiceAttributes {
8910	s.RulesPackageArn = &v
8911	return s
8912}
8913
8914// SetSchemaVersion sets the SchemaVersion field's value.
8915func (s *ServiceAttributes) SetSchemaVersion(v int64) *ServiceAttributes {
8916	s.SchemaVersion = &v
8917	return s
8918}
8919
8920type SetTagsForResourceInput struct {
8921	_ struct{} `type:"structure"`
8922
8923	// The ARN of the assessment template that you want to set tags to.
8924	//
8925	// ResourceArn is a required field
8926	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
8927
8928	// A collection of key and value pairs that you want to set to the assessment
8929	// template.
8930	Tags []*Tag `locationName:"tags" type:"list"`
8931}
8932
8933// String returns the string representation
8934func (s SetTagsForResourceInput) String() string {
8935	return awsutil.Prettify(s)
8936}
8937
8938// GoString returns the string representation
8939func (s SetTagsForResourceInput) GoString() string {
8940	return s.String()
8941}
8942
8943// Validate inspects the fields of the type to determine if they are valid.
8944func (s *SetTagsForResourceInput) Validate() error {
8945	invalidParams := request.ErrInvalidParams{Context: "SetTagsForResourceInput"}
8946	if s.ResourceArn == nil {
8947		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8948	}
8949	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8950		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8951	}
8952	if s.Tags != nil {
8953		for i, v := range s.Tags {
8954			if v == nil {
8955				continue
8956			}
8957			if err := v.Validate(); err != nil {
8958				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8959			}
8960		}
8961	}
8962
8963	if invalidParams.Len() > 0 {
8964		return invalidParams
8965	}
8966	return nil
8967}
8968
8969// SetResourceArn sets the ResourceArn field's value.
8970func (s *SetTagsForResourceInput) SetResourceArn(v string) *SetTagsForResourceInput {
8971	s.ResourceArn = &v
8972	return s
8973}
8974
8975// SetTags sets the Tags field's value.
8976func (s *SetTagsForResourceInput) SetTags(v []*Tag) *SetTagsForResourceInput {
8977	s.Tags = v
8978	return s
8979}
8980
8981type SetTagsForResourceOutput struct {
8982	_ struct{} `type:"structure"`
8983}
8984
8985// String returns the string representation
8986func (s SetTagsForResourceOutput) String() string {
8987	return awsutil.Prettify(s)
8988}
8989
8990// GoString returns the string representation
8991func (s SetTagsForResourceOutput) GoString() string {
8992	return s.String()
8993}
8994
8995type StartAssessmentRunInput struct {
8996	_ struct{} `type:"structure"`
8997
8998	// You can specify the name for the assessment run. The name must be unique
8999	// for the assessment template whose ARN is used to start the assessment run.
9000	AssessmentRunName *string `locationName:"assessmentRunName" min:"1" type:"string"`
9001
9002	// The ARN of the assessment template of the assessment run that you want to
9003	// start.
9004	//
9005	// AssessmentTemplateArn is a required field
9006	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
9007}
9008
9009// String returns the string representation
9010func (s StartAssessmentRunInput) String() string {
9011	return awsutil.Prettify(s)
9012}
9013
9014// GoString returns the string representation
9015func (s StartAssessmentRunInput) GoString() string {
9016	return s.String()
9017}
9018
9019// Validate inspects the fields of the type to determine if they are valid.
9020func (s *StartAssessmentRunInput) Validate() error {
9021	invalidParams := request.ErrInvalidParams{Context: "StartAssessmentRunInput"}
9022	if s.AssessmentRunName != nil && len(*s.AssessmentRunName) < 1 {
9023		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunName", 1))
9024	}
9025	if s.AssessmentTemplateArn == nil {
9026		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
9027	}
9028	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
9029		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
9030	}
9031
9032	if invalidParams.Len() > 0 {
9033		return invalidParams
9034	}
9035	return nil
9036}
9037
9038// SetAssessmentRunName sets the AssessmentRunName field's value.
9039func (s *StartAssessmentRunInput) SetAssessmentRunName(v string) *StartAssessmentRunInput {
9040	s.AssessmentRunName = &v
9041	return s
9042}
9043
9044// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
9045func (s *StartAssessmentRunInput) SetAssessmentTemplateArn(v string) *StartAssessmentRunInput {
9046	s.AssessmentTemplateArn = &v
9047	return s
9048}
9049
9050type StartAssessmentRunOutput struct {
9051	_ struct{} `type:"structure"`
9052
9053	// The ARN of the assessment run that has been started.
9054	//
9055	// AssessmentRunArn is a required field
9056	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
9057}
9058
9059// String returns the string representation
9060func (s StartAssessmentRunOutput) String() string {
9061	return awsutil.Prettify(s)
9062}
9063
9064// GoString returns the string representation
9065func (s StartAssessmentRunOutput) GoString() string {
9066	return s.String()
9067}
9068
9069// SetAssessmentRunArn sets the AssessmentRunArn field's value.
9070func (s *StartAssessmentRunOutput) SetAssessmentRunArn(v string) *StartAssessmentRunOutput {
9071	s.AssessmentRunArn = &v
9072	return s
9073}
9074
9075type StopAssessmentRunInput struct {
9076	_ struct{} `type:"structure"`
9077
9078	// The ARN of the assessment run that you want to stop.
9079	//
9080	// AssessmentRunArn is a required field
9081	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
9082
9083	// An input option that can be set to either START_EVALUATION or SKIP_EVALUATION.
9084	// START_EVALUATION (the default value), stops the AWS agent from collecting
9085	// data and begins the results evaluation and the findings generation process.
9086	// SKIP_EVALUATION cancels the assessment run immediately, after which no findings
9087	// are generated.
9088	StopAction *string `locationName:"stopAction" type:"string" enum:"StopAction"`
9089}
9090
9091// String returns the string representation
9092func (s StopAssessmentRunInput) String() string {
9093	return awsutil.Prettify(s)
9094}
9095
9096// GoString returns the string representation
9097func (s StopAssessmentRunInput) GoString() string {
9098	return s.String()
9099}
9100
9101// Validate inspects the fields of the type to determine if they are valid.
9102func (s *StopAssessmentRunInput) Validate() error {
9103	invalidParams := request.ErrInvalidParams{Context: "StopAssessmentRunInput"}
9104	if s.AssessmentRunArn == nil {
9105		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
9106	}
9107	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
9108		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
9109	}
9110
9111	if invalidParams.Len() > 0 {
9112		return invalidParams
9113	}
9114	return nil
9115}
9116
9117// SetAssessmentRunArn sets the AssessmentRunArn field's value.
9118func (s *StopAssessmentRunInput) SetAssessmentRunArn(v string) *StopAssessmentRunInput {
9119	s.AssessmentRunArn = &v
9120	return s
9121}
9122
9123// SetStopAction sets the StopAction field's value.
9124func (s *StopAssessmentRunInput) SetStopAction(v string) *StopAssessmentRunInput {
9125	s.StopAction = &v
9126	return s
9127}
9128
9129type StopAssessmentRunOutput struct {
9130	_ struct{} `type:"structure"`
9131}
9132
9133// String returns the string representation
9134func (s StopAssessmentRunOutput) String() string {
9135	return awsutil.Prettify(s)
9136}
9137
9138// GoString returns the string representation
9139func (s StopAssessmentRunOutput) GoString() string {
9140	return s.String()
9141}
9142
9143type SubscribeToEventInput struct {
9144	_ struct{} `type:"structure"`
9145
9146	// The event for which you want to receive SNS notifications.
9147	//
9148	// Event is a required field
9149	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
9150
9151	// The ARN of the assessment template that is used during the event for which
9152	// you want to receive SNS notifications.
9153	//
9154	// ResourceArn is a required field
9155	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9156
9157	// The ARN of the SNS topic to which the SNS notifications are sent.
9158	//
9159	// TopicArn is a required field
9160	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
9161}
9162
9163// String returns the string representation
9164func (s SubscribeToEventInput) String() string {
9165	return awsutil.Prettify(s)
9166}
9167
9168// GoString returns the string representation
9169func (s SubscribeToEventInput) GoString() string {
9170	return s.String()
9171}
9172
9173// Validate inspects the fields of the type to determine if they are valid.
9174func (s *SubscribeToEventInput) Validate() error {
9175	invalidParams := request.ErrInvalidParams{Context: "SubscribeToEventInput"}
9176	if s.Event == nil {
9177		invalidParams.Add(request.NewErrParamRequired("Event"))
9178	}
9179	if s.ResourceArn == nil {
9180		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9181	}
9182	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9183		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9184	}
9185	if s.TopicArn == nil {
9186		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
9187	}
9188	if s.TopicArn != nil && len(*s.TopicArn) < 1 {
9189		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 1))
9190	}
9191
9192	if invalidParams.Len() > 0 {
9193		return invalidParams
9194	}
9195	return nil
9196}
9197
9198// SetEvent sets the Event field's value.
9199func (s *SubscribeToEventInput) SetEvent(v string) *SubscribeToEventInput {
9200	s.Event = &v
9201	return s
9202}
9203
9204// SetResourceArn sets the ResourceArn field's value.
9205func (s *SubscribeToEventInput) SetResourceArn(v string) *SubscribeToEventInput {
9206	s.ResourceArn = &v
9207	return s
9208}
9209
9210// SetTopicArn sets the TopicArn field's value.
9211func (s *SubscribeToEventInput) SetTopicArn(v string) *SubscribeToEventInput {
9212	s.TopicArn = &v
9213	return s
9214}
9215
9216type SubscribeToEventOutput struct {
9217	_ struct{} `type:"structure"`
9218}
9219
9220// String returns the string representation
9221func (s SubscribeToEventOutput) String() string {
9222	return awsutil.Prettify(s)
9223}
9224
9225// GoString returns the string representation
9226func (s SubscribeToEventOutput) GoString() string {
9227	return s.String()
9228}
9229
9230// This data type is used as a response element in the ListEventSubscriptions
9231// action.
9232type Subscription struct {
9233	_ struct{} `type:"structure"`
9234
9235	// The list of existing event subscriptions.
9236	//
9237	// EventSubscriptions is a required field
9238	EventSubscriptions []*EventSubscription `locationName:"eventSubscriptions" min:"1" type:"list" required:"true"`
9239
9240	// The ARN of the assessment template that is used during the event for which
9241	// the SNS notification is sent.
9242	//
9243	// ResourceArn is a required field
9244	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9245
9246	// The ARN of the Amazon Simple Notification Service (SNS) topic to which the
9247	// SNS notifications are sent.
9248	//
9249	// TopicArn is a required field
9250	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
9251}
9252
9253// String returns the string representation
9254func (s Subscription) String() string {
9255	return awsutil.Prettify(s)
9256}
9257
9258// GoString returns the string representation
9259func (s Subscription) GoString() string {
9260	return s.String()
9261}
9262
9263// SetEventSubscriptions sets the EventSubscriptions field's value.
9264func (s *Subscription) SetEventSubscriptions(v []*EventSubscription) *Subscription {
9265	s.EventSubscriptions = v
9266	return s
9267}
9268
9269// SetResourceArn sets the ResourceArn field's value.
9270func (s *Subscription) SetResourceArn(v string) *Subscription {
9271	s.ResourceArn = &v
9272	return s
9273}
9274
9275// SetTopicArn sets the TopicArn field's value.
9276func (s *Subscription) SetTopicArn(v string) *Subscription {
9277	s.TopicArn = &v
9278	return s
9279}
9280
9281// A key and value pair. This data type is used as a request parameter in the
9282// SetTagsForResource action and a response element in the ListTagsForResource
9283// action.
9284type Tag struct {
9285	_ struct{} `type:"structure"`
9286
9287	// A tag key.
9288	//
9289	// Key is a required field
9290	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
9291
9292	// A value assigned to a tag key.
9293	Value *string `locationName:"value" min:"1" type:"string"`
9294}
9295
9296// String returns the string representation
9297func (s Tag) String() string {
9298	return awsutil.Prettify(s)
9299}
9300
9301// GoString returns the string representation
9302func (s Tag) GoString() string {
9303	return s.String()
9304}
9305
9306// Validate inspects the fields of the type to determine if they are valid.
9307func (s *Tag) Validate() error {
9308	invalidParams := request.ErrInvalidParams{Context: "Tag"}
9309	if s.Key == nil {
9310		invalidParams.Add(request.NewErrParamRequired("Key"))
9311	}
9312	if s.Key != nil && len(*s.Key) < 1 {
9313		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9314	}
9315	if s.Value != nil && len(*s.Value) < 1 {
9316		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
9317	}
9318
9319	if invalidParams.Len() > 0 {
9320		return invalidParams
9321	}
9322	return nil
9323}
9324
9325// SetKey sets the Key field's value.
9326func (s *Tag) SetKey(v string) *Tag {
9327	s.Key = &v
9328	return s
9329}
9330
9331// SetValue sets the Value field's value.
9332func (s *Tag) SetValue(v string) *Tag {
9333	s.Value = &v
9334	return s
9335}
9336
9337// The metadata about the Amazon Inspector application data metrics collected
9338// by the agent. This data type is used as the response element in the GetTelemetryMetadata
9339// action.
9340type TelemetryMetadata struct {
9341	_ struct{} `type:"structure"`
9342
9343	// The count of messages that the agent sends to the Amazon Inspector service.
9344	//
9345	// Count is a required field
9346	Count *int64 `locationName:"count" type:"long" required:"true"`
9347
9348	// The data size of messages that the agent sends to the Amazon Inspector service.
9349	DataSize *int64 `locationName:"dataSize" type:"long"`
9350
9351	// A specific type of behavioral data that is collected by the agent.
9352	//
9353	// MessageType is a required field
9354	MessageType *string `locationName:"messageType" min:"1" type:"string" required:"true"`
9355}
9356
9357// String returns the string representation
9358func (s TelemetryMetadata) String() string {
9359	return awsutil.Prettify(s)
9360}
9361
9362// GoString returns the string representation
9363func (s TelemetryMetadata) GoString() string {
9364	return s.String()
9365}
9366
9367// SetCount sets the Count field's value.
9368func (s *TelemetryMetadata) SetCount(v int64) *TelemetryMetadata {
9369	s.Count = &v
9370	return s
9371}
9372
9373// SetDataSize sets the DataSize field's value.
9374func (s *TelemetryMetadata) SetDataSize(v int64) *TelemetryMetadata {
9375	s.DataSize = &v
9376	return s
9377}
9378
9379// SetMessageType sets the MessageType field's value.
9380func (s *TelemetryMetadata) SetMessageType(v string) *TelemetryMetadata {
9381	s.MessageType = &v
9382	return s
9383}
9384
9385// This data type is used in the AssessmentRunFilter data type.
9386type TimestampRange struct {
9387	_ struct{} `type:"structure"`
9388
9389	// The minimum value of the timestamp range.
9390	BeginDate *time.Time `locationName:"beginDate" type:"timestamp"`
9391
9392	// The maximum value of the timestamp range.
9393	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
9394}
9395
9396// String returns the string representation
9397func (s TimestampRange) String() string {
9398	return awsutil.Prettify(s)
9399}
9400
9401// GoString returns the string representation
9402func (s TimestampRange) GoString() string {
9403	return s.String()
9404}
9405
9406// SetBeginDate sets the BeginDate field's value.
9407func (s *TimestampRange) SetBeginDate(v time.Time) *TimestampRange {
9408	s.BeginDate = &v
9409	return s
9410}
9411
9412// SetEndDate sets the EndDate field's value.
9413func (s *TimestampRange) SetEndDate(v time.Time) *TimestampRange {
9414	s.EndDate = &v
9415	return s
9416}
9417
9418type UnsubscribeFromEventInput struct {
9419	_ struct{} `type:"structure"`
9420
9421	// The event for which you want to stop receiving SNS notifications.
9422	//
9423	// Event is a required field
9424	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
9425
9426	// The ARN of the assessment template that is used during the event for which
9427	// you want to stop receiving SNS notifications.
9428	//
9429	// ResourceArn is a required field
9430	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9431
9432	// The ARN of the SNS topic to which SNS notifications are sent.
9433	//
9434	// TopicArn is a required field
9435	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
9436}
9437
9438// String returns the string representation
9439func (s UnsubscribeFromEventInput) String() string {
9440	return awsutil.Prettify(s)
9441}
9442
9443// GoString returns the string representation
9444func (s UnsubscribeFromEventInput) GoString() string {
9445	return s.String()
9446}
9447
9448// Validate inspects the fields of the type to determine if they are valid.
9449func (s *UnsubscribeFromEventInput) Validate() error {
9450	invalidParams := request.ErrInvalidParams{Context: "UnsubscribeFromEventInput"}
9451	if s.Event == nil {
9452		invalidParams.Add(request.NewErrParamRequired("Event"))
9453	}
9454	if s.ResourceArn == nil {
9455		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9456	}
9457	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9458		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9459	}
9460	if s.TopicArn == nil {
9461		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
9462	}
9463	if s.TopicArn != nil && len(*s.TopicArn) < 1 {
9464		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 1))
9465	}
9466
9467	if invalidParams.Len() > 0 {
9468		return invalidParams
9469	}
9470	return nil
9471}
9472
9473// SetEvent sets the Event field's value.
9474func (s *UnsubscribeFromEventInput) SetEvent(v string) *UnsubscribeFromEventInput {
9475	s.Event = &v
9476	return s
9477}
9478
9479// SetResourceArn sets the ResourceArn field's value.
9480func (s *UnsubscribeFromEventInput) SetResourceArn(v string) *UnsubscribeFromEventInput {
9481	s.ResourceArn = &v
9482	return s
9483}
9484
9485// SetTopicArn sets the TopicArn field's value.
9486func (s *UnsubscribeFromEventInput) SetTopicArn(v string) *UnsubscribeFromEventInput {
9487	s.TopicArn = &v
9488	return s
9489}
9490
9491type UnsubscribeFromEventOutput struct {
9492	_ struct{} `type:"structure"`
9493}
9494
9495// String returns the string representation
9496func (s UnsubscribeFromEventOutput) String() string {
9497	return awsutil.Prettify(s)
9498}
9499
9500// GoString returns the string representation
9501func (s UnsubscribeFromEventOutput) GoString() string {
9502	return s.String()
9503}
9504
9505type UpdateAssessmentTargetInput struct {
9506	_ struct{} `type:"structure"`
9507
9508	// The ARN of the assessment target that you want to update.
9509	//
9510	// AssessmentTargetArn is a required field
9511	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
9512
9513	// The name of the assessment target that you want to update.
9514	//
9515	// AssessmentTargetName is a required field
9516	AssessmentTargetName *string `locationName:"assessmentTargetName" min:"1" type:"string" required:"true"`
9517
9518	// The ARN of the resource group that is used to specify the new resource group
9519	// to associate with the assessment target.
9520	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
9521}
9522
9523// String returns the string representation
9524func (s UpdateAssessmentTargetInput) String() string {
9525	return awsutil.Prettify(s)
9526}
9527
9528// GoString returns the string representation
9529func (s UpdateAssessmentTargetInput) GoString() string {
9530	return s.String()
9531}
9532
9533// Validate inspects the fields of the type to determine if they are valid.
9534func (s *UpdateAssessmentTargetInput) Validate() error {
9535	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentTargetInput"}
9536	if s.AssessmentTargetArn == nil {
9537		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
9538	}
9539	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
9540		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
9541	}
9542	if s.AssessmentTargetName == nil {
9543		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetName"))
9544	}
9545	if s.AssessmentTargetName != nil && len(*s.AssessmentTargetName) < 1 {
9546		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetName", 1))
9547	}
9548	if s.ResourceGroupArn != nil && len(*s.ResourceGroupArn) < 1 {
9549		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArn", 1))
9550	}
9551
9552	if invalidParams.Len() > 0 {
9553		return invalidParams
9554	}
9555	return nil
9556}
9557
9558// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
9559func (s *UpdateAssessmentTargetInput) SetAssessmentTargetArn(v string) *UpdateAssessmentTargetInput {
9560	s.AssessmentTargetArn = &v
9561	return s
9562}
9563
9564// SetAssessmentTargetName sets the AssessmentTargetName field's value.
9565func (s *UpdateAssessmentTargetInput) SetAssessmentTargetName(v string) *UpdateAssessmentTargetInput {
9566	s.AssessmentTargetName = &v
9567	return s
9568}
9569
9570// SetResourceGroupArn sets the ResourceGroupArn field's value.
9571func (s *UpdateAssessmentTargetInput) SetResourceGroupArn(v string) *UpdateAssessmentTargetInput {
9572	s.ResourceGroupArn = &v
9573	return s
9574}
9575
9576type UpdateAssessmentTargetOutput struct {
9577	_ struct{} `type:"structure"`
9578}
9579
9580// String returns the string representation
9581func (s UpdateAssessmentTargetOutput) String() string {
9582	return awsutil.Prettify(s)
9583}
9584
9585// GoString returns the string representation
9586func (s UpdateAssessmentTargetOutput) GoString() string {
9587	return s.String()
9588}
9589
9590const (
9591	// AccessDeniedErrorCodeAccessDeniedToAssessmentTarget is a AccessDeniedErrorCode enum value
9592	AccessDeniedErrorCodeAccessDeniedToAssessmentTarget = "ACCESS_DENIED_TO_ASSESSMENT_TARGET"
9593
9594	// AccessDeniedErrorCodeAccessDeniedToAssessmentTemplate is a AccessDeniedErrorCode enum value
9595	AccessDeniedErrorCodeAccessDeniedToAssessmentTemplate = "ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE"
9596
9597	// AccessDeniedErrorCodeAccessDeniedToAssessmentRun is a AccessDeniedErrorCode enum value
9598	AccessDeniedErrorCodeAccessDeniedToAssessmentRun = "ACCESS_DENIED_TO_ASSESSMENT_RUN"
9599
9600	// AccessDeniedErrorCodeAccessDeniedToFinding is a AccessDeniedErrorCode enum value
9601	AccessDeniedErrorCodeAccessDeniedToFinding = "ACCESS_DENIED_TO_FINDING"
9602
9603	// AccessDeniedErrorCodeAccessDeniedToResourceGroup is a AccessDeniedErrorCode enum value
9604	AccessDeniedErrorCodeAccessDeniedToResourceGroup = "ACCESS_DENIED_TO_RESOURCE_GROUP"
9605
9606	// AccessDeniedErrorCodeAccessDeniedToRulesPackage is a AccessDeniedErrorCode enum value
9607	AccessDeniedErrorCodeAccessDeniedToRulesPackage = "ACCESS_DENIED_TO_RULES_PACKAGE"
9608
9609	// AccessDeniedErrorCodeAccessDeniedToSnsTopic is a AccessDeniedErrorCode enum value
9610	AccessDeniedErrorCodeAccessDeniedToSnsTopic = "ACCESS_DENIED_TO_SNS_TOPIC"
9611
9612	// AccessDeniedErrorCodeAccessDeniedToIamRole is a AccessDeniedErrorCode enum value
9613	AccessDeniedErrorCodeAccessDeniedToIamRole = "ACCESS_DENIED_TO_IAM_ROLE"
9614)
9615
9616const (
9617	// AgentHealthHealthy is a AgentHealth enum value
9618	AgentHealthHealthy = "HEALTHY"
9619
9620	// AgentHealthUnhealthy is a AgentHealth enum value
9621	AgentHealthUnhealthy = "UNHEALTHY"
9622
9623	// AgentHealthUnknown is a AgentHealth enum value
9624	AgentHealthUnknown = "UNKNOWN"
9625)
9626
9627const (
9628	// AgentHealthCodeIdle is a AgentHealthCode enum value
9629	AgentHealthCodeIdle = "IDLE"
9630
9631	// AgentHealthCodeRunning is a AgentHealthCode enum value
9632	AgentHealthCodeRunning = "RUNNING"
9633
9634	// AgentHealthCodeShutdown is a AgentHealthCode enum value
9635	AgentHealthCodeShutdown = "SHUTDOWN"
9636
9637	// AgentHealthCodeUnhealthy is a AgentHealthCode enum value
9638	AgentHealthCodeUnhealthy = "UNHEALTHY"
9639
9640	// AgentHealthCodeThrottled is a AgentHealthCode enum value
9641	AgentHealthCodeThrottled = "THROTTLED"
9642
9643	// AgentHealthCodeUnknown is a AgentHealthCode enum value
9644	AgentHealthCodeUnknown = "UNKNOWN"
9645)
9646
9647const (
9648	// AssessmentRunNotificationSnsStatusCodeSuccess is a AssessmentRunNotificationSnsStatusCode enum value
9649	AssessmentRunNotificationSnsStatusCodeSuccess = "SUCCESS"
9650
9651	// AssessmentRunNotificationSnsStatusCodeTopicDoesNotExist is a AssessmentRunNotificationSnsStatusCode enum value
9652	AssessmentRunNotificationSnsStatusCodeTopicDoesNotExist = "TOPIC_DOES_NOT_EXIST"
9653
9654	// AssessmentRunNotificationSnsStatusCodeAccessDenied is a AssessmentRunNotificationSnsStatusCode enum value
9655	AssessmentRunNotificationSnsStatusCodeAccessDenied = "ACCESS_DENIED"
9656
9657	// AssessmentRunNotificationSnsStatusCodeInternalError is a AssessmentRunNotificationSnsStatusCode enum value
9658	AssessmentRunNotificationSnsStatusCodeInternalError = "INTERNAL_ERROR"
9659)
9660
9661const (
9662	// AssessmentRunStateCreated is a AssessmentRunState enum value
9663	AssessmentRunStateCreated = "CREATED"
9664
9665	// AssessmentRunStateStartDataCollectionPending is a AssessmentRunState enum value
9666	AssessmentRunStateStartDataCollectionPending = "START_DATA_COLLECTION_PENDING"
9667
9668	// AssessmentRunStateStartDataCollectionInProgress is a AssessmentRunState enum value
9669	AssessmentRunStateStartDataCollectionInProgress = "START_DATA_COLLECTION_IN_PROGRESS"
9670
9671	// AssessmentRunStateCollectingData is a AssessmentRunState enum value
9672	AssessmentRunStateCollectingData = "COLLECTING_DATA"
9673
9674	// AssessmentRunStateStopDataCollectionPending is a AssessmentRunState enum value
9675	AssessmentRunStateStopDataCollectionPending = "STOP_DATA_COLLECTION_PENDING"
9676
9677	// AssessmentRunStateDataCollected is a AssessmentRunState enum value
9678	AssessmentRunStateDataCollected = "DATA_COLLECTED"
9679
9680	// AssessmentRunStateStartEvaluatingRulesPending is a AssessmentRunState enum value
9681	AssessmentRunStateStartEvaluatingRulesPending = "START_EVALUATING_RULES_PENDING"
9682
9683	// AssessmentRunStateEvaluatingRules is a AssessmentRunState enum value
9684	AssessmentRunStateEvaluatingRules = "EVALUATING_RULES"
9685
9686	// AssessmentRunStateFailed is a AssessmentRunState enum value
9687	AssessmentRunStateFailed = "FAILED"
9688
9689	// AssessmentRunStateError is a AssessmentRunState enum value
9690	AssessmentRunStateError = "ERROR"
9691
9692	// AssessmentRunStateCompleted is a AssessmentRunState enum value
9693	AssessmentRunStateCompleted = "COMPLETED"
9694
9695	// AssessmentRunStateCompletedWithErrors is a AssessmentRunState enum value
9696	AssessmentRunStateCompletedWithErrors = "COMPLETED_WITH_ERRORS"
9697
9698	// AssessmentRunStateCanceled is a AssessmentRunState enum value
9699	AssessmentRunStateCanceled = "CANCELED"
9700)
9701
9702const (
9703	// AssetTypeEc2Instance is a AssetType enum value
9704	AssetTypeEc2Instance = "ec2-instance"
9705)
9706
9707const (
9708	// EventAssessmentRunStarted is a Event enum value
9709	EventAssessmentRunStarted = "ASSESSMENT_RUN_STARTED"
9710
9711	// EventAssessmentRunCompleted is a Event enum value
9712	EventAssessmentRunCompleted = "ASSESSMENT_RUN_COMPLETED"
9713
9714	// EventAssessmentRunStateChanged is a Event enum value
9715	EventAssessmentRunStateChanged = "ASSESSMENT_RUN_STATE_CHANGED"
9716
9717	// EventFindingReported is a Event enum value
9718	EventFindingReported = "FINDING_REPORTED"
9719
9720	// EventOther is a Event enum value
9721	EventOther = "OTHER"
9722)
9723
9724const (
9725	// FailedItemErrorCodeInvalidArn is a FailedItemErrorCode enum value
9726	FailedItemErrorCodeInvalidArn = "INVALID_ARN"
9727
9728	// FailedItemErrorCodeDuplicateArn is a FailedItemErrorCode enum value
9729	FailedItemErrorCodeDuplicateArn = "DUPLICATE_ARN"
9730
9731	// FailedItemErrorCodeItemDoesNotExist is a FailedItemErrorCode enum value
9732	FailedItemErrorCodeItemDoesNotExist = "ITEM_DOES_NOT_EXIST"
9733
9734	// FailedItemErrorCodeAccessDenied is a FailedItemErrorCode enum value
9735	FailedItemErrorCodeAccessDenied = "ACCESS_DENIED"
9736
9737	// FailedItemErrorCodeLimitExceeded is a FailedItemErrorCode enum value
9738	FailedItemErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
9739
9740	// FailedItemErrorCodeInternalError is a FailedItemErrorCode enum value
9741	FailedItemErrorCodeInternalError = "INTERNAL_ERROR"
9742)
9743
9744const (
9745	// InvalidCrossAccountRoleErrorCodeRoleDoesNotExistOrInvalidTrustRelationship is a InvalidCrossAccountRoleErrorCode enum value
9746	InvalidCrossAccountRoleErrorCodeRoleDoesNotExistOrInvalidTrustRelationship = "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP"
9747
9748	// InvalidCrossAccountRoleErrorCodeRoleDoesNotHaveCorrectPolicy is a InvalidCrossAccountRoleErrorCode enum value
9749	InvalidCrossAccountRoleErrorCodeRoleDoesNotHaveCorrectPolicy = "ROLE_DOES_NOT_HAVE_CORRECT_POLICY"
9750)
9751
9752const (
9753	// InvalidInputErrorCodeInvalidAssessmentTargetArn is a InvalidInputErrorCode enum value
9754	InvalidInputErrorCodeInvalidAssessmentTargetArn = "INVALID_ASSESSMENT_TARGET_ARN"
9755
9756	// InvalidInputErrorCodeInvalidAssessmentTemplateArn is a InvalidInputErrorCode enum value
9757	InvalidInputErrorCodeInvalidAssessmentTemplateArn = "INVALID_ASSESSMENT_TEMPLATE_ARN"
9758
9759	// InvalidInputErrorCodeInvalidAssessmentRunArn is a InvalidInputErrorCode enum value
9760	InvalidInputErrorCodeInvalidAssessmentRunArn = "INVALID_ASSESSMENT_RUN_ARN"
9761
9762	// InvalidInputErrorCodeInvalidFindingArn is a InvalidInputErrorCode enum value
9763	InvalidInputErrorCodeInvalidFindingArn = "INVALID_FINDING_ARN"
9764
9765	// InvalidInputErrorCodeInvalidResourceGroupArn is a InvalidInputErrorCode enum value
9766	InvalidInputErrorCodeInvalidResourceGroupArn = "INVALID_RESOURCE_GROUP_ARN"
9767
9768	// InvalidInputErrorCodeInvalidRulesPackageArn is a InvalidInputErrorCode enum value
9769	InvalidInputErrorCodeInvalidRulesPackageArn = "INVALID_RULES_PACKAGE_ARN"
9770
9771	// InvalidInputErrorCodeInvalidResourceArn is a InvalidInputErrorCode enum value
9772	InvalidInputErrorCodeInvalidResourceArn = "INVALID_RESOURCE_ARN"
9773
9774	// InvalidInputErrorCodeInvalidSnsTopicArn is a InvalidInputErrorCode enum value
9775	InvalidInputErrorCodeInvalidSnsTopicArn = "INVALID_SNS_TOPIC_ARN"
9776
9777	// InvalidInputErrorCodeInvalidIamRoleArn is a InvalidInputErrorCode enum value
9778	InvalidInputErrorCodeInvalidIamRoleArn = "INVALID_IAM_ROLE_ARN"
9779
9780	// InvalidInputErrorCodeInvalidAssessmentTargetName is a InvalidInputErrorCode enum value
9781	InvalidInputErrorCodeInvalidAssessmentTargetName = "INVALID_ASSESSMENT_TARGET_NAME"
9782
9783	// InvalidInputErrorCodeInvalidAssessmentTargetNamePattern is a InvalidInputErrorCode enum value
9784	InvalidInputErrorCodeInvalidAssessmentTargetNamePattern = "INVALID_ASSESSMENT_TARGET_NAME_PATTERN"
9785
9786	// InvalidInputErrorCodeInvalidAssessmentTemplateName is a InvalidInputErrorCode enum value
9787	InvalidInputErrorCodeInvalidAssessmentTemplateName = "INVALID_ASSESSMENT_TEMPLATE_NAME"
9788
9789	// InvalidInputErrorCodeInvalidAssessmentTemplateNamePattern is a InvalidInputErrorCode enum value
9790	InvalidInputErrorCodeInvalidAssessmentTemplateNamePattern = "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN"
9791
9792	// InvalidInputErrorCodeInvalidAssessmentTemplateDuration is a InvalidInputErrorCode enum value
9793	InvalidInputErrorCodeInvalidAssessmentTemplateDuration = "INVALID_ASSESSMENT_TEMPLATE_DURATION"
9794
9795	// InvalidInputErrorCodeInvalidAssessmentTemplateDurationRange is a InvalidInputErrorCode enum value
9796	InvalidInputErrorCodeInvalidAssessmentTemplateDurationRange = "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE"
9797
9798	// InvalidInputErrorCodeInvalidAssessmentRunDurationRange is a InvalidInputErrorCode enum value
9799	InvalidInputErrorCodeInvalidAssessmentRunDurationRange = "INVALID_ASSESSMENT_RUN_DURATION_RANGE"
9800
9801	// InvalidInputErrorCodeInvalidAssessmentRunStartTimeRange is a InvalidInputErrorCode enum value
9802	InvalidInputErrorCodeInvalidAssessmentRunStartTimeRange = "INVALID_ASSESSMENT_RUN_START_TIME_RANGE"
9803
9804	// InvalidInputErrorCodeInvalidAssessmentRunCompletionTimeRange is a InvalidInputErrorCode enum value
9805	InvalidInputErrorCodeInvalidAssessmentRunCompletionTimeRange = "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE"
9806
9807	// InvalidInputErrorCodeInvalidAssessmentRunStateChangeTimeRange is a InvalidInputErrorCode enum value
9808	InvalidInputErrorCodeInvalidAssessmentRunStateChangeTimeRange = "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE"
9809
9810	// InvalidInputErrorCodeInvalidAssessmentRunState is a InvalidInputErrorCode enum value
9811	InvalidInputErrorCodeInvalidAssessmentRunState = "INVALID_ASSESSMENT_RUN_STATE"
9812
9813	// InvalidInputErrorCodeInvalidTag is a InvalidInputErrorCode enum value
9814	InvalidInputErrorCodeInvalidTag = "INVALID_TAG"
9815
9816	// InvalidInputErrorCodeInvalidTagKey is a InvalidInputErrorCode enum value
9817	InvalidInputErrorCodeInvalidTagKey = "INVALID_TAG_KEY"
9818
9819	// InvalidInputErrorCodeInvalidTagValue is a InvalidInputErrorCode enum value
9820	InvalidInputErrorCodeInvalidTagValue = "INVALID_TAG_VALUE"
9821
9822	// InvalidInputErrorCodeInvalidResourceGroupTagKey is a InvalidInputErrorCode enum value
9823	InvalidInputErrorCodeInvalidResourceGroupTagKey = "INVALID_RESOURCE_GROUP_TAG_KEY"
9824
9825	// InvalidInputErrorCodeInvalidResourceGroupTagValue is a InvalidInputErrorCode enum value
9826	InvalidInputErrorCodeInvalidResourceGroupTagValue = "INVALID_RESOURCE_GROUP_TAG_VALUE"
9827
9828	// InvalidInputErrorCodeInvalidAttribute is a InvalidInputErrorCode enum value
9829	InvalidInputErrorCodeInvalidAttribute = "INVALID_ATTRIBUTE"
9830
9831	// InvalidInputErrorCodeInvalidUserAttribute is a InvalidInputErrorCode enum value
9832	InvalidInputErrorCodeInvalidUserAttribute = "INVALID_USER_ATTRIBUTE"
9833
9834	// InvalidInputErrorCodeInvalidUserAttributeKey is a InvalidInputErrorCode enum value
9835	InvalidInputErrorCodeInvalidUserAttributeKey = "INVALID_USER_ATTRIBUTE_KEY"
9836
9837	// InvalidInputErrorCodeInvalidUserAttributeValue is a InvalidInputErrorCode enum value
9838	InvalidInputErrorCodeInvalidUserAttributeValue = "INVALID_USER_ATTRIBUTE_VALUE"
9839
9840	// InvalidInputErrorCodeInvalidPaginationToken is a InvalidInputErrorCode enum value
9841	InvalidInputErrorCodeInvalidPaginationToken = "INVALID_PAGINATION_TOKEN"
9842
9843	// InvalidInputErrorCodeInvalidMaxResults is a InvalidInputErrorCode enum value
9844	InvalidInputErrorCodeInvalidMaxResults = "INVALID_MAX_RESULTS"
9845
9846	// InvalidInputErrorCodeInvalidAgentId is a InvalidInputErrorCode enum value
9847	InvalidInputErrorCodeInvalidAgentId = "INVALID_AGENT_ID"
9848
9849	// InvalidInputErrorCodeInvalidAutoScalingGroup is a InvalidInputErrorCode enum value
9850	InvalidInputErrorCodeInvalidAutoScalingGroup = "INVALID_AUTO_SCALING_GROUP"
9851
9852	// InvalidInputErrorCodeInvalidRuleName is a InvalidInputErrorCode enum value
9853	InvalidInputErrorCodeInvalidRuleName = "INVALID_RULE_NAME"
9854
9855	// InvalidInputErrorCodeInvalidSeverity is a InvalidInputErrorCode enum value
9856	InvalidInputErrorCodeInvalidSeverity = "INVALID_SEVERITY"
9857
9858	// InvalidInputErrorCodeInvalidLocale is a InvalidInputErrorCode enum value
9859	InvalidInputErrorCodeInvalidLocale = "INVALID_LOCALE"
9860
9861	// InvalidInputErrorCodeInvalidEvent is a InvalidInputErrorCode enum value
9862	InvalidInputErrorCodeInvalidEvent = "INVALID_EVENT"
9863
9864	// InvalidInputErrorCodeAssessmentTargetNameAlreadyTaken is a InvalidInputErrorCode enum value
9865	InvalidInputErrorCodeAssessmentTargetNameAlreadyTaken = "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN"
9866
9867	// InvalidInputErrorCodeAssessmentTemplateNameAlreadyTaken is a InvalidInputErrorCode enum value
9868	InvalidInputErrorCodeAssessmentTemplateNameAlreadyTaken = "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN"
9869
9870	// InvalidInputErrorCodeInvalidNumberOfAssessmentTargetArns is a InvalidInputErrorCode enum value
9871	InvalidInputErrorCodeInvalidNumberOfAssessmentTargetArns = "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS"
9872
9873	// InvalidInputErrorCodeInvalidNumberOfAssessmentTemplateArns is a InvalidInputErrorCode enum value
9874	InvalidInputErrorCodeInvalidNumberOfAssessmentTemplateArns = "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS"
9875
9876	// InvalidInputErrorCodeInvalidNumberOfAssessmentRunArns is a InvalidInputErrorCode enum value
9877	InvalidInputErrorCodeInvalidNumberOfAssessmentRunArns = "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS"
9878
9879	// InvalidInputErrorCodeInvalidNumberOfFindingArns is a InvalidInputErrorCode enum value
9880	InvalidInputErrorCodeInvalidNumberOfFindingArns = "INVALID_NUMBER_OF_FINDING_ARNS"
9881
9882	// InvalidInputErrorCodeInvalidNumberOfResourceGroupArns is a InvalidInputErrorCode enum value
9883	InvalidInputErrorCodeInvalidNumberOfResourceGroupArns = "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS"
9884
9885	// InvalidInputErrorCodeInvalidNumberOfRulesPackageArns is a InvalidInputErrorCode enum value
9886	InvalidInputErrorCodeInvalidNumberOfRulesPackageArns = "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS"
9887
9888	// InvalidInputErrorCodeInvalidNumberOfAssessmentRunStates is a InvalidInputErrorCode enum value
9889	InvalidInputErrorCodeInvalidNumberOfAssessmentRunStates = "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES"
9890
9891	// InvalidInputErrorCodeInvalidNumberOfTags is a InvalidInputErrorCode enum value
9892	InvalidInputErrorCodeInvalidNumberOfTags = "INVALID_NUMBER_OF_TAGS"
9893
9894	// InvalidInputErrorCodeInvalidNumberOfResourceGroupTags is a InvalidInputErrorCode enum value
9895	InvalidInputErrorCodeInvalidNumberOfResourceGroupTags = "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS"
9896
9897	// InvalidInputErrorCodeInvalidNumberOfAttributes is a InvalidInputErrorCode enum value
9898	InvalidInputErrorCodeInvalidNumberOfAttributes = "INVALID_NUMBER_OF_ATTRIBUTES"
9899
9900	// InvalidInputErrorCodeInvalidNumberOfUserAttributes is a InvalidInputErrorCode enum value
9901	InvalidInputErrorCodeInvalidNumberOfUserAttributes = "INVALID_NUMBER_OF_USER_ATTRIBUTES"
9902
9903	// InvalidInputErrorCodeInvalidNumberOfAgentIds is a InvalidInputErrorCode enum value
9904	InvalidInputErrorCodeInvalidNumberOfAgentIds = "INVALID_NUMBER_OF_AGENT_IDS"
9905
9906	// InvalidInputErrorCodeInvalidNumberOfAutoScalingGroups is a InvalidInputErrorCode enum value
9907	InvalidInputErrorCodeInvalidNumberOfAutoScalingGroups = "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS"
9908
9909	// InvalidInputErrorCodeInvalidNumberOfRuleNames is a InvalidInputErrorCode enum value
9910	InvalidInputErrorCodeInvalidNumberOfRuleNames = "INVALID_NUMBER_OF_RULE_NAMES"
9911
9912	// InvalidInputErrorCodeInvalidNumberOfSeverities is a InvalidInputErrorCode enum value
9913	InvalidInputErrorCodeInvalidNumberOfSeverities = "INVALID_NUMBER_OF_SEVERITIES"
9914)
9915
9916const (
9917	// LimitExceededErrorCodeAssessmentTargetLimitExceeded is a LimitExceededErrorCode enum value
9918	LimitExceededErrorCodeAssessmentTargetLimitExceeded = "ASSESSMENT_TARGET_LIMIT_EXCEEDED"
9919
9920	// LimitExceededErrorCodeAssessmentTemplateLimitExceeded is a LimitExceededErrorCode enum value
9921	LimitExceededErrorCodeAssessmentTemplateLimitExceeded = "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED"
9922
9923	// LimitExceededErrorCodeAssessmentRunLimitExceeded is a LimitExceededErrorCode enum value
9924	LimitExceededErrorCodeAssessmentRunLimitExceeded = "ASSESSMENT_RUN_LIMIT_EXCEEDED"
9925
9926	// LimitExceededErrorCodeResourceGroupLimitExceeded is a LimitExceededErrorCode enum value
9927	LimitExceededErrorCodeResourceGroupLimitExceeded = "RESOURCE_GROUP_LIMIT_EXCEEDED"
9928
9929	// LimitExceededErrorCodeEventSubscriptionLimitExceeded is a LimitExceededErrorCode enum value
9930	LimitExceededErrorCodeEventSubscriptionLimitExceeded = "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED"
9931)
9932
9933const (
9934	// LocaleEnUs is a Locale enum value
9935	LocaleEnUs = "EN_US"
9936)
9937
9938const (
9939	// NoSuchEntityErrorCodeAssessmentTargetDoesNotExist is a NoSuchEntityErrorCode enum value
9940	NoSuchEntityErrorCodeAssessmentTargetDoesNotExist = "ASSESSMENT_TARGET_DOES_NOT_EXIST"
9941
9942	// NoSuchEntityErrorCodeAssessmentTemplateDoesNotExist is a NoSuchEntityErrorCode enum value
9943	NoSuchEntityErrorCodeAssessmentTemplateDoesNotExist = "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST"
9944
9945	// NoSuchEntityErrorCodeAssessmentRunDoesNotExist is a NoSuchEntityErrorCode enum value
9946	NoSuchEntityErrorCodeAssessmentRunDoesNotExist = "ASSESSMENT_RUN_DOES_NOT_EXIST"
9947
9948	// NoSuchEntityErrorCodeFindingDoesNotExist is a NoSuchEntityErrorCode enum value
9949	NoSuchEntityErrorCodeFindingDoesNotExist = "FINDING_DOES_NOT_EXIST"
9950
9951	// NoSuchEntityErrorCodeResourceGroupDoesNotExist is a NoSuchEntityErrorCode enum value
9952	NoSuchEntityErrorCodeResourceGroupDoesNotExist = "RESOURCE_GROUP_DOES_NOT_EXIST"
9953
9954	// NoSuchEntityErrorCodeRulesPackageDoesNotExist is a NoSuchEntityErrorCode enum value
9955	NoSuchEntityErrorCodeRulesPackageDoesNotExist = "RULES_PACKAGE_DOES_NOT_EXIST"
9956
9957	// NoSuchEntityErrorCodeSnsTopicDoesNotExist is a NoSuchEntityErrorCode enum value
9958	NoSuchEntityErrorCodeSnsTopicDoesNotExist = "SNS_TOPIC_DOES_NOT_EXIST"
9959
9960	// NoSuchEntityErrorCodeIamRoleDoesNotExist is a NoSuchEntityErrorCode enum value
9961	NoSuchEntityErrorCodeIamRoleDoesNotExist = "IAM_ROLE_DOES_NOT_EXIST"
9962)
9963
9964const (
9965	// PreviewStatusWorkInProgress is a PreviewStatus enum value
9966	PreviewStatusWorkInProgress = "WORK_IN_PROGRESS"
9967
9968	// PreviewStatusCompleted is a PreviewStatus enum value
9969	PreviewStatusCompleted = "COMPLETED"
9970)
9971
9972const (
9973	// ReportFileFormatHtml is a ReportFileFormat enum value
9974	ReportFileFormatHtml = "HTML"
9975
9976	// ReportFileFormatPdf is a ReportFileFormat enum value
9977	ReportFileFormatPdf = "PDF"
9978)
9979
9980const (
9981	// ReportStatusWorkInProgress is a ReportStatus enum value
9982	ReportStatusWorkInProgress = "WORK_IN_PROGRESS"
9983
9984	// ReportStatusFailed is a ReportStatus enum value
9985	ReportStatusFailed = "FAILED"
9986
9987	// ReportStatusCompleted is a ReportStatus enum value
9988	ReportStatusCompleted = "COMPLETED"
9989)
9990
9991const (
9992	// ReportTypeFinding is a ReportType enum value
9993	ReportTypeFinding = "FINDING"
9994
9995	// ReportTypeFull is a ReportType enum value
9996	ReportTypeFull = "FULL"
9997)
9998
9999const (
10000	// ScopeTypeInstanceId is a ScopeType enum value
10001	ScopeTypeInstanceId = "INSTANCE_ID"
10002
10003	// ScopeTypeRulesPackageArn is a ScopeType enum value
10004	ScopeTypeRulesPackageArn = "RULES_PACKAGE_ARN"
10005)
10006
10007const (
10008	// SeverityLow is a Severity enum value
10009	SeverityLow = "Low"
10010
10011	// SeverityMedium is a Severity enum value
10012	SeverityMedium = "Medium"
10013
10014	// SeverityHigh is a Severity enum value
10015	SeverityHigh = "High"
10016
10017	// SeverityInformational is a Severity enum value
10018	SeverityInformational = "Informational"
10019
10020	// SeverityUndefined is a Severity enum value
10021	SeverityUndefined = "Undefined"
10022)
10023
10024const (
10025	// StopActionStartEvaluation is a StopAction enum value
10026	StopActionStartEvaluation = "START_EVALUATION"
10027
10028	// StopActionSkipEvaluation is a StopAction enum value
10029	StopActionSkipEvaluation = "SKIP_EVALUATION"
10030)
10031