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 Types:
71//   * InternalException
72//   Internal server error.
73//
74//   * InvalidInputException
75//   The request was rejected because an invalid or out-of-range value was supplied
76//   for an input parameter.
77//
78//   * AccessDeniedException
79//   You do not have required permissions to access the requested resource.
80//
81//   * NoSuchEntityException
82//   The request was rejected because it referenced an entity that does not exist.
83//   The error code describes the entity.
84//
85//   * 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 Types:
172//   * InternalException
173//   Internal server error.
174//
175//   * InvalidInputException
176//   The request was rejected because an invalid or out-of-range value was supplied
177//   for an input parameter.
178//
179//   * 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//   * AccessDeniedException
184//   You do not have required permissions to access the requested resource.
185//
186//   * NoSuchEntityException
187//   The request was rejected because it referenced an entity that does not exist.
188//   The error code describes the entity.
189//
190//   * 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//   * 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 Types:
277//   * InternalException
278//   Internal server error.
279//
280//   * InvalidInputException
281//   The request was rejected because an invalid or out-of-range value was supplied
282//   for an input parameter.
283//
284//   * 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//   * AccessDeniedException
289//   You do not have required permissions to access the requested resource.
290//
291//   * NoSuchEntityException
292//   The request was rejected because it referenced an entity that does not exist.
293//   The error code describes the entity.
294//
295//   * 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 Types:
376//   * InvalidInputException
377//   The request was rejected because an invalid or out-of-range value was supplied
378//   for an input parameter.
379//
380//   * PreviewGenerationInProgressException
381//   The request is rejected. The specified assessment template is currently generating
382//   an exclusions preview.
383//
384//   * InternalException
385//   Internal server error.
386//
387//   * AccessDeniedException
388//   You do not have required permissions to access the requested resource.
389//
390//   * NoSuchEntityException
391//   The request was rejected because it referenced an entity that does not exist.
392//   The error code describes the entity.
393//
394//   * 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 Types:
476//   * InternalException
477//   Internal server error.
478//
479//   * InvalidInputException
480//   The request was rejected because an invalid or out-of-range value was supplied
481//   for an input parameter.
482//
483//   * 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//   * AccessDeniedException
488//   You do not have required permissions to access the requested resource.
489//
490//   * 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 Types:
571//   * InternalException
572//   Internal server error.
573//
574//   * InvalidInputException
575//   The request was rejected because an invalid or out-of-range value was supplied
576//   for an input parameter.
577//
578//   * AssessmentRunInProgressException
579//   You cannot perform a specified action if an assessment run is currently in
580//   progress.
581//
582//   * AccessDeniedException
583//   You do not have required permissions to access the requested resource.
584//
585//   * NoSuchEntityException
586//   The request was rejected because it referenced an entity that does not exist.
587//   The error code describes the entity.
588//
589//   * 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 Types:
670//   * InternalException
671//   Internal server error.
672//
673//   * InvalidInputException
674//   The request was rejected because an invalid or out-of-range value was supplied
675//   for an input parameter.
676//
677//   * AssessmentRunInProgressException
678//   You cannot perform a specified action if an assessment run is currently in
679//   progress.
680//
681//   * AccessDeniedException
682//   You do not have required permissions to access the requested resource.
683//
684//   * NoSuchEntityException
685//   The request was rejected because it referenced an entity that does not exist.
686//   The error code describes the entity.
687//
688//   * 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 Types:
769//   * InternalException
770//   Internal server error.
771//
772//   * InvalidInputException
773//   The request was rejected because an invalid or out-of-range value was supplied
774//   for an input parameter.
775//
776//   * AssessmentRunInProgressException
777//   You cannot perform a specified action if an assessment run is currently in
778//   progress.
779//
780//   * AccessDeniedException
781//   You do not have required permissions to access the requested resource.
782//
783//   * NoSuchEntityException
784//   The request was rejected because it referenced an entity that does not exist.
785//   The error code describes the entity.
786//
787//   * 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 Types:
867//   * InternalException
868//   Internal server error.
869//
870//   * 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 Types:
951//   * InternalException
952//   Internal server error.
953//
954//   * 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 Types:
1035//   * InternalException
1036//   Internal server error.
1037//
1038//   * 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 Types:
1118//   * 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 Types:
1197//   * InternalException
1198//   Internal server error.
1199//
1200//   * 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 Types:
1280//   * InternalException
1281//   Internal server error.
1282//
1283//   * 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 Types:
1364//   * InternalException
1365//   Internal server error.
1366//
1367//   * 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 Types:
1448//   * InternalException
1449//   Internal server error.
1450//
1451//   * 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 Types:
1532//   * InternalException
1533//   Internal server error.
1534//
1535//   * InvalidInputException
1536//   The request was rejected because an invalid or out-of-range value was supplied
1537//   for an input parameter.
1538//
1539//   * AccessDeniedException
1540//   You do not have required permissions to access the requested resource.
1541//
1542//   * NoSuchEntityException
1543//   The request was rejected because it referenced an entity that does not exist.
1544//   The error code describes the entity.
1545//
1546//   * AssessmentRunInProgressException
1547//   You cannot perform a specified action if an assessment run is currently in
1548//   progress.
1549//
1550//   * 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//   * 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 Types:
1644//   * InvalidInputException
1645//   The request was rejected because an invalid or out-of-range value was supplied
1646//   for an input parameter.
1647//
1648//   * InternalException
1649//   Internal server error.
1650//
1651//   * AccessDeniedException
1652//   You do not have required permissions to access the requested resource.
1653//
1654//   * 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 Types:
1787//   * InternalException
1788//   Internal server error.
1789//
1790//   * InvalidInputException
1791//   The request was rejected because an invalid or out-of-range value was supplied
1792//   for an input parameter.
1793//
1794//   * AccessDeniedException
1795//   You do not have required permissions to access the requested resource.
1796//
1797//   * 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 Types:
1884//   * InternalException
1885//   Internal server error.
1886//
1887//   * InvalidInputException
1888//   The request was rejected because an invalid or out-of-range value was supplied
1889//   for an input parameter.
1890//
1891//   * AccessDeniedException
1892//   You do not have required permissions to access the requested resource.
1893//
1894//   * 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 Types:
2033//   * InternalException
2034//   Internal server error.
2035//
2036//   * InvalidInputException
2037//   The request was rejected because an invalid or out-of-range value was supplied
2038//   for an input parameter.
2039//
2040//   * AccessDeniedException
2041//   You do not have required permissions to access the requested resource.
2042//
2043//   * 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 Types:
2183//   * InternalException
2184//   Internal server error.
2185//
2186//   * InvalidInputException
2187//   The request was rejected because an invalid or out-of-range value was supplied
2188//   for an input parameter.
2189//
2190//   * 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 Types:
2328//   * InternalException
2329//   Internal server error.
2330//
2331//   * InvalidInputException
2332//   The request was rejected because an invalid or out-of-range value was supplied
2333//   for an input parameter.
2334//
2335//   * AccessDeniedException
2336//   You do not have required permissions to access the requested resource.
2337//
2338//   * 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 Types:
2478//   * InternalException
2479//   Internal server error.
2480//
2481//   * InvalidInputException
2482//   The request was rejected because an invalid or out-of-range value was supplied
2483//   for an input parameter.
2484//
2485//   * AccessDeniedException
2486//   You do not have required permissions to access the requested resource.
2487//
2488//   * 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 Types:
2626//   * InternalException
2627//   Internal server error.
2628//
2629//   * InvalidInputException
2630//   The request was rejected because an invalid or out-of-range value was supplied
2631//   for an input parameter.
2632//
2633//   * AccessDeniedException
2634//   You do not have required permissions to access the requested resource.
2635//
2636//   * 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 Types:
2775//   * InternalException
2776//   Internal server error.
2777//
2778//   * InvalidInputException
2779//   The request was rejected because an invalid or out-of-range value was supplied
2780//   for an input parameter.
2781//
2782//   * AccessDeniedException
2783//   You do not have required permissions to access the requested resource.
2784//
2785//   * 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 Types:
2923//   * InternalException
2924//   Internal server error.
2925//
2926//   * InvalidInputException
2927//   The request was rejected because an invalid or out-of-range value was supplied
2928//   for an input parameter.
2929//
2930//   * 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 Types:
3061//   * InternalException
3062//   Internal server error.
3063//
3064//   * InvalidInputException
3065//   The request was rejected because an invalid or out-of-range value was supplied
3066//   for an input parameter.
3067//
3068//   * AccessDeniedException
3069//   You do not have required permissions to access the requested resource.
3070//
3071//   * 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 Types:
3158//   * InternalException
3159//   Internal server error.
3160//
3161//   * InvalidInputException
3162//   The request was rejected because an invalid or out-of-range value was supplied
3163//   for an input parameter.
3164//
3165//   * AccessDeniedException
3166//   You do not have required permissions to access the requested resource.
3167//
3168//   * NoSuchEntityException
3169//   The request was rejected because it referenced an entity that does not exist.
3170//   The error code describes the entity.
3171//
3172//   * 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 Types:
3306//   * InternalException
3307//   Internal server error.
3308//
3309//   * InvalidInputException
3310//   The request was rejected because an invalid or out-of-range value was supplied
3311//   for an input parameter.
3312//
3313//   * AccessDeniedException
3314//   You do not have required permissions to access the requested resource.
3315//
3316//   * 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//   * 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 Types:
3401//   * InternalException
3402//   Internal server error.
3403//
3404//   * InvalidInputException
3405//   The request was rejected because an invalid or out-of-range value was supplied
3406//   for an input parameter.
3407//
3408//   * AccessDeniedException
3409//   You do not have required permissions to access the requested resource.
3410//
3411//   * NoSuchEntityException
3412//   The request was rejected because it referenced an entity that does not exist.
3413//   The error code describes the entity.
3414//
3415//   * 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 Types:
3496//   * InternalException
3497//   Internal server error.
3498//
3499//   * InvalidInputException
3500//   The request was rejected because an invalid or out-of-range value was supplied
3501//   for an input parameter.
3502//
3503//   * AccessDeniedException
3504//   You do not have required permissions to access the requested resource.
3505//
3506//   * NoSuchEntityException
3507//   The request was rejected because it referenced an entity that does not exist.
3508//   The error code describes the entity.
3509//
3510//   * 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 Types:
3591//   * InternalException
3592//   Internal server error.
3593//
3594//   * InvalidInputException
3595//   The request was rejected because an invalid or out-of-range value was supplied
3596//   for an input parameter.
3597//
3598//   * 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//   * AccessDeniedException
3603//   You do not have required permissions to access the requested resource.
3604//
3605//   * NoSuchEntityException
3606//   The request was rejected because it referenced an entity that does not exist.
3607//   The error code describes the entity.
3608//
3609//   * 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//   * AgentsAlreadyRunningAssessmentException
3614//   You started an assessment run, but one of the instances is already participating
3615//   in another assessment run.
3616//
3617//   * 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 Types:
3697//   * InternalException
3698//   Internal server error.
3699//
3700//   * InvalidInputException
3701//   The request was rejected because an invalid or out-of-range value was supplied
3702//   for an input parameter.
3703//
3704//   * AccessDeniedException
3705//   You do not have required permissions to access the requested resource.
3706//
3707//   * NoSuchEntityException
3708//   The request was rejected because it referenced an entity that does not exist.
3709//   The error code describes the entity.
3710//
3711//   * 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 Types:
3792//   * InternalException
3793//   Internal server error.
3794//
3795//   * InvalidInputException
3796//   The request was rejected because an invalid or out-of-range value was supplied
3797//   for an input parameter.
3798//
3799//   * 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//   * AccessDeniedException
3804//   You do not have required permissions to access the requested resource.
3805//
3806//   * NoSuchEntityException
3807//   The request was rejected because it referenced an entity that does not exist.
3808//   The error code describes the entity.
3809//
3810//   * 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 Types:
3891//   * InternalException
3892//   Internal server error.
3893//
3894//   * InvalidInputException
3895//   The request was rejected because an invalid or out-of-range value was supplied
3896//   for an input parameter.
3897//
3898//   * AccessDeniedException
3899//   You do not have required permissions to access the requested resource.
3900//
3901//   * NoSuchEntityException
3902//   The request was rejected because it referenced an entity that does not exist.
3903//   The error code describes the entity.
3904//
3905//   * 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 Types:
3989//   * InternalException
3990//   Internal server error.
3991//
3992//   * InvalidInputException
3993//   The request was rejected because an invalid or out-of-range value was supplied
3994//   for an input parameter.
3995//
3996//   * AccessDeniedException
3997//   You do not have required permissions to access the requested resource.
3998//
3999//   * NoSuchEntityException
4000//   The request was rejected because it referenced an entity that does not exist.
4001//   The error code describes the entity.
4002//
4003//   * 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
4028// You do not have required permissions to access the requested resource.
4029type AccessDeniedException struct {
4030	_            struct{}                  `type:"structure"`
4031	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4032
4033	// You can immediately retry your request.
4034	//
4035	// CanRetry is a required field
4036	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
4037
4038	// Code that indicates the type of error that is generated.
4039	//
4040	// ErrorCode is a required field
4041	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"AccessDeniedErrorCode"`
4042
4043	// Details of the exception error.
4044	Message_ *string `locationName:"message" type:"string"`
4045}
4046
4047// String returns the string representation
4048func (s AccessDeniedException) String() string {
4049	return awsutil.Prettify(s)
4050}
4051
4052// GoString returns the string representation
4053func (s AccessDeniedException) GoString() string {
4054	return s.String()
4055}
4056
4057func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4058	return &AccessDeniedException{
4059		RespMetadata: v,
4060	}
4061}
4062
4063// Code returns the exception type name.
4064func (s *AccessDeniedException) Code() string {
4065	return "AccessDeniedException"
4066}
4067
4068// Message returns the exception's message.
4069func (s *AccessDeniedException) Message() string {
4070	if s.Message_ != nil {
4071		return *s.Message_
4072	}
4073	return ""
4074}
4075
4076// OrigErr always returns nil, satisfies awserr.Error interface.
4077func (s *AccessDeniedException) OrigErr() error {
4078	return nil
4079}
4080
4081func (s *AccessDeniedException) Error() string {
4082	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4083}
4084
4085// Status code returns the HTTP status code for the request's response error.
4086func (s *AccessDeniedException) StatusCode() int {
4087	return s.RespMetadata.StatusCode
4088}
4089
4090// RequestID returns the service's response RequestID for request.
4091func (s *AccessDeniedException) RequestID() string {
4092	return s.RespMetadata.RequestID
4093}
4094
4095type AddAttributesToFindingsInput struct {
4096	_ struct{} `type:"structure"`
4097
4098	// The array of attributes that you want to assign to specified findings.
4099	//
4100	// Attributes is a required field
4101	Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
4102
4103	// The ARNs that specify the findings that you want to assign attributes to.
4104	//
4105	// FindingArns is a required field
4106	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
4107}
4108
4109// String returns the string representation
4110func (s AddAttributesToFindingsInput) String() string {
4111	return awsutil.Prettify(s)
4112}
4113
4114// GoString returns the string representation
4115func (s AddAttributesToFindingsInput) GoString() string {
4116	return s.String()
4117}
4118
4119// Validate inspects the fields of the type to determine if they are valid.
4120func (s *AddAttributesToFindingsInput) Validate() error {
4121	invalidParams := request.ErrInvalidParams{Context: "AddAttributesToFindingsInput"}
4122	if s.Attributes == nil {
4123		invalidParams.Add(request.NewErrParamRequired("Attributes"))
4124	}
4125	if s.FindingArns == nil {
4126		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
4127	}
4128	if s.FindingArns != nil && len(s.FindingArns) < 1 {
4129		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
4130	}
4131	if s.Attributes != nil {
4132		for i, v := range s.Attributes {
4133			if v == nil {
4134				continue
4135			}
4136			if err := v.Validate(); err != nil {
4137				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
4138			}
4139		}
4140	}
4141
4142	if invalidParams.Len() > 0 {
4143		return invalidParams
4144	}
4145	return nil
4146}
4147
4148// SetAttributes sets the Attributes field's value.
4149func (s *AddAttributesToFindingsInput) SetAttributes(v []*Attribute) *AddAttributesToFindingsInput {
4150	s.Attributes = v
4151	return s
4152}
4153
4154// SetFindingArns sets the FindingArns field's value.
4155func (s *AddAttributesToFindingsInput) SetFindingArns(v []*string) *AddAttributesToFindingsInput {
4156	s.FindingArns = v
4157	return s
4158}
4159
4160type AddAttributesToFindingsOutput struct {
4161	_ struct{} `type:"structure"`
4162
4163	// Attribute details that cannot be described. An error code is provided for
4164	// each failed item.
4165	//
4166	// FailedItems is a required field
4167	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
4168}
4169
4170// String returns the string representation
4171func (s AddAttributesToFindingsOutput) String() string {
4172	return awsutil.Prettify(s)
4173}
4174
4175// GoString returns the string representation
4176func (s AddAttributesToFindingsOutput) GoString() string {
4177	return s.String()
4178}
4179
4180// SetFailedItems sets the FailedItems field's value.
4181func (s *AddAttributesToFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *AddAttributesToFindingsOutput {
4182	s.FailedItems = v
4183	return s
4184}
4185
4186// Used in the exception error that is thrown if you start an assessment run
4187// for an assessment target that includes an EC2 instance that is already participating
4188// in another started assessment run.
4189type AgentAlreadyRunningAssessment struct {
4190	_ struct{} `type:"structure"`
4191
4192	// ID of the agent that is running on an EC2 instance that is already participating
4193	// in another started assessment run.
4194	//
4195	// AgentId is a required field
4196	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4197
4198	// The ARN of the assessment run that has already been started.
4199	//
4200	// AssessmentRunArn is a required field
4201	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
4202}
4203
4204// String returns the string representation
4205func (s AgentAlreadyRunningAssessment) String() string {
4206	return awsutil.Prettify(s)
4207}
4208
4209// GoString returns the string representation
4210func (s AgentAlreadyRunningAssessment) GoString() string {
4211	return s.String()
4212}
4213
4214// SetAgentId sets the AgentId field's value.
4215func (s *AgentAlreadyRunningAssessment) SetAgentId(v string) *AgentAlreadyRunningAssessment {
4216	s.AgentId = &v
4217	return s
4218}
4219
4220// SetAssessmentRunArn sets the AssessmentRunArn field's value.
4221func (s *AgentAlreadyRunningAssessment) SetAssessmentRunArn(v string) *AgentAlreadyRunningAssessment {
4222	s.AssessmentRunArn = &v
4223	return s
4224}
4225
4226// Contains information about an Amazon Inspector agent. This data type is used
4227// as a request parameter in the ListAssessmentRunAgents action.
4228type AgentFilter struct {
4229	_ struct{} `type:"structure"`
4230
4231	// The detailed health state of the agent. Values can be set to IDLE, RUNNING,
4232	// SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN.
4233	//
4234	// AgentHealthCodes is a required field
4235	AgentHealthCodes []*string `locationName:"agentHealthCodes" type:"list" required:"true"`
4236
4237	// The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY.
4238	//
4239	// AgentHealths is a required field
4240	AgentHealths []*string `locationName:"agentHealths" type:"list" required:"true"`
4241}
4242
4243// String returns the string representation
4244func (s AgentFilter) String() string {
4245	return awsutil.Prettify(s)
4246}
4247
4248// GoString returns the string representation
4249func (s AgentFilter) GoString() string {
4250	return s.String()
4251}
4252
4253// Validate inspects the fields of the type to determine if they are valid.
4254func (s *AgentFilter) Validate() error {
4255	invalidParams := request.ErrInvalidParams{Context: "AgentFilter"}
4256	if s.AgentHealthCodes == nil {
4257		invalidParams.Add(request.NewErrParamRequired("AgentHealthCodes"))
4258	}
4259	if s.AgentHealths == nil {
4260		invalidParams.Add(request.NewErrParamRequired("AgentHealths"))
4261	}
4262
4263	if invalidParams.Len() > 0 {
4264		return invalidParams
4265	}
4266	return nil
4267}
4268
4269// SetAgentHealthCodes sets the AgentHealthCodes field's value.
4270func (s *AgentFilter) SetAgentHealthCodes(v []*string) *AgentFilter {
4271	s.AgentHealthCodes = v
4272	return s
4273}
4274
4275// SetAgentHealths sets the AgentHealths field's value.
4276func (s *AgentFilter) SetAgentHealths(v []*string) *AgentFilter {
4277	s.AgentHealths = v
4278	return s
4279}
4280
4281// Used as a response element in the PreviewAgents action.
4282type AgentPreview struct {
4283	_ struct{} `type:"structure"`
4284
4285	// The health status of the Amazon Inspector Agent.
4286	AgentHealth *string `locationName:"agentHealth" type:"string" enum:"AgentHealth"`
4287
4288	// The ID of the EC2 instance where the agent is installed.
4289	//
4290	// AgentId is a required field
4291	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4292
4293	// The version of the Amazon Inspector Agent.
4294	AgentVersion *string `locationName:"agentVersion" min:"1" type:"string"`
4295
4296	// The Auto Scaling group for the EC2 instance where the agent is installed.
4297	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
4298
4299	// The hostname of the EC2 instance on which the Amazon Inspector Agent is installed.
4300	Hostname *string `locationName:"hostname" type:"string"`
4301
4302	// The IP address of the EC2 instance on which the Amazon Inspector Agent is
4303	// installed.
4304	Ipv4Address *string `locationName:"ipv4Address" min:"7" type:"string"`
4305
4306	// The kernel version of the operating system running on the EC2 instance on
4307	// which the Amazon Inspector Agent is installed.
4308	KernelVersion *string `locationName:"kernelVersion" min:"1" type:"string"`
4309
4310	// The operating system running on the EC2 instance on which the Amazon Inspector
4311	// Agent is installed.
4312	OperatingSystem *string `locationName:"operatingSystem" min:"1" type:"string"`
4313}
4314
4315// String returns the string representation
4316func (s AgentPreview) String() string {
4317	return awsutil.Prettify(s)
4318}
4319
4320// GoString returns the string representation
4321func (s AgentPreview) GoString() string {
4322	return s.String()
4323}
4324
4325// SetAgentHealth sets the AgentHealth field's value.
4326func (s *AgentPreview) SetAgentHealth(v string) *AgentPreview {
4327	s.AgentHealth = &v
4328	return s
4329}
4330
4331// SetAgentId sets the AgentId field's value.
4332func (s *AgentPreview) SetAgentId(v string) *AgentPreview {
4333	s.AgentId = &v
4334	return s
4335}
4336
4337// SetAgentVersion sets the AgentVersion field's value.
4338func (s *AgentPreview) SetAgentVersion(v string) *AgentPreview {
4339	s.AgentVersion = &v
4340	return s
4341}
4342
4343// SetAutoScalingGroup sets the AutoScalingGroup field's value.
4344func (s *AgentPreview) SetAutoScalingGroup(v string) *AgentPreview {
4345	s.AutoScalingGroup = &v
4346	return s
4347}
4348
4349// SetHostname sets the Hostname field's value.
4350func (s *AgentPreview) SetHostname(v string) *AgentPreview {
4351	s.Hostname = &v
4352	return s
4353}
4354
4355// SetIpv4Address sets the Ipv4Address field's value.
4356func (s *AgentPreview) SetIpv4Address(v string) *AgentPreview {
4357	s.Ipv4Address = &v
4358	return s
4359}
4360
4361// SetKernelVersion sets the KernelVersion field's value.
4362func (s *AgentPreview) SetKernelVersion(v string) *AgentPreview {
4363	s.KernelVersion = &v
4364	return s
4365}
4366
4367// SetOperatingSystem sets the OperatingSystem field's value.
4368func (s *AgentPreview) SetOperatingSystem(v string) *AgentPreview {
4369	s.OperatingSystem = &v
4370	return s
4371}
4372
4373// You started an assessment run, but one of the instances is already participating
4374// in another assessment run.
4375type AgentsAlreadyRunningAssessmentException struct {
4376	_            struct{}                  `type:"structure"`
4377	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4378
4379	// Agents is a required field
4380	Agents []*AgentAlreadyRunningAssessment `locationName:"agents" min:"1" type:"list" required:"true"`
4381
4382	// AgentsTruncated is a required field
4383	AgentsTruncated *bool `locationName:"agentsTruncated" type:"boolean" required:"true"`
4384
4385	// You can immediately retry your request.
4386	//
4387	// CanRetry is a required field
4388	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
4389
4390	// Details of the exception error.
4391	Message_ *string `locationName:"message" type:"string"`
4392}
4393
4394// String returns the string representation
4395func (s AgentsAlreadyRunningAssessmentException) String() string {
4396	return awsutil.Prettify(s)
4397}
4398
4399// GoString returns the string representation
4400func (s AgentsAlreadyRunningAssessmentException) GoString() string {
4401	return s.String()
4402}
4403
4404func newErrorAgentsAlreadyRunningAssessmentException(v protocol.ResponseMetadata) error {
4405	return &AgentsAlreadyRunningAssessmentException{
4406		RespMetadata: v,
4407	}
4408}
4409
4410// Code returns the exception type name.
4411func (s *AgentsAlreadyRunningAssessmentException) Code() string {
4412	return "AgentsAlreadyRunningAssessmentException"
4413}
4414
4415// Message returns the exception's message.
4416func (s *AgentsAlreadyRunningAssessmentException) Message() string {
4417	if s.Message_ != nil {
4418		return *s.Message_
4419	}
4420	return ""
4421}
4422
4423// OrigErr always returns nil, satisfies awserr.Error interface.
4424func (s *AgentsAlreadyRunningAssessmentException) OrigErr() error {
4425	return nil
4426}
4427
4428func (s *AgentsAlreadyRunningAssessmentException) Error() string {
4429	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4430}
4431
4432// Status code returns the HTTP status code for the request's response error.
4433func (s *AgentsAlreadyRunningAssessmentException) StatusCode() int {
4434	return s.RespMetadata.StatusCode
4435}
4436
4437// RequestID returns the service's response RequestID for request.
4438func (s *AgentsAlreadyRunningAssessmentException) RequestID() string {
4439	return s.RespMetadata.RequestID
4440}
4441
4442// A snapshot of an Amazon Inspector assessment run that contains the findings
4443// of the assessment run .
4444//
4445// Used as the response element in the DescribeAssessmentRuns action.
4446type AssessmentRun struct {
4447	_ struct{} `type:"structure"`
4448
4449	// The ARN of the assessment run.
4450	//
4451	// Arn is a required field
4452	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4453
4454	// The ARN of the assessment template that is associated with the assessment
4455	// run.
4456	//
4457	// AssessmentTemplateArn is a required field
4458	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
4459
4460	// The assessment run completion time that corresponds to the rules packages
4461	// evaluation completion time or failure.
4462	CompletedAt *time.Time `locationName:"completedAt" type:"timestamp"`
4463
4464	// The time when StartAssessmentRun was called.
4465	//
4466	// CreatedAt is a required field
4467	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
4468
4469	// A Boolean value (true or false) that specifies whether the process of collecting
4470	// data from the agents is completed.
4471	//
4472	// DataCollected is a required field
4473	DataCollected *bool `locationName:"dataCollected" type:"boolean" required:"true"`
4474
4475	// The duration of the assessment run.
4476	//
4477	// DurationInSeconds is a required field
4478	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
4479
4480	// Provides a total count of generated findings per severity.
4481	//
4482	// FindingCounts is a required field
4483	FindingCounts map[string]*int64 `locationName:"findingCounts" type:"map" required:"true"`
4484
4485	// The auto-generated name for the assessment run.
4486	//
4487	// Name is a required field
4488	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4489
4490	// A list of notifications for the event subscriptions. A notification about
4491	// a particular generated finding is added to this list only once.
4492	//
4493	// Notifications is a required field
4494	Notifications []*AssessmentRunNotification `locationName:"notifications" type:"list" required:"true"`
4495
4496	// The rules packages selected for the assessment run.
4497	//
4498	// RulesPackageArns is a required field
4499	RulesPackageArns []*string `locationName:"rulesPackageArns" min:"1" type:"list" required:"true"`
4500
4501	// The time when StartAssessmentRun was called.
4502	StartedAt *time.Time `locationName:"startedAt" type:"timestamp"`
4503
4504	// The state of the assessment run.
4505	//
4506	// State is a required field
4507	State *string `locationName:"state" type:"string" required:"true" enum:"AssessmentRunState"`
4508
4509	// The last time when the assessment run's state changed.
4510	//
4511	// StateChangedAt is a required field
4512	StateChangedAt *time.Time `locationName:"stateChangedAt" type:"timestamp" required:"true"`
4513
4514	// A list of the assessment run state changes.
4515	//
4516	// StateChanges is a required field
4517	StateChanges []*AssessmentRunStateChange `locationName:"stateChanges" type:"list" required:"true"`
4518
4519	// The user-defined attributes that are assigned to every generated finding.
4520	//
4521	// UserAttributesForFindings is a required field
4522	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list" required:"true"`
4523}
4524
4525// String returns the string representation
4526func (s AssessmentRun) String() string {
4527	return awsutil.Prettify(s)
4528}
4529
4530// GoString returns the string representation
4531func (s AssessmentRun) GoString() string {
4532	return s.String()
4533}
4534
4535// SetArn sets the Arn field's value.
4536func (s *AssessmentRun) SetArn(v string) *AssessmentRun {
4537	s.Arn = &v
4538	return s
4539}
4540
4541// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
4542func (s *AssessmentRun) SetAssessmentTemplateArn(v string) *AssessmentRun {
4543	s.AssessmentTemplateArn = &v
4544	return s
4545}
4546
4547// SetCompletedAt sets the CompletedAt field's value.
4548func (s *AssessmentRun) SetCompletedAt(v time.Time) *AssessmentRun {
4549	s.CompletedAt = &v
4550	return s
4551}
4552
4553// SetCreatedAt sets the CreatedAt field's value.
4554func (s *AssessmentRun) SetCreatedAt(v time.Time) *AssessmentRun {
4555	s.CreatedAt = &v
4556	return s
4557}
4558
4559// SetDataCollected sets the DataCollected field's value.
4560func (s *AssessmentRun) SetDataCollected(v bool) *AssessmentRun {
4561	s.DataCollected = &v
4562	return s
4563}
4564
4565// SetDurationInSeconds sets the DurationInSeconds field's value.
4566func (s *AssessmentRun) SetDurationInSeconds(v int64) *AssessmentRun {
4567	s.DurationInSeconds = &v
4568	return s
4569}
4570
4571// SetFindingCounts sets the FindingCounts field's value.
4572func (s *AssessmentRun) SetFindingCounts(v map[string]*int64) *AssessmentRun {
4573	s.FindingCounts = v
4574	return s
4575}
4576
4577// SetName sets the Name field's value.
4578func (s *AssessmentRun) SetName(v string) *AssessmentRun {
4579	s.Name = &v
4580	return s
4581}
4582
4583// SetNotifications sets the Notifications field's value.
4584func (s *AssessmentRun) SetNotifications(v []*AssessmentRunNotification) *AssessmentRun {
4585	s.Notifications = v
4586	return s
4587}
4588
4589// SetRulesPackageArns sets the RulesPackageArns field's value.
4590func (s *AssessmentRun) SetRulesPackageArns(v []*string) *AssessmentRun {
4591	s.RulesPackageArns = v
4592	return s
4593}
4594
4595// SetStartedAt sets the StartedAt field's value.
4596func (s *AssessmentRun) SetStartedAt(v time.Time) *AssessmentRun {
4597	s.StartedAt = &v
4598	return s
4599}
4600
4601// SetState sets the State field's value.
4602func (s *AssessmentRun) SetState(v string) *AssessmentRun {
4603	s.State = &v
4604	return s
4605}
4606
4607// SetStateChangedAt sets the StateChangedAt field's value.
4608func (s *AssessmentRun) SetStateChangedAt(v time.Time) *AssessmentRun {
4609	s.StateChangedAt = &v
4610	return s
4611}
4612
4613// SetStateChanges sets the StateChanges field's value.
4614func (s *AssessmentRun) SetStateChanges(v []*AssessmentRunStateChange) *AssessmentRun {
4615	s.StateChanges = v
4616	return s
4617}
4618
4619// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
4620func (s *AssessmentRun) SetUserAttributesForFindings(v []*Attribute) *AssessmentRun {
4621	s.UserAttributesForFindings = v
4622	return s
4623}
4624
4625// Contains information about an Amazon Inspector agent. This data type is used
4626// as a response element in the ListAssessmentRunAgents action.
4627type AssessmentRunAgent struct {
4628	_ struct{} `type:"structure"`
4629
4630	// The current health state of the agent.
4631	//
4632	// AgentHealth is a required field
4633	AgentHealth *string `locationName:"agentHealth" type:"string" required:"true" enum:"AgentHealth"`
4634
4635	// The detailed health state of the agent.
4636	//
4637	// AgentHealthCode is a required field
4638	AgentHealthCode *string `locationName:"agentHealthCode" type:"string" required:"true" enum:"AgentHealthCode"`
4639
4640	// The description for the agent health code.
4641	AgentHealthDetails *string `locationName:"agentHealthDetails" type:"string"`
4642
4643	// The AWS account of the EC2 instance where the agent is installed.
4644	//
4645	// AgentId is a required field
4646	AgentId *string `locationName:"agentId" min:"1" type:"string" required:"true"`
4647
4648	// The ARN of the assessment run that is associated with the agent.
4649	//
4650	// AssessmentRunArn is a required field
4651	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
4652
4653	// The Auto Scaling group of the EC2 instance that is specified by the agent
4654	// ID.
4655	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
4656
4657	// The Amazon Inspector application data metrics that are collected by the agent.
4658	//
4659	// TelemetryMetadata is a required field
4660	TelemetryMetadata []*TelemetryMetadata `locationName:"telemetryMetadata" type:"list" required:"true"`
4661}
4662
4663// String returns the string representation
4664func (s AssessmentRunAgent) String() string {
4665	return awsutil.Prettify(s)
4666}
4667
4668// GoString returns the string representation
4669func (s AssessmentRunAgent) GoString() string {
4670	return s.String()
4671}
4672
4673// SetAgentHealth sets the AgentHealth field's value.
4674func (s *AssessmentRunAgent) SetAgentHealth(v string) *AssessmentRunAgent {
4675	s.AgentHealth = &v
4676	return s
4677}
4678
4679// SetAgentHealthCode sets the AgentHealthCode field's value.
4680func (s *AssessmentRunAgent) SetAgentHealthCode(v string) *AssessmentRunAgent {
4681	s.AgentHealthCode = &v
4682	return s
4683}
4684
4685// SetAgentHealthDetails sets the AgentHealthDetails field's value.
4686func (s *AssessmentRunAgent) SetAgentHealthDetails(v string) *AssessmentRunAgent {
4687	s.AgentHealthDetails = &v
4688	return s
4689}
4690
4691// SetAgentId sets the AgentId field's value.
4692func (s *AssessmentRunAgent) SetAgentId(v string) *AssessmentRunAgent {
4693	s.AgentId = &v
4694	return s
4695}
4696
4697// SetAssessmentRunArn sets the AssessmentRunArn field's value.
4698func (s *AssessmentRunAgent) SetAssessmentRunArn(v string) *AssessmentRunAgent {
4699	s.AssessmentRunArn = &v
4700	return s
4701}
4702
4703// SetAutoScalingGroup sets the AutoScalingGroup field's value.
4704func (s *AssessmentRunAgent) SetAutoScalingGroup(v string) *AssessmentRunAgent {
4705	s.AutoScalingGroup = &v
4706	return s
4707}
4708
4709// SetTelemetryMetadata sets the TelemetryMetadata field's value.
4710func (s *AssessmentRunAgent) SetTelemetryMetadata(v []*TelemetryMetadata) *AssessmentRunAgent {
4711	s.TelemetryMetadata = v
4712	return s
4713}
4714
4715// Used as the request parameter in the ListAssessmentRuns action.
4716type AssessmentRunFilter struct {
4717	_ struct{} `type:"structure"`
4718
4719	// For a record to match a filter, the value that is specified for this data
4720	// type property must inclusively match any value between the specified minimum
4721	// and maximum values of the completedAt property of the AssessmentRun data
4722	// type.
4723	CompletionTimeRange *TimestampRange `locationName:"completionTimeRange" type:"structure"`
4724
4725	// For a record to match a filter, the value that is specified for this data
4726	// type property must inclusively match any value between the specified minimum
4727	// and maximum values of the durationInSeconds property of the AssessmentRun
4728	// data type.
4729	DurationRange *DurationRange `locationName:"durationRange" type:"structure"`
4730
4731	// For a record to match a filter, an explicit value or a string containing
4732	// a wildcard that is specified for this data type property must match the value
4733	// of the assessmentRunName property of the AssessmentRun data type.
4734	NamePattern *string `locationName:"namePattern" min:"1" type:"string"`
4735
4736	// For a record to match a filter, the value that is specified for this data
4737	// type property must be contained in the list of values of the rulesPackages
4738	// property of the AssessmentRun data type.
4739	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
4740
4741	// For a record to match a filter, the value that is specified for this data
4742	// type property must inclusively match any value between the specified minimum
4743	// and maximum values of the startTime property of the AssessmentRun data type.
4744	StartTimeRange *TimestampRange `locationName:"startTimeRange" type:"structure"`
4745
4746	// For a record to match a filter, the value that is specified for this data
4747	// type property must match the stateChangedAt property of the AssessmentRun
4748	// data type.
4749	StateChangeTimeRange *TimestampRange `locationName:"stateChangeTimeRange" type:"structure"`
4750
4751	// For a record to match a filter, one of the values specified for this data
4752	// type property must be the exact match of the value of the assessmentRunState
4753	// property of the AssessmentRun data type.
4754	States []*string `locationName:"states" type:"list"`
4755}
4756
4757// String returns the string representation
4758func (s AssessmentRunFilter) String() string {
4759	return awsutil.Prettify(s)
4760}
4761
4762// GoString returns the string representation
4763func (s AssessmentRunFilter) GoString() string {
4764	return s.String()
4765}
4766
4767// Validate inspects the fields of the type to determine if they are valid.
4768func (s *AssessmentRunFilter) Validate() error {
4769	invalidParams := request.ErrInvalidParams{Context: "AssessmentRunFilter"}
4770	if s.NamePattern != nil && len(*s.NamePattern) < 1 {
4771		invalidParams.Add(request.NewErrParamMinLen("NamePattern", 1))
4772	}
4773	if s.DurationRange != nil {
4774		if err := s.DurationRange.Validate(); err != nil {
4775			invalidParams.AddNested("DurationRange", err.(request.ErrInvalidParams))
4776		}
4777	}
4778
4779	if invalidParams.Len() > 0 {
4780		return invalidParams
4781	}
4782	return nil
4783}
4784
4785// SetCompletionTimeRange sets the CompletionTimeRange field's value.
4786func (s *AssessmentRunFilter) SetCompletionTimeRange(v *TimestampRange) *AssessmentRunFilter {
4787	s.CompletionTimeRange = v
4788	return s
4789}
4790
4791// SetDurationRange sets the DurationRange field's value.
4792func (s *AssessmentRunFilter) SetDurationRange(v *DurationRange) *AssessmentRunFilter {
4793	s.DurationRange = v
4794	return s
4795}
4796
4797// SetNamePattern sets the NamePattern field's value.
4798func (s *AssessmentRunFilter) SetNamePattern(v string) *AssessmentRunFilter {
4799	s.NamePattern = &v
4800	return s
4801}
4802
4803// SetRulesPackageArns sets the RulesPackageArns field's value.
4804func (s *AssessmentRunFilter) SetRulesPackageArns(v []*string) *AssessmentRunFilter {
4805	s.RulesPackageArns = v
4806	return s
4807}
4808
4809// SetStartTimeRange sets the StartTimeRange field's value.
4810func (s *AssessmentRunFilter) SetStartTimeRange(v *TimestampRange) *AssessmentRunFilter {
4811	s.StartTimeRange = v
4812	return s
4813}
4814
4815// SetStateChangeTimeRange sets the StateChangeTimeRange field's value.
4816func (s *AssessmentRunFilter) SetStateChangeTimeRange(v *TimestampRange) *AssessmentRunFilter {
4817	s.StateChangeTimeRange = v
4818	return s
4819}
4820
4821// SetStates sets the States field's value.
4822func (s *AssessmentRunFilter) SetStates(v []*string) *AssessmentRunFilter {
4823	s.States = v
4824	return s
4825}
4826
4827// You cannot perform a specified action if an assessment run is currently in
4828// progress.
4829type AssessmentRunInProgressException struct {
4830	_            struct{}                  `type:"structure"`
4831	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4832
4833	// The ARNs of the assessment runs that are currently in progress.
4834	//
4835	// AssessmentRunArns is a required field
4836	AssessmentRunArns []*string `locationName:"assessmentRunArns" min:"1" type:"list" required:"true"`
4837
4838	// Boolean value that indicates whether the ARN list of the assessment runs
4839	// is truncated.
4840	//
4841	// AssessmentRunArnsTruncated is a required field
4842	AssessmentRunArnsTruncated *bool `locationName:"assessmentRunArnsTruncated" type:"boolean" required:"true"`
4843
4844	// You can immediately retry your request.
4845	//
4846	// CanRetry is a required field
4847	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
4848
4849	// Details of the exception error.
4850	Message_ *string `locationName:"message" type:"string"`
4851}
4852
4853// String returns the string representation
4854func (s AssessmentRunInProgressException) String() string {
4855	return awsutil.Prettify(s)
4856}
4857
4858// GoString returns the string representation
4859func (s AssessmentRunInProgressException) GoString() string {
4860	return s.String()
4861}
4862
4863func newErrorAssessmentRunInProgressException(v protocol.ResponseMetadata) error {
4864	return &AssessmentRunInProgressException{
4865		RespMetadata: v,
4866	}
4867}
4868
4869// Code returns the exception type name.
4870func (s *AssessmentRunInProgressException) Code() string {
4871	return "AssessmentRunInProgressException"
4872}
4873
4874// Message returns the exception's message.
4875func (s *AssessmentRunInProgressException) Message() string {
4876	if s.Message_ != nil {
4877		return *s.Message_
4878	}
4879	return ""
4880}
4881
4882// OrigErr always returns nil, satisfies awserr.Error interface.
4883func (s *AssessmentRunInProgressException) OrigErr() error {
4884	return nil
4885}
4886
4887func (s *AssessmentRunInProgressException) Error() string {
4888	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4889}
4890
4891// Status code returns the HTTP status code for the request's response error.
4892func (s *AssessmentRunInProgressException) StatusCode() int {
4893	return s.RespMetadata.StatusCode
4894}
4895
4896// RequestID returns the service's response RequestID for request.
4897func (s *AssessmentRunInProgressException) RequestID() string {
4898	return s.RespMetadata.RequestID
4899}
4900
4901// Used as one of the elements of the AssessmentRun data type.
4902type AssessmentRunNotification struct {
4903	_ struct{} `type:"structure"`
4904
4905	// The date of the notification.
4906	//
4907	// Date is a required field
4908	Date *time.Time `locationName:"date" type:"timestamp" required:"true"`
4909
4910	// The Boolean value that specifies whether the notification represents an error.
4911	//
4912	// Error is a required field
4913	Error *bool `locationName:"error" type:"boolean" required:"true"`
4914
4915	// The event for which a notification is sent.
4916	//
4917	// Event is a required field
4918	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
4919
4920	// The message included in the notification.
4921	Message *string `locationName:"message" type:"string"`
4922
4923	// The status code of the SNS notification.
4924	SnsPublishStatusCode *string `locationName:"snsPublishStatusCode" type:"string" enum:"AssessmentRunNotificationSnsStatusCode"`
4925
4926	// The SNS topic to which the SNS notification is sent.
4927	SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string"`
4928}
4929
4930// String returns the string representation
4931func (s AssessmentRunNotification) String() string {
4932	return awsutil.Prettify(s)
4933}
4934
4935// GoString returns the string representation
4936func (s AssessmentRunNotification) GoString() string {
4937	return s.String()
4938}
4939
4940// SetDate sets the Date field's value.
4941func (s *AssessmentRunNotification) SetDate(v time.Time) *AssessmentRunNotification {
4942	s.Date = &v
4943	return s
4944}
4945
4946// SetError sets the Error field's value.
4947func (s *AssessmentRunNotification) SetError(v bool) *AssessmentRunNotification {
4948	s.Error = &v
4949	return s
4950}
4951
4952// SetEvent sets the Event field's value.
4953func (s *AssessmentRunNotification) SetEvent(v string) *AssessmentRunNotification {
4954	s.Event = &v
4955	return s
4956}
4957
4958// SetMessage sets the Message field's value.
4959func (s *AssessmentRunNotification) SetMessage(v string) *AssessmentRunNotification {
4960	s.Message = &v
4961	return s
4962}
4963
4964// SetSnsPublishStatusCode sets the SnsPublishStatusCode field's value.
4965func (s *AssessmentRunNotification) SetSnsPublishStatusCode(v string) *AssessmentRunNotification {
4966	s.SnsPublishStatusCode = &v
4967	return s
4968}
4969
4970// SetSnsTopicArn sets the SnsTopicArn field's value.
4971func (s *AssessmentRunNotification) SetSnsTopicArn(v string) *AssessmentRunNotification {
4972	s.SnsTopicArn = &v
4973	return s
4974}
4975
4976// Used as one of the elements of the AssessmentRun data type.
4977type AssessmentRunStateChange struct {
4978	_ struct{} `type:"structure"`
4979
4980	// The assessment run state.
4981	//
4982	// State is a required field
4983	State *string `locationName:"state" type:"string" required:"true" enum:"AssessmentRunState"`
4984
4985	// The last time the assessment run state changed.
4986	//
4987	// StateChangedAt is a required field
4988	StateChangedAt *time.Time `locationName:"stateChangedAt" type:"timestamp" required:"true"`
4989}
4990
4991// String returns the string representation
4992func (s AssessmentRunStateChange) String() string {
4993	return awsutil.Prettify(s)
4994}
4995
4996// GoString returns the string representation
4997func (s AssessmentRunStateChange) GoString() string {
4998	return s.String()
4999}
5000
5001// SetState sets the State field's value.
5002func (s *AssessmentRunStateChange) SetState(v string) *AssessmentRunStateChange {
5003	s.State = &v
5004	return s
5005}
5006
5007// SetStateChangedAt sets the StateChangedAt field's value.
5008func (s *AssessmentRunStateChange) SetStateChangedAt(v time.Time) *AssessmentRunStateChange {
5009	s.StateChangedAt = &v
5010	return s
5011}
5012
5013// Contains information about an Amazon Inspector application. This data type
5014// is used as the response element in the DescribeAssessmentTargets action.
5015type AssessmentTarget struct {
5016	_ struct{} `type:"structure"`
5017
5018	// The ARN that specifies the Amazon Inspector assessment target.
5019	//
5020	// Arn is a required field
5021	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
5022
5023	// The time at which the assessment target is created.
5024	//
5025	// CreatedAt is a required field
5026	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
5027
5028	// The name of the Amazon Inspector assessment target.
5029	//
5030	// Name is a required field
5031	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5032
5033	// The ARN that specifies the resource group that is associated with the assessment
5034	// target.
5035	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
5036
5037	// The time at which UpdateAssessmentTarget is called.
5038	//
5039	// UpdatedAt is a required field
5040	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`
5041}
5042
5043// String returns the string representation
5044func (s AssessmentTarget) String() string {
5045	return awsutil.Prettify(s)
5046}
5047
5048// GoString returns the string representation
5049func (s AssessmentTarget) GoString() string {
5050	return s.String()
5051}
5052
5053// SetArn sets the Arn field's value.
5054func (s *AssessmentTarget) SetArn(v string) *AssessmentTarget {
5055	s.Arn = &v
5056	return s
5057}
5058
5059// SetCreatedAt sets the CreatedAt field's value.
5060func (s *AssessmentTarget) SetCreatedAt(v time.Time) *AssessmentTarget {
5061	s.CreatedAt = &v
5062	return s
5063}
5064
5065// SetName sets the Name field's value.
5066func (s *AssessmentTarget) SetName(v string) *AssessmentTarget {
5067	s.Name = &v
5068	return s
5069}
5070
5071// SetResourceGroupArn sets the ResourceGroupArn field's value.
5072func (s *AssessmentTarget) SetResourceGroupArn(v string) *AssessmentTarget {
5073	s.ResourceGroupArn = &v
5074	return s
5075}
5076
5077// SetUpdatedAt sets the UpdatedAt field's value.
5078func (s *AssessmentTarget) SetUpdatedAt(v time.Time) *AssessmentTarget {
5079	s.UpdatedAt = &v
5080	return s
5081}
5082
5083// Used as the request parameter in the ListAssessmentTargets action.
5084type AssessmentTargetFilter struct {
5085	_ struct{} `type:"structure"`
5086
5087	// For a record to match a filter, an explicit value or a string that contains
5088	// a wildcard that is specified for this data type property must match the value
5089	// of the assessmentTargetName property of the AssessmentTarget data type.
5090	AssessmentTargetNamePattern *string `locationName:"assessmentTargetNamePattern" min:"1" type:"string"`
5091}
5092
5093// String returns the string representation
5094func (s AssessmentTargetFilter) String() string {
5095	return awsutil.Prettify(s)
5096}
5097
5098// GoString returns the string representation
5099func (s AssessmentTargetFilter) GoString() string {
5100	return s.String()
5101}
5102
5103// Validate inspects the fields of the type to determine if they are valid.
5104func (s *AssessmentTargetFilter) Validate() error {
5105	invalidParams := request.ErrInvalidParams{Context: "AssessmentTargetFilter"}
5106	if s.AssessmentTargetNamePattern != nil && len(*s.AssessmentTargetNamePattern) < 1 {
5107		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetNamePattern", 1))
5108	}
5109
5110	if invalidParams.Len() > 0 {
5111		return invalidParams
5112	}
5113	return nil
5114}
5115
5116// SetAssessmentTargetNamePattern sets the AssessmentTargetNamePattern field's value.
5117func (s *AssessmentTargetFilter) SetAssessmentTargetNamePattern(v string) *AssessmentTargetFilter {
5118	s.AssessmentTargetNamePattern = &v
5119	return s
5120}
5121
5122// Contains information about an Amazon Inspector assessment template. This
5123// data type is used as the response element in the DescribeAssessmentTemplates
5124// action.
5125type AssessmentTemplate struct {
5126	_ struct{} `type:"structure"`
5127
5128	// The ARN of the assessment template.
5129	//
5130	// Arn is a required field
5131	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
5132
5133	// The number of existing assessment runs associated with this assessment template.
5134	// This value can be zero or a positive integer.
5135	//
5136	// AssessmentRunCount is a required field
5137	AssessmentRunCount *int64 `locationName:"assessmentRunCount" type:"integer" required:"true"`
5138
5139	// The ARN of the assessment target that corresponds to this assessment template.
5140	//
5141	// AssessmentTargetArn is a required field
5142	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5143
5144	// The time at which the assessment template is created.
5145	//
5146	// CreatedAt is a required field
5147	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
5148
5149	// The duration in seconds specified for this assessment template. The default
5150	// value is 3600 seconds (one hour). The maximum value is 86400 seconds (one
5151	// day).
5152	//
5153	// DurationInSeconds is a required field
5154	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
5155
5156	// The Amazon Resource Name (ARN) of the most recent assessment run associated
5157	// with this assessment template. This value exists only when the value of assessmentRunCount
5158	// is greaterpa than zero.
5159	LastAssessmentRunArn *string `locationName:"lastAssessmentRunArn" min:"1" type:"string"`
5160
5161	// The name of the assessment template.
5162	//
5163	// Name is a required field
5164	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5165
5166	// The rules packages that are specified for this assessment template.
5167	//
5168	// RulesPackageArns is a required field
5169	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
5170
5171	// The user-defined attributes that are assigned to every generated finding
5172	// from the assessment run that uses this assessment template.
5173	//
5174	// UserAttributesForFindings is a required field
5175	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list" required:"true"`
5176}
5177
5178// String returns the string representation
5179func (s AssessmentTemplate) String() string {
5180	return awsutil.Prettify(s)
5181}
5182
5183// GoString returns the string representation
5184func (s AssessmentTemplate) GoString() string {
5185	return s.String()
5186}
5187
5188// SetArn sets the Arn field's value.
5189func (s *AssessmentTemplate) SetArn(v string) *AssessmentTemplate {
5190	s.Arn = &v
5191	return s
5192}
5193
5194// SetAssessmentRunCount sets the AssessmentRunCount field's value.
5195func (s *AssessmentTemplate) SetAssessmentRunCount(v int64) *AssessmentTemplate {
5196	s.AssessmentRunCount = &v
5197	return s
5198}
5199
5200// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5201func (s *AssessmentTemplate) SetAssessmentTargetArn(v string) *AssessmentTemplate {
5202	s.AssessmentTargetArn = &v
5203	return s
5204}
5205
5206// SetCreatedAt sets the CreatedAt field's value.
5207func (s *AssessmentTemplate) SetCreatedAt(v time.Time) *AssessmentTemplate {
5208	s.CreatedAt = &v
5209	return s
5210}
5211
5212// SetDurationInSeconds sets the DurationInSeconds field's value.
5213func (s *AssessmentTemplate) SetDurationInSeconds(v int64) *AssessmentTemplate {
5214	s.DurationInSeconds = &v
5215	return s
5216}
5217
5218// SetLastAssessmentRunArn sets the LastAssessmentRunArn field's value.
5219func (s *AssessmentTemplate) SetLastAssessmentRunArn(v string) *AssessmentTemplate {
5220	s.LastAssessmentRunArn = &v
5221	return s
5222}
5223
5224// SetName sets the Name field's value.
5225func (s *AssessmentTemplate) SetName(v string) *AssessmentTemplate {
5226	s.Name = &v
5227	return s
5228}
5229
5230// SetRulesPackageArns sets the RulesPackageArns field's value.
5231func (s *AssessmentTemplate) SetRulesPackageArns(v []*string) *AssessmentTemplate {
5232	s.RulesPackageArns = v
5233	return s
5234}
5235
5236// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
5237func (s *AssessmentTemplate) SetUserAttributesForFindings(v []*Attribute) *AssessmentTemplate {
5238	s.UserAttributesForFindings = v
5239	return s
5240}
5241
5242// Used as the request parameter in the ListAssessmentTemplates action.
5243type AssessmentTemplateFilter struct {
5244	_ struct{} `type:"structure"`
5245
5246	// For a record to match a filter, the value specified for this data type property
5247	// must inclusively match any value between the specified minimum and maximum
5248	// values of the durationInSeconds property of the AssessmentTemplate data type.
5249	DurationRange *DurationRange `locationName:"durationRange" type:"structure"`
5250
5251	// For a record to match a filter, an explicit value or a string that contains
5252	// a wildcard that is specified for this data type property must match the value
5253	// of the assessmentTemplateName property of the AssessmentTemplate data type.
5254	NamePattern *string `locationName:"namePattern" min:"1" type:"string"`
5255
5256	// For a record to match a filter, the values that are specified for this data
5257	// type property must be contained in the list of values of the rulesPackageArns
5258	// property of the AssessmentTemplate data type.
5259	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
5260}
5261
5262// String returns the string representation
5263func (s AssessmentTemplateFilter) String() string {
5264	return awsutil.Prettify(s)
5265}
5266
5267// GoString returns the string representation
5268func (s AssessmentTemplateFilter) GoString() string {
5269	return s.String()
5270}
5271
5272// Validate inspects the fields of the type to determine if they are valid.
5273func (s *AssessmentTemplateFilter) Validate() error {
5274	invalidParams := request.ErrInvalidParams{Context: "AssessmentTemplateFilter"}
5275	if s.NamePattern != nil && len(*s.NamePattern) < 1 {
5276		invalidParams.Add(request.NewErrParamMinLen("NamePattern", 1))
5277	}
5278	if s.DurationRange != nil {
5279		if err := s.DurationRange.Validate(); err != nil {
5280			invalidParams.AddNested("DurationRange", err.(request.ErrInvalidParams))
5281		}
5282	}
5283
5284	if invalidParams.Len() > 0 {
5285		return invalidParams
5286	}
5287	return nil
5288}
5289
5290// SetDurationRange sets the DurationRange field's value.
5291func (s *AssessmentTemplateFilter) SetDurationRange(v *DurationRange) *AssessmentTemplateFilter {
5292	s.DurationRange = v
5293	return s
5294}
5295
5296// SetNamePattern sets the NamePattern field's value.
5297func (s *AssessmentTemplateFilter) SetNamePattern(v string) *AssessmentTemplateFilter {
5298	s.NamePattern = &v
5299	return s
5300}
5301
5302// SetRulesPackageArns sets the RulesPackageArns field's value.
5303func (s *AssessmentTemplateFilter) SetRulesPackageArns(v []*string) *AssessmentTemplateFilter {
5304	s.RulesPackageArns = v
5305	return s
5306}
5307
5308// A collection of attributes of the host from which the finding is generated.
5309type AssetAttributes struct {
5310	_ struct{} `type:"structure"`
5311
5312	// The ID of the agent that is installed on the EC2 instance where the finding
5313	// is generated.
5314	AgentId *string `locationName:"agentId" min:"1" type:"string"`
5315
5316	// The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance
5317	// where the finding is generated.
5318	AmiId *string `locationName:"amiId" type:"string"`
5319
5320	// The Auto Scaling group of the EC2 instance where the finding is generated.
5321	AutoScalingGroup *string `locationName:"autoScalingGroup" min:"1" type:"string"`
5322
5323	// The hostname of the EC2 instance where the finding is generated.
5324	Hostname *string `locationName:"hostname" type:"string"`
5325
5326	// The list of IP v4 addresses of the EC2 instance where the finding is generated.
5327	Ipv4Addresses []*string `locationName:"ipv4Addresses" type:"list"`
5328
5329	// An array of the network interfaces interacting with the EC2 instance where
5330	// the finding is generated.
5331	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
5332
5333	// The schema version of this data type.
5334	//
5335	// SchemaVersion is a required field
5336	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer" required:"true"`
5337
5338	// The tags related to the EC2 instance where the finding is generated.
5339	Tags []*Tag `locationName:"tags" type:"list"`
5340}
5341
5342// String returns the string representation
5343func (s AssetAttributes) String() string {
5344	return awsutil.Prettify(s)
5345}
5346
5347// GoString returns the string representation
5348func (s AssetAttributes) GoString() string {
5349	return s.String()
5350}
5351
5352// SetAgentId sets the AgentId field's value.
5353func (s *AssetAttributes) SetAgentId(v string) *AssetAttributes {
5354	s.AgentId = &v
5355	return s
5356}
5357
5358// SetAmiId sets the AmiId field's value.
5359func (s *AssetAttributes) SetAmiId(v string) *AssetAttributes {
5360	s.AmiId = &v
5361	return s
5362}
5363
5364// SetAutoScalingGroup sets the AutoScalingGroup field's value.
5365func (s *AssetAttributes) SetAutoScalingGroup(v string) *AssetAttributes {
5366	s.AutoScalingGroup = &v
5367	return s
5368}
5369
5370// SetHostname sets the Hostname field's value.
5371func (s *AssetAttributes) SetHostname(v string) *AssetAttributes {
5372	s.Hostname = &v
5373	return s
5374}
5375
5376// SetIpv4Addresses sets the Ipv4Addresses field's value.
5377func (s *AssetAttributes) SetIpv4Addresses(v []*string) *AssetAttributes {
5378	s.Ipv4Addresses = v
5379	return s
5380}
5381
5382// SetNetworkInterfaces sets the NetworkInterfaces field's value.
5383func (s *AssetAttributes) SetNetworkInterfaces(v []*NetworkInterface) *AssetAttributes {
5384	s.NetworkInterfaces = v
5385	return s
5386}
5387
5388// SetSchemaVersion sets the SchemaVersion field's value.
5389func (s *AssetAttributes) SetSchemaVersion(v int64) *AssetAttributes {
5390	s.SchemaVersion = &v
5391	return s
5392}
5393
5394// SetTags sets the Tags field's value.
5395func (s *AssetAttributes) SetTags(v []*Tag) *AssetAttributes {
5396	s.Tags = v
5397	return s
5398}
5399
5400// This data type is used as a request parameter in the AddAttributesToFindings
5401// and CreateAssessmentTemplate actions.
5402type Attribute struct {
5403	_ struct{} `type:"structure"`
5404
5405	// The attribute key.
5406	//
5407	// Key is a required field
5408	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
5409
5410	// The value assigned to the attribute key.
5411	Value *string `locationName:"value" min:"1" type:"string"`
5412}
5413
5414// String returns the string representation
5415func (s Attribute) String() string {
5416	return awsutil.Prettify(s)
5417}
5418
5419// GoString returns the string representation
5420func (s Attribute) GoString() string {
5421	return s.String()
5422}
5423
5424// Validate inspects the fields of the type to determine if they are valid.
5425func (s *Attribute) Validate() error {
5426	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
5427	if s.Key == nil {
5428		invalidParams.Add(request.NewErrParamRequired("Key"))
5429	}
5430	if s.Key != nil && len(*s.Key) < 1 {
5431		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
5432	}
5433	if s.Value != nil && len(*s.Value) < 1 {
5434		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
5435	}
5436
5437	if invalidParams.Len() > 0 {
5438		return invalidParams
5439	}
5440	return nil
5441}
5442
5443// SetKey sets the Key field's value.
5444func (s *Attribute) SetKey(v string) *Attribute {
5445	s.Key = &v
5446	return s
5447}
5448
5449// SetValue sets the Value field's value.
5450func (s *Attribute) SetValue(v string) *Attribute {
5451	s.Value = &v
5452	return s
5453}
5454
5455type CreateAssessmentTargetInput struct {
5456	_ struct{} `type:"structure"`
5457
5458	// The user-defined name that identifies the assessment target that you want
5459	// to create. The name must be unique within the AWS account.
5460	//
5461	// AssessmentTargetName is a required field
5462	AssessmentTargetName *string `locationName:"assessmentTargetName" min:"1" type:"string" required:"true"`
5463
5464	// The ARN that specifies the resource group that is used to create the assessment
5465	// target. If resourceGroupArn is not specified, all EC2 instances in the current
5466	// AWS account and region are included in the assessment target.
5467	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
5468}
5469
5470// String returns the string representation
5471func (s CreateAssessmentTargetInput) String() string {
5472	return awsutil.Prettify(s)
5473}
5474
5475// GoString returns the string representation
5476func (s CreateAssessmentTargetInput) GoString() string {
5477	return s.String()
5478}
5479
5480// Validate inspects the fields of the type to determine if they are valid.
5481func (s *CreateAssessmentTargetInput) Validate() error {
5482	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentTargetInput"}
5483	if s.AssessmentTargetName == nil {
5484		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetName"))
5485	}
5486	if s.AssessmentTargetName != nil && len(*s.AssessmentTargetName) < 1 {
5487		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetName", 1))
5488	}
5489	if s.ResourceGroupArn != nil && len(*s.ResourceGroupArn) < 1 {
5490		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArn", 1))
5491	}
5492
5493	if invalidParams.Len() > 0 {
5494		return invalidParams
5495	}
5496	return nil
5497}
5498
5499// SetAssessmentTargetName sets the AssessmentTargetName field's value.
5500func (s *CreateAssessmentTargetInput) SetAssessmentTargetName(v string) *CreateAssessmentTargetInput {
5501	s.AssessmentTargetName = &v
5502	return s
5503}
5504
5505// SetResourceGroupArn sets the ResourceGroupArn field's value.
5506func (s *CreateAssessmentTargetInput) SetResourceGroupArn(v string) *CreateAssessmentTargetInput {
5507	s.ResourceGroupArn = &v
5508	return s
5509}
5510
5511type CreateAssessmentTargetOutput struct {
5512	_ struct{} `type:"structure"`
5513
5514	// The ARN that specifies the assessment target that is created.
5515	//
5516	// AssessmentTargetArn is a required field
5517	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5518}
5519
5520// String returns the string representation
5521func (s CreateAssessmentTargetOutput) String() string {
5522	return awsutil.Prettify(s)
5523}
5524
5525// GoString returns the string representation
5526func (s CreateAssessmentTargetOutput) GoString() string {
5527	return s.String()
5528}
5529
5530// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5531func (s *CreateAssessmentTargetOutput) SetAssessmentTargetArn(v string) *CreateAssessmentTargetOutput {
5532	s.AssessmentTargetArn = &v
5533	return s
5534}
5535
5536type CreateAssessmentTemplateInput struct {
5537	_ struct{} `type:"structure"`
5538
5539	// The ARN that specifies the assessment target for which you want to create
5540	// the assessment template.
5541	//
5542	// AssessmentTargetArn is a required field
5543	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5544
5545	// The user-defined name that identifies the assessment template that you want
5546	// to create. You can create several assessment templates for an assessment
5547	// target. The names of the assessment templates that correspond to a particular
5548	// assessment target must be unique.
5549	//
5550	// AssessmentTemplateName is a required field
5551	AssessmentTemplateName *string `locationName:"assessmentTemplateName" min:"1" type:"string" required:"true"`
5552
5553	// The duration of the assessment run in seconds.
5554	//
5555	// DurationInSeconds is a required field
5556	DurationInSeconds *int64 `locationName:"durationInSeconds" min:"180" type:"integer" required:"true"`
5557
5558	// The ARNs that specify the rules packages that you want to attach to the assessment
5559	// template.
5560	//
5561	// RulesPackageArns is a required field
5562	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
5563
5564	// The user-defined attributes that are assigned to every finding that is generated
5565	// by the assessment run that uses this assessment template. An attribute is
5566	// a key and value pair (an Attribute object). Within an assessment template,
5567	// each key must be unique.
5568	UserAttributesForFindings []*Attribute `locationName:"userAttributesForFindings" type:"list"`
5569}
5570
5571// String returns the string representation
5572func (s CreateAssessmentTemplateInput) String() string {
5573	return awsutil.Prettify(s)
5574}
5575
5576// GoString returns the string representation
5577func (s CreateAssessmentTemplateInput) GoString() string {
5578	return s.String()
5579}
5580
5581// Validate inspects the fields of the type to determine if they are valid.
5582func (s *CreateAssessmentTemplateInput) Validate() error {
5583	invalidParams := request.ErrInvalidParams{Context: "CreateAssessmentTemplateInput"}
5584	if s.AssessmentTargetArn == nil {
5585		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
5586	}
5587	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
5588		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
5589	}
5590	if s.AssessmentTemplateName == nil {
5591		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateName"))
5592	}
5593	if s.AssessmentTemplateName != nil && len(*s.AssessmentTemplateName) < 1 {
5594		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateName", 1))
5595	}
5596	if s.DurationInSeconds == nil {
5597		invalidParams.Add(request.NewErrParamRequired("DurationInSeconds"))
5598	}
5599	if s.DurationInSeconds != nil && *s.DurationInSeconds < 180 {
5600		invalidParams.Add(request.NewErrParamMinValue("DurationInSeconds", 180))
5601	}
5602	if s.RulesPackageArns == nil {
5603		invalidParams.Add(request.NewErrParamRequired("RulesPackageArns"))
5604	}
5605	if s.UserAttributesForFindings != nil {
5606		for i, v := range s.UserAttributesForFindings {
5607			if v == nil {
5608				continue
5609			}
5610			if err := v.Validate(); err != nil {
5611				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributesForFindings", i), err.(request.ErrInvalidParams))
5612			}
5613		}
5614	}
5615
5616	if invalidParams.Len() > 0 {
5617		return invalidParams
5618	}
5619	return nil
5620}
5621
5622// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5623func (s *CreateAssessmentTemplateInput) SetAssessmentTargetArn(v string) *CreateAssessmentTemplateInput {
5624	s.AssessmentTargetArn = &v
5625	return s
5626}
5627
5628// SetAssessmentTemplateName sets the AssessmentTemplateName field's value.
5629func (s *CreateAssessmentTemplateInput) SetAssessmentTemplateName(v string) *CreateAssessmentTemplateInput {
5630	s.AssessmentTemplateName = &v
5631	return s
5632}
5633
5634// SetDurationInSeconds sets the DurationInSeconds field's value.
5635func (s *CreateAssessmentTemplateInput) SetDurationInSeconds(v int64) *CreateAssessmentTemplateInput {
5636	s.DurationInSeconds = &v
5637	return s
5638}
5639
5640// SetRulesPackageArns sets the RulesPackageArns field's value.
5641func (s *CreateAssessmentTemplateInput) SetRulesPackageArns(v []*string) *CreateAssessmentTemplateInput {
5642	s.RulesPackageArns = v
5643	return s
5644}
5645
5646// SetUserAttributesForFindings sets the UserAttributesForFindings field's value.
5647func (s *CreateAssessmentTemplateInput) SetUserAttributesForFindings(v []*Attribute) *CreateAssessmentTemplateInput {
5648	s.UserAttributesForFindings = v
5649	return s
5650}
5651
5652type CreateAssessmentTemplateOutput struct {
5653	_ struct{} `type:"structure"`
5654
5655	// The ARN that specifies the assessment template that is created.
5656	//
5657	// AssessmentTemplateArn is a required field
5658	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5659}
5660
5661// String returns the string representation
5662func (s CreateAssessmentTemplateOutput) String() string {
5663	return awsutil.Prettify(s)
5664}
5665
5666// GoString returns the string representation
5667func (s CreateAssessmentTemplateOutput) GoString() string {
5668	return s.String()
5669}
5670
5671// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5672func (s *CreateAssessmentTemplateOutput) SetAssessmentTemplateArn(v string) *CreateAssessmentTemplateOutput {
5673	s.AssessmentTemplateArn = &v
5674	return s
5675}
5676
5677type CreateExclusionsPreviewInput struct {
5678	_ struct{} `type:"structure"`
5679
5680	// The ARN that specifies the assessment template for which you want to create
5681	// an exclusions preview.
5682	//
5683	// AssessmentTemplateArn is a required field
5684	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5685}
5686
5687// String returns the string representation
5688func (s CreateExclusionsPreviewInput) String() string {
5689	return awsutil.Prettify(s)
5690}
5691
5692// GoString returns the string representation
5693func (s CreateExclusionsPreviewInput) GoString() string {
5694	return s.String()
5695}
5696
5697// Validate inspects the fields of the type to determine if they are valid.
5698func (s *CreateExclusionsPreviewInput) Validate() error {
5699	invalidParams := request.ErrInvalidParams{Context: "CreateExclusionsPreviewInput"}
5700	if s.AssessmentTemplateArn == nil {
5701		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
5702	}
5703	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
5704		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
5705	}
5706
5707	if invalidParams.Len() > 0 {
5708		return invalidParams
5709	}
5710	return nil
5711}
5712
5713// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5714func (s *CreateExclusionsPreviewInput) SetAssessmentTemplateArn(v string) *CreateExclusionsPreviewInput {
5715	s.AssessmentTemplateArn = &v
5716	return s
5717}
5718
5719type CreateExclusionsPreviewOutput struct {
5720	_ struct{} `type:"structure"`
5721
5722	// Specifies the unique identifier of the requested exclusions preview. You
5723	// can use the unique identifier to retrieve the exclusions preview when running
5724	// the GetExclusionsPreview API.
5725	//
5726	// PreviewToken is a required field
5727	PreviewToken *string `locationName:"previewToken" type:"string" required:"true"`
5728}
5729
5730// String returns the string representation
5731func (s CreateExclusionsPreviewOutput) String() string {
5732	return awsutil.Prettify(s)
5733}
5734
5735// GoString returns the string representation
5736func (s CreateExclusionsPreviewOutput) GoString() string {
5737	return s.String()
5738}
5739
5740// SetPreviewToken sets the PreviewToken field's value.
5741func (s *CreateExclusionsPreviewOutput) SetPreviewToken(v string) *CreateExclusionsPreviewOutput {
5742	s.PreviewToken = &v
5743	return s
5744}
5745
5746type CreateResourceGroupInput struct {
5747	_ struct{} `type:"structure"`
5748
5749	// A collection of keys and an array of possible values, '[{"key":"key1","values":["Value1","Value2"]},{"key":"Key2","values":["Value3"]}]'.
5750	//
5751	// For example,'[{"key":"Name","values":["TestEC2Instance"]}]'.
5752	//
5753	// ResourceGroupTags is a required field
5754	ResourceGroupTags []*ResourceGroupTag `locationName:"resourceGroupTags" min:"1" type:"list" required:"true"`
5755}
5756
5757// String returns the string representation
5758func (s CreateResourceGroupInput) String() string {
5759	return awsutil.Prettify(s)
5760}
5761
5762// GoString returns the string representation
5763func (s CreateResourceGroupInput) GoString() string {
5764	return s.String()
5765}
5766
5767// Validate inspects the fields of the type to determine if they are valid.
5768func (s *CreateResourceGroupInput) Validate() error {
5769	invalidParams := request.ErrInvalidParams{Context: "CreateResourceGroupInput"}
5770	if s.ResourceGroupTags == nil {
5771		invalidParams.Add(request.NewErrParamRequired("ResourceGroupTags"))
5772	}
5773	if s.ResourceGroupTags != nil && len(s.ResourceGroupTags) < 1 {
5774		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupTags", 1))
5775	}
5776	if s.ResourceGroupTags != nil {
5777		for i, v := range s.ResourceGroupTags {
5778			if v == nil {
5779				continue
5780			}
5781			if err := v.Validate(); err != nil {
5782				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceGroupTags", i), err.(request.ErrInvalidParams))
5783			}
5784		}
5785	}
5786
5787	if invalidParams.Len() > 0 {
5788		return invalidParams
5789	}
5790	return nil
5791}
5792
5793// SetResourceGroupTags sets the ResourceGroupTags field's value.
5794func (s *CreateResourceGroupInput) SetResourceGroupTags(v []*ResourceGroupTag) *CreateResourceGroupInput {
5795	s.ResourceGroupTags = v
5796	return s
5797}
5798
5799type CreateResourceGroupOutput struct {
5800	_ struct{} `type:"structure"`
5801
5802	// The ARN that specifies the resource group that is created.
5803	//
5804	// ResourceGroupArn is a required field
5805	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string" required:"true"`
5806}
5807
5808// String returns the string representation
5809func (s CreateResourceGroupOutput) String() string {
5810	return awsutil.Prettify(s)
5811}
5812
5813// GoString returns the string representation
5814func (s CreateResourceGroupOutput) GoString() string {
5815	return s.String()
5816}
5817
5818// SetResourceGroupArn sets the ResourceGroupArn field's value.
5819func (s *CreateResourceGroupOutput) SetResourceGroupArn(v string) *CreateResourceGroupOutput {
5820	s.ResourceGroupArn = &v
5821	return s
5822}
5823
5824type DeleteAssessmentRunInput struct {
5825	_ struct{} `type:"structure"`
5826
5827	// The ARN that specifies the assessment run that you want to delete.
5828	//
5829	// AssessmentRunArn is a required field
5830	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
5831}
5832
5833// String returns the string representation
5834func (s DeleteAssessmentRunInput) String() string {
5835	return awsutil.Prettify(s)
5836}
5837
5838// GoString returns the string representation
5839func (s DeleteAssessmentRunInput) GoString() string {
5840	return s.String()
5841}
5842
5843// Validate inspects the fields of the type to determine if they are valid.
5844func (s *DeleteAssessmentRunInput) Validate() error {
5845	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentRunInput"}
5846	if s.AssessmentRunArn == nil {
5847		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
5848	}
5849	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
5850		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
5851	}
5852
5853	if invalidParams.Len() > 0 {
5854		return invalidParams
5855	}
5856	return nil
5857}
5858
5859// SetAssessmentRunArn sets the AssessmentRunArn field's value.
5860func (s *DeleteAssessmentRunInput) SetAssessmentRunArn(v string) *DeleteAssessmentRunInput {
5861	s.AssessmentRunArn = &v
5862	return s
5863}
5864
5865type DeleteAssessmentRunOutput struct {
5866	_ struct{} `type:"structure"`
5867}
5868
5869// String returns the string representation
5870func (s DeleteAssessmentRunOutput) String() string {
5871	return awsutil.Prettify(s)
5872}
5873
5874// GoString returns the string representation
5875func (s DeleteAssessmentRunOutput) GoString() string {
5876	return s.String()
5877}
5878
5879type DeleteAssessmentTargetInput struct {
5880	_ struct{} `type:"structure"`
5881
5882	// The ARN that specifies the assessment target that you want to delete.
5883	//
5884	// AssessmentTargetArn is a required field
5885	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
5886}
5887
5888// String returns the string representation
5889func (s DeleteAssessmentTargetInput) String() string {
5890	return awsutil.Prettify(s)
5891}
5892
5893// GoString returns the string representation
5894func (s DeleteAssessmentTargetInput) GoString() string {
5895	return s.String()
5896}
5897
5898// Validate inspects the fields of the type to determine if they are valid.
5899func (s *DeleteAssessmentTargetInput) Validate() error {
5900	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentTargetInput"}
5901	if s.AssessmentTargetArn == nil {
5902		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
5903	}
5904	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
5905		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
5906	}
5907
5908	if invalidParams.Len() > 0 {
5909		return invalidParams
5910	}
5911	return nil
5912}
5913
5914// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
5915func (s *DeleteAssessmentTargetInput) SetAssessmentTargetArn(v string) *DeleteAssessmentTargetInput {
5916	s.AssessmentTargetArn = &v
5917	return s
5918}
5919
5920type DeleteAssessmentTargetOutput struct {
5921	_ struct{} `type:"structure"`
5922}
5923
5924// String returns the string representation
5925func (s DeleteAssessmentTargetOutput) String() string {
5926	return awsutil.Prettify(s)
5927}
5928
5929// GoString returns the string representation
5930func (s DeleteAssessmentTargetOutput) GoString() string {
5931	return s.String()
5932}
5933
5934type DeleteAssessmentTemplateInput struct {
5935	_ struct{} `type:"structure"`
5936
5937	// The ARN that specifies the assessment template that you want to delete.
5938	//
5939	// AssessmentTemplateArn is a required field
5940	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
5941}
5942
5943// String returns the string representation
5944func (s DeleteAssessmentTemplateInput) String() string {
5945	return awsutil.Prettify(s)
5946}
5947
5948// GoString returns the string representation
5949func (s DeleteAssessmentTemplateInput) GoString() string {
5950	return s.String()
5951}
5952
5953// Validate inspects the fields of the type to determine if they are valid.
5954func (s *DeleteAssessmentTemplateInput) Validate() error {
5955	invalidParams := request.ErrInvalidParams{Context: "DeleteAssessmentTemplateInput"}
5956	if s.AssessmentTemplateArn == nil {
5957		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
5958	}
5959	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
5960		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
5961	}
5962
5963	if invalidParams.Len() > 0 {
5964		return invalidParams
5965	}
5966	return nil
5967}
5968
5969// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
5970func (s *DeleteAssessmentTemplateInput) SetAssessmentTemplateArn(v string) *DeleteAssessmentTemplateInput {
5971	s.AssessmentTemplateArn = &v
5972	return s
5973}
5974
5975type DeleteAssessmentTemplateOutput struct {
5976	_ struct{} `type:"structure"`
5977}
5978
5979// String returns the string representation
5980func (s DeleteAssessmentTemplateOutput) String() string {
5981	return awsutil.Prettify(s)
5982}
5983
5984// GoString returns the string representation
5985func (s DeleteAssessmentTemplateOutput) GoString() string {
5986	return s.String()
5987}
5988
5989type DescribeAssessmentRunsInput struct {
5990	_ struct{} `type:"structure"`
5991
5992	// The ARN that specifies the assessment run that you want to describe.
5993	//
5994	// AssessmentRunArns is a required field
5995	AssessmentRunArns []*string `locationName:"assessmentRunArns" min:"1" type:"list" required:"true"`
5996}
5997
5998// String returns the string representation
5999func (s DescribeAssessmentRunsInput) String() string {
6000	return awsutil.Prettify(s)
6001}
6002
6003// GoString returns the string representation
6004func (s DescribeAssessmentRunsInput) GoString() string {
6005	return s.String()
6006}
6007
6008// Validate inspects the fields of the type to determine if they are valid.
6009func (s *DescribeAssessmentRunsInput) Validate() error {
6010	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentRunsInput"}
6011	if s.AssessmentRunArns == nil {
6012		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArns"))
6013	}
6014	if s.AssessmentRunArns != nil && len(s.AssessmentRunArns) < 1 {
6015		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArns", 1))
6016	}
6017
6018	if invalidParams.Len() > 0 {
6019		return invalidParams
6020	}
6021	return nil
6022}
6023
6024// SetAssessmentRunArns sets the AssessmentRunArns field's value.
6025func (s *DescribeAssessmentRunsInput) SetAssessmentRunArns(v []*string) *DescribeAssessmentRunsInput {
6026	s.AssessmentRunArns = v
6027	return s
6028}
6029
6030type DescribeAssessmentRunsOutput struct {
6031	_ struct{} `type:"structure"`
6032
6033	// Information about the assessment run.
6034	//
6035	// AssessmentRuns is a required field
6036	AssessmentRuns []*AssessmentRun `locationName:"assessmentRuns" type:"list" required:"true"`
6037
6038	// Assessment run details that cannot be described. An error code is provided
6039	// for each failed item.
6040	//
6041	// FailedItems is a required field
6042	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6043}
6044
6045// String returns the string representation
6046func (s DescribeAssessmentRunsOutput) String() string {
6047	return awsutil.Prettify(s)
6048}
6049
6050// GoString returns the string representation
6051func (s DescribeAssessmentRunsOutput) GoString() string {
6052	return s.String()
6053}
6054
6055// SetAssessmentRuns sets the AssessmentRuns field's value.
6056func (s *DescribeAssessmentRunsOutput) SetAssessmentRuns(v []*AssessmentRun) *DescribeAssessmentRunsOutput {
6057	s.AssessmentRuns = v
6058	return s
6059}
6060
6061// SetFailedItems sets the FailedItems field's value.
6062func (s *DescribeAssessmentRunsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentRunsOutput {
6063	s.FailedItems = v
6064	return s
6065}
6066
6067type DescribeAssessmentTargetsInput struct {
6068	_ struct{} `type:"structure"`
6069
6070	// The ARNs that specifies the assessment targets that you want to describe.
6071	//
6072	// AssessmentTargetArns is a required field
6073	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" min:"1" type:"list" required:"true"`
6074}
6075
6076// String returns the string representation
6077func (s DescribeAssessmentTargetsInput) String() string {
6078	return awsutil.Prettify(s)
6079}
6080
6081// GoString returns the string representation
6082func (s DescribeAssessmentTargetsInput) GoString() string {
6083	return s.String()
6084}
6085
6086// Validate inspects the fields of the type to determine if they are valid.
6087func (s *DescribeAssessmentTargetsInput) Validate() error {
6088	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentTargetsInput"}
6089	if s.AssessmentTargetArns == nil {
6090		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArns"))
6091	}
6092	if s.AssessmentTargetArns != nil && len(s.AssessmentTargetArns) < 1 {
6093		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArns", 1))
6094	}
6095
6096	if invalidParams.Len() > 0 {
6097		return invalidParams
6098	}
6099	return nil
6100}
6101
6102// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
6103func (s *DescribeAssessmentTargetsInput) SetAssessmentTargetArns(v []*string) *DescribeAssessmentTargetsInput {
6104	s.AssessmentTargetArns = v
6105	return s
6106}
6107
6108type DescribeAssessmentTargetsOutput struct {
6109	_ struct{} `type:"structure"`
6110
6111	// Information about the assessment targets.
6112	//
6113	// AssessmentTargets is a required field
6114	AssessmentTargets []*AssessmentTarget `locationName:"assessmentTargets" type:"list" required:"true"`
6115
6116	// Assessment target details that cannot be described. An error code is provided
6117	// for each failed item.
6118	//
6119	// FailedItems is a required field
6120	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6121}
6122
6123// String returns the string representation
6124func (s DescribeAssessmentTargetsOutput) String() string {
6125	return awsutil.Prettify(s)
6126}
6127
6128// GoString returns the string representation
6129func (s DescribeAssessmentTargetsOutput) GoString() string {
6130	return s.String()
6131}
6132
6133// SetAssessmentTargets sets the AssessmentTargets field's value.
6134func (s *DescribeAssessmentTargetsOutput) SetAssessmentTargets(v []*AssessmentTarget) *DescribeAssessmentTargetsOutput {
6135	s.AssessmentTargets = v
6136	return s
6137}
6138
6139// SetFailedItems sets the FailedItems field's value.
6140func (s *DescribeAssessmentTargetsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentTargetsOutput {
6141	s.FailedItems = v
6142	return s
6143}
6144
6145type DescribeAssessmentTemplatesInput struct {
6146	_ struct{} `type:"structure"`
6147
6148	// AssessmentTemplateArns is a required field
6149	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" min:"1" type:"list" required:"true"`
6150}
6151
6152// String returns the string representation
6153func (s DescribeAssessmentTemplatesInput) String() string {
6154	return awsutil.Prettify(s)
6155}
6156
6157// GoString returns the string representation
6158func (s DescribeAssessmentTemplatesInput) GoString() string {
6159	return s.String()
6160}
6161
6162// Validate inspects the fields of the type to determine if they are valid.
6163func (s *DescribeAssessmentTemplatesInput) Validate() error {
6164	invalidParams := request.ErrInvalidParams{Context: "DescribeAssessmentTemplatesInput"}
6165	if s.AssessmentTemplateArns == nil {
6166		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArns"))
6167	}
6168	if s.AssessmentTemplateArns != nil && len(s.AssessmentTemplateArns) < 1 {
6169		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArns", 1))
6170	}
6171
6172	if invalidParams.Len() > 0 {
6173		return invalidParams
6174	}
6175	return nil
6176}
6177
6178// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
6179func (s *DescribeAssessmentTemplatesInput) SetAssessmentTemplateArns(v []*string) *DescribeAssessmentTemplatesInput {
6180	s.AssessmentTemplateArns = v
6181	return s
6182}
6183
6184type DescribeAssessmentTemplatesOutput struct {
6185	_ struct{} `type:"structure"`
6186
6187	// Information about the assessment templates.
6188	//
6189	// AssessmentTemplates is a required field
6190	AssessmentTemplates []*AssessmentTemplate `locationName:"assessmentTemplates" type:"list" required:"true"`
6191
6192	// Assessment template details that cannot be described. An error code is provided
6193	// for each failed item.
6194	//
6195	// FailedItems is a required field
6196	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6197}
6198
6199// String returns the string representation
6200func (s DescribeAssessmentTemplatesOutput) String() string {
6201	return awsutil.Prettify(s)
6202}
6203
6204// GoString returns the string representation
6205func (s DescribeAssessmentTemplatesOutput) GoString() string {
6206	return s.String()
6207}
6208
6209// SetAssessmentTemplates sets the AssessmentTemplates field's value.
6210func (s *DescribeAssessmentTemplatesOutput) SetAssessmentTemplates(v []*AssessmentTemplate) *DescribeAssessmentTemplatesOutput {
6211	s.AssessmentTemplates = v
6212	return s
6213}
6214
6215// SetFailedItems sets the FailedItems field's value.
6216func (s *DescribeAssessmentTemplatesOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeAssessmentTemplatesOutput {
6217	s.FailedItems = v
6218	return s
6219}
6220
6221type DescribeCrossAccountAccessRoleInput struct {
6222	_ struct{} `type:"structure"`
6223}
6224
6225// String returns the string representation
6226func (s DescribeCrossAccountAccessRoleInput) String() string {
6227	return awsutil.Prettify(s)
6228}
6229
6230// GoString returns the string representation
6231func (s DescribeCrossAccountAccessRoleInput) GoString() string {
6232	return s.String()
6233}
6234
6235type DescribeCrossAccountAccessRoleOutput struct {
6236	_ struct{} `type:"structure"`
6237
6238	// The date when the cross-account access role was registered.
6239	//
6240	// RegisteredAt is a required field
6241	RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp" required:"true"`
6242
6243	// The ARN that specifies the IAM role that Amazon Inspector uses to access
6244	// your AWS account.
6245	//
6246	// RoleArn is a required field
6247	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
6248
6249	// A Boolean value that specifies whether the IAM role has the necessary policies
6250	// attached to enable Amazon Inspector to access your AWS account.
6251	//
6252	// Valid is a required field
6253	Valid *bool `locationName:"valid" type:"boolean" required:"true"`
6254}
6255
6256// String returns the string representation
6257func (s DescribeCrossAccountAccessRoleOutput) String() string {
6258	return awsutil.Prettify(s)
6259}
6260
6261// GoString returns the string representation
6262func (s DescribeCrossAccountAccessRoleOutput) GoString() string {
6263	return s.String()
6264}
6265
6266// SetRegisteredAt sets the RegisteredAt field's value.
6267func (s *DescribeCrossAccountAccessRoleOutput) SetRegisteredAt(v time.Time) *DescribeCrossAccountAccessRoleOutput {
6268	s.RegisteredAt = &v
6269	return s
6270}
6271
6272// SetRoleArn sets the RoleArn field's value.
6273func (s *DescribeCrossAccountAccessRoleOutput) SetRoleArn(v string) *DescribeCrossAccountAccessRoleOutput {
6274	s.RoleArn = &v
6275	return s
6276}
6277
6278// SetValid sets the Valid field's value.
6279func (s *DescribeCrossAccountAccessRoleOutput) SetValid(v bool) *DescribeCrossAccountAccessRoleOutput {
6280	s.Valid = &v
6281	return s
6282}
6283
6284type DescribeExclusionsInput struct {
6285	_ struct{} `type:"structure"`
6286
6287	// The list of ARNs that specify the exclusions that you want to describe.
6288	//
6289	// ExclusionArns is a required field
6290	ExclusionArns []*string `locationName:"exclusionArns" min:"1" type:"list" required:"true"`
6291
6292	// The locale into which you want to translate the exclusion's title, description,
6293	// and recommendation.
6294	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6295}
6296
6297// String returns the string representation
6298func (s DescribeExclusionsInput) String() string {
6299	return awsutil.Prettify(s)
6300}
6301
6302// GoString returns the string representation
6303func (s DescribeExclusionsInput) GoString() string {
6304	return s.String()
6305}
6306
6307// Validate inspects the fields of the type to determine if they are valid.
6308func (s *DescribeExclusionsInput) Validate() error {
6309	invalidParams := request.ErrInvalidParams{Context: "DescribeExclusionsInput"}
6310	if s.ExclusionArns == nil {
6311		invalidParams.Add(request.NewErrParamRequired("ExclusionArns"))
6312	}
6313	if s.ExclusionArns != nil && len(s.ExclusionArns) < 1 {
6314		invalidParams.Add(request.NewErrParamMinLen("ExclusionArns", 1))
6315	}
6316
6317	if invalidParams.Len() > 0 {
6318		return invalidParams
6319	}
6320	return nil
6321}
6322
6323// SetExclusionArns sets the ExclusionArns field's value.
6324func (s *DescribeExclusionsInput) SetExclusionArns(v []*string) *DescribeExclusionsInput {
6325	s.ExclusionArns = v
6326	return s
6327}
6328
6329// SetLocale sets the Locale field's value.
6330func (s *DescribeExclusionsInput) SetLocale(v string) *DescribeExclusionsInput {
6331	s.Locale = &v
6332	return s
6333}
6334
6335type DescribeExclusionsOutput struct {
6336	_ struct{} `type:"structure"`
6337
6338	// Information about the exclusions.
6339	//
6340	// Exclusions is a required field
6341	Exclusions map[string]*Exclusion `locationName:"exclusions" min:"1" type:"map" required:"true"`
6342
6343	// Exclusion details that cannot be described. An error code is provided for
6344	// each failed item.
6345	//
6346	// FailedItems is a required field
6347	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6348}
6349
6350// String returns the string representation
6351func (s DescribeExclusionsOutput) String() string {
6352	return awsutil.Prettify(s)
6353}
6354
6355// GoString returns the string representation
6356func (s DescribeExclusionsOutput) GoString() string {
6357	return s.String()
6358}
6359
6360// SetExclusions sets the Exclusions field's value.
6361func (s *DescribeExclusionsOutput) SetExclusions(v map[string]*Exclusion) *DescribeExclusionsOutput {
6362	s.Exclusions = v
6363	return s
6364}
6365
6366// SetFailedItems sets the FailedItems field's value.
6367func (s *DescribeExclusionsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeExclusionsOutput {
6368	s.FailedItems = v
6369	return s
6370}
6371
6372type DescribeFindingsInput struct {
6373	_ struct{} `type:"structure"`
6374
6375	// The ARN that specifies the finding that you want to describe.
6376	//
6377	// FindingArns is a required field
6378	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
6379
6380	// The locale into which you want to translate a finding description, recommendation,
6381	// and the short description that identifies the finding.
6382	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6383}
6384
6385// String returns the string representation
6386func (s DescribeFindingsInput) String() string {
6387	return awsutil.Prettify(s)
6388}
6389
6390// GoString returns the string representation
6391func (s DescribeFindingsInput) GoString() string {
6392	return s.String()
6393}
6394
6395// Validate inspects the fields of the type to determine if they are valid.
6396func (s *DescribeFindingsInput) Validate() error {
6397	invalidParams := request.ErrInvalidParams{Context: "DescribeFindingsInput"}
6398	if s.FindingArns == nil {
6399		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
6400	}
6401	if s.FindingArns != nil && len(s.FindingArns) < 1 {
6402		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
6403	}
6404
6405	if invalidParams.Len() > 0 {
6406		return invalidParams
6407	}
6408	return nil
6409}
6410
6411// SetFindingArns sets the FindingArns field's value.
6412func (s *DescribeFindingsInput) SetFindingArns(v []*string) *DescribeFindingsInput {
6413	s.FindingArns = v
6414	return s
6415}
6416
6417// SetLocale sets the Locale field's value.
6418func (s *DescribeFindingsInput) SetLocale(v string) *DescribeFindingsInput {
6419	s.Locale = &v
6420	return s
6421}
6422
6423type DescribeFindingsOutput struct {
6424	_ struct{} `type:"structure"`
6425
6426	// Finding details that cannot be described. An error code is provided for each
6427	// failed item.
6428	//
6429	// FailedItems is a required field
6430	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6431
6432	// Information about the finding.
6433	//
6434	// Findings is a required field
6435	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
6436}
6437
6438// String returns the string representation
6439func (s DescribeFindingsOutput) String() string {
6440	return awsutil.Prettify(s)
6441}
6442
6443// GoString returns the string representation
6444func (s DescribeFindingsOutput) GoString() string {
6445	return s.String()
6446}
6447
6448// SetFailedItems sets the FailedItems field's value.
6449func (s *DescribeFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeFindingsOutput {
6450	s.FailedItems = v
6451	return s
6452}
6453
6454// SetFindings sets the Findings field's value.
6455func (s *DescribeFindingsOutput) SetFindings(v []*Finding) *DescribeFindingsOutput {
6456	s.Findings = v
6457	return s
6458}
6459
6460type DescribeResourceGroupsInput struct {
6461	_ struct{} `type:"structure"`
6462
6463	// The ARN that specifies the resource group that you want to describe.
6464	//
6465	// ResourceGroupArns is a required field
6466	ResourceGroupArns []*string `locationName:"resourceGroupArns" min:"1" type:"list" required:"true"`
6467}
6468
6469// String returns the string representation
6470func (s DescribeResourceGroupsInput) String() string {
6471	return awsutil.Prettify(s)
6472}
6473
6474// GoString returns the string representation
6475func (s DescribeResourceGroupsInput) GoString() string {
6476	return s.String()
6477}
6478
6479// Validate inspects the fields of the type to determine if they are valid.
6480func (s *DescribeResourceGroupsInput) Validate() error {
6481	invalidParams := request.ErrInvalidParams{Context: "DescribeResourceGroupsInput"}
6482	if s.ResourceGroupArns == nil {
6483		invalidParams.Add(request.NewErrParamRequired("ResourceGroupArns"))
6484	}
6485	if s.ResourceGroupArns != nil && len(s.ResourceGroupArns) < 1 {
6486		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArns", 1))
6487	}
6488
6489	if invalidParams.Len() > 0 {
6490		return invalidParams
6491	}
6492	return nil
6493}
6494
6495// SetResourceGroupArns sets the ResourceGroupArns field's value.
6496func (s *DescribeResourceGroupsInput) SetResourceGroupArns(v []*string) *DescribeResourceGroupsInput {
6497	s.ResourceGroupArns = v
6498	return s
6499}
6500
6501type DescribeResourceGroupsOutput struct {
6502	_ struct{} `type:"structure"`
6503
6504	// Resource group details that cannot be described. An error code is provided
6505	// for each failed item.
6506	//
6507	// FailedItems is a required field
6508	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6509
6510	// Information about a resource group.
6511	//
6512	// ResourceGroups is a required field
6513	ResourceGroups []*ResourceGroup `locationName:"resourceGroups" type:"list" required:"true"`
6514}
6515
6516// String returns the string representation
6517func (s DescribeResourceGroupsOutput) String() string {
6518	return awsutil.Prettify(s)
6519}
6520
6521// GoString returns the string representation
6522func (s DescribeResourceGroupsOutput) GoString() string {
6523	return s.String()
6524}
6525
6526// SetFailedItems sets the FailedItems field's value.
6527func (s *DescribeResourceGroupsOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeResourceGroupsOutput {
6528	s.FailedItems = v
6529	return s
6530}
6531
6532// SetResourceGroups sets the ResourceGroups field's value.
6533func (s *DescribeResourceGroupsOutput) SetResourceGroups(v []*ResourceGroup) *DescribeResourceGroupsOutput {
6534	s.ResourceGroups = v
6535	return s
6536}
6537
6538type DescribeRulesPackagesInput struct {
6539	_ struct{} `type:"structure"`
6540
6541	// The locale that you want to translate a rules package description into.
6542	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
6543
6544	// The ARN that specifies the rules package that you want to describe.
6545	//
6546	// RulesPackageArns is a required field
6547	RulesPackageArns []*string `locationName:"rulesPackageArns" min:"1" type:"list" required:"true"`
6548}
6549
6550// String returns the string representation
6551func (s DescribeRulesPackagesInput) String() string {
6552	return awsutil.Prettify(s)
6553}
6554
6555// GoString returns the string representation
6556func (s DescribeRulesPackagesInput) GoString() string {
6557	return s.String()
6558}
6559
6560// Validate inspects the fields of the type to determine if they are valid.
6561func (s *DescribeRulesPackagesInput) Validate() error {
6562	invalidParams := request.ErrInvalidParams{Context: "DescribeRulesPackagesInput"}
6563	if s.RulesPackageArns == nil {
6564		invalidParams.Add(request.NewErrParamRequired("RulesPackageArns"))
6565	}
6566	if s.RulesPackageArns != nil && len(s.RulesPackageArns) < 1 {
6567		invalidParams.Add(request.NewErrParamMinLen("RulesPackageArns", 1))
6568	}
6569
6570	if invalidParams.Len() > 0 {
6571		return invalidParams
6572	}
6573	return nil
6574}
6575
6576// SetLocale sets the Locale field's value.
6577func (s *DescribeRulesPackagesInput) SetLocale(v string) *DescribeRulesPackagesInput {
6578	s.Locale = &v
6579	return s
6580}
6581
6582// SetRulesPackageArns sets the RulesPackageArns field's value.
6583func (s *DescribeRulesPackagesInput) SetRulesPackageArns(v []*string) *DescribeRulesPackagesInput {
6584	s.RulesPackageArns = v
6585	return s
6586}
6587
6588type DescribeRulesPackagesOutput struct {
6589	_ struct{} `type:"structure"`
6590
6591	// Rules package details that cannot be described. An error code is provided
6592	// for each failed item.
6593	//
6594	// FailedItems is a required field
6595	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
6596
6597	// Information about the rules package.
6598	//
6599	// RulesPackages is a required field
6600	RulesPackages []*RulesPackage `locationName:"rulesPackages" type:"list" required:"true"`
6601}
6602
6603// String returns the string representation
6604func (s DescribeRulesPackagesOutput) String() string {
6605	return awsutil.Prettify(s)
6606}
6607
6608// GoString returns the string representation
6609func (s DescribeRulesPackagesOutput) GoString() string {
6610	return s.String()
6611}
6612
6613// SetFailedItems sets the FailedItems field's value.
6614func (s *DescribeRulesPackagesOutput) SetFailedItems(v map[string]*FailedItemDetails) *DescribeRulesPackagesOutput {
6615	s.FailedItems = v
6616	return s
6617}
6618
6619// SetRulesPackages sets the RulesPackages field's value.
6620func (s *DescribeRulesPackagesOutput) SetRulesPackages(v []*RulesPackage) *DescribeRulesPackagesOutput {
6621	s.RulesPackages = v
6622	return s
6623}
6624
6625// This data type is used in the AssessmentTemplateFilter data type.
6626type DurationRange struct {
6627	_ struct{} `type:"structure"`
6628
6629	// The maximum value of the duration range. Must be less than or equal to 604800
6630	// seconds (1 week).
6631	MaxSeconds *int64 `locationName:"maxSeconds" min:"180" type:"integer"`
6632
6633	// The minimum value of the duration range. Must be greater than zero.
6634	MinSeconds *int64 `locationName:"minSeconds" min:"180" type:"integer"`
6635}
6636
6637// String returns the string representation
6638func (s DurationRange) String() string {
6639	return awsutil.Prettify(s)
6640}
6641
6642// GoString returns the string representation
6643func (s DurationRange) GoString() string {
6644	return s.String()
6645}
6646
6647// Validate inspects the fields of the type to determine if they are valid.
6648func (s *DurationRange) Validate() error {
6649	invalidParams := request.ErrInvalidParams{Context: "DurationRange"}
6650	if s.MaxSeconds != nil && *s.MaxSeconds < 180 {
6651		invalidParams.Add(request.NewErrParamMinValue("MaxSeconds", 180))
6652	}
6653	if s.MinSeconds != nil && *s.MinSeconds < 180 {
6654		invalidParams.Add(request.NewErrParamMinValue("MinSeconds", 180))
6655	}
6656
6657	if invalidParams.Len() > 0 {
6658		return invalidParams
6659	}
6660	return nil
6661}
6662
6663// SetMaxSeconds sets the MaxSeconds field's value.
6664func (s *DurationRange) SetMaxSeconds(v int64) *DurationRange {
6665	s.MaxSeconds = &v
6666	return s
6667}
6668
6669// SetMinSeconds sets the MinSeconds field's value.
6670func (s *DurationRange) SetMinSeconds(v int64) *DurationRange {
6671	s.MinSeconds = &v
6672	return s
6673}
6674
6675// This data type is used in the Subscription data type.
6676type EventSubscription struct {
6677	_ struct{} `type:"structure"`
6678
6679	// The event for which Amazon Simple Notification Service (SNS) notifications
6680	// are sent.
6681	//
6682	// Event is a required field
6683	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
6684
6685	// The time at which SubscribeToEvent is called.
6686	//
6687	// SubscribedAt is a required field
6688	SubscribedAt *time.Time `locationName:"subscribedAt" type:"timestamp" required:"true"`
6689}
6690
6691// String returns the string representation
6692func (s EventSubscription) String() string {
6693	return awsutil.Prettify(s)
6694}
6695
6696// GoString returns the string representation
6697func (s EventSubscription) GoString() string {
6698	return s.String()
6699}
6700
6701// SetEvent sets the Event field's value.
6702func (s *EventSubscription) SetEvent(v string) *EventSubscription {
6703	s.Event = &v
6704	return s
6705}
6706
6707// SetSubscribedAt sets the SubscribedAt field's value.
6708func (s *EventSubscription) SetSubscribedAt(v time.Time) *EventSubscription {
6709	s.SubscribedAt = &v
6710	return s
6711}
6712
6713// Contains information about what was excluded from an assessment run.
6714type Exclusion struct {
6715	_ struct{} `type:"structure"`
6716
6717	// The ARN that specifies the exclusion.
6718	//
6719	// Arn is a required field
6720	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
6721
6722	// The system-defined attributes for the exclusion.
6723	Attributes []*Attribute `locationName:"attributes" type:"list"`
6724
6725	// The description of the exclusion.
6726	//
6727	// Description is a required field
6728	Description *string `locationName:"description" type:"string" required:"true"`
6729
6730	// The recommendation for the exclusion.
6731	//
6732	// Recommendation is a required field
6733	Recommendation *string `locationName:"recommendation" type:"string" required:"true"`
6734
6735	// The AWS resources for which the exclusion pertains.
6736	//
6737	// Scopes is a required field
6738	Scopes []*Scope `locationName:"scopes" min:"1" type:"list" required:"true"`
6739
6740	// The name of the exclusion.
6741	//
6742	// Title is a required field
6743	Title *string `locationName:"title" type:"string" required:"true"`
6744}
6745
6746// String returns the string representation
6747func (s Exclusion) String() string {
6748	return awsutil.Prettify(s)
6749}
6750
6751// GoString returns the string representation
6752func (s Exclusion) GoString() string {
6753	return s.String()
6754}
6755
6756// SetArn sets the Arn field's value.
6757func (s *Exclusion) SetArn(v string) *Exclusion {
6758	s.Arn = &v
6759	return s
6760}
6761
6762// SetAttributes sets the Attributes field's value.
6763func (s *Exclusion) SetAttributes(v []*Attribute) *Exclusion {
6764	s.Attributes = v
6765	return s
6766}
6767
6768// SetDescription sets the Description field's value.
6769func (s *Exclusion) SetDescription(v string) *Exclusion {
6770	s.Description = &v
6771	return s
6772}
6773
6774// SetRecommendation sets the Recommendation field's value.
6775func (s *Exclusion) SetRecommendation(v string) *Exclusion {
6776	s.Recommendation = &v
6777	return s
6778}
6779
6780// SetScopes sets the Scopes field's value.
6781func (s *Exclusion) SetScopes(v []*Scope) *Exclusion {
6782	s.Scopes = v
6783	return s
6784}
6785
6786// SetTitle sets the Title field's value.
6787func (s *Exclusion) SetTitle(v string) *Exclusion {
6788	s.Title = &v
6789	return s
6790}
6791
6792// Contains information about what is excluded from an assessment run given
6793// the current state of the assessment template.
6794type ExclusionPreview struct {
6795	_ struct{} `type:"structure"`
6796
6797	// The system-defined attributes for the exclusion preview.
6798	Attributes []*Attribute `locationName:"attributes" type:"list"`
6799
6800	// The description of the exclusion preview.
6801	//
6802	// Description is a required field
6803	Description *string `locationName:"description" type:"string" required:"true"`
6804
6805	// The recommendation for the exclusion preview.
6806	//
6807	// Recommendation is a required field
6808	Recommendation *string `locationName:"recommendation" type:"string" required:"true"`
6809
6810	// The AWS resources for which the exclusion preview pertains.
6811	//
6812	// Scopes is a required field
6813	Scopes []*Scope `locationName:"scopes" min:"1" type:"list" required:"true"`
6814
6815	// The name of the exclusion preview.
6816	//
6817	// Title is a required field
6818	Title *string `locationName:"title" type:"string" required:"true"`
6819}
6820
6821// String returns the string representation
6822func (s ExclusionPreview) String() string {
6823	return awsutil.Prettify(s)
6824}
6825
6826// GoString returns the string representation
6827func (s ExclusionPreview) GoString() string {
6828	return s.String()
6829}
6830
6831// SetAttributes sets the Attributes field's value.
6832func (s *ExclusionPreview) SetAttributes(v []*Attribute) *ExclusionPreview {
6833	s.Attributes = v
6834	return s
6835}
6836
6837// SetDescription sets the Description field's value.
6838func (s *ExclusionPreview) SetDescription(v string) *ExclusionPreview {
6839	s.Description = &v
6840	return s
6841}
6842
6843// SetRecommendation sets the Recommendation field's value.
6844func (s *ExclusionPreview) SetRecommendation(v string) *ExclusionPreview {
6845	s.Recommendation = &v
6846	return s
6847}
6848
6849// SetScopes sets the Scopes field's value.
6850func (s *ExclusionPreview) SetScopes(v []*Scope) *ExclusionPreview {
6851	s.Scopes = v
6852	return s
6853}
6854
6855// SetTitle sets the Title field's value.
6856func (s *ExclusionPreview) SetTitle(v string) *ExclusionPreview {
6857	s.Title = &v
6858	return s
6859}
6860
6861// Includes details about the failed items.
6862type FailedItemDetails struct {
6863	_ struct{} `type:"structure"`
6864
6865	// The status code of a failed item.
6866	//
6867	// FailureCode is a required field
6868	FailureCode *string `locationName:"failureCode" type:"string" required:"true" enum:"FailedItemErrorCode"`
6869
6870	// Indicates whether you can immediately retry a request for this item for a
6871	// specified resource.
6872	//
6873	// Retryable is a required field
6874	Retryable *bool `locationName:"retryable" type:"boolean" required:"true"`
6875}
6876
6877// String returns the string representation
6878func (s FailedItemDetails) String() string {
6879	return awsutil.Prettify(s)
6880}
6881
6882// GoString returns the string representation
6883func (s FailedItemDetails) GoString() string {
6884	return s.String()
6885}
6886
6887// SetFailureCode sets the FailureCode field's value.
6888func (s *FailedItemDetails) SetFailureCode(v string) *FailedItemDetails {
6889	s.FailureCode = &v
6890	return s
6891}
6892
6893// SetRetryable sets the Retryable field's value.
6894func (s *FailedItemDetails) SetRetryable(v bool) *FailedItemDetails {
6895	s.Retryable = &v
6896	return s
6897}
6898
6899// Contains information about an Amazon Inspector finding. This data type is
6900// used as the response element in the DescribeFindings action.
6901type Finding struct {
6902	_ struct{} `type:"structure"`
6903
6904	// The ARN that specifies the finding.
6905	//
6906	// Arn is a required field
6907	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
6908
6909	// A collection of attributes of the host from which the finding is generated.
6910	AssetAttributes *AssetAttributes `locationName:"assetAttributes" type:"structure"`
6911
6912	// The type of the host from which the finding is generated.
6913	AssetType *string `locationName:"assetType" type:"string" enum:"AssetType"`
6914
6915	// The system-defined attributes for the finding.
6916	//
6917	// Attributes is a required field
6918	Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"`
6919
6920	// This data element is currently not used.
6921	Confidence *int64 `locationName:"confidence" type:"integer"`
6922
6923	// The time when the finding was generated.
6924	//
6925	// CreatedAt is a required field
6926	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
6927
6928	// The description of the finding.
6929	Description *string `locationName:"description" type:"string"`
6930
6931	// The ID of the finding.
6932	Id *string `locationName:"id" type:"string"`
6933
6934	// This data element is currently not used.
6935	IndicatorOfCompromise *bool `locationName:"indicatorOfCompromise" type:"boolean"`
6936
6937	// The numeric value of the finding severity.
6938	NumericSeverity *float64 `locationName:"numericSeverity" type:"double"`
6939
6940	// The recommendation for the finding.
6941	Recommendation *string `locationName:"recommendation" type:"string"`
6942
6943	// The schema version of this data type.
6944	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer"`
6945
6946	// The data element is set to "Inspector".
6947	Service *string `locationName:"service" type:"string"`
6948
6949	// This data type is used in the Finding data type.
6950	ServiceAttributes *ServiceAttributes `locationName:"serviceAttributes" type:"structure"`
6951
6952	// The finding severity. Values can be set to High, Medium, Low, and Informational.
6953	Severity *string `locationName:"severity" type:"string" enum:"Severity"`
6954
6955	// The name of the finding.
6956	Title *string `locationName:"title" type:"string"`
6957
6958	// The time when AddAttributesToFindings is called.
6959	//
6960	// UpdatedAt is a required field
6961	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"`
6962
6963	// The user-defined attributes that are assigned to the finding.
6964	//
6965	// UserAttributes is a required field
6966	UserAttributes []*Attribute `locationName:"userAttributes" type:"list" required:"true"`
6967}
6968
6969// String returns the string representation
6970func (s Finding) String() string {
6971	return awsutil.Prettify(s)
6972}
6973
6974// GoString returns the string representation
6975func (s Finding) GoString() string {
6976	return s.String()
6977}
6978
6979// SetArn sets the Arn field's value.
6980func (s *Finding) SetArn(v string) *Finding {
6981	s.Arn = &v
6982	return s
6983}
6984
6985// SetAssetAttributes sets the AssetAttributes field's value.
6986func (s *Finding) SetAssetAttributes(v *AssetAttributes) *Finding {
6987	s.AssetAttributes = v
6988	return s
6989}
6990
6991// SetAssetType sets the AssetType field's value.
6992func (s *Finding) SetAssetType(v string) *Finding {
6993	s.AssetType = &v
6994	return s
6995}
6996
6997// SetAttributes sets the Attributes field's value.
6998func (s *Finding) SetAttributes(v []*Attribute) *Finding {
6999	s.Attributes = v
7000	return s
7001}
7002
7003// SetConfidence sets the Confidence field's value.
7004func (s *Finding) SetConfidence(v int64) *Finding {
7005	s.Confidence = &v
7006	return s
7007}
7008
7009// SetCreatedAt sets the CreatedAt field's value.
7010func (s *Finding) SetCreatedAt(v time.Time) *Finding {
7011	s.CreatedAt = &v
7012	return s
7013}
7014
7015// SetDescription sets the Description field's value.
7016func (s *Finding) SetDescription(v string) *Finding {
7017	s.Description = &v
7018	return s
7019}
7020
7021// SetId sets the Id field's value.
7022func (s *Finding) SetId(v string) *Finding {
7023	s.Id = &v
7024	return s
7025}
7026
7027// SetIndicatorOfCompromise sets the IndicatorOfCompromise field's value.
7028func (s *Finding) SetIndicatorOfCompromise(v bool) *Finding {
7029	s.IndicatorOfCompromise = &v
7030	return s
7031}
7032
7033// SetNumericSeverity sets the NumericSeverity field's value.
7034func (s *Finding) SetNumericSeverity(v float64) *Finding {
7035	s.NumericSeverity = &v
7036	return s
7037}
7038
7039// SetRecommendation sets the Recommendation field's value.
7040func (s *Finding) SetRecommendation(v string) *Finding {
7041	s.Recommendation = &v
7042	return s
7043}
7044
7045// SetSchemaVersion sets the SchemaVersion field's value.
7046func (s *Finding) SetSchemaVersion(v int64) *Finding {
7047	s.SchemaVersion = &v
7048	return s
7049}
7050
7051// SetService sets the Service field's value.
7052func (s *Finding) SetService(v string) *Finding {
7053	s.Service = &v
7054	return s
7055}
7056
7057// SetServiceAttributes sets the ServiceAttributes field's value.
7058func (s *Finding) SetServiceAttributes(v *ServiceAttributes) *Finding {
7059	s.ServiceAttributes = v
7060	return s
7061}
7062
7063// SetSeverity sets the Severity field's value.
7064func (s *Finding) SetSeverity(v string) *Finding {
7065	s.Severity = &v
7066	return s
7067}
7068
7069// SetTitle sets the Title field's value.
7070func (s *Finding) SetTitle(v string) *Finding {
7071	s.Title = &v
7072	return s
7073}
7074
7075// SetUpdatedAt sets the UpdatedAt field's value.
7076func (s *Finding) SetUpdatedAt(v time.Time) *Finding {
7077	s.UpdatedAt = &v
7078	return s
7079}
7080
7081// SetUserAttributes sets the UserAttributes field's value.
7082func (s *Finding) SetUserAttributes(v []*Attribute) *Finding {
7083	s.UserAttributes = v
7084	return s
7085}
7086
7087// This data type is used as a request parameter in the ListFindings action.
7088type FindingFilter struct {
7089	_ struct{} `type:"structure"`
7090
7091	// For a record to match a filter, one of the values that is specified for this
7092	// data type property must be the exact match of the value of the agentId property
7093	// of the Finding data type.
7094	AgentIds []*string `locationName:"agentIds" type:"list"`
7095
7096	// For a record to match a filter, the list of values that are specified for
7097	// this data type property must be contained in the list of values of the attributes
7098	// property of the Finding data type.
7099	Attributes []*Attribute `locationName:"attributes" type:"list"`
7100
7101	// For a record to match a filter, one of the values that is specified for this
7102	// data type property must be the exact match of the value of the autoScalingGroup
7103	// property of the Finding data type.
7104	AutoScalingGroups []*string `locationName:"autoScalingGroups" type:"list"`
7105
7106	// The time range during which the finding is generated.
7107	CreationTimeRange *TimestampRange `locationName:"creationTimeRange" type:"structure"`
7108
7109	// For a record to match a filter, one of the values that is specified for this
7110	// data type property must be the exact match of the value of the ruleName property
7111	// of the Finding data type.
7112	RuleNames []*string `locationName:"ruleNames" type:"list"`
7113
7114	// For a record to match a filter, one of the values that is specified for this
7115	// data type property must be the exact match of the value of the rulesPackageArn
7116	// property of the Finding data type.
7117	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list"`
7118
7119	// For a record to match a filter, one of the values that is specified for this
7120	// data type property must be the exact match of the value of the severity property
7121	// of the Finding data type.
7122	Severities []*string `locationName:"severities" type:"list"`
7123
7124	// For a record to match a filter, the value that is specified for this data
7125	// type property must be contained in the list of values of the userAttributes
7126	// property of the Finding data type.
7127	UserAttributes []*Attribute `locationName:"userAttributes" type:"list"`
7128}
7129
7130// String returns the string representation
7131func (s FindingFilter) String() string {
7132	return awsutil.Prettify(s)
7133}
7134
7135// GoString returns the string representation
7136func (s FindingFilter) GoString() string {
7137	return s.String()
7138}
7139
7140// Validate inspects the fields of the type to determine if they are valid.
7141func (s *FindingFilter) Validate() error {
7142	invalidParams := request.ErrInvalidParams{Context: "FindingFilter"}
7143	if s.Attributes != nil {
7144		for i, v := range s.Attributes {
7145			if v == nil {
7146				continue
7147			}
7148			if err := v.Validate(); err != nil {
7149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
7150			}
7151		}
7152	}
7153	if s.UserAttributes != nil {
7154		for i, v := range s.UserAttributes {
7155			if v == nil {
7156				continue
7157			}
7158			if err := v.Validate(); err != nil {
7159				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams))
7160			}
7161		}
7162	}
7163
7164	if invalidParams.Len() > 0 {
7165		return invalidParams
7166	}
7167	return nil
7168}
7169
7170// SetAgentIds sets the AgentIds field's value.
7171func (s *FindingFilter) SetAgentIds(v []*string) *FindingFilter {
7172	s.AgentIds = v
7173	return s
7174}
7175
7176// SetAttributes sets the Attributes field's value.
7177func (s *FindingFilter) SetAttributes(v []*Attribute) *FindingFilter {
7178	s.Attributes = v
7179	return s
7180}
7181
7182// SetAutoScalingGroups sets the AutoScalingGroups field's value.
7183func (s *FindingFilter) SetAutoScalingGroups(v []*string) *FindingFilter {
7184	s.AutoScalingGroups = v
7185	return s
7186}
7187
7188// SetCreationTimeRange sets the CreationTimeRange field's value.
7189func (s *FindingFilter) SetCreationTimeRange(v *TimestampRange) *FindingFilter {
7190	s.CreationTimeRange = v
7191	return s
7192}
7193
7194// SetRuleNames sets the RuleNames field's value.
7195func (s *FindingFilter) SetRuleNames(v []*string) *FindingFilter {
7196	s.RuleNames = v
7197	return s
7198}
7199
7200// SetRulesPackageArns sets the RulesPackageArns field's value.
7201func (s *FindingFilter) SetRulesPackageArns(v []*string) *FindingFilter {
7202	s.RulesPackageArns = v
7203	return s
7204}
7205
7206// SetSeverities sets the Severities field's value.
7207func (s *FindingFilter) SetSeverities(v []*string) *FindingFilter {
7208	s.Severities = v
7209	return s
7210}
7211
7212// SetUserAttributes sets the UserAttributes field's value.
7213func (s *FindingFilter) SetUserAttributes(v []*Attribute) *FindingFilter {
7214	s.UserAttributes = v
7215	return s
7216}
7217
7218type GetAssessmentReportInput struct {
7219	_ struct{} `type:"structure"`
7220
7221	// The ARN that specifies the assessment run for which you want to generate
7222	// a report.
7223	//
7224	// AssessmentRunArn is a required field
7225	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7226
7227	// Specifies the file format (html or pdf) of the assessment report that you
7228	// want to generate.
7229	//
7230	// ReportFileFormat is a required field
7231	ReportFileFormat *string `locationName:"reportFileFormat" type:"string" required:"true" enum:"ReportFileFormat"`
7232
7233	// Specifies the type of the assessment report that you want to generate. There
7234	// are two types of assessment reports: a finding report and a full report.
7235	// For more information, see Assessment Reports (https://docs.aws.amazon.com/inspector/latest/userguide/inspector_reports.html).
7236	//
7237	// ReportType is a required field
7238	ReportType *string `locationName:"reportType" type:"string" required:"true" enum:"ReportType"`
7239}
7240
7241// String returns the string representation
7242func (s GetAssessmentReportInput) String() string {
7243	return awsutil.Prettify(s)
7244}
7245
7246// GoString returns the string representation
7247func (s GetAssessmentReportInput) GoString() string {
7248	return s.String()
7249}
7250
7251// Validate inspects the fields of the type to determine if they are valid.
7252func (s *GetAssessmentReportInput) Validate() error {
7253	invalidParams := request.ErrInvalidParams{Context: "GetAssessmentReportInput"}
7254	if s.AssessmentRunArn == nil {
7255		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7256	}
7257	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7258		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7259	}
7260	if s.ReportFileFormat == nil {
7261		invalidParams.Add(request.NewErrParamRequired("ReportFileFormat"))
7262	}
7263	if s.ReportType == nil {
7264		invalidParams.Add(request.NewErrParamRequired("ReportType"))
7265	}
7266
7267	if invalidParams.Len() > 0 {
7268		return invalidParams
7269	}
7270	return nil
7271}
7272
7273// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7274func (s *GetAssessmentReportInput) SetAssessmentRunArn(v string) *GetAssessmentReportInput {
7275	s.AssessmentRunArn = &v
7276	return s
7277}
7278
7279// SetReportFileFormat sets the ReportFileFormat field's value.
7280func (s *GetAssessmentReportInput) SetReportFileFormat(v string) *GetAssessmentReportInput {
7281	s.ReportFileFormat = &v
7282	return s
7283}
7284
7285// SetReportType sets the ReportType field's value.
7286func (s *GetAssessmentReportInput) SetReportType(v string) *GetAssessmentReportInput {
7287	s.ReportType = &v
7288	return s
7289}
7290
7291type GetAssessmentReportOutput struct {
7292	_ struct{} `type:"structure"`
7293
7294	// Specifies the status of the request to generate an assessment report.
7295	//
7296	// Status is a required field
7297	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatus"`
7298
7299	// Specifies the URL where you can find the generated assessment report. This
7300	// parameter is only returned if the report is successfully generated.
7301	Url *string `locationName:"url" type:"string"`
7302}
7303
7304// String returns the string representation
7305func (s GetAssessmentReportOutput) String() string {
7306	return awsutil.Prettify(s)
7307}
7308
7309// GoString returns the string representation
7310func (s GetAssessmentReportOutput) GoString() string {
7311	return s.String()
7312}
7313
7314// SetStatus sets the Status field's value.
7315func (s *GetAssessmentReportOutput) SetStatus(v string) *GetAssessmentReportOutput {
7316	s.Status = &v
7317	return s
7318}
7319
7320// SetUrl sets the Url field's value.
7321func (s *GetAssessmentReportOutput) SetUrl(v string) *GetAssessmentReportOutput {
7322	s.Url = &v
7323	return s
7324}
7325
7326type GetExclusionsPreviewInput struct {
7327	_ struct{} `type:"structure"`
7328
7329	// The ARN that specifies the assessment template for which the exclusions preview
7330	// was requested.
7331	//
7332	// AssessmentTemplateArn is a required field
7333	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
7334
7335	// The locale into which you want to translate the exclusion's title, description,
7336	// and recommendation.
7337	Locale *string `locationName:"locale" type:"string" enum:"Locale"`
7338
7339	// You can use this parameter to indicate the maximum number of items you want
7340	// in the response. The default value is 100. The maximum value is 500.
7341	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7342
7343	// You can use this parameter when paginating results. Set the value of this
7344	// parameter to null on your first call to the GetExclusionsPreviewRequest action.
7345	// Subsequent calls to the action fill nextToken in the request with the value
7346	// of nextToken from the previous response to continue listing data.
7347	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7348
7349	// The unique identifier associated of the exclusions preview.
7350	//
7351	// PreviewToken is a required field
7352	PreviewToken *string `locationName:"previewToken" type:"string" required:"true"`
7353}
7354
7355// String returns the string representation
7356func (s GetExclusionsPreviewInput) String() string {
7357	return awsutil.Prettify(s)
7358}
7359
7360// GoString returns the string representation
7361func (s GetExclusionsPreviewInput) GoString() string {
7362	return s.String()
7363}
7364
7365// Validate inspects the fields of the type to determine if they are valid.
7366func (s *GetExclusionsPreviewInput) Validate() error {
7367	invalidParams := request.ErrInvalidParams{Context: "GetExclusionsPreviewInput"}
7368	if s.AssessmentTemplateArn == nil {
7369		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
7370	}
7371	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
7372		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
7373	}
7374	if s.NextToken != nil && len(*s.NextToken) < 1 {
7375		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7376	}
7377	if s.PreviewToken == nil {
7378		invalidParams.Add(request.NewErrParamRequired("PreviewToken"))
7379	}
7380
7381	if invalidParams.Len() > 0 {
7382		return invalidParams
7383	}
7384	return nil
7385}
7386
7387// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
7388func (s *GetExclusionsPreviewInput) SetAssessmentTemplateArn(v string) *GetExclusionsPreviewInput {
7389	s.AssessmentTemplateArn = &v
7390	return s
7391}
7392
7393// SetLocale sets the Locale field's value.
7394func (s *GetExclusionsPreviewInput) SetLocale(v string) *GetExclusionsPreviewInput {
7395	s.Locale = &v
7396	return s
7397}
7398
7399// SetMaxResults sets the MaxResults field's value.
7400func (s *GetExclusionsPreviewInput) SetMaxResults(v int64) *GetExclusionsPreviewInput {
7401	s.MaxResults = &v
7402	return s
7403}
7404
7405// SetNextToken sets the NextToken field's value.
7406func (s *GetExclusionsPreviewInput) SetNextToken(v string) *GetExclusionsPreviewInput {
7407	s.NextToken = &v
7408	return s
7409}
7410
7411// SetPreviewToken sets the PreviewToken field's value.
7412func (s *GetExclusionsPreviewInput) SetPreviewToken(v string) *GetExclusionsPreviewInput {
7413	s.PreviewToken = &v
7414	return s
7415}
7416
7417type GetExclusionsPreviewOutput struct {
7418	_ struct{} `type:"structure"`
7419
7420	// Information about the exclusions included in the preview.
7421	ExclusionPreviews []*ExclusionPreview `locationName:"exclusionPreviews" type:"list"`
7422
7423	// When a response is generated, if there is more data to be listed, this parameters
7424	// is present in the response and contains the value to use for the nextToken
7425	// parameter in a subsequent pagination request. If there is no more data to
7426	// be listed, this parameter is set to null.
7427	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7428
7429	// Specifies the status of the request to generate an exclusions preview.
7430	//
7431	// PreviewStatus is a required field
7432	PreviewStatus *string `locationName:"previewStatus" type:"string" required:"true" enum:"PreviewStatus"`
7433}
7434
7435// String returns the string representation
7436func (s GetExclusionsPreviewOutput) String() string {
7437	return awsutil.Prettify(s)
7438}
7439
7440// GoString returns the string representation
7441func (s GetExclusionsPreviewOutput) GoString() string {
7442	return s.String()
7443}
7444
7445// SetExclusionPreviews sets the ExclusionPreviews field's value.
7446func (s *GetExclusionsPreviewOutput) SetExclusionPreviews(v []*ExclusionPreview) *GetExclusionsPreviewOutput {
7447	s.ExclusionPreviews = v
7448	return s
7449}
7450
7451// SetNextToken sets the NextToken field's value.
7452func (s *GetExclusionsPreviewOutput) SetNextToken(v string) *GetExclusionsPreviewOutput {
7453	s.NextToken = &v
7454	return s
7455}
7456
7457// SetPreviewStatus sets the PreviewStatus field's value.
7458func (s *GetExclusionsPreviewOutput) SetPreviewStatus(v string) *GetExclusionsPreviewOutput {
7459	s.PreviewStatus = &v
7460	return s
7461}
7462
7463type GetTelemetryMetadataInput struct {
7464	_ struct{} `type:"structure"`
7465
7466	// The ARN that specifies the assessment run that has the telemetry data that
7467	// you want to obtain.
7468	//
7469	// AssessmentRunArn is a required field
7470	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7471}
7472
7473// String returns the string representation
7474func (s GetTelemetryMetadataInput) String() string {
7475	return awsutil.Prettify(s)
7476}
7477
7478// GoString returns the string representation
7479func (s GetTelemetryMetadataInput) GoString() string {
7480	return s.String()
7481}
7482
7483// Validate inspects the fields of the type to determine if they are valid.
7484func (s *GetTelemetryMetadataInput) Validate() error {
7485	invalidParams := request.ErrInvalidParams{Context: "GetTelemetryMetadataInput"}
7486	if s.AssessmentRunArn == nil {
7487		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7488	}
7489	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7490		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7491	}
7492
7493	if invalidParams.Len() > 0 {
7494		return invalidParams
7495	}
7496	return nil
7497}
7498
7499// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7500func (s *GetTelemetryMetadataInput) SetAssessmentRunArn(v string) *GetTelemetryMetadataInput {
7501	s.AssessmentRunArn = &v
7502	return s
7503}
7504
7505type GetTelemetryMetadataOutput struct {
7506	_ struct{} `type:"structure"`
7507
7508	// Telemetry details.
7509	//
7510	// TelemetryMetadata is a required field
7511	TelemetryMetadata []*TelemetryMetadata `locationName:"telemetryMetadata" type:"list" required:"true"`
7512}
7513
7514// String returns the string representation
7515func (s GetTelemetryMetadataOutput) String() string {
7516	return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s GetTelemetryMetadataOutput) GoString() string {
7521	return s.String()
7522}
7523
7524// SetTelemetryMetadata sets the TelemetryMetadata field's value.
7525func (s *GetTelemetryMetadataOutput) SetTelemetryMetadata(v []*TelemetryMetadata) *GetTelemetryMetadataOutput {
7526	s.TelemetryMetadata = v
7527	return s
7528}
7529
7530// Internal server error.
7531type InternalException struct {
7532	_            struct{}                  `type:"structure"`
7533	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7534
7535	// You can immediately retry your request.
7536	//
7537	// CanRetry is a required field
7538	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
7539
7540	// Details of the exception error.
7541	Message_ *string `locationName:"message" type:"string"`
7542}
7543
7544// String returns the string representation
7545func (s InternalException) String() string {
7546	return awsutil.Prettify(s)
7547}
7548
7549// GoString returns the string representation
7550func (s InternalException) GoString() string {
7551	return s.String()
7552}
7553
7554func newErrorInternalException(v protocol.ResponseMetadata) error {
7555	return &InternalException{
7556		RespMetadata: v,
7557	}
7558}
7559
7560// Code returns the exception type name.
7561func (s *InternalException) Code() string {
7562	return "InternalException"
7563}
7564
7565// Message returns the exception's message.
7566func (s *InternalException) Message() string {
7567	if s.Message_ != nil {
7568		return *s.Message_
7569	}
7570	return ""
7571}
7572
7573// OrigErr always returns nil, satisfies awserr.Error interface.
7574func (s *InternalException) OrigErr() error {
7575	return nil
7576}
7577
7578func (s *InternalException) Error() string {
7579	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7580}
7581
7582// Status code returns the HTTP status code for the request's response error.
7583func (s *InternalException) StatusCode() int {
7584	return s.RespMetadata.StatusCode
7585}
7586
7587// RequestID returns the service's response RequestID for request.
7588func (s *InternalException) RequestID() string {
7589	return s.RespMetadata.RequestID
7590}
7591
7592// Amazon Inspector cannot assume the cross-account role that it needs to list
7593// your EC2 instances during the assessment run.
7594type InvalidCrossAccountRoleException struct {
7595	_            struct{}                  `type:"structure"`
7596	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7597
7598	// You can immediately retry your request.
7599	//
7600	// CanRetry is a required field
7601	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
7602
7603	// Code that indicates the type of error that is generated.
7604	//
7605	// ErrorCode is a required field
7606	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"InvalidCrossAccountRoleErrorCode"`
7607
7608	// Details of the exception error.
7609	Message_ *string `locationName:"message" type:"string"`
7610}
7611
7612// String returns the string representation
7613func (s InvalidCrossAccountRoleException) String() string {
7614	return awsutil.Prettify(s)
7615}
7616
7617// GoString returns the string representation
7618func (s InvalidCrossAccountRoleException) GoString() string {
7619	return s.String()
7620}
7621
7622func newErrorInvalidCrossAccountRoleException(v protocol.ResponseMetadata) error {
7623	return &InvalidCrossAccountRoleException{
7624		RespMetadata: v,
7625	}
7626}
7627
7628// Code returns the exception type name.
7629func (s *InvalidCrossAccountRoleException) Code() string {
7630	return "InvalidCrossAccountRoleException"
7631}
7632
7633// Message returns the exception's message.
7634func (s *InvalidCrossAccountRoleException) Message() string {
7635	if s.Message_ != nil {
7636		return *s.Message_
7637	}
7638	return ""
7639}
7640
7641// OrigErr always returns nil, satisfies awserr.Error interface.
7642func (s *InvalidCrossAccountRoleException) OrigErr() error {
7643	return nil
7644}
7645
7646func (s *InvalidCrossAccountRoleException) Error() string {
7647	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7648}
7649
7650// Status code returns the HTTP status code for the request's response error.
7651func (s *InvalidCrossAccountRoleException) StatusCode() int {
7652	return s.RespMetadata.StatusCode
7653}
7654
7655// RequestID returns the service's response RequestID for request.
7656func (s *InvalidCrossAccountRoleException) RequestID() string {
7657	return s.RespMetadata.RequestID
7658}
7659
7660// The request was rejected because an invalid or out-of-range value was supplied
7661// for an input parameter.
7662type InvalidInputException struct {
7663	_            struct{}                  `type:"structure"`
7664	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7665
7666	// You can immediately retry your request.
7667	//
7668	// CanRetry is a required field
7669	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
7670
7671	// Code that indicates the type of error that is generated.
7672	//
7673	// ErrorCode is a required field
7674	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"InvalidInputErrorCode"`
7675
7676	// Details of the exception error.
7677	Message_ *string `locationName:"message" type:"string"`
7678}
7679
7680// String returns the string representation
7681func (s InvalidInputException) String() string {
7682	return awsutil.Prettify(s)
7683}
7684
7685// GoString returns the string representation
7686func (s InvalidInputException) GoString() string {
7687	return s.String()
7688}
7689
7690func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
7691	return &InvalidInputException{
7692		RespMetadata: v,
7693	}
7694}
7695
7696// Code returns the exception type name.
7697func (s *InvalidInputException) Code() string {
7698	return "InvalidInputException"
7699}
7700
7701// Message returns the exception's message.
7702func (s *InvalidInputException) Message() string {
7703	if s.Message_ != nil {
7704		return *s.Message_
7705	}
7706	return ""
7707}
7708
7709// OrigErr always returns nil, satisfies awserr.Error interface.
7710func (s *InvalidInputException) OrigErr() error {
7711	return nil
7712}
7713
7714func (s *InvalidInputException) Error() string {
7715	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7716}
7717
7718// Status code returns the HTTP status code for the request's response error.
7719func (s *InvalidInputException) StatusCode() int {
7720	return s.RespMetadata.StatusCode
7721}
7722
7723// RequestID returns the service's response RequestID for request.
7724func (s *InvalidInputException) RequestID() string {
7725	return s.RespMetadata.RequestID
7726}
7727
7728// The request was rejected because it attempted to create resources beyond
7729// the current AWS account limits. The error code describes the limit exceeded.
7730type LimitExceededException struct {
7731	_            struct{}                  `type:"structure"`
7732	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7733
7734	// You can immediately retry your request.
7735	//
7736	// CanRetry is a required field
7737	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
7738
7739	// Code that indicates the type of error that is generated.
7740	//
7741	// ErrorCode is a required field
7742	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"LimitExceededErrorCode"`
7743
7744	// Details of the exception error.
7745	Message_ *string `locationName:"message" type:"string"`
7746}
7747
7748// String returns the string representation
7749func (s LimitExceededException) String() string {
7750	return awsutil.Prettify(s)
7751}
7752
7753// GoString returns the string representation
7754func (s LimitExceededException) GoString() string {
7755	return s.String()
7756}
7757
7758func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
7759	return &LimitExceededException{
7760		RespMetadata: v,
7761	}
7762}
7763
7764// Code returns the exception type name.
7765func (s *LimitExceededException) Code() string {
7766	return "LimitExceededException"
7767}
7768
7769// Message returns the exception's message.
7770func (s *LimitExceededException) Message() string {
7771	if s.Message_ != nil {
7772		return *s.Message_
7773	}
7774	return ""
7775}
7776
7777// OrigErr always returns nil, satisfies awserr.Error interface.
7778func (s *LimitExceededException) OrigErr() error {
7779	return nil
7780}
7781
7782func (s *LimitExceededException) Error() string {
7783	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7784}
7785
7786// Status code returns the HTTP status code for the request's response error.
7787func (s *LimitExceededException) StatusCode() int {
7788	return s.RespMetadata.StatusCode
7789}
7790
7791// RequestID returns the service's response RequestID for request.
7792func (s *LimitExceededException) RequestID() string {
7793	return s.RespMetadata.RequestID
7794}
7795
7796type ListAssessmentRunAgentsInput struct {
7797	_ struct{} `type:"structure"`
7798
7799	// The ARN that specifies the assessment run whose agents you want to list.
7800	//
7801	// AssessmentRunArn is a required field
7802	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
7803
7804	// You can use this parameter to specify a subset of data to be included in
7805	// the action's response.
7806	//
7807	// For a record to match a filter, all specified filter attributes must match.
7808	// When multiple values are specified for a filter attribute, any of the values
7809	// can match.
7810	Filter *AgentFilter `locationName:"filter" type:"structure"`
7811
7812	// You can use this parameter to indicate the maximum number of items that you
7813	// want in the response. The default value is 10. The maximum value is 500.
7814	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7815
7816	// You can use this parameter when paginating results. Set the value of this
7817	// parameter to null on your first call to the ListAssessmentRunAgents action.
7818	// Subsequent calls to the action fill nextToken in the request with the value
7819	// of NextToken from the previous response to continue listing data.
7820	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7821}
7822
7823// String returns the string representation
7824func (s ListAssessmentRunAgentsInput) String() string {
7825	return awsutil.Prettify(s)
7826}
7827
7828// GoString returns the string representation
7829func (s ListAssessmentRunAgentsInput) GoString() string {
7830	return s.String()
7831}
7832
7833// Validate inspects the fields of the type to determine if they are valid.
7834func (s *ListAssessmentRunAgentsInput) Validate() error {
7835	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentRunAgentsInput"}
7836	if s.AssessmentRunArn == nil {
7837		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
7838	}
7839	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
7840		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
7841	}
7842	if s.NextToken != nil && len(*s.NextToken) < 1 {
7843		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7844	}
7845	if s.Filter != nil {
7846		if err := s.Filter.Validate(); err != nil {
7847			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7848		}
7849	}
7850
7851	if invalidParams.Len() > 0 {
7852		return invalidParams
7853	}
7854	return nil
7855}
7856
7857// SetAssessmentRunArn sets the AssessmentRunArn field's value.
7858func (s *ListAssessmentRunAgentsInput) SetAssessmentRunArn(v string) *ListAssessmentRunAgentsInput {
7859	s.AssessmentRunArn = &v
7860	return s
7861}
7862
7863// SetFilter sets the Filter field's value.
7864func (s *ListAssessmentRunAgentsInput) SetFilter(v *AgentFilter) *ListAssessmentRunAgentsInput {
7865	s.Filter = v
7866	return s
7867}
7868
7869// SetMaxResults sets the MaxResults field's value.
7870func (s *ListAssessmentRunAgentsInput) SetMaxResults(v int64) *ListAssessmentRunAgentsInput {
7871	s.MaxResults = &v
7872	return s
7873}
7874
7875// SetNextToken sets the NextToken field's value.
7876func (s *ListAssessmentRunAgentsInput) SetNextToken(v string) *ListAssessmentRunAgentsInput {
7877	s.NextToken = &v
7878	return s
7879}
7880
7881type ListAssessmentRunAgentsOutput struct {
7882	_ struct{} `type:"structure"`
7883
7884	// A list of ARNs that specifies the agents returned by the action.
7885	//
7886	// AssessmentRunAgents is a required field
7887	AssessmentRunAgents []*AssessmentRunAgent `locationName:"assessmentRunAgents" type:"list" required:"true"`
7888
7889	// When a response is generated, if there is more data to be listed, this parameter
7890	// is present in the response and contains the value to use for the nextToken
7891	// parameter in a subsequent pagination request. If there is no more data to
7892	// be listed, this parameter is set to null.
7893	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7894}
7895
7896// String returns the string representation
7897func (s ListAssessmentRunAgentsOutput) String() string {
7898	return awsutil.Prettify(s)
7899}
7900
7901// GoString returns the string representation
7902func (s ListAssessmentRunAgentsOutput) GoString() string {
7903	return s.String()
7904}
7905
7906// SetAssessmentRunAgents sets the AssessmentRunAgents field's value.
7907func (s *ListAssessmentRunAgentsOutput) SetAssessmentRunAgents(v []*AssessmentRunAgent) *ListAssessmentRunAgentsOutput {
7908	s.AssessmentRunAgents = v
7909	return s
7910}
7911
7912// SetNextToken sets the NextToken field's value.
7913func (s *ListAssessmentRunAgentsOutput) SetNextToken(v string) *ListAssessmentRunAgentsOutput {
7914	s.NextToken = &v
7915	return s
7916}
7917
7918type ListAssessmentRunsInput struct {
7919	_ struct{} `type:"structure"`
7920
7921	// The ARNs that specify the assessment templates whose assessment runs you
7922	// want to list.
7923	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" type:"list"`
7924
7925	// You can use this parameter to specify a subset of data to be included in
7926	// the action's response.
7927	//
7928	// For a record to match a filter, all specified filter attributes must match.
7929	// When multiple values are specified for a filter attribute, any of the values
7930	// can match.
7931	Filter *AssessmentRunFilter `locationName:"filter" type:"structure"`
7932
7933	// You can use this parameter to indicate the maximum number of items that you
7934	// want in the response. The default value is 10. The maximum value is 500.
7935	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7936
7937	// You can use this parameter when paginating results. Set the value of this
7938	// parameter to null on your first call to the ListAssessmentRuns action. Subsequent
7939	// calls to the action fill nextToken in the request with the value of NextToken
7940	// from the previous response to continue listing data.
7941	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7942}
7943
7944// String returns the string representation
7945func (s ListAssessmentRunsInput) String() string {
7946	return awsutil.Prettify(s)
7947}
7948
7949// GoString returns the string representation
7950func (s ListAssessmentRunsInput) GoString() string {
7951	return s.String()
7952}
7953
7954// Validate inspects the fields of the type to determine if they are valid.
7955func (s *ListAssessmentRunsInput) Validate() error {
7956	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentRunsInput"}
7957	if s.NextToken != nil && len(*s.NextToken) < 1 {
7958		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7959	}
7960	if s.Filter != nil {
7961		if err := s.Filter.Validate(); err != nil {
7962			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
7963		}
7964	}
7965
7966	if invalidParams.Len() > 0 {
7967		return invalidParams
7968	}
7969	return nil
7970}
7971
7972// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
7973func (s *ListAssessmentRunsInput) SetAssessmentTemplateArns(v []*string) *ListAssessmentRunsInput {
7974	s.AssessmentTemplateArns = v
7975	return s
7976}
7977
7978// SetFilter sets the Filter field's value.
7979func (s *ListAssessmentRunsInput) SetFilter(v *AssessmentRunFilter) *ListAssessmentRunsInput {
7980	s.Filter = v
7981	return s
7982}
7983
7984// SetMaxResults sets the MaxResults field's value.
7985func (s *ListAssessmentRunsInput) SetMaxResults(v int64) *ListAssessmentRunsInput {
7986	s.MaxResults = &v
7987	return s
7988}
7989
7990// SetNextToken sets the NextToken field's value.
7991func (s *ListAssessmentRunsInput) SetNextToken(v string) *ListAssessmentRunsInput {
7992	s.NextToken = &v
7993	return s
7994}
7995
7996type ListAssessmentRunsOutput struct {
7997	_ struct{} `type:"structure"`
7998
7999	// A list of ARNs that specifies the assessment runs that are returned by the
8000	// action.
8001	//
8002	// AssessmentRunArns is a required field
8003	AssessmentRunArns []*string `locationName:"assessmentRunArns" type:"list" required:"true"`
8004
8005	// When a response is generated, if there is more data to be listed, this parameter
8006	// is present in the response and contains the value to use for the nextToken
8007	// parameter in a subsequent pagination request. If there is no more data to
8008	// be listed, this parameter is set to null.
8009	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8010}
8011
8012// String returns the string representation
8013func (s ListAssessmentRunsOutput) String() string {
8014	return awsutil.Prettify(s)
8015}
8016
8017// GoString returns the string representation
8018func (s ListAssessmentRunsOutput) GoString() string {
8019	return s.String()
8020}
8021
8022// SetAssessmentRunArns sets the AssessmentRunArns field's value.
8023func (s *ListAssessmentRunsOutput) SetAssessmentRunArns(v []*string) *ListAssessmentRunsOutput {
8024	s.AssessmentRunArns = v
8025	return s
8026}
8027
8028// SetNextToken sets the NextToken field's value.
8029func (s *ListAssessmentRunsOutput) SetNextToken(v string) *ListAssessmentRunsOutput {
8030	s.NextToken = &v
8031	return s
8032}
8033
8034type ListAssessmentTargetsInput struct {
8035	_ struct{} `type:"structure"`
8036
8037	// You can use this parameter to specify a subset of data to be included in
8038	// the action's response.
8039	//
8040	// For a record to match a filter, all specified filter attributes must match.
8041	// When multiple values are specified for a filter attribute, any of the values
8042	// can match.
8043	Filter *AssessmentTargetFilter `locationName:"filter" type:"structure"`
8044
8045	// You can use this parameter to indicate the maximum number of items you want
8046	// in the response. The default value is 10. The maximum value is 500.
8047	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8048
8049	// You can use this parameter when paginating results. Set the value of this
8050	// parameter to null on your first call to the ListAssessmentTargets action.
8051	// Subsequent calls to the action fill nextToken in the request with the value
8052	// of NextToken from the previous response to continue listing data.
8053	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8054}
8055
8056// String returns the string representation
8057func (s ListAssessmentTargetsInput) String() string {
8058	return awsutil.Prettify(s)
8059}
8060
8061// GoString returns the string representation
8062func (s ListAssessmentTargetsInput) GoString() string {
8063	return s.String()
8064}
8065
8066// Validate inspects the fields of the type to determine if they are valid.
8067func (s *ListAssessmentTargetsInput) Validate() error {
8068	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentTargetsInput"}
8069	if s.NextToken != nil && len(*s.NextToken) < 1 {
8070		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8071	}
8072	if s.Filter != nil {
8073		if err := s.Filter.Validate(); err != nil {
8074			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
8075		}
8076	}
8077
8078	if invalidParams.Len() > 0 {
8079		return invalidParams
8080	}
8081	return nil
8082}
8083
8084// SetFilter sets the Filter field's value.
8085func (s *ListAssessmentTargetsInput) SetFilter(v *AssessmentTargetFilter) *ListAssessmentTargetsInput {
8086	s.Filter = v
8087	return s
8088}
8089
8090// SetMaxResults sets the MaxResults field's value.
8091func (s *ListAssessmentTargetsInput) SetMaxResults(v int64) *ListAssessmentTargetsInput {
8092	s.MaxResults = &v
8093	return s
8094}
8095
8096// SetNextToken sets the NextToken field's value.
8097func (s *ListAssessmentTargetsInput) SetNextToken(v string) *ListAssessmentTargetsInput {
8098	s.NextToken = &v
8099	return s
8100}
8101
8102type ListAssessmentTargetsOutput struct {
8103	_ struct{} `type:"structure"`
8104
8105	// A list of ARNs that specifies the assessment targets that are returned by
8106	// the action.
8107	//
8108	// AssessmentTargetArns is a required field
8109	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" type:"list" required:"true"`
8110
8111	// When a response is generated, if there is more data to be listed, this parameter
8112	// is present in the response and contains the value to use for the nextToken
8113	// parameter in a subsequent pagination request. If there is no more data to
8114	// be listed, this parameter is set to null.
8115	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8116}
8117
8118// String returns the string representation
8119func (s ListAssessmentTargetsOutput) String() string {
8120	return awsutil.Prettify(s)
8121}
8122
8123// GoString returns the string representation
8124func (s ListAssessmentTargetsOutput) GoString() string {
8125	return s.String()
8126}
8127
8128// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
8129func (s *ListAssessmentTargetsOutput) SetAssessmentTargetArns(v []*string) *ListAssessmentTargetsOutput {
8130	s.AssessmentTargetArns = v
8131	return s
8132}
8133
8134// SetNextToken sets the NextToken field's value.
8135func (s *ListAssessmentTargetsOutput) SetNextToken(v string) *ListAssessmentTargetsOutput {
8136	s.NextToken = &v
8137	return s
8138}
8139
8140type ListAssessmentTemplatesInput struct {
8141	_ struct{} `type:"structure"`
8142
8143	// A list of ARNs that specifies the assessment targets whose assessment templates
8144	// you want to list.
8145	AssessmentTargetArns []*string `locationName:"assessmentTargetArns" type:"list"`
8146
8147	// You can use this parameter to specify a subset of data to be included in
8148	// the action's response.
8149	//
8150	// For a record to match a filter, all specified filter attributes must match.
8151	// When multiple values are specified for a filter attribute, any of the values
8152	// can match.
8153	Filter *AssessmentTemplateFilter `locationName:"filter" type:"structure"`
8154
8155	// You can use this parameter to indicate the maximum number of items you want
8156	// in the response. The default value is 10. The maximum value is 500.
8157	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8158
8159	// You can use this parameter when paginating results. Set the value of this
8160	// parameter to null on your first call to the ListAssessmentTemplates action.
8161	// Subsequent calls to the action fill nextToken in the request with the value
8162	// of NextToken from the previous response to continue listing data.
8163	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8164}
8165
8166// String returns the string representation
8167func (s ListAssessmentTemplatesInput) String() string {
8168	return awsutil.Prettify(s)
8169}
8170
8171// GoString returns the string representation
8172func (s ListAssessmentTemplatesInput) GoString() string {
8173	return s.String()
8174}
8175
8176// Validate inspects the fields of the type to determine if they are valid.
8177func (s *ListAssessmentTemplatesInput) Validate() error {
8178	invalidParams := request.ErrInvalidParams{Context: "ListAssessmentTemplatesInput"}
8179	if s.NextToken != nil && len(*s.NextToken) < 1 {
8180		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8181	}
8182	if s.Filter != nil {
8183		if err := s.Filter.Validate(); err != nil {
8184			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
8185		}
8186	}
8187
8188	if invalidParams.Len() > 0 {
8189		return invalidParams
8190	}
8191	return nil
8192}
8193
8194// SetAssessmentTargetArns sets the AssessmentTargetArns field's value.
8195func (s *ListAssessmentTemplatesInput) SetAssessmentTargetArns(v []*string) *ListAssessmentTemplatesInput {
8196	s.AssessmentTargetArns = v
8197	return s
8198}
8199
8200// SetFilter sets the Filter field's value.
8201func (s *ListAssessmentTemplatesInput) SetFilter(v *AssessmentTemplateFilter) *ListAssessmentTemplatesInput {
8202	s.Filter = v
8203	return s
8204}
8205
8206// SetMaxResults sets the MaxResults field's value.
8207func (s *ListAssessmentTemplatesInput) SetMaxResults(v int64) *ListAssessmentTemplatesInput {
8208	s.MaxResults = &v
8209	return s
8210}
8211
8212// SetNextToken sets the NextToken field's value.
8213func (s *ListAssessmentTemplatesInput) SetNextToken(v string) *ListAssessmentTemplatesInput {
8214	s.NextToken = &v
8215	return s
8216}
8217
8218type ListAssessmentTemplatesOutput struct {
8219	_ struct{} `type:"structure"`
8220
8221	// A list of ARNs that specifies the assessment templates returned by the action.
8222	//
8223	// AssessmentTemplateArns is a required field
8224	AssessmentTemplateArns []*string `locationName:"assessmentTemplateArns" type:"list" required:"true"`
8225
8226	// When a response is generated, if there is more data to be listed, this parameter
8227	// is present in the response and contains the value to use for the nextToken
8228	// parameter in a subsequent pagination request. If there is no more data to
8229	// be listed, this parameter is set to null.
8230	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8231}
8232
8233// String returns the string representation
8234func (s ListAssessmentTemplatesOutput) String() string {
8235	return awsutil.Prettify(s)
8236}
8237
8238// GoString returns the string representation
8239func (s ListAssessmentTemplatesOutput) GoString() string {
8240	return s.String()
8241}
8242
8243// SetAssessmentTemplateArns sets the AssessmentTemplateArns field's value.
8244func (s *ListAssessmentTemplatesOutput) SetAssessmentTemplateArns(v []*string) *ListAssessmentTemplatesOutput {
8245	s.AssessmentTemplateArns = v
8246	return s
8247}
8248
8249// SetNextToken sets the NextToken field's value.
8250func (s *ListAssessmentTemplatesOutput) SetNextToken(v string) *ListAssessmentTemplatesOutput {
8251	s.NextToken = &v
8252	return s
8253}
8254
8255type ListEventSubscriptionsInput struct {
8256	_ struct{} `type:"structure"`
8257
8258	// You can use this parameter to indicate the maximum number of items you want
8259	// in the response. The default value is 10. The maximum value is 500.
8260	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8261
8262	// You can use this parameter when paginating results. Set the value of this
8263	// parameter to null on your first call to the ListEventSubscriptions action.
8264	// Subsequent calls to the action fill nextToken in the request with the value
8265	// of NextToken from the previous response to continue listing data.
8266	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8267
8268	// The ARN of the assessment template for which you want to list the existing
8269	// event subscriptions.
8270	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
8271}
8272
8273// String returns the string representation
8274func (s ListEventSubscriptionsInput) String() string {
8275	return awsutil.Prettify(s)
8276}
8277
8278// GoString returns the string representation
8279func (s ListEventSubscriptionsInput) GoString() string {
8280	return s.String()
8281}
8282
8283// Validate inspects the fields of the type to determine if they are valid.
8284func (s *ListEventSubscriptionsInput) Validate() error {
8285	invalidParams := request.ErrInvalidParams{Context: "ListEventSubscriptionsInput"}
8286	if s.NextToken != nil && len(*s.NextToken) < 1 {
8287		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8288	}
8289	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8290		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8291	}
8292
8293	if invalidParams.Len() > 0 {
8294		return invalidParams
8295	}
8296	return nil
8297}
8298
8299// SetMaxResults sets the MaxResults field's value.
8300func (s *ListEventSubscriptionsInput) SetMaxResults(v int64) *ListEventSubscriptionsInput {
8301	s.MaxResults = &v
8302	return s
8303}
8304
8305// SetNextToken sets the NextToken field's value.
8306func (s *ListEventSubscriptionsInput) SetNextToken(v string) *ListEventSubscriptionsInput {
8307	s.NextToken = &v
8308	return s
8309}
8310
8311// SetResourceArn sets the ResourceArn field's value.
8312func (s *ListEventSubscriptionsInput) SetResourceArn(v string) *ListEventSubscriptionsInput {
8313	s.ResourceArn = &v
8314	return s
8315}
8316
8317type ListEventSubscriptionsOutput struct {
8318	_ struct{} `type:"structure"`
8319
8320	// When a response is generated, if there is more data to be listed, this parameter
8321	// is present in the response and contains the value to use for the nextToken
8322	// parameter in a subsequent pagination request. If there is no more data to
8323	// be listed, this parameter is set to null.
8324	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8325
8326	// Details of the returned event subscriptions.
8327	//
8328	// Subscriptions is a required field
8329	Subscriptions []*Subscription `locationName:"subscriptions" type:"list" required:"true"`
8330}
8331
8332// String returns the string representation
8333func (s ListEventSubscriptionsOutput) String() string {
8334	return awsutil.Prettify(s)
8335}
8336
8337// GoString returns the string representation
8338func (s ListEventSubscriptionsOutput) GoString() string {
8339	return s.String()
8340}
8341
8342// SetNextToken sets the NextToken field's value.
8343func (s *ListEventSubscriptionsOutput) SetNextToken(v string) *ListEventSubscriptionsOutput {
8344	s.NextToken = &v
8345	return s
8346}
8347
8348// SetSubscriptions sets the Subscriptions field's value.
8349func (s *ListEventSubscriptionsOutput) SetSubscriptions(v []*Subscription) *ListEventSubscriptionsOutput {
8350	s.Subscriptions = v
8351	return s
8352}
8353
8354type ListExclusionsInput struct {
8355	_ struct{} `type:"structure"`
8356
8357	// The ARN of the assessment run that generated the exclusions that you want
8358	// to list.
8359	//
8360	// AssessmentRunArn is a required field
8361	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
8362
8363	// You can use this parameter to indicate the maximum number of items you want
8364	// in the response. The default value is 100. The maximum value is 500.
8365	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8366
8367	// You can use this parameter when paginating results. Set the value of this
8368	// parameter to null on your first call to the ListExclusionsRequest action.
8369	// Subsequent calls to the action fill nextToken in the request with the value
8370	// of nextToken from the previous response to continue listing data.
8371	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8372}
8373
8374// String returns the string representation
8375func (s ListExclusionsInput) String() string {
8376	return awsutil.Prettify(s)
8377}
8378
8379// GoString returns the string representation
8380func (s ListExclusionsInput) GoString() string {
8381	return s.String()
8382}
8383
8384// Validate inspects the fields of the type to determine if they are valid.
8385func (s *ListExclusionsInput) Validate() error {
8386	invalidParams := request.ErrInvalidParams{Context: "ListExclusionsInput"}
8387	if s.AssessmentRunArn == nil {
8388		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
8389	}
8390	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
8391		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
8392	}
8393	if s.NextToken != nil && len(*s.NextToken) < 1 {
8394		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8395	}
8396
8397	if invalidParams.Len() > 0 {
8398		return invalidParams
8399	}
8400	return nil
8401}
8402
8403// SetAssessmentRunArn sets the AssessmentRunArn field's value.
8404func (s *ListExclusionsInput) SetAssessmentRunArn(v string) *ListExclusionsInput {
8405	s.AssessmentRunArn = &v
8406	return s
8407}
8408
8409// SetMaxResults sets the MaxResults field's value.
8410func (s *ListExclusionsInput) SetMaxResults(v int64) *ListExclusionsInput {
8411	s.MaxResults = &v
8412	return s
8413}
8414
8415// SetNextToken sets the NextToken field's value.
8416func (s *ListExclusionsInput) SetNextToken(v string) *ListExclusionsInput {
8417	s.NextToken = &v
8418	return s
8419}
8420
8421type ListExclusionsOutput struct {
8422	_ struct{} `type:"structure"`
8423
8424	// A list of exclusions' ARNs returned by the action.
8425	//
8426	// ExclusionArns is a required field
8427	ExclusionArns []*string `locationName:"exclusionArns" type:"list" required:"true"`
8428
8429	// When a response is generated, if there is more data to be listed, this parameters
8430	// is present in the response and contains the value to use for the nextToken
8431	// parameter in a subsequent pagination request. If there is no more data to
8432	// be listed, this parameter is set to null.
8433	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8434}
8435
8436// String returns the string representation
8437func (s ListExclusionsOutput) String() string {
8438	return awsutil.Prettify(s)
8439}
8440
8441// GoString returns the string representation
8442func (s ListExclusionsOutput) GoString() string {
8443	return s.String()
8444}
8445
8446// SetExclusionArns sets the ExclusionArns field's value.
8447func (s *ListExclusionsOutput) SetExclusionArns(v []*string) *ListExclusionsOutput {
8448	s.ExclusionArns = v
8449	return s
8450}
8451
8452// SetNextToken sets the NextToken field's value.
8453func (s *ListExclusionsOutput) SetNextToken(v string) *ListExclusionsOutput {
8454	s.NextToken = &v
8455	return s
8456}
8457
8458type ListFindingsInput struct {
8459	_ struct{} `type:"structure"`
8460
8461	// The ARNs of the assessment runs that generate the findings that you want
8462	// to list.
8463	AssessmentRunArns []*string `locationName:"assessmentRunArns" type:"list"`
8464
8465	// You can use this parameter to specify a subset of data to be included in
8466	// the action's response.
8467	//
8468	// For a record to match a filter, all specified filter attributes must match.
8469	// When multiple values are specified for a filter attribute, any of the values
8470	// can match.
8471	Filter *FindingFilter `locationName:"filter" type:"structure"`
8472
8473	// You can use this parameter to indicate the maximum number of items you want
8474	// in the response. The default value is 10. The maximum value is 500.
8475	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8476
8477	// You can use this parameter when paginating results. Set the value of this
8478	// parameter to null on your first call to the ListFindings action. Subsequent
8479	// calls to the action fill nextToken in the request with the value of NextToken
8480	// from the previous response to continue listing data.
8481	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8482}
8483
8484// String returns the string representation
8485func (s ListFindingsInput) String() string {
8486	return awsutil.Prettify(s)
8487}
8488
8489// GoString returns the string representation
8490func (s ListFindingsInput) GoString() string {
8491	return s.String()
8492}
8493
8494// Validate inspects the fields of the type to determine if they are valid.
8495func (s *ListFindingsInput) Validate() error {
8496	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
8497	if s.NextToken != nil && len(*s.NextToken) < 1 {
8498		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8499	}
8500	if s.Filter != nil {
8501		if err := s.Filter.Validate(); err != nil {
8502			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
8503		}
8504	}
8505
8506	if invalidParams.Len() > 0 {
8507		return invalidParams
8508	}
8509	return nil
8510}
8511
8512// SetAssessmentRunArns sets the AssessmentRunArns field's value.
8513func (s *ListFindingsInput) SetAssessmentRunArns(v []*string) *ListFindingsInput {
8514	s.AssessmentRunArns = v
8515	return s
8516}
8517
8518// SetFilter sets the Filter field's value.
8519func (s *ListFindingsInput) SetFilter(v *FindingFilter) *ListFindingsInput {
8520	s.Filter = v
8521	return s
8522}
8523
8524// SetMaxResults sets the MaxResults field's value.
8525func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
8526	s.MaxResults = &v
8527	return s
8528}
8529
8530// SetNextToken sets the NextToken field's value.
8531func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
8532	s.NextToken = &v
8533	return s
8534}
8535
8536type ListFindingsOutput struct {
8537	_ struct{} `type:"structure"`
8538
8539	// A list of ARNs that specifies the findings returned by the action.
8540	//
8541	// FindingArns is a required field
8542	FindingArns []*string `locationName:"findingArns" type:"list" required:"true"`
8543
8544	// When a response is generated, if there is more data to be listed, this parameter
8545	// is present in the response and contains the value to use for the nextToken
8546	// parameter in a subsequent pagination request. If there is no more data to
8547	// be listed, this parameter is set to null.
8548	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8549}
8550
8551// String returns the string representation
8552func (s ListFindingsOutput) String() string {
8553	return awsutil.Prettify(s)
8554}
8555
8556// GoString returns the string representation
8557func (s ListFindingsOutput) GoString() string {
8558	return s.String()
8559}
8560
8561// SetFindingArns sets the FindingArns field's value.
8562func (s *ListFindingsOutput) SetFindingArns(v []*string) *ListFindingsOutput {
8563	s.FindingArns = v
8564	return s
8565}
8566
8567// SetNextToken sets the NextToken field's value.
8568func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
8569	s.NextToken = &v
8570	return s
8571}
8572
8573type ListRulesPackagesInput struct {
8574	_ struct{} `type:"structure"`
8575
8576	// You can use this parameter to indicate the maximum number of items you want
8577	// in the response. The default value is 10. The maximum value is 500.
8578	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8579
8580	// You can use this parameter when paginating results. Set the value of this
8581	// parameter to null on your first call to the ListRulesPackages action. Subsequent
8582	// calls to the action fill nextToken in the request with the value of NextToken
8583	// from the previous response to continue listing data.
8584	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8585}
8586
8587// String returns the string representation
8588func (s ListRulesPackagesInput) String() string {
8589	return awsutil.Prettify(s)
8590}
8591
8592// GoString returns the string representation
8593func (s ListRulesPackagesInput) GoString() string {
8594	return s.String()
8595}
8596
8597// Validate inspects the fields of the type to determine if they are valid.
8598func (s *ListRulesPackagesInput) Validate() error {
8599	invalidParams := request.ErrInvalidParams{Context: "ListRulesPackagesInput"}
8600	if s.NextToken != nil && len(*s.NextToken) < 1 {
8601		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8602	}
8603
8604	if invalidParams.Len() > 0 {
8605		return invalidParams
8606	}
8607	return nil
8608}
8609
8610// SetMaxResults sets the MaxResults field's value.
8611func (s *ListRulesPackagesInput) SetMaxResults(v int64) *ListRulesPackagesInput {
8612	s.MaxResults = &v
8613	return s
8614}
8615
8616// SetNextToken sets the NextToken field's value.
8617func (s *ListRulesPackagesInput) SetNextToken(v string) *ListRulesPackagesInput {
8618	s.NextToken = &v
8619	return s
8620}
8621
8622type ListRulesPackagesOutput struct {
8623	_ struct{} `type:"structure"`
8624
8625	// When a response is generated, if there is more data to be listed, this parameter
8626	// is present in the response and contains the value to use for the nextToken
8627	// parameter in a subsequent pagination request. If there is no more data to
8628	// be listed, this parameter is set to null.
8629	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8630
8631	// The list of ARNs that specifies the rules packages returned by the action.
8632	//
8633	// RulesPackageArns is a required field
8634	RulesPackageArns []*string `locationName:"rulesPackageArns" type:"list" required:"true"`
8635}
8636
8637// String returns the string representation
8638func (s ListRulesPackagesOutput) String() string {
8639	return awsutil.Prettify(s)
8640}
8641
8642// GoString returns the string representation
8643func (s ListRulesPackagesOutput) GoString() string {
8644	return s.String()
8645}
8646
8647// SetNextToken sets the NextToken field's value.
8648func (s *ListRulesPackagesOutput) SetNextToken(v string) *ListRulesPackagesOutput {
8649	s.NextToken = &v
8650	return s
8651}
8652
8653// SetRulesPackageArns sets the RulesPackageArns field's value.
8654func (s *ListRulesPackagesOutput) SetRulesPackageArns(v []*string) *ListRulesPackagesOutput {
8655	s.RulesPackageArns = v
8656	return s
8657}
8658
8659type ListTagsForResourceInput struct {
8660	_ struct{} `type:"structure"`
8661
8662	// The ARN that specifies the assessment template whose tags you want to list.
8663	//
8664	// ResourceArn is a required field
8665	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
8666}
8667
8668// String returns the string representation
8669func (s ListTagsForResourceInput) String() string {
8670	return awsutil.Prettify(s)
8671}
8672
8673// GoString returns the string representation
8674func (s ListTagsForResourceInput) GoString() string {
8675	return s.String()
8676}
8677
8678// Validate inspects the fields of the type to determine if they are valid.
8679func (s *ListTagsForResourceInput) Validate() error {
8680	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8681	if s.ResourceArn == nil {
8682		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8683	}
8684	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8685		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8686	}
8687
8688	if invalidParams.Len() > 0 {
8689		return invalidParams
8690	}
8691	return nil
8692}
8693
8694// SetResourceArn sets the ResourceArn field's value.
8695func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8696	s.ResourceArn = &v
8697	return s
8698}
8699
8700type ListTagsForResourceOutput struct {
8701	_ struct{} `type:"structure"`
8702
8703	// A collection of key and value pairs.
8704	//
8705	// Tags is a required field
8706	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
8707}
8708
8709// String returns the string representation
8710func (s ListTagsForResourceOutput) String() string {
8711	return awsutil.Prettify(s)
8712}
8713
8714// GoString returns the string representation
8715func (s ListTagsForResourceOutput) GoString() string {
8716	return s.String()
8717}
8718
8719// SetTags sets the Tags field's value.
8720func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8721	s.Tags = v
8722	return s
8723}
8724
8725// Contains information about the network interfaces interacting with an EC2
8726// instance. This data type is used as one of the elements of the AssetAttributes
8727// data type.
8728type NetworkInterface struct {
8729	_ struct{} `type:"structure"`
8730
8731	// The IP addresses associated with the network interface.
8732	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
8733
8734	// The ID of the network interface.
8735	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
8736
8737	// The name of a private DNS associated with the network interface.
8738	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
8739
8740	// The private IP address associated with the network interface.
8741	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8742
8743	// A list of the private IP addresses associated with the network interface.
8744	// Includes the privateDnsName and privateIpAddress.
8745	PrivateIpAddresses []*PrivateIp `locationName:"privateIpAddresses" type:"list"`
8746
8747	// The name of a public DNS associated with the network interface.
8748	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
8749
8750	// The public IP address from which the network interface is reachable.
8751	PublicIp *string `locationName:"publicIp" type:"string"`
8752
8753	// A list of the security groups associated with the network interface. Includes
8754	// the groupId and groupName.
8755	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
8756
8757	// The ID of a subnet associated with the network interface.
8758	SubnetId *string `locationName:"subnetId" type:"string"`
8759
8760	// The ID of a VPC associated with the network interface.
8761	VpcId *string `locationName:"vpcId" type:"string"`
8762}
8763
8764// String returns the string representation
8765func (s NetworkInterface) String() string {
8766	return awsutil.Prettify(s)
8767}
8768
8769// GoString returns the string representation
8770func (s NetworkInterface) GoString() string {
8771	return s.String()
8772}
8773
8774// SetIpv6Addresses sets the Ipv6Addresses field's value.
8775func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
8776	s.Ipv6Addresses = v
8777	return s
8778}
8779
8780// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8781func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
8782	s.NetworkInterfaceId = &v
8783	return s
8784}
8785
8786// SetPrivateDnsName sets the PrivateDnsName field's value.
8787func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
8788	s.PrivateDnsName = &v
8789	return s
8790}
8791
8792// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8793func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
8794	s.PrivateIpAddress = &v
8795	return s
8796}
8797
8798// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
8799func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIp) *NetworkInterface {
8800	s.PrivateIpAddresses = v
8801	return s
8802}
8803
8804// SetPublicDnsName sets the PublicDnsName field's value.
8805func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
8806	s.PublicDnsName = &v
8807	return s
8808}
8809
8810// SetPublicIp sets the PublicIp field's value.
8811func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
8812	s.PublicIp = &v
8813	return s
8814}
8815
8816// SetSecurityGroups sets the SecurityGroups field's value.
8817func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
8818	s.SecurityGroups = v
8819	return s
8820}
8821
8822// SetSubnetId sets the SubnetId field's value.
8823func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
8824	s.SubnetId = &v
8825	return s
8826}
8827
8828// SetVpcId sets the VpcId field's value.
8829func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
8830	s.VpcId = &v
8831	return s
8832}
8833
8834// The request was rejected because it referenced an entity that does not exist.
8835// The error code describes the entity.
8836type NoSuchEntityException struct {
8837	_            struct{}                  `type:"structure"`
8838	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8839
8840	// You can immediately retry your request.
8841	//
8842	// CanRetry is a required field
8843	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
8844
8845	// Code that indicates the type of error that is generated.
8846	//
8847	// ErrorCode is a required field
8848	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"NoSuchEntityErrorCode"`
8849
8850	// Details of the exception error.
8851	Message_ *string `locationName:"message" type:"string"`
8852}
8853
8854// String returns the string representation
8855func (s NoSuchEntityException) String() string {
8856	return awsutil.Prettify(s)
8857}
8858
8859// GoString returns the string representation
8860func (s NoSuchEntityException) GoString() string {
8861	return s.String()
8862}
8863
8864func newErrorNoSuchEntityException(v protocol.ResponseMetadata) error {
8865	return &NoSuchEntityException{
8866		RespMetadata: v,
8867	}
8868}
8869
8870// Code returns the exception type name.
8871func (s *NoSuchEntityException) Code() string {
8872	return "NoSuchEntityException"
8873}
8874
8875// Message returns the exception's message.
8876func (s *NoSuchEntityException) Message() string {
8877	if s.Message_ != nil {
8878		return *s.Message_
8879	}
8880	return ""
8881}
8882
8883// OrigErr always returns nil, satisfies awserr.Error interface.
8884func (s *NoSuchEntityException) OrigErr() error {
8885	return nil
8886}
8887
8888func (s *NoSuchEntityException) Error() string {
8889	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8890}
8891
8892// Status code returns the HTTP status code for the request's response error.
8893func (s *NoSuchEntityException) StatusCode() int {
8894	return s.RespMetadata.StatusCode
8895}
8896
8897// RequestID returns the service's response RequestID for request.
8898func (s *NoSuchEntityException) RequestID() string {
8899	return s.RespMetadata.RequestID
8900}
8901
8902type PreviewAgentsInput struct {
8903	_ struct{} `type:"structure"`
8904
8905	// You can use this parameter to indicate the maximum number of items you want
8906	// in the response. The default value is 10. The maximum value is 500.
8907	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8908
8909	// You can use this parameter when paginating results. Set the value of this
8910	// parameter to null on your first call to the PreviewAgents action. Subsequent
8911	// calls to the action fill nextToken in the request with the value of NextToken
8912	// from the previous response to continue listing data.
8913	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8914
8915	// The ARN of the assessment target whose agents you want to preview.
8916	//
8917	// PreviewAgentsArn is a required field
8918	PreviewAgentsArn *string `locationName:"previewAgentsArn" min:"1" type:"string" required:"true"`
8919}
8920
8921// String returns the string representation
8922func (s PreviewAgentsInput) String() string {
8923	return awsutil.Prettify(s)
8924}
8925
8926// GoString returns the string representation
8927func (s PreviewAgentsInput) GoString() string {
8928	return s.String()
8929}
8930
8931// Validate inspects the fields of the type to determine if they are valid.
8932func (s *PreviewAgentsInput) Validate() error {
8933	invalidParams := request.ErrInvalidParams{Context: "PreviewAgentsInput"}
8934	if s.NextToken != nil && len(*s.NextToken) < 1 {
8935		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8936	}
8937	if s.PreviewAgentsArn == nil {
8938		invalidParams.Add(request.NewErrParamRequired("PreviewAgentsArn"))
8939	}
8940	if s.PreviewAgentsArn != nil && len(*s.PreviewAgentsArn) < 1 {
8941		invalidParams.Add(request.NewErrParamMinLen("PreviewAgentsArn", 1))
8942	}
8943
8944	if invalidParams.Len() > 0 {
8945		return invalidParams
8946	}
8947	return nil
8948}
8949
8950// SetMaxResults sets the MaxResults field's value.
8951func (s *PreviewAgentsInput) SetMaxResults(v int64) *PreviewAgentsInput {
8952	s.MaxResults = &v
8953	return s
8954}
8955
8956// SetNextToken sets the NextToken field's value.
8957func (s *PreviewAgentsInput) SetNextToken(v string) *PreviewAgentsInput {
8958	s.NextToken = &v
8959	return s
8960}
8961
8962// SetPreviewAgentsArn sets the PreviewAgentsArn field's value.
8963func (s *PreviewAgentsInput) SetPreviewAgentsArn(v string) *PreviewAgentsInput {
8964	s.PreviewAgentsArn = &v
8965	return s
8966}
8967
8968type PreviewAgentsOutput struct {
8969	_ struct{} `type:"structure"`
8970
8971	// The resulting list of agents.
8972	//
8973	// AgentPreviews is a required field
8974	AgentPreviews []*AgentPreview `locationName:"agentPreviews" type:"list" required:"true"`
8975
8976	// When a response is generated, if there is more data to be listed, this parameter
8977	// is present in the response and contains the value to use for the nextToken
8978	// parameter in a subsequent pagination request. If there is no more data to
8979	// be listed, this parameter is set to null.
8980	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8981}
8982
8983// String returns the string representation
8984func (s PreviewAgentsOutput) String() string {
8985	return awsutil.Prettify(s)
8986}
8987
8988// GoString returns the string representation
8989func (s PreviewAgentsOutput) GoString() string {
8990	return s.String()
8991}
8992
8993// SetAgentPreviews sets the AgentPreviews field's value.
8994func (s *PreviewAgentsOutput) SetAgentPreviews(v []*AgentPreview) *PreviewAgentsOutput {
8995	s.AgentPreviews = v
8996	return s
8997}
8998
8999// SetNextToken sets the NextToken field's value.
9000func (s *PreviewAgentsOutput) SetNextToken(v string) *PreviewAgentsOutput {
9001	s.NextToken = &v
9002	return s
9003}
9004
9005// The request is rejected. The specified assessment template is currently generating
9006// an exclusions preview.
9007type PreviewGenerationInProgressException struct {
9008	_            struct{}                  `type:"structure"`
9009	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9010
9011	Message_ *string `locationName:"message" type:"string"`
9012}
9013
9014// String returns the string representation
9015func (s PreviewGenerationInProgressException) String() string {
9016	return awsutil.Prettify(s)
9017}
9018
9019// GoString returns the string representation
9020func (s PreviewGenerationInProgressException) GoString() string {
9021	return s.String()
9022}
9023
9024func newErrorPreviewGenerationInProgressException(v protocol.ResponseMetadata) error {
9025	return &PreviewGenerationInProgressException{
9026		RespMetadata: v,
9027	}
9028}
9029
9030// Code returns the exception type name.
9031func (s *PreviewGenerationInProgressException) Code() string {
9032	return "PreviewGenerationInProgressException"
9033}
9034
9035// Message returns the exception's message.
9036func (s *PreviewGenerationInProgressException) Message() string {
9037	if s.Message_ != nil {
9038		return *s.Message_
9039	}
9040	return ""
9041}
9042
9043// OrigErr always returns nil, satisfies awserr.Error interface.
9044func (s *PreviewGenerationInProgressException) OrigErr() error {
9045	return nil
9046}
9047
9048func (s *PreviewGenerationInProgressException) Error() string {
9049	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9050}
9051
9052// Status code returns the HTTP status code for the request's response error.
9053func (s *PreviewGenerationInProgressException) StatusCode() int {
9054	return s.RespMetadata.StatusCode
9055}
9056
9057// RequestID returns the service's response RequestID for request.
9058func (s *PreviewGenerationInProgressException) RequestID() string {
9059	return s.RespMetadata.RequestID
9060}
9061
9062// Contains information about a private IP address associated with a network
9063// interface. This data type is used as a response element in the DescribeFindings
9064// action.
9065type PrivateIp struct {
9066	_ struct{} `type:"structure"`
9067
9068	// The DNS name of the private IP address.
9069	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
9070
9071	// The full IP address of the network inteface.
9072	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
9073}
9074
9075// String returns the string representation
9076func (s PrivateIp) String() string {
9077	return awsutil.Prettify(s)
9078}
9079
9080// GoString returns the string representation
9081func (s PrivateIp) GoString() string {
9082	return s.String()
9083}
9084
9085// SetPrivateDnsName sets the PrivateDnsName field's value.
9086func (s *PrivateIp) SetPrivateDnsName(v string) *PrivateIp {
9087	s.PrivateDnsName = &v
9088	return s
9089}
9090
9091// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9092func (s *PrivateIp) SetPrivateIpAddress(v string) *PrivateIp {
9093	s.PrivateIpAddress = &v
9094	return s
9095}
9096
9097type RegisterCrossAccountAccessRoleInput struct {
9098	_ struct{} `type:"structure"`
9099
9100	// The ARN of the IAM role that grants Amazon Inspector access to AWS Services
9101	// needed to perform security assessments.
9102	//
9103	// RoleArn is a required field
9104	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
9105}
9106
9107// String returns the string representation
9108func (s RegisterCrossAccountAccessRoleInput) String() string {
9109	return awsutil.Prettify(s)
9110}
9111
9112// GoString returns the string representation
9113func (s RegisterCrossAccountAccessRoleInput) GoString() string {
9114	return s.String()
9115}
9116
9117// Validate inspects the fields of the type to determine if they are valid.
9118func (s *RegisterCrossAccountAccessRoleInput) Validate() error {
9119	invalidParams := request.ErrInvalidParams{Context: "RegisterCrossAccountAccessRoleInput"}
9120	if s.RoleArn == nil {
9121		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9122	}
9123	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
9124		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
9125	}
9126
9127	if invalidParams.Len() > 0 {
9128		return invalidParams
9129	}
9130	return nil
9131}
9132
9133// SetRoleArn sets the RoleArn field's value.
9134func (s *RegisterCrossAccountAccessRoleInput) SetRoleArn(v string) *RegisterCrossAccountAccessRoleInput {
9135	s.RoleArn = &v
9136	return s
9137}
9138
9139type RegisterCrossAccountAccessRoleOutput struct {
9140	_ struct{} `type:"structure"`
9141}
9142
9143// String returns the string representation
9144func (s RegisterCrossAccountAccessRoleOutput) String() string {
9145	return awsutil.Prettify(s)
9146}
9147
9148// GoString returns the string representation
9149func (s RegisterCrossAccountAccessRoleOutput) GoString() string {
9150	return s.String()
9151}
9152
9153type RemoveAttributesFromFindingsInput struct {
9154	_ struct{} `type:"structure"`
9155
9156	// The array of attribute keys that you want to remove from specified findings.
9157	//
9158	// AttributeKeys is a required field
9159	AttributeKeys []*string `locationName:"attributeKeys" type:"list" required:"true"`
9160
9161	// The ARNs that specify the findings that you want to remove attributes from.
9162	//
9163	// FindingArns is a required field
9164	FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"`
9165}
9166
9167// String returns the string representation
9168func (s RemoveAttributesFromFindingsInput) String() string {
9169	return awsutil.Prettify(s)
9170}
9171
9172// GoString returns the string representation
9173func (s RemoveAttributesFromFindingsInput) GoString() string {
9174	return s.String()
9175}
9176
9177// Validate inspects the fields of the type to determine if they are valid.
9178func (s *RemoveAttributesFromFindingsInput) Validate() error {
9179	invalidParams := request.ErrInvalidParams{Context: "RemoveAttributesFromFindingsInput"}
9180	if s.AttributeKeys == nil {
9181		invalidParams.Add(request.NewErrParamRequired("AttributeKeys"))
9182	}
9183	if s.FindingArns == nil {
9184		invalidParams.Add(request.NewErrParamRequired("FindingArns"))
9185	}
9186	if s.FindingArns != nil && len(s.FindingArns) < 1 {
9187		invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1))
9188	}
9189
9190	if invalidParams.Len() > 0 {
9191		return invalidParams
9192	}
9193	return nil
9194}
9195
9196// SetAttributeKeys sets the AttributeKeys field's value.
9197func (s *RemoveAttributesFromFindingsInput) SetAttributeKeys(v []*string) *RemoveAttributesFromFindingsInput {
9198	s.AttributeKeys = v
9199	return s
9200}
9201
9202// SetFindingArns sets the FindingArns field's value.
9203func (s *RemoveAttributesFromFindingsInput) SetFindingArns(v []*string) *RemoveAttributesFromFindingsInput {
9204	s.FindingArns = v
9205	return s
9206}
9207
9208type RemoveAttributesFromFindingsOutput struct {
9209	_ struct{} `type:"structure"`
9210
9211	// Attributes details that cannot be described. An error code is provided for
9212	// each failed item.
9213	//
9214	// FailedItems is a required field
9215	FailedItems map[string]*FailedItemDetails `locationName:"failedItems" type:"map" required:"true"`
9216}
9217
9218// String returns the string representation
9219func (s RemoveAttributesFromFindingsOutput) String() string {
9220	return awsutil.Prettify(s)
9221}
9222
9223// GoString returns the string representation
9224func (s RemoveAttributesFromFindingsOutput) GoString() string {
9225	return s.String()
9226}
9227
9228// SetFailedItems sets the FailedItems field's value.
9229func (s *RemoveAttributesFromFindingsOutput) SetFailedItems(v map[string]*FailedItemDetails) *RemoveAttributesFromFindingsOutput {
9230	s.FailedItems = v
9231	return s
9232}
9233
9234// Contains information about a resource group. The resource group defines a
9235// set of tags that, when queried, identify the AWS resources that make up the
9236// assessment target. This data type is used as the response element in the
9237// DescribeResourceGroups action.
9238type ResourceGroup struct {
9239	_ struct{} `type:"structure"`
9240
9241	// The ARN of the resource group.
9242	//
9243	// Arn is a required field
9244	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
9245
9246	// The time at which resource group is created.
9247	//
9248	// CreatedAt is a required field
9249	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
9250
9251	// The tags (key and value pairs) of the resource group. This data type property
9252	// is used in the CreateResourceGroup action.
9253	//
9254	// Tags is a required field
9255	Tags []*ResourceGroupTag `locationName:"tags" min:"1" type:"list" required:"true"`
9256}
9257
9258// String returns the string representation
9259func (s ResourceGroup) String() string {
9260	return awsutil.Prettify(s)
9261}
9262
9263// GoString returns the string representation
9264func (s ResourceGroup) GoString() string {
9265	return s.String()
9266}
9267
9268// SetArn sets the Arn field's value.
9269func (s *ResourceGroup) SetArn(v string) *ResourceGroup {
9270	s.Arn = &v
9271	return s
9272}
9273
9274// SetCreatedAt sets the CreatedAt field's value.
9275func (s *ResourceGroup) SetCreatedAt(v time.Time) *ResourceGroup {
9276	s.CreatedAt = &v
9277	return s
9278}
9279
9280// SetTags sets the Tags field's value.
9281func (s *ResourceGroup) SetTags(v []*ResourceGroupTag) *ResourceGroup {
9282	s.Tags = v
9283	return s
9284}
9285
9286// This data type is used as one of the elements of the ResourceGroup data type.
9287type ResourceGroupTag struct {
9288	_ struct{} `type:"structure"`
9289
9290	// A tag key.
9291	//
9292	// Key is a required field
9293	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
9294
9295	// The value assigned to a tag key.
9296	Value *string `locationName:"value" min:"1" type:"string"`
9297}
9298
9299// String returns the string representation
9300func (s ResourceGroupTag) String() string {
9301	return awsutil.Prettify(s)
9302}
9303
9304// GoString returns the string representation
9305func (s ResourceGroupTag) GoString() string {
9306	return s.String()
9307}
9308
9309// Validate inspects the fields of the type to determine if they are valid.
9310func (s *ResourceGroupTag) Validate() error {
9311	invalidParams := request.ErrInvalidParams{Context: "ResourceGroupTag"}
9312	if s.Key == nil {
9313		invalidParams.Add(request.NewErrParamRequired("Key"))
9314	}
9315	if s.Key != nil && len(*s.Key) < 1 {
9316		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9317	}
9318	if s.Value != nil && len(*s.Value) < 1 {
9319		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
9320	}
9321
9322	if invalidParams.Len() > 0 {
9323		return invalidParams
9324	}
9325	return nil
9326}
9327
9328// SetKey sets the Key field's value.
9329func (s *ResourceGroupTag) SetKey(v string) *ResourceGroupTag {
9330	s.Key = &v
9331	return s
9332}
9333
9334// SetValue sets the Value field's value.
9335func (s *ResourceGroupTag) SetValue(v string) *ResourceGroupTag {
9336	s.Value = &v
9337	return s
9338}
9339
9340// Contains information about an Amazon Inspector rules package. This data type
9341// is used as the response element in the DescribeRulesPackages action.
9342type RulesPackage struct {
9343	_ struct{} `type:"structure"`
9344
9345	// The ARN of the rules package.
9346	//
9347	// Arn is a required field
9348	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
9349
9350	// The description of the rules package.
9351	Description *string `locationName:"description" type:"string"`
9352
9353	// The name of the rules package.
9354	//
9355	// Name is a required field
9356	Name *string `locationName:"name" type:"string" required:"true"`
9357
9358	// The provider of the rules package.
9359	//
9360	// Provider is a required field
9361	Provider *string `locationName:"provider" type:"string" required:"true"`
9362
9363	// The version ID of the rules package.
9364	//
9365	// Version is a required field
9366	Version *string `locationName:"version" type:"string" required:"true"`
9367}
9368
9369// String returns the string representation
9370func (s RulesPackage) String() string {
9371	return awsutil.Prettify(s)
9372}
9373
9374// GoString returns the string representation
9375func (s RulesPackage) GoString() string {
9376	return s.String()
9377}
9378
9379// SetArn sets the Arn field's value.
9380func (s *RulesPackage) SetArn(v string) *RulesPackage {
9381	s.Arn = &v
9382	return s
9383}
9384
9385// SetDescription sets the Description field's value.
9386func (s *RulesPackage) SetDescription(v string) *RulesPackage {
9387	s.Description = &v
9388	return s
9389}
9390
9391// SetName sets the Name field's value.
9392func (s *RulesPackage) SetName(v string) *RulesPackage {
9393	s.Name = &v
9394	return s
9395}
9396
9397// SetProvider sets the Provider field's value.
9398func (s *RulesPackage) SetProvider(v string) *RulesPackage {
9399	s.Provider = &v
9400	return s
9401}
9402
9403// SetVersion sets the Version field's value.
9404func (s *RulesPackage) SetVersion(v string) *RulesPackage {
9405	s.Version = &v
9406	return s
9407}
9408
9409// This data type contains key-value pairs that identify various Amazon resources.
9410type Scope struct {
9411	_ struct{} `type:"structure"`
9412
9413	// The type of the scope.
9414	Key *string `locationName:"key" type:"string" enum:"ScopeType"`
9415
9416	// The resource identifier for the specified scope type.
9417	Value *string `locationName:"value" type:"string"`
9418}
9419
9420// String returns the string representation
9421func (s Scope) String() string {
9422	return awsutil.Prettify(s)
9423}
9424
9425// GoString returns the string representation
9426func (s Scope) GoString() string {
9427	return s.String()
9428}
9429
9430// SetKey sets the Key field's value.
9431func (s *Scope) SetKey(v string) *Scope {
9432	s.Key = &v
9433	return s
9434}
9435
9436// SetValue sets the Value field's value.
9437func (s *Scope) SetValue(v string) *Scope {
9438	s.Value = &v
9439	return s
9440}
9441
9442// Contains information about a security group associated with a network interface.
9443// This data type is used as one of the elements of the NetworkInterface data
9444// type.
9445type SecurityGroup struct {
9446	_ struct{} `type:"structure"`
9447
9448	// The ID of the security group.
9449	GroupId *string `locationName:"groupId" type:"string"`
9450
9451	// The name of the security group.
9452	GroupName *string `locationName:"groupName" type:"string"`
9453}
9454
9455// String returns the string representation
9456func (s SecurityGroup) String() string {
9457	return awsutil.Prettify(s)
9458}
9459
9460// GoString returns the string representation
9461func (s SecurityGroup) GoString() string {
9462	return s.String()
9463}
9464
9465// SetGroupId sets the GroupId field's value.
9466func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
9467	s.GroupId = &v
9468	return s
9469}
9470
9471// SetGroupName sets the GroupName field's value.
9472func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
9473	s.GroupName = &v
9474	return s
9475}
9476
9477// This data type is used in the Finding data type.
9478type ServiceAttributes struct {
9479	_ struct{} `type:"structure"`
9480
9481	// The ARN of the assessment run during which the finding is generated.
9482	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string"`
9483
9484	// The ARN of the rules package that is used to generate the finding.
9485	RulesPackageArn *string `locationName:"rulesPackageArn" min:"1" type:"string"`
9486
9487	// The schema version of this data type.
9488	//
9489	// SchemaVersion is a required field
9490	SchemaVersion *int64 `locationName:"schemaVersion" type:"integer" required:"true"`
9491}
9492
9493// String returns the string representation
9494func (s ServiceAttributes) String() string {
9495	return awsutil.Prettify(s)
9496}
9497
9498// GoString returns the string representation
9499func (s ServiceAttributes) GoString() string {
9500	return s.String()
9501}
9502
9503// SetAssessmentRunArn sets the AssessmentRunArn field's value.
9504func (s *ServiceAttributes) SetAssessmentRunArn(v string) *ServiceAttributes {
9505	s.AssessmentRunArn = &v
9506	return s
9507}
9508
9509// SetRulesPackageArn sets the RulesPackageArn field's value.
9510func (s *ServiceAttributes) SetRulesPackageArn(v string) *ServiceAttributes {
9511	s.RulesPackageArn = &v
9512	return s
9513}
9514
9515// SetSchemaVersion sets the SchemaVersion field's value.
9516func (s *ServiceAttributes) SetSchemaVersion(v int64) *ServiceAttributes {
9517	s.SchemaVersion = &v
9518	return s
9519}
9520
9521// The serice is temporary unavailable.
9522type ServiceTemporarilyUnavailableException struct {
9523	_            struct{}                  `type:"structure"`
9524	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9525
9526	// You can wait and then retry your request.
9527	//
9528	// CanRetry is a required field
9529	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
9530
9531	// Details of the exception error.
9532	Message_ *string `locationName:"message" type:"string"`
9533}
9534
9535// String returns the string representation
9536func (s ServiceTemporarilyUnavailableException) String() string {
9537	return awsutil.Prettify(s)
9538}
9539
9540// GoString returns the string representation
9541func (s ServiceTemporarilyUnavailableException) GoString() string {
9542	return s.String()
9543}
9544
9545func newErrorServiceTemporarilyUnavailableException(v protocol.ResponseMetadata) error {
9546	return &ServiceTemporarilyUnavailableException{
9547		RespMetadata: v,
9548	}
9549}
9550
9551// Code returns the exception type name.
9552func (s *ServiceTemporarilyUnavailableException) Code() string {
9553	return "ServiceTemporarilyUnavailableException"
9554}
9555
9556// Message returns the exception's message.
9557func (s *ServiceTemporarilyUnavailableException) Message() string {
9558	if s.Message_ != nil {
9559		return *s.Message_
9560	}
9561	return ""
9562}
9563
9564// OrigErr always returns nil, satisfies awserr.Error interface.
9565func (s *ServiceTemporarilyUnavailableException) OrigErr() error {
9566	return nil
9567}
9568
9569func (s *ServiceTemporarilyUnavailableException) Error() string {
9570	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9571}
9572
9573// Status code returns the HTTP status code for the request's response error.
9574func (s *ServiceTemporarilyUnavailableException) StatusCode() int {
9575	return s.RespMetadata.StatusCode
9576}
9577
9578// RequestID returns the service's response RequestID for request.
9579func (s *ServiceTemporarilyUnavailableException) RequestID() string {
9580	return s.RespMetadata.RequestID
9581}
9582
9583type SetTagsForResourceInput struct {
9584	_ struct{} `type:"structure"`
9585
9586	// The ARN of the assessment template that you want to set tags to.
9587	//
9588	// ResourceArn is a required field
9589	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9590
9591	// A collection of key and value pairs that you want to set to the assessment
9592	// template.
9593	Tags []*Tag `locationName:"tags" type:"list"`
9594}
9595
9596// String returns the string representation
9597func (s SetTagsForResourceInput) String() string {
9598	return awsutil.Prettify(s)
9599}
9600
9601// GoString returns the string representation
9602func (s SetTagsForResourceInput) GoString() string {
9603	return s.String()
9604}
9605
9606// Validate inspects the fields of the type to determine if they are valid.
9607func (s *SetTagsForResourceInput) Validate() error {
9608	invalidParams := request.ErrInvalidParams{Context: "SetTagsForResourceInput"}
9609	if s.ResourceArn == nil {
9610		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9611	}
9612	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9613		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9614	}
9615	if s.Tags != nil {
9616		for i, v := range s.Tags {
9617			if v == nil {
9618				continue
9619			}
9620			if err := v.Validate(); err != nil {
9621				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9622			}
9623		}
9624	}
9625
9626	if invalidParams.Len() > 0 {
9627		return invalidParams
9628	}
9629	return nil
9630}
9631
9632// SetResourceArn sets the ResourceArn field's value.
9633func (s *SetTagsForResourceInput) SetResourceArn(v string) *SetTagsForResourceInput {
9634	s.ResourceArn = &v
9635	return s
9636}
9637
9638// SetTags sets the Tags field's value.
9639func (s *SetTagsForResourceInput) SetTags(v []*Tag) *SetTagsForResourceInput {
9640	s.Tags = v
9641	return s
9642}
9643
9644type SetTagsForResourceOutput struct {
9645	_ struct{} `type:"structure"`
9646}
9647
9648// String returns the string representation
9649func (s SetTagsForResourceOutput) String() string {
9650	return awsutil.Prettify(s)
9651}
9652
9653// GoString returns the string representation
9654func (s SetTagsForResourceOutput) GoString() string {
9655	return s.String()
9656}
9657
9658type StartAssessmentRunInput struct {
9659	_ struct{} `type:"structure"`
9660
9661	// You can specify the name for the assessment run. The name must be unique
9662	// for the assessment template whose ARN is used to start the assessment run.
9663	AssessmentRunName *string `locationName:"assessmentRunName" min:"1" type:"string"`
9664
9665	// The ARN of the assessment template of the assessment run that you want to
9666	// start.
9667	//
9668	// AssessmentTemplateArn is a required field
9669	AssessmentTemplateArn *string `locationName:"assessmentTemplateArn" min:"1" type:"string" required:"true"`
9670}
9671
9672// String returns the string representation
9673func (s StartAssessmentRunInput) String() string {
9674	return awsutil.Prettify(s)
9675}
9676
9677// GoString returns the string representation
9678func (s StartAssessmentRunInput) GoString() string {
9679	return s.String()
9680}
9681
9682// Validate inspects the fields of the type to determine if they are valid.
9683func (s *StartAssessmentRunInput) Validate() error {
9684	invalidParams := request.ErrInvalidParams{Context: "StartAssessmentRunInput"}
9685	if s.AssessmentRunName != nil && len(*s.AssessmentRunName) < 1 {
9686		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunName", 1))
9687	}
9688	if s.AssessmentTemplateArn == nil {
9689		invalidParams.Add(request.NewErrParamRequired("AssessmentTemplateArn"))
9690	}
9691	if s.AssessmentTemplateArn != nil && len(*s.AssessmentTemplateArn) < 1 {
9692		invalidParams.Add(request.NewErrParamMinLen("AssessmentTemplateArn", 1))
9693	}
9694
9695	if invalidParams.Len() > 0 {
9696		return invalidParams
9697	}
9698	return nil
9699}
9700
9701// SetAssessmentRunName sets the AssessmentRunName field's value.
9702func (s *StartAssessmentRunInput) SetAssessmentRunName(v string) *StartAssessmentRunInput {
9703	s.AssessmentRunName = &v
9704	return s
9705}
9706
9707// SetAssessmentTemplateArn sets the AssessmentTemplateArn field's value.
9708func (s *StartAssessmentRunInput) SetAssessmentTemplateArn(v string) *StartAssessmentRunInput {
9709	s.AssessmentTemplateArn = &v
9710	return s
9711}
9712
9713type StartAssessmentRunOutput struct {
9714	_ struct{} `type:"structure"`
9715
9716	// The ARN of the assessment run that has been started.
9717	//
9718	// AssessmentRunArn is a required field
9719	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
9720}
9721
9722// String returns the string representation
9723func (s StartAssessmentRunOutput) String() string {
9724	return awsutil.Prettify(s)
9725}
9726
9727// GoString returns the string representation
9728func (s StartAssessmentRunOutput) GoString() string {
9729	return s.String()
9730}
9731
9732// SetAssessmentRunArn sets the AssessmentRunArn field's value.
9733func (s *StartAssessmentRunOutput) SetAssessmentRunArn(v string) *StartAssessmentRunOutput {
9734	s.AssessmentRunArn = &v
9735	return s
9736}
9737
9738type StopAssessmentRunInput struct {
9739	_ struct{} `type:"structure"`
9740
9741	// The ARN of the assessment run that you want to stop.
9742	//
9743	// AssessmentRunArn is a required field
9744	AssessmentRunArn *string `locationName:"assessmentRunArn" min:"1" type:"string" required:"true"`
9745
9746	// An input option that can be set to either START_EVALUATION or SKIP_EVALUATION.
9747	// START_EVALUATION (the default value), stops the AWS agent from collecting
9748	// data and begins the results evaluation and the findings generation process.
9749	// SKIP_EVALUATION cancels the assessment run immediately, after which no findings
9750	// are generated.
9751	StopAction *string `locationName:"stopAction" type:"string" enum:"StopAction"`
9752}
9753
9754// String returns the string representation
9755func (s StopAssessmentRunInput) String() string {
9756	return awsutil.Prettify(s)
9757}
9758
9759// GoString returns the string representation
9760func (s StopAssessmentRunInput) GoString() string {
9761	return s.String()
9762}
9763
9764// Validate inspects the fields of the type to determine if they are valid.
9765func (s *StopAssessmentRunInput) Validate() error {
9766	invalidParams := request.ErrInvalidParams{Context: "StopAssessmentRunInput"}
9767	if s.AssessmentRunArn == nil {
9768		invalidParams.Add(request.NewErrParamRequired("AssessmentRunArn"))
9769	}
9770	if s.AssessmentRunArn != nil && len(*s.AssessmentRunArn) < 1 {
9771		invalidParams.Add(request.NewErrParamMinLen("AssessmentRunArn", 1))
9772	}
9773
9774	if invalidParams.Len() > 0 {
9775		return invalidParams
9776	}
9777	return nil
9778}
9779
9780// SetAssessmentRunArn sets the AssessmentRunArn field's value.
9781func (s *StopAssessmentRunInput) SetAssessmentRunArn(v string) *StopAssessmentRunInput {
9782	s.AssessmentRunArn = &v
9783	return s
9784}
9785
9786// SetStopAction sets the StopAction field's value.
9787func (s *StopAssessmentRunInput) SetStopAction(v string) *StopAssessmentRunInput {
9788	s.StopAction = &v
9789	return s
9790}
9791
9792type StopAssessmentRunOutput struct {
9793	_ struct{} `type:"structure"`
9794}
9795
9796// String returns the string representation
9797func (s StopAssessmentRunOutput) String() string {
9798	return awsutil.Prettify(s)
9799}
9800
9801// GoString returns the string representation
9802func (s StopAssessmentRunOutput) GoString() string {
9803	return s.String()
9804}
9805
9806type SubscribeToEventInput struct {
9807	_ struct{} `type:"structure"`
9808
9809	// The event for which you want to receive SNS notifications.
9810	//
9811	// Event is a required field
9812	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
9813
9814	// The ARN of the assessment template that is used during the event for which
9815	// you want to receive SNS notifications.
9816	//
9817	// ResourceArn is a required field
9818	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9819
9820	// The ARN of the SNS topic to which the SNS notifications are sent.
9821	//
9822	// TopicArn is a required field
9823	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
9824}
9825
9826// String returns the string representation
9827func (s SubscribeToEventInput) String() string {
9828	return awsutil.Prettify(s)
9829}
9830
9831// GoString returns the string representation
9832func (s SubscribeToEventInput) GoString() string {
9833	return s.String()
9834}
9835
9836// Validate inspects the fields of the type to determine if they are valid.
9837func (s *SubscribeToEventInput) Validate() error {
9838	invalidParams := request.ErrInvalidParams{Context: "SubscribeToEventInput"}
9839	if s.Event == nil {
9840		invalidParams.Add(request.NewErrParamRequired("Event"))
9841	}
9842	if s.ResourceArn == nil {
9843		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9844	}
9845	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9846		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9847	}
9848	if s.TopicArn == nil {
9849		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
9850	}
9851	if s.TopicArn != nil && len(*s.TopicArn) < 1 {
9852		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 1))
9853	}
9854
9855	if invalidParams.Len() > 0 {
9856		return invalidParams
9857	}
9858	return nil
9859}
9860
9861// SetEvent sets the Event field's value.
9862func (s *SubscribeToEventInput) SetEvent(v string) *SubscribeToEventInput {
9863	s.Event = &v
9864	return s
9865}
9866
9867// SetResourceArn sets the ResourceArn field's value.
9868func (s *SubscribeToEventInput) SetResourceArn(v string) *SubscribeToEventInput {
9869	s.ResourceArn = &v
9870	return s
9871}
9872
9873// SetTopicArn sets the TopicArn field's value.
9874func (s *SubscribeToEventInput) SetTopicArn(v string) *SubscribeToEventInput {
9875	s.TopicArn = &v
9876	return s
9877}
9878
9879type SubscribeToEventOutput struct {
9880	_ struct{} `type:"structure"`
9881}
9882
9883// String returns the string representation
9884func (s SubscribeToEventOutput) String() string {
9885	return awsutil.Prettify(s)
9886}
9887
9888// GoString returns the string representation
9889func (s SubscribeToEventOutput) GoString() string {
9890	return s.String()
9891}
9892
9893// This data type is used as a response element in the ListEventSubscriptions
9894// action.
9895type Subscription struct {
9896	_ struct{} `type:"structure"`
9897
9898	// The list of existing event subscriptions.
9899	//
9900	// EventSubscriptions is a required field
9901	EventSubscriptions []*EventSubscription `locationName:"eventSubscriptions" min:"1" type:"list" required:"true"`
9902
9903	// The ARN of the assessment template that is used during the event for which
9904	// the SNS notification is sent.
9905	//
9906	// ResourceArn is a required field
9907	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
9908
9909	// The ARN of the Amazon Simple Notification Service (SNS) topic to which the
9910	// SNS notifications are sent.
9911	//
9912	// TopicArn is a required field
9913	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
9914}
9915
9916// String returns the string representation
9917func (s Subscription) String() string {
9918	return awsutil.Prettify(s)
9919}
9920
9921// GoString returns the string representation
9922func (s Subscription) GoString() string {
9923	return s.String()
9924}
9925
9926// SetEventSubscriptions sets the EventSubscriptions field's value.
9927func (s *Subscription) SetEventSubscriptions(v []*EventSubscription) *Subscription {
9928	s.EventSubscriptions = v
9929	return s
9930}
9931
9932// SetResourceArn sets the ResourceArn field's value.
9933func (s *Subscription) SetResourceArn(v string) *Subscription {
9934	s.ResourceArn = &v
9935	return s
9936}
9937
9938// SetTopicArn sets the TopicArn field's value.
9939func (s *Subscription) SetTopicArn(v string) *Subscription {
9940	s.TopicArn = &v
9941	return s
9942}
9943
9944// A key and value pair. This data type is used as a request parameter in the
9945// SetTagsForResource action and a response element in the ListTagsForResource
9946// action.
9947type Tag struct {
9948	_ struct{} `type:"structure"`
9949
9950	// A tag key.
9951	//
9952	// Key is a required field
9953	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
9954
9955	// A value assigned to a tag key.
9956	Value *string `locationName:"value" min:"1" type:"string"`
9957}
9958
9959// String returns the string representation
9960func (s Tag) String() string {
9961	return awsutil.Prettify(s)
9962}
9963
9964// GoString returns the string representation
9965func (s Tag) GoString() string {
9966	return s.String()
9967}
9968
9969// Validate inspects the fields of the type to determine if they are valid.
9970func (s *Tag) Validate() error {
9971	invalidParams := request.ErrInvalidParams{Context: "Tag"}
9972	if s.Key == nil {
9973		invalidParams.Add(request.NewErrParamRequired("Key"))
9974	}
9975	if s.Key != nil && len(*s.Key) < 1 {
9976		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9977	}
9978	if s.Value != nil && len(*s.Value) < 1 {
9979		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
9980	}
9981
9982	if invalidParams.Len() > 0 {
9983		return invalidParams
9984	}
9985	return nil
9986}
9987
9988// SetKey sets the Key field's value.
9989func (s *Tag) SetKey(v string) *Tag {
9990	s.Key = &v
9991	return s
9992}
9993
9994// SetValue sets the Value field's value.
9995func (s *Tag) SetValue(v string) *Tag {
9996	s.Value = &v
9997	return s
9998}
9999
10000// The metadata about the Amazon Inspector application data metrics collected
10001// by the agent. This data type is used as the response element in the GetTelemetryMetadata
10002// action.
10003type TelemetryMetadata struct {
10004	_ struct{} `type:"structure"`
10005
10006	// The count of messages that the agent sends to the Amazon Inspector service.
10007	//
10008	// Count is a required field
10009	Count *int64 `locationName:"count" type:"long" required:"true"`
10010
10011	// The data size of messages that the agent sends to the Amazon Inspector service.
10012	DataSize *int64 `locationName:"dataSize" type:"long"`
10013
10014	// A specific type of behavioral data that is collected by the agent.
10015	//
10016	// MessageType is a required field
10017	MessageType *string `locationName:"messageType" min:"1" type:"string" required:"true"`
10018}
10019
10020// String returns the string representation
10021func (s TelemetryMetadata) String() string {
10022	return awsutil.Prettify(s)
10023}
10024
10025// GoString returns the string representation
10026func (s TelemetryMetadata) GoString() string {
10027	return s.String()
10028}
10029
10030// SetCount sets the Count field's value.
10031func (s *TelemetryMetadata) SetCount(v int64) *TelemetryMetadata {
10032	s.Count = &v
10033	return s
10034}
10035
10036// SetDataSize sets the DataSize field's value.
10037func (s *TelemetryMetadata) SetDataSize(v int64) *TelemetryMetadata {
10038	s.DataSize = &v
10039	return s
10040}
10041
10042// SetMessageType sets the MessageType field's value.
10043func (s *TelemetryMetadata) SetMessageType(v string) *TelemetryMetadata {
10044	s.MessageType = &v
10045	return s
10046}
10047
10048// This data type is used in the AssessmentRunFilter data type.
10049type TimestampRange struct {
10050	_ struct{} `type:"structure"`
10051
10052	// The minimum value of the timestamp range.
10053	BeginDate *time.Time `locationName:"beginDate" type:"timestamp"`
10054
10055	// The maximum value of the timestamp range.
10056	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
10057}
10058
10059// String returns the string representation
10060func (s TimestampRange) String() string {
10061	return awsutil.Prettify(s)
10062}
10063
10064// GoString returns the string representation
10065func (s TimestampRange) GoString() string {
10066	return s.String()
10067}
10068
10069// SetBeginDate sets the BeginDate field's value.
10070func (s *TimestampRange) SetBeginDate(v time.Time) *TimestampRange {
10071	s.BeginDate = &v
10072	return s
10073}
10074
10075// SetEndDate sets the EndDate field's value.
10076func (s *TimestampRange) SetEndDate(v time.Time) *TimestampRange {
10077	s.EndDate = &v
10078	return s
10079}
10080
10081type UnsubscribeFromEventInput struct {
10082	_ struct{} `type:"structure"`
10083
10084	// The event for which you want to stop receiving SNS notifications.
10085	//
10086	// Event is a required field
10087	Event *string `locationName:"event" type:"string" required:"true" enum:"Event"`
10088
10089	// The ARN of the assessment template that is used during the event for which
10090	// you want to stop receiving SNS notifications.
10091	//
10092	// ResourceArn is a required field
10093	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
10094
10095	// The ARN of the SNS topic to which SNS notifications are sent.
10096	//
10097	// TopicArn is a required field
10098	TopicArn *string `locationName:"topicArn" min:"1" type:"string" required:"true"`
10099}
10100
10101// String returns the string representation
10102func (s UnsubscribeFromEventInput) String() string {
10103	return awsutil.Prettify(s)
10104}
10105
10106// GoString returns the string representation
10107func (s UnsubscribeFromEventInput) GoString() string {
10108	return s.String()
10109}
10110
10111// Validate inspects the fields of the type to determine if they are valid.
10112func (s *UnsubscribeFromEventInput) Validate() error {
10113	invalidParams := request.ErrInvalidParams{Context: "UnsubscribeFromEventInput"}
10114	if s.Event == nil {
10115		invalidParams.Add(request.NewErrParamRequired("Event"))
10116	}
10117	if s.ResourceArn == nil {
10118		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10119	}
10120	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10121		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10122	}
10123	if s.TopicArn == nil {
10124		invalidParams.Add(request.NewErrParamRequired("TopicArn"))
10125	}
10126	if s.TopicArn != nil && len(*s.TopicArn) < 1 {
10127		invalidParams.Add(request.NewErrParamMinLen("TopicArn", 1))
10128	}
10129
10130	if invalidParams.Len() > 0 {
10131		return invalidParams
10132	}
10133	return nil
10134}
10135
10136// SetEvent sets the Event field's value.
10137func (s *UnsubscribeFromEventInput) SetEvent(v string) *UnsubscribeFromEventInput {
10138	s.Event = &v
10139	return s
10140}
10141
10142// SetResourceArn sets the ResourceArn field's value.
10143func (s *UnsubscribeFromEventInput) SetResourceArn(v string) *UnsubscribeFromEventInput {
10144	s.ResourceArn = &v
10145	return s
10146}
10147
10148// SetTopicArn sets the TopicArn field's value.
10149func (s *UnsubscribeFromEventInput) SetTopicArn(v string) *UnsubscribeFromEventInput {
10150	s.TopicArn = &v
10151	return s
10152}
10153
10154type UnsubscribeFromEventOutput struct {
10155	_ struct{} `type:"structure"`
10156}
10157
10158// String returns the string representation
10159func (s UnsubscribeFromEventOutput) String() string {
10160	return awsutil.Prettify(s)
10161}
10162
10163// GoString returns the string representation
10164func (s UnsubscribeFromEventOutput) GoString() string {
10165	return s.String()
10166}
10167
10168// Used by the GetAssessmentReport API. The request was rejected because you
10169// tried to generate a report for an assessment run that existed before reporting
10170// was supported in Amazon Inspector. You can only generate reports for assessment
10171// runs that took place or will take place after generating reports in Amazon
10172// Inspector became available.
10173type UnsupportedFeatureException struct {
10174	_            struct{}                  `type:"structure"`
10175	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10176
10177	// CanRetry is a required field
10178	CanRetry *bool `locationName:"canRetry" type:"boolean" required:"true"`
10179
10180	Message_ *string `locationName:"message" type:"string"`
10181}
10182
10183// String returns the string representation
10184func (s UnsupportedFeatureException) String() string {
10185	return awsutil.Prettify(s)
10186}
10187
10188// GoString returns the string representation
10189func (s UnsupportedFeatureException) GoString() string {
10190	return s.String()
10191}
10192
10193func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error {
10194	return &UnsupportedFeatureException{
10195		RespMetadata: v,
10196	}
10197}
10198
10199// Code returns the exception type name.
10200func (s *UnsupportedFeatureException) Code() string {
10201	return "UnsupportedFeatureException"
10202}
10203
10204// Message returns the exception's message.
10205func (s *UnsupportedFeatureException) Message() string {
10206	if s.Message_ != nil {
10207		return *s.Message_
10208	}
10209	return ""
10210}
10211
10212// OrigErr always returns nil, satisfies awserr.Error interface.
10213func (s *UnsupportedFeatureException) OrigErr() error {
10214	return nil
10215}
10216
10217func (s *UnsupportedFeatureException) Error() string {
10218	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10219}
10220
10221// Status code returns the HTTP status code for the request's response error.
10222func (s *UnsupportedFeatureException) StatusCode() int {
10223	return s.RespMetadata.StatusCode
10224}
10225
10226// RequestID returns the service's response RequestID for request.
10227func (s *UnsupportedFeatureException) RequestID() string {
10228	return s.RespMetadata.RequestID
10229}
10230
10231type UpdateAssessmentTargetInput struct {
10232	_ struct{} `type:"structure"`
10233
10234	// The ARN of the assessment target that you want to update.
10235	//
10236	// AssessmentTargetArn is a required field
10237	AssessmentTargetArn *string `locationName:"assessmentTargetArn" min:"1" type:"string" required:"true"`
10238
10239	// The name of the assessment target that you want to update.
10240	//
10241	// AssessmentTargetName is a required field
10242	AssessmentTargetName *string `locationName:"assessmentTargetName" min:"1" type:"string" required:"true"`
10243
10244	// The ARN of the resource group that is used to specify the new resource group
10245	// to associate with the assessment target.
10246	ResourceGroupArn *string `locationName:"resourceGroupArn" min:"1" type:"string"`
10247}
10248
10249// String returns the string representation
10250func (s UpdateAssessmentTargetInput) String() string {
10251	return awsutil.Prettify(s)
10252}
10253
10254// GoString returns the string representation
10255func (s UpdateAssessmentTargetInput) GoString() string {
10256	return s.String()
10257}
10258
10259// Validate inspects the fields of the type to determine if they are valid.
10260func (s *UpdateAssessmentTargetInput) Validate() error {
10261	invalidParams := request.ErrInvalidParams{Context: "UpdateAssessmentTargetInput"}
10262	if s.AssessmentTargetArn == nil {
10263		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetArn"))
10264	}
10265	if s.AssessmentTargetArn != nil && len(*s.AssessmentTargetArn) < 1 {
10266		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetArn", 1))
10267	}
10268	if s.AssessmentTargetName == nil {
10269		invalidParams.Add(request.NewErrParamRequired("AssessmentTargetName"))
10270	}
10271	if s.AssessmentTargetName != nil && len(*s.AssessmentTargetName) < 1 {
10272		invalidParams.Add(request.NewErrParamMinLen("AssessmentTargetName", 1))
10273	}
10274	if s.ResourceGroupArn != nil && len(*s.ResourceGroupArn) < 1 {
10275		invalidParams.Add(request.NewErrParamMinLen("ResourceGroupArn", 1))
10276	}
10277
10278	if invalidParams.Len() > 0 {
10279		return invalidParams
10280	}
10281	return nil
10282}
10283
10284// SetAssessmentTargetArn sets the AssessmentTargetArn field's value.
10285func (s *UpdateAssessmentTargetInput) SetAssessmentTargetArn(v string) *UpdateAssessmentTargetInput {
10286	s.AssessmentTargetArn = &v
10287	return s
10288}
10289
10290// SetAssessmentTargetName sets the AssessmentTargetName field's value.
10291func (s *UpdateAssessmentTargetInput) SetAssessmentTargetName(v string) *UpdateAssessmentTargetInput {
10292	s.AssessmentTargetName = &v
10293	return s
10294}
10295
10296// SetResourceGroupArn sets the ResourceGroupArn field's value.
10297func (s *UpdateAssessmentTargetInput) SetResourceGroupArn(v string) *UpdateAssessmentTargetInput {
10298	s.ResourceGroupArn = &v
10299	return s
10300}
10301
10302type UpdateAssessmentTargetOutput struct {
10303	_ struct{} `type:"structure"`
10304}
10305
10306// String returns the string representation
10307func (s UpdateAssessmentTargetOutput) String() string {
10308	return awsutil.Prettify(s)
10309}
10310
10311// GoString returns the string representation
10312func (s UpdateAssessmentTargetOutput) GoString() string {
10313	return s.String()
10314}
10315
10316const (
10317	// AccessDeniedErrorCodeAccessDeniedToAssessmentTarget is a AccessDeniedErrorCode enum value
10318	AccessDeniedErrorCodeAccessDeniedToAssessmentTarget = "ACCESS_DENIED_TO_ASSESSMENT_TARGET"
10319
10320	// AccessDeniedErrorCodeAccessDeniedToAssessmentTemplate is a AccessDeniedErrorCode enum value
10321	AccessDeniedErrorCodeAccessDeniedToAssessmentTemplate = "ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE"
10322
10323	// AccessDeniedErrorCodeAccessDeniedToAssessmentRun is a AccessDeniedErrorCode enum value
10324	AccessDeniedErrorCodeAccessDeniedToAssessmentRun = "ACCESS_DENIED_TO_ASSESSMENT_RUN"
10325
10326	// AccessDeniedErrorCodeAccessDeniedToFinding is a AccessDeniedErrorCode enum value
10327	AccessDeniedErrorCodeAccessDeniedToFinding = "ACCESS_DENIED_TO_FINDING"
10328
10329	// AccessDeniedErrorCodeAccessDeniedToResourceGroup is a AccessDeniedErrorCode enum value
10330	AccessDeniedErrorCodeAccessDeniedToResourceGroup = "ACCESS_DENIED_TO_RESOURCE_GROUP"
10331
10332	// AccessDeniedErrorCodeAccessDeniedToRulesPackage is a AccessDeniedErrorCode enum value
10333	AccessDeniedErrorCodeAccessDeniedToRulesPackage = "ACCESS_DENIED_TO_RULES_PACKAGE"
10334
10335	// AccessDeniedErrorCodeAccessDeniedToSnsTopic is a AccessDeniedErrorCode enum value
10336	AccessDeniedErrorCodeAccessDeniedToSnsTopic = "ACCESS_DENIED_TO_SNS_TOPIC"
10337
10338	// AccessDeniedErrorCodeAccessDeniedToIamRole is a AccessDeniedErrorCode enum value
10339	AccessDeniedErrorCodeAccessDeniedToIamRole = "ACCESS_DENIED_TO_IAM_ROLE"
10340)
10341
10342// AccessDeniedErrorCode_Values returns all elements of the AccessDeniedErrorCode enum
10343func AccessDeniedErrorCode_Values() []string {
10344	return []string{
10345		AccessDeniedErrorCodeAccessDeniedToAssessmentTarget,
10346		AccessDeniedErrorCodeAccessDeniedToAssessmentTemplate,
10347		AccessDeniedErrorCodeAccessDeniedToAssessmentRun,
10348		AccessDeniedErrorCodeAccessDeniedToFinding,
10349		AccessDeniedErrorCodeAccessDeniedToResourceGroup,
10350		AccessDeniedErrorCodeAccessDeniedToRulesPackage,
10351		AccessDeniedErrorCodeAccessDeniedToSnsTopic,
10352		AccessDeniedErrorCodeAccessDeniedToIamRole,
10353	}
10354}
10355
10356const (
10357	// AgentHealthHealthy is a AgentHealth enum value
10358	AgentHealthHealthy = "HEALTHY"
10359
10360	// AgentHealthUnhealthy is a AgentHealth enum value
10361	AgentHealthUnhealthy = "UNHEALTHY"
10362
10363	// AgentHealthUnknown is a AgentHealth enum value
10364	AgentHealthUnknown = "UNKNOWN"
10365)
10366
10367// AgentHealth_Values returns all elements of the AgentHealth enum
10368func AgentHealth_Values() []string {
10369	return []string{
10370		AgentHealthHealthy,
10371		AgentHealthUnhealthy,
10372		AgentHealthUnknown,
10373	}
10374}
10375
10376const (
10377	// AgentHealthCodeIdle is a AgentHealthCode enum value
10378	AgentHealthCodeIdle = "IDLE"
10379
10380	// AgentHealthCodeRunning is a AgentHealthCode enum value
10381	AgentHealthCodeRunning = "RUNNING"
10382
10383	// AgentHealthCodeShutdown is a AgentHealthCode enum value
10384	AgentHealthCodeShutdown = "SHUTDOWN"
10385
10386	// AgentHealthCodeUnhealthy is a AgentHealthCode enum value
10387	AgentHealthCodeUnhealthy = "UNHEALTHY"
10388
10389	// AgentHealthCodeThrottled is a AgentHealthCode enum value
10390	AgentHealthCodeThrottled = "THROTTLED"
10391
10392	// AgentHealthCodeUnknown is a AgentHealthCode enum value
10393	AgentHealthCodeUnknown = "UNKNOWN"
10394)
10395
10396// AgentHealthCode_Values returns all elements of the AgentHealthCode enum
10397func AgentHealthCode_Values() []string {
10398	return []string{
10399		AgentHealthCodeIdle,
10400		AgentHealthCodeRunning,
10401		AgentHealthCodeShutdown,
10402		AgentHealthCodeUnhealthy,
10403		AgentHealthCodeThrottled,
10404		AgentHealthCodeUnknown,
10405	}
10406}
10407
10408const (
10409	// AssessmentRunNotificationSnsStatusCodeSuccess is a AssessmentRunNotificationSnsStatusCode enum value
10410	AssessmentRunNotificationSnsStatusCodeSuccess = "SUCCESS"
10411
10412	// AssessmentRunNotificationSnsStatusCodeTopicDoesNotExist is a AssessmentRunNotificationSnsStatusCode enum value
10413	AssessmentRunNotificationSnsStatusCodeTopicDoesNotExist = "TOPIC_DOES_NOT_EXIST"
10414
10415	// AssessmentRunNotificationSnsStatusCodeAccessDenied is a AssessmentRunNotificationSnsStatusCode enum value
10416	AssessmentRunNotificationSnsStatusCodeAccessDenied = "ACCESS_DENIED"
10417
10418	// AssessmentRunNotificationSnsStatusCodeInternalError is a AssessmentRunNotificationSnsStatusCode enum value
10419	AssessmentRunNotificationSnsStatusCodeInternalError = "INTERNAL_ERROR"
10420)
10421
10422// AssessmentRunNotificationSnsStatusCode_Values returns all elements of the AssessmentRunNotificationSnsStatusCode enum
10423func AssessmentRunNotificationSnsStatusCode_Values() []string {
10424	return []string{
10425		AssessmentRunNotificationSnsStatusCodeSuccess,
10426		AssessmentRunNotificationSnsStatusCodeTopicDoesNotExist,
10427		AssessmentRunNotificationSnsStatusCodeAccessDenied,
10428		AssessmentRunNotificationSnsStatusCodeInternalError,
10429	}
10430}
10431
10432const (
10433	// AssessmentRunStateCreated is a AssessmentRunState enum value
10434	AssessmentRunStateCreated = "CREATED"
10435
10436	// AssessmentRunStateStartDataCollectionPending is a AssessmentRunState enum value
10437	AssessmentRunStateStartDataCollectionPending = "START_DATA_COLLECTION_PENDING"
10438
10439	// AssessmentRunStateStartDataCollectionInProgress is a AssessmentRunState enum value
10440	AssessmentRunStateStartDataCollectionInProgress = "START_DATA_COLLECTION_IN_PROGRESS"
10441
10442	// AssessmentRunStateCollectingData is a AssessmentRunState enum value
10443	AssessmentRunStateCollectingData = "COLLECTING_DATA"
10444
10445	// AssessmentRunStateStopDataCollectionPending is a AssessmentRunState enum value
10446	AssessmentRunStateStopDataCollectionPending = "STOP_DATA_COLLECTION_PENDING"
10447
10448	// AssessmentRunStateDataCollected is a AssessmentRunState enum value
10449	AssessmentRunStateDataCollected = "DATA_COLLECTED"
10450
10451	// AssessmentRunStateStartEvaluatingRulesPending is a AssessmentRunState enum value
10452	AssessmentRunStateStartEvaluatingRulesPending = "START_EVALUATING_RULES_PENDING"
10453
10454	// AssessmentRunStateEvaluatingRules is a AssessmentRunState enum value
10455	AssessmentRunStateEvaluatingRules = "EVALUATING_RULES"
10456
10457	// AssessmentRunStateFailed is a AssessmentRunState enum value
10458	AssessmentRunStateFailed = "FAILED"
10459
10460	// AssessmentRunStateError is a AssessmentRunState enum value
10461	AssessmentRunStateError = "ERROR"
10462
10463	// AssessmentRunStateCompleted is a AssessmentRunState enum value
10464	AssessmentRunStateCompleted = "COMPLETED"
10465
10466	// AssessmentRunStateCompletedWithErrors is a AssessmentRunState enum value
10467	AssessmentRunStateCompletedWithErrors = "COMPLETED_WITH_ERRORS"
10468
10469	// AssessmentRunStateCanceled is a AssessmentRunState enum value
10470	AssessmentRunStateCanceled = "CANCELED"
10471)
10472
10473// AssessmentRunState_Values returns all elements of the AssessmentRunState enum
10474func AssessmentRunState_Values() []string {
10475	return []string{
10476		AssessmentRunStateCreated,
10477		AssessmentRunStateStartDataCollectionPending,
10478		AssessmentRunStateStartDataCollectionInProgress,
10479		AssessmentRunStateCollectingData,
10480		AssessmentRunStateStopDataCollectionPending,
10481		AssessmentRunStateDataCollected,
10482		AssessmentRunStateStartEvaluatingRulesPending,
10483		AssessmentRunStateEvaluatingRules,
10484		AssessmentRunStateFailed,
10485		AssessmentRunStateError,
10486		AssessmentRunStateCompleted,
10487		AssessmentRunStateCompletedWithErrors,
10488		AssessmentRunStateCanceled,
10489	}
10490}
10491
10492const (
10493	// AssetTypeEc2Instance is a AssetType enum value
10494	AssetTypeEc2Instance = "ec2-instance"
10495)
10496
10497// AssetType_Values returns all elements of the AssetType enum
10498func AssetType_Values() []string {
10499	return []string{
10500		AssetTypeEc2Instance,
10501	}
10502}
10503
10504const (
10505	// EventAssessmentRunStarted is a Event enum value
10506	EventAssessmentRunStarted = "ASSESSMENT_RUN_STARTED"
10507
10508	// EventAssessmentRunCompleted is a Event enum value
10509	EventAssessmentRunCompleted = "ASSESSMENT_RUN_COMPLETED"
10510
10511	// EventAssessmentRunStateChanged is a Event enum value
10512	EventAssessmentRunStateChanged = "ASSESSMENT_RUN_STATE_CHANGED"
10513
10514	// EventFindingReported is a Event enum value
10515	EventFindingReported = "FINDING_REPORTED"
10516
10517	// EventOther is a Event enum value
10518	EventOther = "OTHER"
10519)
10520
10521// Event_Values returns all elements of the Event enum
10522func Event_Values() []string {
10523	return []string{
10524		EventAssessmentRunStarted,
10525		EventAssessmentRunCompleted,
10526		EventAssessmentRunStateChanged,
10527		EventFindingReported,
10528		EventOther,
10529	}
10530}
10531
10532const (
10533	// FailedItemErrorCodeInvalidArn is a FailedItemErrorCode enum value
10534	FailedItemErrorCodeInvalidArn = "INVALID_ARN"
10535
10536	// FailedItemErrorCodeDuplicateArn is a FailedItemErrorCode enum value
10537	FailedItemErrorCodeDuplicateArn = "DUPLICATE_ARN"
10538
10539	// FailedItemErrorCodeItemDoesNotExist is a FailedItemErrorCode enum value
10540	FailedItemErrorCodeItemDoesNotExist = "ITEM_DOES_NOT_EXIST"
10541
10542	// FailedItemErrorCodeAccessDenied is a FailedItemErrorCode enum value
10543	FailedItemErrorCodeAccessDenied = "ACCESS_DENIED"
10544
10545	// FailedItemErrorCodeLimitExceeded is a FailedItemErrorCode enum value
10546	FailedItemErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
10547
10548	// FailedItemErrorCodeInternalError is a FailedItemErrorCode enum value
10549	FailedItemErrorCodeInternalError = "INTERNAL_ERROR"
10550)
10551
10552// FailedItemErrorCode_Values returns all elements of the FailedItemErrorCode enum
10553func FailedItemErrorCode_Values() []string {
10554	return []string{
10555		FailedItemErrorCodeInvalidArn,
10556		FailedItemErrorCodeDuplicateArn,
10557		FailedItemErrorCodeItemDoesNotExist,
10558		FailedItemErrorCodeAccessDenied,
10559		FailedItemErrorCodeLimitExceeded,
10560		FailedItemErrorCodeInternalError,
10561	}
10562}
10563
10564const (
10565	// InvalidCrossAccountRoleErrorCodeRoleDoesNotExistOrInvalidTrustRelationship is a InvalidCrossAccountRoleErrorCode enum value
10566	InvalidCrossAccountRoleErrorCodeRoleDoesNotExistOrInvalidTrustRelationship = "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP"
10567
10568	// InvalidCrossAccountRoleErrorCodeRoleDoesNotHaveCorrectPolicy is a InvalidCrossAccountRoleErrorCode enum value
10569	InvalidCrossAccountRoleErrorCodeRoleDoesNotHaveCorrectPolicy = "ROLE_DOES_NOT_HAVE_CORRECT_POLICY"
10570)
10571
10572// InvalidCrossAccountRoleErrorCode_Values returns all elements of the InvalidCrossAccountRoleErrorCode enum
10573func InvalidCrossAccountRoleErrorCode_Values() []string {
10574	return []string{
10575		InvalidCrossAccountRoleErrorCodeRoleDoesNotExistOrInvalidTrustRelationship,
10576		InvalidCrossAccountRoleErrorCodeRoleDoesNotHaveCorrectPolicy,
10577	}
10578}
10579
10580const (
10581	// InvalidInputErrorCodeInvalidAssessmentTargetArn is a InvalidInputErrorCode enum value
10582	InvalidInputErrorCodeInvalidAssessmentTargetArn = "INVALID_ASSESSMENT_TARGET_ARN"
10583
10584	// InvalidInputErrorCodeInvalidAssessmentTemplateArn is a InvalidInputErrorCode enum value
10585	InvalidInputErrorCodeInvalidAssessmentTemplateArn = "INVALID_ASSESSMENT_TEMPLATE_ARN"
10586
10587	// InvalidInputErrorCodeInvalidAssessmentRunArn is a InvalidInputErrorCode enum value
10588	InvalidInputErrorCodeInvalidAssessmentRunArn = "INVALID_ASSESSMENT_RUN_ARN"
10589
10590	// InvalidInputErrorCodeInvalidFindingArn is a InvalidInputErrorCode enum value
10591	InvalidInputErrorCodeInvalidFindingArn = "INVALID_FINDING_ARN"
10592
10593	// InvalidInputErrorCodeInvalidResourceGroupArn is a InvalidInputErrorCode enum value
10594	InvalidInputErrorCodeInvalidResourceGroupArn = "INVALID_RESOURCE_GROUP_ARN"
10595
10596	// InvalidInputErrorCodeInvalidRulesPackageArn is a InvalidInputErrorCode enum value
10597	InvalidInputErrorCodeInvalidRulesPackageArn = "INVALID_RULES_PACKAGE_ARN"
10598
10599	// InvalidInputErrorCodeInvalidResourceArn is a InvalidInputErrorCode enum value
10600	InvalidInputErrorCodeInvalidResourceArn = "INVALID_RESOURCE_ARN"
10601
10602	// InvalidInputErrorCodeInvalidSnsTopicArn is a InvalidInputErrorCode enum value
10603	InvalidInputErrorCodeInvalidSnsTopicArn = "INVALID_SNS_TOPIC_ARN"
10604
10605	// InvalidInputErrorCodeInvalidIamRoleArn is a InvalidInputErrorCode enum value
10606	InvalidInputErrorCodeInvalidIamRoleArn = "INVALID_IAM_ROLE_ARN"
10607
10608	// InvalidInputErrorCodeInvalidAssessmentTargetName is a InvalidInputErrorCode enum value
10609	InvalidInputErrorCodeInvalidAssessmentTargetName = "INVALID_ASSESSMENT_TARGET_NAME"
10610
10611	// InvalidInputErrorCodeInvalidAssessmentTargetNamePattern is a InvalidInputErrorCode enum value
10612	InvalidInputErrorCodeInvalidAssessmentTargetNamePattern = "INVALID_ASSESSMENT_TARGET_NAME_PATTERN"
10613
10614	// InvalidInputErrorCodeInvalidAssessmentTemplateName is a InvalidInputErrorCode enum value
10615	InvalidInputErrorCodeInvalidAssessmentTemplateName = "INVALID_ASSESSMENT_TEMPLATE_NAME"
10616
10617	// InvalidInputErrorCodeInvalidAssessmentTemplateNamePattern is a InvalidInputErrorCode enum value
10618	InvalidInputErrorCodeInvalidAssessmentTemplateNamePattern = "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN"
10619
10620	// InvalidInputErrorCodeInvalidAssessmentTemplateDuration is a InvalidInputErrorCode enum value
10621	InvalidInputErrorCodeInvalidAssessmentTemplateDuration = "INVALID_ASSESSMENT_TEMPLATE_DURATION"
10622
10623	// InvalidInputErrorCodeInvalidAssessmentTemplateDurationRange is a InvalidInputErrorCode enum value
10624	InvalidInputErrorCodeInvalidAssessmentTemplateDurationRange = "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE"
10625
10626	// InvalidInputErrorCodeInvalidAssessmentRunDurationRange is a InvalidInputErrorCode enum value
10627	InvalidInputErrorCodeInvalidAssessmentRunDurationRange = "INVALID_ASSESSMENT_RUN_DURATION_RANGE"
10628
10629	// InvalidInputErrorCodeInvalidAssessmentRunStartTimeRange is a InvalidInputErrorCode enum value
10630	InvalidInputErrorCodeInvalidAssessmentRunStartTimeRange = "INVALID_ASSESSMENT_RUN_START_TIME_RANGE"
10631
10632	// InvalidInputErrorCodeInvalidAssessmentRunCompletionTimeRange is a InvalidInputErrorCode enum value
10633	InvalidInputErrorCodeInvalidAssessmentRunCompletionTimeRange = "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE"
10634
10635	// InvalidInputErrorCodeInvalidAssessmentRunStateChangeTimeRange is a InvalidInputErrorCode enum value
10636	InvalidInputErrorCodeInvalidAssessmentRunStateChangeTimeRange = "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE"
10637
10638	// InvalidInputErrorCodeInvalidAssessmentRunState is a InvalidInputErrorCode enum value
10639	InvalidInputErrorCodeInvalidAssessmentRunState = "INVALID_ASSESSMENT_RUN_STATE"
10640
10641	// InvalidInputErrorCodeInvalidTag is a InvalidInputErrorCode enum value
10642	InvalidInputErrorCodeInvalidTag = "INVALID_TAG"
10643
10644	// InvalidInputErrorCodeInvalidTagKey is a InvalidInputErrorCode enum value
10645	InvalidInputErrorCodeInvalidTagKey = "INVALID_TAG_KEY"
10646
10647	// InvalidInputErrorCodeInvalidTagValue is a InvalidInputErrorCode enum value
10648	InvalidInputErrorCodeInvalidTagValue = "INVALID_TAG_VALUE"
10649
10650	// InvalidInputErrorCodeInvalidResourceGroupTagKey is a InvalidInputErrorCode enum value
10651	InvalidInputErrorCodeInvalidResourceGroupTagKey = "INVALID_RESOURCE_GROUP_TAG_KEY"
10652
10653	// InvalidInputErrorCodeInvalidResourceGroupTagValue is a InvalidInputErrorCode enum value
10654	InvalidInputErrorCodeInvalidResourceGroupTagValue = "INVALID_RESOURCE_GROUP_TAG_VALUE"
10655
10656	// InvalidInputErrorCodeInvalidAttribute is a InvalidInputErrorCode enum value
10657	InvalidInputErrorCodeInvalidAttribute = "INVALID_ATTRIBUTE"
10658
10659	// InvalidInputErrorCodeInvalidUserAttribute is a InvalidInputErrorCode enum value
10660	InvalidInputErrorCodeInvalidUserAttribute = "INVALID_USER_ATTRIBUTE"
10661
10662	// InvalidInputErrorCodeInvalidUserAttributeKey is a InvalidInputErrorCode enum value
10663	InvalidInputErrorCodeInvalidUserAttributeKey = "INVALID_USER_ATTRIBUTE_KEY"
10664
10665	// InvalidInputErrorCodeInvalidUserAttributeValue is a InvalidInputErrorCode enum value
10666	InvalidInputErrorCodeInvalidUserAttributeValue = "INVALID_USER_ATTRIBUTE_VALUE"
10667
10668	// InvalidInputErrorCodeInvalidPaginationToken is a InvalidInputErrorCode enum value
10669	InvalidInputErrorCodeInvalidPaginationToken = "INVALID_PAGINATION_TOKEN"
10670
10671	// InvalidInputErrorCodeInvalidMaxResults is a InvalidInputErrorCode enum value
10672	InvalidInputErrorCodeInvalidMaxResults = "INVALID_MAX_RESULTS"
10673
10674	// InvalidInputErrorCodeInvalidAgentId is a InvalidInputErrorCode enum value
10675	InvalidInputErrorCodeInvalidAgentId = "INVALID_AGENT_ID"
10676
10677	// InvalidInputErrorCodeInvalidAutoScalingGroup is a InvalidInputErrorCode enum value
10678	InvalidInputErrorCodeInvalidAutoScalingGroup = "INVALID_AUTO_SCALING_GROUP"
10679
10680	// InvalidInputErrorCodeInvalidRuleName is a InvalidInputErrorCode enum value
10681	InvalidInputErrorCodeInvalidRuleName = "INVALID_RULE_NAME"
10682
10683	// InvalidInputErrorCodeInvalidSeverity is a InvalidInputErrorCode enum value
10684	InvalidInputErrorCodeInvalidSeverity = "INVALID_SEVERITY"
10685
10686	// InvalidInputErrorCodeInvalidLocale is a InvalidInputErrorCode enum value
10687	InvalidInputErrorCodeInvalidLocale = "INVALID_LOCALE"
10688
10689	// InvalidInputErrorCodeInvalidEvent is a InvalidInputErrorCode enum value
10690	InvalidInputErrorCodeInvalidEvent = "INVALID_EVENT"
10691
10692	// InvalidInputErrorCodeAssessmentTargetNameAlreadyTaken is a InvalidInputErrorCode enum value
10693	InvalidInputErrorCodeAssessmentTargetNameAlreadyTaken = "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN"
10694
10695	// InvalidInputErrorCodeAssessmentTemplateNameAlreadyTaken is a InvalidInputErrorCode enum value
10696	InvalidInputErrorCodeAssessmentTemplateNameAlreadyTaken = "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN"
10697
10698	// InvalidInputErrorCodeInvalidNumberOfAssessmentTargetArns is a InvalidInputErrorCode enum value
10699	InvalidInputErrorCodeInvalidNumberOfAssessmentTargetArns = "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS"
10700
10701	// InvalidInputErrorCodeInvalidNumberOfAssessmentTemplateArns is a InvalidInputErrorCode enum value
10702	InvalidInputErrorCodeInvalidNumberOfAssessmentTemplateArns = "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS"
10703
10704	// InvalidInputErrorCodeInvalidNumberOfAssessmentRunArns is a InvalidInputErrorCode enum value
10705	InvalidInputErrorCodeInvalidNumberOfAssessmentRunArns = "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS"
10706
10707	// InvalidInputErrorCodeInvalidNumberOfFindingArns is a InvalidInputErrorCode enum value
10708	InvalidInputErrorCodeInvalidNumberOfFindingArns = "INVALID_NUMBER_OF_FINDING_ARNS"
10709
10710	// InvalidInputErrorCodeInvalidNumberOfResourceGroupArns is a InvalidInputErrorCode enum value
10711	InvalidInputErrorCodeInvalidNumberOfResourceGroupArns = "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS"
10712
10713	// InvalidInputErrorCodeInvalidNumberOfRulesPackageArns is a InvalidInputErrorCode enum value
10714	InvalidInputErrorCodeInvalidNumberOfRulesPackageArns = "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS"
10715
10716	// InvalidInputErrorCodeInvalidNumberOfAssessmentRunStates is a InvalidInputErrorCode enum value
10717	InvalidInputErrorCodeInvalidNumberOfAssessmentRunStates = "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES"
10718
10719	// InvalidInputErrorCodeInvalidNumberOfTags is a InvalidInputErrorCode enum value
10720	InvalidInputErrorCodeInvalidNumberOfTags = "INVALID_NUMBER_OF_TAGS"
10721
10722	// InvalidInputErrorCodeInvalidNumberOfResourceGroupTags is a InvalidInputErrorCode enum value
10723	InvalidInputErrorCodeInvalidNumberOfResourceGroupTags = "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS"
10724
10725	// InvalidInputErrorCodeInvalidNumberOfAttributes is a InvalidInputErrorCode enum value
10726	InvalidInputErrorCodeInvalidNumberOfAttributes = "INVALID_NUMBER_OF_ATTRIBUTES"
10727
10728	// InvalidInputErrorCodeInvalidNumberOfUserAttributes is a InvalidInputErrorCode enum value
10729	InvalidInputErrorCodeInvalidNumberOfUserAttributes = "INVALID_NUMBER_OF_USER_ATTRIBUTES"
10730
10731	// InvalidInputErrorCodeInvalidNumberOfAgentIds is a InvalidInputErrorCode enum value
10732	InvalidInputErrorCodeInvalidNumberOfAgentIds = "INVALID_NUMBER_OF_AGENT_IDS"
10733
10734	// InvalidInputErrorCodeInvalidNumberOfAutoScalingGroups is a InvalidInputErrorCode enum value
10735	InvalidInputErrorCodeInvalidNumberOfAutoScalingGroups = "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS"
10736
10737	// InvalidInputErrorCodeInvalidNumberOfRuleNames is a InvalidInputErrorCode enum value
10738	InvalidInputErrorCodeInvalidNumberOfRuleNames = "INVALID_NUMBER_OF_RULE_NAMES"
10739
10740	// InvalidInputErrorCodeInvalidNumberOfSeverities is a InvalidInputErrorCode enum value
10741	InvalidInputErrorCodeInvalidNumberOfSeverities = "INVALID_NUMBER_OF_SEVERITIES"
10742)
10743
10744// InvalidInputErrorCode_Values returns all elements of the InvalidInputErrorCode enum
10745func InvalidInputErrorCode_Values() []string {
10746	return []string{
10747		InvalidInputErrorCodeInvalidAssessmentTargetArn,
10748		InvalidInputErrorCodeInvalidAssessmentTemplateArn,
10749		InvalidInputErrorCodeInvalidAssessmentRunArn,
10750		InvalidInputErrorCodeInvalidFindingArn,
10751		InvalidInputErrorCodeInvalidResourceGroupArn,
10752		InvalidInputErrorCodeInvalidRulesPackageArn,
10753		InvalidInputErrorCodeInvalidResourceArn,
10754		InvalidInputErrorCodeInvalidSnsTopicArn,
10755		InvalidInputErrorCodeInvalidIamRoleArn,
10756		InvalidInputErrorCodeInvalidAssessmentTargetName,
10757		InvalidInputErrorCodeInvalidAssessmentTargetNamePattern,
10758		InvalidInputErrorCodeInvalidAssessmentTemplateName,
10759		InvalidInputErrorCodeInvalidAssessmentTemplateNamePattern,
10760		InvalidInputErrorCodeInvalidAssessmentTemplateDuration,
10761		InvalidInputErrorCodeInvalidAssessmentTemplateDurationRange,
10762		InvalidInputErrorCodeInvalidAssessmentRunDurationRange,
10763		InvalidInputErrorCodeInvalidAssessmentRunStartTimeRange,
10764		InvalidInputErrorCodeInvalidAssessmentRunCompletionTimeRange,
10765		InvalidInputErrorCodeInvalidAssessmentRunStateChangeTimeRange,
10766		InvalidInputErrorCodeInvalidAssessmentRunState,
10767		InvalidInputErrorCodeInvalidTag,
10768		InvalidInputErrorCodeInvalidTagKey,
10769		InvalidInputErrorCodeInvalidTagValue,
10770		InvalidInputErrorCodeInvalidResourceGroupTagKey,
10771		InvalidInputErrorCodeInvalidResourceGroupTagValue,
10772		InvalidInputErrorCodeInvalidAttribute,
10773		InvalidInputErrorCodeInvalidUserAttribute,
10774		InvalidInputErrorCodeInvalidUserAttributeKey,
10775		InvalidInputErrorCodeInvalidUserAttributeValue,
10776		InvalidInputErrorCodeInvalidPaginationToken,
10777		InvalidInputErrorCodeInvalidMaxResults,
10778		InvalidInputErrorCodeInvalidAgentId,
10779		InvalidInputErrorCodeInvalidAutoScalingGroup,
10780		InvalidInputErrorCodeInvalidRuleName,
10781		InvalidInputErrorCodeInvalidSeverity,
10782		InvalidInputErrorCodeInvalidLocale,
10783		InvalidInputErrorCodeInvalidEvent,
10784		InvalidInputErrorCodeAssessmentTargetNameAlreadyTaken,
10785		InvalidInputErrorCodeAssessmentTemplateNameAlreadyTaken,
10786		InvalidInputErrorCodeInvalidNumberOfAssessmentTargetArns,
10787		InvalidInputErrorCodeInvalidNumberOfAssessmentTemplateArns,
10788		InvalidInputErrorCodeInvalidNumberOfAssessmentRunArns,
10789		InvalidInputErrorCodeInvalidNumberOfFindingArns,
10790		InvalidInputErrorCodeInvalidNumberOfResourceGroupArns,
10791		InvalidInputErrorCodeInvalidNumberOfRulesPackageArns,
10792		InvalidInputErrorCodeInvalidNumberOfAssessmentRunStates,
10793		InvalidInputErrorCodeInvalidNumberOfTags,
10794		InvalidInputErrorCodeInvalidNumberOfResourceGroupTags,
10795		InvalidInputErrorCodeInvalidNumberOfAttributes,
10796		InvalidInputErrorCodeInvalidNumberOfUserAttributes,
10797		InvalidInputErrorCodeInvalidNumberOfAgentIds,
10798		InvalidInputErrorCodeInvalidNumberOfAutoScalingGroups,
10799		InvalidInputErrorCodeInvalidNumberOfRuleNames,
10800		InvalidInputErrorCodeInvalidNumberOfSeverities,
10801	}
10802}
10803
10804const (
10805	// LimitExceededErrorCodeAssessmentTargetLimitExceeded is a LimitExceededErrorCode enum value
10806	LimitExceededErrorCodeAssessmentTargetLimitExceeded = "ASSESSMENT_TARGET_LIMIT_EXCEEDED"
10807
10808	// LimitExceededErrorCodeAssessmentTemplateLimitExceeded is a LimitExceededErrorCode enum value
10809	LimitExceededErrorCodeAssessmentTemplateLimitExceeded = "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED"
10810
10811	// LimitExceededErrorCodeAssessmentRunLimitExceeded is a LimitExceededErrorCode enum value
10812	LimitExceededErrorCodeAssessmentRunLimitExceeded = "ASSESSMENT_RUN_LIMIT_EXCEEDED"
10813
10814	// LimitExceededErrorCodeResourceGroupLimitExceeded is a LimitExceededErrorCode enum value
10815	LimitExceededErrorCodeResourceGroupLimitExceeded = "RESOURCE_GROUP_LIMIT_EXCEEDED"
10816
10817	// LimitExceededErrorCodeEventSubscriptionLimitExceeded is a LimitExceededErrorCode enum value
10818	LimitExceededErrorCodeEventSubscriptionLimitExceeded = "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED"
10819)
10820
10821// LimitExceededErrorCode_Values returns all elements of the LimitExceededErrorCode enum
10822func LimitExceededErrorCode_Values() []string {
10823	return []string{
10824		LimitExceededErrorCodeAssessmentTargetLimitExceeded,
10825		LimitExceededErrorCodeAssessmentTemplateLimitExceeded,
10826		LimitExceededErrorCodeAssessmentRunLimitExceeded,
10827		LimitExceededErrorCodeResourceGroupLimitExceeded,
10828		LimitExceededErrorCodeEventSubscriptionLimitExceeded,
10829	}
10830}
10831
10832const (
10833	// LocaleEnUs is a Locale enum value
10834	LocaleEnUs = "EN_US"
10835)
10836
10837// Locale_Values returns all elements of the Locale enum
10838func Locale_Values() []string {
10839	return []string{
10840		LocaleEnUs,
10841	}
10842}
10843
10844const (
10845	// NoSuchEntityErrorCodeAssessmentTargetDoesNotExist is a NoSuchEntityErrorCode enum value
10846	NoSuchEntityErrorCodeAssessmentTargetDoesNotExist = "ASSESSMENT_TARGET_DOES_NOT_EXIST"
10847
10848	// NoSuchEntityErrorCodeAssessmentTemplateDoesNotExist is a NoSuchEntityErrorCode enum value
10849	NoSuchEntityErrorCodeAssessmentTemplateDoesNotExist = "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST"
10850
10851	// NoSuchEntityErrorCodeAssessmentRunDoesNotExist is a NoSuchEntityErrorCode enum value
10852	NoSuchEntityErrorCodeAssessmentRunDoesNotExist = "ASSESSMENT_RUN_DOES_NOT_EXIST"
10853
10854	// NoSuchEntityErrorCodeFindingDoesNotExist is a NoSuchEntityErrorCode enum value
10855	NoSuchEntityErrorCodeFindingDoesNotExist = "FINDING_DOES_NOT_EXIST"
10856
10857	// NoSuchEntityErrorCodeResourceGroupDoesNotExist is a NoSuchEntityErrorCode enum value
10858	NoSuchEntityErrorCodeResourceGroupDoesNotExist = "RESOURCE_GROUP_DOES_NOT_EXIST"
10859
10860	// NoSuchEntityErrorCodeRulesPackageDoesNotExist is a NoSuchEntityErrorCode enum value
10861	NoSuchEntityErrorCodeRulesPackageDoesNotExist = "RULES_PACKAGE_DOES_NOT_EXIST"
10862
10863	// NoSuchEntityErrorCodeSnsTopicDoesNotExist is a NoSuchEntityErrorCode enum value
10864	NoSuchEntityErrorCodeSnsTopicDoesNotExist = "SNS_TOPIC_DOES_NOT_EXIST"
10865
10866	// NoSuchEntityErrorCodeIamRoleDoesNotExist is a NoSuchEntityErrorCode enum value
10867	NoSuchEntityErrorCodeIamRoleDoesNotExist = "IAM_ROLE_DOES_NOT_EXIST"
10868)
10869
10870// NoSuchEntityErrorCode_Values returns all elements of the NoSuchEntityErrorCode enum
10871func NoSuchEntityErrorCode_Values() []string {
10872	return []string{
10873		NoSuchEntityErrorCodeAssessmentTargetDoesNotExist,
10874		NoSuchEntityErrorCodeAssessmentTemplateDoesNotExist,
10875		NoSuchEntityErrorCodeAssessmentRunDoesNotExist,
10876		NoSuchEntityErrorCodeFindingDoesNotExist,
10877		NoSuchEntityErrorCodeResourceGroupDoesNotExist,
10878		NoSuchEntityErrorCodeRulesPackageDoesNotExist,
10879		NoSuchEntityErrorCodeSnsTopicDoesNotExist,
10880		NoSuchEntityErrorCodeIamRoleDoesNotExist,
10881	}
10882}
10883
10884const (
10885	// PreviewStatusWorkInProgress is a PreviewStatus enum value
10886	PreviewStatusWorkInProgress = "WORK_IN_PROGRESS"
10887
10888	// PreviewStatusCompleted is a PreviewStatus enum value
10889	PreviewStatusCompleted = "COMPLETED"
10890)
10891
10892// PreviewStatus_Values returns all elements of the PreviewStatus enum
10893func PreviewStatus_Values() []string {
10894	return []string{
10895		PreviewStatusWorkInProgress,
10896		PreviewStatusCompleted,
10897	}
10898}
10899
10900const (
10901	// ReportFileFormatHtml is a ReportFileFormat enum value
10902	ReportFileFormatHtml = "HTML"
10903
10904	// ReportFileFormatPdf is a ReportFileFormat enum value
10905	ReportFileFormatPdf = "PDF"
10906)
10907
10908// ReportFileFormat_Values returns all elements of the ReportFileFormat enum
10909func ReportFileFormat_Values() []string {
10910	return []string{
10911		ReportFileFormatHtml,
10912		ReportFileFormatPdf,
10913	}
10914}
10915
10916const (
10917	// ReportStatusWorkInProgress is a ReportStatus enum value
10918	ReportStatusWorkInProgress = "WORK_IN_PROGRESS"
10919
10920	// ReportStatusFailed is a ReportStatus enum value
10921	ReportStatusFailed = "FAILED"
10922
10923	// ReportStatusCompleted is a ReportStatus enum value
10924	ReportStatusCompleted = "COMPLETED"
10925)
10926
10927// ReportStatus_Values returns all elements of the ReportStatus enum
10928func ReportStatus_Values() []string {
10929	return []string{
10930		ReportStatusWorkInProgress,
10931		ReportStatusFailed,
10932		ReportStatusCompleted,
10933	}
10934}
10935
10936const (
10937	// ReportTypeFinding is a ReportType enum value
10938	ReportTypeFinding = "FINDING"
10939
10940	// ReportTypeFull is a ReportType enum value
10941	ReportTypeFull = "FULL"
10942)
10943
10944// ReportType_Values returns all elements of the ReportType enum
10945func ReportType_Values() []string {
10946	return []string{
10947		ReportTypeFinding,
10948		ReportTypeFull,
10949	}
10950}
10951
10952const (
10953	// ScopeTypeInstanceId is a ScopeType enum value
10954	ScopeTypeInstanceId = "INSTANCE_ID"
10955
10956	// ScopeTypeRulesPackageArn is a ScopeType enum value
10957	ScopeTypeRulesPackageArn = "RULES_PACKAGE_ARN"
10958)
10959
10960// ScopeType_Values returns all elements of the ScopeType enum
10961func ScopeType_Values() []string {
10962	return []string{
10963		ScopeTypeInstanceId,
10964		ScopeTypeRulesPackageArn,
10965	}
10966}
10967
10968const (
10969	// SeverityLow is a Severity enum value
10970	SeverityLow = "Low"
10971
10972	// SeverityMedium is a Severity enum value
10973	SeverityMedium = "Medium"
10974
10975	// SeverityHigh is a Severity enum value
10976	SeverityHigh = "High"
10977
10978	// SeverityInformational is a Severity enum value
10979	SeverityInformational = "Informational"
10980
10981	// SeverityUndefined is a Severity enum value
10982	SeverityUndefined = "Undefined"
10983)
10984
10985// Severity_Values returns all elements of the Severity enum
10986func Severity_Values() []string {
10987	return []string{
10988		SeverityLow,
10989		SeverityMedium,
10990		SeverityHigh,
10991		SeverityInformational,
10992		SeverityUndefined,
10993	}
10994}
10995
10996const (
10997	// StopActionStartEvaluation is a StopAction enum value
10998	StopActionStartEvaluation = "START_EVALUATION"
10999
11000	// StopActionSkipEvaluation is a StopAction enum value
11001	StopActionSkipEvaluation = "SKIP_EVALUATION"
11002)
11003
11004// StopAction_Values returns all elements of the StopAction enum
11005func StopAction_Values() []string {
11006	return []string{
11007		StopActionStartEvaluation,
11008		StopActionSkipEvaluation,
11009	}
11010}
11011