1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package securityhub
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAcceptInvitation = "AcceptInvitation"
17
18// AcceptInvitationRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptInvitation 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 AcceptInvitation for more information on using the AcceptInvitation
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 AcceptInvitationRequest method.
34//    req, resp := client.AcceptInvitationRequest(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/securityhub-2018-10-26/AcceptInvitation
42func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/master",
47	}
48
49	if input == nil {
50		input = &AcceptInvitationInput{}
51	}
52
53	output = &AcceptInvitationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptInvitation API operation for AWS SecurityHub.
60//
61// Accepts the invitation to be a member account and be monitored by the Security
62// Hub master account that the invitation was sent from.
63//
64// This operation is only used by member accounts that are not added through
65// Organizations.
66//
67// When the member account accepts the invitation, permission is granted to
68// the master account to view findings generated in the member account.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS SecurityHub's
75// API operation AcceptInvitation for usage and error information.
76//
77// Returned Error Types:
78//   * InternalException
79//   Internal server error.
80//
81//   * InvalidInputException
82//   The request was rejected because you supplied an invalid or out-of-range
83//   value for an input parameter.
84//
85//   * LimitExceededException
86//   The request was rejected because it attempted to create resources beyond
87//   the current AWS account or throttling limits. The error code describes the
88//   limit exceeded.
89//
90//   * ResourceNotFoundException
91//   The request was rejected because we can't find the specified resource.
92//
93//   * InvalidAccessException
94//   There is an issue with the account used to make the request. Either Security
95//   Hub is not enabled for the account, or the account does not have permission
96//   to perform this action.
97//
98// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
99func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
100	req, out := c.AcceptInvitationRequest(input)
101	return out, req.Send()
102}
103
104// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
105// the ability to pass a context and additional request options.
106//
107// See AcceptInvitation for details on how to use this API operation.
108//
109// The context must be non-nil and will be used for request cancellation. If
110// the context is nil a panic will occur. In the future the SDK may create
111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
112// for more information on using Contexts.
113func (c *SecurityHub) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
114	req, out := c.AcceptInvitationRequest(input)
115	req.SetContext(ctx)
116	req.ApplyOptions(opts...)
117	return out, req.Send()
118}
119
120const opBatchDisableStandards = "BatchDisableStandards"
121
122// BatchDisableStandardsRequest generates a "aws/request.Request" representing the
123// client's request for the BatchDisableStandards operation. The "output" return
124// value will be populated with the request's response once the request completes
125// successfully.
126//
127// Use "Send" method on the returned Request to send the API call to the service.
128// the "output" return value is not valid until after Send returns without error.
129//
130// See BatchDisableStandards for more information on using the BatchDisableStandards
131// API call, and error handling.
132//
133// This method is useful when you want to inject custom logic or configuration
134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
135//
136//
137//    // Example sending a request using the BatchDisableStandardsRequest method.
138//    req, resp := client.BatchDisableStandardsRequest(params)
139//
140//    err := req.Send()
141//    if err == nil { // resp is now filled
142//        fmt.Println(resp)
143//    }
144//
145// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
146func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsInput) (req *request.Request, output *BatchDisableStandardsOutput) {
147	op := &request.Operation{
148		Name:       opBatchDisableStandards,
149		HTTPMethod: "POST",
150		HTTPPath:   "/standards/deregister",
151	}
152
153	if input == nil {
154		input = &BatchDisableStandardsInput{}
155	}
156
157	output = &BatchDisableStandardsOutput{}
158	req = c.newRequest(op, input, output)
159	return
160}
161
162// BatchDisableStandards API operation for AWS SecurityHub.
163//
164// Disables the standards specified by the provided StandardsSubscriptionArns.
165//
166// For more information, see Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
167// section of the AWS Security Hub User Guide.
168//
169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
170// with awserr.Error's Code and Message methods to get detailed information about
171// the error.
172//
173// See the AWS API reference guide for AWS SecurityHub's
174// API operation BatchDisableStandards for usage and error information.
175//
176// Returned Error Types:
177//   * InternalException
178//   Internal server error.
179//
180//   * InvalidInputException
181//   The request was rejected because you supplied an invalid or out-of-range
182//   value for an input parameter.
183//
184//   * InvalidAccessException
185//   There is an issue with the account used to make the request. Either Security
186//   Hub is not enabled for the account, or the account does not have permission
187//   to perform this action.
188//
189//   * LimitExceededException
190//   The request was rejected because it attempted to create resources beyond
191//   the current AWS account or throttling limits. The error code describes the
192//   limit exceeded.
193//
194// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
195func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) {
196	req, out := c.BatchDisableStandardsRequest(input)
197	return out, req.Send()
198}
199
200// BatchDisableStandardsWithContext is the same as BatchDisableStandards with the addition of
201// the ability to pass a context and additional request options.
202//
203// See BatchDisableStandards for details on how to use this API operation.
204//
205// The context must be non-nil and will be used for request cancellation. If
206// the context is nil a panic will occur. In the future the SDK may create
207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
208// for more information on using Contexts.
209func (c *SecurityHub) BatchDisableStandardsWithContext(ctx aws.Context, input *BatchDisableStandardsInput, opts ...request.Option) (*BatchDisableStandardsOutput, error) {
210	req, out := c.BatchDisableStandardsRequest(input)
211	req.SetContext(ctx)
212	req.ApplyOptions(opts...)
213	return out, req.Send()
214}
215
216const opBatchEnableStandards = "BatchEnableStandards"
217
218// BatchEnableStandardsRequest generates a "aws/request.Request" representing the
219// client's request for the BatchEnableStandards operation. The "output" return
220// value will be populated with the request's response once the request completes
221// successfully.
222//
223// Use "Send" method on the returned Request to send the API call to the service.
224// the "output" return value is not valid until after Send returns without error.
225//
226// See BatchEnableStandards for more information on using the BatchEnableStandards
227// API call, and error handling.
228//
229// This method is useful when you want to inject custom logic or configuration
230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
231//
232//
233//    // Example sending a request using the BatchEnableStandardsRequest method.
234//    req, resp := client.BatchEnableStandardsRequest(params)
235//
236//    err := req.Send()
237//    if err == nil { // resp is now filled
238//        fmt.Println(resp)
239//    }
240//
241// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
242func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInput) (req *request.Request, output *BatchEnableStandardsOutput) {
243	op := &request.Operation{
244		Name:       opBatchEnableStandards,
245		HTTPMethod: "POST",
246		HTTPPath:   "/standards/register",
247	}
248
249	if input == nil {
250		input = &BatchEnableStandardsInput{}
251	}
252
253	output = &BatchEnableStandardsOutput{}
254	req = c.newRequest(op, input, output)
255	return
256}
257
258// BatchEnableStandards API operation for AWS SecurityHub.
259//
260// Enables the standards specified by the provided StandardsArn. To obtain the
261// ARN for a standard, use the DescribeStandards operation.
262//
263// For more information, see the Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
264// section of the AWS Security Hub User Guide.
265//
266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
267// with awserr.Error's Code and Message methods to get detailed information about
268// the error.
269//
270// See the AWS API reference guide for AWS SecurityHub's
271// API operation BatchEnableStandards for usage and error information.
272//
273// Returned Error Types:
274//   * InternalException
275//   Internal server error.
276//
277//   * InvalidInputException
278//   The request was rejected because you supplied an invalid or out-of-range
279//   value for an input parameter.
280//
281//   * InvalidAccessException
282//   There is an issue with the account used to make the request. Either Security
283//   Hub is not enabled for the account, or the account does not have permission
284//   to perform this action.
285//
286//   * LimitExceededException
287//   The request was rejected because it attempted to create resources beyond
288//   the current AWS account or throttling limits. The error code describes the
289//   limit exceeded.
290//
291// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
292func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) {
293	req, out := c.BatchEnableStandardsRequest(input)
294	return out, req.Send()
295}
296
297// BatchEnableStandardsWithContext is the same as BatchEnableStandards with the addition of
298// the ability to pass a context and additional request options.
299//
300// See BatchEnableStandards for details on how to use this API operation.
301//
302// The context must be non-nil and will be used for request cancellation. If
303// the context is nil a panic will occur. In the future the SDK may create
304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
305// for more information on using Contexts.
306func (c *SecurityHub) BatchEnableStandardsWithContext(ctx aws.Context, input *BatchEnableStandardsInput, opts ...request.Option) (*BatchEnableStandardsOutput, error) {
307	req, out := c.BatchEnableStandardsRequest(input)
308	req.SetContext(ctx)
309	req.ApplyOptions(opts...)
310	return out, req.Send()
311}
312
313const opBatchImportFindings = "BatchImportFindings"
314
315// BatchImportFindingsRequest generates a "aws/request.Request" representing the
316// client's request for the BatchImportFindings operation. The "output" return
317// value will be populated with the request's response once the request completes
318// successfully.
319//
320// Use "Send" method on the returned Request to send the API call to the service.
321// the "output" return value is not valid until after Send returns without error.
322//
323// See BatchImportFindings for more information on using the BatchImportFindings
324// API call, and error handling.
325//
326// This method is useful when you want to inject custom logic or configuration
327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
328//
329//
330//    // Example sending a request using the BatchImportFindingsRequest method.
331//    req, resp := client.BatchImportFindingsRequest(params)
332//
333//    err := req.Send()
334//    if err == nil { // resp is now filled
335//        fmt.Println(resp)
336//    }
337//
338// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
339func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput) (req *request.Request, output *BatchImportFindingsOutput) {
340	op := &request.Operation{
341		Name:       opBatchImportFindings,
342		HTTPMethod: "POST",
343		HTTPPath:   "/findings/import",
344	}
345
346	if input == nil {
347		input = &BatchImportFindingsInput{}
348	}
349
350	output = &BatchImportFindingsOutput{}
351	req = c.newRequest(op, input, output)
352	return
353}
354
355// BatchImportFindings API operation for AWS SecurityHub.
356//
357// Imports security findings generated from an integrated third-party product
358// into Security Hub. This action is requested by the integrated product to
359// import its findings into Security Hub.
360//
361// The maximum allowed size for a finding is 240 Kb. An error is returned for
362// any finding larger than 240 Kb.
363//
364// After a finding is created, BatchImportFindings cannot be used to update
365// the following finding fields and objects, which Security Hub customers use
366// to manage their investigation workflow.
367//
368//    * Note
369//
370//    * UserDefinedFields
371//
372//    * VerificationState
373//
374//    * Workflow
375//
376// BatchImportFindings can be used to update the following finding fields and
377// objects only if they have not been updated using BatchUpdateFindings. After
378// they are updated using BatchUpdateFindings, these fields cannot be updated
379// using BatchImportFindings.
380//
381//    * Confidence
382//
383//    * Criticality
384//
385//    * RelatedFindings
386//
387//    * Severity
388//
389//    * Types
390//
391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
392// with awserr.Error's Code and Message methods to get detailed information about
393// the error.
394//
395// See the AWS API reference guide for AWS SecurityHub's
396// API operation BatchImportFindings for usage and error information.
397//
398// Returned Error Types:
399//   * InternalException
400//   Internal server error.
401//
402//   * InvalidInputException
403//   The request was rejected because you supplied an invalid or out-of-range
404//   value for an input parameter.
405//
406//   * LimitExceededException
407//   The request was rejected because it attempted to create resources beyond
408//   the current AWS account or throttling limits. The error code describes the
409//   limit exceeded.
410//
411//   * InvalidAccessException
412//   There is an issue with the account used to make the request. Either Security
413//   Hub is not enabled for the account, or the account does not have permission
414//   to perform this action.
415//
416// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
417func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) {
418	req, out := c.BatchImportFindingsRequest(input)
419	return out, req.Send()
420}
421
422// BatchImportFindingsWithContext is the same as BatchImportFindings with the addition of
423// the ability to pass a context and additional request options.
424//
425// See BatchImportFindings for details on how to use this API operation.
426//
427// The context must be non-nil and will be used for request cancellation. If
428// the context is nil a panic will occur. In the future the SDK may create
429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
430// for more information on using Contexts.
431func (c *SecurityHub) BatchImportFindingsWithContext(ctx aws.Context, input *BatchImportFindingsInput, opts ...request.Option) (*BatchImportFindingsOutput, error) {
432	req, out := c.BatchImportFindingsRequest(input)
433	req.SetContext(ctx)
434	req.ApplyOptions(opts...)
435	return out, req.Send()
436}
437
438const opBatchUpdateFindings = "BatchUpdateFindings"
439
440// BatchUpdateFindingsRequest generates a "aws/request.Request" representing the
441// client's request for the BatchUpdateFindings operation. The "output" return
442// value will be populated with the request's response once the request completes
443// successfully.
444//
445// Use "Send" method on the returned Request to send the API call to the service.
446// the "output" return value is not valid until after Send returns without error.
447//
448// See BatchUpdateFindings for more information on using the BatchUpdateFindings
449// API call, and error handling.
450//
451// This method is useful when you want to inject custom logic or configuration
452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
453//
454//
455//    // Example sending a request using the BatchUpdateFindingsRequest method.
456//    req, resp := client.BatchUpdateFindingsRequest(params)
457//
458//    err := req.Send()
459//    if err == nil { // resp is now filled
460//        fmt.Println(resp)
461//    }
462//
463// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
464func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput) (req *request.Request, output *BatchUpdateFindingsOutput) {
465	op := &request.Operation{
466		Name:       opBatchUpdateFindings,
467		HTTPMethod: "PATCH",
468		HTTPPath:   "/findings/batchupdate",
469	}
470
471	if input == nil {
472		input = &BatchUpdateFindingsInput{}
473	}
474
475	output = &BatchUpdateFindingsOutput{}
476	req = c.newRequest(op, input, output)
477	return
478}
479
480// BatchUpdateFindings API operation for AWS SecurityHub.
481//
482// Used by Security Hub customers to update information about their investigation
483// into a finding. Requested by master accounts or member accounts. Master accounts
484// can update findings for their account and their member accounts. Member accounts
485// can update findings for their account.
486//
487// Updates from BatchUpdateFindings do not affect the value of UpdatedAt for
488// a finding.
489//
490// Master and member accounts can use BatchUpdateFindings to update the following
491// finding fields and objects.
492//
493//    * Confidence
494//
495//    * Criticality
496//
497//    * Note
498//
499//    * RelatedFindings
500//
501//    * Severity
502//
503//    * Types
504//
505//    * UserDefinedFields
506//
507//    * VerificationState
508//
509//    * Workflow
510//
511// You can configure IAM policies to restrict access to fields and field values.
512// For example, you might not want member accounts to be able to suppress findings
513// or change the finding severity. See Configuring access to BatchUpdateFindings
514// (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-update-batchupdatefindings.html#batchupdatefindings-configure-access)
515// in the AWS Security Hub User Guide.
516//
517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
518// with awserr.Error's Code and Message methods to get detailed information about
519// the error.
520//
521// See the AWS API reference guide for AWS SecurityHub's
522// API operation BatchUpdateFindings for usage and error information.
523//
524// Returned Error Types:
525//   * InternalException
526//   Internal server error.
527//
528//   * InvalidInputException
529//   The request was rejected because you supplied an invalid or out-of-range
530//   value for an input parameter.
531//
532//   * LimitExceededException
533//   The request was rejected because it attempted to create resources beyond
534//   the current AWS account or throttling limits. The error code describes the
535//   limit exceeded.
536//
537//   * InvalidAccessException
538//   There is an issue with the account used to make the request. Either Security
539//   Hub is not enabled for the account, or the account does not have permission
540//   to perform this action.
541//
542// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
543func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) {
544	req, out := c.BatchUpdateFindingsRequest(input)
545	return out, req.Send()
546}
547
548// BatchUpdateFindingsWithContext is the same as BatchUpdateFindings with the addition of
549// the ability to pass a context and additional request options.
550//
551// See BatchUpdateFindings for details on how to use this API operation.
552//
553// The context must be non-nil and will be used for request cancellation. If
554// the context is nil a panic will occur. In the future the SDK may create
555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
556// for more information on using Contexts.
557func (c *SecurityHub) BatchUpdateFindingsWithContext(ctx aws.Context, input *BatchUpdateFindingsInput, opts ...request.Option) (*BatchUpdateFindingsOutput, error) {
558	req, out := c.BatchUpdateFindingsRequest(input)
559	req.SetContext(ctx)
560	req.ApplyOptions(opts...)
561	return out, req.Send()
562}
563
564const opCreateActionTarget = "CreateActionTarget"
565
566// CreateActionTargetRequest generates a "aws/request.Request" representing the
567// client's request for the CreateActionTarget operation. The "output" return
568// value will be populated with the request's response once the request completes
569// successfully.
570//
571// Use "Send" method on the returned Request to send the API call to the service.
572// the "output" return value is not valid until after Send returns without error.
573//
574// See CreateActionTarget for more information on using the CreateActionTarget
575// API call, and error handling.
576//
577// This method is useful when you want to inject custom logic or configuration
578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
579//
580//
581//    // Example sending a request using the CreateActionTargetRequest method.
582//    req, resp := client.CreateActionTargetRequest(params)
583//
584//    err := req.Send()
585//    if err == nil { // resp is now filled
586//        fmt.Println(resp)
587//    }
588//
589// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
590func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) (req *request.Request, output *CreateActionTargetOutput) {
591	op := &request.Operation{
592		Name:       opCreateActionTarget,
593		HTTPMethod: "POST",
594		HTTPPath:   "/actionTargets",
595	}
596
597	if input == nil {
598		input = &CreateActionTargetInput{}
599	}
600
601	output = &CreateActionTargetOutput{}
602	req = c.newRequest(op, input, output)
603	return
604}
605
606// CreateActionTarget API operation for AWS SecurityHub.
607//
608// Creates a custom action target in Security Hub.
609//
610// You can use custom actions on findings and insights in Security Hub to trigger
611// target actions in Amazon CloudWatch Events.
612//
613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
614// with awserr.Error's Code and Message methods to get detailed information about
615// the error.
616//
617// See the AWS API reference guide for AWS SecurityHub's
618// API operation CreateActionTarget for usage and error information.
619//
620// Returned Error Types:
621//   * InternalException
622//   Internal server error.
623//
624//   * InvalidInputException
625//   The request was rejected because you supplied an invalid or out-of-range
626//   value for an input parameter.
627//
628//   * InvalidAccessException
629//   There is an issue with the account used to make the request. Either Security
630//   Hub is not enabled for the account, or the account does not have permission
631//   to perform this action.
632//
633//   * LimitExceededException
634//   The request was rejected because it attempted to create resources beyond
635//   the current AWS account or throttling limits. The error code describes the
636//   limit exceeded.
637//
638//   * ResourceConflictException
639//   The resource specified in the request conflicts with an existing resource.
640//
641// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
642func (c *SecurityHub) CreateActionTarget(input *CreateActionTargetInput) (*CreateActionTargetOutput, error) {
643	req, out := c.CreateActionTargetRequest(input)
644	return out, req.Send()
645}
646
647// CreateActionTargetWithContext is the same as CreateActionTarget with the addition of
648// the ability to pass a context and additional request options.
649//
650// See CreateActionTarget for details on how to use this API operation.
651//
652// The context must be non-nil and will be used for request cancellation. If
653// the context is nil a panic will occur. In the future the SDK may create
654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
655// for more information on using Contexts.
656func (c *SecurityHub) CreateActionTargetWithContext(ctx aws.Context, input *CreateActionTargetInput, opts ...request.Option) (*CreateActionTargetOutput, error) {
657	req, out := c.CreateActionTargetRequest(input)
658	req.SetContext(ctx)
659	req.ApplyOptions(opts...)
660	return out, req.Send()
661}
662
663const opCreateInsight = "CreateInsight"
664
665// CreateInsightRequest generates a "aws/request.Request" representing the
666// client's request for the CreateInsight operation. The "output" return
667// value will be populated with the request's response once the request completes
668// successfully.
669//
670// Use "Send" method on the returned Request to send the API call to the service.
671// the "output" return value is not valid until after Send returns without error.
672//
673// See CreateInsight for more information on using the CreateInsight
674// API call, and error handling.
675//
676// This method is useful when you want to inject custom logic or configuration
677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
678//
679//
680//    // Example sending a request using the CreateInsightRequest method.
681//    req, resp := client.CreateInsightRequest(params)
682//
683//    err := req.Send()
684//    if err == nil { // resp is now filled
685//        fmt.Println(resp)
686//    }
687//
688// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
689func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
690	op := &request.Operation{
691		Name:       opCreateInsight,
692		HTTPMethod: "POST",
693		HTTPPath:   "/insights",
694	}
695
696	if input == nil {
697		input = &CreateInsightInput{}
698	}
699
700	output = &CreateInsightOutput{}
701	req = c.newRequest(op, input, output)
702	return
703}
704
705// CreateInsight API operation for AWS SecurityHub.
706//
707// Creates a custom insight in Security Hub. An insight is a consolidation of
708// findings that relate to a security issue that requires attention or remediation.
709//
710// To group the related findings in the insight, use the GroupByAttribute.
711//
712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
713// with awserr.Error's Code and Message methods to get detailed information about
714// the error.
715//
716// See the AWS API reference guide for AWS SecurityHub's
717// API operation CreateInsight for usage and error information.
718//
719// Returned Error Types:
720//   * InternalException
721//   Internal server error.
722//
723//   * InvalidInputException
724//   The request was rejected because you supplied an invalid or out-of-range
725//   value for an input parameter.
726//
727//   * LimitExceededException
728//   The request was rejected because it attempted to create resources beyond
729//   the current AWS account or throttling limits. The error code describes the
730//   limit exceeded.
731//
732//   * InvalidAccessException
733//   There is an issue with the account used to make the request. Either Security
734//   Hub is not enabled for the account, or the account does not have permission
735//   to perform this action.
736//
737//   * ResourceConflictException
738//   The resource specified in the request conflicts with an existing resource.
739//
740// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
741func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
742	req, out := c.CreateInsightRequest(input)
743	return out, req.Send()
744}
745
746// CreateInsightWithContext is the same as CreateInsight with the addition of
747// the ability to pass a context and additional request options.
748//
749// See CreateInsight for details on how to use this API operation.
750//
751// The context must be non-nil and will be used for request cancellation. If
752// the context is nil a panic will occur. In the future the SDK may create
753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
754// for more information on using Contexts.
755func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
756	req, out := c.CreateInsightRequest(input)
757	req.SetContext(ctx)
758	req.ApplyOptions(opts...)
759	return out, req.Send()
760}
761
762const opCreateMembers = "CreateMembers"
763
764// CreateMembersRequest generates a "aws/request.Request" representing the
765// client's request for the CreateMembers operation. The "output" return
766// value will be populated with the request's response once the request completes
767// successfully.
768//
769// Use "Send" method on the returned Request to send the API call to the service.
770// the "output" return value is not valid until after Send returns without error.
771//
772// See CreateMembers for more information on using the CreateMembers
773// API call, and error handling.
774//
775// This method is useful when you want to inject custom logic or configuration
776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
777//
778//
779//    // Example sending a request using the CreateMembersRequest method.
780//    req, resp := client.CreateMembersRequest(params)
781//
782//    err := req.Send()
783//    if err == nil { // resp is now filled
784//        fmt.Println(resp)
785//    }
786//
787// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
788func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
789	op := &request.Operation{
790		Name:       opCreateMembers,
791		HTTPMethod: "POST",
792		HTTPPath:   "/members",
793	}
794
795	if input == nil {
796		input = &CreateMembersInput{}
797	}
798
799	output = &CreateMembersOutput{}
800	req = c.newRequest(op, input, output)
801	return
802}
803
804// CreateMembers API operation for AWS SecurityHub.
805//
806// Creates a member association in Security Hub between the specified accounts
807// and the account used to make the request, which is the master account. If
808// you are integrated with Organizations, then the master account is the Security
809// Hub administrator account that is designated by the organization management
810// account.
811//
812// CreateMembers is always used to add accounts that are not organization members.
813//
814// For accounts that are part of an organization, CreateMembers is only used
815// in the following cases:
816//
817//    * Security Hub is not configured to automatically add new accounts in
818//    an organization.
819//
820//    * The account was disassociated or deleted in Security Hub.
821//
822// This action can only be used by an account that has Security Hub enabled.
823// To enable Security Hub, you can use the EnableSecurityHub operation.
824//
825// For accounts that are not organization members, you create the account association
826// and then send an invitation to the member account. To send the invitation,
827// you use the InviteMembers operation. If the account owner accepts the invitation,
828// the account becomes a member account in Security Hub.
829//
830// Accounts that are part of an organization do not receive an invitation. They
831// automatically become a member account in Security Hub.
832//
833// A permissions policy is added that permits the master account to view the
834// findings generated in the member account. When Security Hub is enabled in
835// a member account, findings are sent to both the member and master accounts.
836//
837// To remove the association between the master and member accounts, use the
838// DisassociateFromMasterAccount or DisassociateMembers operation.
839//
840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
841// with awserr.Error's Code and Message methods to get detailed information about
842// the error.
843//
844// See the AWS API reference guide for AWS SecurityHub's
845// API operation CreateMembers for usage and error information.
846//
847// Returned Error Types:
848//   * InternalException
849//   Internal server error.
850//
851//   * InvalidInputException
852//   The request was rejected because you supplied an invalid or out-of-range
853//   value for an input parameter.
854//
855//   * LimitExceededException
856//   The request was rejected because it attempted to create resources beyond
857//   the current AWS account or throttling limits. The error code describes the
858//   limit exceeded.
859//
860//   * InvalidAccessException
861//   There is an issue with the account used to make the request. Either Security
862//   Hub is not enabled for the account, or the account does not have permission
863//   to perform this action.
864//
865//   * ResourceConflictException
866//   The resource specified in the request conflicts with an existing resource.
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
869func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
870	req, out := c.CreateMembersRequest(input)
871	return out, req.Send()
872}
873
874// CreateMembersWithContext is the same as CreateMembers with the addition of
875// the ability to pass a context and additional request options.
876//
877// See CreateMembers for details on how to use this API operation.
878//
879// The context must be non-nil and will be used for request cancellation. If
880// the context is nil a panic will occur. In the future the SDK may create
881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
882// for more information on using Contexts.
883func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
884	req, out := c.CreateMembersRequest(input)
885	req.SetContext(ctx)
886	req.ApplyOptions(opts...)
887	return out, req.Send()
888}
889
890const opDeclineInvitations = "DeclineInvitations"
891
892// DeclineInvitationsRequest generates a "aws/request.Request" representing the
893// client's request for the DeclineInvitations operation. The "output" return
894// value will be populated with the request's response once the request completes
895// successfully.
896//
897// Use "Send" method on the returned Request to send the API call to the service.
898// the "output" return value is not valid until after Send returns without error.
899//
900// See DeclineInvitations for more information on using the DeclineInvitations
901// API call, and error handling.
902//
903// This method is useful when you want to inject custom logic or configuration
904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
905//
906//
907//    // Example sending a request using the DeclineInvitationsRequest method.
908//    req, resp := client.DeclineInvitationsRequest(params)
909//
910//    err := req.Send()
911//    if err == nil { // resp is now filled
912//        fmt.Println(resp)
913//    }
914//
915// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
916func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
917	op := &request.Operation{
918		Name:       opDeclineInvitations,
919		HTTPMethod: "POST",
920		HTTPPath:   "/invitations/decline",
921	}
922
923	if input == nil {
924		input = &DeclineInvitationsInput{}
925	}
926
927	output = &DeclineInvitationsOutput{}
928	req = c.newRequest(op, input, output)
929	return
930}
931
932// DeclineInvitations API operation for AWS SecurityHub.
933//
934// Declines invitations to become a member account.
935//
936// This operation is only used by accounts that are not part of an organization.
937// Organization accounts do not receive invitations.
938//
939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
940// with awserr.Error's Code and Message methods to get detailed information about
941// the error.
942//
943// See the AWS API reference guide for AWS SecurityHub's
944// API operation DeclineInvitations for usage and error information.
945//
946// Returned Error Types:
947//   * InternalException
948//   Internal server error.
949//
950//   * InvalidInputException
951//   The request was rejected because you supplied an invalid or out-of-range
952//   value for an input parameter.
953//
954//   * InvalidAccessException
955//   There is an issue with the account used to make the request. Either Security
956//   Hub is not enabled for the account, or the account does not have permission
957//   to perform this action.
958//
959//   * ResourceNotFoundException
960//   The request was rejected because we can't find the specified resource.
961//
962// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
963func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
964	req, out := c.DeclineInvitationsRequest(input)
965	return out, req.Send()
966}
967
968// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
969// the ability to pass a context and additional request options.
970//
971// See DeclineInvitations for details on how to use this API operation.
972//
973// The context must be non-nil and will be used for request cancellation. If
974// the context is nil a panic will occur. In the future the SDK may create
975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
976// for more information on using Contexts.
977func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
978	req, out := c.DeclineInvitationsRequest(input)
979	req.SetContext(ctx)
980	req.ApplyOptions(opts...)
981	return out, req.Send()
982}
983
984const opDeleteActionTarget = "DeleteActionTarget"
985
986// DeleteActionTargetRequest generates a "aws/request.Request" representing the
987// client's request for the DeleteActionTarget operation. The "output" return
988// value will be populated with the request's response once the request completes
989// successfully.
990//
991// Use "Send" method on the returned Request to send the API call to the service.
992// the "output" return value is not valid until after Send returns without error.
993//
994// See DeleteActionTarget for more information on using the DeleteActionTarget
995// API call, and error handling.
996//
997// This method is useful when you want to inject custom logic or configuration
998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
999//
1000//
1001//    // Example sending a request using the DeleteActionTargetRequest method.
1002//    req, resp := client.DeleteActionTargetRequest(params)
1003//
1004//    err := req.Send()
1005//    if err == nil { // resp is now filled
1006//        fmt.Println(resp)
1007//    }
1008//
1009// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1010func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
1011	op := &request.Operation{
1012		Name:       opDeleteActionTarget,
1013		HTTPMethod: "DELETE",
1014		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
1015	}
1016
1017	if input == nil {
1018		input = &DeleteActionTargetInput{}
1019	}
1020
1021	output = &DeleteActionTargetOutput{}
1022	req = c.newRequest(op, input, output)
1023	return
1024}
1025
1026// DeleteActionTarget API operation for AWS SecurityHub.
1027//
1028// Deletes a custom action target from Security Hub.
1029//
1030// Deleting a custom action target does not affect any findings or insights
1031// that were already sent to Amazon CloudWatch Events using the custom action.
1032//
1033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1034// with awserr.Error's Code and Message methods to get detailed information about
1035// the error.
1036//
1037// See the AWS API reference guide for AWS SecurityHub's
1038// API operation DeleteActionTarget for usage and error information.
1039//
1040// Returned Error Types:
1041//   * InternalException
1042//   Internal server error.
1043//
1044//   * InvalidInputException
1045//   The request was rejected because you supplied an invalid or out-of-range
1046//   value for an input parameter.
1047//
1048//   * InvalidAccessException
1049//   There is an issue with the account used to make the request. Either Security
1050//   Hub is not enabled for the account, or the account does not have permission
1051//   to perform this action.
1052//
1053//   * ResourceNotFoundException
1054//   The request was rejected because we can't find the specified resource.
1055//
1056// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1057func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1058	req, out := c.DeleteActionTargetRequest(input)
1059	return out, req.Send()
1060}
1061
1062// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1063// the ability to pass a context and additional request options.
1064//
1065// See DeleteActionTarget for details on how to use this API operation.
1066//
1067// The context must be non-nil and will be used for request cancellation. If
1068// the context is nil a panic will occur. In the future the SDK may create
1069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1070// for more information on using Contexts.
1071func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1072	req, out := c.DeleteActionTargetRequest(input)
1073	req.SetContext(ctx)
1074	req.ApplyOptions(opts...)
1075	return out, req.Send()
1076}
1077
1078const opDeleteInsight = "DeleteInsight"
1079
1080// DeleteInsightRequest generates a "aws/request.Request" representing the
1081// client's request for the DeleteInsight operation. The "output" return
1082// value will be populated with the request's response once the request completes
1083// successfully.
1084//
1085// Use "Send" method on the returned Request to send the API call to the service.
1086// the "output" return value is not valid until after Send returns without error.
1087//
1088// See DeleteInsight for more information on using the DeleteInsight
1089// API call, and error handling.
1090//
1091// This method is useful when you want to inject custom logic or configuration
1092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1093//
1094//
1095//    // Example sending a request using the DeleteInsightRequest method.
1096//    req, resp := client.DeleteInsightRequest(params)
1097//
1098//    err := req.Send()
1099//    if err == nil { // resp is now filled
1100//        fmt.Println(resp)
1101//    }
1102//
1103// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1104func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1105	op := &request.Operation{
1106		Name:       opDeleteInsight,
1107		HTTPMethod: "DELETE",
1108		HTTPPath:   "/insights/{InsightArn+}",
1109	}
1110
1111	if input == nil {
1112		input = &DeleteInsightInput{}
1113	}
1114
1115	output = &DeleteInsightOutput{}
1116	req = c.newRequest(op, input, output)
1117	return
1118}
1119
1120// DeleteInsight API operation for AWS SecurityHub.
1121//
1122// Deletes the insight specified by the InsightArn.
1123//
1124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1125// with awserr.Error's Code and Message methods to get detailed information about
1126// the error.
1127//
1128// See the AWS API reference guide for AWS SecurityHub's
1129// API operation DeleteInsight for usage and error information.
1130//
1131// Returned Error Types:
1132//   * InternalException
1133//   Internal server error.
1134//
1135//   * InvalidInputException
1136//   The request was rejected because you supplied an invalid or out-of-range
1137//   value for an input parameter.
1138//
1139//   * InvalidAccessException
1140//   There is an issue with the account used to make the request. Either Security
1141//   Hub is not enabled for the account, or the account does not have permission
1142//   to perform this action.
1143//
1144//   * LimitExceededException
1145//   The request was rejected because it attempted to create resources beyond
1146//   the current AWS account or throttling limits. The error code describes the
1147//   limit exceeded.
1148//
1149//   * ResourceNotFoundException
1150//   The request was rejected because we can't find the specified resource.
1151//
1152// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1153func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1154	req, out := c.DeleteInsightRequest(input)
1155	return out, req.Send()
1156}
1157
1158// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1159// the ability to pass a context and additional request options.
1160//
1161// See DeleteInsight for details on how to use this API operation.
1162//
1163// The context must be non-nil and will be used for request cancellation. If
1164// the context is nil a panic will occur. In the future the SDK may create
1165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1166// for more information on using Contexts.
1167func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1168	req, out := c.DeleteInsightRequest(input)
1169	req.SetContext(ctx)
1170	req.ApplyOptions(opts...)
1171	return out, req.Send()
1172}
1173
1174const opDeleteInvitations = "DeleteInvitations"
1175
1176// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1177// client's request for the DeleteInvitations operation. The "output" return
1178// value will be populated with the request's response once the request completes
1179// successfully.
1180//
1181// Use "Send" method on the returned Request to send the API call to the service.
1182// the "output" return value is not valid until after Send returns without error.
1183//
1184// See DeleteInvitations for more information on using the DeleteInvitations
1185// API call, and error handling.
1186//
1187// This method is useful when you want to inject custom logic or configuration
1188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1189//
1190//
1191//    // Example sending a request using the DeleteInvitationsRequest method.
1192//    req, resp := client.DeleteInvitationsRequest(params)
1193//
1194//    err := req.Send()
1195//    if err == nil { // resp is now filled
1196//        fmt.Println(resp)
1197//    }
1198//
1199// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1200func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1201	op := &request.Operation{
1202		Name:       opDeleteInvitations,
1203		HTTPMethod: "POST",
1204		HTTPPath:   "/invitations/delete",
1205	}
1206
1207	if input == nil {
1208		input = &DeleteInvitationsInput{}
1209	}
1210
1211	output = &DeleteInvitationsOutput{}
1212	req = c.newRequest(op, input, output)
1213	return
1214}
1215
1216// DeleteInvitations API operation for AWS SecurityHub.
1217//
1218// Deletes invitations received by the AWS account to become a member account.
1219//
1220// This operation is only used by accounts that are not part of an organization.
1221// Organization accounts do not receive invitations.
1222//
1223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1224// with awserr.Error's Code and Message methods to get detailed information about
1225// the error.
1226//
1227// See the AWS API reference guide for AWS SecurityHub's
1228// API operation DeleteInvitations for usage and error information.
1229//
1230// Returned Error Types:
1231//   * InternalException
1232//   Internal server error.
1233//
1234//   * InvalidInputException
1235//   The request was rejected because you supplied an invalid or out-of-range
1236//   value for an input parameter.
1237//
1238//   * LimitExceededException
1239//   The request was rejected because it attempted to create resources beyond
1240//   the current AWS account or throttling limits. The error code describes the
1241//   limit exceeded.
1242//
1243//   * ResourceNotFoundException
1244//   The request was rejected because we can't find the specified resource.
1245//
1246//   * InvalidAccessException
1247//   There is an issue with the account used to make the request. Either Security
1248//   Hub is not enabled for the account, or the account does not have permission
1249//   to perform this action.
1250//
1251// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1252func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1253	req, out := c.DeleteInvitationsRequest(input)
1254	return out, req.Send()
1255}
1256
1257// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1258// the ability to pass a context and additional request options.
1259//
1260// See DeleteInvitations for details on how to use this API operation.
1261//
1262// The context must be non-nil and will be used for request cancellation. If
1263// the context is nil a panic will occur. In the future the SDK may create
1264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1265// for more information on using Contexts.
1266func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1267	req, out := c.DeleteInvitationsRequest(input)
1268	req.SetContext(ctx)
1269	req.ApplyOptions(opts...)
1270	return out, req.Send()
1271}
1272
1273const opDeleteMembers = "DeleteMembers"
1274
1275// DeleteMembersRequest generates a "aws/request.Request" representing the
1276// client's request for the DeleteMembers operation. The "output" return
1277// value will be populated with the request's response once the request completes
1278// successfully.
1279//
1280// Use "Send" method on the returned Request to send the API call to the service.
1281// the "output" return value is not valid until after Send returns without error.
1282//
1283// See DeleteMembers for more information on using the DeleteMembers
1284// API call, and error handling.
1285//
1286// This method is useful when you want to inject custom logic or configuration
1287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1288//
1289//
1290//    // Example sending a request using the DeleteMembersRequest method.
1291//    req, resp := client.DeleteMembersRequest(params)
1292//
1293//    err := req.Send()
1294//    if err == nil { // resp is now filled
1295//        fmt.Println(resp)
1296//    }
1297//
1298// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1299func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1300	op := &request.Operation{
1301		Name:       opDeleteMembers,
1302		HTTPMethod: "POST",
1303		HTTPPath:   "/members/delete",
1304	}
1305
1306	if input == nil {
1307		input = &DeleteMembersInput{}
1308	}
1309
1310	output = &DeleteMembersOutput{}
1311	req = c.newRequest(op, input, output)
1312	return
1313}
1314
1315// DeleteMembers API operation for AWS SecurityHub.
1316//
1317// Deletes the specified member accounts from Security Hub.
1318//
1319// Can be used to delete member accounts that belong to an organization as well
1320// as member accounts that were invited manually.
1321//
1322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1323// with awserr.Error's Code and Message methods to get detailed information about
1324// the error.
1325//
1326// See the AWS API reference guide for AWS SecurityHub's
1327// API operation DeleteMembers for usage and error information.
1328//
1329// Returned Error Types:
1330//   * InternalException
1331//   Internal server error.
1332//
1333//   * InvalidInputException
1334//   The request was rejected because you supplied an invalid or out-of-range
1335//   value for an input parameter.
1336//
1337//   * InvalidAccessException
1338//   There is an issue with the account used to make the request. Either Security
1339//   Hub is not enabled for the account, or the account does not have permission
1340//   to perform this action.
1341//
1342//   * LimitExceededException
1343//   The request was rejected because it attempted to create resources beyond
1344//   the current AWS account or throttling limits. The error code describes the
1345//   limit exceeded.
1346//
1347//   * ResourceNotFoundException
1348//   The request was rejected because we can't find the specified resource.
1349//
1350// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1351func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1352	req, out := c.DeleteMembersRequest(input)
1353	return out, req.Send()
1354}
1355
1356// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1357// the ability to pass a context and additional request options.
1358//
1359// See DeleteMembers for details on how to use this API operation.
1360//
1361// The context must be non-nil and will be used for request cancellation. If
1362// the context is nil a panic will occur. In the future the SDK may create
1363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1364// for more information on using Contexts.
1365func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1366	req, out := c.DeleteMembersRequest(input)
1367	req.SetContext(ctx)
1368	req.ApplyOptions(opts...)
1369	return out, req.Send()
1370}
1371
1372const opDescribeActionTargets = "DescribeActionTargets"
1373
1374// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1375// client's request for the DescribeActionTargets operation. The "output" return
1376// value will be populated with the request's response once the request completes
1377// successfully.
1378//
1379// Use "Send" method on the returned Request to send the API call to the service.
1380// the "output" return value is not valid until after Send returns without error.
1381//
1382// See DescribeActionTargets for more information on using the DescribeActionTargets
1383// API call, and error handling.
1384//
1385// This method is useful when you want to inject custom logic or configuration
1386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1387//
1388//
1389//    // Example sending a request using the DescribeActionTargetsRequest method.
1390//    req, resp := client.DescribeActionTargetsRequest(params)
1391//
1392//    err := req.Send()
1393//    if err == nil { // resp is now filled
1394//        fmt.Println(resp)
1395//    }
1396//
1397// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1398func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1399	op := &request.Operation{
1400		Name:       opDescribeActionTargets,
1401		HTTPMethod: "POST",
1402		HTTPPath:   "/actionTargets/get",
1403		Paginator: &request.Paginator{
1404			InputTokens:     []string{"NextToken"},
1405			OutputTokens:    []string{"NextToken"},
1406			LimitToken:      "MaxResults",
1407			TruncationToken: "",
1408		},
1409	}
1410
1411	if input == nil {
1412		input = &DescribeActionTargetsInput{}
1413	}
1414
1415	output = &DescribeActionTargetsOutput{}
1416	req = c.newRequest(op, input, output)
1417	return
1418}
1419
1420// DescribeActionTargets API operation for AWS SecurityHub.
1421//
1422// Returns a list of the custom action targets in Security Hub in your account.
1423//
1424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1425// with awserr.Error's Code and Message methods to get detailed information about
1426// the error.
1427//
1428// See the AWS API reference guide for AWS SecurityHub's
1429// API operation DescribeActionTargets for usage and error information.
1430//
1431// Returned Error Types:
1432//   * InternalException
1433//   Internal server error.
1434//
1435//   * InvalidInputException
1436//   The request was rejected because you supplied an invalid or out-of-range
1437//   value for an input parameter.
1438//
1439//   * InvalidAccessException
1440//   There is an issue with the account used to make the request. Either Security
1441//   Hub is not enabled for the account, or the account does not have permission
1442//   to perform this action.
1443//
1444//   * ResourceNotFoundException
1445//   The request was rejected because we can't find the specified resource.
1446//
1447// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1448func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1449	req, out := c.DescribeActionTargetsRequest(input)
1450	return out, req.Send()
1451}
1452
1453// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1454// the ability to pass a context and additional request options.
1455//
1456// See DescribeActionTargets for details on how to use this API operation.
1457//
1458// The context must be non-nil and will be used for request cancellation. If
1459// the context is nil a panic will occur. In the future the SDK may create
1460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1461// for more information on using Contexts.
1462func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1463	req, out := c.DescribeActionTargetsRequest(input)
1464	req.SetContext(ctx)
1465	req.ApplyOptions(opts...)
1466	return out, req.Send()
1467}
1468
1469// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1470// calling the "fn" function with the response data for each page. To stop
1471// iterating, return false from the fn function.
1472//
1473// See DescribeActionTargets method for more information on how to use this operation.
1474//
1475// Note: This operation can generate multiple requests to a service.
1476//
1477//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1478//    pageNum := 0
1479//    err := client.DescribeActionTargetsPages(params,
1480//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1481//            pageNum++
1482//            fmt.Println(page)
1483//            return pageNum <= 3
1484//        })
1485//
1486func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1487	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1488}
1489
1490// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1491// it takes a Context and allows setting request options on the pages.
1492//
1493// The context must be non-nil and will be used for request cancellation. If
1494// the context is nil a panic will occur. In the future the SDK may create
1495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1496// for more information on using Contexts.
1497func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1498	p := request.Pagination{
1499		NewRequest: func() (*request.Request, error) {
1500			var inCpy *DescribeActionTargetsInput
1501			if input != nil {
1502				tmp := *input
1503				inCpy = &tmp
1504			}
1505			req, _ := c.DescribeActionTargetsRequest(inCpy)
1506			req.SetContext(ctx)
1507			req.ApplyOptions(opts...)
1508			return req, nil
1509		},
1510	}
1511
1512	for p.Next() {
1513		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1514			break
1515		}
1516	}
1517
1518	return p.Err()
1519}
1520
1521const opDescribeHub = "DescribeHub"
1522
1523// DescribeHubRequest generates a "aws/request.Request" representing the
1524// client's request for the DescribeHub operation. The "output" return
1525// value will be populated with the request's response once the request completes
1526// successfully.
1527//
1528// Use "Send" method on the returned Request to send the API call to the service.
1529// the "output" return value is not valid until after Send returns without error.
1530//
1531// See DescribeHub for more information on using the DescribeHub
1532// API call, and error handling.
1533//
1534// This method is useful when you want to inject custom logic or configuration
1535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1536//
1537//
1538//    // Example sending a request using the DescribeHubRequest method.
1539//    req, resp := client.DescribeHubRequest(params)
1540//
1541//    err := req.Send()
1542//    if err == nil { // resp is now filled
1543//        fmt.Println(resp)
1544//    }
1545//
1546// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1547func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1548	op := &request.Operation{
1549		Name:       opDescribeHub,
1550		HTTPMethod: "GET",
1551		HTTPPath:   "/accounts",
1552	}
1553
1554	if input == nil {
1555		input = &DescribeHubInput{}
1556	}
1557
1558	output = &DescribeHubOutput{}
1559	req = c.newRequest(op, input, output)
1560	return
1561}
1562
1563// DescribeHub API operation for AWS SecurityHub.
1564//
1565// Returns details about the Hub resource in your account, including the HubArn
1566// and the time when you enabled Security Hub.
1567//
1568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1569// with awserr.Error's Code and Message methods to get detailed information about
1570// the error.
1571//
1572// See the AWS API reference guide for AWS SecurityHub's
1573// API operation DescribeHub for usage and error information.
1574//
1575// Returned Error Types:
1576//   * InternalException
1577//   Internal server error.
1578//
1579//   * LimitExceededException
1580//   The request was rejected because it attempted to create resources beyond
1581//   the current AWS account or throttling limits. The error code describes the
1582//   limit exceeded.
1583//
1584//   * InvalidAccessException
1585//   There is an issue with the account used to make the request. Either Security
1586//   Hub is not enabled for the account, or the account does not have permission
1587//   to perform this action.
1588//
1589//   * InvalidInputException
1590//   The request was rejected because you supplied an invalid or out-of-range
1591//   value for an input parameter.
1592//
1593//   * ResourceNotFoundException
1594//   The request was rejected because we can't find the specified resource.
1595//
1596// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1597func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1598	req, out := c.DescribeHubRequest(input)
1599	return out, req.Send()
1600}
1601
1602// DescribeHubWithContext is the same as DescribeHub with the addition of
1603// the ability to pass a context and additional request options.
1604//
1605// See DescribeHub for details on how to use this API operation.
1606//
1607// The context must be non-nil and will be used for request cancellation. If
1608// the context is nil a panic will occur. In the future the SDK may create
1609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1610// for more information on using Contexts.
1611func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1612	req, out := c.DescribeHubRequest(input)
1613	req.SetContext(ctx)
1614	req.ApplyOptions(opts...)
1615	return out, req.Send()
1616}
1617
1618const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1619
1620// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1621// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1622// value will be populated with the request's response once the request completes
1623// successfully.
1624//
1625// Use "Send" method on the returned Request to send the API call to the service.
1626// the "output" return value is not valid until after Send returns without error.
1627//
1628// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1629// API call, and error handling.
1630//
1631// This method is useful when you want to inject custom logic or configuration
1632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1633//
1634//
1635//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1636//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1637//
1638//    err := req.Send()
1639//    if err == nil { // resp is now filled
1640//        fmt.Println(resp)
1641//    }
1642//
1643// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1644func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1645	op := &request.Operation{
1646		Name:       opDescribeOrganizationConfiguration,
1647		HTTPMethod: "GET",
1648		HTTPPath:   "/organization/configuration",
1649	}
1650
1651	if input == nil {
1652		input = &DescribeOrganizationConfigurationInput{}
1653	}
1654
1655	output = &DescribeOrganizationConfigurationOutput{}
1656	req = c.newRequest(op, input, output)
1657	return
1658}
1659
1660// DescribeOrganizationConfiguration API operation for AWS SecurityHub.
1661//
1662// Returns information about the Organizations configuration for Security Hub.
1663// Can only be called from a Security Hub administrator account.
1664//
1665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1666// with awserr.Error's Code and Message methods to get detailed information about
1667// the error.
1668//
1669// See the AWS API reference guide for AWS SecurityHub's
1670// API operation DescribeOrganizationConfiguration for usage and error information.
1671//
1672// Returned Error Types:
1673//   * InternalException
1674//   Internal server error.
1675//
1676//   * InvalidInputException
1677//   The request was rejected because you supplied an invalid or out-of-range
1678//   value for an input parameter.
1679//
1680//   * InvalidAccessException
1681//   There is an issue with the account used to make the request. Either Security
1682//   Hub is not enabled for the account, or the account does not have permission
1683//   to perform this action.
1684//
1685//   * LimitExceededException
1686//   The request was rejected because it attempted to create resources beyond
1687//   the current AWS account or throttling limits. The error code describes the
1688//   limit exceeded.
1689//
1690// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1691func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1692	req, out := c.DescribeOrganizationConfigurationRequest(input)
1693	return out, req.Send()
1694}
1695
1696// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1697// the ability to pass a context and additional request options.
1698//
1699// See DescribeOrganizationConfiguration for details on how to use this API operation.
1700//
1701// The context must be non-nil and will be used for request cancellation. If
1702// the context is nil a panic will occur. In the future the SDK may create
1703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1704// for more information on using Contexts.
1705func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1706	req, out := c.DescribeOrganizationConfigurationRequest(input)
1707	req.SetContext(ctx)
1708	req.ApplyOptions(opts...)
1709	return out, req.Send()
1710}
1711
1712const opDescribeProducts = "DescribeProducts"
1713
1714// DescribeProductsRequest generates a "aws/request.Request" representing the
1715// client's request for the DescribeProducts operation. The "output" return
1716// value will be populated with the request's response once the request completes
1717// successfully.
1718//
1719// Use "Send" method on the returned Request to send the API call to the service.
1720// the "output" return value is not valid until after Send returns without error.
1721//
1722// See DescribeProducts for more information on using the DescribeProducts
1723// API call, and error handling.
1724//
1725// This method is useful when you want to inject custom logic or configuration
1726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1727//
1728//
1729//    // Example sending a request using the DescribeProductsRequest method.
1730//    req, resp := client.DescribeProductsRequest(params)
1731//
1732//    err := req.Send()
1733//    if err == nil { // resp is now filled
1734//        fmt.Println(resp)
1735//    }
1736//
1737// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1738func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
1739	op := &request.Operation{
1740		Name:       opDescribeProducts,
1741		HTTPMethod: "GET",
1742		HTTPPath:   "/products",
1743		Paginator: &request.Paginator{
1744			InputTokens:     []string{"NextToken"},
1745			OutputTokens:    []string{"NextToken"},
1746			LimitToken:      "MaxResults",
1747			TruncationToken: "",
1748		},
1749	}
1750
1751	if input == nil {
1752		input = &DescribeProductsInput{}
1753	}
1754
1755	output = &DescribeProductsOutput{}
1756	req = c.newRequest(op, input, output)
1757	return
1758}
1759
1760// DescribeProducts API operation for AWS SecurityHub.
1761//
1762// Returns information about the available products that you can subscribe to
1763// and integrate with Security Hub in order to consolidate findings.
1764//
1765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1766// with awserr.Error's Code and Message methods to get detailed information about
1767// the error.
1768//
1769// See the AWS API reference guide for AWS SecurityHub's
1770// API operation DescribeProducts for usage and error information.
1771//
1772// Returned Error Types:
1773//   * InternalException
1774//   Internal server error.
1775//
1776//   * LimitExceededException
1777//   The request was rejected because it attempted to create resources beyond
1778//   the current AWS account or throttling limits. The error code describes the
1779//   limit exceeded.
1780//
1781//   * InvalidAccessException
1782//   There is an issue with the account used to make the request. Either Security
1783//   Hub is not enabled for the account, or the account does not have permission
1784//   to perform this action.
1785//
1786//   * InvalidInputException
1787//   The request was rejected because you supplied an invalid or out-of-range
1788//   value for an input parameter.
1789//
1790// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1791func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
1792	req, out := c.DescribeProductsRequest(input)
1793	return out, req.Send()
1794}
1795
1796// DescribeProductsWithContext is the same as DescribeProducts with the addition of
1797// the ability to pass a context and additional request options.
1798//
1799// See DescribeProducts for details on how to use this API operation.
1800//
1801// The context must be non-nil and will be used for request cancellation. If
1802// the context is nil a panic will occur. In the future the SDK may create
1803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1804// for more information on using Contexts.
1805func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
1806	req, out := c.DescribeProductsRequest(input)
1807	req.SetContext(ctx)
1808	req.ApplyOptions(opts...)
1809	return out, req.Send()
1810}
1811
1812// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
1813// calling the "fn" function with the response data for each page. To stop
1814// iterating, return false from the fn function.
1815//
1816// See DescribeProducts method for more information on how to use this operation.
1817//
1818// Note: This operation can generate multiple requests to a service.
1819//
1820//    // Example iterating over at most 3 pages of a DescribeProducts operation.
1821//    pageNum := 0
1822//    err := client.DescribeProductsPages(params,
1823//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
1824//            pageNum++
1825//            fmt.Println(page)
1826//            return pageNum <= 3
1827//        })
1828//
1829func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
1830	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
1831}
1832
1833// DescribeProductsPagesWithContext same as DescribeProductsPages except
1834// it takes a Context and allows setting request options on the pages.
1835//
1836// The context must be non-nil and will be used for request cancellation. If
1837// the context is nil a panic will occur. In the future the SDK may create
1838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1839// for more information on using Contexts.
1840func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
1841	p := request.Pagination{
1842		NewRequest: func() (*request.Request, error) {
1843			var inCpy *DescribeProductsInput
1844			if input != nil {
1845				tmp := *input
1846				inCpy = &tmp
1847			}
1848			req, _ := c.DescribeProductsRequest(inCpy)
1849			req.SetContext(ctx)
1850			req.ApplyOptions(opts...)
1851			return req, nil
1852		},
1853	}
1854
1855	for p.Next() {
1856		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
1857			break
1858		}
1859	}
1860
1861	return p.Err()
1862}
1863
1864const opDescribeStandards = "DescribeStandards"
1865
1866// DescribeStandardsRequest generates a "aws/request.Request" representing the
1867// client's request for the DescribeStandards operation. The "output" return
1868// value will be populated with the request's response once the request completes
1869// successfully.
1870//
1871// Use "Send" method on the returned Request to send the API call to the service.
1872// the "output" return value is not valid until after Send returns without error.
1873//
1874// See DescribeStandards for more information on using the DescribeStandards
1875// API call, and error handling.
1876//
1877// This method is useful when you want to inject custom logic or configuration
1878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1879//
1880//
1881//    // Example sending a request using the DescribeStandardsRequest method.
1882//    req, resp := client.DescribeStandardsRequest(params)
1883//
1884//    err := req.Send()
1885//    if err == nil { // resp is now filled
1886//        fmt.Println(resp)
1887//    }
1888//
1889// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
1890func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
1891	op := &request.Operation{
1892		Name:       opDescribeStandards,
1893		HTTPMethod: "GET",
1894		HTTPPath:   "/standards",
1895		Paginator: &request.Paginator{
1896			InputTokens:     []string{"NextToken"},
1897			OutputTokens:    []string{"NextToken"},
1898			LimitToken:      "MaxResults",
1899			TruncationToken: "",
1900		},
1901	}
1902
1903	if input == nil {
1904		input = &DescribeStandardsInput{}
1905	}
1906
1907	output = &DescribeStandardsOutput{}
1908	req = c.newRequest(op, input, output)
1909	return
1910}
1911
1912// DescribeStandards API operation for AWS SecurityHub.
1913//
1914// Returns a list of the available standards in Security Hub.
1915//
1916// For each standard, the results include the standard ARN, the name, and a
1917// description.
1918//
1919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1920// with awserr.Error's Code and Message methods to get detailed information about
1921// the error.
1922//
1923// See the AWS API reference guide for AWS SecurityHub's
1924// API operation DescribeStandards for usage and error information.
1925//
1926// Returned Error Types:
1927//   * InternalException
1928//   Internal server error.
1929//
1930//   * InvalidInputException
1931//   The request was rejected because you supplied an invalid or out-of-range
1932//   value for an input parameter.
1933//
1934//   * InvalidAccessException
1935//   There is an issue with the account used to make the request. Either Security
1936//   Hub is not enabled for the account, or the account does not have permission
1937//   to perform this action.
1938//
1939// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
1940func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
1941	req, out := c.DescribeStandardsRequest(input)
1942	return out, req.Send()
1943}
1944
1945// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
1946// the ability to pass a context and additional request options.
1947//
1948// See DescribeStandards for details on how to use this API operation.
1949//
1950// The context must be non-nil and will be used for request cancellation. If
1951// the context is nil a panic will occur. In the future the SDK may create
1952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1953// for more information on using Contexts.
1954func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
1955	req, out := c.DescribeStandardsRequest(input)
1956	req.SetContext(ctx)
1957	req.ApplyOptions(opts...)
1958	return out, req.Send()
1959}
1960
1961// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
1962// calling the "fn" function with the response data for each page. To stop
1963// iterating, return false from the fn function.
1964//
1965// See DescribeStandards method for more information on how to use this operation.
1966//
1967// Note: This operation can generate multiple requests to a service.
1968//
1969//    // Example iterating over at most 3 pages of a DescribeStandards operation.
1970//    pageNum := 0
1971//    err := client.DescribeStandardsPages(params,
1972//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
1973//            pageNum++
1974//            fmt.Println(page)
1975//            return pageNum <= 3
1976//        })
1977//
1978func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
1979	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
1980}
1981
1982// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
1983// it takes a Context and allows setting request options on the pages.
1984//
1985// The context must be non-nil and will be used for request cancellation. If
1986// the context is nil a panic will occur. In the future the SDK may create
1987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1988// for more information on using Contexts.
1989func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
1990	p := request.Pagination{
1991		NewRequest: func() (*request.Request, error) {
1992			var inCpy *DescribeStandardsInput
1993			if input != nil {
1994				tmp := *input
1995				inCpy = &tmp
1996			}
1997			req, _ := c.DescribeStandardsRequest(inCpy)
1998			req.SetContext(ctx)
1999			req.ApplyOptions(opts...)
2000			return req, nil
2001		},
2002	}
2003
2004	for p.Next() {
2005		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
2006			break
2007		}
2008	}
2009
2010	return p.Err()
2011}
2012
2013const opDescribeStandardsControls = "DescribeStandardsControls"
2014
2015// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
2016// client's request for the DescribeStandardsControls operation. The "output" return
2017// value will be populated with the request's response once the request completes
2018// successfully.
2019//
2020// Use "Send" method on the returned Request to send the API call to the service.
2021// the "output" return value is not valid until after Send returns without error.
2022//
2023// See DescribeStandardsControls for more information on using the DescribeStandardsControls
2024// API call, and error handling.
2025//
2026// This method is useful when you want to inject custom logic or configuration
2027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2028//
2029//
2030//    // Example sending a request using the DescribeStandardsControlsRequest method.
2031//    req, resp := client.DescribeStandardsControlsRequest(params)
2032//
2033//    err := req.Send()
2034//    if err == nil { // resp is now filled
2035//        fmt.Println(resp)
2036//    }
2037//
2038// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2039func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
2040	op := &request.Operation{
2041		Name:       opDescribeStandardsControls,
2042		HTTPMethod: "GET",
2043		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
2044		Paginator: &request.Paginator{
2045			InputTokens:     []string{"NextToken"},
2046			OutputTokens:    []string{"NextToken"},
2047			LimitToken:      "MaxResults",
2048			TruncationToken: "",
2049		},
2050	}
2051
2052	if input == nil {
2053		input = &DescribeStandardsControlsInput{}
2054	}
2055
2056	output = &DescribeStandardsControlsOutput{}
2057	req = c.newRequest(op, input, output)
2058	return
2059}
2060
2061// DescribeStandardsControls API operation for AWS SecurityHub.
2062//
2063// Returns a list of security standards controls.
2064//
2065// For each control, the results include information about whether it is currently
2066// enabled, the severity, and a link to remediation information.
2067//
2068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2069// with awserr.Error's Code and Message methods to get detailed information about
2070// the error.
2071//
2072// See the AWS API reference guide for AWS SecurityHub's
2073// API operation DescribeStandardsControls for usage and error information.
2074//
2075// Returned Error Types:
2076//   * InternalException
2077//   Internal server error.
2078//
2079//   * InvalidInputException
2080//   The request was rejected because you supplied an invalid or out-of-range
2081//   value for an input parameter.
2082//
2083//   * InvalidAccessException
2084//   There is an issue with the account used to make the request. Either Security
2085//   Hub is not enabled for the account, or the account does not have permission
2086//   to perform this action.
2087//
2088//   * ResourceNotFoundException
2089//   The request was rejected because we can't find the specified resource.
2090//
2091// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2092func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
2093	req, out := c.DescribeStandardsControlsRequest(input)
2094	return out, req.Send()
2095}
2096
2097// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
2098// the ability to pass a context and additional request options.
2099//
2100// See DescribeStandardsControls for details on how to use this API operation.
2101//
2102// The context must be non-nil and will be used for request cancellation. If
2103// the context is nil a panic will occur. In the future the SDK may create
2104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2105// for more information on using Contexts.
2106func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
2107	req, out := c.DescribeStandardsControlsRequest(input)
2108	req.SetContext(ctx)
2109	req.ApplyOptions(opts...)
2110	return out, req.Send()
2111}
2112
2113// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
2114// calling the "fn" function with the response data for each page. To stop
2115// iterating, return false from the fn function.
2116//
2117// See DescribeStandardsControls method for more information on how to use this operation.
2118//
2119// Note: This operation can generate multiple requests to a service.
2120//
2121//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
2122//    pageNum := 0
2123//    err := client.DescribeStandardsControlsPages(params,
2124//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
2125//            pageNum++
2126//            fmt.Println(page)
2127//            return pageNum <= 3
2128//        })
2129//
2130func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
2131	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
2132}
2133
2134// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
2135// it takes a Context and allows setting request options on the pages.
2136//
2137// The context must be non-nil and will be used for request cancellation. If
2138// the context is nil a panic will occur. In the future the SDK may create
2139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2140// for more information on using Contexts.
2141func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
2142	p := request.Pagination{
2143		NewRequest: func() (*request.Request, error) {
2144			var inCpy *DescribeStandardsControlsInput
2145			if input != nil {
2146				tmp := *input
2147				inCpy = &tmp
2148			}
2149			req, _ := c.DescribeStandardsControlsRequest(inCpy)
2150			req.SetContext(ctx)
2151			req.ApplyOptions(opts...)
2152			return req, nil
2153		},
2154	}
2155
2156	for p.Next() {
2157		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
2158			break
2159		}
2160	}
2161
2162	return p.Err()
2163}
2164
2165const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
2166
2167// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2168// client's request for the DisableImportFindingsForProduct operation. The "output" return
2169// value will be populated with the request's response once the request completes
2170// successfully.
2171//
2172// Use "Send" method on the returned Request to send the API call to the service.
2173// the "output" return value is not valid until after Send returns without error.
2174//
2175// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2176// API call, and error handling.
2177//
2178// This method is useful when you want to inject custom logic or configuration
2179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2180//
2181//
2182//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2183//    req, resp := client.DisableImportFindingsForProductRequest(params)
2184//
2185//    err := req.Send()
2186//    if err == nil { // resp is now filled
2187//        fmt.Println(resp)
2188//    }
2189//
2190// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2191func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2192	op := &request.Operation{
2193		Name:       opDisableImportFindingsForProduct,
2194		HTTPMethod: "DELETE",
2195		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2196	}
2197
2198	if input == nil {
2199		input = &DisableImportFindingsForProductInput{}
2200	}
2201
2202	output = &DisableImportFindingsForProductOutput{}
2203	req = c.newRequest(op, input, output)
2204	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2205	return
2206}
2207
2208// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2209//
2210// Disables the integration of the specified product with Security Hub. After
2211// the integration is disabled, findings from that product are no longer sent
2212// to Security Hub.
2213//
2214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2215// with awserr.Error's Code and Message methods to get detailed information about
2216// the error.
2217//
2218// See the AWS API reference guide for AWS SecurityHub's
2219// API operation DisableImportFindingsForProduct for usage and error information.
2220//
2221// Returned Error Types:
2222//   * InternalException
2223//   Internal server error.
2224//
2225//   * InvalidInputException
2226//   The request was rejected because you supplied an invalid or out-of-range
2227//   value for an input parameter.
2228//
2229//   * ResourceNotFoundException
2230//   The request was rejected because we can't find the specified resource.
2231//
2232//   * InvalidAccessException
2233//   There is an issue with the account used to make the request. Either Security
2234//   Hub is not enabled for the account, or the account does not have permission
2235//   to perform this action.
2236//
2237//   * LimitExceededException
2238//   The request was rejected because it attempted to create resources beyond
2239//   the current AWS account or throttling limits. The error code describes the
2240//   limit exceeded.
2241//
2242// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2243func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2244	req, out := c.DisableImportFindingsForProductRequest(input)
2245	return out, req.Send()
2246}
2247
2248// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2249// the ability to pass a context and additional request options.
2250//
2251// See DisableImportFindingsForProduct for details on how to use this API operation.
2252//
2253// The context must be non-nil and will be used for request cancellation. If
2254// the context is nil a panic will occur. In the future the SDK may create
2255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2256// for more information on using Contexts.
2257func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2258	req, out := c.DisableImportFindingsForProductRequest(input)
2259	req.SetContext(ctx)
2260	req.ApplyOptions(opts...)
2261	return out, req.Send()
2262}
2263
2264const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
2265
2266// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2267// client's request for the DisableOrganizationAdminAccount operation. The "output" return
2268// value will be populated with the request's response once the request completes
2269// successfully.
2270//
2271// Use "Send" method on the returned Request to send the API call to the service.
2272// the "output" return value is not valid until after Send returns without error.
2273//
2274// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
2275// API call, and error handling.
2276//
2277// This method is useful when you want to inject custom logic or configuration
2278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2279//
2280//
2281//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
2282//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
2283//
2284//    err := req.Send()
2285//    if err == nil { // resp is now filled
2286//        fmt.Println(resp)
2287//    }
2288//
2289// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2290func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
2291	op := &request.Operation{
2292		Name:       opDisableOrganizationAdminAccount,
2293		HTTPMethod: "POST",
2294		HTTPPath:   "/organization/admin/disable",
2295	}
2296
2297	if input == nil {
2298		input = &DisableOrganizationAdminAccountInput{}
2299	}
2300
2301	output = &DisableOrganizationAdminAccountOutput{}
2302	req = c.newRequest(op, input, output)
2303	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2304	return
2305}
2306
2307// DisableOrganizationAdminAccount API operation for AWS SecurityHub.
2308//
2309// Disables a Security Hub administrator account. Can only be called by the
2310// organization management account.
2311//
2312// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2313// with awserr.Error's Code and Message methods to get detailed information about
2314// the error.
2315//
2316// See the AWS API reference guide for AWS SecurityHub's
2317// API operation DisableOrganizationAdminAccount for usage and error information.
2318//
2319// Returned Error Types:
2320//   * InternalException
2321//   Internal server error.
2322//
2323//   * InvalidInputException
2324//   The request was rejected because you supplied an invalid or out-of-range
2325//   value for an input parameter.
2326//
2327//   * InvalidAccessException
2328//   There is an issue with the account used to make the request. Either Security
2329//   Hub is not enabled for the account, or the account does not have permission
2330//   to perform this action.
2331//
2332//   * LimitExceededException
2333//   The request was rejected because it attempted to create resources beyond
2334//   the current AWS account or throttling limits. The error code describes the
2335//   limit exceeded.
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2338func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
2339	req, out := c.DisableOrganizationAdminAccountRequest(input)
2340	return out, req.Send()
2341}
2342
2343// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See DisableOrganizationAdminAccount for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
2353	req, out := c.DisableOrganizationAdminAccountRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359const opDisableSecurityHub = "DisableSecurityHub"
2360
2361// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2362// client's request for the DisableSecurityHub operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See DisableSecurityHub for more information on using the DisableSecurityHub
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the DisableSecurityHubRequest method.
2377//    req, resp := client.DisableSecurityHubRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383//
2384// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2385func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2386	op := &request.Operation{
2387		Name:       opDisableSecurityHub,
2388		HTTPMethod: "DELETE",
2389		HTTPPath:   "/accounts",
2390	}
2391
2392	if input == nil {
2393		input = &DisableSecurityHubInput{}
2394	}
2395
2396	output = &DisableSecurityHubOutput{}
2397	req = c.newRequest(op, input, output)
2398	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2399	return
2400}
2401
2402// DisableSecurityHub API operation for AWS SecurityHub.
2403//
2404// Disables Security Hub in your account only in the current Region. To disable
2405// Security Hub in all Regions, you must submit one request per Region where
2406// you have enabled Security Hub.
2407//
2408// When you disable Security Hub for a master account, it doesn't disable Security
2409// Hub for any associated member accounts.
2410//
2411// When you disable Security Hub, your existing findings and insights and any
2412// Security Hub configuration settings are deleted after 90 days and cannot
2413// be recovered. Any standards that were enabled are disabled, and your master
2414// and member account associations are removed.
2415//
2416// If you want to save your existing findings, you must export them before you
2417// disable Security Hub.
2418//
2419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2420// with awserr.Error's Code and Message methods to get detailed information about
2421// the error.
2422//
2423// See the AWS API reference guide for AWS SecurityHub's
2424// API operation DisableSecurityHub for usage and error information.
2425//
2426// Returned Error Types:
2427//   * InternalException
2428//   Internal server error.
2429//
2430//   * LimitExceededException
2431//   The request was rejected because it attempted to create resources beyond
2432//   the current AWS account or throttling limits. The error code describes the
2433//   limit exceeded.
2434//
2435//   * InvalidAccessException
2436//   There is an issue with the account used to make the request. Either Security
2437//   Hub is not enabled for the account, or the account does not have permission
2438//   to perform this action.
2439//
2440//   * ResourceNotFoundException
2441//   The request was rejected because we can't find the specified resource.
2442//
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2444func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2445	req, out := c.DisableSecurityHubRequest(input)
2446	return out, req.Send()
2447}
2448
2449// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2450// the ability to pass a context and additional request options.
2451//
2452// See DisableSecurityHub for details on how to use this API operation.
2453//
2454// The context must be non-nil and will be used for request cancellation. If
2455// the context is nil a panic will occur. In the future the SDK may create
2456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2457// for more information on using Contexts.
2458func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2459	req, out := c.DisableSecurityHubRequest(input)
2460	req.SetContext(ctx)
2461	req.ApplyOptions(opts...)
2462	return out, req.Send()
2463}
2464
2465const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2466
2467// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2468// client's request for the DisassociateFromMasterAccount operation. The "output" return
2469// value will be populated with the request's response once the request completes
2470// successfully.
2471//
2472// Use "Send" method on the returned Request to send the API call to the service.
2473// the "output" return value is not valid until after Send returns without error.
2474//
2475// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2476// API call, and error handling.
2477//
2478// This method is useful when you want to inject custom logic or configuration
2479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2480//
2481//
2482//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2483//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2484//
2485//    err := req.Send()
2486//    if err == nil { // resp is now filled
2487//        fmt.Println(resp)
2488//    }
2489//
2490// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2491func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2492	op := &request.Operation{
2493		Name:       opDisassociateFromMasterAccount,
2494		HTTPMethod: "POST",
2495		HTTPPath:   "/master/disassociate",
2496	}
2497
2498	if input == nil {
2499		input = &DisassociateFromMasterAccountInput{}
2500	}
2501
2502	output = &DisassociateFromMasterAccountOutput{}
2503	req = c.newRequest(op, input, output)
2504	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2505	return
2506}
2507
2508// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2509//
2510// Disassociates the current Security Hub member account from the associated
2511// master account.
2512//
2513// This operation is only used by accounts that are not part of an organization.
2514// For organization accounts, only the master account (the designated Security
2515// Hub administrator) can disassociate a member account.
2516//
2517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2518// with awserr.Error's Code and Message methods to get detailed information about
2519// the error.
2520//
2521// See the AWS API reference guide for AWS SecurityHub's
2522// API operation DisassociateFromMasterAccount for usage and error information.
2523//
2524// Returned Error Types:
2525//   * InternalException
2526//   Internal server error.
2527//
2528//   * InvalidInputException
2529//   The request was rejected because you supplied an invalid or out-of-range
2530//   value for an input parameter.
2531//
2532//   * InvalidAccessException
2533//   There is an issue with the account used to make the request. Either Security
2534//   Hub is not enabled for the account, or the account does not have permission
2535//   to perform this action.
2536//
2537//   * LimitExceededException
2538//   The request was rejected because it attempted to create resources beyond
2539//   the current AWS account or throttling limits. The error code describes the
2540//   limit exceeded.
2541//
2542//   * ResourceNotFoundException
2543//   The request was rejected because we can't find the specified resource.
2544//
2545// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2546func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2547	req, out := c.DisassociateFromMasterAccountRequest(input)
2548	return out, req.Send()
2549}
2550
2551// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2552// the ability to pass a context and additional request options.
2553//
2554// See DisassociateFromMasterAccount for details on how to use this API operation.
2555//
2556// The context must be non-nil and will be used for request cancellation. If
2557// the context is nil a panic will occur. In the future the SDK may create
2558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2559// for more information on using Contexts.
2560func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2561	req, out := c.DisassociateFromMasterAccountRequest(input)
2562	req.SetContext(ctx)
2563	req.ApplyOptions(opts...)
2564	return out, req.Send()
2565}
2566
2567const opDisassociateMembers = "DisassociateMembers"
2568
2569// DisassociateMembersRequest generates a "aws/request.Request" representing the
2570// client's request for the DisassociateMembers operation. The "output" return
2571// value will be populated with the request's response once the request completes
2572// successfully.
2573//
2574// Use "Send" method on the returned Request to send the API call to the service.
2575// the "output" return value is not valid until after Send returns without error.
2576//
2577// See DisassociateMembers for more information on using the DisassociateMembers
2578// API call, and error handling.
2579//
2580// This method is useful when you want to inject custom logic or configuration
2581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2582//
2583//
2584//    // Example sending a request using the DisassociateMembersRequest method.
2585//    req, resp := client.DisassociateMembersRequest(params)
2586//
2587//    err := req.Send()
2588//    if err == nil { // resp is now filled
2589//        fmt.Println(resp)
2590//    }
2591//
2592// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2593func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
2594	op := &request.Operation{
2595		Name:       opDisassociateMembers,
2596		HTTPMethod: "POST",
2597		HTTPPath:   "/members/disassociate",
2598	}
2599
2600	if input == nil {
2601		input = &DisassociateMembersInput{}
2602	}
2603
2604	output = &DisassociateMembersOutput{}
2605	req = c.newRequest(op, input, output)
2606	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2607	return
2608}
2609
2610// DisassociateMembers API operation for AWS SecurityHub.
2611//
2612// Disassociates the specified member accounts from the associated master account.
2613//
2614// Can be used to disassociate both accounts that are in an organization and
2615// accounts that were invited manually.
2616//
2617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2618// with awserr.Error's Code and Message methods to get detailed information about
2619// the error.
2620//
2621// See the AWS API reference guide for AWS SecurityHub's
2622// API operation DisassociateMembers for usage and error information.
2623//
2624// Returned Error Types:
2625//   * InternalException
2626//   Internal server error.
2627//
2628//   * InvalidInputException
2629//   The request was rejected because you supplied an invalid or out-of-range
2630//   value for an input parameter.
2631//
2632//   * InvalidAccessException
2633//   There is an issue with the account used to make the request. Either Security
2634//   Hub is not enabled for the account, or the account does not have permission
2635//   to perform this action.
2636//
2637//   * LimitExceededException
2638//   The request was rejected because it attempted to create resources beyond
2639//   the current AWS account or throttling limits. The error code describes the
2640//   limit exceeded.
2641//
2642//   * ResourceNotFoundException
2643//   The request was rejected because we can't find the specified resource.
2644//
2645// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2646func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
2647	req, out := c.DisassociateMembersRequest(input)
2648	return out, req.Send()
2649}
2650
2651// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
2652// the ability to pass a context and additional request options.
2653//
2654// See DisassociateMembers for details on how to use this API operation.
2655//
2656// The context must be non-nil and will be used for request cancellation. If
2657// the context is nil a panic will occur. In the future the SDK may create
2658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2659// for more information on using Contexts.
2660func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
2661	req, out := c.DisassociateMembersRequest(input)
2662	req.SetContext(ctx)
2663	req.ApplyOptions(opts...)
2664	return out, req.Send()
2665}
2666
2667const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
2668
2669// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2670// client's request for the EnableImportFindingsForProduct operation. The "output" return
2671// value will be populated with the request's response once the request completes
2672// successfully.
2673//
2674// Use "Send" method on the returned Request to send the API call to the service.
2675// the "output" return value is not valid until after Send returns without error.
2676//
2677// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
2678// API call, and error handling.
2679//
2680// This method is useful when you want to inject custom logic or configuration
2681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2682//
2683//
2684//    // Example sending a request using the EnableImportFindingsForProductRequest method.
2685//    req, resp := client.EnableImportFindingsForProductRequest(params)
2686//
2687//    err := req.Send()
2688//    if err == nil { // resp is now filled
2689//        fmt.Println(resp)
2690//    }
2691//
2692// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2693func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
2694	op := &request.Operation{
2695		Name:       opEnableImportFindingsForProduct,
2696		HTTPMethod: "POST",
2697		HTTPPath:   "/productSubscriptions",
2698	}
2699
2700	if input == nil {
2701		input = &EnableImportFindingsForProductInput{}
2702	}
2703
2704	output = &EnableImportFindingsForProductOutput{}
2705	req = c.newRequest(op, input, output)
2706	return
2707}
2708
2709// EnableImportFindingsForProduct API operation for AWS SecurityHub.
2710//
2711// Enables the integration of a partner product with Security Hub. Integrated
2712// products send findings to Security Hub.
2713//
2714// When you enable a product integration, a permissions policy that grants permission
2715// for the product to send findings to Security Hub is applied.
2716//
2717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2718// with awserr.Error's Code and Message methods to get detailed information about
2719// the error.
2720//
2721// See the AWS API reference guide for AWS SecurityHub's
2722// API operation EnableImportFindingsForProduct for usage and error information.
2723//
2724// Returned Error Types:
2725//   * InternalException
2726//   Internal server error.
2727//
2728//   * InvalidInputException
2729//   The request was rejected because you supplied an invalid or out-of-range
2730//   value for an input parameter.
2731//
2732//   * InvalidAccessException
2733//   There is an issue with the account used to make the request. Either Security
2734//   Hub is not enabled for the account, or the account does not have permission
2735//   to perform this action.
2736//
2737//   * ResourceConflictException
2738//   The resource specified in the request conflicts with an existing resource.
2739//
2740//   * LimitExceededException
2741//   The request was rejected because it attempted to create resources beyond
2742//   the current AWS account or throttling limits. The error code describes the
2743//   limit exceeded.
2744//
2745// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2746func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
2747	req, out := c.EnableImportFindingsForProductRequest(input)
2748	return out, req.Send()
2749}
2750
2751// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
2752// the ability to pass a context and additional request options.
2753//
2754// See EnableImportFindingsForProduct for details on how to use this API operation.
2755//
2756// The context must be non-nil and will be used for request cancellation. If
2757// the context is nil a panic will occur. In the future the SDK may create
2758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2759// for more information on using Contexts.
2760func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
2761	req, out := c.EnableImportFindingsForProductRequest(input)
2762	req.SetContext(ctx)
2763	req.ApplyOptions(opts...)
2764	return out, req.Send()
2765}
2766
2767const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
2768
2769// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2770// client's request for the EnableOrganizationAdminAccount operation. The "output" return
2771// value will be populated with the request's response once the request completes
2772// successfully.
2773//
2774// Use "Send" method on the returned Request to send the API call to the service.
2775// the "output" return value is not valid until after Send returns without error.
2776//
2777// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
2778// API call, and error handling.
2779//
2780// This method is useful when you want to inject custom logic or configuration
2781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2782//
2783//
2784//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
2785//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
2786//
2787//    err := req.Send()
2788//    if err == nil { // resp is now filled
2789//        fmt.Println(resp)
2790//    }
2791//
2792// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
2793func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
2794	op := &request.Operation{
2795		Name:       opEnableOrganizationAdminAccount,
2796		HTTPMethod: "POST",
2797		HTTPPath:   "/organization/admin/enable",
2798	}
2799
2800	if input == nil {
2801		input = &EnableOrganizationAdminAccountInput{}
2802	}
2803
2804	output = &EnableOrganizationAdminAccountOutput{}
2805	req = c.newRequest(op, input, output)
2806	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2807	return
2808}
2809
2810// EnableOrganizationAdminAccount API operation for AWS SecurityHub.
2811//
2812// Designates the Security Hub administrator account for an organization. Can
2813// only be called by the organization management account.
2814//
2815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2816// with awserr.Error's Code and Message methods to get detailed information about
2817// the error.
2818//
2819// See the AWS API reference guide for AWS SecurityHub's
2820// API operation EnableOrganizationAdminAccount for usage and error information.
2821//
2822// Returned Error Types:
2823//   * InternalException
2824//   Internal server error.
2825//
2826//   * InvalidInputException
2827//   The request was rejected because you supplied an invalid or out-of-range
2828//   value for an input parameter.
2829//
2830//   * InvalidAccessException
2831//   There is an issue with the account used to make the request. Either Security
2832//   Hub is not enabled for the account, or the account does not have permission
2833//   to perform this action.
2834//
2835//   * LimitExceededException
2836//   The request was rejected because it attempted to create resources beyond
2837//   the current AWS account or throttling limits. The error code describes the
2838//   limit exceeded.
2839//
2840// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
2841func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
2842	req, out := c.EnableOrganizationAdminAccountRequest(input)
2843	return out, req.Send()
2844}
2845
2846// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
2847// the ability to pass a context and additional request options.
2848//
2849// See EnableOrganizationAdminAccount for details on how to use this API operation.
2850//
2851// The context must be non-nil and will be used for request cancellation. If
2852// the context is nil a panic will occur. In the future the SDK may create
2853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2854// for more information on using Contexts.
2855func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
2856	req, out := c.EnableOrganizationAdminAccountRequest(input)
2857	req.SetContext(ctx)
2858	req.ApplyOptions(opts...)
2859	return out, req.Send()
2860}
2861
2862const opEnableSecurityHub = "EnableSecurityHub"
2863
2864// EnableSecurityHubRequest generates a "aws/request.Request" representing the
2865// client's request for the EnableSecurityHub operation. The "output" return
2866// value will be populated with the request's response once the request completes
2867// successfully.
2868//
2869// Use "Send" method on the returned Request to send the API call to the service.
2870// the "output" return value is not valid until after Send returns without error.
2871//
2872// See EnableSecurityHub for more information on using the EnableSecurityHub
2873// API call, and error handling.
2874//
2875// This method is useful when you want to inject custom logic or configuration
2876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2877//
2878//
2879//    // Example sending a request using the EnableSecurityHubRequest method.
2880//    req, resp := client.EnableSecurityHubRequest(params)
2881//
2882//    err := req.Send()
2883//    if err == nil { // resp is now filled
2884//        fmt.Println(resp)
2885//    }
2886//
2887// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
2888func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
2889	op := &request.Operation{
2890		Name:       opEnableSecurityHub,
2891		HTTPMethod: "POST",
2892		HTTPPath:   "/accounts",
2893	}
2894
2895	if input == nil {
2896		input = &EnableSecurityHubInput{}
2897	}
2898
2899	output = &EnableSecurityHubOutput{}
2900	req = c.newRequest(op, input, output)
2901	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2902	return
2903}
2904
2905// EnableSecurityHub API operation for AWS SecurityHub.
2906//
2907// Enables Security Hub for your account in the current Region or the Region
2908// you specify in the request.
2909//
2910// When you enable Security Hub, you grant to Security Hub the permissions necessary
2911// to gather findings from other services that are integrated with Security
2912// Hub.
2913//
2914// When you use the EnableSecurityHub operation to enable Security Hub, you
2915// also automatically enable the following standards.
2916//
2917//    * CIS AWS Foundations
2918//
2919//    * AWS Foundational Security Best Practices
2920//
2921// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
2922// standard.
2923//
2924// To not enable the automatically enabled standards, set EnableDefaultStandards
2925// to false.
2926//
2927// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
2928// operation. To disable a standard, use the BatchDisableStandards operation.
2929//
2930// To learn more, see Setting Up AWS Security Hub (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
2931// in the AWS Security Hub User Guide.
2932//
2933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2934// with awserr.Error's Code and Message methods to get detailed information about
2935// the error.
2936//
2937// See the AWS API reference guide for AWS SecurityHub's
2938// API operation EnableSecurityHub for usage and error information.
2939//
2940// Returned Error Types:
2941//   * InternalException
2942//   Internal server error.
2943//
2944//   * LimitExceededException
2945//   The request was rejected because it attempted to create resources beyond
2946//   the current AWS account or throttling limits. The error code describes the
2947//   limit exceeded.
2948//
2949//   * InvalidAccessException
2950//   There is an issue with the account used to make the request. Either Security
2951//   Hub is not enabled for the account, or the account does not have permission
2952//   to perform this action.
2953//
2954//   * ResourceConflictException
2955//   The resource specified in the request conflicts with an existing resource.
2956//
2957//   * AccessDeniedException
2958//   You don't have permission to perform the action specified in the request.
2959//
2960// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
2961func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
2962	req, out := c.EnableSecurityHubRequest(input)
2963	return out, req.Send()
2964}
2965
2966// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
2967// the ability to pass a context and additional request options.
2968//
2969// See EnableSecurityHub for details on how to use this API operation.
2970//
2971// The context must be non-nil and will be used for request cancellation. If
2972// the context is nil a panic will occur. In the future the SDK may create
2973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2974// for more information on using Contexts.
2975func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
2976	req, out := c.EnableSecurityHubRequest(input)
2977	req.SetContext(ctx)
2978	req.ApplyOptions(opts...)
2979	return out, req.Send()
2980}
2981
2982const opGetEnabledStandards = "GetEnabledStandards"
2983
2984// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
2985// client's request for the GetEnabledStandards operation. The "output" return
2986// value will be populated with the request's response once the request completes
2987// successfully.
2988//
2989// Use "Send" method on the returned Request to send the API call to the service.
2990// the "output" return value is not valid until after Send returns without error.
2991//
2992// See GetEnabledStandards for more information on using the GetEnabledStandards
2993// API call, and error handling.
2994//
2995// This method is useful when you want to inject custom logic or configuration
2996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2997//
2998//
2999//    // Example sending a request using the GetEnabledStandardsRequest method.
3000//    req, resp := client.GetEnabledStandardsRequest(params)
3001//
3002//    err := req.Send()
3003//    if err == nil { // resp is now filled
3004//        fmt.Println(resp)
3005//    }
3006//
3007// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3008func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
3009	op := &request.Operation{
3010		Name:       opGetEnabledStandards,
3011		HTTPMethod: "POST",
3012		HTTPPath:   "/standards/get",
3013		Paginator: &request.Paginator{
3014			InputTokens:     []string{"NextToken"},
3015			OutputTokens:    []string{"NextToken"},
3016			LimitToken:      "MaxResults",
3017			TruncationToken: "",
3018		},
3019	}
3020
3021	if input == nil {
3022		input = &GetEnabledStandardsInput{}
3023	}
3024
3025	output = &GetEnabledStandardsOutput{}
3026	req = c.newRequest(op, input, output)
3027	return
3028}
3029
3030// GetEnabledStandards API operation for AWS SecurityHub.
3031//
3032// Returns a list of the standards that are currently enabled.
3033//
3034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3035// with awserr.Error's Code and Message methods to get detailed information about
3036// the error.
3037//
3038// See the AWS API reference guide for AWS SecurityHub's
3039// API operation GetEnabledStandards for usage and error information.
3040//
3041// Returned Error Types:
3042//   * InternalException
3043//   Internal server error.
3044//
3045//   * InvalidInputException
3046//   The request was rejected because you supplied an invalid or out-of-range
3047//   value for an input parameter.
3048//
3049//   * InvalidAccessException
3050//   There is an issue with the account used to make the request. Either Security
3051//   Hub is not enabled for the account, or the account does not have permission
3052//   to perform this action.
3053//
3054//   * LimitExceededException
3055//   The request was rejected because it attempted to create resources beyond
3056//   the current AWS account or throttling limits. The error code describes the
3057//   limit exceeded.
3058//
3059// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3060func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
3061	req, out := c.GetEnabledStandardsRequest(input)
3062	return out, req.Send()
3063}
3064
3065// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
3066// the ability to pass a context and additional request options.
3067//
3068// See GetEnabledStandards for details on how to use this API operation.
3069//
3070// The context must be non-nil and will be used for request cancellation. If
3071// the context is nil a panic will occur. In the future the SDK may create
3072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3073// for more information on using Contexts.
3074func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
3075	req, out := c.GetEnabledStandardsRequest(input)
3076	req.SetContext(ctx)
3077	req.ApplyOptions(opts...)
3078	return out, req.Send()
3079}
3080
3081// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
3082// calling the "fn" function with the response data for each page. To stop
3083// iterating, return false from the fn function.
3084//
3085// See GetEnabledStandards method for more information on how to use this operation.
3086//
3087// Note: This operation can generate multiple requests to a service.
3088//
3089//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
3090//    pageNum := 0
3091//    err := client.GetEnabledStandardsPages(params,
3092//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
3093//            pageNum++
3094//            fmt.Println(page)
3095//            return pageNum <= 3
3096//        })
3097//
3098func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
3099	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
3100}
3101
3102// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
3103// it takes a Context and allows setting request options on the pages.
3104//
3105// The context must be non-nil and will be used for request cancellation. If
3106// the context is nil a panic will occur. In the future the SDK may create
3107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3108// for more information on using Contexts.
3109func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
3110	p := request.Pagination{
3111		NewRequest: func() (*request.Request, error) {
3112			var inCpy *GetEnabledStandardsInput
3113			if input != nil {
3114				tmp := *input
3115				inCpy = &tmp
3116			}
3117			req, _ := c.GetEnabledStandardsRequest(inCpy)
3118			req.SetContext(ctx)
3119			req.ApplyOptions(opts...)
3120			return req, nil
3121		},
3122	}
3123
3124	for p.Next() {
3125		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
3126			break
3127		}
3128	}
3129
3130	return p.Err()
3131}
3132
3133const opGetFindings = "GetFindings"
3134
3135// GetFindingsRequest generates a "aws/request.Request" representing the
3136// client's request for the GetFindings operation. The "output" return
3137// value will be populated with the request's response once the request completes
3138// successfully.
3139//
3140// Use "Send" method on the returned Request to send the API call to the service.
3141// the "output" return value is not valid until after Send returns without error.
3142//
3143// See GetFindings for more information on using the GetFindings
3144// API call, and error handling.
3145//
3146// This method is useful when you want to inject custom logic or configuration
3147// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3148//
3149//
3150//    // Example sending a request using the GetFindingsRequest method.
3151//    req, resp := client.GetFindingsRequest(params)
3152//
3153//    err := req.Send()
3154//    if err == nil { // resp is now filled
3155//        fmt.Println(resp)
3156//    }
3157//
3158// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3159func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3160	op := &request.Operation{
3161		Name:       opGetFindings,
3162		HTTPMethod: "POST",
3163		HTTPPath:   "/findings",
3164		Paginator: &request.Paginator{
3165			InputTokens:     []string{"NextToken"},
3166			OutputTokens:    []string{"NextToken"},
3167			LimitToken:      "MaxResults",
3168			TruncationToken: "",
3169		},
3170	}
3171
3172	if input == nil {
3173		input = &GetFindingsInput{}
3174	}
3175
3176	output = &GetFindingsOutput{}
3177	req = c.newRequest(op, input, output)
3178	return
3179}
3180
3181// GetFindings API operation for AWS SecurityHub.
3182//
3183// Returns a list of findings that match the specified criteria.
3184//
3185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3186// with awserr.Error's Code and Message methods to get detailed information about
3187// the error.
3188//
3189// See the AWS API reference guide for AWS SecurityHub's
3190// API operation GetFindings for usage and error information.
3191//
3192// Returned Error Types:
3193//   * InternalException
3194//   Internal server error.
3195//
3196//   * InvalidInputException
3197//   The request was rejected because you supplied an invalid or out-of-range
3198//   value for an input parameter.
3199//
3200//   * InvalidAccessException
3201//   There is an issue with the account used to make the request. Either Security
3202//   Hub is not enabled for the account, or the account does not have permission
3203//   to perform this action.
3204//
3205//   * LimitExceededException
3206//   The request was rejected because it attempted to create resources beyond
3207//   the current AWS account or throttling limits. The error code describes the
3208//   limit exceeded.
3209//
3210// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3211func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3212	req, out := c.GetFindingsRequest(input)
3213	return out, req.Send()
3214}
3215
3216// GetFindingsWithContext is the same as GetFindings with the addition of
3217// the ability to pass a context and additional request options.
3218//
3219// See GetFindings for details on how to use this API operation.
3220//
3221// The context must be non-nil and will be used for request cancellation. If
3222// the context is nil a panic will occur. In the future the SDK may create
3223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3224// for more information on using Contexts.
3225func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3226	req, out := c.GetFindingsRequest(input)
3227	req.SetContext(ctx)
3228	req.ApplyOptions(opts...)
3229	return out, req.Send()
3230}
3231
3232// GetFindingsPages iterates over the pages of a GetFindings operation,
3233// calling the "fn" function with the response data for each page. To stop
3234// iterating, return false from the fn function.
3235//
3236// See GetFindings method for more information on how to use this operation.
3237//
3238// Note: This operation can generate multiple requests to a service.
3239//
3240//    // Example iterating over at most 3 pages of a GetFindings operation.
3241//    pageNum := 0
3242//    err := client.GetFindingsPages(params,
3243//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
3244//            pageNum++
3245//            fmt.Println(page)
3246//            return pageNum <= 3
3247//        })
3248//
3249func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
3250	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3251}
3252
3253// GetFindingsPagesWithContext same as GetFindingsPages except
3254// it takes a Context and allows setting request options on the pages.
3255//
3256// The context must be non-nil and will be used for request cancellation. If
3257// the context is nil a panic will occur. In the future the SDK may create
3258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3259// for more information on using Contexts.
3260func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
3261	p := request.Pagination{
3262		NewRequest: func() (*request.Request, error) {
3263			var inCpy *GetFindingsInput
3264			if input != nil {
3265				tmp := *input
3266				inCpy = &tmp
3267			}
3268			req, _ := c.GetFindingsRequest(inCpy)
3269			req.SetContext(ctx)
3270			req.ApplyOptions(opts...)
3271			return req, nil
3272		},
3273	}
3274
3275	for p.Next() {
3276		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
3277			break
3278		}
3279	}
3280
3281	return p.Err()
3282}
3283
3284const opGetInsightResults = "GetInsightResults"
3285
3286// GetInsightResultsRequest generates a "aws/request.Request" representing the
3287// client's request for the GetInsightResults operation. The "output" return
3288// value will be populated with the request's response once the request completes
3289// successfully.
3290//
3291// Use "Send" method on the returned Request to send the API call to the service.
3292// the "output" return value is not valid until after Send returns without error.
3293//
3294// See GetInsightResults for more information on using the GetInsightResults
3295// API call, and error handling.
3296//
3297// This method is useful when you want to inject custom logic or configuration
3298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3299//
3300//
3301//    // Example sending a request using the GetInsightResultsRequest method.
3302//    req, resp := client.GetInsightResultsRequest(params)
3303//
3304//    err := req.Send()
3305//    if err == nil { // resp is now filled
3306//        fmt.Println(resp)
3307//    }
3308//
3309// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3310func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
3311	op := &request.Operation{
3312		Name:       opGetInsightResults,
3313		HTTPMethod: "GET",
3314		HTTPPath:   "/insights/results/{InsightArn+}",
3315	}
3316
3317	if input == nil {
3318		input = &GetInsightResultsInput{}
3319	}
3320
3321	output = &GetInsightResultsOutput{}
3322	req = c.newRequest(op, input, output)
3323	return
3324}
3325
3326// GetInsightResults API operation for AWS SecurityHub.
3327//
3328// Lists the results of the Security Hub insight specified by the insight ARN.
3329//
3330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3331// with awserr.Error's Code and Message methods to get detailed information about
3332// the error.
3333//
3334// See the AWS API reference guide for AWS SecurityHub's
3335// API operation GetInsightResults for usage and error information.
3336//
3337// Returned Error Types:
3338//   * InternalException
3339//   Internal server error.
3340//
3341//   * InvalidInputException
3342//   The request was rejected because you supplied an invalid or out-of-range
3343//   value for an input parameter.
3344//
3345//   * InvalidAccessException
3346//   There is an issue with the account used to make the request. Either Security
3347//   Hub is not enabled for the account, or the account does not have permission
3348//   to perform this action.
3349//
3350//   * LimitExceededException
3351//   The request was rejected because it attempted to create resources beyond
3352//   the current AWS account or throttling limits. The error code describes the
3353//   limit exceeded.
3354//
3355//   * ResourceNotFoundException
3356//   The request was rejected because we can't find the specified resource.
3357//
3358// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3359func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
3360	req, out := c.GetInsightResultsRequest(input)
3361	return out, req.Send()
3362}
3363
3364// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
3365// the ability to pass a context and additional request options.
3366//
3367// See GetInsightResults for details on how to use this API operation.
3368//
3369// The context must be non-nil and will be used for request cancellation. If
3370// the context is nil a panic will occur. In the future the SDK may create
3371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3372// for more information on using Contexts.
3373func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
3374	req, out := c.GetInsightResultsRequest(input)
3375	req.SetContext(ctx)
3376	req.ApplyOptions(opts...)
3377	return out, req.Send()
3378}
3379
3380const opGetInsights = "GetInsights"
3381
3382// GetInsightsRequest generates a "aws/request.Request" representing the
3383// client's request for the GetInsights operation. The "output" return
3384// value will be populated with the request's response once the request completes
3385// successfully.
3386//
3387// Use "Send" method on the returned Request to send the API call to the service.
3388// the "output" return value is not valid until after Send returns without error.
3389//
3390// See GetInsights for more information on using the GetInsights
3391// API call, and error handling.
3392//
3393// This method is useful when you want to inject custom logic or configuration
3394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3395//
3396//
3397//    // Example sending a request using the GetInsightsRequest method.
3398//    req, resp := client.GetInsightsRequest(params)
3399//
3400//    err := req.Send()
3401//    if err == nil { // resp is now filled
3402//        fmt.Println(resp)
3403//    }
3404//
3405// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3406func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
3407	op := &request.Operation{
3408		Name:       opGetInsights,
3409		HTTPMethod: "POST",
3410		HTTPPath:   "/insights/get",
3411		Paginator: &request.Paginator{
3412			InputTokens:     []string{"NextToken"},
3413			OutputTokens:    []string{"NextToken"},
3414			LimitToken:      "MaxResults",
3415			TruncationToken: "",
3416		},
3417	}
3418
3419	if input == nil {
3420		input = &GetInsightsInput{}
3421	}
3422
3423	output = &GetInsightsOutput{}
3424	req = c.newRequest(op, input, output)
3425	return
3426}
3427
3428// GetInsights API operation for AWS SecurityHub.
3429//
3430// Lists and describes insights for the specified insight ARNs.
3431//
3432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3433// with awserr.Error's Code and Message methods to get detailed information about
3434// the error.
3435//
3436// See the AWS API reference guide for AWS SecurityHub's
3437// API operation GetInsights for usage and error information.
3438//
3439// Returned Error Types:
3440//   * InternalException
3441//   Internal server error.
3442//
3443//   * InvalidInputException
3444//   The request was rejected because you supplied an invalid or out-of-range
3445//   value for an input parameter.
3446//
3447//   * InvalidAccessException
3448//   There is an issue with the account used to make the request. Either Security
3449//   Hub is not enabled for the account, or the account does not have permission
3450//   to perform this action.
3451//
3452//   * LimitExceededException
3453//   The request was rejected because it attempted to create resources beyond
3454//   the current AWS account or throttling limits. The error code describes the
3455//   limit exceeded.
3456//
3457//   * ResourceNotFoundException
3458//   The request was rejected because we can't find the specified resource.
3459//
3460// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3461func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
3462	req, out := c.GetInsightsRequest(input)
3463	return out, req.Send()
3464}
3465
3466// GetInsightsWithContext is the same as GetInsights with the addition of
3467// the ability to pass a context and additional request options.
3468//
3469// See GetInsights for details on how to use this API operation.
3470//
3471// The context must be non-nil and will be used for request cancellation. If
3472// the context is nil a panic will occur. In the future the SDK may create
3473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3474// for more information on using Contexts.
3475func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
3476	req, out := c.GetInsightsRequest(input)
3477	req.SetContext(ctx)
3478	req.ApplyOptions(opts...)
3479	return out, req.Send()
3480}
3481
3482// GetInsightsPages iterates over the pages of a GetInsights operation,
3483// calling the "fn" function with the response data for each page. To stop
3484// iterating, return false from the fn function.
3485//
3486// See GetInsights method for more information on how to use this operation.
3487//
3488// Note: This operation can generate multiple requests to a service.
3489//
3490//    // Example iterating over at most 3 pages of a GetInsights operation.
3491//    pageNum := 0
3492//    err := client.GetInsightsPages(params,
3493//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
3494//            pageNum++
3495//            fmt.Println(page)
3496//            return pageNum <= 3
3497//        })
3498//
3499func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
3500	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
3501}
3502
3503// GetInsightsPagesWithContext same as GetInsightsPages except
3504// it takes a Context and allows setting request options on the pages.
3505//
3506// The context must be non-nil and will be used for request cancellation. If
3507// the context is nil a panic will occur. In the future the SDK may create
3508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3509// for more information on using Contexts.
3510func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
3511	p := request.Pagination{
3512		NewRequest: func() (*request.Request, error) {
3513			var inCpy *GetInsightsInput
3514			if input != nil {
3515				tmp := *input
3516				inCpy = &tmp
3517			}
3518			req, _ := c.GetInsightsRequest(inCpy)
3519			req.SetContext(ctx)
3520			req.ApplyOptions(opts...)
3521			return req, nil
3522		},
3523	}
3524
3525	for p.Next() {
3526		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
3527			break
3528		}
3529	}
3530
3531	return p.Err()
3532}
3533
3534const opGetInvitationsCount = "GetInvitationsCount"
3535
3536// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3537// client's request for the GetInvitationsCount operation. The "output" return
3538// value will be populated with the request's response once the request completes
3539// successfully.
3540//
3541// Use "Send" method on the returned Request to send the API call to the service.
3542// the "output" return value is not valid until after Send returns without error.
3543//
3544// See GetInvitationsCount for more information on using the GetInvitationsCount
3545// API call, and error handling.
3546//
3547// This method is useful when you want to inject custom logic or configuration
3548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3549//
3550//
3551//    // Example sending a request using the GetInvitationsCountRequest method.
3552//    req, resp := client.GetInvitationsCountRequest(params)
3553//
3554//    err := req.Send()
3555//    if err == nil { // resp is now filled
3556//        fmt.Println(resp)
3557//    }
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3560func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3561	op := &request.Operation{
3562		Name:       opGetInvitationsCount,
3563		HTTPMethod: "GET",
3564		HTTPPath:   "/invitations/count",
3565	}
3566
3567	if input == nil {
3568		input = &GetInvitationsCountInput{}
3569	}
3570
3571	output = &GetInvitationsCountOutput{}
3572	req = c.newRequest(op, input, output)
3573	return
3574}
3575
3576// GetInvitationsCount API operation for AWS SecurityHub.
3577//
3578// Returns the count of all Security Hub membership invitations that were sent
3579// to the current member account, not including the currently accepted invitation.
3580//
3581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3582// with awserr.Error's Code and Message methods to get detailed information about
3583// the error.
3584//
3585// See the AWS API reference guide for AWS SecurityHub's
3586// API operation GetInvitationsCount for usage and error information.
3587//
3588// Returned Error Types:
3589//   * InternalException
3590//   Internal server error.
3591//
3592//   * InvalidInputException
3593//   The request was rejected because you supplied an invalid or out-of-range
3594//   value for an input parameter.
3595//
3596//   * InvalidAccessException
3597//   There is an issue with the account used to make the request. Either Security
3598//   Hub is not enabled for the account, or the account does not have permission
3599//   to perform this action.
3600//
3601//   * LimitExceededException
3602//   The request was rejected because it attempted to create resources beyond
3603//   the current AWS account or throttling limits. The error code describes the
3604//   limit exceeded.
3605//
3606// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3607func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3608	req, out := c.GetInvitationsCountRequest(input)
3609	return out, req.Send()
3610}
3611
3612// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3613// the ability to pass a context and additional request options.
3614//
3615// See GetInvitationsCount for details on how to use this API operation.
3616//
3617// The context must be non-nil and will be used for request cancellation. If
3618// the context is nil a panic will occur. In the future the SDK may create
3619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3620// for more information on using Contexts.
3621func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3622	req, out := c.GetInvitationsCountRequest(input)
3623	req.SetContext(ctx)
3624	req.ApplyOptions(opts...)
3625	return out, req.Send()
3626}
3627
3628const opGetMasterAccount = "GetMasterAccount"
3629
3630// GetMasterAccountRequest generates a "aws/request.Request" representing the
3631// client's request for the GetMasterAccount operation. The "output" return
3632// value will be populated with the request's response once the request completes
3633// successfully.
3634//
3635// Use "Send" method on the returned Request to send the API call to the service.
3636// the "output" return value is not valid until after Send returns without error.
3637//
3638// See GetMasterAccount for more information on using the GetMasterAccount
3639// API call, and error handling.
3640//
3641// This method is useful when you want to inject custom logic or configuration
3642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3643//
3644//
3645//    // Example sending a request using the GetMasterAccountRequest method.
3646//    req, resp := client.GetMasterAccountRequest(params)
3647//
3648//    err := req.Send()
3649//    if err == nil { // resp is now filled
3650//        fmt.Println(resp)
3651//    }
3652//
3653// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
3654func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
3655	op := &request.Operation{
3656		Name:       opGetMasterAccount,
3657		HTTPMethod: "GET",
3658		HTTPPath:   "/master",
3659	}
3660
3661	if input == nil {
3662		input = &GetMasterAccountInput{}
3663	}
3664
3665	output = &GetMasterAccountOutput{}
3666	req = c.newRequest(op, input, output)
3667	return
3668}
3669
3670// GetMasterAccount API operation for AWS SecurityHub.
3671//
3672// Provides the details for the Security Hub master account for the current
3673// member account.
3674//
3675// Can be used by both member accounts that are in an organization and accounts
3676// that were invited manually.
3677//
3678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3679// with awserr.Error's Code and Message methods to get detailed information about
3680// the error.
3681//
3682// See the AWS API reference guide for AWS SecurityHub's
3683// API operation GetMasterAccount for usage and error information.
3684//
3685// Returned Error Types:
3686//   * InternalException
3687//   Internal server error.
3688//
3689//   * InvalidInputException
3690//   The request was rejected because you supplied an invalid or out-of-range
3691//   value for an input parameter.
3692//
3693//   * InvalidAccessException
3694//   There is an issue with the account used to make the request. Either Security
3695//   Hub is not enabled for the account, or the account does not have permission
3696//   to perform this action.
3697//
3698//   * LimitExceededException
3699//   The request was rejected because it attempted to create resources beyond
3700//   the current AWS account or throttling limits. The error code describes the
3701//   limit exceeded.
3702//
3703//   * ResourceNotFoundException
3704//   The request was rejected because we can't find the specified resource.
3705//
3706// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
3707func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
3708	req, out := c.GetMasterAccountRequest(input)
3709	return out, req.Send()
3710}
3711
3712// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
3713// the ability to pass a context and additional request options.
3714//
3715// See GetMasterAccount for details on how to use this API operation.
3716//
3717// The context must be non-nil and will be used for request cancellation. If
3718// the context is nil a panic will occur. In the future the SDK may create
3719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3720// for more information on using Contexts.
3721func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
3722	req, out := c.GetMasterAccountRequest(input)
3723	req.SetContext(ctx)
3724	req.ApplyOptions(opts...)
3725	return out, req.Send()
3726}
3727
3728const opGetMembers = "GetMembers"
3729
3730// GetMembersRequest generates a "aws/request.Request" representing the
3731// client's request for the GetMembers operation. The "output" return
3732// value will be populated with the request's response once the request completes
3733// successfully.
3734//
3735// Use "Send" method on the returned Request to send the API call to the service.
3736// the "output" return value is not valid until after Send returns without error.
3737//
3738// See GetMembers for more information on using the GetMembers
3739// API call, and error handling.
3740//
3741// This method is useful when you want to inject custom logic or configuration
3742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3743//
3744//
3745//    // Example sending a request using the GetMembersRequest method.
3746//    req, resp := client.GetMembersRequest(params)
3747//
3748//    err := req.Send()
3749//    if err == nil { // resp is now filled
3750//        fmt.Println(resp)
3751//    }
3752//
3753// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
3754func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
3755	op := &request.Operation{
3756		Name:       opGetMembers,
3757		HTTPMethod: "POST",
3758		HTTPPath:   "/members/get",
3759	}
3760
3761	if input == nil {
3762		input = &GetMembersInput{}
3763	}
3764
3765	output = &GetMembersOutput{}
3766	req = c.newRequest(op, input, output)
3767	return
3768}
3769
3770// GetMembers API operation for AWS SecurityHub.
3771//
3772// Returns the details for the Security Hub member accounts for the specified
3773// account IDs.
3774//
3775// A master account can be either a delegated Security Hub administrator account
3776// for an organization or a master account that enabled Security Hub manually.
3777//
3778// The results include both member accounts that are in an organization and
3779// accounts that were invited manually.
3780//
3781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3782// with awserr.Error's Code and Message methods to get detailed information about
3783// the error.
3784//
3785// See the AWS API reference guide for AWS SecurityHub's
3786// API operation GetMembers for usage and error information.
3787//
3788// Returned Error Types:
3789//   * InternalException
3790//   Internal server error.
3791//
3792//   * InvalidInputException
3793//   The request was rejected because you supplied an invalid or out-of-range
3794//   value for an input parameter.
3795//
3796//   * InvalidAccessException
3797//   There is an issue with the account used to make the request. Either Security
3798//   Hub is not enabled for the account, or the account does not have permission
3799//   to perform this action.
3800//
3801//   * LimitExceededException
3802//   The request was rejected because it attempted to create resources beyond
3803//   the current AWS account or throttling limits. The error code describes the
3804//   limit exceeded.
3805//
3806//   * ResourceNotFoundException
3807//   The request was rejected because we can't find the specified resource.
3808//
3809// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
3810func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
3811	req, out := c.GetMembersRequest(input)
3812	return out, req.Send()
3813}
3814
3815// GetMembersWithContext is the same as GetMembers with the addition of
3816// the ability to pass a context and additional request options.
3817//
3818// See GetMembers for details on how to use this API operation.
3819//
3820// The context must be non-nil and will be used for request cancellation. If
3821// the context is nil a panic will occur. In the future the SDK may create
3822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3823// for more information on using Contexts.
3824func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
3825	req, out := c.GetMembersRequest(input)
3826	req.SetContext(ctx)
3827	req.ApplyOptions(opts...)
3828	return out, req.Send()
3829}
3830
3831const opInviteMembers = "InviteMembers"
3832
3833// InviteMembersRequest generates a "aws/request.Request" representing the
3834// client's request for the InviteMembers operation. The "output" return
3835// value will be populated with the request's response once the request completes
3836// successfully.
3837//
3838// Use "Send" method on the returned Request to send the API call to the service.
3839// the "output" return value is not valid until after Send returns without error.
3840//
3841// See InviteMembers for more information on using the InviteMembers
3842// API call, and error handling.
3843//
3844// This method is useful when you want to inject custom logic or configuration
3845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3846//
3847//
3848//    // Example sending a request using the InviteMembersRequest method.
3849//    req, resp := client.InviteMembersRequest(params)
3850//
3851//    err := req.Send()
3852//    if err == nil { // resp is now filled
3853//        fmt.Println(resp)
3854//    }
3855//
3856// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
3857func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
3858	op := &request.Operation{
3859		Name:       opInviteMembers,
3860		HTTPMethod: "POST",
3861		HTTPPath:   "/members/invite",
3862	}
3863
3864	if input == nil {
3865		input = &InviteMembersInput{}
3866	}
3867
3868	output = &InviteMembersOutput{}
3869	req = c.newRequest(op, input, output)
3870	return
3871}
3872
3873// InviteMembers API operation for AWS SecurityHub.
3874//
3875// Invites other AWS accounts to become member accounts for the Security Hub
3876// master account that the invitation is sent from.
3877//
3878// This operation is only used to invite accounts that do not belong to an organization.
3879// Organization accounts do not receive invitations.
3880//
3881// Before you can use this action to invite a member, you must first use the
3882// CreateMembers action to create the member account in Security Hub.
3883//
3884// When the account owner enables Security Hub and accepts the invitation to
3885// become a member account, the master account can view the findings generated
3886// from the member account.
3887//
3888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3889// with awserr.Error's Code and Message methods to get detailed information about
3890// the error.
3891//
3892// See the AWS API reference guide for AWS SecurityHub's
3893// API operation InviteMembers for usage and error information.
3894//
3895// Returned Error Types:
3896//   * InternalException
3897//   Internal server error.
3898//
3899//   * InvalidInputException
3900//   The request was rejected because you supplied an invalid or out-of-range
3901//   value for an input parameter.
3902//
3903//   * InvalidAccessException
3904//   There is an issue with the account used to make the request. Either Security
3905//   Hub is not enabled for the account, or the account does not have permission
3906//   to perform this action.
3907//
3908//   * LimitExceededException
3909//   The request was rejected because it attempted to create resources beyond
3910//   the current AWS account or throttling limits. The error code describes the
3911//   limit exceeded.
3912//
3913//   * ResourceNotFoundException
3914//   The request was rejected because we can't find the specified resource.
3915//
3916// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
3917func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
3918	req, out := c.InviteMembersRequest(input)
3919	return out, req.Send()
3920}
3921
3922// InviteMembersWithContext is the same as InviteMembers with the addition of
3923// the ability to pass a context and additional request options.
3924//
3925// See InviteMembers for details on how to use this API operation.
3926//
3927// The context must be non-nil and will be used for request cancellation. If
3928// the context is nil a panic will occur. In the future the SDK may create
3929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3930// for more information on using Contexts.
3931func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
3932	req, out := c.InviteMembersRequest(input)
3933	req.SetContext(ctx)
3934	req.ApplyOptions(opts...)
3935	return out, req.Send()
3936}
3937
3938const opListEnabledProductsForImport = "ListEnabledProductsForImport"
3939
3940// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
3941// client's request for the ListEnabledProductsForImport operation. The "output" return
3942// value will be populated with the request's response once the request completes
3943// successfully.
3944//
3945// Use "Send" method on the returned Request to send the API call to the service.
3946// the "output" return value is not valid until after Send returns without error.
3947//
3948// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
3949// API call, and error handling.
3950//
3951// This method is useful when you want to inject custom logic or configuration
3952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3953//
3954//
3955//    // Example sending a request using the ListEnabledProductsForImportRequest method.
3956//    req, resp := client.ListEnabledProductsForImportRequest(params)
3957//
3958//    err := req.Send()
3959//    if err == nil { // resp is now filled
3960//        fmt.Println(resp)
3961//    }
3962//
3963// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
3964func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
3965	op := &request.Operation{
3966		Name:       opListEnabledProductsForImport,
3967		HTTPMethod: "GET",
3968		HTTPPath:   "/productSubscriptions",
3969		Paginator: &request.Paginator{
3970			InputTokens:     []string{"NextToken"},
3971			OutputTokens:    []string{"NextToken"},
3972			LimitToken:      "MaxResults",
3973			TruncationToken: "",
3974		},
3975	}
3976
3977	if input == nil {
3978		input = &ListEnabledProductsForImportInput{}
3979	}
3980
3981	output = &ListEnabledProductsForImportOutput{}
3982	req = c.newRequest(op, input, output)
3983	return
3984}
3985
3986// ListEnabledProductsForImport API operation for AWS SecurityHub.
3987//
3988// Lists all findings-generating solutions (products) that you are subscribed
3989// to receive findings from in Security Hub.
3990//
3991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3992// with awserr.Error's Code and Message methods to get detailed information about
3993// the error.
3994//
3995// See the AWS API reference guide for AWS SecurityHub's
3996// API operation ListEnabledProductsForImport for usage and error information.
3997//
3998// Returned Error Types:
3999//   * InternalException
4000//   Internal server error.
4001//
4002//   * LimitExceededException
4003//   The request was rejected because it attempted to create resources beyond
4004//   the current AWS account or throttling limits. The error code describes the
4005//   limit exceeded.
4006//
4007//   * InvalidAccessException
4008//   There is an issue with the account used to make the request. Either Security
4009//   Hub is not enabled for the account, or the account does not have permission
4010//   to perform this action.
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4013func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
4014	req, out := c.ListEnabledProductsForImportRequest(input)
4015	return out, req.Send()
4016}
4017
4018// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
4019// the ability to pass a context and additional request options.
4020//
4021// See ListEnabledProductsForImport for details on how to use this API operation.
4022//
4023// The context must be non-nil and will be used for request cancellation. If
4024// the context is nil a panic will occur. In the future the SDK may create
4025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4026// for more information on using Contexts.
4027func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
4028	req, out := c.ListEnabledProductsForImportRequest(input)
4029	req.SetContext(ctx)
4030	req.ApplyOptions(opts...)
4031	return out, req.Send()
4032}
4033
4034// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
4035// calling the "fn" function with the response data for each page. To stop
4036// iterating, return false from the fn function.
4037//
4038// See ListEnabledProductsForImport method for more information on how to use this operation.
4039//
4040// Note: This operation can generate multiple requests to a service.
4041//
4042//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
4043//    pageNum := 0
4044//    err := client.ListEnabledProductsForImportPages(params,
4045//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
4046//            pageNum++
4047//            fmt.Println(page)
4048//            return pageNum <= 3
4049//        })
4050//
4051func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
4052	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
4053}
4054
4055// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
4056// it takes a Context and allows setting request options on the pages.
4057//
4058// The context must be non-nil and will be used for request cancellation. If
4059// the context is nil a panic will occur. In the future the SDK may create
4060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4061// for more information on using Contexts.
4062func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
4063	p := request.Pagination{
4064		NewRequest: func() (*request.Request, error) {
4065			var inCpy *ListEnabledProductsForImportInput
4066			if input != nil {
4067				tmp := *input
4068				inCpy = &tmp
4069			}
4070			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
4071			req.SetContext(ctx)
4072			req.ApplyOptions(opts...)
4073			return req, nil
4074		},
4075	}
4076
4077	for p.Next() {
4078		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
4079			break
4080		}
4081	}
4082
4083	return p.Err()
4084}
4085
4086const opListInvitations = "ListInvitations"
4087
4088// ListInvitationsRequest generates a "aws/request.Request" representing the
4089// client's request for the ListInvitations operation. The "output" return
4090// value will be populated with the request's response once the request completes
4091// successfully.
4092//
4093// Use "Send" method on the returned Request to send the API call to the service.
4094// the "output" return value is not valid until after Send returns without error.
4095//
4096// See ListInvitations for more information on using the ListInvitations
4097// API call, and error handling.
4098//
4099// This method is useful when you want to inject custom logic or configuration
4100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4101//
4102//
4103//    // Example sending a request using the ListInvitationsRequest method.
4104//    req, resp := client.ListInvitationsRequest(params)
4105//
4106//    err := req.Send()
4107//    if err == nil { // resp is now filled
4108//        fmt.Println(resp)
4109//    }
4110//
4111// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4112func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4113	op := &request.Operation{
4114		Name:       opListInvitations,
4115		HTTPMethod: "GET",
4116		HTTPPath:   "/invitations",
4117		Paginator: &request.Paginator{
4118			InputTokens:     []string{"NextToken"},
4119			OutputTokens:    []string{"NextToken"},
4120			LimitToken:      "MaxResults",
4121			TruncationToken: "",
4122		},
4123	}
4124
4125	if input == nil {
4126		input = &ListInvitationsInput{}
4127	}
4128
4129	output = &ListInvitationsOutput{}
4130	req = c.newRequest(op, input, output)
4131	return
4132}
4133
4134// ListInvitations API operation for AWS SecurityHub.
4135//
4136// Lists all Security Hub membership invitations that were sent to the current
4137// AWS account.
4138//
4139// This operation is only used by accounts that do not belong to an organization.
4140// Organization accounts do not receive invitations.
4141//
4142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4143// with awserr.Error's Code and Message methods to get detailed information about
4144// the error.
4145//
4146// See the AWS API reference guide for AWS SecurityHub's
4147// API operation ListInvitations for usage and error information.
4148//
4149// Returned Error Types:
4150//   * InternalException
4151//   Internal server error.
4152//
4153//   * InvalidInputException
4154//   The request was rejected because you supplied an invalid or out-of-range
4155//   value for an input parameter.
4156//
4157//   * InvalidAccessException
4158//   There is an issue with the account used to make the request. Either Security
4159//   Hub is not enabled for the account, or the account does not have permission
4160//   to perform this action.
4161//
4162//   * LimitExceededException
4163//   The request was rejected because it attempted to create resources beyond
4164//   the current AWS account or throttling limits. The error code describes the
4165//   limit exceeded.
4166//
4167// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4168func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
4169	req, out := c.ListInvitationsRequest(input)
4170	return out, req.Send()
4171}
4172
4173// ListInvitationsWithContext is the same as ListInvitations with the addition of
4174// the ability to pass a context and additional request options.
4175//
4176// See ListInvitations for details on how to use this API operation.
4177//
4178// The context must be non-nil and will be used for request cancellation. If
4179// the context is nil a panic will occur. In the future the SDK may create
4180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4181// for more information on using Contexts.
4182func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
4183	req, out := c.ListInvitationsRequest(input)
4184	req.SetContext(ctx)
4185	req.ApplyOptions(opts...)
4186	return out, req.Send()
4187}
4188
4189// ListInvitationsPages iterates over the pages of a ListInvitations operation,
4190// calling the "fn" function with the response data for each page. To stop
4191// iterating, return false from the fn function.
4192//
4193// See ListInvitations method for more information on how to use this operation.
4194//
4195// Note: This operation can generate multiple requests to a service.
4196//
4197//    // Example iterating over at most 3 pages of a ListInvitations operation.
4198//    pageNum := 0
4199//    err := client.ListInvitationsPages(params,
4200//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
4201//            pageNum++
4202//            fmt.Println(page)
4203//            return pageNum <= 3
4204//        })
4205//
4206func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
4207	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
4208}
4209
4210// ListInvitationsPagesWithContext same as ListInvitationsPages except
4211// it takes a Context and allows setting request options on the pages.
4212//
4213// The context must be non-nil and will be used for request cancellation. If
4214// the context is nil a panic will occur. In the future the SDK may create
4215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4216// for more information on using Contexts.
4217func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
4218	p := request.Pagination{
4219		NewRequest: func() (*request.Request, error) {
4220			var inCpy *ListInvitationsInput
4221			if input != nil {
4222				tmp := *input
4223				inCpy = &tmp
4224			}
4225			req, _ := c.ListInvitationsRequest(inCpy)
4226			req.SetContext(ctx)
4227			req.ApplyOptions(opts...)
4228			return req, nil
4229		},
4230	}
4231
4232	for p.Next() {
4233		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
4234			break
4235		}
4236	}
4237
4238	return p.Err()
4239}
4240
4241const opListMembers = "ListMembers"
4242
4243// ListMembersRequest generates a "aws/request.Request" representing the
4244// client's request for the ListMembers operation. The "output" return
4245// value will be populated with the request's response once the request completes
4246// successfully.
4247//
4248// Use "Send" method on the returned Request to send the API call to the service.
4249// the "output" return value is not valid until after Send returns without error.
4250//
4251// See ListMembers for more information on using the ListMembers
4252// API call, and error handling.
4253//
4254// This method is useful when you want to inject custom logic or configuration
4255// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4256//
4257//
4258//    // Example sending a request using the ListMembersRequest method.
4259//    req, resp := client.ListMembersRequest(params)
4260//
4261//    err := req.Send()
4262//    if err == nil { // resp is now filled
4263//        fmt.Println(resp)
4264//    }
4265//
4266// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4267func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
4268	op := &request.Operation{
4269		Name:       opListMembers,
4270		HTTPMethod: "GET",
4271		HTTPPath:   "/members",
4272		Paginator: &request.Paginator{
4273			InputTokens:     []string{"NextToken"},
4274			OutputTokens:    []string{"NextToken"},
4275			LimitToken:      "MaxResults",
4276			TruncationToken: "",
4277		},
4278	}
4279
4280	if input == nil {
4281		input = &ListMembersInput{}
4282	}
4283
4284	output = &ListMembersOutput{}
4285	req = c.newRequest(op, input, output)
4286	return
4287}
4288
4289// ListMembers API operation for AWS SecurityHub.
4290//
4291// Lists details about all member accounts for the current Security Hub master
4292// account.
4293//
4294// The results include both member accounts that belong to an organization and
4295// member accounts that were invited manually.
4296//
4297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4298// with awserr.Error's Code and Message methods to get detailed information about
4299// the error.
4300//
4301// See the AWS API reference guide for AWS SecurityHub's
4302// API operation ListMembers for usage and error information.
4303//
4304// Returned Error Types:
4305//   * InternalException
4306//   Internal server error.
4307//
4308//   * InvalidInputException
4309//   The request was rejected because you supplied an invalid or out-of-range
4310//   value for an input parameter.
4311//
4312//   * InvalidAccessException
4313//   There is an issue with the account used to make the request. Either Security
4314//   Hub is not enabled for the account, or the account does not have permission
4315//   to perform this action.
4316//
4317//   * LimitExceededException
4318//   The request was rejected because it attempted to create resources beyond
4319//   the current AWS account or throttling limits. The error code describes the
4320//   limit exceeded.
4321//
4322// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4323func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
4324	req, out := c.ListMembersRequest(input)
4325	return out, req.Send()
4326}
4327
4328// ListMembersWithContext is the same as ListMembers with the addition of
4329// the ability to pass a context and additional request options.
4330//
4331// See ListMembers for details on how to use this API operation.
4332//
4333// The context must be non-nil and will be used for request cancellation. If
4334// the context is nil a panic will occur. In the future the SDK may create
4335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4336// for more information on using Contexts.
4337func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
4338	req, out := c.ListMembersRequest(input)
4339	req.SetContext(ctx)
4340	req.ApplyOptions(opts...)
4341	return out, req.Send()
4342}
4343
4344// ListMembersPages iterates over the pages of a ListMembers operation,
4345// calling the "fn" function with the response data for each page. To stop
4346// iterating, return false from the fn function.
4347//
4348// See ListMembers method for more information on how to use this operation.
4349//
4350// Note: This operation can generate multiple requests to a service.
4351//
4352//    // Example iterating over at most 3 pages of a ListMembers operation.
4353//    pageNum := 0
4354//    err := client.ListMembersPages(params,
4355//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
4356//            pageNum++
4357//            fmt.Println(page)
4358//            return pageNum <= 3
4359//        })
4360//
4361func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
4362	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
4363}
4364
4365// ListMembersPagesWithContext same as ListMembersPages except
4366// it takes a Context and allows setting request options on the pages.
4367//
4368// The context must be non-nil and will be used for request cancellation. If
4369// the context is nil a panic will occur. In the future the SDK may create
4370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4371// for more information on using Contexts.
4372func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
4373	p := request.Pagination{
4374		NewRequest: func() (*request.Request, error) {
4375			var inCpy *ListMembersInput
4376			if input != nil {
4377				tmp := *input
4378				inCpy = &tmp
4379			}
4380			req, _ := c.ListMembersRequest(inCpy)
4381			req.SetContext(ctx)
4382			req.ApplyOptions(opts...)
4383			return req, nil
4384		},
4385	}
4386
4387	for p.Next() {
4388		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
4389			break
4390		}
4391	}
4392
4393	return p.Err()
4394}
4395
4396const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
4397
4398// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
4399// client's request for the ListOrganizationAdminAccounts operation. The "output" return
4400// value will be populated with the request's response once the request completes
4401// successfully.
4402//
4403// Use "Send" method on the returned Request to send the API call to the service.
4404// the "output" return value is not valid until after Send returns without error.
4405//
4406// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
4407// API call, and error handling.
4408//
4409// This method is useful when you want to inject custom logic or configuration
4410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4411//
4412//
4413//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
4414//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
4415//
4416//    err := req.Send()
4417//    if err == nil { // resp is now filled
4418//        fmt.Println(resp)
4419//    }
4420//
4421// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4422func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
4423	op := &request.Operation{
4424		Name:       opListOrganizationAdminAccounts,
4425		HTTPMethod: "GET",
4426		HTTPPath:   "/organization/admin",
4427		Paginator: &request.Paginator{
4428			InputTokens:     []string{"NextToken"},
4429			OutputTokens:    []string{"NextToken"},
4430			LimitToken:      "MaxResults",
4431			TruncationToken: "",
4432		},
4433	}
4434
4435	if input == nil {
4436		input = &ListOrganizationAdminAccountsInput{}
4437	}
4438
4439	output = &ListOrganizationAdminAccountsOutput{}
4440	req = c.newRequest(op, input, output)
4441	return
4442}
4443
4444// ListOrganizationAdminAccounts API operation for AWS SecurityHub.
4445//
4446// Lists the Security Hub administrator accounts. Can only be called by the
4447// organization management account.
4448//
4449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4450// with awserr.Error's Code and Message methods to get detailed information about
4451// the error.
4452//
4453// See the AWS API reference guide for AWS SecurityHub's
4454// API operation ListOrganizationAdminAccounts for usage and error information.
4455//
4456// Returned Error Types:
4457//   * InternalException
4458//   Internal server error.
4459//
4460//   * InvalidInputException
4461//   The request was rejected because you supplied an invalid or out-of-range
4462//   value for an input parameter.
4463//
4464//   * InvalidAccessException
4465//   There is an issue with the account used to make the request. Either Security
4466//   Hub is not enabled for the account, or the account does not have permission
4467//   to perform this action.
4468//
4469//   * LimitExceededException
4470//   The request was rejected because it attempted to create resources beyond
4471//   the current AWS account or throttling limits. The error code describes the
4472//   limit exceeded.
4473//
4474// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4475func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
4476	req, out := c.ListOrganizationAdminAccountsRequest(input)
4477	return out, req.Send()
4478}
4479
4480// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
4481// the ability to pass a context and additional request options.
4482//
4483// See ListOrganizationAdminAccounts for details on how to use this API operation.
4484//
4485// The context must be non-nil and will be used for request cancellation. If
4486// the context is nil a panic will occur. In the future the SDK may create
4487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4488// for more information on using Contexts.
4489func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
4490	req, out := c.ListOrganizationAdminAccountsRequest(input)
4491	req.SetContext(ctx)
4492	req.ApplyOptions(opts...)
4493	return out, req.Send()
4494}
4495
4496// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
4497// calling the "fn" function with the response data for each page. To stop
4498// iterating, return false from the fn function.
4499//
4500// See ListOrganizationAdminAccounts method for more information on how to use this operation.
4501//
4502// Note: This operation can generate multiple requests to a service.
4503//
4504//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
4505//    pageNum := 0
4506//    err := client.ListOrganizationAdminAccountsPages(params,
4507//        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
4508//            pageNum++
4509//            fmt.Println(page)
4510//            return pageNum <= 3
4511//        })
4512//
4513func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
4514	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
4515}
4516
4517// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
4518// it takes a Context and allows setting request options on the pages.
4519//
4520// The context must be non-nil and will be used for request cancellation. If
4521// the context is nil a panic will occur. In the future the SDK may create
4522// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4523// for more information on using Contexts.
4524func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
4525	p := request.Pagination{
4526		NewRequest: func() (*request.Request, error) {
4527			var inCpy *ListOrganizationAdminAccountsInput
4528			if input != nil {
4529				tmp := *input
4530				inCpy = &tmp
4531			}
4532			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
4533			req.SetContext(ctx)
4534			req.ApplyOptions(opts...)
4535			return req, nil
4536		},
4537	}
4538
4539	for p.Next() {
4540		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
4541			break
4542		}
4543	}
4544
4545	return p.Err()
4546}
4547
4548const opListTagsForResource = "ListTagsForResource"
4549
4550// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4551// client's request for the ListTagsForResource operation. The "output" return
4552// value will be populated with the request's response once the request completes
4553// successfully.
4554//
4555// Use "Send" method on the returned Request to send the API call to the service.
4556// the "output" return value is not valid until after Send returns without error.
4557//
4558// See ListTagsForResource for more information on using the ListTagsForResource
4559// API call, and error handling.
4560//
4561// This method is useful when you want to inject custom logic or configuration
4562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4563//
4564//
4565//    // Example sending a request using the ListTagsForResourceRequest method.
4566//    req, resp := client.ListTagsForResourceRequest(params)
4567//
4568//    err := req.Send()
4569//    if err == nil { // resp is now filled
4570//        fmt.Println(resp)
4571//    }
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4574func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4575	op := &request.Operation{
4576		Name:       opListTagsForResource,
4577		HTTPMethod: "GET",
4578		HTTPPath:   "/tags/{ResourceArn}",
4579	}
4580
4581	if input == nil {
4582		input = &ListTagsForResourceInput{}
4583	}
4584
4585	output = &ListTagsForResourceOutput{}
4586	req = c.newRequest(op, input, output)
4587	return
4588}
4589
4590// ListTagsForResource API operation for AWS SecurityHub.
4591//
4592// Returns a list of tags associated with a resource.
4593//
4594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4595// with awserr.Error's Code and Message methods to get detailed information about
4596// the error.
4597//
4598// See the AWS API reference guide for AWS SecurityHub's
4599// API operation ListTagsForResource for usage and error information.
4600//
4601// Returned Error Types:
4602//   * InternalException
4603//   Internal server error.
4604//
4605//   * InvalidInputException
4606//   The request was rejected because you supplied an invalid or out-of-range
4607//   value for an input parameter.
4608//
4609//   * ResourceNotFoundException
4610//   The request was rejected because we can't find the specified resource.
4611//
4612// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4613func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4614	req, out := c.ListTagsForResourceRequest(input)
4615	return out, req.Send()
4616}
4617
4618// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4619// the ability to pass a context and additional request options.
4620//
4621// See ListTagsForResource for details on how to use this API operation.
4622//
4623// The context must be non-nil and will be used for request cancellation. If
4624// the context is nil a panic will occur. In the future the SDK may create
4625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4626// for more information on using Contexts.
4627func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4628	req, out := c.ListTagsForResourceRequest(input)
4629	req.SetContext(ctx)
4630	req.ApplyOptions(opts...)
4631	return out, req.Send()
4632}
4633
4634const opTagResource = "TagResource"
4635
4636// TagResourceRequest generates a "aws/request.Request" representing the
4637// client's request for the TagResource operation. The "output" return
4638// value will be populated with the request's response once the request completes
4639// successfully.
4640//
4641// Use "Send" method on the returned Request to send the API call to the service.
4642// the "output" return value is not valid until after Send returns without error.
4643//
4644// See TagResource for more information on using the TagResource
4645// API call, and error handling.
4646//
4647// This method is useful when you want to inject custom logic or configuration
4648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4649//
4650//
4651//    // Example sending a request using the TagResourceRequest method.
4652//    req, resp := client.TagResourceRequest(params)
4653//
4654//    err := req.Send()
4655//    if err == nil { // resp is now filled
4656//        fmt.Println(resp)
4657//    }
4658//
4659// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
4660func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4661	op := &request.Operation{
4662		Name:       opTagResource,
4663		HTTPMethod: "POST",
4664		HTTPPath:   "/tags/{ResourceArn}",
4665	}
4666
4667	if input == nil {
4668		input = &TagResourceInput{}
4669	}
4670
4671	output = &TagResourceOutput{}
4672	req = c.newRequest(op, input, output)
4673	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4674	return
4675}
4676
4677// TagResource API operation for AWS SecurityHub.
4678//
4679// Adds one or more tags to a resource.
4680//
4681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4682// with awserr.Error's Code and Message methods to get detailed information about
4683// the error.
4684//
4685// See the AWS API reference guide for AWS SecurityHub's
4686// API operation TagResource for usage and error information.
4687//
4688// Returned Error Types:
4689//   * InternalException
4690//   Internal server error.
4691//
4692//   * InvalidInputException
4693//   The request was rejected because you supplied an invalid or out-of-range
4694//   value for an input parameter.
4695//
4696//   * ResourceNotFoundException
4697//   The request was rejected because we can't find the specified resource.
4698//
4699// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
4700func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4701	req, out := c.TagResourceRequest(input)
4702	return out, req.Send()
4703}
4704
4705// TagResourceWithContext is the same as TagResource with the addition of
4706// the ability to pass a context and additional request options.
4707//
4708// See TagResource for details on how to use this API operation.
4709//
4710// The context must be non-nil and will be used for request cancellation. If
4711// the context is nil a panic will occur. In the future the SDK may create
4712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4713// for more information on using Contexts.
4714func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4715	req, out := c.TagResourceRequest(input)
4716	req.SetContext(ctx)
4717	req.ApplyOptions(opts...)
4718	return out, req.Send()
4719}
4720
4721const opUntagResource = "UntagResource"
4722
4723// UntagResourceRequest generates a "aws/request.Request" representing the
4724// client's request for the UntagResource operation. The "output" return
4725// value will be populated with the request's response once the request completes
4726// successfully.
4727//
4728// Use "Send" method on the returned Request to send the API call to the service.
4729// the "output" return value is not valid until after Send returns without error.
4730//
4731// See UntagResource for more information on using the UntagResource
4732// API call, and error handling.
4733//
4734// This method is useful when you want to inject custom logic or configuration
4735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4736//
4737//
4738//    // Example sending a request using the UntagResourceRequest method.
4739//    req, resp := client.UntagResourceRequest(params)
4740//
4741//    err := req.Send()
4742//    if err == nil { // resp is now filled
4743//        fmt.Println(resp)
4744//    }
4745//
4746// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
4747func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4748	op := &request.Operation{
4749		Name:       opUntagResource,
4750		HTTPMethod: "DELETE",
4751		HTTPPath:   "/tags/{ResourceArn}",
4752	}
4753
4754	if input == nil {
4755		input = &UntagResourceInput{}
4756	}
4757
4758	output = &UntagResourceOutput{}
4759	req = c.newRequest(op, input, output)
4760	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4761	return
4762}
4763
4764// UntagResource API operation for AWS SecurityHub.
4765//
4766// Removes one or more tags from a resource.
4767//
4768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4769// with awserr.Error's Code and Message methods to get detailed information about
4770// the error.
4771//
4772// See the AWS API reference guide for AWS SecurityHub's
4773// API operation UntagResource for usage and error information.
4774//
4775// Returned Error Types:
4776//   * InternalException
4777//   Internal server error.
4778//
4779//   * InvalidInputException
4780//   The request was rejected because you supplied an invalid or out-of-range
4781//   value for an input parameter.
4782//
4783//   * ResourceNotFoundException
4784//   The request was rejected because we can't find the specified resource.
4785//
4786// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
4787func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4788	req, out := c.UntagResourceRequest(input)
4789	return out, req.Send()
4790}
4791
4792// UntagResourceWithContext is the same as UntagResource with the addition of
4793// the ability to pass a context and additional request options.
4794//
4795// See UntagResource for details on how to use this API operation.
4796//
4797// The context must be non-nil and will be used for request cancellation. If
4798// the context is nil a panic will occur. In the future the SDK may create
4799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4800// for more information on using Contexts.
4801func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4802	req, out := c.UntagResourceRequest(input)
4803	req.SetContext(ctx)
4804	req.ApplyOptions(opts...)
4805	return out, req.Send()
4806}
4807
4808const opUpdateActionTarget = "UpdateActionTarget"
4809
4810// UpdateActionTargetRequest generates a "aws/request.Request" representing the
4811// client's request for the UpdateActionTarget operation. The "output" return
4812// value will be populated with the request's response once the request completes
4813// successfully.
4814//
4815// Use "Send" method on the returned Request to send the API call to the service.
4816// the "output" return value is not valid until after Send returns without error.
4817//
4818// See UpdateActionTarget for more information on using the UpdateActionTarget
4819// API call, and error handling.
4820//
4821// This method is useful when you want to inject custom logic or configuration
4822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4823//
4824//
4825//    // Example sending a request using the UpdateActionTargetRequest method.
4826//    req, resp := client.UpdateActionTargetRequest(params)
4827//
4828//    err := req.Send()
4829//    if err == nil { // resp is now filled
4830//        fmt.Println(resp)
4831//    }
4832//
4833// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
4834func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
4835	op := &request.Operation{
4836		Name:       opUpdateActionTarget,
4837		HTTPMethod: "PATCH",
4838		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
4839	}
4840
4841	if input == nil {
4842		input = &UpdateActionTargetInput{}
4843	}
4844
4845	output = &UpdateActionTargetOutput{}
4846	req = c.newRequest(op, input, output)
4847	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4848	return
4849}
4850
4851// UpdateActionTarget API operation for AWS SecurityHub.
4852//
4853// Updates the name and description of a custom action target in Security Hub.
4854//
4855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4856// with awserr.Error's Code and Message methods to get detailed information about
4857// the error.
4858//
4859// See the AWS API reference guide for AWS SecurityHub's
4860// API operation UpdateActionTarget for usage and error information.
4861//
4862// Returned Error Types:
4863//   * InternalException
4864//   Internal server error.
4865//
4866//   * InvalidInputException
4867//   The request was rejected because you supplied an invalid or out-of-range
4868//   value for an input parameter.
4869//
4870//   * ResourceNotFoundException
4871//   The request was rejected because we can't find the specified resource.
4872//
4873//   * InvalidAccessException
4874//   There is an issue with the account used to make the request. Either Security
4875//   Hub is not enabled for the account, or the account does not have permission
4876//   to perform this action.
4877//
4878//   * ResourceNotFoundException
4879//   The request was rejected because we can't find the specified resource.
4880//
4881// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
4882func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
4883	req, out := c.UpdateActionTargetRequest(input)
4884	return out, req.Send()
4885}
4886
4887// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
4888// the ability to pass a context and additional request options.
4889//
4890// See UpdateActionTarget for details on how to use this API operation.
4891//
4892// The context must be non-nil and will be used for request cancellation. If
4893// the context is nil a panic will occur. In the future the SDK may create
4894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4895// for more information on using Contexts.
4896func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
4897	req, out := c.UpdateActionTargetRequest(input)
4898	req.SetContext(ctx)
4899	req.ApplyOptions(opts...)
4900	return out, req.Send()
4901}
4902
4903const opUpdateFindings = "UpdateFindings"
4904
4905// UpdateFindingsRequest generates a "aws/request.Request" representing the
4906// client's request for the UpdateFindings operation. The "output" return
4907// value will be populated with the request's response once the request completes
4908// successfully.
4909//
4910// Use "Send" method on the returned Request to send the API call to the service.
4911// the "output" return value is not valid until after Send returns without error.
4912//
4913// See UpdateFindings for more information on using the UpdateFindings
4914// API call, and error handling.
4915//
4916// This method is useful when you want to inject custom logic or configuration
4917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4918//
4919//
4920//    // Example sending a request using the UpdateFindingsRequest method.
4921//    req, resp := client.UpdateFindingsRequest(params)
4922//
4923//    err := req.Send()
4924//    if err == nil { // resp is now filled
4925//        fmt.Println(resp)
4926//    }
4927//
4928// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
4929func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
4930	op := &request.Operation{
4931		Name:       opUpdateFindings,
4932		HTTPMethod: "PATCH",
4933		HTTPPath:   "/findings",
4934	}
4935
4936	if input == nil {
4937		input = &UpdateFindingsInput{}
4938	}
4939
4940	output = &UpdateFindingsOutput{}
4941	req = c.newRequest(op, input, output)
4942	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4943	return
4944}
4945
4946// UpdateFindings API operation for AWS SecurityHub.
4947//
4948// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
4949//
4950// Updates the Note and RecordState of the Security Hub-aggregated findings
4951// that the filter attributes specify. Any member account that can view the
4952// finding also sees the update to the finding.
4953//
4954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4955// with awserr.Error's Code and Message methods to get detailed information about
4956// the error.
4957//
4958// See the AWS API reference guide for AWS SecurityHub's
4959// API operation UpdateFindings for usage and error information.
4960//
4961// Returned Error Types:
4962//   * InternalException
4963//   Internal server error.
4964//
4965//   * InvalidInputException
4966//   The request was rejected because you supplied an invalid or out-of-range
4967//   value for an input parameter.
4968//
4969//   * LimitExceededException
4970//   The request was rejected because it attempted to create resources beyond
4971//   the current AWS account or throttling limits. The error code describes the
4972//   limit exceeded.
4973//
4974//   * InvalidAccessException
4975//   There is an issue with the account used to make the request. Either Security
4976//   Hub is not enabled for the account, or the account does not have permission
4977//   to perform this action.
4978//
4979//   * ResourceNotFoundException
4980//   The request was rejected because we can't find the specified resource.
4981//
4982// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
4983func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
4984	req, out := c.UpdateFindingsRequest(input)
4985	return out, req.Send()
4986}
4987
4988// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
4989// the ability to pass a context and additional request options.
4990//
4991// See UpdateFindings for details on how to use this API operation.
4992//
4993// The context must be non-nil and will be used for request cancellation. If
4994// the context is nil a panic will occur. In the future the SDK may create
4995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4996// for more information on using Contexts.
4997func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
4998	req, out := c.UpdateFindingsRequest(input)
4999	req.SetContext(ctx)
5000	req.ApplyOptions(opts...)
5001	return out, req.Send()
5002}
5003
5004const opUpdateInsight = "UpdateInsight"
5005
5006// UpdateInsightRequest generates a "aws/request.Request" representing the
5007// client's request for the UpdateInsight operation. The "output" return
5008// value will be populated with the request's response once the request completes
5009// successfully.
5010//
5011// Use "Send" method on the returned Request to send the API call to the service.
5012// the "output" return value is not valid until after Send returns without error.
5013//
5014// See UpdateInsight for more information on using the UpdateInsight
5015// API call, and error handling.
5016//
5017// This method is useful when you want to inject custom logic or configuration
5018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5019//
5020//
5021//    // Example sending a request using the UpdateInsightRequest method.
5022//    req, resp := client.UpdateInsightRequest(params)
5023//
5024//    err := req.Send()
5025//    if err == nil { // resp is now filled
5026//        fmt.Println(resp)
5027//    }
5028//
5029// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5030func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
5031	op := &request.Operation{
5032		Name:       opUpdateInsight,
5033		HTTPMethod: "PATCH",
5034		HTTPPath:   "/insights/{InsightArn+}",
5035	}
5036
5037	if input == nil {
5038		input = &UpdateInsightInput{}
5039	}
5040
5041	output = &UpdateInsightOutput{}
5042	req = c.newRequest(op, input, output)
5043	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5044	return
5045}
5046
5047// UpdateInsight API operation for AWS SecurityHub.
5048//
5049// Updates the Security Hub insight identified by the specified insight ARN.
5050//
5051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5052// with awserr.Error's Code and Message methods to get detailed information about
5053// the error.
5054//
5055// See the AWS API reference guide for AWS SecurityHub's
5056// API operation UpdateInsight for usage and error information.
5057//
5058// Returned Error Types:
5059//   * InternalException
5060//   Internal server error.
5061//
5062//   * InvalidInputException
5063//   The request was rejected because you supplied an invalid or out-of-range
5064//   value for an input parameter.
5065//
5066//   * InvalidAccessException
5067//   There is an issue with the account used to make the request. Either Security
5068//   Hub is not enabled for the account, or the account does not have permission
5069//   to perform this action.
5070//
5071//   * LimitExceededException
5072//   The request was rejected because it attempted to create resources beyond
5073//   the current AWS account or throttling limits. The error code describes the
5074//   limit exceeded.
5075//
5076//   * ResourceNotFoundException
5077//   The request was rejected because we can't find the specified resource.
5078//
5079// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5080func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
5081	req, out := c.UpdateInsightRequest(input)
5082	return out, req.Send()
5083}
5084
5085// UpdateInsightWithContext is the same as UpdateInsight with the addition of
5086// the ability to pass a context and additional request options.
5087//
5088// See UpdateInsight for details on how to use this API operation.
5089//
5090// The context must be non-nil and will be used for request cancellation. If
5091// the context is nil a panic will occur. In the future the SDK may create
5092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5093// for more information on using Contexts.
5094func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
5095	req, out := c.UpdateInsightRequest(input)
5096	req.SetContext(ctx)
5097	req.ApplyOptions(opts...)
5098	return out, req.Send()
5099}
5100
5101const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
5102
5103// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
5104// client's request for the UpdateOrganizationConfiguration operation. The "output" return
5105// value will be populated with the request's response once the request completes
5106// successfully.
5107//
5108// Use "Send" method on the returned Request to send the API call to the service.
5109// the "output" return value is not valid until after Send returns without error.
5110//
5111// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
5112// API call, and error handling.
5113//
5114// This method is useful when you want to inject custom logic or configuration
5115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5116//
5117//
5118//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
5119//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
5120//
5121//    err := req.Send()
5122//    if err == nil { // resp is now filled
5123//        fmt.Println(resp)
5124//    }
5125//
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5127func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
5128	op := &request.Operation{
5129		Name:       opUpdateOrganizationConfiguration,
5130		HTTPMethod: "POST",
5131		HTTPPath:   "/organization/configuration",
5132	}
5133
5134	if input == nil {
5135		input = &UpdateOrganizationConfigurationInput{}
5136	}
5137
5138	output = &UpdateOrganizationConfigurationOutput{}
5139	req = c.newRequest(op, input, output)
5140	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5141	return
5142}
5143
5144// UpdateOrganizationConfiguration API operation for AWS SecurityHub.
5145//
5146// Used to update the configuration related to Organizations. Can only be called
5147// from a Security Hub administrator account.
5148//
5149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5150// with awserr.Error's Code and Message methods to get detailed information about
5151// the error.
5152//
5153// See the AWS API reference guide for AWS SecurityHub's
5154// API operation UpdateOrganizationConfiguration for usage and error information.
5155//
5156// Returned Error Types:
5157//   * InternalException
5158//   Internal server error.
5159//
5160//   * InvalidInputException
5161//   The request was rejected because you supplied an invalid or out-of-range
5162//   value for an input parameter.
5163//
5164//   * InvalidAccessException
5165//   There is an issue with the account used to make the request. Either Security
5166//   Hub is not enabled for the account, or the account does not have permission
5167//   to perform this action.
5168//
5169//   * LimitExceededException
5170//   The request was rejected because it attempted to create resources beyond
5171//   the current AWS account or throttling limits. The error code describes the
5172//   limit exceeded.
5173//
5174// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5175func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
5176	req, out := c.UpdateOrganizationConfigurationRequest(input)
5177	return out, req.Send()
5178}
5179
5180// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
5181// the ability to pass a context and additional request options.
5182//
5183// See UpdateOrganizationConfiguration for details on how to use this API operation.
5184//
5185// The context must be non-nil and will be used for request cancellation. If
5186// the context is nil a panic will occur. In the future the SDK may create
5187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5188// for more information on using Contexts.
5189func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
5190	req, out := c.UpdateOrganizationConfigurationRequest(input)
5191	req.SetContext(ctx)
5192	req.ApplyOptions(opts...)
5193	return out, req.Send()
5194}
5195
5196const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
5197
5198// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
5199// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
5200// value will be populated with the request's response once the request completes
5201// successfully.
5202//
5203// Use "Send" method on the returned Request to send the API call to the service.
5204// the "output" return value is not valid until after Send returns without error.
5205//
5206// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
5207// API call, and error handling.
5208//
5209// This method is useful when you want to inject custom logic or configuration
5210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5211//
5212//
5213//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
5214//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
5215//
5216//    err := req.Send()
5217//    if err == nil { // resp is now filled
5218//        fmt.Println(resp)
5219//    }
5220//
5221// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5222func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
5223	op := &request.Operation{
5224		Name:       opUpdateSecurityHubConfiguration,
5225		HTTPMethod: "PATCH",
5226		HTTPPath:   "/accounts",
5227	}
5228
5229	if input == nil {
5230		input = &UpdateSecurityHubConfigurationInput{}
5231	}
5232
5233	output = &UpdateSecurityHubConfigurationOutput{}
5234	req = c.newRequest(op, input, output)
5235	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5236	return
5237}
5238
5239// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
5240//
5241// Updates configuration options for Security Hub.
5242//
5243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5244// with awserr.Error's Code and Message methods to get detailed information about
5245// the error.
5246//
5247// See the AWS API reference guide for AWS SecurityHub's
5248// API operation UpdateSecurityHubConfiguration for usage and error information.
5249//
5250// Returned Error Types:
5251//   * InternalException
5252//   Internal server error.
5253//
5254//   * InvalidInputException
5255//   The request was rejected because you supplied an invalid or out-of-range
5256//   value for an input parameter.
5257//
5258//   * InvalidAccessException
5259//   There is an issue with the account used to make the request. Either Security
5260//   Hub is not enabled for the account, or the account does not have permission
5261//   to perform this action.
5262//
5263//   * LimitExceededException
5264//   The request was rejected because it attempted to create resources beyond
5265//   the current AWS account or throttling limits. The error code describes the
5266//   limit exceeded.
5267//
5268//   * ResourceNotFoundException
5269//   The request was rejected because we can't find the specified resource.
5270//
5271// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5272func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
5273	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5274	return out, req.Send()
5275}
5276
5277// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
5278// the ability to pass a context and additional request options.
5279//
5280// See UpdateSecurityHubConfiguration for details on how to use this API operation.
5281//
5282// The context must be non-nil and will be used for request cancellation. If
5283// the context is nil a panic will occur. In the future the SDK may create
5284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5285// for more information on using Contexts.
5286func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
5287	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5288	req.SetContext(ctx)
5289	req.ApplyOptions(opts...)
5290	return out, req.Send()
5291}
5292
5293const opUpdateStandardsControl = "UpdateStandardsControl"
5294
5295// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
5296// client's request for the UpdateStandardsControl operation. The "output" return
5297// value will be populated with the request's response once the request completes
5298// successfully.
5299//
5300// Use "Send" method on the returned Request to send the API call to the service.
5301// the "output" return value is not valid until after Send returns without error.
5302//
5303// See UpdateStandardsControl for more information on using the UpdateStandardsControl
5304// API call, and error handling.
5305//
5306// This method is useful when you want to inject custom logic or configuration
5307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5308//
5309//
5310//    // Example sending a request using the UpdateStandardsControlRequest method.
5311//    req, resp := client.UpdateStandardsControlRequest(params)
5312//
5313//    err := req.Send()
5314//    if err == nil { // resp is now filled
5315//        fmt.Println(resp)
5316//    }
5317//
5318// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5319func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
5320	op := &request.Operation{
5321		Name:       opUpdateStandardsControl,
5322		HTTPMethod: "PATCH",
5323		HTTPPath:   "/standards/control/{StandardsControlArn+}",
5324	}
5325
5326	if input == nil {
5327		input = &UpdateStandardsControlInput{}
5328	}
5329
5330	output = &UpdateStandardsControlOutput{}
5331	req = c.newRequest(op, input, output)
5332	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5333	return
5334}
5335
5336// UpdateStandardsControl API operation for AWS SecurityHub.
5337//
5338// Used to control whether an individual security standard control is enabled
5339// or disabled.
5340//
5341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5342// with awserr.Error's Code and Message methods to get detailed information about
5343// the error.
5344//
5345// See the AWS API reference guide for AWS SecurityHub's
5346// API operation UpdateStandardsControl for usage and error information.
5347//
5348// Returned Error Types:
5349//   * InternalException
5350//   Internal server error.
5351//
5352//   * InvalidInputException
5353//   The request was rejected because you supplied an invalid or out-of-range
5354//   value for an input parameter.
5355//
5356//   * InvalidAccessException
5357//   There is an issue with the account used to make the request. Either Security
5358//   Hub is not enabled for the account, or the account does not have permission
5359//   to perform this action.
5360//
5361//   * ResourceNotFoundException
5362//   The request was rejected because we can't find the specified resource.
5363//
5364// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5365func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
5366	req, out := c.UpdateStandardsControlRequest(input)
5367	return out, req.Send()
5368}
5369
5370// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
5371// the ability to pass a context and additional request options.
5372//
5373// See UpdateStandardsControl for details on how to use this API operation.
5374//
5375// The context must be non-nil and will be used for request cancellation. If
5376// the context is nil a panic will occur. In the future the SDK may create
5377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5378// for more information on using Contexts.
5379func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
5380	req, out := c.UpdateStandardsControlRequest(input)
5381	req.SetContext(ctx)
5382	req.ApplyOptions(opts...)
5383	return out, req.Send()
5384}
5385
5386type AcceptInvitationInput struct {
5387	_ struct{} `type:"structure"`
5388
5389	// The ID of the invitation sent from the Security Hub master account.
5390	//
5391	// InvitationId is a required field
5392	InvitationId *string `type:"string" required:"true"`
5393
5394	// The account ID of the Security Hub master account that sent the invitation.
5395	//
5396	// MasterId is a required field
5397	MasterId *string `type:"string" required:"true"`
5398}
5399
5400// String returns the string representation
5401func (s AcceptInvitationInput) String() string {
5402	return awsutil.Prettify(s)
5403}
5404
5405// GoString returns the string representation
5406func (s AcceptInvitationInput) GoString() string {
5407	return s.String()
5408}
5409
5410// Validate inspects the fields of the type to determine if they are valid.
5411func (s *AcceptInvitationInput) Validate() error {
5412	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5413	if s.InvitationId == nil {
5414		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5415	}
5416	if s.MasterId == nil {
5417		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5418	}
5419
5420	if invalidParams.Len() > 0 {
5421		return invalidParams
5422	}
5423	return nil
5424}
5425
5426// SetInvitationId sets the InvitationId field's value.
5427func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5428	s.InvitationId = &v
5429	return s
5430}
5431
5432// SetMasterId sets the MasterId field's value.
5433func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5434	s.MasterId = &v
5435	return s
5436}
5437
5438type AcceptInvitationOutput struct {
5439	_ struct{} `type:"structure"`
5440}
5441
5442// String returns the string representation
5443func (s AcceptInvitationOutput) String() string {
5444	return awsutil.Prettify(s)
5445}
5446
5447// GoString returns the string representation
5448func (s AcceptInvitationOutput) GoString() string {
5449	return s.String()
5450}
5451
5452// You don't have permission to perform the action specified in the request.
5453type AccessDeniedException struct {
5454	_            struct{}                  `type:"structure"`
5455	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5456
5457	Code_ *string `locationName:"Code" type:"string"`
5458
5459	Message_ *string `locationName:"Message" type:"string"`
5460}
5461
5462// String returns the string representation
5463func (s AccessDeniedException) String() string {
5464	return awsutil.Prettify(s)
5465}
5466
5467// GoString returns the string representation
5468func (s AccessDeniedException) GoString() string {
5469	return s.String()
5470}
5471
5472func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5473	return &AccessDeniedException{
5474		RespMetadata: v,
5475	}
5476}
5477
5478// Code returns the exception type name.
5479func (s *AccessDeniedException) Code() string {
5480	return "AccessDeniedException"
5481}
5482
5483// Message returns the exception's message.
5484func (s *AccessDeniedException) Message() string {
5485	if s.Message_ != nil {
5486		return *s.Message_
5487	}
5488	return ""
5489}
5490
5491// OrigErr always returns nil, satisfies awserr.Error interface.
5492func (s *AccessDeniedException) OrigErr() error {
5493	return nil
5494}
5495
5496func (s *AccessDeniedException) Error() string {
5497	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5498}
5499
5500// Status code returns the HTTP status code for the request's response error.
5501func (s *AccessDeniedException) StatusCode() int {
5502	return s.RespMetadata.StatusCode
5503}
5504
5505// RequestID returns the service's response RequestID for request.
5506func (s *AccessDeniedException) RequestID() string {
5507	return s.RespMetadata.RequestID
5508}
5509
5510// The details of an AWS account.
5511type AccountDetails struct {
5512	_ struct{} `type:"structure"`
5513
5514	// The ID of an AWS account.
5515	//
5516	// AccountId is a required field
5517	AccountId *string `type:"string" required:"true"`
5518
5519	// The email of an AWS account.
5520	Email *string `type:"string"`
5521}
5522
5523// String returns the string representation
5524func (s AccountDetails) String() string {
5525	return awsutil.Prettify(s)
5526}
5527
5528// GoString returns the string representation
5529func (s AccountDetails) GoString() string {
5530	return s.String()
5531}
5532
5533// Validate inspects the fields of the type to determine if they are valid.
5534func (s *AccountDetails) Validate() error {
5535	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
5536	if s.AccountId == nil {
5537		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5538	}
5539
5540	if invalidParams.Len() > 0 {
5541		return invalidParams
5542	}
5543	return nil
5544}
5545
5546// SetAccountId sets the AccountId field's value.
5547func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
5548	s.AccountId = &v
5549	return s
5550}
5551
5552// SetEmail sets the Email field's value.
5553func (s *AccountDetails) SetEmail(v string) *AccountDetails {
5554	s.Email = &v
5555	return s
5556}
5557
5558// Provides details about one of the following actions that were detected for
5559// the finding:
5560//
5561//    * A remote IP address issued an AWS API call
5562//
5563//    * A DNS request was received
5564//
5565//    * A remote IP address attempted to connect to an EC2 instance
5566//
5567//    * A remote IP address attempted a port probe on an EC2 instance
5568type Action struct {
5569	_ struct{} `type:"structure"`
5570
5571	// The type of action that was detected. The possible action types are:
5572	//
5573	//    * NETWORK_CONNECTION
5574	//
5575	//    * AWS_API_CALL
5576	//
5577	//    * DNS_REQUEST
5578	//
5579	//    * PORT_PROBE
5580	ActionType *string `type:"string"`
5581
5582	// Included if ActionType is AWS_API_CALL. Provides details about the API call
5583	// that was detected.
5584	AwsApiCallAction *AwsApiCallAction `type:"structure"`
5585
5586	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
5587	// that was detected.
5588	DnsRequestAction *DnsRequestAction `type:"structure"`
5589
5590	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
5591	// network connection that was detected.
5592	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
5593
5594	// Included if ActionType is PORT_PROBE. Provides details about the port probe
5595	// that was detected.
5596	PortProbeAction *PortProbeAction `type:"structure"`
5597}
5598
5599// String returns the string representation
5600func (s Action) String() string {
5601	return awsutil.Prettify(s)
5602}
5603
5604// GoString returns the string representation
5605func (s Action) GoString() string {
5606	return s.String()
5607}
5608
5609// SetActionType sets the ActionType field's value.
5610func (s *Action) SetActionType(v string) *Action {
5611	s.ActionType = &v
5612	return s
5613}
5614
5615// SetAwsApiCallAction sets the AwsApiCallAction field's value.
5616func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
5617	s.AwsApiCallAction = v
5618	return s
5619}
5620
5621// SetDnsRequestAction sets the DnsRequestAction field's value.
5622func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
5623	s.DnsRequestAction = v
5624	return s
5625}
5626
5627// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
5628func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
5629	s.NetworkConnectionAction = v
5630	return s
5631}
5632
5633// SetPortProbeAction sets the PortProbeAction field's value.
5634func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
5635	s.PortProbeAction = v
5636	return s
5637}
5638
5639// Provides information about the IP address where the scanned port is located.
5640type ActionLocalIpDetails struct {
5641	_ struct{} `type:"structure"`
5642
5643	// The IP address.
5644	IpAddressV4 *string `type:"string"`
5645}
5646
5647// String returns the string representation
5648func (s ActionLocalIpDetails) String() string {
5649	return awsutil.Prettify(s)
5650}
5651
5652// GoString returns the string representation
5653func (s ActionLocalIpDetails) GoString() string {
5654	return s.String()
5655}
5656
5657// SetIpAddressV4 sets the IpAddressV4 field's value.
5658func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
5659	s.IpAddressV4 = &v
5660	return s
5661}
5662
5663// For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
5664// information about the local port that was involved in the action.
5665type ActionLocalPortDetails struct {
5666	_ struct{} `type:"structure"`
5667
5668	// The number of the port.
5669	Port *int64 `type:"integer"`
5670
5671	// The port name of the local connection.
5672	PortName *string `type:"string"`
5673}
5674
5675// String returns the string representation
5676func (s ActionLocalPortDetails) String() string {
5677	return awsutil.Prettify(s)
5678}
5679
5680// GoString returns the string representation
5681func (s ActionLocalPortDetails) GoString() string {
5682	return s.String()
5683}
5684
5685// SetPort sets the Port field's value.
5686func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
5687	s.Port = &v
5688	return s
5689}
5690
5691// SetPortName sets the PortName field's value.
5692func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
5693	s.PortName = &v
5694	return s
5695}
5696
5697// For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
5698// provides information about the remote IP address that was involved in the
5699// action.
5700type ActionRemoteIpDetails struct {
5701	_ struct{} `type:"structure"`
5702
5703	// The city where the remote IP address is located.
5704	City *City `type:"structure"`
5705
5706	// The country where the remote IP address is located.
5707	Country *Country `type:"structure"`
5708
5709	// The coordinates of the location of the remote IP address.
5710	GeoLocation *GeoLocation `type:"structure"`
5711
5712	// The IP address.
5713	IpAddressV4 *string `type:"string"`
5714
5715	// The internet service provider (ISP) organization associated with the remote
5716	// IP address.
5717	Organization *IpOrganizationDetails `type:"structure"`
5718}
5719
5720// String returns the string representation
5721func (s ActionRemoteIpDetails) String() string {
5722	return awsutil.Prettify(s)
5723}
5724
5725// GoString returns the string representation
5726func (s ActionRemoteIpDetails) GoString() string {
5727	return s.String()
5728}
5729
5730// SetCity sets the City field's value.
5731func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
5732	s.City = v
5733	return s
5734}
5735
5736// SetCountry sets the Country field's value.
5737func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
5738	s.Country = v
5739	return s
5740}
5741
5742// SetGeoLocation sets the GeoLocation field's value.
5743func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
5744	s.GeoLocation = v
5745	return s
5746}
5747
5748// SetIpAddressV4 sets the IpAddressV4 field's value.
5749func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
5750	s.IpAddressV4 = &v
5751	return s
5752}
5753
5754// SetOrganization sets the Organization field's value.
5755func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
5756	s.Organization = v
5757	return s
5758}
5759
5760// Provides information about the remote port that was involved in an attempted
5761// network connection.
5762type ActionRemotePortDetails struct {
5763	_ struct{} `type:"structure"`
5764
5765	// The number of the port.
5766	Port *int64 `type:"integer"`
5767
5768	// The port name of the remote connection.
5769	PortName *string `type:"string"`
5770}
5771
5772// String returns the string representation
5773func (s ActionRemotePortDetails) String() string {
5774	return awsutil.Prettify(s)
5775}
5776
5777// GoString returns the string representation
5778func (s ActionRemotePortDetails) GoString() string {
5779	return s.String()
5780}
5781
5782// SetPort sets the Port field's value.
5783func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
5784	s.Port = &v
5785	return s
5786}
5787
5788// SetPortName sets the PortName field's value.
5789func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
5790	s.PortName = &v
5791	return s
5792}
5793
5794// An ActionTarget object.
5795type ActionTarget struct {
5796	_ struct{} `type:"structure"`
5797
5798	// The ARN for the target action.
5799	//
5800	// ActionTargetArn is a required field
5801	ActionTargetArn *string `type:"string" required:"true"`
5802
5803	// The description of the target action.
5804	//
5805	// Description is a required field
5806	Description *string `type:"string" required:"true"`
5807
5808	// The name of the action target.
5809	//
5810	// Name is a required field
5811	Name *string `type:"string" required:"true"`
5812}
5813
5814// String returns the string representation
5815func (s ActionTarget) String() string {
5816	return awsutil.Prettify(s)
5817}
5818
5819// GoString returns the string representation
5820func (s ActionTarget) GoString() string {
5821	return s.String()
5822}
5823
5824// SetActionTargetArn sets the ActionTargetArn field's value.
5825func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
5826	s.ActionTargetArn = &v
5827	return s
5828}
5829
5830// SetDescription sets the Description field's value.
5831func (s *ActionTarget) SetDescription(v string) *ActionTarget {
5832	s.Description = &v
5833	return s
5834}
5835
5836// SetName sets the Name field's value.
5837func (s *ActionTarget) SetName(v string) *ActionTarget {
5838	s.Name = &v
5839	return s
5840}
5841
5842// Represents a Security Hub administrator account designated by an organization
5843// management account.
5844type AdminAccount struct {
5845	_ struct{} `type:"structure"`
5846
5847	// The AWS account identifier of the Security Hub administrator account.
5848	AccountId *string `type:"string"`
5849
5850	// The current status of the Security Hub administrator account. Indicates whether
5851	// the account is currently enabled as a Security Hub administrator.
5852	Status *string `type:"string" enum:"AdminStatus"`
5853}
5854
5855// String returns the string representation
5856func (s AdminAccount) String() string {
5857	return awsutil.Prettify(s)
5858}
5859
5860// GoString returns the string representation
5861func (s AdminAccount) GoString() string {
5862	return s.String()
5863}
5864
5865// SetAccountId sets the AccountId field's value.
5866func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
5867	s.AccountId = &v
5868	return s
5869}
5870
5871// SetStatus sets the Status field's value.
5872func (s *AdminAccount) SetStatus(v string) *AdminAccount {
5873	s.Status = &v
5874	return s
5875}
5876
5877// Information about an Availability Zone.
5878type AvailabilityZone struct {
5879	_ struct{} `type:"structure"`
5880
5881	// The ID of the subnet. You can specify one subnet per Availability Zone.
5882	SubnetId *string `type:"string"`
5883
5884	// The name of the Availability Zone.
5885	ZoneName *string `type:"string"`
5886}
5887
5888// String returns the string representation
5889func (s AvailabilityZone) String() string {
5890	return awsutil.Prettify(s)
5891}
5892
5893// GoString returns the string representation
5894func (s AvailabilityZone) GoString() string {
5895	return s.String()
5896}
5897
5898// SetSubnetId sets the SubnetId field's value.
5899func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
5900	s.SubnetId = &v
5901	return s
5902}
5903
5904// SetZoneName sets the ZoneName field's value.
5905func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
5906	s.ZoneName = &v
5907	return s
5908}
5909
5910// Provided if ActionType is AWS_API_CALL. It provides details about the API
5911// call that was detected.
5912type AwsApiCallAction struct {
5913	_ struct{} `type:"structure"`
5914
5915	// Identifies the resources that were affected by the API call.
5916	AffectedResources map[string]*string `type:"map"`
5917
5918	// The name of the API method that was issued.
5919	Api *string `type:"string"`
5920
5921	// Indicates whether the API call originated from a remote IP address (remoteip)
5922	// or from a DNS domain (domain).
5923	CallerType *string `type:"string"`
5924
5925	// Provided if CallerType is domain. Provides information about the DNS domain
5926	// that the API call originated from.
5927	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
5928
5929	// An ISO8601-formatted timestamp that indicates when the API call was first
5930	// observed.
5931	FirstSeen *string `type:"string"`
5932
5933	// An ISO8601-formatted timestamp that indicates when the API call was most
5934	// recently observed.
5935	LastSeen *string `type:"string"`
5936
5937	// Provided if CallerType is remoteIp. Provides information about the remote
5938	// IP address that the API call originated from.
5939	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
5940
5941	// The name of the AWS service that the API method belongs to.
5942	ServiceName *string `type:"string"`
5943}
5944
5945// String returns the string representation
5946func (s AwsApiCallAction) String() string {
5947	return awsutil.Prettify(s)
5948}
5949
5950// GoString returns the string representation
5951func (s AwsApiCallAction) GoString() string {
5952	return s.String()
5953}
5954
5955// SetAffectedResources sets the AffectedResources field's value.
5956func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
5957	s.AffectedResources = v
5958	return s
5959}
5960
5961// SetApi sets the Api field's value.
5962func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
5963	s.Api = &v
5964	return s
5965}
5966
5967// SetCallerType sets the CallerType field's value.
5968func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
5969	s.CallerType = &v
5970	return s
5971}
5972
5973// SetDomainDetails sets the DomainDetails field's value.
5974func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
5975	s.DomainDetails = v
5976	return s
5977}
5978
5979// SetFirstSeen sets the FirstSeen field's value.
5980func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
5981	s.FirstSeen = &v
5982	return s
5983}
5984
5985// SetLastSeen sets the LastSeen field's value.
5986func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
5987	s.LastSeen = &v
5988	return s
5989}
5990
5991// SetRemoteIpDetails sets the RemoteIpDetails field's value.
5992func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
5993	s.RemoteIpDetails = v
5994	return s
5995}
5996
5997// SetServiceName sets the ServiceName field's value.
5998func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
5999	s.ServiceName = &v
6000	return s
6001}
6002
6003// Provided if CallerType is domain. It provides information about the DNS domain
6004// that issued the API call.
6005type AwsApiCallActionDomainDetails struct {
6006	_ struct{} `type:"structure"`
6007
6008	// The name of the DNS domain that issued the API call.
6009	Domain *string `type:"string"`
6010}
6011
6012// String returns the string representation
6013func (s AwsApiCallActionDomainDetails) String() string {
6014	return awsutil.Prettify(s)
6015}
6016
6017// GoString returns the string representation
6018func (s AwsApiCallActionDomainDetails) GoString() string {
6019	return s.String()
6020}
6021
6022// SetDomain sets the Domain field's value.
6023func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
6024	s.Domain = &v
6025	return s
6026}
6027
6028// Contains information about settings for logging access for the stage.
6029type AwsApiGatewayAccessLogSettings struct {
6030	_ struct{} `type:"structure"`
6031
6032	// The ARN of the CloudWatch Logs log group that receives the access logs.
6033	DestinationArn *string `type:"string"`
6034
6035	// A single-line format of the access logs of data, as specified by selected
6036	// $context variables. The format must include at least $context.requestId.
6037	Format *string `type:"string"`
6038}
6039
6040// String returns the string representation
6041func (s AwsApiGatewayAccessLogSettings) String() string {
6042	return awsutil.Prettify(s)
6043}
6044
6045// GoString returns the string representation
6046func (s AwsApiGatewayAccessLogSettings) GoString() string {
6047	return s.String()
6048}
6049
6050// SetDestinationArn sets the DestinationArn field's value.
6051func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
6052	s.DestinationArn = &v
6053	return s
6054}
6055
6056// SetFormat sets the Format field's value.
6057func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
6058	s.Format = &v
6059	return s
6060}
6061
6062// Contains information about settings for canary deployment in the stage.
6063type AwsApiGatewayCanarySettings struct {
6064	_ struct{} `type:"structure"`
6065
6066	// The deployment identifier for the canary deployment.
6067	DeploymentId *string `type:"string"`
6068
6069	// The percentage of traffic that is diverted to a canary deployment.
6070	PercentTraffic *float64 `type:"double"`
6071
6072	// Stage variables that are overridden in the canary release deployment. The
6073	// variables include new stage variables that are introduced in the canary.
6074	//
6075	// Each variable is represented as a string-to-string map between the stage
6076	// variable name and the variable value.
6077	StageVariableOverrides map[string]*string `type:"map"`
6078
6079	// Indicates whether the canary deployment uses the stage cache.
6080	UseStageCache *bool `type:"boolean"`
6081}
6082
6083// String returns the string representation
6084func (s AwsApiGatewayCanarySettings) String() string {
6085	return awsutil.Prettify(s)
6086}
6087
6088// GoString returns the string representation
6089func (s AwsApiGatewayCanarySettings) GoString() string {
6090	return s.String()
6091}
6092
6093// SetDeploymentId sets the DeploymentId field's value.
6094func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
6095	s.DeploymentId = &v
6096	return s
6097}
6098
6099// SetPercentTraffic sets the PercentTraffic field's value.
6100func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
6101	s.PercentTraffic = &v
6102	return s
6103}
6104
6105// SetStageVariableOverrides sets the StageVariableOverrides field's value.
6106func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
6107	s.StageVariableOverrides = v
6108	return s
6109}
6110
6111// SetUseStageCache sets the UseStageCache field's value.
6112func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
6113	s.UseStageCache = &v
6114	return s
6115}
6116
6117// Contains information about the endpoints for the API.
6118type AwsApiGatewayEndpointConfiguration struct {
6119	_ struct{} `type:"structure"`
6120
6121	// A list of endpoint types for the REST API.
6122	//
6123	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
6124	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
6125	Types []*string `type:"list"`
6126}
6127
6128// String returns the string representation
6129func (s AwsApiGatewayEndpointConfiguration) String() string {
6130	return awsutil.Prettify(s)
6131}
6132
6133// GoString returns the string representation
6134func (s AwsApiGatewayEndpointConfiguration) GoString() string {
6135	return s.String()
6136}
6137
6138// SetTypes sets the Types field's value.
6139func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
6140	s.Types = v
6141	return s
6142}
6143
6144// Defines settings for a method for the stage.
6145type AwsApiGatewayMethodSettings struct {
6146	_ struct{} `type:"structure"`
6147
6148	// Indicates whether the cached responses are encrypted.
6149	CacheDataEncrypted *bool `type:"boolean"`
6150
6151	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
6152	// the TTL, the longer the response is cached.
6153	CacheTtlInSeconds *int64 `type:"integer"`
6154
6155	// Indicates whether responses are cached and returned for requests. For responses
6156	// to be cached, a cache cluster must be enabled on the stage.
6157	CachingEnabled *bool `type:"boolean"`
6158
6159	// Indicates whether data trace logging is enabled for the method. Data trace
6160	// logging affects the log entries that are pushed to CloudWatch Logs.
6161	DataTraceEnabled *bool `type:"boolean"`
6162
6163	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
6164	// settings to multiple methods.
6165	HttpMethod *string `type:"string"`
6166
6167	// The logging level for this method. The logging level affects the log entries
6168	// that are pushed to CloudWatch Logs.
6169	//
6170	// If the logging level is ERROR, then the logs only include error-level entries.
6171	//
6172	// If the logging level is INFO, then the logs include both ERROR events and
6173	// extra informational events.
6174	//
6175	// Valid values: OFF | ERROR | INFO
6176	LoggingLevel *string `type:"string"`
6177
6178	// Indicates whether CloudWatch metrics are enabled for the method.
6179	MetricsEnabled *bool `type:"boolean"`
6180
6181	// Indicates whether authorization is required for a cache invalidation request.
6182	RequireAuthorizationForCacheControl *bool `type:"boolean"`
6183
6184	// The resource path for this method. Forward slashes (/) are encoded as ~1
6185	// . The initial slash must include a forward slash.
6186	//
6187	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
6188	//
6189	// To specify the root path, use only a slash (/). You can use an asterisk (*)
6190	// as a wildcard to apply method settings to multiple methods.
6191	ResourcePath *string `type:"string"`
6192
6193	// The throttling burst limit for the method.
6194	ThrottlingBurstLimit *int64 `type:"integer"`
6195
6196	// The throttling rate limit for the method.
6197	ThrottlingRateLimit *float64 `type:"double"`
6198
6199	// Indicates how to handle unauthorized requests for cache invalidation.
6200	//
6201	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
6202	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
6203}
6204
6205// String returns the string representation
6206func (s AwsApiGatewayMethodSettings) String() string {
6207	return awsutil.Prettify(s)
6208}
6209
6210// GoString returns the string representation
6211func (s AwsApiGatewayMethodSettings) GoString() string {
6212	return s.String()
6213}
6214
6215// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
6216func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
6217	s.CacheDataEncrypted = &v
6218	return s
6219}
6220
6221// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
6222func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
6223	s.CacheTtlInSeconds = &v
6224	return s
6225}
6226
6227// SetCachingEnabled sets the CachingEnabled field's value.
6228func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
6229	s.CachingEnabled = &v
6230	return s
6231}
6232
6233// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6234func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
6235	s.DataTraceEnabled = &v
6236	return s
6237}
6238
6239// SetHttpMethod sets the HttpMethod field's value.
6240func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
6241	s.HttpMethod = &v
6242	return s
6243}
6244
6245// SetLoggingLevel sets the LoggingLevel field's value.
6246func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
6247	s.LoggingLevel = &v
6248	return s
6249}
6250
6251// SetMetricsEnabled sets the MetricsEnabled field's value.
6252func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
6253	s.MetricsEnabled = &v
6254	return s
6255}
6256
6257// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
6258func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
6259	s.RequireAuthorizationForCacheControl = &v
6260	return s
6261}
6262
6263// SetResourcePath sets the ResourcePath field's value.
6264func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
6265	s.ResourcePath = &v
6266	return s
6267}
6268
6269// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6270func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
6271	s.ThrottlingBurstLimit = &v
6272	return s
6273}
6274
6275// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6276func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
6277	s.ThrottlingRateLimit = &v
6278	return s
6279}
6280
6281// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
6282func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
6283	s.UnauthorizedCacheControlHeaderStrategy = &v
6284	return s
6285}
6286
6287// contains information about a REST API in version 1 of Amazon API Gateway.
6288type AwsApiGatewayRestApiDetails struct {
6289	_ struct{} `type:"structure"`
6290
6291	// The source of the API key for metering requests according to a usage plan.
6292	//
6293	// HEADER indicates whether to read the API key from the X-API-Key header of
6294	// a request.
6295	//
6296	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
6297	// from a custom authorizer.
6298	ApiKeySource *string `type:"string"`
6299
6300	// The list of binary media types supported by the REST API.
6301	BinaryMediaTypes []*string `type:"list"`
6302
6303	// Indicates when the API was created.
6304	//
6305	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6306	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6307	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6308	CreatedDate *string `type:"string"`
6309
6310	// A description of the REST API.
6311	Description *string `type:"string"`
6312
6313	// The endpoint configuration of the REST API.
6314	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
6315
6316	// The identifier of the REST API.
6317	Id *string `type:"string"`
6318
6319	// The minimum size in bytes of a payload before compression is enabled.
6320	//
6321	// If null, then compression is disabled.
6322	//
6323	// If 0, then all payloads are compressed.
6324	MinimumCompressionSize *int64 `type:"integer"`
6325
6326	// The name of the REST API.
6327	Name *string `type:"string"`
6328
6329	// The version identifier for the REST API.
6330	Version *string `type:"string"`
6331}
6332
6333// String returns the string representation
6334func (s AwsApiGatewayRestApiDetails) String() string {
6335	return awsutil.Prettify(s)
6336}
6337
6338// GoString returns the string representation
6339func (s AwsApiGatewayRestApiDetails) GoString() string {
6340	return s.String()
6341}
6342
6343// SetApiKeySource sets the ApiKeySource field's value.
6344func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
6345	s.ApiKeySource = &v
6346	return s
6347}
6348
6349// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
6350func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
6351	s.BinaryMediaTypes = v
6352	return s
6353}
6354
6355// SetCreatedDate sets the CreatedDate field's value.
6356func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
6357	s.CreatedDate = &v
6358	return s
6359}
6360
6361// SetDescription sets the Description field's value.
6362func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
6363	s.Description = &v
6364	return s
6365}
6366
6367// SetEndpointConfiguration sets the EndpointConfiguration field's value.
6368func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
6369	s.EndpointConfiguration = v
6370	return s
6371}
6372
6373// SetId sets the Id field's value.
6374func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
6375	s.Id = &v
6376	return s
6377}
6378
6379// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
6380func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
6381	s.MinimumCompressionSize = &v
6382	return s
6383}
6384
6385// SetName sets the Name field's value.
6386func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
6387	s.Name = &v
6388	return s
6389}
6390
6391// SetVersion sets the Version field's value.
6392func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
6393	s.Version = &v
6394	return s
6395}
6396
6397// Provides information about a version 1 Amazon API Gateway stage.
6398type AwsApiGatewayStageDetails struct {
6399	_ struct{} `type:"structure"`
6400
6401	// Settings for logging access for the stage.
6402	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6403
6404	// Indicates whether a cache cluster is enabled for the stage.
6405	CacheClusterEnabled *bool `type:"boolean"`
6406
6407	// If a cache cluster is enabled, the size of the cache cluster.
6408	CacheClusterSize *string `type:"string"`
6409
6410	// If a cache cluster is enabled, the status of the cache cluster.
6411	CacheClusterStatus *string `type:"string"`
6412
6413	// Information about settings for canary deployment in the stage.
6414	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
6415
6416	// The identifier of the client certificate for the stage.
6417	ClientCertificateId *string `type:"string"`
6418
6419	// Indicates when the stage was created.
6420	//
6421	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6422	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6423	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6424	CreatedDate *string `type:"string"`
6425
6426	// The identifier of the deployment that the stage points to.
6427	DeploymentId *string `type:"string"`
6428
6429	// A description of the stage.
6430	Description *string `type:"string"`
6431
6432	// The version of the API documentation that is associated with the stage.
6433	DocumentationVersion *string `type:"string"`
6434
6435	// Indicates when the stage was most recently updated.
6436	//
6437	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6438	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6439	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6440	LastUpdatedDate *string `type:"string"`
6441
6442	// Defines the method settings for the stage.
6443	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
6444
6445	// The name of the stage.
6446	StageName *string `type:"string"`
6447
6448	// Indicates whether active tracing with AWS X-Ray is enabled for the stage.
6449	TracingEnabled *bool `type:"boolean"`
6450
6451	// A map that defines the stage variables for the stage.
6452	//
6453	// Variable names can have alphanumeric and underscore characters.
6454	//
6455	// Variable values can contain the following characters:
6456	//
6457	//    * Uppercase and lowercase letters
6458	//
6459	//    * Numbers
6460	//
6461	//    * Special characters -._~:/?#&=,
6462	Variables map[string]*string `type:"map"`
6463
6464	// The ARN of the web ACL associated with the stage.
6465	WebAclArn *string `type:"string"`
6466}
6467
6468// String returns the string representation
6469func (s AwsApiGatewayStageDetails) String() string {
6470	return awsutil.Prettify(s)
6471}
6472
6473// GoString returns the string representation
6474func (s AwsApiGatewayStageDetails) GoString() string {
6475	return s.String()
6476}
6477
6478// SetAccessLogSettings sets the AccessLogSettings field's value.
6479func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
6480	s.AccessLogSettings = v
6481	return s
6482}
6483
6484// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
6485func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
6486	s.CacheClusterEnabled = &v
6487	return s
6488}
6489
6490// SetCacheClusterSize sets the CacheClusterSize field's value.
6491func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
6492	s.CacheClusterSize = &v
6493	return s
6494}
6495
6496// SetCacheClusterStatus sets the CacheClusterStatus field's value.
6497func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
6498	s.CacheClusterStatus = &v
6499	return s
6500}
6501
6502// SetCanarySettings sets the CanarySettings field's value.
6503func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
6504	s.CanarySettings = v
6505	return s
6506}
6507
6508// SetClientCertificateId sets the ClientCertificateId field's value.
6509func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
6510	s.ClientCertificateId = &v
6511	return s
6512}
6513
6514// SetCreatedDate sets the CreatedDate field's value.
6515func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
6516	s.CreatedDate = &v
6517	return s
6518}
6519
6520// SetDeploymentId sets the DeploymentId field's value.
6521func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
6522	s.DeploymentId = &v
6523	return s
6524}
6525
6526// SetDescription sets the Description field's value.
6527func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
6528	s.Description = &v
6529	return s
6530}
6531
6532// SetDocumentationVersion sets the DocumentationVersion field's value.
6533func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
6534	s.DocumentationVersion = &v
6535	return s
6536}
6537
6538// SetLastUpdatedDate sets the LastUpdatedDate field's value.
6539func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
6540	s.LastUpdatedDate = &v
6541	return s
6542}
6543
6544// SetMethodSettings sets the MethodSettings field's value.
6545func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
6546	s.MethodSettings = v
6547	return s
6548}
6549
6550// SetStageName sets the StageName field's value.
6551func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
6552	s.StageName = &v
6553	return s
6554}
6555
6556// SetTracingEnabled sets the TracingEnabled field's value.
6557func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
6558	s.TracingEnabled = &v
6559	return s
6560}
6561
6562// SetVariables sets the Variables field's value.
6563func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
6564	s.Variables = v
6565	return s
6566}
6567
6568// SetWebAclArn sets the WebAclArn field's value.
6569func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
6570	s.WebAclArn = &v
6571	return s
6572}
6573
6574// Contains information about a version 2 API in Amazon API Gateway.
6575type AwsApiGatewayV2ApiDetails struct {
6576	_ struct{} `type:"structure"`
6577
6578	// The URI of the API.
6579	//
6580	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
6581	//
6582	// The stage name is typically appended to the URI to form a complete path to
6583	// a deployed API stage.
6584	ApiEndpoint *string `type:"string"`
6585
6586	// The identifier of the API.
6587	ApiId *string `type:"string"`
6588
6589	// An API key selection expression. Supported only for WebSocket APIs.
6590	ApiKeySelectionExpression *string `type:"string"`
6591
6592	// A cross-origin resource sharing (CORS) configuration. Supported only for
6593	// HTTP APIs.
6594	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
6595
6596	// Indicates when the API was created.
6597	//
6598	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6599	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6600	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6601	CreatedDate *string `type:"string"`
6602
6603	// A description of the API.
6604	Description *string `type:"string"`
6605
6606	// The name of the API.
6607	Name *string `type:"string"`
6608
6609	// The API protocol for the API.
6610	//
6611	// Valid values: WEBSOCKET | HTTP
6612	ProtocolType *string `type:"string"`
6613
6614	// The route selection expression for the API.
6615	//
6616	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
6617	// value for HTTP APIs.
6618	//
6619	// For WebSocket APIs, there is no default value.
6620	RouteSelectionExpression *string `type:"string"`
6621
6622	// The version identifier for the API.
6623	Version *string `type:"string"`
6624}
6625
6626// String returns the string representation
6627func (s AwsApiGatewayV2ApiDetails) String() string {
6628	return awsutil.Prettify(s)
6629}
6630
6631// GoString returns the string representation
6632func (s AwsApiGatewayV2ApiDetails) GoString() string {
6633	return s.String()
6634}
6635
6636// SetApiEndpoint sets the ApiEndpoint field's value.
6637func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
6638	s.ApiEndpoint = &v
6639	return s
6640}
6641
6642// SetApiId sets the ApiId field's value.
6643func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
6644	s.ApiId = &v
6645	return s
6646}
6647
6648// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
6649func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
6650	s.ApiKeySelectionExpression = &v
6651	return s
6652}
6653
6654// SetCorsConfiguration sets the CorsConfiguration field's value.
6655func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
6656	s.CorsConfiguration = v
6657	return s
6658}
6659
6660// SetCreatedDate sets the CreatedDate field's value.
6661func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
6662	s.CreatedDate = &v
6663	return s
6664}
6665
6666// SetDescription sets the Description field's value.
6667func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
6668	s.Description = &v
6669	return s
6670}
6671
6672// SetName sets the Name field's value.
6673func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
6674	s.Name = &v
6675	return s
6676}
6677
6678// SetProtocolType sets the ProtocolType field's value.
6679func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
6680	s.ProtocolType = &v
6681	return s
6682}
6683
6684// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
6685func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
6686	s.RouteSelectionExpression = &v
6687	return s
6688}
6689
6690// SetVersion sets the Version field's value.
6691func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
6692	s.Version = &v
6693	return s
6694}
6695
6696// Contains route settings for a stage.
6697type AwsApiGatewayV2RouteSettings struct {
6698	_ struct{} `type:"structure"`
6699
6700	// Indicates whether data trace logging is enabled. Data trace logging affects
6701	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
6702	// APIs.
6703	DataTraceEnabled *bool `type:"boolean"`
6704
6705	// Indicates whether detailed metrics are enabled.
6706	DetailedMetricsEnabled *bool `type:"boolean"`
6707
6708	// The logging level. The logging level affects the log entries that are pushed
6709	// to CloudWatch Logs. Supported only for WebSocket APIs.
6710	//
6711	// If the logging level is ERROR, then the logs only include error-level entries.
6712	//
6713	// If the logging level is INFO, then the logs include both ERROR events and
6714	// extra informational events.
6715	//
6716	// Valid values: OFF | ERROR | INFO
6717	LoggingLevel *string `type:"string"`
6718
6719	// The throttling burst limit.
6720	ThrottlingBurstLimit *int64 `type:"integer"`
6721
6722	// The throttling rate limit.
6723	ThrottlingRateLimit *float64 `type:"double"`
6724}
6725
6726// String returns the string representation
6727func (s AwsApiGatewayV2RouteSettings) String() string {
6728	return awsutil.Prettify(s)
6729}
6730
6731// GoString returns the string representation
6732func (s AwsApiGatewayV2RouteSettings) GoString() string {
6733	return s.String()
6734}
6735
6736// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6737func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
6738	s.DataTraceEnabled = &v
6739	return s
6740}
6741
6742// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
6743func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
6744	s.DetailedMetricsEnabled = &v
6745	return s
6746}
6747
6748// SetLoggingLevel sets the LoggingLevel field's value.
6749func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
6750	s.LoggingLevel = &v
6751	return s
6752}
6753
6754// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6755func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
6756	s.ThrottlingBurstLimit = &v
6757	return s
6758}
6759
6760// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6761func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
6762	s.ThrottlingRateLimit = &v
6763	return s
6764}
6765
6766// Contains information about a version 2 stage for Amazon API Gateway.
6767type AwsApiGatewayV2StageDetails struct {
6768	_ struct{} `type:"structure"`
6769
6770	// Information about settings for logging access for the stage.
6771	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6772
6773	// Indicates whether the stage is managed by API Gateway.
6774	ApiGatewayManaged *bool `type:"boolean"`
6775
6776	// Indicates whether updates to an API automatically trigger a new deployment.
6777	AutoDeploy *bool `type:"boolean"`
6778
6779	// Indicates when the stage was created.
6780	//
6781	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6782	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6783	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6784	CreatedDate *string `type:"string"`
6785
6786	// Default route settings for the stage.
6787	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
6788
6789	// The identifier of the deployment that the stage is associated with.
6790	DeploymentId *string `type:"string"`
6791
6792	// The description of the stage.
6793	Description *string `type:"string"`
6794
6795	// The status of the last deployment of a stage. Supported only if the stage
6796	// has automatic deployment enabled.
6797	LastDeploymentStatusMessage *string `type:"string"`
6798
6799	// Indicates when the stage was most recently updated.
6800	//
6801	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6802	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6803	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6804	LastUpdatedDate *string `type:"string"`
6805
6806	// The route settings for the stage.
6807	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
6808
6809	// The name of the stage.
6810	StageName *string `type:"string"`
6811
6812	// A map that defines the stage variables for the stage.
6813	//
6814	// Variable names can have alphanumeric and underscore characters.
6815	//
6816	// Variable values can contain the following characters:
6817	//
6818	//    * Uppercase and lowercase letters
6819	//
6820	//    * Numbers
6821	//
6822	//    * Special characters -._~:/?#&=,
6823	StageVariables map[string]*string `type:"map"`
6824}
6825
6826// String returns the string representation
6827func (s AwsApiGatewayV2StageDetails) String() string {
6828	return awsutil.Prettify(s)
6829}
6830
6831// GoString returns the string representation
6832func (s AwsApiGatewayV2StageDetails) GoString() string {
6833	return s.String()
6834}
6835
6836// SetAccessLogSettings sets the AccessLogSettings field's value.
6837func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
6838	s.AccessLogSettings = v
6839	return s
6840}
6841
6842// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
6843func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
6844	s.ApiGatewayManaged = &v
6845	return s
6846}
6847
6848// SetAutoDeploy sets the AutoDeploy field's value.
6849func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
6850	s.AutoDeploy = &v
6851	return s
6852}
6853
6854// SetCreatedDate sets the CreatedDate field's value.
6855func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
6856	s.CreatedDate = &v
6857	return s
6858}
6859
6860// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
6861func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
6862	s.DefaultRouteSettings = v
6863	return s
6864}
6865
6866// SetDeploymentId sets the DeploymentId field's value.
6867func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
6868	s.DeploymentId = &v
6869	return s
6870}
6871
6872// SetDescription sets the Description field's value.
6873func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
6874	s.Description = &v
6875	return s
6876}
6877
6878// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
6879func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
6880	s.LastDeploymentStatusMessage = &v
6881	return s
6882}
6883
6884// SetLastUpdatedDate sets the LastUpdatedDate field's value.
6885func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
6886	s.LastUpdatedDate = &v
6887	return s
6888}
6889
6890// SetRouteSettings sets the RouteSettings field's value.
6891func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
6892	s.RouteSettings = v
6893	return s
6894}
6895
6896// SetStageName sets the StageName field's value.
6897func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
6898	s.StageName = &v
6899	return s
6900}
6901
6902// SetStageVariables sets the StageVariables field's value.
6903func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
6904	s.StageVariables = v
6905	return s
6906}
6907
6908// Provides details about an auto scaling group.
6909type AwsAutoScalingAutoScalingGroupDetails struct {
6910	_ struct{} `type:"structure"`
6911
6912	// Indicates when the auto scaling group was created.
6913	//
6914	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6915	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6916	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6917	CreatedTime *string `type:"string"`
6918
6919	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
6920	// it checks the health status of an EC2 instance that has come into service.
6921	HealthCheckGracePeriod *int64 `type:"integer"`
6922
6923	// The service to use for the health checks.
6924	HealthCheckType *string `type:"string"`
6925
6926	// The name of the launch configuration.
6927	LaunchConfigurationName *string `type:"string"`
6928
6929	// The list of load balancers associated with the group.
6930	LoadBalancerNames []*string `type:"list"`
6931}
6932
6933// String returns the string representation
6934func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
6935	return awsutil.Prettify(s)
6936}
6937
6938// GoString returns the string representation
6939func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
6940	return s.String()
6941}
6942
6943// SetCreatedTime sets the CreatedTime field's value.
6944func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
6945	s.CreatedTime = &v
6946	return s
6947}
6948
6949// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
6950func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
6951	s.HealthCheckGracePeriod = &v
6952	return s
6953}
6954
6955// SetHealthCheckType sets the HealthCheckType field's value.
6956func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
6957	s.HealthCheckType = &v
6958	return s
6959}
6960
6961// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
6962func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
6963	s.LaunchConfigurationName = &v
6964	return s
6965}
6966
6967// SetLoadBalancerNames sets the LoadBalancerNames field's value.
6968func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
6969	s.LoadBalancerNames = v
6970	return s
6971}
6972
6973// Provides details about an AWS Certificate Manager certificate.
6974type AwsCertificateManagerCertificateDetails struct {
6975	_ struct{} `type:"structure"`
6976
6977	// The ARN of the private certificate authority (CA) that will be used to issue
6978	// the certificate.
6979	CertificateAuthorityArn *string `type:"string"`
6980
6981	// Indicates when the certificate was requested.
6982	//
6983	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6984	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6985	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6986	CreatedAt *string `type:"string"`
6987
6988	// The fully qualified domain name (FQDN), such as www.example.com, that is
6989	// secured by the certificate.
6990	DomainName *string `type:"string"`
6991
6992	// Contains information about the initial validation of each domain name that
6993	// occurs as a result of the RequestCertificate request.
6994	//
6995	// Only provided if the certificate type is AMAZON_ISSUED.
6996	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
6997
6998	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
6999	// specifies a purpose for which the certificate public key can be used and
7000	// consists of a name and an object identifier (OID).
7001	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
7002
7003	// For a failed certificate request, the reason for the failure.
7004	//
7005	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7006	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7007	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7008	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7009	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7010	FailureReason *string `type:"string"`
7011
7012	// Indicates when the certificate was imported. Provided if the certificate
7013	// type is IMPORTED.
7014	//
7015	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7016	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7017	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7018	ImportedAt *string `type:"string"`
7019
7020	// The list of ARNs for the AWS resources that use the certificate.
7021	InUseBy []*string `type:"list"`
7022
7023	// Indicates when the certificate was issued. Provided if the certificate type
7024	// is AMAZON_ISSUED.
7025	//
7026	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7027	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7028	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7029	IssuedAt *string `type:"string"`
7030
7031	// The name of the certificate authority that issued and signed the certificate.
7032	Issuer *string `type:"string"`
7033
7034	// The algorithm that was used to generate the public-private key pair.
7035	//
7036	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
7037	// | EC_secp521r1
7038	KeyAlgorithm *string `type:"string"`
7039
7040	// A list of key usage X.509 v3 extension objects.
7041	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
7042
7043	// The time after which the certificate becomes invalid.
7044	//
7045	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7046	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7047	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7048	NotAfter *string `type:"string"`
7049
7050	// The time before which the certificate is not valid.
7051	//
7052	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7053	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7054	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7055	NotBefore *string `type:"string"`
7056
7057	// Provides a value that specifies whether to add the certificate to a transparency
7058	// log.
7059	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
7060
7061	// Whether the certificate is eligible for renewal.
7062	//
7063	// Valid values: ELIGIBLE | INELIGIBLE
7064	RenewalEligibility *string `type:"string"`
7065
7066	// Information about the status of the AWS Certificate Manager managed renewal
7067	// for the certificate. Provided only when the certificate type is AMAZON_ISSUED.
7068	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
7069
7070	// The serial number of the certificate.
7071	Serial *string `type:"string"`
7072
7073	// The algorithm that was used to sign the certificate.
7074	SignatureAlgorithm *string `type:"string"`
7075
7076	// The status of the certificate.
7077	//
7078	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
7079	// | REVOKED | FAILED
7080	Status *string `type:"string"`
7081
7082	// The name of the entity that is associated with the public key contained in
7083	// the certificate.
7084	Subject *string `type:"string"`
7085
7086	// One or more domain names (subject alternative names) included in the certificate.
7087	// This list contains the domain names that are bound to the public key that
7088	// is contained in the certificate.
7089	//
7090	// The subject alternative names include the canonical domain name (CN) of the
7091	// certificate and additional domain names that can be used to connect to the
7092	// website.
7093	SubjectAlternativeNames []*string `type:"list"`
7094
7095	// The source of the certificate. For certificates that AWS Certificate Manager
7096	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
7097	// ImportCertificate, Type is IMPORTED.
7098	//
7099	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
7100	Type *string `type:"string"`
7101}
7102
7103// String returns the string representation
7104func (s AwsCertificateManagerCertificateDetails) String() string {
7105	return awsutil.Prettify(s)
7106}
7107
7108// GoString returns the string representation
7109func (s AwsCertificateManagerCertificateDetails) GoString() string {
7110	return s.String()
7111}
7112
7113// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
7114func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
7115	s.CertificateAuthorityArn = &v
7116	return s
7117}
7118
7119// SetCreatedAt sets the CreatedAt field's value.
7120func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
7121	s.CreatedAt = &v
7122	return s
7123}
7124
7125// SetDomainName sets the DomainName field's value.
7126func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
7127	s.DomainName = &v
7128	return s
7129}
7130
7131// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7132func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
7133	s.DomainValidationOptions = v
7134	return s
7135}
7136
7137// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
7138func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
7139	s.ExtendedKeyUsages = v
7140	return s
7141}
7142
7143// SetFailureReason sets the FailureReason field's value.
7144func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
7145	s.FailureReason = &v
7146	return s
7147}
7148
7149// SetImportedAt sets the ImportedAt field's value.
7150func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
7151	s.ImportedAt = &v
7152	return s
7153}
7154
7155// SetInUseBy sets the InUseBy field's value.
7156func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
7157	s.InUseBy = v
7158	return s
7159}
7160
7161// SetIssuedAt sets the IssuedAt field's value.
7162func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
7163	s.IssuedAt = &v
7164	return s
7165}
7166
7167// SetIssuer sets the Issuer field's value.
7168func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
7169	s.Issuer = &v
7170	return s
7171}
7172
7173// SetKeyAlgorithm sets the KeyAlgorithm field's value.
7174func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7175	s.KeyAlgorithm = &v
7176	return s
7177}
7178
7179// SetKeyUsages sets the KeyUsages field's value.
7180func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
7181	s.KeyUsages = v
7182	return s
7183}
7184
7185// SetNotAfter sets the NotAfter field's value.
7186func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
7187	s.NotAfter = &v
7188	return s
7189}
7190
7191// SetNotBefore sets the NotBefore field's value.
7192func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
7193	s.NotBefore = &v
7194	return s
7195}
7196
7197// SetOptions sets the Options field's value.
7198func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
7199	s.Options = v
7200	return s
7201}
7202
7203// SetRenewalEligibility sets the RenewalEligibility field's value.
7204func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
7205	s.RenewalEligibility = &v
7206	return s
7207}
7208
7209// SetRenewalSummary sets the RenewalSummary field's value.
7210func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
7211	s.RenewalSummary = v
7212	return s
7213}
7214
7215// SetSerial sets the Serial field's value.
7216func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
7217	s.Serial = &v
7218	return s
7219}
7220
7221// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
7222func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7223	s.SignatureAlgorithm = &v
7224	return s
7225}
7226
7227// SetStatus sets the Status field's value.
7228func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
7229	s.Status = &v
7230	return s
7231}
7232
7233// SetSubject sets the Subject field's value.
7234func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
7235	s.Subject = &v
7236	return s
7237}
7238
7239// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
7240func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
7241	s.SubjectAlternativeNames = v
7242	return s
7243}
7244
7245// SetType sets the Type field's value.
7246func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
7247	s.Type = &v
7248	return s
7249}
7250
7251// Contains information about one of the following:
7252//
7253//    * The initial validation of each domain name that occurs as a result of
7254//    the RequestCertificate request
7255//
7256//    * The validation of each domain name in the certificate, as it pertains
7257//    to AWS Certificate Manager managed renewal
7258type AwsCertificateManagerCertificateDomainValidationOption struct {
7259	_ struct{} `type:"structure"`
7260
7261	// A fully qualified domain name (FQDN) in the certificate.
7262	DomainName *string `type:"string"`
7263
7264	// The CNAME record that is added to the DNS database for domain validation.
7265	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
7266
7267	// The domain name that AWS Certificate Manager uses to send domain validation
7268	// emails.
7269	ValidationDomain *string `type:"string"`
7270
7271	// A list of email addresses that AWS Certificate Manager uses to send domain
7272	// validation emails.
7273	ValidationEmails []*string `type:"list"`
7274
7275	// The method used to validate the domain name.
7276	ValidationMethod *string `type:"string"`
7277
7278	// The validation status of the domain name.
7279	ValidationStatus *string `type:"string"`
7280}
7281
7282// String returns the string representation
7283func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
7284	return awsutil.Prettify(s)
7285}
7286
7287// GoString returns the string representation
7288func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
7289	return s.String()
7290}
7291
7292// SetDomainName sets the DomainName field's value.
7293func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7294	s.DomainName = &v
7295	return s
7296}
7297
7298// SetResourceRecord sets the ResourceRecord field's value.
7299func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
7300	s.ResourceRecord = v
7301	return s
7302}
7303
7304// SetValidationDomain sets the ValidationDomain field's value.
7305func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7306	s.ValidationDomain = &v
7307	return s
7308}
7309
7310// SetValidationEmails sets the ValidationEmails field's value.
7311func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
7312	s.ValidationEmails = v
7313	return s
7314}
7315
7316// SetValidationMethod sets the ValidationMethod field's value.
7317func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7318	s.ValidationMethod = &v
7319	return s
7320}
7321
7322// SetValidationStatus sets the ValidationStatus field's value.
7323func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7324	s.ValidationStatus = &v
7325	return s
7326}
7327
7328// Contains information about an extended key usage X.509 v3 extension object.
7329type AwsCertificateManagerCertificateExtendedKeyUsage struct {
7330	_ struct{} `type:"structure"`
7331
7332	// The name of an extension value. Indicates the purpose for which the certificate
7333	// public key can be used.
7334	Name *string `type:"string"`
7335
7336	// An object identifier (OID) for the extension value.
7337	//
7338	// The format is numbers separated by periods.
7339	OId *string `type:"string"`
7340}
7341
7342// String returns the string representation
7343func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
7344	return awsutil.Prettify(s)
7345}
7346
7347// GoString returns the string representation
7348func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
7349	return s.String()
7350}
7351
7352// SetName sets the Name field's value.
7353func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7354	s.Name = &v
7355	return s
7356}
7357
7358// SetOId sets the OId field's value.
7359func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7360	s.OId = &v
7361	return s
7362}
7363
7364// Contains information about a key usage X.509 v3 extension object.
7365type AwsCertificateManagerCertificateKeyUsage struct {
7366	_ struct{} `type:"structure"`
7367
7368	// The key usage extension name.
7369	Name *string `type:"string"`
7370}
7371
7372// String returns the string representation
7373func (s AwsCertificateManagerCertificateKeyUsage) String() string {
7374	return awsutil.Prettify(s)
7375}
7376
7377// GoString returns the string representation
7378func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
7379	return s.String()
7380}
7381
7382// SetName sets the Name field's value.
7383func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
7384	s.Name = &v
7385	return s
7386}
7387
7388// Contains other options for the certificate.
7389type AwsCertificateManagerCertificateOptions struct {
7390	_ struct{} `type:"structure"`
7391
7392	// Whether to add the certificate to a transparency log.
7393	//
7394	// Valid values: DISABLED | ENABLED
7395	CertificateTransparencyLoggingPreference *string `type:"string"`
7396}
7397
7398// String returns the string representation
7399func (s AwsCertificateManagerCertificateOptions) String() string {
7400	return awsutil.Prettify(s)
7401}
7402
7403// GoString returns the string representation
7404func (s AwsCertificateManagerCertificateOptions) GoString() string {
7405	return s.String()
7406}
7407
7408// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
7409func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
7410	s.CertificateTransparencyLoggingPreference = &v
7411	return s
7412}
7413
7414// Contains information about the AWS Certificate Manager managed renewal for
7415// an AMAZON_ISSUED certificate.
7416type AwsCertificateManagerCertificateRenewalSummary struct {
7417	_ struct{} `type:"structure"`
7418
7419	// Information about the validation of each domain name in the certificate,
7420	// as it pertains to AWS Certificate Manager managed renewal. Provided only
7421	// when the certificate type is AMAZON_ISSUED.
7422	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7423
7424	// The status of the AWS Certificate Manager managed renewal of the certificate.
7425	//
7426	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
7427	RenewalStatus *string `type:"string"`
7428
7429	// The reason that a renewal request was unsuccessful.
7430	//
7431	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7432	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7433	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7434	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7435	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7436	RenewalStatusReason *string `type:"string"`
7437
7438	// Indicates when the renewal summary was last updated.
7439	//
7440	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7441	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7442	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7443	UpdatedAt *string `type:"string"`
7444}
7445
7446// String returns the string representation
7447func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
7448	return awsutil.Prettify(s)
7449}
7450
7451// GoString returns the string representation
7452func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
7453	return s.String()
7454}
7455
7456// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7457func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
7458	s.DomainValidationOptions = v
7459	return s
7460}
7461
7462// SetRenewalStatus sets the RenewalStatus field's value.
7463func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
7464	s.RenewalStatus = &v
7465	return s
7466}
7467
7468// SetRenewalStatusReason sets the RenewalStatusReason field's value.
7469func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
7470	s.RenewalStatusReason = &v
7471	return s
7472}
7473
7474// SetUpdatedAt sets the UpdatedAt field's value.
7475func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
7476	s.UpdatedAt = &v
7477	return s
7478}
7479
7480// Provides details about the CNAME record that is added to the DNS database
7481// for domain validation.
7482type AwsCertificateManagerCertificateResourceRecord struct {
7483	_ struct{} `type:"structure"`
7484
7485	// The name of the resource.
7486	Name *string `type:"string"`
7487
7488	// The type of resource.
7489	Type *string `type:"string"`
7490
7491	// The value of the resource.
7492	Value *string `type:"string"`
7493}
7494
7495// String returns the string representation
7496func (s AwsCertificateManagerCertificateResourceRecord) String() string {
7497	return awsutil.Prettify(s)
7498}
7499
7500// GoString returns the string representation
7501func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
7502	return s.String()
7503}
7504
7505// SetName sets the Name field's value.
7506func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
7507	s.Name = &v
7508	return s
7509}
7510
7511// SetType sets the Type field's value.
7512func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
7513	s.Type = &v
7514	return s
7515}
7516
7517// SetValue sets the Value field's value.
7518func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
7519	s.Value = &v
7520	return s
7521}
7522
7523// Information about a cache behavior for the distribution.
7524type AwsCloudFrontDistributionCacheBehavior struct {
7525	_ struct{} `type:"structure"`
7526
7527	// The protocol that viewers can use to access the files in an origin. You can
7528	// specify the following options:
7529	//
7530	//    * allow-all - Viewers can use HTTP or HTTPS.
7531	//
7532	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
7533	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
7534	//    uses the new URL to resubmit.
7535	//
7536	//    * https-only - CloudFront responds to HTTP request with an HTTP status
7537	//    code of 403 (Forbidden).
7538	ViewerProtocolPolicy *string `type:"string"`
7539}
7540
7541// String returns the string representation
7542func (s AwsCloudFrontDistributionCacheBehavior) String() string {
7543	return awsutil.Prettify(s)
7544}
7545
7546// GoString returns the string representation
7547func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
7548	return s.String()
7549}
7550
7551// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
7552func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
7553	s.ViewerProtocolPolicy = &v
7554	return s
7555}
7556
7557// Provides information about caching for the distribution.
7558type AwsCloudFrontDistributionCacheBehaviors struct {
7559	_ struct{} `type:"structure"`
7560
7561	// The cache behaviors for the distribution.
7562	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
7563}
7564
7565// String returns the string representation
7566func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
7567	return awsutil.Prettify(s)
7568}
7569
7570// GoString returns the string representation
7571func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
7572	return s.String()
7573}
7574
7575// SetItems sets the Items field's value.
7576func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
7577	s.Items = v
7578	return s
7579}
7580
7581// Contains information about the default cache configuration for the distribution.
7582type AwsCloudFrontDistributionDefaultCacheBehavior struct {
7583	_ struct{} `type:"structure"`
7584
7585	// The protocol that viewers can use to access the files in an origin. You can
7586	// specify the following options:
7587	//
7588	//    * allow-all - Viewers can use HTTP or HTTPS.
7589	//
7590	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
7591	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
7592	//    uses the new URL to resubmit.
7593	//
7594	//    * https-only - CloudFront responds to HTTP request with an HTTP status
7595	//    code of 403 (Forbidden).
7596	ViewerProtocolPolicy *string `type:"string"`
7597}
7598
7599// String returns the string representation
7600func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
7601	return awsutil.Prettify(s)
7602}
7603
7604// GoString returns the string representation
7605func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
7606	return s.String()
7607}
7608
7609// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
7610func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
7611	s.ViewerProtocolPolicy = &v
7612	return s
7613}
7614
7615// A distribution configuration.
7616type AwsCloudFrontDistributionDetails struct {
7617	_ struct{} `type:"structure"`
7618
7619	// Provides information about the cache configuration for the distribution.
7620	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
7621
7622	// The default cache behavior for the configuration.
7623	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
7624
7625	// The object that CloudFront sends in response to requests from the origin
7626	// (for example, index.html) when a viewer requests the root URL for the distribution
7627	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
7628	DefaultRootObject *string `type:"string"`
7629
7630	// The domain name corresponding to the distribution.
7631	DomainName *string `type:"string"`
7632
7633	// The entity tag is a hash of the object.
7634	ETag *string `type:"string"`
7635
7636	// Indicates when that the distribution was last modified.
7637	//
7638	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7639	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7640	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7641	LastModifiedTime *string `type:"string"`
7642
7643	// A complex type that controls whether access logs are written for the distribution.
7644	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
7645
7646	// Provides information about the origin groups in the distribution.
7647	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
7648
7649	// A complex type that contains information about origins for this distribution.
7650	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
7651
7652	// Indicates the current status of the distribution.
7653	Status *string `type:"string"`
7654
7655	// A unique identifier that specifies the AWS WAF web ACL, if any, to associate
7656	// with this distribution.
7657	WebAclId *string `type:"string"`
7658}
7659
7660// String returns the string representation
7661func (s AwsCloudFrontDistributionDetails) String() string {
7662	return awsutil.Prettify(s)
7663}
7664
7665// GoString returns the string representation
7666func (s AwsCloudFrontDistributionDetails) GoString() string {
7667	return s.String()
7668}
7669
7670// SetCacheBehaviors sets the CacheBehaviors field's value.
7671func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
7672	s.CacheBehaviors = v
7673	return s
7674}
7675
7676// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
7677func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
7678	s.DefaultCacheBehavior = v
7679	return s
7680}
7681
7682// SetDefaultRootObject sets the DefaultRootObject field's value.
7683func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
7684	s.DefaultRootObject = &v
7685	return s
7686}
7687
7688// SetDomainName sets the DomainName field's value.
7689func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
7690	s.DomainName = &v
7691	return s
7692}
7693
7694// SetETag sets the ETag field's value.
7695func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
7696	s.ETag = &v
7697	return s
7698}
7699
7700// SetLastModifiedTime sets the LastModifiedTime field's value.
7701func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
7702	s.LastModifiedTime = &v
7703	return s
7704}
7705
7706// SetLogging sets the Logging field's value.
7707func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
7708	s.Logging = v
7709	return s
7710}
7711
7712// SetOriginGroups sets the OriginGroups field's value.
7713func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
7714	s.OriginGroups = v
7715	return s
7716}
7717
7718// SetOrigins sets the Origins field's value.
7719func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
7720	s.Origins = v
7721	return s
7722}
7723
7724// SetStatus sets the Status field's value.
7725func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
7726	s.Status = &v
7727	return s
7728}
7729
7730// SetWebAclId sets the WebAclId field's value.
7731func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
7732	s.WebAclId = &v
7733	return s
7734}
7735
7736// A complex type that controls whether access logs are written for the distribution.
7737type AwsCloudFrontDistributionLogging struct {
7738	_ struct{} `type:"structure"`
7739
7740	// The Amazon S3 bucket to store the access logs in.
7741	Bucket *string `type:"string"`
7742
7743	// With this field, you can enable or disable the selected distribution.
7744	Enabled *bool `type:"boolean"`
7745
7746	// Specifies whether you want CloudFront to include cookies in access logs.
7747	IncludeCookies *bool `type:"boolean"`
7748
7749	// An optional string that you want CloudFront to use as a prefix to the access
7750	// log filenames for this distribution.
7751	Prefix *string `type:"string"`
7752}
7753
7754// String returns the string representation
7755func (s AwsCloudFrontDistributionLogging) String() string {
7756	return awsutil.Prettify(s)
7757}
7758
7759// GoString returns the string representation
7760func (s AwsCloudFrontDistributionLogging) GoString() string {
7761	return s.String()
7762}
7763
7764// SetBucket sets the Bucket field's value.
7765func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
7766	s.Bucket = &v
7767	return s
7768}
7769
7770// SetEnabled sets the Enabled field's value.
7771func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
7772	s.Enabled = &v
7773	return s
7774}
7775
7776// SetIncludeCookies sets the IncludeCookies field's value.
7777func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
7778	s.IncludeCookies = &v
7779	return s
7780}
7781
7782// SetPrefix sets the Prefix field's value.
7783func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
7784	s.Prefix = &v
7785	return s
7786}
7787
7788// Information about an origin group for the distribution.
7789type AwsCloudFrontDistributionOriginGroup struct {
7790	_ struct{} `type:"structure"`
7791
7792	// Provides the criteria for an origin group to fail over.
7793	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
7794}
7795
7796// String returns the string representation
7797func (s AwsCloudFrontDistributionOriginGroup) String() string {
7798	return awsutil.Prettify(s)
7799}
7800
7801// GoString returns the string representation
7802func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
7803	return s.String()
7804}
7805
7806// SetFailoverCriteria sets the FailoverCriteria field's value.
7807func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
7808	s.FailoverCriteria = v
7809	return s
7810}
7811
7812// Provides information about when an origin group fails over.
7813type AwsCloudFrontDistributionOriginGroupFailover struct {
7814	_ struct{} `type:"structure"`
7815
7816	// Information about the status codes that cause an origin group to fail over.
7817	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
7818}
7819
7820// String returns the string representation
7821func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
7822	return awsutil.Prettify(s)
7823}
7824
7825// GoString returns the string representation
7826func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
7827	return s.String()
7828}
7829
7830// SetStatusCodes sets the StatusCodes field's value.
7831func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
7832	s.StatusCodes = v
7833	return s
7834}
7835
7836// The status codes that cause an origin group to fail over.
7837type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
7838	_ struct{} `type:"structure"`
7839
7840	// The list of status code values that can cause a failover to the next origin.
7841	Items []*int64 `type:"list"`
7842
7843	// The number of status codes that can cause a failover.
7844	Quantity *int64 `type:"integer"`
7845}
7846
7847// String returns the string representation
7848func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
7849	return awsutil.Prettify(s)
7850}
7851
7852// GoString returns the string representation
7853func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
7854	return s.String()
7855}
7856
7857// SetItems sets the Items field's value.
7858func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
7859	s.Items = v
7860	return s
7861}
7862
7863// SetQuantity sets the Quantity field's value.
7864func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
7865	s.Quantity = &v
7866	return s
7867}
7868
7869// Provides information about origin groups that are associated with the distribution.
7870type AwsCloudFrontDistributionOriginGroups struct {
7871	_ struct{} `type:"structure"`
7872
7873	// The list of origin groups.
7874	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
7875}
7876
7877// String returns the string representation
7878func (s AwsCloudFrontDistributionOriginGroups) String() string {
7879	return awsutil.Prettify(s)
7880}
7881
7882// GoString returns the string representation
7883func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
7884	return s.String()
7885}
7886
7887// SetItems sets the Items field's value.
7888func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
7889	s.Items = v
7890	return s
7891}
7892
7893// A complex type that describes the Amazon S3 bucket, HTTP server (for example,
7894// a web server), Amazon Elemental MediaStore, or other server from which CloudFront
7895// gets your files.
7896type AwsCloudFrontDistributionOriginItem struct {
7897	_ struct{} `type:"structure"`
7898
7899	// Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want
7900	// CloudFront to get objects for this origin.
7901	DomainName *string `type:"string"`
7902
7903	// A unique identifier for the origin or origin group.
7904	Id *string `type:"string"`
7905
7906	// An optional element that causes CloudFront to request your content from a
7907	// directory in your Amazon S3 bucket or your custom origin.
7908	OriginPath *string `type:"string"`
7909
7910	// An origin that is an S3 bucket that is not configured with static website
7911	// hosting.
7912	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
7913}
7914
7915// String returns the string representation
7916func (s AwsCloudFrontDistributionOriginItem) String() string {
7917	return awsutil.Prettify(s)
7918}
7919
7920// GoString returns the string representation
7921func (s AwsCloudFrontDistributionOriginItem) GoString() string {
7922	return s.String()
7923}
7924
7925// SetDomainName sets the DomainName field's value.
7926func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
7927	s.DomainName = &v
7928	return s
7929}
7930
7931// SetId sets the Id field's value.
7932func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
7933	s.Id = &v
7934	return s
7935}
7936
7937// SetOriginPath sets the OriginPath field's value.
7938func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
7939	s.OriginPath = &v
7940	return s
7941}
7942
7943// SetS3OriginConfig sets the S3OriginConfig field's value.
7944func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
7945	s.S3OriginConfig = v
7946	return s
7947}
7948
7949// Information about an origin that is an S3 bucket that is not configured with
7950// static website hosting.
7951type AwsCloudFrontDistributionOriginS3OriginConfig struct {
7952	_ struct{} `type:"structure"`
7953
7954	// The CloudFront origin access identity to associate with the origin.
7955	OriginAccessIdentity *string `type:"string"`
7956}
7957
7958// String returns the string representation
7959func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
7960	return awsutil.Prettify(s)
7961}
7962
7963// GoString returns the string representation
7964func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
7965	return s.String()
7966}
7967
7968// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
7969func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
7970	s.OriginAccessIdentity = &v
7971	return s
7972}
7973
7974// A complex type that contains information about origins and origin groups
7975// for this distribution.
7976type AwsCloudFrontDistributionOrigins struct {
7977	_ struct{} `type:"structure"`
7978
7979	// A complex type that contains origins or origin groups for this distribution.
7980	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
7981}
7982
7983// String returns the string representation
7984func (s AwsCloudFrontDistributionOrigins) String() string {
7985	return awsutil.Prettify(s)
7986}
7987
7988// GoString returns the string representation
7989func (s AwsCloudFrontDistributionOrigins) GoString() string {
7990	return s.String()
7991}
7992
7993// SetItems sets the Items field's value.
7994func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
7995	s.Items = v
7996	return s
7997}
7998
7999// Provides details about a CloudTrail trail.
8000type AwsCloudTrailTrailDetails struct {
8001	_ struct{} `type:"structure"`
8002
8003	// The ARN of the log group that CloudTrail logs are delivered to.
8004	CloudWatchLogsLogGroupArn *string `type:"string"`
8005
8006	// The ARN of the role that the CloudWatch Logs endpoint assumes when it writes
8007	// to the log group.
8008	CloudWatchLogsRoleArn *string `type:"string"`
8009
8010	// Indicates whether the trail has custom event selectors.
8011	HasCustomEventSelectors *bool `type:"boolean"`
8012
8013	// The Region where the trail was created.
8014	HomeRegion *string `type:"string"`
8015
8016	// Indicates whether the trail publishes events from global services such as
8017	// IAM to the log files.
8018	IncludeGlobalServiceEvents *bool `type:"boolean"`
8019
8020	// Indicates whether the trail applies only to the current Region or to all
8021	// Regions.
8022	IsMultiRegionTrail *bool `type:"boolean"`
8023
8024	// Whether the trail is created for all accounts in an organization in AWS Organizations,
8025	// or only for the current AWS account.
8026	IsOrganizationTrail *bool `type:"boolean"`
8027
8028	// The AWS KMS key ID to use to encrypt the logs.
8029	KmsKeyId *string `type:"string"`
8030
8031	// Indicates whether CloudTrail log file validation is enabled.
8032	LogFileValidationEnabled *bool `type:"boolean"`
8033
8034	// The name of the trail.
8035	Name *string `type:"string"`
8036
8037	// The name of the S3 bucket where the log files are published.
8038	S3BucketName *string `type:"string"`
8039
8040	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
8041	// where the log files are published.
8042	S3KeyPrefix *string `type:"string"`
8043
8044	// The ARN of the SNS topic that is used for notifications of log file delivery.
8045	SnsTopicArn *string `type:"string"`
8046
8047	// The name of the SNS topic that is used for notifications of log file delivery.
8048	SnsTopicName *string `type:"string"`
8049
8050	// The ARN of the trail.
8051	TrailArn *string `type:"string"`
8052}
8053
8054// String returns the string representation
8055func (s AwsCloudTrailTrailDetails) String() string {
8056	return awsutil.Prettify(s)
8057}
8058
8059// GoString returns the string representation
8060func (s AwsCloudTrailTrailDetails) GoString() string {
8061	return s.String()
8062}
8063
8064// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8065func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
8066	s.CloudWatchLogsLogGroupArn = &v
8067	return s
8068}
8069
8070// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8071func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
8072	s.CloudWatchLogsRoleArn = &v
8073	return s
8074}
8075
8076// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
8077func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
8078	s.HasCustomEventSelectors = &v
8079	return s
8080}
8081
8082// SetHomeRegion sets the HomeRegion field's value.
8083func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
8084	s.HomeRegion = &v
8085	return s
8086}
8087
8088// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
8089func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
8090	s.IncludeGlobalServiceEvents = &v
8091	return s
8092}
8093
8094// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
8095func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
8096	s.IsMultiRegionTrail = &v
8097	return s
8098}
8099
8100// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
8101func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
8102	s.IsOrganizationTrail = &v
8103	return s
8104}
8105
8106// SetKmsKeyId sets the KmsKeyId field's value.
8107func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
8108	s.KmsKeyId = &v
8109	return s
8110}
8111
8112// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
8113func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
8114	s.LogFileValidationEnabled = &v
8115	return s
8116}
8117
8118// SetName sets the Name field's value.
8119func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
8120	s.Name = &v
8121	return s
8122}
8123
8124// SetS3BucketName sets the S3BucketName field's value.
8125func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
8126	s.S3BucketName = &v
8127	return s
8128}
8129
8130// SetS3KeyPrefix sets the S3KeyPrefix field's value.
8131func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
8132	s.S3KeyPrefix = &v
8133	return s
8134}
8135
8136// SetSnsTopicArn sets the SnsTopicArn field's value.
8137func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
8138	s.SnsTopicArn = &v
8139	return s
8140}
8141
8142// SetSnsTopicName sets the SnsTopicName field's value.
8143func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
8144	s.SnsTopicName = &v
8145	return s
8146}
8147
8148// SetTrailArn sets the TrailArn field's value.
8149func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
8150	s.TrailArn = &v
8151	return s
8152}
8153
8154// Information about an AWS CodeBuild project.
8155type AwsCodeBuildProjectDetails struct {
8156	_ struct{} `type:"structure"`
8157
8158	// The AWS Key Management Service (AWS KMS) customer master key (CMK) used to
8159	// encrypt the build output artifacts.
8160	//
8161	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
8162	// the CMK alias (using the format alias/alias-name).
8163	EncryptionKey *string `type:"string"`
8164
8165	// Information about the build environment for this build project.
8166	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
8167
8168	// The name of the build project.
8169	Name *string `type:"string"`
8170
8171	// The ARN of the IAM role that enables AWS CodeBuild to interact with dependent
8172	// AWS services on behalf of the AWS account.
8173	ServiceRole *string `type:"string"`
8174
8175	// Information about the build input source code for this build project.
8176	Source *AwsCodeBuildProjectSource `type:"structure"`
8177
8178	// Information about the VPC configuration that AWS CodeBuild accesses.
8179	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
8180}
8181
8182// String returns the string representation
8183func (s AwsCodeBuildProjectDetails) String() string {
8184	return awsutil.Prettify(s)
8185}
8186
8187// GoString returns the string representation
8188func (s AwsCodeBuildProjectDetails) GoString() string {
8189	return s.String()
8190}
8191
8192// SetEncryptionKey sets the EncryptionKey field's value.
8193func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
8194	s.EncryptionKey = &v
8195	return s
8196}
8197
8198// SetEnvironment sets the Environment field's value.
8199func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
8200	s.Environment = v
8201	return s
8202}
8203
8204// SetName sets the Name field's value.
8205func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
8206	s.Name = &v
8207	return s
8208}
8209
8210// SetServiceRole sets the ServiceRole field's value.
8211func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
8212	s.ServiceRole = &v
8213	return s
8214}
8215
8216// SetSource sets the Source field's value.
8217func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
8218	s.Source = v
8219	return s
8220}
8221
8222// SetVpcConfig sets the VpcConfig field's value.
8223func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
8224	s.VpcConfig = v
8225	return s
8226}
8227
8228// Information about the build environment for this build project.
8229type AwsCodeBuildProjectEnvironment struct {
8230	_ struct{} `type:"structure"`
8231
8232	// The certificate to use with this build project.
8233	Certificate *string `type:"string"`
8234
8235	// The type of credentials AWS CodeBuild uses to pull images in your build.
8236	//
8237	// Valid values:
8238	//
8239	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
8240	//    requires that you modify your ECR repository policy to trust the AWS CodeBuild
8241	//    service principal.
8242	//
8243	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
8244	//    service role.
8245	//
8246	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
8247	// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD
8248	// credentials.
8249	ImagePullCredentialsType *string `type:"string"`
8250
8251	// The credentials for access to a private registry.
8252	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
8253
8254	// The type of build environment to use for related builds.
8255	//
8256	// The environment type ARM_CONTAINER is available only in Regions US East (N.
8257	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
8258	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
8259	//
8260	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
8261	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
8262	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
8263	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
8264	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
8265	//
8266	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
8267	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
8268	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
8269	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
8270	// (Beijing), and China (Ningxia).
8271	//
8272	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
8273	// ARM_CONTAINER
8274	Type *string `type:"string"`
8275}
8276
8277// String returns the string representation
8278func (s AwsCodeBuildProjectEnvironment) String() string {
8279	return awsutil.Prettify(s)
8280}
8281
8282// GoString returns the string representation
8283func (s AwsCodeBuildProjectEnvironment) GoString() string {
8284	return s.String()
8285}
8286
8287// SetCertificate sets the Certificate field's value.
8288func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
8289	s.Certificate = &v
8290	return s
8291}
8292
8293// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
8294func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
8295	s.ImagePullCredentialsType = &v
8296	return s
8297}
8298
8299// SetRegistryCredential sets the RegistryCredential field's value.
8300func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
8301	s.RegistryCredential = v
8302	return s
8303}
8304
8305// SetType sets the Type field's value.
8306func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
8307	s.Type = &v
8308	return s
8309}
8310
8311// The credentials for access to a private registry.
8312type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
8313	_ struct{} `type:"structure"`
8314
8315	// The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets
8316	// Manager.
8317	//
8318	// The credential can use the name of the credentials only if they exist in
8319	// your current AWS Region.
8320	Credential *string `type:"string"`
8321
8322	// The service that created the credentials to access a private Docker registry.
8323	//
8324	// The valid value,SECRETS_MANAGER, is for AWS Secrets Manager.
8325	CredentialProvider *string `type:"string"`
8326}
8327
8328// String returns the string representation
8329func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
8330	return awsutil.Prettify(s)
8331}
8332
8333// GoString returns the string representation
8334func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
8335	return s.String()
8336}
8337
8338// SetCredential sets the Credential field's value.
8339func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8340	s.Credential = &v
8341	return s
8342}
8343
8344// SetCredentialProvider sets the CredentialProvider field's value.
8345func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8346	s.CredentialProvider = &v
8347	return s
8348}
8349
8350// Information about the build input source code for this build project.
8351type AwsCodeBuildProjectSource struct {
8352	_ struct{} `type:"structure"`
8353
8354	// Information about the Git clone depth for the build project.
8355	GitCloneDepth *int64 `type:"integer"`
8356
8357	// Whether to ignore SSL warnings while connecting to the project source code.
8358	InsecureSsl *bool `type:"boolean"`
8359
8360	// Information about the location of the source code to be built.
8361	//
8362	// Valid values include:
8363	//
8364	//    * For source code settings that are specified in the source action of
8365	//    a pipeline in AWS CodePipeline, location should not be specified. If it
8366	//    is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline
8367	//    uses the settings in a pipeline's source action instead of this value.
8368	//
8369	//    * For source code in an AWS CodeCommit repository, the HTTPS clone URL
8370	//    to the repository that contains the source code and the build spec file
8371	//    (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
8372	//    ).
8373	//
8374	//    * For source code in an S3 input bucket, one of the following. The path
8375	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
8376	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
8377	//
8378	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
8379	//    that contains the source and the build spec file.
8380	//
8381	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
8382	//    repository that contains the source and the build spec file.
8383	Location *string `type:"string"`
8384
8385	// The type of repository that contains the source code to be built. Valid values
8386	// are:
8387	//
8388	//    * BITBUCKET - The source code is in a Bitbucket repository.
8389	//
8390	//    * CODECOMMIT - The source code is in an AWS CodeCommit repository.
8391	//
8392	//    * CODEPIPELINE - The source code settings are specified in the source
8393	//    action of a pipeline in AWS CodePipeline.
8394	//
8395	//    * GITHUB - The source code is in a GitHub repository.
8396	//
8397	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
8398	//
8399	//    * NO_SOURCE - The project does not have input source code.
8400	//
8401	//    * S3 - The source code is in an S3 input bucket.
8402	Type *string `type:"string"`
8403}
8404
8405// String returns the string representation
8406func (s AwsCodeBuildProjectSource) String() string {
8407	return awsutil.Prettify(s)
8408}
8409
8410// GoString returns the string representation
8411func (s AwsCodeBuildProjectSource) GoString() string {
8412	return s.String()
8413}
8414
8415// SetGitCloneDepth sets the GitCloneDepth field's value.
8416func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
8417	s.GitCloneDepth = &v
8418	return s
8419}
8420
8421// SetInsecureSsl sets the InsecureSsl field's value.
8422func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
8423	s.InsecureSsl = &v
8424	return s
8425}
8426
8427// SetLocation sets the Location field's value.
8428func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
8429	s.Location = &v
8430	return s
8431}
8432
8433// SetType sets the Type field's value.
8434func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
8435	s.Type = &v
8436	return s
8437}
8438
8439// Information about the VPC configuration that AWS CodeBuild accesses.
8440type AwsCodeBuildProjectVpcConfig struct {
8441	_ struct{} `type:"structure"`
8442
8443	// A list of one or more security group IDs in your Amazon VPC.
8444	SecurityGroupIds []*string `type:"list"`
8445
8446	// A list of one or more subnet IDs in your Amazon VPC.
8447	Subnets []*string `type:"list"`
8448
8449	// The ID of the VPC.
8450	VpcId *string `type:"string"`
8451}
8452
8453// String returns the string representation
8454func (s AwsCodeBuildProjectVpcConfig) String() string {
8455	return awsutil.Prettify(s)
8456}
8457
8458// GoString returns the string representation
8459func (s AwsCodeBuildProjectVpcConfig) GoString() string {
8460	return s.String()
8461}
8462
8463// SetSecurityGroupIds sets the SecurityGroupIds field's value.
8464func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
8465	s.SecurityGroupIds = v
8466	return s
8467}
8468
8469// SetSubnets sets the Subnets field's value.
8470func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
8471	s.Subnets = v
8472	return s
8473}
8474
8475// SetVpcId sets the VpcId field's value.
8476func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
8477	s.VpcId = &v
8478	return s
8479}
8480
8481// Contains the cross-origin resource sharing (CORS) configuration for the API.
8482// CORS is only supported for HTTP APIs.
8483type AwsCorsConfiguration struct {
8484	_ struct{} `type:"structure"`
8485
8486	// Indicates whether the CORS request includes credentials.
8487	AllowCredentials *bool `type:"boolean"`
8488
8489	// The allowed headers for CORS requests.
8490	AllowHeaders []*string `type:"list"`
8491
8492	// The allowed methods for CORS requests.
8493	AllowMethods []*string `type:"list"`
8494
8495	// The allowed origins for CORS requests.
8496	AllowOrigins []*string `type:"list"`
8497
8498	// The exposed headers for CORS requests.
8499	ExposeHeaders []*string `type:"list"`
8500
8501	// The number of seconds for which the browser caches preflight request results.
8502	MaxAge *int64 `type:"integer"`
8503}
8504
8505// String returns the string representation
8506func (s AwsCorsConfiguration) String() string {
8507	return awsutil.Prettify(s)
8508}
8509
8510// GoString returns the string representation
8511func (s AwsCorsConfiguration) GoString() string {
8512	return s.String()
8513}
8514
8515// SetAllowCredentials sets the AllowCredentials field's value.
8516func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
8517	s.AllowCredentials = &v
8518	return s
8519}
8520
8521// SetAllowHeaders sets the AllowHeaders field's value.
8522func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
8523	s.AllowHeaders = v
8524	return s
8525}
8526
8527// SetAllowMethods sets the AllowMethods field's value.
8528func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
8529	s.AllowMethods = v
8530	return s
8531}
8532
8533// SetAllowOrigins sets the AllowOrigins field's value.
8534func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
8535	s.AllowOrigins = v
8536	return s
8537}
8538
8539// SetExposeHeaders sets the ExposeHeaders field's value.
8540func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
8541	s.ExposeHeaders = v
8542	return s
8543}
8544
8545// SetMaxAge sets the MaxAge field's value.
8546func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
8547	s.MaxAge = &v
8548	return s
8549}
8550
8551// Contains a definition of an attribute for the table.
8552type AwsDynamoDbTableAttributeDefinition struct {
8553	_ struct{} `type:"structure"`
8554
8555	// The name of the attribute.
8556	AttributeName *string `type:"string"`
8557
8558	// The type of the attribute.
8559	AttributeType *string `type:"string"`
8560}
8561
8562// String returns the string representation
8563func (s AwsDynamoDbTableAttributeDefinition) String() string {
8564	return awsutil.Prettify(s)
8565}
8566
8567// GoString returns the string representation
8568func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
8569	return s.String()
8570}
8571
8572// SetAttributeName sets the AttributeName field's value.
8573func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
8574	s.AttributeName = &v
8575	return s
8576}
8577
8578// SetAttributeType sets the AttributeType field's value.
8579func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
8580	s.AttributeType = &v
8581	return s
8582}
8583
8584// Provides information about the billing for read/write capacity on the table.
8585type AwsDynamoDbTableBillingModeSummary struct {
8586	_ struct{} `type:"structure"`
8587
8588	// The method used to charge for read and write throughput and to manage capacity.
8589	BillingMode *string `type:"string"`
8590
8591	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
8592	// set to that value.
8593	//
8594	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8595	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8596	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8597	LastUpdateToPayPerRequestDateTime *string `type:"string"`
8598}
8599
8600// String returns the string representation
8601func (s AwsDynamoDbTableBillingModeSummary) String() string {
8602	return awsutil.Prettify(s)
8603}
8604
8605// GoString returns the string representation
8606func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
8607	return s.String()
8608}
8609
8610// SetBillingMode sets the BillingMode field's value.
8611func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
8612	s.BillingMode = &v
8613	return s
8614}
8615
8616// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
8617func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
8618	s.LastUpdateToPayPerRequestDateTime = &v
8619	return s
8620}
8621
8622// Provides details about a DynamoDB table.
8623type AwsDynamoDbTableDetails struct {
8624	_ struct{} `type:"structure"`
8625
8626	// A list of attribute definitions for the table.
8627	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
8628
8629	// Information about the billing for read/write capacity on the table.
8630	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
8631
8632	// Indicates when the table was created.
8633	//
8634	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8635	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8636	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8637	CreationDateTime *string `type:"string"`
8638
8639	// List of global secondary indexes for the table.
8640	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
8641
8642	// The version of global tables being used.
8643	GlobalTableVersion *string `type:"string"`
8644
8645	// The number of items in the table.
8646	ItemCount *int64 `type:"integer"`
8647
8648	// The primary key structure for the table.
8649	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
8650
8651	// The ARN of the latest stream for the table.
8652	LatestStreamArn *string `type:"string"`
8653
8654	// The label of the latest stream. The label is not a unique identifier.
8655	LatestStreamLabel *string `type:"string"`
8656
8657	// The list of local secondary indexes for the table.
8658	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
8659
8660	// Information about the provisioned throughput for the table.
8661	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
8662
8663	// The list of replicas of this table.
8664	Replicas []*AwsDynamoDbTableReplica `type:"list"`
8665
8666	// Information about the restore for the table.
8667	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
8668
8669	// Information about the server-side encryption for the table.
8670	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
8671
8672	// The current DynamoDB Streams configuration for the table.
8673	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
8674
8675	// The identifier of the table.
8676	TableId *string `type:"string"`
8677
8678	// The name of the table.
8679	TableName *string `type:"string"`
8680
8681	// The total size of the table in bytes.
8682	TableSizeBytes *int64 `type:"long"`
8683
8684	// The current status of the table.
8685	TableStatus *string `type:"string"`
8686}
8687
8688// String returns the string representation
8689func (s AwsDynamoDbTableDetails) String() string {
8690	return awsutil.Prettify(s)
8691}
8692
8693// GoString returns the string representation
8694func (s AwsDynamoDbTableDetails) GoString() string {
8695	return s.String()
8696}
8697
8698// SetAttributeDefinitions sets the AttributeDefinitions field's value.
8699func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
8700	s.AttributeDefinitions = v
8701	return s
8702}
8703
8704// SetBillingModeSummary sets the BillingModeSummary field's value.
8705func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
8706	s.BillingModeSummary = v
8707	return s
8708}
8709
8710// SetCreationDateTime sets the CreationDateTime field's value.
8711func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
8712	s.CreationDateTime = &v
8713	return s
8714}
8715
8716// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
8717func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
8718	s.GlobalSecondaryIndexes = v
8719	return s
8720}
8721
8722// SetGlobalTableVersion sets the GlobalTableVersion field's value.
8723func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
8724	s.GlobalTableVersion = &v
8725	return s
8726}
8727
8728// SetItemCount sets the ItemCount field's value.
8729func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
8730	s.ItemCount = &v
8731	return s
8732}
8733
8734// SetKeySchema sets the KeySchema field's value.
8735func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
8736	s.KeySchema = v
8737	return s
8738}
8739
8740// SetLatestStreamArn sets the LatestStreamArn field's value.
8741func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
8742	s.LatestStreamArn = &v
8743	return s
8744}
8745
8746// SetLatestStreamLabel sets the LatestStreamLabel field's value.
8747func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
8748	s.LatestStreamLabel = &v
8749	return s
8750}
8751
8752// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
8753func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
8754	s.LocalSecondaryIndexes = v
8755	return s
8756}
8757
8758// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
8759func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
8760	s.ProvisionedThroughput = v
8761	return s
8762}
8763
8764// SetReplicas sets the Replicas field's value.
8765func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
8766	s.Replicas = v
8767	return s
8768}
8769
8770// SetRestoreSummary sets the RestoreSummary field's value.
8771func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
8772	s.RestoreSummary = v
8773	return s
8774}
8775
8776// SetSseDescription sets the SseDescription field's value.
8777func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
8778	s.SseDescription = v
8779	return s
8780}
8781
8782// SetStreamSpecification sets the StreamSpecification field's value.
8783func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
8784	s.StreamSpecification = v
8785	return s
8786}
8787
8788// SetTableId sets the TableId field's value.
8789func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
8790	s.TableId = &v
8791	return s
8792}
8793
8794// SetTableName sets the TableName field's value.
8795func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
8796	s.TableName = &v
8797	return s
8798}
8799
8800// SetTableSizeBytes sets the TableSizeBytes field's value.
8801func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
8802	s.TableSizeBytes = &v
8803	return s
8804}
8805
8806// SetTableStatus sets the TableStatus field's value.
8807func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
8808	s.TableStatus = &v
8809	return s
8810}
8811
8812// Information abut a global secondary index for the table.
8813type AwsDynamoDbTableGlobalSecondaryIndex struct {
8814	_ struct{} `type:"structure"`
8815
8816	// Whether the index is currently backfilling.
8817	Backfilling *bool `type:"boolean"`
8818
8819	// The ARN of the index.
8820	IndexArn *string `type:"string"`
8821
8822	// The name of the index.
8823	IndexName *string `type:"string"`
8824
8825	// The total size in bytes of the index.
8826	IndexSizeBytes *int64 `type:"long"`
8827
8828	// The current status of the index.
8829	IndexStatus *string `type:"string"`
8830
8831	// The number of items in the index.
8832	ItemCount *int64 `type:"integer"`
8833
8834	// The key schema for the index.
8835	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
8836
8837	// Attributes that are copied from the table into an index.
8838	Projection *AwsDynamoDbTableProjection `type:"structure"`
8839
8840	// Information about the provisioned throughput settings for the indexes.
8841	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
8842}
8843
8844// String returns the string representation
8845func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
8846	return awsutil.Prettify(s)
8847}
8848
8849// GoString returns the string representation
8850func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
8851	return s.String()
8852}
8853
8854// SetBackfilling sets the Backfilling field's value.
8855func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
8856	s.Backfilling = &v
8857	return s
8858}
8859
8860// SetIndexArn sets the IndexArn field's value.
8861func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
8862	s.IndexArn = &v
8863	return s
8864}
8865
8866// SetIndexName sets the IndexName field's value.
8867func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
8868	s.IndexName = &v
8869	return s
8870}
8871
8872// SetIndexSizeBytes sets the IndexSizeBytes field's value.
8873func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
8874	s.IndexSizeBytes = &v
8875	return s
8876}
8877
8878// SetIndexStatus sets the IndexStatus field's value.
8879func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
8880	s.IndexStatus = &v
8881	return s
8882}
8883
8884// SetItemCount sets the ItemCount field's value.
8885func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
8886	s.ItemCount = &v
8887	return s
8888}
8889
8890// SetKeySchema sets the KeySchema field's value.
8891func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
8892	s.KeySchema = v
8893	return s
8894}
8895
8896// SetProjection sets the Projection field's value.
8897func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
8898	s.Projection = v
8899	return s
8900}
8901
8902// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
8903func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
8904	s.ProvisionedThroughput = v
8905	return s
8906}
8907
8908// A component of the key schema for the DynamoDB table, a global secondary
8909// index, or a local secondary index.
8910type AwsDynamoDbTableKeySchema struct {
8911	_ struct{} `type:"structure"`
8912
8913	// The name of the key schema attribute.
8914	AttributeName *string `type:"string"`
8915
8916	// The type of key used for the key schema attribute.
8917	KeyType *string `type:"string"`
8918}
8919
8920// String returns the string representation
8921func (s AwsDynamoDbTableKeySchema) String() string {
8922	return awsutil.Prettify(s)
8923}
8924
8925// GoString returns the string representation
8926func (s AwsDynamoDbTableKeySchema) GoString() string {
8927	return s.String()
8928}
8929
8930// SetAttributeName sets the AttributeName field's value.
8931func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
8932	s.AttributeName = &v
8933	return s
8934}
8935
8936// SetKeyType sets the KeyType field's value.
8937func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
8938	s.KeyType = &v
8939	return s
8940}
8941
8942// Information about a local secondary index for a DynamoDB table.
8943type AwsDynamoDbTableLocalSecondaryIndex struct {
8944	_ struct{} `type:"structure"`
8945
8946	// The ARN of the index.
8947	IndexArn *string `type:"string"`
8948
8949	// The name of the index.
8950	IndexName *string `type:"string"`
8951
8952	// The complete key schema for the index.
8953	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
8954
8955	// Attributes that are copied from the table into the index. These are in addition
8956	// to the primary key attributes and index key attributes, which are automatically
8957	// projected.
8958	Projection *AwsDynamoDbTableProjection `type:"structure"`
8959}
8960
8961// String returns the string representation
8962func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
8963	return awsutil.Prettify(s)
8964}
8965
8966// GoString returns the string representation
8967func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
8968	return s.String()
8969}
8970
8971// SetIndexArn sets the IndexArn field's value.
8972func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
8973	s.IndexArn = &v
8974	return s
8975}
8976
8977// SetIndexName sets the IndexName field's value.
8978func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
8979	s.IndexName = &v
8980	return s
8981}
8982
8983// SetKeySchema sets the KeySchema field's value.
8984func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
8985	s.KeySchema = v
8986	return s
8987}
8988
8989// SetProjection sets the Projection field's value.
8990func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
8991	s.Projection = v
8992	return s
8993}
8994
8995// For global and local secondary indexes, identifies the attributes that are
8996// copied from the table into the index.
8997type AwsDynamoDbTableProjection struct {
8998	_ struct{} `type:"structure"`
8999
9000	// The nonkey attributes that are projected into the index. For each attribute,
9001	// provide the attribute name.
9002	NonKeyAttributes []*string `type:"list"`
9003
9004	// The types of attributes that are projected into the index.
9005	ProjectionType *string `type:"string"`
9006}
9007
9008// String returns the string representation
9009func (s AwsDynamoDbTableProjection) String() string {
9010	return awsutil.Prettify(s)
9011}
9012
9013// GoString returns the string representation
9014func (s AwsDynamoDbTableProjection) GoString() string {
9015	return s.String()
9016}
9017
9018// SetNonKeyAttributes sets the NonKeyAttributes field's value.
9019func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
9020	s.NonKeyAttributes = v
9021	return s
9022}
9023
9024// SetProjectionType sets the ProjectionType field's value.
9025func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
9026	s.ProjectionType = &v
9027	return s
9028}
9029
9030// Information about the provisioned throughput for the table or for a global
9031// secondary index.
9032type AwsDynamoDbTableProvisionedThroughput struct {
9033	_ struct{} `type:"structure"`
9034
9035	// Indicates when the provisioned throughput was last decreased.
9036	//
9037	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9038	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9039	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9040	LastDecreaseDateTime *string `type:"string"`
9041
9042	// Indicates when the provisioned throughput was last increased.
9043	//
9044	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9045	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9046	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9047	LastIncreaseDateTime *string `type:"string"`
9048
9049	// The number of times during the current UTC calendar day that the provisioned
9050	// throughput was decreased.
9051	NumberOfDecreasesToday *int64 `type:"integer"`
9052
9053	// The maximum number of strongly consistent reads consumed per second before
9054	// DynamoDB returns a ThrottlingException.
9055	ReadCapacityUnits *int64 `type:"integer"`
9056
9057	// The maximum number of writes consumed per second before DynamoDB returns
9058	// a ThrottlingException.
9059	WriteCapacityUnits *int64 `type:"integer"`
9060}
9061
9062// String returns the string representation
9063func (s AwsDynamoDbTableProvisionedThroughput) String() string {
9064	return awsutil.Prettify(s)
9065}
9066
9067// GoString returns the string representation
9068func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
9069	return s.String()
9070}
9071
9072// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
9073func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9074	s.LastDecreaseDateTime = &v
9075	return s
9076}
9077
9078// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
9079func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9080	s.LastIncreaseDateTime = &v
9081	return s
9082}
9083
9084// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
9085func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
9086	s.NumberOfDecreasesToday = &v
9087	return s
9088}
9089
9090// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9091func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9092	s.ReadCapacityUnits = &v
9093	return s
9094}
9095
9096// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
9097func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9098	s.WriteCapacityUnits = &v
9099	return s
9100}
9101
9102// Replica-specific configuration for the provisioned throughput.
9103type AwsDynamoDbTableProvisionedThroughputOverride struct {
9104	_ struct{} `type:"structure"`
9105
9106	// The read capacity units for the replica.
9107	ReadCapacityUnits *int64 `type:"integer"`
9108}
9109
9110// String returns the string representation
9111func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
9112	return awsutil.Prettify(s)
9113}
9114
9115// GoString returns the string representation
9116func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
9117	return s.String()
9118}
9119
9120// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9121func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
9122	s.ReadCapacityUnits = &v
9123	return s
9124}
9125
9126// Information about a replica of a DynamoDB table.
9127type AwsDynamoDbTableReplica struct {
9128	_ struct{} `type:"structure"`
9129
9130	// List of global secondary indexes for the replica.
9131	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
9132
9133	// The identifier of the AWS KMS customer master key (CMK) that will be used
9134	// for AWS KMS encryption for the replica.
9135	KmsMasterKeyId *string `type:"string"`
9136
9137	// Replica-specific configuration for the provisioned throughput.
9138	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9139
9140	// The name of the Region where the replica is located.
9141	RegionName *string `type:"string"`
9142
9143	// The current status of the replica.
9144	ReplicaStatus *string `type:"string"`
9145
9146	// Detailed information about the replica status.
9147	ReplicaStatusDescription *string `type:"string"`
9148}
9149
9150// String returns the string representation
9151func (s AwsDynamoDbTableReplica) String() string {
9152	return awsutil.Prettify(s)
9153}
9154
9155// GoString returns the string representation
9156func (s AwsDynamoDbTableReplica) GoString() string {
9157	return s.String()
9158}
9159
9160// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9161func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
9162	s.GlobalSecondaryIndexes = v
9163	return s
9164}
9165
9166// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
9167func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
9168	s.KmsMasterKeyId = &v
9169	return s
9170}
9171
9172// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9173func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
9174	s.ProvisionedThroughputOverride = v
9175	return s
9176}
9177
9178// SetRegionName sets the RegionName field's value.
9179func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
9180	s.RegionName = &v
9181	return s
9182}
9183
9184// SetReplicaStatus sets the ReplicaStatus field's value.
9185func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
9186	s.ReplicaStatus = &v
9187	return s
9188}
9189
9190// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
9191func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
9192	s.ReplicaStatusDescription = &v
9193	return s
9194}
9195
9196// Information about a global secondary index for a DynamoDB table replica.
9197type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
9198	_ struct{} `type:"structure"`
9199
9200	// The name of the index.
9201	IndexName *string `type:"string"`
9202
9203	// Replica-specific configuration for the provisioned throughput for the index.
9204	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9205}
9206
9207// String returns the string representation
9208func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
9209	return awsutil.Prettify(s)
9210}
9211
9212// GoString returns the string representation
9213func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
9214	return s.String()
9215}
9216
9217// SetIndexName sets the IndexName field's value.
9218func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9219	s.IndexName = &v
9220	return s
9221}
9222
9223// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9224func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9225	s.ProvisionedThroughputOverride = v
9226	return s
9227}
9228
9229// Information about the restore for the table.
9230type AwsDynamoDbTableRestoreSummary struct {
9231	_ struct{} `type:"structure"`
9232
9233	// Indicates the point in time that the table was restored to.
9234	//
9235	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9236	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9237	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9238	RestoreDateTime *string `type:"string"`
9239
9240	// Whether a restore is currently in progress.
9241	RestoreInProgress *bool `type:"boolean"`
9242
9243	// The ARN of the source backup from which the table was restored.
9244	SourceBackupArn *string `type:"string"`
9245
9246	// The ARN of the source table for the backup.
9247	SourceTableArn *string `type:"string"`
9248}
9249
9250// String returns the string representation
9251func (s AwsDynamoDbTableRestoreSummary) String() string {
9252	return awsutil.Prettify(s)
9253}
9254
9255// GoString returns the string representation
9256func (s AwsDynamoDbTableRestoreSummary) GoString() string {
9257	return s.String()
9258}
9259
9260// SetRestoreDateTime sets the RestoreDateTime field's value.
9261func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
9262	s.RestoreDateTime = &v
9263	return s
9264}
9265
9266// SetRestoreInProgress sets the RestoreInProgress field's value.
9267func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
9268	s.RestoreInProgress = &v
9269	return s
9270}
9271
9272// SetSourceBackupArn sets the SourceBackupArn field's value.
9273func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
9274	s.SourceBackupArn = &v
9275	return s
9276}
9277
9278// SetSourceTableArn sets the SourceTableArn field's value.
9279func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
9280	s.SourceTableArn = &v
9281	return s
9282}
9283
9284// Information about the server-side encryption for the table.
9285type AwsDynamoDbTableSseDescription struct {
9286	_ struct{} `type:"structure"`
9287
9288	// If the key is inaccessible, the date and time when DynamoDB detected that
9289	// the key was inaccessible.
9290	//
9291	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9292	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9293	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9294	InaccessibleEncryptionDateTime *string `type:"string"`
9295
9296	// The ARN of the AWS KMS customer master key (CMK) that is used for the AWS
9297	// KMS encryption.
9298	KmsMasterKeyArn *string `type:"string"`
9299
9300	// The type of server-side encryption.
9301	SseType *string `type:"string"`
9302
9303	// The status of the server-side encryption.
9304	Status *string `type:"string"`
9305}
9306
9307// String returns the string representation
9308func (s AwsDynamoDbTableSseDescription) String() string {
9309	return awsutil.Prettify(s)
9310}
9311
9312// GoString returns the string representation
9313func (s AwsDynamoDbTableSseDescription) GoString() string {
9314	return s.String()
9315}
9316
9317// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
9318func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
9319	s.InaccessibleEncryptionDateTime = &v
9320	return s
9321}
9322
9323// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
9324func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
9325	s.KmsMasterKeyArn = &v
9326	return s
9327}
9328
9329// SetSseType sets the SseType field's value.
9330func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
9331	s.SseType = &v
9332	return s
9333}
9334
9335// SetStatus sets the Status field's value.
9336func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
9337	s.Status = &v
9338	return s
9339}
9340
9341// The current DynamoDB Streams configuration for the table.
9342type AwsDynamoDbTableStreamSpecification struct {
9343	_ struct{} `type:"structure"`
9344
9345	// Indicates whether DynamoDB Streams is enabled on the table.
9346	StreamEnabled *bool `type:"boolean"`
9347
9348	// Determines the information that is written to the table.
9349	StreamViewType *string `type:"string"`
9350}
9351
9352// String returns the string representation
9353func (s AwsDynamoDbTableStreamSpecification) String() string {
9354	return awsutil.Prettify(s)
9355}
9356
9357// GoString returns the string representation
9358func (s AwsDynamoDbTableStreamSpecification) GoString() string {
9359	return s.String()
9360}
9361
9362// SetStreamEnabled sets the StreamEnabled field's value.
9363func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
9364	s.StreamEnabled = &v
9365	return s
9366}
9367
9368// SetStreamViewType sets the StreamViewType field's value.
9369func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
9370	s.StreamViewType = &v
9371	return s
9372}
9373
9374// Information about an Elastic IP address.
9375type AwsEc2EipDetails struct {
9376	_ struct{} `type:"structure"`
9377
9378	// The identifier that AWS assigns to represent the allocation of the Elastic
9379	// IP address for use with Amazon VPC.
9380	AllocationId *string `type:"string"`
9381
9382	// The identifier that represents the association of the Elastic IP address
9383	// with an EC2 instance.
9384	AssociationId *string `type:"string"`
9385
9386	// The domain in which to allocate the address.
9387	//
9388	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
9389	// Otherwise, Domain is standard.
9390	Domain *string `type:"string"`
9391
9392	// The identifier of the EC2 instance.
9393	InstanceId *string `type:"string"`
9394
9395	// The name of the location from which the Elastic IP address is advertised.
9396	NetworkBorderGroup *string `type:"string"`
9397
9398	// The identifier of the network interface.
9399	NetworkInterfaceId *string `type:"string"`
9400
9401	// The AWS account ID of the owner of the network interface.
9402	NetworkInterfaceOwnerId *string `type:"string"`
9403
9404	// The private IP address that is associated with the Elastic IP address.
9405	PrivateIpAddress *string `type:"string"`
9406
9407	// A public IP address that is associated with the EC2 instance.
9408	PublicIp *string `type:"string"`
9409
9410	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
9411	// select an IP address from the address pool.
9412	PublicIpv4Pool *string `type:"string"`
9413}
9414
9415// String returns the string representation
9416func (s AwsEc2EipDetails) String() string {
9417	return awsutil.Prettify(s)
9418}
9419
9420// GoString returns the string representation
9421func (s AwsEc2EipDetails) GoString() string {
9422	return s.String()
9423}
9424
9425// SetAllocationId sets the AllocationId field's value.
9426func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
9427	s.AllocationId = &v
9428	return s
9429}
9430
9431// SetAssociationId sets the AssociationId field's value.
9432func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
9433	s.AssociationId = &v
9434	return s
9435}
9436
9437// SetDomain sets the Domain field's value.
9438func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
9439	s.Domain = &v
9440	return s
9441}
9442
9443// SetInstanceId sets the InstanceId field's value.
9444func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
9445	s.InstanceId = &v
9446	return s
9447}
9448
9449// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
9450func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
9451	s.NetworkBorderGroup = &v
9452	return s
9453}
9454
9455// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9456func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
9457	s.NetworkInterfaceId = &v
9458	return s
9459}
9460
9461// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
9462func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
9463	s.NetworkInterfaceOwnerId = &v
9464	return s
9465}
9466
9467// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9468func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
9469	s.PrivateIpAddress = &v
9470	return s
9471}
9472
9473// SetPublicIp sets the PublicIp field's value.
9474func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
9475	s.PublicIp = &v
9476	return s
9477}
9478
9479// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
9480func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
9481	s.PublicIpv4Pool = &v
9482	return s
9483}
9484
9485// The details of an Amazon EC2 instance.
9486type AwsEc2InstanceDetails struct {
9487	_ struct{} `type:"structure"`
9488
9489	// The IAM profile ARN of the instance.
9490	IamInstanceProfileArn *string `type:"string"`
9491
9492	// The Amazon Machine Image (AMI) ID of the instance.
9493	ImageId *string `type:"string"`
9494
9495	// The IPv4 addresses associated with the instance.
9496	IpV4Addresses []*string `type:"list"`
9497
9498	// The IPv6 addresses associated with the instance.
9499	IpV6Addresses []*string `type:"list"`
9500
9501	// The key name associated with the instance.
9502	KeyName *string `type:"string"`
9503
9504	// Indicates when the instance was launched.
9505	//
9506	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9507	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9508	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9509	LaunchedAt *string `type:"string"`
9510
9511	// The identifier of the subnet that the instance was launched in.
9512	SubnetId *string `type:"string"`
9513
9514	// The instance type of the instance.
9515	Type *string `type:"string"`
9516
9517	// The identifier of the VPC that the instance was launched in.
9518	VpcId *string `type:"string"`
9519}
9520
9521// String returns the string representation
9522func (s AwsEc2InstanceDetails) String() string {
9523	return awsutil.Prettify(s)
9524}
9525
9526// GoString returns the string representation
9527func (s AwsEc2InstanceDetails) GoString() string {
9528	return s.String()
9529}
9530
9531// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
9532func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
9533	s.IamInstanceProfileArn = &v
9534	return s
9535}
9536
9537// SetImageId sets the ImageId field's value.
9538func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
9539	s.ImageId = &v
9540	return s
9541}
9542
9543// SetIpV4Addresses sets the IpV4Addresses field's value.
9544func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
9545	s.IpV4Addresses = v
9546	return s
9547}
9548
9549// SetIpV6Addresses sets the IpV6Addresses field's value.
9550func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
9551	s.IpV6Addresses = v
9552	return s
9553}
9554
9555// SetKeyName sets the KeyName field's value.
9556func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
9557	s.KeyName = &v
9558	return s
9559}
9560
9561// SetLaunchedAt sets the LaunchedAt field's value.
9562func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
9563	s.LaunchedAt = &v
9564	return s
9565}
9566
9567// SetSubnetId sets the SubnetId field's value.
9568func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
9569	s.SubnetId = &v
9570	return s
9571}
9572
9573// SetType sets the Type field's value.
9574func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
9575	s.Type = &v
9576	return s
9577}
9578
9579// SetVpcId sets the VpcId field's value.
9580func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
9581	s.VpcId = &v
9582	return s
9583}
9584
9585// Information about the network interface attachment.
9586type AwsEc2NetworkInterfaceAttachment struct {
9587	_ struct{} `type:"structure"`
9588
9589	// Indicates when the attachment initiated.
9590	//
9591	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9592	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9593	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9594	AttachTime *string `type:"string"`
9595
9596	// The identifier of the network interface attachment
9597	AttachmentId *string `type:"string"`
9598
9599	// Indicates whether the network interface is deleted when the instance is terminated.
9600	DeleteOnTermination *bool `type:"boolean"`
9601
9602	// The device index of the network interface attachment on the instance.
9603	DeviceIndex *int64 `type:"integer"`
9604
9605	// The ID of the instance.
9606	InstanceId *string `type:"string"`
9607
9608	// The AWS account ID of the owner of the instance.
9609	InstanceOwnerId *string `type:"string"`
9610
9611	// The attachment state.
9612	//
9613	// Valid values: attaching | attached | detaching | detached
9614	Status *string `type:"string"`
9615}
9616
9617// String returns the string representation
9618func (s AwsEc2NetworkInterfaceAttachment) String() string {
9619	return awsutil.Prettify(s)
9620}
9621
9622// GoString returns the string representation
9623func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
9624	return s.String()
9625}
9626
9627// SetAttachTime sets the AttachTime field's value.
9628func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
9629	s.AttachTime = &v
9630	return s
9631}
9632
9633// SetAttachmentId sets the AttachmentId field's value.
9634func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
9635	s.AttachmentId = &v
9636	return s
9637}
9638
9639// SetDeleteOnTermination sets the DeleteOnTermination field's value.
9640func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
9641	s.DeleteOnTermination = &v
9642	return s
9643}
9644
9645// SetDeviceIndex sets the DeviceIndex field's value.
9646func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
9647	s.DeviceIndex = &v
9648	return s
9649}
9650
9651// SetInstanceId sets the InstanceId field's value.
9652func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
9653	s.InstanceId = &v
9654	return s
9655}
9656
9657// SetInstanceOwnerId sets the InstanceOwnerId field's value.
9658func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
9659	s.InstanceOwnerId = &v
9660	return s
9661}
9662
9663// SetStatus sets the Status field's value.
9664func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
9665	s.Status = &v
9666	return s
9667}
9668
9669// Details about the network interface
9670type AwsEc2NetworkInterfaceDetails struct {
9671	_ struct{} `type:"structure"`
9672
9673	// The network interface attachment.
9674	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
9675
9676	// The IPv6 addresses associated with the network interface.
9677	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
9678
9679	// The ID of the network interface.
9680	NetworkInterfaceId *string `type:"string"`
9681
9682	// The private IPv4 addresses associated with the network interface.
9683	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
9684
9685	// The public DNS name of the network interface.
9686	PublicDnsName *string `type:"string"`
9687
9688	// The address of the Elastic IP address bound to the network interface.
9689	PublicIp *string `type:"string"`
9690
9691	// Security groups for the network interface.
9692	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
9693
9694	// Indicates whether traffic to or from the instance is validated.
9695	SourceDestCheck *bool `type:"boolean"`
9696}
9697
9698// String returns the string representation
9699func (s AwsEc2NetworkInterfaceDetails) String() string {
9700	return awsutil.Prettify(s)
9701}
9702
9703// GoString returns the string representation
9704func (s AwsEc2NetworkInterfaceDetails) GoString() string {
9705	return s.String()
9706}
9707
9708// SetAttachment sets the Attachment field's value.
9709func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
9710	s.Attachment = v
9711	return s
9712}
9713
9714// SetIpV6Addresses sets the IpV6Addresses field's value.
9715func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
9716	s.IpV6Addresses = v
9717	return s
9718}
9719
9720// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9721func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
9722	s.NetworkInterfaceId = &v
9723	return s
9724}
9725
9726// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
9727func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
9728	s.PrivateIpAddresses = v
9729	return s
9730}
9731
9732// SetPublicDnsName sets the PublicDnsName field's value.
9733func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
9734	s.PublicDnsName = &v
9735	return s
9736}
9737
9738// SetPublicIp sets the PublicIp field's value.
9739func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
9740	s.PublicIp = &v
9741	return s
9742}
9743
9744// SetSecurityGroups sets the SecurityGroups field's value.
9745func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
9746	s.SecurityGroups = v
9747	return s
9748}
9749
9750// SetSourceDestCheck sets the SourceDestCheck field's value.
9751func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
9752	s.SourceDestCheck = &v
9753	return s
9754}
9755
9756// Provides information about an IPV6 address that is associated with the network
9757// interface.
9758type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
9759	_ struct{} `type:"structure"`
9760
9761	// The IPV6 address.
9762	IpV6Address *string `type:"string"`
9763}
9764
9765// String returns the string representation
9766func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
9767	return awsutil.Prettify(s)
9768}
9769
9770// GoString returns the string representation
9771func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
9772	return s.String()
9773}
9774
9775// SetIpV6Address sets the IpV6Address field's value.
9776func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
9777	s.IpV6Address = &v
9778	return s
9779}
9780
9781// Provides information about a private IPv4 address that is with the network
9782// interface.
9783type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
9784	_ struct{} `type:"structure"`
9785
9786	// The private DNS name for the IP address.
9787	PrivateDnsName *string `type:"string"`
9788
9789	// The IP address.
9790	PrivateIpAddress *string `type:"string"`
9791}
9792
9793// String returns the string representation
9794func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
9795	return awsutil.Prettify(s)
9796}
9797
9798// GoString returns the string representation
9799func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
9800	return s.String()
9801}
9802
9803// SetPrivateDnsName sets the PrivateDnsName field's value.
9804func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
9805	s.PrivateDnsName = &v
9806	return s
9807}
9808
9809// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9810func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
9811	s.PrivateIpAddress = &v
9812	return s
9813}
9814
9815// A security group associated with the network interface.
9816type AwsEc2NetworkInterfaceSecurityGroup struct {
9817	_ struct{} `type:"structure"`
9818
9819	// The ID of the security group.
9820	GroupId *string `type:"string"`
9821
9822	// The name of the security group.
9823	GroupName *string `type:"string"`
9824}
9825
9826// String returns the string representation
9827func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
9828	return awsutil.Prettify(s)
9829}
9830
9831// GoString returns the string representation
9832func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
9833	return s.String()
9834}
9835
9836// SetGroupId sets the GroupId field's value.
9837func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
9838	s.GroupId = &v
9839	return s
9840}
9841
9842// SetGroupName sets the GroupName field's value.
9843func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
9844	s.GroupName = &v
9845	return s
9846}
9847
9848// Details about an EC2 security group.
9849type AwsEc2SecurityGroupDetails struct {
9850	_ struct{} `type:"structure"`
9851
9852	// The ID of the security group.
9853	GroupId *string `type:"string"`
9854
9855	// The name of the security group.
9856	GroupName *string `type:"string"`
9857
9858	// The inbound rules associated with the security group.
9859	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
9860
9861	// [VPC only] The outbound rules associated with the security group.
9862	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
9863
9864	// The AWS account ID of the owner of the security group.
9865	OwnerId *string `type:"string"`
9866
9867	// [VPC only] The ID of the VPC for the security group.
9868	VpcId *string `type:"string"`
9869}
9870
9871// String returns the string representation
9872func (s AwsEc2SecurityGroupDetails) String() string {
9873	return awsutil.Prettify(s)
9874}
9875
9876// GoString returns the string representation
9877func (s AwsEc2SecurityGroupDetails) GoString() string {
9878	return s.String()
9879}
9880
9881// SetGroupId sets the GroupId field's value.
9882func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
9883	s.GroupId = &v
9884	return s
9885}
9886
9887// SetGroupName sets the GroupName field's value.
9888func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
9889	s.GroupName = &v
9890	return s
9891}
9892
9893// SetIpPermissions sets the IpPermissions field's value.
9894func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
9895	s.IpPermissions = v
9896	return s
9897}
9898
9899// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
9900func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
9901	s.IpPermissionsEgress = v
9902	return s
9903}
9904
9905// SetOwnerId sets the OwnerId field's value.
9906func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
9907	s.OwnerId = &v
9908	return s
9909}
9910
9911// SetVpcId sets the VpcId field's value.
9912func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
9913	s.VpcId = &v
9914	return s
9915}
9916
9917// An IP permission for an EC2 security group.
9918type AwsEc2SecurityGroupIpPermission struct {
9919	_ struct{} `type:"structure"`
9920
9921	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
9922	// type number.
9923	//
9924	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
9925	// types, you must specify all codes.
9926	FromPort *int64 `type:"integer"`
9927
9928	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
9929	//
9930	// [VPC only] Use -1 to specify all protocols.
9931	//
9932	// When authorizing security group rules, specifying -1 or a protocol number
9933	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
9934	// of any port range you specify.
9935	//
9936	// For tcp, udp, and icmp, you must specify a port range.
9937	//
9938	// For icmpv6, the port range is optional. If you omit the port range, traffic
9939	// for all types and codes is allowed.
9940	IpProtocol *string `type:"string"`
9941
9942	// The IPv4 ranges.
9943	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
9944
9945	// The IPv6 ranges.
9946	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
9947
9948	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
9949	// is the AWS service to access through a VPC endpoint from instances associated
9950	// with the security group.
9951	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
9952
9953	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
9954	// code.
9955	//
9956	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
9957	// types, you must specify all codes.
9958	ToPort *int64 `type:"integer"`
9959
9960	// The security group and AWS account ID pairs.
9961	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
9962}
9963
9964// String returns the string representation
9965func (s AwsEc2SecurityGroupIpPermission) String() string {
9966	return awsutil.Prettify(s)
9967}
9968
9969// GoString returns the string representation
9970func (s AwsEc2SecurityGroupIpPermission) GoString() string {
9971	return s.String()
9972}
9973
9974// SetFromPort sets the FromPort field's value.
9975func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
9976	s.FromPort = &v
9977	return s
9978}
9979
9980// SetIpProtocol sets the IpProtocol field's value.
9981func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
9982	s.IpProtocol = &v
9983	return s
9984}
9985
9986// SetIpRanges sets the IpRanges field's value.
9987func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
9988	s.IpRanges = v
9989	return s
9990}
9991
9992// SetIpv6Ranges sets the Ipv6Ranges field's value.
9993func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
9994	s.Ipv6Ranges = v
9995	return s
9996}
9997
9998// SetPrefixListIds sets the PrefixListIds field's value.
9999func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
10000	s.PrefixListIds = v
10001	return s
10002}
10003
10004// SetToPort sets the ToPort field's value.
10005func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
10006	s.ToPort = &v
10007	return s
10008}
10009
10010// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
10011func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
10012	s.UserIdGroupPairs = v
10013	return s
10014}
10015
10016// A range of IPv4 addresses.
10017type AwsEc2SecurityGroupIpRange struct {
10018	_ struct{} `type:"structure"`
10019
10020	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
10021	// group, but not both. To specify a single IPv4 address, use the /32 prefix
10022	// length.
10023	CidrIp *string `type:"string"`
10024}
10025
10026// String returns the string representation
10027func (s AwsEc2SecurityGroupIpRange) String() string {
10028	return awsutil.Prettify(s)
10029}
10030
10031// GoString returns the string representation
10032func (s AwsEc2SecurityGroupIpRange) GoString() string {
10033	return s.String()
10034}
10035
10036// SetCidrIp sets the CidrIp field's value.
10037func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
10038	s.CidrIp = &v
10039	return s
10040}
10041
10042// A range of IPv6 addresses.
10043type AwsEc2SecurityGroupIpv6Range struct {
10044	_ struct{} `type:"structure"`
10045
10046	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
10047	// group, but not both. To specify a single IPv6 address, use the /128 prefix
10048	// length.
10049	CidrIpv6 *string `type:"string"`
10050}
10051
10052// String returns the string representation
10053func (s AwsEc2SecurityGroupIpv6Range) String() string {
10054	return awsutil.Prettify(s)
10055}
10056
10057// GoString returns the string representation
10058func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
10059	return s.String()
10060}
10061
10062// SetCidrIpv6 sets the CidrIpv6 field's value.
10063func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
10064	s.CidrIpv6 = &v
10065	return s
10066}
10067
10068// A prefix list ID.
10069type AwsEc2SecurityGroupPrefixListId struct {
10070	_ struct{} `type:"structure"`
10071
10072	// The ID of the prefix.
10073	PrefixListId *string `type:"string"`
10074}
10075
10076// String returns the string representation
10077func (s AwsEc2SecurityGroupPrefixListId) String() string {
10078	return awsutil.Prettify(s)
10079}
10080
10081// GoString returns the string representation
10082func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
10083	return s.String()
10084}
10085
10086// SetPrefixListId sets the PrefixListId field's value.
10087func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
10088	s.PrefixListId = &v
10089	return s
10090}
10091
10092// A relationship between a security group and a user.
10093type AwsEc2SecurityGroupUserIdGroupPair struct {
10094	_ struct{} `type:"structure"`
10095
10096	// The ID of the security group.
10097	GroupId *string `type:"string"`
10098
10099	// The name of the security group.
10100	GroupName *string `type:"string"`
10101
10102	// The status of a VPC peering connection, if applicable.
10103	PeeringStatus *string `type:"string"`
10104
10105	// The ID of an AWS account.
10106	//
10107	// For a referenced security group in another VPC, the account ID of the referenced
10108	// security group is returned in the response. If the referenced security group
10109	// is deleted, this value is not returned.
10110	//
10111	// [EC2-Classic] Required when adding or removing rules that reference a security
10112	// group in another AWS.
10113	UserId *string `type:"string"`
10114
10115	// The ID of the VPC for the referenced security group, if applicable.
10116	VpcId *string `type:"string"`
10117
10118	// The ID of the VPC peering connection, if applicable.
10119	VpcPeeringConnectionId *string `type:"string"`
10120}
10121
10122// String returns the string representation
10123func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
10124	return awsutil.Prettify(s)
10125}
10126
10127// GoString returns the string representation
10128func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
10129	return s.String()
10130}
10131
10132// SetGroupId sets the GroupId field's value.
10133func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10134	s.GroupId = &v
10135	return s
10136}
10137
10138// SetGroupName sets the GroupName field's value.
10139func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10140	s.GroupName = &v
10141	return s
10142}
10143
10144// SetPeeringStatus sets the PeeringStatus field's value.
10145func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10146	s.PeeringStatus = &v
10147	return s
10148}
10149
10150// SetUserId sets the UserId field's value.
10151func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10152	s.UserId = &v
10153	return s
10154}
10155
10156// SetVpcId sets the VpcId field's value.
10157func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10158	s.VpcId = &v
10159	return s
10160}
10161
10162// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10163func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10164	s.VpcPeeringConnectionId = &v
10165	return s
10166}
10167
10168// An attachment to an AWS EC2 volume.
10169type AwsEc2VolumeAttachment struct {
10170	_ struct{} `type:"structure"`
10171
10172	// The datetime when the attachment initiated.
10173	AttachTime *string `type:"string"`
10174
10175	// Whether the EBS volume is deleted when the EC2 instance is terminated.
10176	DeleteOnTermination *bool `type:"boolean"`
10177
10178	// The identifier of the EC2 instance.
10179	InstanceId *string `type:"string"`
10180
10181	// The attachment state of the volume.
10182	Status *string `type:"string"`
10183}
10184
10185// String returns the string representation
10186func (s AwsEc2VolumeAttachment) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s AwsEc2VolumeAttachment) GoString() string {
10192	return s.String()
10193}
10194
10195// SetAttachTime sets the AttachTime field's value.
10196func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
10197	s.AttachTime = &v
10198	return s
10199}
10200
10201// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10202func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
10203	s.DeleteOnTermination = &v
10204	return s
10205}
10206
10207// SetInstanceId sets the InstanceId field's value.
10208func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
10209	s.InstanceId = &v
10210	return s
10211}
10212
10213// SetStatus sets the Status field's value.
10214func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
10215	s.Status = &v
10216	return s
10217}
10218
10219// Details about an EC2 volume.
10220type AwsEc2VolumeDetails struct {
10221	_ struct{} `type:"structure"`
10222
10223	// The volume attachments.
10224	Attachments []*AwsEc2VolumeAttachment `type:"list"`
10225
10226	// Indicates when the volume was created.
10227	//
10228	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10229	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10230	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10231	CreateTime *string `type:"string"`
10232
10233	// Whether the volume is encrypted.
10234	Encrypted *bool `type:"boolean"`
10235
10236	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK)
10237	// that was used to protect the volume encryption key for the volume.
10238	KmsKeyId *string `type:"string"`
10239
10240	// The size of the volume, in GiBs.
10241	Size *int64 `type:"integer"`
10242
10243	// The snapshot from which the volume was created.
10244	SnapshotId *string `type:"string"`
10245
10246	// The volume state.
10247	Status *string `type:"string"`
10248}
10249
10250// String returns the string representation
10251func (s AwsEc2VolumeDetails) String() string {
10252	return awsutil.Prettify(s)
10253}
10254
10255// GoString returns the string representation
10256func (s AwsEc2VolumeDetails) GoString() string {
10257	return s.String()
10258}
10259
10260// SetAttachments sets the Attachments field's value.
10261func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
10262	s.Attachments = v
10263	return s
10264}
10265
10266// SetCreateTime sets the CreateTime field's value.
10267func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
10268	s.CreateTime = &v
10269	return s
10270}
10271
10272// SetEncrypted sets the Encrypted field's value.
10273func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
10274	s.Encrypted = &v
10275	return s
10276}
10277
10278// SetKmsKeyId sets the KmsKeyId field's value.
10279func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
10280	s.KmsKeyId = &v
10281	return s
10282}
10283
10284// SetSize sets the Size field's value.
10285func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
10286	s.Size = &v
10287	return s
10288}
10289
10290// SetSnapshotId sets the SnapshotId field's value.
10291func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
10292	s.SnapshotId = &v
10293	return s
10294}
10295
10296// SetStatus sets the Status field's value.
10297func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
10298	s.Status = &v
10299	return s
10300}
10301
10302// Details about an EC2 VPC.
10303type AwsEc2VpcDetails struct {
10304	_ struct{} `type:"structure"`
10305
10306	// Information about the IPv4 CIDR blocks associated with the VPC.
10307	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
10308
10309	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
10310	// that are associated with the VPC. If the default options are associated with
10311	// the VPC, then this is default.
10312	DhcpOptionsId *string `type:"string"`
10313
10314	// Information about the IPv6 CIDR blocks associated with the VPC.
10315	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
10316
10317	// The current state of the VPC.
10318	State *string `type:"string"`
10319}
10320
10321// String returns the string representation
10322func (s AwsEc2VpcDetails) String() string {
10323	return awsutil.Prettify(s)
10324}
10325
10326// GoString returns the string representation
10327func (s AwsEc2VpcDetails) GoString() string {
10328	return s.String()
10329}
10330
10331// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
10332func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
10333	s.CidrBlockAssociationSet = v
10334	return s
10335}
10336
10337// SetDhcpOptionsId sets the DhcpOptionsId field's value.
10338func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
10339	s.DhcpOptionsId = &v
10340	return s
10341}
10342
10343// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
10344func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
10345	s.Ipv6CidrBlockAssociationSet = v
10346	return s
10347}
10348
10349// SetState sets the State field's value.
10350func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
10351	s.State = &v
10352	return s
10353}
10354
10355// Information about an Elasticsearch domain.
10356type AwsElasticsearchDomainDetails struct {
10357	_ struct{} `type:"structure"`
10358
10359	// IAM policy document specifying the access policies for the new Amazon ES
10360	// domain.
10361	AccessPolicies *string `type:"string"`
10362
10363	// Additional options for the domain endpoint.
10364	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
10365
10366	// Unique identifier for an Amazon ES domain.
10367	DomainId *string `type:"string"`
10368
10369	// Name of an Amazon ES domain.
10370	//
10371	// Domain names are unique across all domains owned by the same account within
10372	// an AWS Region.
10373	//
10374	// Domain names must start with a lowercase letter and must be between 3 and
10375	// 28 characters.
10376	//
10377	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
10378	DomainName *string `type:"string"`
10379
10380	// Elasticsearch version.
10381	ElasticsearchVersion *string `type:"string"`
10382
10383	// Details about the configuration for encryption at rest.
10384	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
10385
10386	// Domain-specific endpoint used to submit index, search, and data upload requests
10387	// to an Amazon ES domain.
10388	//
10389	// The endpoint is a service URL.
10390	Endpoint *string `type:"string"`
10391
10392	// The key-value pair that exists if the Amazon ES domain uses VPC endpoints.
10393	Endpoints map[string]*string `type:"map"`
10394
10395	// Details about the configuration for node-to-node encryption.
10396	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
10397
10398	// Information that Amazon ES derives based on VPCOptions for the domain.
10399	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
10400}
10401
10402// String returns the string representation
10403func (s AwsElasticsearchDomainDetails) String() string {
10404	return awsutil.Prettify(s)
10405}
10406
10407// GoString returns the string representation
10408func (s AwsElasticsearchDomainDetails) GoString() string {
10409	return s.String()
10410}
10411
10412// SetAccessPolicies sets the AccessPolicies field's value.
10413func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
10414	s.AccessPolicies = &v
10415	return s
10416}
10417
10418// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
10419func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
10420	s.DomainEndpointOptions = v
10421	return s
10422}
10423
10424// SetDomainId sets the DomainId field's value.
10425func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
10426	s.DomainId = &v
10427	return s
10428}
10429
10430// SetDomainName sets the DomainName field's value.
10431func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
10432	s.DomainName = &v
10433	return s
10434}
10435
10436// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
10437func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
10438	s.ElasticsearchVersion = &v
10439	return s
10440}
10441
10442// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
10443func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
10444	s.EncryptionAtRestOptions = v
10445	return s
10446}
10447
10448// SetEndpoint sets the Endpoint field's value.
10449func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
10450	s.Endpoint = &v
10451	return s
10452}
10453
10454// SetEndpoints sets the Endpoints field's value.
10455func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
10456	s.Endpoints = v
10457	return s
10458}
10459
10460// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
10461func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
10462	s.NodeToNodeEncryptionOptions = v
10463	return s
10464}
10465
10466// SetVPCOptions sets the VPCOptions field's value.
10467func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
10468	s.VPCOptions = v
10469	return s
10470}
10471
10472// Additional options for the domain endpoint, such as whether to require HTTPS
10473// for all traffic.
10474type AwsElasticsearchDomainDomainEndpointOptions struct {
10475	_ struct{} `type:"structure"`
10476
10477	// Whether to require that all traffic to the domain arrive over HTTPS.
10478	EnforceHTTPS *bool `type:"boolean"`
10479
10480	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
10481	// domain.
10482	//
10483	// Valid values:
10484	//
10485	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
10486	//
10487	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
10488	TLSSecurityPolicy *string `type:"string"`
10489}
10490
10491// String returns the string representation
10492func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
10493	return awsutil.Prettify(s)
10494}
10495
10496// GoString returns the string representation
10497func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
10498	return s.String()
10499}
10500
10501// SetEnforceHTTPS sets the EnforceHTTPS field's value.
10502func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
10503	s.EnforceHTTPS = &v
10504	return s
10505}
10506
10507// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
10508func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
10509	s.TLSSecurityPolicy = &v
10510	return s
10511}
10512
10513// Details about the configuration for encryption at rest.
10514type AwsElasticsearchDomainEncryptionAtRestOptions struct {
10515	_ struct{} `type:"structure"`
10516
10517	// Whether encryption at rest is enabled.
10518	Enabled *bool `type:"boolean"`
10519
10520	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
10521	KmsKeyId *string `type:"string"`
10522}
10523
10524// String returns the string representation
10525func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
10526	return awsutil.Prettify(s)
10527}
10528
10529// GoString returns the string representation
10530func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
10531	return s.String()
10532}
10533
10534// SetEnabled sets the Enabled field's value.
10535func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
10536	s.Enabled = &v
10537	return s
10538}
10539
10540// SetKmsKeyId sets the KmsKeyId field's value.
10541func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
10542	s.KmsKeyId = &v
10543	return s
10544}
10545
10546// Details about the configuration for node-to-node encryption.
10547type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
10548	_ struct{} `type:"structure"`
10549
10550	// Whether node-to-node encryption is enabled.
10551	Enabled *bool `type:"boolean"`
10552}
10553
10554// String returns the string representation
10555func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
10556	return awsutil.Prettify(s)
10557}
10558
10559// GoString returns the string representation
10560func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
10561	return s.String()
10562}
10563
10564// SetEnabled sets the Enabled field's value.
10565func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
10566	s.Enabled = &v
10567	return s
10568}
10569
10570// Information that Amazon ES derives based on VPCOptions for the domain.
10571type AwsElasticsearchDomainVPCOptions struct {
10572	_ struct{} `type:"structure"`
10573
10574	// The list of Availability Zones associated with the VPC subnets.
10575	AvailabilityZones []*string `type:"list"`
10576
10577	// The list of security group IDs associated with the VPC endpoints for the
10578	// domain.
10579	SecurityGroupIds []*string `type:"list"`
10580
10581	// A list of subnet IDs associated with the VPC endpoints for the domain.
10582	SubnetIds []*string `type:"list"`
10583
10584	// ID for the VPC.
10585	VPCId *string `type:"string"`
10586}
10587
10588// String returns the string representation
10589func (s AwsElasticsearchDomainVPCOptions) String() string {
10590	return awsutil.Prettify(s)
10591}
10592
10593// GoString returns the string representation
10594func (s AwsElasticsearchDomainVPCOptions) GoString() string {
10595	return s.String()
10596}
10597
10598// SetAvailabilityZones sets the AvailabilityZones field's value.
10599func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
10600	s.AvailabilityZones = v
10601	return s
10602}
10603
10604// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10605func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
10606	s.SecurityGroupIds = v
10607	return s
10608}
10609
10610// SetSubnetIds sets the SubnetIds field's value.
10611func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
10612	s.SubnetIds = v
10613	return s
10614}
10615
10616// SetVPCId sets the VPCId field's value.
10617func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
10618	s.VPCId = &v
10619	return s
10620}
10621
10622// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
10623type AwsElbAppCookieStickinessPolicy struct {
10624	_ struct{} `type:"structure"`
10625
10626	// The name of the application cookie used for stickiness.
10627	CookieName *string `type:"string"`
10628
10629	// The mnemonic name for the policy being created. The name must be unique within
10630	// the set of policies for the load balancer.
10631	PolicyName *string `type:"string"`
10632}
10633
10634// String returns the string representation
10635func (s AwsElbAppCookieStickinessPolicy) String() string {
10636	return awsutil.Prettify(s)
10637}
10638
10639// GoString returns the string representation
10640func (s AwsElbAppCookieStickinessPolicy) GoString() string {
10641	return s.String()
10642}
10643
10644// SetCookieName sets the CookieName field's value.
10645func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
10646	s.CookieName = &v
10647	return s
10648}
10649
10650// SetPolicyName sets the PolicyName field's value.
10651func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
10652	s.PolicyName = &v
10653	return s
10654}
10655
10656// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
10657type AwsElbLbCookieStickinessPolicy struct {
10658	_ struct{} `type:"structure"`
10659
10660	// The amount of time, in seconds, after which the cookie is considered stale.
10661	// If an expiration period is not specified, the stickiness session lasts for
10662	// the duration of the browser session.
10663	CookieExpirationPeriod *int64 `type:"long"`
10664
10665	// The name of the policy. The name must be unique within the set of policies
10666	// for the load balancer.
10667	PolicyName *string `type:"string"`
10668}
10669
10670// String returns the string representation
10671func (s AwsElbLbCookieStickinessPolicy) String() string {
10672	return awsutil.Prettify(s)
10673}
10674
10675// GoString returns the string representation
10676func (s AwsElbLbCookieStickinessPolicy) GoString() string {
10677	return s.String()
10678}
10679
10680// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
10681func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
10682	s.CookieExpirationPeriod = &v
10683	return s
10684}
10685
10686// SetPolicyName sets the PolicyName field's value.
10687func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
10688	s.PolicyName = &v
10689	return s
10690}
10691
10692// Contains information about the access log configuration for the load balancer.
10693type AwsElbLoadBalancerAccessLog struct {
10694	_ struct{} `type:"structure"`
10695
10696	// The interval in minutes for publishing the access logs.
10697	//
10698	// You can publish access logs either every 5 minutes or every 60 minutes.
10699	EmitInterval *int64 `type:"integer"`
10700
10701	// Indicates whether access logs are enabled for the load balancer.
10702	Enabled *bool `type:"boolean"`
10703
10704	// The name of the S3 bucket where the access logs are stored.
10705	S3BucketName *string `type:"string"`
10706
10707	// The logical hierarchy that was created for the S3 bucket.
10708	//
10709	// If a prefix is not provided, the log is placed at the root level of the bucket.
10710	S3BucketPrefix *string `type:"string"`
10711}
10712
10713// String returns the string representation
10714func (s AwsElbLoadBalancerAccessLog) String() string {
10715	return awsutil.Prettify(s)
10716}
10717
10718// GoString returns the string representation
10719func (s AwsElbLoadBalancerAccessLog) GoString() string {
10720	return s.String()
10721}
10722
10723// SetEmitInterval sets the EmitInterval field's value.
10724func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
10725	s.EmitInterval = &v
10726	return s
10727}
10728
10729// SetEnabled sets the Enabled field's value.
10730func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
10731	s.Enabled = &v
10732	return s
10733}
10734
10735// SetS3BucketName sets the S3BucketName field's value.
10736func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
10737	s.S3BucketName = &v
10738	return s
10739}
10740
10741// SetS3BucketPrefix sets the S3BucketPrefix field's value.
10742func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
10743	s.S3BucketPrefix = &v
10744	return s
10745}
10746
10747// Contains attributes for the load balancer.
10748type AwsElbLoadBalancerAttributes struct {
10749	_ struct{} `type:"structure"`
10750
10751	// Information about the access log configuration for the load balancer.
10752	//
10753	// If the access log is enabled, the load balancer captures detailed information
10754	// about all requests. It delivers the information to a specified S3 bucket.
10755	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
10756
10757	// Information about the connection draining configuration for the load balancer.
10758	//
10759	// If connection draining is enabled, the load balancer allows existing requests
10760	// to complete before it shifts traffic away from a deregistered or unhealthy
10761	// instance.
10762	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
10763
10764	// Connection settings for the load balancer.
10765	//
10766	// If an idle timeout is configured, the load balancer allows connections to
10767	// remain idle for the specified duration. When a connection is idle, no data
10768	// is sent over the connection.
10769	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
10770
10771	// Cross-zone load balancing settings for the load balancer.
10772	//
10773	// If cross-zone load balancing is enabled, the load balancer routes the request
10774	// traffic evenly across all instances regardless of the Availability Zones.
10775	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
10776}
10777
10778// String returns the string representation
10779func (s AwsElbLoadBalancerAttributes) String() string {
10780	return awsutil.Prettify(s)
10781}
10782
10783// GoString returns the string representation
10784func (s AwsElbLoadBalancerAttributes) GoString() string {
10785	return s.String()
10786}
10787
10788// SetAccessLog sets the AccessLog field's value.
10789func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
10790	s.AccessLog = v
10791	return s
10792}
10793
10794// SetConnectionDraining sets the ConnectionDraining field's value.
10795func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
10796	s.ConnectionDraining = v
10797	return s
10798}
10799
10800// SetConnectionSettings sets the ConnectionSettings field's value.
10801func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
10802	s.ConnectionSettings = v
10803	return s
10804}
10805
10806// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
10807func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
10808	s.CrossZoneLoadBalancing = v
10809	return s
10810}
10811
10812// Provides information about the configuration of an EC2 instance for the load
10813// balancer.
10814type AwsElbLoadBalancerBackendServerDescription struct {
10815	_ struct{} `type:"structure"`
10816
10817	// The port on which the EC2 instance is listening.
10818	InstancePort *int64 `type:"integer"`
10819
10820	// The names of the policies that are enabled for the EC2 instance.
10821	PolicyNames []*string `type:"list"`
10822}
10823
10824// String returns the string representation
10825func (s AwsElbLoadBalancerBackendServerDescription) String() string {
10826	return awsutil.Prettify(s)
10827}
10828
10829// GoString returns the string representation
10830func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
10831	return s.String()
10832}
10833
10834// SetInstancePort sets the InstancePort field's value.
10835func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
10836	s.InstancePort = &v
10837	return s
10838}
10839
10840// SetPolicyNames sets the PolicyNames field's value.
10841func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
10842	s.PolicyNames = v
10843	return s
10844}
10845
10846// Contains information about the connection draining configuration for the
10847// load balancer.
10848type AwsElbLoadBalancerConnectionDraining struct {
10849	_ struct{} `type:"structure"`
10850
10851	// Indicates whether connection draining is enabled for the load balancer.
10852	Enabled *bool `type:"boolean"`
10853
10854	// The maximum time, in seconds, to keep the existing connections open before
10855	// deregistering the instances.
10856	Timeout *int64 `type:"integer"`
10857}
10858
10859// String returns the string representation
10860func (s AwsElbLoadBalancerConnectionDraining) String() string {
10861	return awsutil.Prettify(s)
10862}
10863
10864// GoString returns the string representation
10865func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
10866	return s.String()
10867}
10868
10869// SetEnabled sets the Enabled field's value.
10870func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
10871	s.Enabled = &v
10872	return s
10873}
10874
10875// SetTimeout sets the Timeout field's value.
10876func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
10877	s.Timeout = &v
10878	return s
10879}
10880
10881// Contains connection settings for the load balancer.
10882type AwsElbLoadBalancerConnectionSettings struct {
10883	_ struct{} `type:"structure"`
10884
10885	// The time, in seconds, that the connection can be idle (no data is sent over
10886	// the connection) before it is closed by the load balancer.
10887	IdleTimeout *int64 `type:"integer"`
10888}
10889
10890// String returns the string representation
10891func (s AwsElbLoadBalancerConnectionSettings) String() string {
10892	return awsutil.Prettify(s)
10893}
10894
10895// GoString returns the string representation
10896func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
10897	return s.String()
10898}
10899
10900// SetIdleTimeout sets the IdleTimeout field's value.
10901func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
10902	s.IdleTimeout = &v
10903	return s
10904}
10905
10906// Contains cross-zone load balancing settings for the load balancer.
10907type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
10908	_ struct{} `type:"structure"`
10909
10910	// Indicates whether cross-zone load balancing is enabled for the load balancer.
10911	Enabled *bool `type:"boolean"`
10912}
10913
10914// String returns the string representation
10915func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
10916	return awsutil.Prettify(s)
10917}
10918
10919// GoString returns the string representation
10920func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
10921	return s.String()
10922}
10923
10924// SetEnabled sets the Enabled field's value.
10925func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
10926	s.Enabled = &v
10927	return s
10928}
10929
10930// Contains details about a Classic Load Balancer.
10931type AwsElbLoadBalancerDetails struct {
10932	_ struct{} `type:"structure"`
10933
10934	// The list of Availability Zones for the load balancer.
10935	AvailabilityZones []*string `type:"list"`
10936
10937	// Information about the configuration of the EC2 instances.
10938	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
10939
10940	// The name of the Amazon Route 53 hosted zone for the load balancer.
10941	CanonicalHostedZoneName *string `type:"string"`
10942
10943	// The ID of the Amazon Route 53 hosted zone for the load balancer.
10944	CanonicalHostedZoneNameID *string `type:"string"`
10945
10946	// Indicates when the load balancer was created.
10947	//
10948	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10949	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10950	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10951	CreatedTime *string `type:"string"`
10952
10953	// The DNS name of the load balancer.
10954	DnsName *string `type:"string"`
10955
10956	// Information about the health checks that are conducted on the load balancer.
10957	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
10958
10959	// List of EC2 instances for the load balancer.
10960	Instances []*AwsElbLoadBalancerInstance `type:"list"`
10961
10962	// The policies that are enabled for the load balancer listeners.
10963	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
10964
10965	// The attributes for a load balancer.
10966	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
10967
10968	// The name of the load balancer.
10969	LoadBalancerName *string `type:"string"`
10970
10971	// The policies for a load balancer.
10972	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
10973
10974	// The type of load balancer. Only provided if the load balancer is in a VPC.
10975	//
10976	// If Scheme is internet-facing, the load balancer has a public DNS name that
10977	// resolves to a public IP address.
10978	//
10979	// If Scheme is internal, the load balancer has a public DNS name that resolves
10980	// to a private IP address.
10981	Scheme *string `type:"string"`
10982
10983	// The security groups for the load balancer. Only provided if the load balancer
10984	// is in a VPC.
10985	SecurityGroups []*string `type:"list"`
10986
10987	// Information about the security group for the load balancer. This is the security
10988	// group that is used for inbound rules.
10989	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
10990
10991	// The list of subnet identifiers for the load balancer.
10992	Subnets []*string `type:"list"`
10993
10994	// The identifier of the VPC for the load balancer.
10995	VpcId *string `type:"string"`
10996}
10997
10998// String returns the string representation
10999func (s AwsElbLoadBalancerDetails) String() string {
11000	return awsutil.Prettify(s)
11001}
11002
11003// GoString returns the string representation
11004func (s AwsElbLoadBalancerDetails) GoString() string {
11005	return s.String()
11006}
11007
11008// SetAvailabilityZones sets the AvailabilityZones field's value.
11009func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
11010	s.AvailabilityZones = v
11011	return s
11012}
11013
11014// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
11015func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
11016	s.BackendServerDescriptions = v
11017	return s
11018}
11019
11020// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
11021func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
11022	s.CanonicalHostedZoneName = &v
11023	return s
11024}
11025
11026// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
11027func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
11028	s.CanonicalHostedZoneNameID = &v
11029	return s
11030}
11031
11032// SetCreatedTime sets the CreatedTime field's value.
11033func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
11034	s.CreatedTime = &v
11035	return s
11036}
11037
11038// SetDnsName sets the DnsName field's value.
11039func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
11040	s.DnsName = &v
11041	return s
11042}
11043
11044// SetHealthCheck sets the HealthCheck field's value.
11045func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
11046	s.HealthCheck = v
11047	return s
11048}
11049
11050// SetInstances sets the Instances field's value.
11051func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
11052	s.Instances = v
11053	return s
11054}
11055
11056// SetListenerDescriptions sets the ListenerDescriptions field's value.
11057func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
11058	s.ListenerDescriptions = v
11059	return s
11060}
11061
11062// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
11063func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
11064	s.LoadBalancerAttributes = v
11065	return s
11066}
11067
11068// SetLoadBalancerName sets the LoadBalancerName field's value.
11069func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
11070	s.LoadBalancerName = &v
11071	return s
11072}
11073
11074// SetPolicies sets the Policies field's value.
11075func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
11076	s.Policies = v
11077	return s
11078}
11079
11080// SetScheme sets the Scheme field's value.
11081func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
11082	s.Scheme = &v
11083	return s
11084}
11085
11086// SetSecurityGroups sets the SecurityGroups field's value.
11087func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
11088	s.SecurityGroups = v
11089	return s
11090}
11091
11092// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
11093func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
11094	s.SourceSecurityGroup = v
11095	return s
11096}
11097
11098// SetSubnets sets the Subnets field's value.
11099func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
11100	s.Subnets = v
11101	return s
11102}
11103
11104// SetVpcId sets the VpcId field's value.
11105func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
11106	s.VpcId = &v
11107	return s
11108}
11109
11110// Contains information about the health checks that are conducted on the load
11111// balancer.
11112type AwsElbLoadBalancerHealthCheck struct {
11113	_ struct{} `type:"structure"`
11114
11115	// The number of consecutive health check successes required before the instance
11116	// is moved to the Healthy state.
11117	HealthyThreshold *int64 `type:"integer"`
11118
11119	// The approximate interval, in seconds, between health checks of an individual
11120	// instance.
11121	Interval *int64 `type:"integer"`
11122
11123	// The instance that is being checked. The target specifies the protocol and
11124	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
11125	// valid ports is 1 through 65535.
11126	//
11127	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
11128	//
11129	// For the TCP protocol, the target is specified as TCP: <port> .
11130	//
11131	// For the SSL protocol, the target is specified as SSL.<port> .
11132	//
11133	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
11134	// to ping> .
11135	Target *string `type:"string"`
11136
11137	// The amount of time, in seconds, during which no response means a failed health
11138	// check.
11139	Timeout *int64 `type:"integer"`
11140
11141	// The number of consecutive health check failures that must occur before the
11142	// instance is moved to the Unhealthy state.
11143	UnhealthyThreshold *int64 `type:"integer"`
11144}
11145
11146// String returns the string representation
11147func (s AwsElbLoadBalancerHealthCheck) String() string {
11148	return awsutil.Prettify(s)
11149}
11150
11151// GoString returns the string representation
11152func (s AwsElbLoadBalancerHealthCheck) GoString() string {
11153	return s.String()
11154}
11155
11156// SetHealthyThreshold sets the HealthyThreshold field's value.
11157func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
11158	s.HealthyThreshold = &v
11159	return s
11160}
11161
11162// SetInterval sets the Interval field's value.
11163func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
11164	s.Interval = &v
11165	return s
11166}
11167
11168// SetTarget sets the Target field's value.
11169func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
11170	s.Target = &v
11171	return s
11172}
11173
11174// SetTimeout sets the Timeout field's value.
11175func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
11176	s.Timeout = &v
11177	return s
11178}
11179
11180// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
11181func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
11182	s.UnhealthyThreshold = &v
11183	return s
11184}
11185
11186// Provides information about an EC2 instance for a load balancer.
11187type AwsElbLoadBalancerInstance struct {
11188	_ struct{} `type:"structure"`
11189
11190	// The instance identifier.
11191	InstanceId *string `type:"string"`
11192}
11193
11194// String returns the string representation
11195func (s AwsElbLoadBalancerInstance) String() string {
11196	return awsutil.Prettify(s)
11197}
11198
11199// GoString returns the string representation
11200func (s AwsElbLoadBalancerInstance) GoString() string {
11201	return s.String()
11202}
11203
11204// SetInstanceId sets the InstanceId field's value.
11205func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
11206	s.InstanceId = &v
11207	return s
11208}
11209
11210// Information about a load balancer listener.
11211type AwsElbLoadBalancerListener struct {
11212	_ struct{} `type:"structure"`
11213
11214	// The port on which the instance is listening.
11215	InstancePort *int64 `type:"integer"`
11216
11217	// The protocol to use to route traffic to instances.
11218	//
11219	// Valid values: HTTP | HTTPS | TCP | SSL
11220	InstanceProtocol *string `type:"string"`
11221
11222	// The port on which the load balancer is listening.
11223	//
11224	// On EC2-VPC, you can specify any port from the range 1-65535.
11225	//
11226	// On EC2-Classic, you can specify any port from the following list: 25, 80,
11227	// 443, 465, 587, 1024-65535.
11228	LoadBalancerPort *int64 `type:"integer"`
11229
11230	// The load balancer transport protocol to use for routing.
11231	//
11232	// Valid values: HTTP | HTTPS | TCP | SSL
11233	Protocol *string `type:"string"`
11234
11235	// The ARN of the server certificate.
11236	SslCertificateId *string `type:"string"`
11237}
11238
11239// String returns the string representation
11240func (s AwsElbLoadBalancerListener) String() string {
11241	return awsutil.Prettify(s)
11242}
11243
11244// GoString returns the string representation
11245func (s AwsElbLoadBalancerListener) GoString() string {
11246	return s.String()
11247}
11248
11249// SetInstancePort sets the InstancePort field's value.
11250func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
11251	s.InstancePort = &v
11252	return s
11253}
11254
11255// SetInstanceProtocol sets the InstanceProtocol field's value.
11256func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
11257	s.InstanceProtocol = &v
11258	return s
11259}
11260
11261// SetLoadBalancerPort sets the LoadBalancerPort field's value.
11262func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
11263	s.LoadBalancerPort = &v
11264	return s
11265}
11266
11267// SetProtocol sets the Protocol field's value.
11268func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
11269	s.Protocol = &v
11270	return s
11271}
11272
11273// SetSslCertificateId sets the SslCertificateId field's value.
11274func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
11275	s.SslCertificateId = &v
11276	return s
11277}
11278
11279// Lists the policies that are enabled for a load balancer listener.
11280type AwsElbLoadBalancerListenerDescription struct {
11281	_ struct{} `type:"structure"`
11282
11283	// Information about the listener.
11284	Listener *AwsElbLoadBalancerListener `type:"structure"`
11285
11286	// The policies enabled for the listener.
11287	PolicyNames []*string `type:"list"`
11288}
11289
11290// String returns the string representation
11291func (s AwsElbLoadBalancerListenerDescription) String() string {
11292	return awsutil.Prettify(s)
11293}
11294
11295// GoString returns the string representation
11296func (s AwsElbLoadBalancerListenerDescription) GoString() string {
11297	return s.String()
11298}
11299
11300// SetListener sets the Listener field's value.
11301func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
11302	s.Listener = v
11303	return s
11304}
11305
11306// SetPolicyNames sets the PolicyNames field's value.
11307func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
11308	s.PolicyNames = v
11309	return s
11310}
11311
11312// Contains information about the policies for a load balancer.
11313type AwsElbLoadBalancerPolicies struct {
11314	_ struct{} `type:"structure"`
11315
11316	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
11317	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
11318
11319	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
11320	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
11321
11322	// The policies other than the stickiness policies.
11323	OtherPolicies []*string `type:"list"`
11324}
11325
11326// String returns the string representation
11327func (s AwsElbLoadBalancerPolicies) String() string {
11328	return awsutil.Prettify(s)
11329}
11330
11331// GoString returns the string representation
11332func (s AwsElbLoadBalancerPolicies) GoString() string {
11333	return s.String()
11334}
11335
11336// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
11337func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
11338	s.AppCookieStickinessPolicies = v
11339	return s
11340}
11341
11342// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
11343func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
11344	s.LbCookieStickinessPolicies = v
11345	return s
11346}
11347
11348// SetOtherPolicies sets the OtherPolicies field's value.
11349func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
11350	s.OtherPolicies = v
11351	return s
11352}
11353
11354// Contains information about the security group for the load balancer.
11355type AwsElbLoadBalancerSourceSecurityGroup struct {
11356	_ struct{} `type:"structure"`
11357
11358	// The name of the security group.
11359	GroupName *string `type:"string"`
11360
11361	// The owner of the security group.
11362	OwnerAlias *string `type:"string"`
11363}
11364
11365// String returns the string representation
11366func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
11367	return awsutil.Prettify(s)
11368}
11369
11370// GoString returns the string representation
11371func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
11372	return s.String()
11373}
11374
11375// SetGroupName sets the GroupName field's value.
11376func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
11377	s.GroupName = &v
11378	return s
11379}
11380
11381// SetOwnerAlias sets the OwnerAlias field's value.
11382func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
11383	s.OwnerAlias = &v
11384	return s
11385}
11386
11387// Information about a load balancer.
11388type AwsElbv2LoadBalancerDetails struct {
11389	_ struct{} `type:"structure"`
11390
11391	// The Availability Zones for the load balancer.
11392	AvailabilityZones []*AvailabilityZone `type:"list"`
11393
11394	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
11395	CanonicalHostedZoneId *string `type:"string"`
11396
11397	// Indicates when the load balancer was created.
11398	//
11399	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11400	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11401	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11402	CreatedTime *string `type:"string"`
11403
11404	// The public DNS name of the load balancer.
11405	DNSName *string `type:"string"`
11406
11407	// The type of IP addresses used by the subnets for your load balancer. The
11408	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
11409	// IPv6 addresses).
11410	IpAddressType *string `type:"string"`
11411
11412	// The nodes of an Internet-facing load balancer have public IP addresses.
11413	Scheme *string `type:"string"`
11414
11415	// The IDs of the security groups for the load balancer.
11416	SecurityGroups []*string `type:"list"`
11417
11418	// The state of the load balancer.
11419	State *LoadBalancerState `type:"structure"`
11420
11421	// The type of load balancer.
11422	Type *string `type:"string"`
11423
11424	// The ID of the VPC for the load balancer.
11425	VpcId *string `type:"string"`
11426}
11427
11428// String returns the string representation
11429func (s AwsElbv2LoadBalancerDetails) String() string {
11430	return awsutil.Prettify(s)
11431}
11432
11433// GoString returns the string representation
11434func (s AwsElbv2LoadBalancerDetails) GoString() string {
11435	return s.String()
11436}
11437
11438// SetAvailabilityZones sets the AvailabilityZones field's value.
11439func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
11440	s.AvailabilityZones = v
11441	return s
11442}
11443
11444// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
11445func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
11446	s.CanonicalHostedZoneId = &v
11447	return s
11448}
11449
11450// SetCreatedTime sets the CreatedTime field's value.
11451func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
11452	s.CreatedTime = &v
11453	return s
11454}
11455
11456// SetDNSName sets the DNSName field's value.
11457func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
11458	s.DNSName = &v
11459	return s
11460}
11461
11462// SetIpAddressType sets the IpAddressType field's value.
11463func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
11464	s.IpAddressType = &v
11465	return s
11466}
11467
11468// SetScheme sets the Scheme field's value.
11469func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
11470	s.Scheme = &v
11471	return s
11472}
11473
11474// SetSecurityGroups sets the SecurityGroups field's value.
11475func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
11476	s.SecurityGroups = v
11477	return s
11478}
11479
11480// SetState sets the State field's value.
11481func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
11482	s.State = v
11483	return s
11484}
11485
11486// SetType sets the Type field's value.
11487func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
11488	s.Type = &v
11489	return s
11490}
11491
11492// SetVpcId sets the VpcId field's value.
11493func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
11494	s.VpcId = &v
11495	return s
11496}
11497
11498// IAM access key details related to a finding.
11499type AwsIamAccessKeyDetails struct {
11500	_ struct{} `type:"structure"`
11501
11502	// The identifier of the access key.
11503	AccessKeyId *string `type:"string"`
11504
11505	// The AWS account ID of the account for the key.
11506	AccountId *string `type:"string"`
11507
11508	// Indicates when the IAM access key was created.
11509	//
11510	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11511	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11512	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11513	CreatedAt *string `type:"string"`
11514
11515	// The ID of the principal associated with an access key.
11516	PrincipalId *string `type:"string"`
11517
11518	// The name of the principal.
11519	PrincipalName *string `type:"string"`
11520
11521	// The type of principal associated with an access key.
11522	PrincipalType *string `type:"string"`
11523
11524	// Information about the session that the key was used for.
11525	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
11526
11527	// The status of the IAM access key related to a finding.
11528	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
11529
11530	// The user associated with the IAM access key related to a finding.
11531	//
11532	// The UserName parameter has been replaced with the PrincipalName parameter
11533	// because access keys can also be assigned to principals that are not IAM users.
11534	//
11535	// Deprecated: This field is deprecated, use PrincipalName instead.
11536	UserName *string `deprecated:"true" type:"string"`
11537}
11538
11539// String returns the string representation
11540func (s AwsIamAccessKeyDetails) String() string {
11541	return awsutil.Prettify(s)
11542}
11543
11544// GoString returns the string representation
11545func (s AwsIamAccessKeyDetails) GoString() string {
11546	return s.String()
11547}
11548
11549// SetAccessKeyId sets the AccessKeyId field's value.
11550func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
11551	s.AccessKeyId = &v
11552	return s
11553}
11554
11555// SetAccountId sets the AccountId field's value.
11556func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
11557	s.AccountId = &v
11558	return s
11559}
11560
11561// SetCreatedAt sets the CreatedAt field's value.
11562func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
11563	s.CreatedAt = &v
11564	return s
11565}
11566
11567// SetPrincipalId sets the PrincipalId field's value.
11568func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
11569	s.PrincipalId = &v
11570	return s
11571}
11572
11573// SetPrincipalName sets the PrincipalName field's value.
11574func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
11575	s.PrincipalName = &v
11576	return s
11577}
11578
11579// SetPrincipalType sets the PrincipalType field's value.
11580func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
11581	s.PrincipalType = &v
11582	return s
11583}
11584
11585// SetSessionContext sets the SessionContext field's value.
11586func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
11587	s.SessionContext = v
11588	return s
11589}
11590
11591// SetStatus sets the Status field's value.
11592func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
11593	s.Status = &v
11594	return s
11595}
11596
11597// SetUserName sets the UserName field's value.
11598func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
11599	s.UserName = &v
11600	return s
11601}
11602
11603// Provides information about the session that the key was used for.
11604type AwsIamAccessKeySessionContext struct {
11605	_ struct{} `type:"structure"`
11606
11607	// Attributes of the session that the key was used for.
11608	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
11609
11610	// Information about the entity that created the session.
11611	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
11612}
11613
11614// String returns the string representation
11615func (s AwsIamAccessKeySessionContext) String() string {
11616	return awsutil.Prettify(s)
11617}
11618
11619// GoString returns the string representation
11620func (s AwsIamAccessKeySessionContext) GoString() string {
11621	return s.String()
11622}
11623
11624// SetAttributes sets the Attributes field's value.
11625func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
11626	s.Attributes = v
11627	return s
11628}
11629
11630// SetSessionIssuer sets the SessionIssuer field's value.
11631func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
11632	s.SessionIssuer = v
11633	return s
11634}
11635
11636// Attributes of the session that the key was used for.
11637type AwsIamAccessKeySessionContextAttributes struct {
11638	_ struct{} `type:"structure"`
11639
11640	// Indicates when the session was created.
11641	//
11642	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11643	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11644	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11645	CreationDate *string `type:"string"`
11646
11647	// Indicates whether the session used multi-factor authentication (MFA).
11648	MfaAuthenticated *bool `type:"boolean"`
11649}
11650
11651// String returns the string representation
11652func (s AwsIamAccessKeySessionContextAttributes) String() string {
11653	return awsutil.Prettify(s)
11654}
11655
11656// GoString returns the string representation
11657func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
11658	return s.String()
11659}
11660
11661// SetCreationDate sets the CreationDate field's value.
11662func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
11663	s.CreationDate = &v
11664	return s
11665}
11666
11667// SetMfaAuthenticated sets the MfaAuthenticated field's value.
11668func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
11669	s.MfaAuthenticated = &v
11670	return s
11671}
11672
11673// Information about the entity that created the session.
11674type AwsIamAccessKeySessionContextSessionIssuer struct {
11675	_ struct{} `type:"structure"`
11676
11677	// The identifier of the AWS account that created the session.
11678	AccountId *string `type:"string"`
11679
11680	// The ARN of the session.
11681	Arn *string `type:"string"`
11682
11683	// The principal ID of the principal (user, role, or group) that created the
11684	// session.
11685	PrincipalId *string `type:"string"`
11686
11687	// The type of principal (user, role, or group) that created the session.
11688	Type *string `type:"string"`
11689
11690	// The name of the principal that created the session.
11691	UserName *string `type:"string"`
11692}
11693
11694// String returns the string representation
11695func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
11696	return awsutil.Prettify(s)
11697}
11698
11699// GoString returns the string representation
11700func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
11701	return s.String()
11702}
11703
11704// SetAccountId sets the AccountId field's value.
11705func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
11706	s.AccountId = &v
11707	return s
11708}
11709
11710// SetArn sets the Arn field's value.
11711func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
11712	s.Arn = &v
11713	return s
11714}
11715
11716// SetPrincipalId sets the PrincipalId field's value.
11717func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
11718	s.PrincipalId = &v
11719	return s
11720}
11721
11722// SetType sets the Type field's value.
11723func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
11724	s.Type = &v
11725	return s
11726}
11727
11728// SetUserName sets the UserName field's value.
11729func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
11730	s.UserName = &v
11731	return s
11732}
11733
11734// A managed policy that is attached to an IAM principal.
11735type AwsIamAttachedManagedPolicy struct {
11736	_ struct{} `type:"structure"`
11737
11738	// The ARN of the policy.
11739	PolicyArn *string `type:"string"`
11740
11741	// The name of the policy.
11742	PolicyName *string `type:"string"`
11743}
11744
11745// String returns the string representation
11746func (s AwsIamAttachedManagedPolicy) String() string {
11747	return awsutil.Prettify(s)
11748}
11749
11750// GoString returns the string representation
11751func (s AwsIamAttachedManagedPolicy) GoString() string {
11752	return s.String()
11753}
11754
11755// SetPolicyArn sets the PolicyArn field's value.
11756func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
11757	s.PolicyArn = &v
11758	return s
11759}
11760
11761// SetPolicyName sets the PolicyName field's value.
11762func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
11763	s.PolicyName = &v
11764	return s
11765}
11766
11767// Contains details about an IAM group.
11768type AwsIamGroupDetails struct {
11769	_ struct{} `type:"structure"`
11770
11771	// A list of the managed policies that are attached to the IAM group.
11772	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
11773
11774	// Indicates when the IAM group was created.
11775	//
11776	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11777	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11778	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11779	CreateDate *string `type:"string"`
11780
11781	// The identifier of the IAM group.
11782	GroupId *string `type:"string"`
11783
11784	// The name of the IAM group.
11785	GroupName *string `type:"string"`
11786
11787	// The list of inline policies that are embedded in the group.
11788	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
11789
11790	// The path to the group.
11791	Path *string `type:"string"`
11792}
11793
11794// String returns the string representation
11795func (s AwsIamGroupDetails) String() string {
11796	return awsutil.Prettify(s)
11797}
11798
11799// GoString returns the string representation
11800func (s AwsIamGroupDetails) GoString() string {
11801	return s.String()
11802}
11803
11804// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
11805func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
11806	s.AttachedManagedPolicies = v
11807	return s
11808}
11809
11810// SetCreateDate sets the CreateDate field's value.
11811func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
11812	s.CreateDate = &v
11813	return s
11814}
11815
11816// SetGroupId sets the GroupId field's value.
11817func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
11818	s.GroupId = &v
11819	return s
11820}
11821
11822// SetGroupName sets the GroupName field's value.
11823func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
11824	s.GroupName = &v
11825	return s
11826}
11827
11828// SetGroupPolicyList sets the GroupPolicyList field's value.
11829func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
11830	s.GroupPolicyList = v
11831	return s
11832}
11833
11834// SetPath sets the Path field's value.
11835func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
11836	s.Path = &v
11837	return s
11838}
11839
11840// A managed policy that is attached to the IAM group.
11841type AwsIamGroupPolicy struct {
11842	_ struct{} `type:"structure"`
11843
11844	// The name of the policy.
11845	PolicyName *string `type:"string"`
11846}
11847
11848// String returns the string representation
11849func (s AwsIamGroupPolicy) String() string {
11850	return awsutil.Prettify(s)
11851}
11852
11853// GoString returns the string representation
11854func (s AwsIamGroupPolicy) GoString() string {
11855	return s.String()
11856}
11857
11858// SetPolicyName sets the PolicyName field's value.
11859func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
11860	s.PolicyName = &v
11861	return s
11862}
11863
11864// Information about an instance profile.
11865type AwsIamInstanceProfile struct {
11866	_ struct{} `type:"structure"`
11867
11868	// The ARN of the instance profile.
11869	Arn *string `type:"string"`
11870
11871	// Indicates when the instance profile was created.
11872	//
11873	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11874	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11875	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11876	CreateDate *string `type:"string"`
11877
11878	// The identifier of the instance profile.
11879	InstanceProfileId *string `type:"string"`
11880
11881	// The name of the instance profile.
11882	InstanceProfileName *string `type:"string"`
11883
11884	// The path to the instance profile.
11885	Path *string `type:"string"`
11886
11887	// The roles associated with the instance profile.
11888	Roles []*AwsIamInstanceProfileRole `type:"list"`
11889}
11890
11891// String returns the string representation
11892func (s AwsIamInstanceProfile) String() string {
11893	return awsutil.Prettify(s)
11894}
11895
11896// GoString returns the string representation
11897func (s AwsIamInstanceProfile) GoString() string {
11898	return s.String()
11899}
11900
11901// Validate inspects the fields of the type to determine if they are valid.
11902func (s *AwsIamInstanceProfile) Validate() error {
11903	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
11904	if s.Roles != nil {
11905		for i, v := range s.Roles {
11906			if v == nil {
11907				continue
11908			}
11909			if err := v.Validate(); err != nil {
11910				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
11911			}
11912		}
11913	}
11914
11915	if invalidParams.Len() > 0 {
11916		return invalidParams
11917	}
11918	return nil
11919}
11920
11921// SetArn sets the Arn field's value.
11922func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
11923	s.Arn = &v
11924	return s
11925}
11926
11927// SetCreateDate sets the CreateDate field's value.
11928func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
11929	s.CreateDate = &v
11930	return s
11931}
11932
11933// SetInstanceProfileId sets the InstanceProfileId field's value.
11934func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
11935	s.InstanceProfileId = &v
11936	return s
11937}
11938
11939// SetInstanceProfileName sets the InstanceProfileName field's value.
11940func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
11941	s.InstanceProfileName = &v
11942	return s
11943}
11944
11945// SetPath sets the Path field's value.
11946func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
11947	s.Path = &v
11948	return s
11949}
11950
11951// SetRoles sets the Roles field's value.
11952func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
11953	s.Roles = v
11954	return s
11955}
11956
11957// Information about a role associated with an instance profile.
11958type AwsIamInstanceProfileRole struct {
11959	_ struct{} `type:"structure"`
11960
11961	// The ARN of the role.
11962	Arn *string `type:"string"`
11963
11964	// The policy that grants an entity permission to assume the role.
11965	AssumeRolePolicyDocument *string `min:"1" type:"string"`
11966
11967	// Indicates when the role was created.
11968	//
11969	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11970	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11971	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11972	CreateDate *string `type:"string"`
11973
11974	// The path to the role.
11975	Path *string `type:"string"`
11976
11977	// The identifier of the role.
11978	RoleId *string `type:"string"`
11979
11980	// The name of the role.
11981	RoleName *string `type:"string"`
11982}
11983
11984// String returns the string representation
11985func (s AwsIamInstanceProfileRole) String() string {
11986	return awsutil.Prettify(s)
11987}
11988
11989// GoString returns the string representation
11990func (s AwsIamInstanceProfileRole) GoString() string {
11991	return s.String()
11992}
11993
11994// Validate inspects the fields of the type to determine if they are valid.
11995func (s *AwsIamInstanceProfileRole) Validate() error {
11996	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
11997	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
11998		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
11999	}
12000
12001	if invalidParams.Len() > 0 {
12002		return invalidParams
12003	}
12004	return nil
12005}
12006
12007// SetArn sets the Arn field's value.
12008func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
12009	s.Arn = &v
12010	return s
12011}
12012
12013// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
12014func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
12015	s.AssumeRolePolicyDocument = &v
12016	return s
12017}
12018
12019// SetCreateDate sets the CreateDate field's value.
12020func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
12021	s.CreateDate = &v
12022	return s
12023}
12024
12025// SetPath sets the Path field's value.
12026func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
12027	s.Path = &v
12028	return s
12029}
12030
12031// SetRoleId sets the RoleId field's value.
12032func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
12033	s.RoleId = &v
12034	return s
12035}
12036
12037// SetRoleName sets the RoleName field's value.
12038func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
12039	s.RoleName = &v
12040	return s
12041}
12042
12043// Information about the policy used to set the permissions boundary for an
12044// IAM principal.
12045type AwsIamPermissionsBoundary struct {
12046	_ struct{} `type:"structure"`
12047
12048	// The ARN of the policy used to set the permissions boundary.
12049	PermissionsBoundaryArn *string `type:"string"`
12050
12051	// The usage type for the permissions boundary.
12052	PermissionsBoundaryType *string `type:"string"`
12053}
12054
12055// String returns the string representation
12056func (s AwsIamPermissionsBoundary) String() string {
12057	return awsutil.Prettify(s)
12058}
12059
12060// GoString returns the string representation
12061func (s AwsIamPermissionsBoundary) GoString() string {
12062	return s.String()
12063}
12064
12065// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
12066func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
12067	s.PermissionsBoundaryArn = &v
12068	return s
12069}
12070
12071// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
12072func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
12073	s.PermissionsBoundaryType = &v
12074	return s
12075}
12076
12077// Represents an IAM permissions policy.
12078type AwsIamPolicyDetails struct {
12079	_ struct{} `type:"structure"`
12080
12081	// The number of users, groups, and roles that the policy is attached to.
12082	AttachmentCount *int64 `type:"integer"`
12083
12084	// When the policy was created.
12085	//
12086	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12087	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12088	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12089	CreateDate *string `type:"string"`
12090
12091	// The identifier of the default version of the policy.
12092	DefaultVersionId *string `type:"string"`
12093
12094	// A description of the policy.
12095	Description *string `type:"string"`
12096
12097	// Whether the policy can be attached to a user, group, or role.
12098	IsAttachable *bool `type:"boolean"`
12099
12100	// The path to the policy.
12101	Path *string `type:"string"`
12102
12103	// The number of users and roles that use the policy to set the permissions
12104	// boundary.
12105	PermissionsBoundaryUsageCount *int64 `type:"integer"`
12106
12107	// The unique identifier of the policy.
12108	PolicyId *string `type:"string"`
12109
12110	// The name of the policy.
12111	PolicyName *string `type:"string"`
12112
12113	// List of versions of the policy.
12114	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
12115
12116	// When the policy was most recently updated.
12117	//
12118	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12119	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12120	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12121	UpdateDate *string `type:"string"`
12122}
12123
12124// String returns the string representation
12125func (s AwsIamPolicyDetails) String() string {
12126	return awsutil.Prettify(s)
12127}
12128
12129// GoString returns the string representation
12130func (s AwsIamPolicyDetails) GoString() string {
12131	return s.String()
12132}
12133
12134// SetAttachmentCount sets the AttachmentCount field's value.
12135func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
12136	s.AttachmentCount = &v
12137	return s
12138}
12139
12140// SetCreateDate sets the CreateDate field's value.
12141func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
12142	s.CreateDate = &v
12143	return s
12144}
12145
12146// SetDefaultVersionId sets the DefaultVersionId field's value.
12147func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
12148	s.DefaultVersionId = &v
12149	return s
12150}
12151
12152// SetDescription sets the Description field's value.
12153func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
12154	s.Description = &v
12155	return s
12156}
12157
12158// SetIsAttachable sets the IsAttachable field's value.
12159func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
12160	s.IsAttachable = &v
12161	return s
12162}
12163
12164// SetPath sets the Path field's value.
12165func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
12166	s.Path = &v
12167	return s
12168}
12169
12170// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
12171func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
12172	s.PermissionsBoundaryUsageCount = &v
12173	return s
12174}
12175
12176// SetPolicyId sets the PolicyId field's value.
12177func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
12178	s.PolicyId = &v
12179	return s
12180}
12181
12182// SetPolicyName sets the PolicyName field's value.
12183func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
12184	s.PolicyName = &v
12185	return s
12186}
12187
12188// SetPolicyVersionList sets the PolicyVersionList field's value.
12189func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
12190	s.PolicyVersionList = v
12191	return s
12192}
12193
12194// SetUpdateDate sets the UpdateDate field's value.
12195func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
12196	s.UpdateDate = &v
12197	return s
12198}
12199
12200// A version of an IAM policy.
12201type AwsIamPolicyVersion struct {
12202	_ struct{} `type:"structure"`
12203
12204	// Indicates when the version was created.
12205	//
12206	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12207	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12208	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12209	CreateDate *string `type:"string"`
12210
12211	// Whether the version is the default version.
12212	IsDefaultVersion *bool `type:"boolean"`
12213
12214	// The identifier of the policy version.
12215	VersionId *string `type:"string"`
12216}
12217
12218// String returns the string representation
12219func (s AwsIamPolicyVersion) String() string {
12220	return awsutil.Prettify(s)
12221}
12222
12223// GoString returns the string representation
12224func (s AwsIamPolicyVersion) GoString() string {
12225	return s.String()
12226}
12227
12228// SetCreateDate sets the CreateDate field's value.
12229func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
12230	s.CreateDate = &v
12231	return s
12232}
12233
12234// SetIsDefaultVersion sets the IsDefaultVersion field's value.
12235func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
12236	s.IsDefaultVersion = &v
12237	return s
12238}
12239
12240// SetVersionId sets the VersionId field's value.
12241func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
12242	s.VersionId = &v
12243	return s
12244}
12245
12246// Contains information about an IAM role, including all of the role's policies.
12247type AwsIamRoleDetails struct {
12248	_ struct{} `type:"structure"`
12249
12250	// The trust policy that grants permission to assume the role.
12251	AssumeRolePolicyDocument *string `min:"1" type:"string"`
12252
12253	// The list of the managed policies that are attached to the role.
12254	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
12255
12256	// Indicates when the role was created.
12257	//
12258	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12259	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12260	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12261	CreateDate *string `type:"string"`
12262
12263	// The list of instance profiles that contain this role.
12264	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
12265
12266	// The maximum session duration (in seconds) that you want to set for the specified
12267	// role.
12268	MaxSessionDuration *int64 `type:"integer"`
12269
12270	// The path to the role.
12271	Path *string `type:"string"`
12272
12273	// Information about the policy used to set the permissions boundary for an
12274	// IAM principal.
12275	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
12276
12277	// The stable and unique string identifying the role.
12278	RoleId *string `type:"string"`
12279
12280	// The friendly name that identifies the role.
12281	RoleName *string `type:"string"`
12282
12283	// The list of inline policies that are embedded in the role.
12284	RolePolicyList []*AwsIamRolePolicy `type:"list"`
12285}
12286
12287// String returns the string representation
12288func (s AwsIamRoleDetails) String() string {
12289	return awsutil.Prettify(s)
12290}
12291
12292// GoString returns the string representation
12293func (s AwsIamRoleDetails) GoString() string {
12294	return s.String()
12295}
12296
12297// Validate inspects the fields of the type to determine if they are valid.
12298func (s *AwsIamRoleDetails) Validate() error {
12299	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
12300	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
12301		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
12302	}
12303	if s.InstanceProfileList != nil {
12304		for i, v := range s.InstanceProfileList {
12305			if v == nil {
12306				continue
12307			}
12308			if err := v.Validate(); err != nil {
12309				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
12310			}
12311		}
12312	}
12313
12314	if invalidParams.Len() > 0 {
12315		return invalidParams
12316	}
12317	return nil
12318}
12319
12320// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
12321func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
12322	s.AssumeRolePolicyDocument = &v
12323	return s
12324}
12325
12326// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
12327func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
12328	s.AttachedManagedPolicies = v
12329	return s
12330}
12331
12332// SetCreateDate sets the CreateDate field's value.
12333func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
12334	s.CreateDate = &v
12335	return s
12336}
12337
12338// SetInstanceProfileList sets the InstanceProfileList field's value.
12339func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
12340	s.InstanceProfileList = v
12341	return s
12342}
12343
12344// SetMaxSessionDuration sets the MaxSessionDuration field's value.
12345func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
12346	s.MaxSessionDuration = &v
12347	return s
12348}
12349
12350// SetPath sets the Path field's value.
12351func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
12352	s.Path = &v
12353	return s
12354}
12355
12356// SetPermissionsBoundary sets the PermissionsBoundary field's value.
12357func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
12358	s.PermissionsBoundary = v
12359	return s
12360}
12361
12362// SetRoleId sets the RoleId field's value.
12363func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
12364	s.RoleId = &v
12365	return s
12366}
12367
12368// SetRoleName sets the RoleName field's value.
12369func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
12370	s.RoleName = &v
12371	return s
12372}
12373
12374// SetRolePolicyList sets the RolePolicyList field's value.
12375func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
12376	s.RolePolicyList = v
12377	return s
12378}
12379
12380// An inline policy that is embedded in the role.
12381type AwsIamRolePolicy struct {
12382	_ struct{} `type:"structure"`
12383
12384	// The name of the policy.
12385	PolicyName *string `type:"string"`
12386}
12387
12388// String returns the string representation
12389func (s AwsIamRolePolicy) String() string {
12390	return awsutil.Prettify(s)
12391}
12392
12393// GoString returns the string representation
12394func (s AwsIamRolePolicy) GoString() string {
12395	return s.String()
12396}
12397
12398// SetPolicyName sets the PolicyName field's value.
12399func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
12400	s.PolicyName = &v
12401	return s
12402}
12403
12404// Information about an IAM user.
12405type AwsIamUserDetails struct {
12406	_ struct{} `type:"structure"`
12407
12408	// A list of the managed policies that are attached to the user.
12409	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
12410
12411	// Indicates when the user was created.
12412	//
12413	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12414	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12415	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12416	CreateDate *string `type:"string"`
12417
12418	// A list of IAM groups that the user belongs to.
12419	GroupList []*string `type:"list"`
12420
12421	// The path to the user.
12422	Path *string `type:"string"`
12423
12424	// The permissions boundary for the user.
12425	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
12426
12427	// The unique identifier for the user.
12428	UserId *string `type:"string"`
12429
12430	// The name of the user.
12431	UserName *string `type:"string"`
12432
12433	// The list of inline policies that are embedded in the user.
12434	UserPolicyList []*AwsIamUserPolicy `type:"list"`
12435}
12436
12437// String returns the string representation
12438func (s AwsIamUserDetails) String() string {
12439	return awsutil.Prettify(s)
12440}
12441
12442// GoString returns the string representation
12443func (s AwsIamUserDetails) GoString() string {
12444	return s.String()
12445}
12446
12447// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
12448func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
12449	s.AttachedManagedPolicies = v
12450	return s
12451}
12452
12453// SetCreateDate sets the CreateDate field's value.
12454func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
12455	s.CreateDate = &v
12456	return s
12457}
12458
12459// SetGroupList sets the GroupList field's value.
12460func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
12461	s.GroupList = v
12462	return s
12463}
12464
12465// SetPath sets the Path field's value.
12466func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
12467	s.Path = &v
12468	return s
12469}
12470
12471// SetPermissionsBoundary sets the PermissionsBoundary field's value.
12472func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
12473	s.PermissionsBoundary = v
12474	return s
12475}
12476
12477// SetUserId sets the UserId field's value.
12478func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
12479	s.UserId = &v
12480	return s
12481}
12482
12483// SetUserName sets the UserName field's value.
12484func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
12485	s.UserName = &v
12486	return s
12487}
12488
12489// SetUserPolicyList sets the UserPolicyList field's value.
12490func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
12491	s.UserPolicyList = v
12492	return s
12493}
12494
12495// Information about an inline policy that is embedded in the user.
12496type AwsIamUserPolicy struct {
12497	_ struct{} `type:"structure"`
12498
12499	// The name of the policy.
12500	PolicyName *string `type:"string"`
12501}
12502
12503// String returns the string representation
12504func (s AwsIamUserPolicy) String() string {
12505	return awsutil.Prettify(s)
12506}
12507
12508// GoString returns the string representation
12509func (s AwsIamUserPolicy) GoString() string {
12510	return s.String()
12511}
12512
12513// SetPolicyName sets the PolicyName field's value.
12514func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
12515	s.PolicyName = &v
12516	return s
12517}
12518
12519// Contains metadata about a customer master key (CMK).
12520type AwsKmsKeyDetails struct {
12521	_ struct{} `type:"structure"`
12522
12523	// The twelve-digit account ID of the AWS account that owns the CMK.
12524	AWSAccountId *string `type:"string"`
12525
12526	// Indicates when the CMK was created.
12527	//
12528	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12529	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12530	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12531	CreationDate *float64 `type:"double"`
12532
12533	// A description of the key.
12534	Description *string `type:"string"`
12535
12536	// The globally unique identifier for the CMK.
12537	KeyId *string `type:"string"`
12538
12539	// The manager of the CMK. CMKs in your AWS account are either customer managed
12540	// or AWS managed.
12541	KeyManager *string `type:"string"`
12542
12543	// The state of the CMK.
12544	KeyState *string `type:"string"`
12545
12546	// The source of the CMK's key material.
12547	//
12548	// When this value is AWS_KMS, AWS KMS created the key material.
12549	//
12550	// When this value is EXTERNAL, the key material was imported from your existing
12551	// key management infrastructure or the CMK lacks key material.
12552	//
12553	// When this value is AWS_CLOUDHSM, the key material was created in the AWS
12554	// CloudHSM cluster associated with a custom key store.
12555	Origin *string `type:"string"`
12556}
12557
12558// String returns the string representation
12559func (s AwsKmsKeyDetails) String() string {
12560	return awsutil.Prettify(s)
12561}
12562
12563// GoString returns the string representation
12564func (s AwsKmsKeyDetails) GoString() string {
12565	return s.String()
12566}
12567
12568// SetAWSAccountId sets the AWSAccountId field's value.
12569func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
12570	s.AWSAccountId = &v
12571	return s
12572}
12573
12574// SetCreationDate sets the CreationDate field's value.
12575func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
12576	s.CreationDate = &v
12577	return s
12578}
12579
12580// SetDescription sets the Description field's value.
12581func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
12582	s.Description = &v
12583	return s
12584}
12585
12586// SetKeyId sets the KeyId field's value.
12587func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
12588	s.KeyId = &v
12589	return s
12590}
12591
12592// SetKeyManager sets the KeyManager field's value.
12593func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
12594	s.KeyManager = &v
12595	return s
12596}
12597
12598// SetKeyState sets the KeyState field's value.
12599func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
12600	s.KeyState = &v
12601	return s
12602}
12603
12604// SetOrigin sets the Origin field's value.
12605func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
12606	s.Origin = &v
12607	return s
12608}
12609
12610// The code for the Lambda function. You can specify either an object in Amazon
12611// S3, or upload a deployment package directly.
12612type AwsLambdaFunctionCode struct {
12613	_ struct{} `type:"structure"`
12614
12615	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
12616	// be in a different AWS account.
12617	S3Bucket *string `type:"string"`
12618
12619	// The Amazon S3 key of the deployment package.
12620	S3Key *string `type:"string"`
12621
12622	// For versioned objects, the version of the deployment package object to use.
12623	S3ObjectVersion *string `type:"string"`
12624
12625	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
12626	// clients handle the encoding for you.
12627	ZipFile *string `type:"string"`
12628}
12629
12630// String returns the string representation
12631func (s AwsLambdaFunctionCode) String() string {
12632	return awsutil.Prettify(s)
12633}
12634
12635// GoString returns the string representation
12636func (s AwsLambdaFunctionCode) GoString() string {
12637	return s.String()
12638}
12639
12640// SetS3Bucket sets the S3Bucket field's value.
12641func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
12642	s.S3Bucket = &v
12643	return s
12644}
12645
12646// SetS3Key sets the S3Key field's value.
12647func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
12648	s.S3Key = &v
12649	return s
12650}
12651
12652// SetS3ObjectVersion sets the S3ObjectVersion field's value.
12653func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
12654	s.S3ObjectVersion = &v
12655	return s
12656}
12657
12658// SetZipFile sets the ZipFile field's value.
12659func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
12660	s.ZipFile = &v
12661	return s
12662}
12663
12664// The dead-letter queue for failed asynchronous invocations.
12665type AwsLambdaFunctionDeadLetterConfig struct {
12666	_ struct{} `type:"structure"`
12667
12668	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
12669	TargetArn *string `type:"string"`
12670}
12671
12672// String returns the string representation
12673func (s AwsLambdaFunctionDeadLetterConfig) String() string {
12674	return awsutil.Prettify(s)
12675}
12676
12677// GoString returns the string representation
12678func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
12679	return s.String()
12680}
12681
12682// SetTargetArn sets the TargetArn field's value.
12683func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
12684	s.TargetArn = &v
12685	return s
12686}
12687
12688// Details about a function's configuration.
12689type AwsLambdaFunctionDetails struct {
12690	_ struct{} `type:"structure"`
12691
12692	// An AwsLambdaFunctionCode object.
12693	Code *AwsLambdaFunctionCode `type:"structure"`
12694
12695	// The SHA256 hash of the function's deployment package.
12696	CodeSha256 *string `type:"string"`
12697
12698	// The function's dead letter queue.
12699	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
12700
12701	// The function's environment variables.
12702	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
12703
12704	// The name of the function.
12705	FunctionName *string `type:"string"`
12706
12707	// The function that Lambda calls to begin executing your function.
12708	Handler *string `type:"string"`
12709
12710	// The KMS key that's used to encrypt the function's environment variables.
12711	// This key is only returned if you've configured a customer managed CMK.
12712	KmsKeyArn *string `type:"string"`
12713
12714	// Indicates when the function was last updated.
12715	//
12716	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12717	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12718	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12719	LastModified *string `type:"string"`
12720
12721	// The function's layers.
12722	Layers []*AwsLambdaFunctionLayer `type:"list"`
12723
12724	// For Lambda@Edge functions, the ARN of the master function.
12725	MasterArn *string `type:"string"`
12726
12727	// The memory that's allocated to the function.
12728	MemorySize *int64 `type:"integer"`
12729
12730	// The latest updated revision of the function or alias.
12731	RevisionId *string `type:"string"`
12732
12733	// The function's execution role.
12734	Role *string `type:"string"`
12735
12736	// The runtime environment for the Lambda function.
12737	Runtime *string `type:"string"`
12738
12739	// The amount of time that Lambda allows a function to run before stopping it.
12740	Timeout *int64 `type:"integer"`
12741
12742	// The function's AWS X-Ray tracing configuration.
12743	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
12744
12745	// The version of the Lambda function.
12746	Version *string `type:"string"`
12747
12748	// The function's networking configuration.
12749	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
12750}
12751
12752// String returns the string representation
12753func (s AwsLambdaFunctionDetails) String() string {
12754	return awsutil.Prettify(s)
12755}
12756
12757// GoString returns the string representation
12758func (s AwsLambdaFunctionDetails) GoString() string {
12759	return s.String()
12760}
12761
12762// SetCode sets the Code field's value.
12763func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
12764	s.Code = v
12765	return s
12766}
12767
12768// SetCodeSha256 sets the CodeSha256 field's value.
12769func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
12770	s.CodeSha256 = &v
12771	return s
12772}
12773
12774// SetDeadLetterConfig sets the DeadLetterConfig field's value.
12775func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
12776	s.DeadLetterConfig = v
12777	return s
12778}
12779
12780// SetEnvironment sets the Environment field's value.
12781func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
12782	s.Environment = v
12783	return s
12784}
12785
12786// SetFunctionName sets the FunctionName field's value.
12787func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
12788	s.FunctionName = &v
12789	return s
12790}
12791
12792// SetHandler sets the Handler field's value.
12793func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
12794	s.Handler = &v
12795	return s
12796}
12797
12798// SetKmsKeyArn sets the KmsKeyArn field's value.
12799func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
12800	s.KmsKeyArn = &v
12801	return s
12802}
12803
12804// SetLastModified sets the LastModified field's value.
12805func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
12806	s.LastModified = &v
12807	return s
12808}
12809
12810// SetLayers sets the Layers field's value.
12811func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
12812	s.Layers = v
12813	return s
12814}
12815
12816// SetMasterArn sets the MasterArn field's value.
12817func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
12818	s.MasterArn = &v
12819	return s
12820}
12821
12822// SetMemorySize sets the MemorySize field's value.
12823func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
12824	s.MemorySize = &v
12825	return s
12826}
12827
12828// SetRevisionId sets the RevisionId field's value.
12829func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
12830	s.RevisionId = &v
12831	return s
12832}
12833
12834// SetRole sets the Role field's value.
12835func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
12836	s.Role = &v
12837	return s
12838}
12839
12840// SetRuntime sets the Runtime field's value.
12841func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
12842	s.Runtime = &v
12843	return s
12844}
12845
12846// SetTimeout sets the Timeout field's value.
12847func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
12848	s.Timeout = &v
12849	return s
12850}
12851
12852// SetTracingConfig sets the TracingConfig field's value.
12853func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
12854	s.TracingConfig = v
12855	return s
12856}
12857
12858// SetVersion sets the Version field's value.
12859func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
12860	s.Version = &v
12861	return s
12862}
12863
12864// SetVpcConfig sets the VpcConfig field's value.
12865func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
12866	s.VpcConfig = v
12867	return s
12868}
12869
12870// A function's environment variable settings.
12871type AwsLambdaFunctionEnvironment struct {
12872	_ struct{} `type:"structure"`
12873
12874	// An AwsLambdaFunctionEnvironmentError object.
12875	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
12876
12877	// Environment variable key-value pairs.
12878	Variables map[string]*string `type:"map"`
12879}
12880
12881// String returns the string representation
12882func (s AwsLambdaFunctionEnvironment) String() string {
12883	return awsutil.Prettify(s)
12884}
12885
12886// GoString returns the string representation
12887func (s AwsLambdaFunctionEnvironment) GoString() string {
12888	return s.String()
12889}
12890
12891// SetError sets the Error field's value.
12892func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
12893	s.Error = v
12894	return s
12895}
12896
12897// SetVariables sets the Variables field's value.
12898func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
12899	s.Variables = v
12900	return s
12901}
12902
12903// Error messages for environment variables that couldn't be applied.
12904type AwsLambdaFunctionEnvironmentError struct {
12905	_ struct{} `type:"structure"`
12906
12907	// The error code.
12908	ErrorCode *string `type:"string"`
12909
12910	// The error message.
12911	Message *string `type:"string"`
12912}
12913
12914// String returns the string representation
12915func (s AwsLambdaFunctionEnvironmentError) String() string {
12916	return awsutil.Prettify(s)
12917}
12918
12919// GoString returns the string representation
12920func (s AwsLambdaFunctionEnvironmentError) GoString() string {
12921	return s.String()
12922}
12923
12924// SetErrorCode sets the ErrorCode field's value.
12925func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
12926	s.ErrorCode = &v
12927	return s
12928}
12929
12930// SetMessage sets the Message field's value.
12931func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
12932	s.Message = &v
12933	return s
12934}
12935
12936// An AWS Lambda layer.
12937type AwsLambdaFunctionLayer struct {
12938	_ struct{} `type:"structure"`
12939
12940	// The Amazon Resource Name (ARN) of the function layer.
12941	Arn *string `type:"string"`
12942
12943	// The size of the layer archive in bytes.
12944	CodeSize *int64 `type:"integer"`
12945}
12946
12947// String returns the string representation
12948func (s AwsLambdaFunctionLayer) String() string {
12949	return awsutil.Prettify(s)
12950}
12951
12952// GoString returns the string representation
12953func (s AwsLambdaFunctionLayer) GoString() string {
12954	return s.String()
12955}
12956
12957// SetArn sets the Arn field's value.
12958func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
12959	s.Arn = &v
12960	return s
12961}
12962
12963// SetCodeSize sets the CodeSize field's value.
12964func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
12965	s.CodeSize = &v
12966	return s
12967}
12968
12969// The function's AWS X-Ray tracing configuration.
12970type AwsLambdaFunctionTracingConfig struct {
12971	_ struct{} `type:"structure"`
12972
12973	// The tracing mode.
12974	Mode *string `type:"string"`
12975}
12976
12977// String returns the string representation
12978func (s AwsLambdaFunctionTracingConfig) String() string {
12979	return awsutil.Prettify(s)
12980}
12981
12982// GoString returns the string representation
12983func (s AwsLambdaFunctionTracingConfig) GoString() string {
12984	return s.String()
12985}
12986
12987// SetMode sets the Mode field's value.
12988func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
12989	s.Mode = &v
12990	return s
12991}
12992
12993// The VPC security groups and subnets that are attached to a Lambda function.
12994// For more information, see VPC Settings.
12995type AwsLambdaFunctionVpcConfig struct {
12996	_ struct{} `type:"structure"`
12997
12998	// A list of VPC security groups IDs.
12999	SecurityGroupIds []*string `type:"list"`
13000
13001	// A list of VPC subnet IDs.
13002	SubnetIds []*string `type:"list"`
13003
13004	// The ID of the VPC.
13005	VpcId *string `type:"string"`
13006}
13007
13008// String returns the string representation
13009func (s AwsLambdaFunctionVpcConfig) String() string {
13010	return awsutil.Prettify(s)
13011}
13012
13013// GoString returns the string representation
13014func (s AwsLambdaFunctionVpcConfig) GoString() string {
13015	return s.String()
13016}
13017
13018// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13019func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
13020	s.SecurityGroupIds = v
13021	return s
13022}
13023
13024// SetSubnetIds sets the SubnetIds field's value.
13025func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
13026	s.SubnetIds = v
13027	return s
13028}
13029
13030// SetVpcId sets the VpcId field's value.
13031func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
13032	s.VpcId = &v
13033	return s
13034}
13035
13036// Details about a Lambda layer version.
13037type AwsLambdaLayerVersionDetails struct {
13038	_ struct{} `type:"structure"`
13039
13040	// The layer's compatible runtimes. Maximum number of five items.
13041	//
13042	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
13043	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
13044	// | provided
13045	CompatibleRuntimes []*string `type:"list"`
13046
13047	// Indicates when the version was created.
13048	//
13049	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13050	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13051	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13052	CreatedDate *string `type:"string"`
13053
13054	// The version number.
13055	Version *int64 `type:"long"`
13056}
13057
13058// String returns the string representation
13059func (s AwsLambdaLayerVersionDetails) String() string {
13060	return awsutil.Prettify(s)
13061}
13062
13063// GoString returns the string representation
13064func (s AwsLambdaLayerVersionDetails) GoString() string {
13065	return s.String()
13066}
13067
13068// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
13069func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
13070	s.CompatibleRuntimes = v
13071	return s
13072}
13073
13074// SetCreatedDate sets the CreatedDate field's value.
13075func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
13076	s.CreatedDate = &v
13077	return s
13078}
13079
13080// SetVersion sets the Version field's value.
13081func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
13082	s.Version = &v
13083	return s
13084}
13085
13086// An IAM role that is associated with the Amazon RDS DB cluster.
13087type AwsRdsDbClusterAssociatedRole struct {
13088	_ struct{} `type:"structure"`
13089
13090	// The ARN of the IAM role.
13091	RoleArn *string `type:"string"`
13092
13093	// The status of the association between the IAM role and the DB cluster.
13094	Status *string `type:"string"`
13095}
13096
13097// String returns the string representation
13098func (s AwsRdsDbClusterAssociatedRole) String() string {
13099	return awsutil.Prettify(s)
13100}
13101
13102// GoString returns the string representation
13103func (s AwsRdsDbClusterAssociatedRole) GoString() string {
13104	return s.String()
13105}
13106
13107// SetRoleArn sets the RoleArn field's value.
13108func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
13109	s.RoleArn = &v
13110	return s
13111}
13112
13113// SetStatus sets the Status field's value.
13114func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
13115	s.Status = &v
13116	return s
13117}
13118
13119// Information about an Amazon RDS DB cluster.
13120type AwsRdsDbClusterDetails struct {
13121	_ struct{} `type:"structure"`
13122
13123	// The status of the database activity stream.
13124	ActivityStreamStatus *string `type:"string"`
13125
13126	// For all database engines except Aurora, specifies the allocated storage size
13127	// in gibibytes (GiB).
13128	AllocatedStorage *int64 `type:"integer"`
13129
13130	// A list of the IAM roles that are associated with the DB cluster.
13131	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
13132
13133	// A list of Availability Zones (AZs) where instances in the DB cluster can
13134	// be created.
13135	AvailabilityZones []*string `type:"list"`
13136
13137	// The number of days for which automated backups are retained.
13138	BackupRetentionPeriod *int64 `type:"integer"`
13139
13140	// Indicates when the DB cluster was created, in Universal Coordinated Time
13141	// (UTC).
13142	//
13143	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13144	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13145	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13146	ClusterCreateTime *string `type:"string"`
13147
13148	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
13149	CopyTagsToSnapshot *bool `type:"boolean"`
13150
13151	// Whether the DB cluster is a clone of a DB cluster owned by a different AWS
13152	// account.
13153	CrossAccountClone *bool `type:"boolean"`
13154
13155	// A list of custom endpoints for the DB cluster.
13156	CustomEndpoints []*string `type:"list"`
13157
13158	// The name of the database.
13159	DatabaseName *string `type:"string"`
13160
13161	// The DB cluster identifier that the user assigned to the cluster. This identifier
13162	// is the unique key that identifies a DB cluster.
13163	DbClusterIdentifier *string `type:"string"`
13164
13165	// The list of instances that make up the DB cluster.
13166	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
13167
13168	// The list of option group memberships for this DB cluster.
13169	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
13170
13171	// The name of the DB cluster parameter group for the DB cluster.
13172	DbClusterParameterGroup *string `type:"string"`
13173
13174	// The identifier of the DB cluster. The identifier must be unique within each
13175	// AWS Region and is immutable.
13176	DbClusterResourceId *string `type:"string"`
13177
13178	// The subnet group that is associated with the DB cluster, including the name,
13179	// description, and subnets in the subnet group.
13180	DbSubnetGroup *string `type:"string"`
13181
13182	// Whether the DB cluster has deletion protection enabled.
13183	DeletionProtection *bool `type:"boolean"`
13184
13185	// The Active Directory domain membership records that are associated with the
13186	// DB cluster.
13187	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
13188
13189	// A list of log types that this DB cluster is configured to export to CloudWatch
13190	// Logs.
13191	EnabledCloudWatchLogsExports []*string `type:"list"`
13192
13193	// The connection endpoint for the primary instance of the DB cluster.
13194	Endpoint *string `type:"string"`
13195
13196	// The name of the database engine to use for this DB cluster.
13197	Engine *string `type:"string"`
13198
13199	// The database engine mode of the DB cluster.
13200	EngineMode *string `type:"string"`
13201
13202	// The version number of the database engine to use.
13203	EngineVersion *string `type:"string"`
13204
13205	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
13206	// zone.
13207	HostedZoneId *string `type:"string"`
13208
13209	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
13210	HttpEndpointEnabled *bool `type:"boolean"`
13211
13212	// Whether the mapping of IAM accounts to database accounts is enabled.
13213	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
13214
13215	// The ARN of the AWS KMS master key that is used to encrypt the database instances
13216	// in the DB cluster.
13217	KmsKeyId *string `type:"string"`
13218
13219	// The name of the master user for the DB cluster.
13220	MasterUsername *string `type:"string"`
13221
13222	// Whether the DB cluster has instances in multiple Availability Zones.
13223	MultiAz *bool `type:"boolean"`
13224
13225	// The port number on which the DB instances in the DB cluster accept connections.
13226	Port *int64 `type:"integer"`
13227
13228	// The range of time each day when automated backups are created, if automated
13229	// backups are enabled.
13230	//
13231	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
13232	PreferredBackupWindow *string `type:"string"`
13233
13234	// The weekly time range during which system maintenance can occur, in Universal
13235	// Coordinated Time (UTC).
13236	//
13237	// Uses the format <day>:HH:MM-<day>:HH:MM.
13238	//
13239	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
13240	//
13241	// For example, sun:09:32-sun:10:02.
13242	PreferredMaintenanceWindow *string `type:"string"`
13243
13244	// The identifiers of the read replicas that are associated with this DB cluster.
13245	ReadReplicaIdentifiers []*string `type:"list"`
13246
13247	// The reader endpoint for the DB cluster.
13248	ReaderEndpoint *string `type:"string"`
13249
13250	// The current status of this DB cluster.
13251	Status *string `type:"string"`
13252
13253	// Whether the DB cluster is encrypted.
13254	StorageEncrypted *bool `type:"boolean"`
13255
13256	// A list of VPC security groups that the DB cluster belongs to.
13257	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
13258}
13259
13260// String returns the string representation
13261func (s AwsRdsDbClusterDetails) String() string {
13262	return awsutil.Prettify(s)
13263}
13264
13265// GoString returns the string representation
13266func (s AwsRdsDbClusterDetails) GoString() string {
13267	return s.String()
13268}
13269
13270// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
13271func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
13272	s.ActivityStreamStatus = &v
13273	return s
13274}
13275
13276// SetAllocatedStorage sets the AllocatedStorage field's value.
13277func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
13278	s.AllocatedStorage = &v
13279	return s
13280}
13281
13282// SetAssociatedRoles sets the AssociatedRoles field's value.
13283func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
13284	s.AssociatedRoles = v
13285	return s
13286}
13287
13288// SetAvailabilityZones sets the AvailabilityZones field's value.
13289func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
13290	s.AvailabilityZones = v
13291	return s
13292}
13293
13294// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
13295func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
13296	s.BackupRetentionPeriod = &v
13297	return s
13298}
13299
13300// SetClusterCreateTime sets the ClusterCreateTime field's value.
13301func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
13302	s.ClusterCreateTime = &v
13303	return s
13304}
13305
13306// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
13307func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
13308	s.CopyTagsToSnapshot = &v
13309	return s
13310}
13311
13312// SetCrossAccountClone sets the CrossAccountClone field's value.
13313func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
13314	s.CrossAccountClone = &v
13315	return s
13316}
13317
13318// SetCustomEndpoints sets the CustomEndpoints field's value.
13319func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
13320	s.CustomEndpoints = v
13321	return s
13322}
13323
13324// SetDatabaseName sets the DatabaseName field's value.
13325func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
13326	s.DatabaseName = &v
13327	return s
13328}
13329
13330// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
13331func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
13332	s.DbClusterIdentifier = &v
13333	return s
13334}
13335
13336// SetDbClusterMembers sets the DbClusterMembers field's value.
13337func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
13338	s.DbClusterMembers = v
13339	return s
13340}
13341
13342// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
13343func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
13344	s.DbClusterOptionGroupMemberships = v
13345	return s
13346}
13347
13348// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
13349func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
13350	s.DbClusterParameterGroup = &v
13351	return s
13352}
13353
13354// SetDbClusterResourceId sets the DbClusterResourceId field's value.
13355func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
13356	s.DbClusterResourceId = &v
13357	return s
13358}
13359
13360// SetDbSubnetGroup sets the DbSubnetGroup field's value.
13361func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
13362	s.DbSubnetGroup = &v
13363	return s
13364}
13365
13366// SetDeletionProtection sets the DeletionProtection field's value.
13367func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
13368	s.DeletionProtection = &v
13369	return s
13370}
13371
13372// SetDomainMemberships sets the DomainMemberships field's value.
13373func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
13374	s.DomainMemberships = v
13375	return s
13376}
13377
13378// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
13379func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
13380	s.EnabledCloudWatchLogsExports = v
13381	return s
13382}
13383
13384// SetEndpoint sets the Endpoint field's value.
13385func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
13386	s.Endpoint = &v
13387	return s
13388}
13389
13390// SetEngine sets the Engine field's value.
13391func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
13392	s.Engine = &v
13393	return s
13394}
13395
13396// SetEngineMode sets the EngineMode field's value.
13397func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
13398	s.EngineMode = &v
13399	return s
13400}
13401
13402// SetEngineVersion sets the EngineVersion field's value.
13403func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
13404	s.EngineVersion = &v
13405	return s
13406}
13407
13408// SetHostedZoneId sets the HostedZoneId field's value.
13409func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
13410	s.HostedZoneId = &v
13411	return s
13412}
13413
13414// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
13415func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
13416	s.HttpEndpointEnabled = &v
13417	return s
13418}
13419
13420// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
13421func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
13422	s.IamDatabaseAuthenticationEnabled = &v
13423	return s
13424}
13425
13426// SetKmsKeyId sets the KmsKeyId field's value.
13427func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
13428	s.KmsKeyId = &v
13429	return s
13430}
13431
13432// SetMasterUsername sets the MasterUsername field's value.
13433func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
13434	s.MasterUsername = &v
13435	return s
13436}
13437
13438// SetMultiAz sets the MultiAz field's value.
13439func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
13440	s.MultiAz = &v
13441	return s
13442}
13443
13444// SetPort sets the Port field's value.
13445func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
13446	s.Port = &v
13447	return s
13448}
13449
13450// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
13451func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
13452	s.PreferredBackupWindow = &v
13453	return s
13454}
13455
13456// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
13457func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
13458	s.PreferredMaintenanceWindow = &v
13459	return s
13460}
13461
13462// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
13463func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
13464	s.ReadReplicaIdentifiers = v
13465	return s
13466}
13467
13468// SetReaderEndpoint sets the ReaderEndpoint field's value.
13469func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
13470	s.ReaderEndpoint = &v
13471	return s
13472}
13473
13474// SetStatus sets the Status field's value.
13475func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
13476	s.Status = &v
13477	return s
13478}
13479
13480// SetStorageEncrypted sets the StorageEncrypted field's value.
13481func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
13482	s.StorageEncrypted = &v
13483	return s
13484}
13485
13486// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
13487func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
13488	s.VpcSecurityGroups = v
13489	return s
13490}
13491
13492// Information about an instance in the DB cluster.
13493type AwsRdsDbClusterMember struct {
13494	_ struct{} `type:"structure"`
13495
13496	// The status of the DB cluster parameter group for this member of the DB cluster.
13497	DbClusterParameterGroupStatus *string `type:"string"`
13498
13499	// The instance identifier for this member of the DB cluster.
13500	DbInstanceIdentifier *string `type:"string"`
13501
13502	// Whether the cluster member is the primary instance for the DB cluster.
13503	IsClusterWriter *bool `type:"boolean"`
13504
13505	// Specifies the order in which an Aurora replica is promoted to the primary
13506	// instance when the existing primary instance fails.
13507	PromotionTier *int64 `type:"integer"`
13508}
13509
13510// String returns the string representation
13511func (s AwsRdsDbClusterMember) String() string {
13512	return awsutil.Prettify(s)
13513}
13514
13515// GoString returns the string representation
13516func (s AwsRdsDbClusterMember) GoString() string {
13517	return s.String()
13518}
13519
13520// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
13521func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
13522	s.DbClusterParameterGroupStatus = &v
13523	return s
13524}
13525
13526// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
13527func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
13528	s.DbInstanceIdentifier = &v
13529	return s
13530}
13531
13532// SetIsClusterWriter sets the IsClusterWriter field's value.
13533func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
13534	s.IsClusterWriter = &v
13535	return s
13536}
13537
13538// SetPromotionTier sets the PromotionTier field's value.
13539func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
13540	s.PromotionTier = &v
13541	return s
13542}
13543
13544// Information about an option group membership for a DB cluster.
13545type AwsRdsDbClusterOptionGroupMembership struct {
13546	_ struct{} `type:"structure"`
13547
13548	// The name of the DB cluster option group.
13549	DbClusterOptionGroupName *string `type:"string"`
13550
13551	// The status of the DB cluster option group.
13552	Status *string `type:"string"`
13553}
13554
13555// String returns the string representation
13556func (s AwsRdsDbClusterOptionGroupMembership) String() string {
13557	return awsutil.Prettify(s)
13558}
13559
13560// GoString returns the string representation
13561func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
13562	return s.String()
13563}
13564
13565// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
13566func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
13567	s.DbClusterOptionGroupName = &v
13568	return s
13569}
13570
13571// SetStatus sets the Status field's value.
13572func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
13573	s.Status = &v
13574	return s
13575}
13576
13577// Information about an Amazon RDS DB cluster snapshot.
13578type AwsRdsDbClusterSnapshotDetails struct {
13579	_ struct{} `type:"structure"`
13580
13581	// Specifies the allocated storage size in gibibytes (GiB).
13582	AllocatedStorage *int64 `type:"integer"`
13583
13584	// A list of Availability Zones where instances in the DB cluster can be created.
13585	AvailabilityZones []*string `type:"list"`
13586
13587	// Indicates when the DB cluster was created, in Universal Coordinated Time
13588	// (UTC).
13589	//
13590	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13591	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13592	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13593	ClusterCreateTime *string `type:"string"`
13594
13595	// The DB cluster identifier.
13596	DbClusterIdentifier *string `type:"string"`
13597
13598	// The identifier of the DB cluster snapshot.
13599	DbClusterSnapshotIdentifier *string `type:"string"`
13600
13601	// The name of the database engine that you want to use for this DB instance.
13602	Engine *string `type:"string"`
13603
13604	// The version of the database engine to use.
13605	EngineVersion *string `type:"string"`
13606
13607	// Whether mapping of IAM accounts to database accounts is enabled.
13608	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
13609
13610	// The ARN of the AWS KMS master key that is used to encrypt the database instances
13611	// in the DB cluster.
13612	KmsKeyId *string `type:"string"`
13613
13614	// The license model information for this DB cluster snapshot.
13615	LicenseModel *string `type:"string"`
13616
13617	// The name of the master user for the DB cluster.
13618	MasterUsername *string `type:"string"`
13619
13620	// Specifies the percentage of the estimated data that has been transferred.
13621	PercentProgress *int64 `type:"integer"`
13622
13623	// The port number on which the DB instances in the DB cluster accept connections.
13624	Port *int64 `type:"integer"`
13625
13626	// Indicates when the snapshot was taken.
13627	//
13628	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13629	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13630	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13631	SnapshotCreateTime *string `type:"string"`
13632
13633	// The type of DB cluster snapshot.
13634	SnapshotType *string `type:"string"`
13635
13636	// The status of this DB cluster snapshot.
13637	Status *string `type:"string"`
13638
13639	// Whether the DB cluster is encrypted.
13640	StorageEncrypted *bool `type:"boolean"`
13641
13642	// The VPC ID that is associated with the DB cluster snapshot.
13643	VpcId *string `type:"string"`
13644}
13645
13646// String returns the string representation
13647func (s AwsRdsDbClusterSnapshotDetails) String() string {
13648	return awsutil.Prettify(s)
13649}
13650
13651// GoString returns the string representation
13652func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
13653	return s.String()
13654}
13655
13656// SetAllocatedStorage sets the AllocatedStorage field's value.
13657func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
13658	s.AllocatedStorage = &v
13659	return s
13660}
13661
13662// SetAvailabilityZones sets the AvailabilityZones field's value.
13663func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
13664	s.AvailabilityZones = v
13665	return s
13666}
13667
13668// SetClusterCreateTime sets the ClusterCreateTime field's value.
13669func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
13670	s.ClusterCreateTime = &v
13671	return s
13672}
13673
13674// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
13675func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
13676	s.DbClusterIdentifier = &v
13677	return s
13678}
13679
13680// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
13681func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
13682	s.DbClusterSnapshotIdentifier = &v
13683	return s
13684}
13685
13686// SetEngine sets the Engine field's value.
13687func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
13688	s.Engine = &v
13689	return s
13690}
13691
13692// SetEngineVersion sets the EngineVersion field's value.
13693func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
13694	s.EngineVersion = &v
13695	return s
13696}
13697
13698// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
13699func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
13700	s.IamDatabaseAuthenticationEnabled = &v
13701	return s
13702}
13703
13704// SetKmsKeyId sets the KmsKeyId field's value.
13705func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
13706	s.KmsKeyId = &v
13707	return s
13708}
13709
13710// SetLicenseModel sets the LicenseModel field's value.
13711func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
13712	s.LicenseModel = &v
13713	return s
13714}
13715
13716// SetMasterUsername sets the MasterUsername field's value.
13717func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
13718	s.MasterUsername = &v
13719	return s
13720}
13721
13722// SetPercentProgress sets the PercentProgress field's value.
13723func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
13724	s.PercentProgress = &v
13725	return s
13726}
13727
13728// SetPort sets the Port field's value.
13729func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
13730	s.Port = &v
13731	return s
13732}
13733
13734// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
13735func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
13736	s.SnapshotCreateTime = &v
13737	return s
13738}
13739
13740// SetSnapshotType sets the SnapshotType field's value.
13741func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
13742	s.SnapshotType = &v
13743	return s
13744}
13745
13746// SetStatus sets the Status field's value.
13747func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
13748	s.Status = &v
13749	return s
13750}
13751
13752// SetStorageEncrypted sets the StorageEncrypted field's value.
13753func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
13754	s.StorageEncrypted = &v
13755	return s
13756}
13757
13758// SetVpcId sets the VpcId field's value.
13759func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
13760	s.VpcId = &v
13761	return s
13762}
13763
13764// Information about an Active Directory domain membership record associated
13765// with the DB instance.
13766type AwsRdsDbDomainMembership struct {
13767	_ struct{} `type:"structure"`
13768
13769	// The identifier of the Active Directory domain.
13770	Domain *string `type:"string"`
13771
13772	// The fully qualified domain name of the Active Directory domain.
13773	Fqdn *string `type:"string"`
13774
13775	// The name of the IAM role to use when making API calls to the Directory Service.
13776	IamRoleName *string `type:"string"`
13777
13778	// The status of the Active Directory Domain membership for the DB instance.
13779	Status *string `type:"string"`
13780}
13781
13782// String returns the string representation
13783func (s AwsRdsDbDomainMembership) String() string {
13784	return awsutil.Prettify(s)
13785}
13786
13787// GoString returns the string representation
13788func (s AwsRdsDbDomainMembership) GoString() string {
13789	return s.String()
13790}
13791
13792// SetDomain sets the Domain field's value.
13793func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
13794	s.Domain = &v
13795	return s
13796}
13797
13798// SetFqdn sets the Fqdn field's value.
13799func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
13800	s.Fqdn = &v
13801	return s
13802}
13803
13804// SetIamRoleName sets the IamRoleName field's value.
13805func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
13806	s.IamRoleName = &v
13807	return s
13808}
13809
13810// SetStatus sets the Status field's value.
13811func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
13812	s.Status = &v
13813	return s
13814}
13815
13816// An AWS Identity and Access Management (IAM) role associated with the DB instance.
13817type AwsRdsDbInstanceAssociatedRole struct {
13818	_ struct{} `type:"structure"`
13819
13820	// The name of the feature associated with the IAM)role.
13821	FeatureName *string `type:"string"`
13822
13823	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
13824	// DB instance.
13825	RoleArn *string `type:"string"`
13826
13827	// Describes the state of the association between the IAM role and the DB instance.
13828	// The Status property returns one of the following values:
13829	//
13830	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
13831	//    be used to access other AWS services on your behalf.
13832	//
13833	//    * PENDING - The IAM role ARN is being associated with the DB instance.
13834	//
13835	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
13836	//    DB instance is unable to assume the IAM role in order to access other
13837	//    AWS services on your behalf.
13838	Status *string `type:"string"`
13839}
13840
13841// String returns the string representation
13842func (s AwsRdsDbInstanceAssociatedRole) String() string {
13843	return awsutil.Prettify(s)
13844}
13845
13846// GoString returns the string representation
13847func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
13848	return s.String()
13849}
13850
13851// SetFeatureName sets the FeatureName field's value.
13852func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
13853	s.FeatureName = &v
13854	return s
13855}
13856
13857// SetRoleArn sets the RoleArn field's value.
13858func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
13859	s.RoleArn = &v
13860	return s
13861}
13862
13863// SetStatus sets the Status field's value.
13864func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
13865	s.Status = &v
13866	return s
13867}
13868
13869// Contains the details of an Amazon RDS DB instance.
13870type AwsRdsDbInstanceDetails struct {
13871	_ struct{} `type:"structure"`
13872
13873	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
13874	AllocatedStorage *int64 `type:"integer"`
13875
13876	// The AWS Identity and Access Management (IAM) roles associated with the DB
13877	// instance.
13878	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
13879
13880	// Indicates whether minor version patches are applied automatically.
13881	AutoMinorVersionUpgrade *bool `type:"boolean"`
13882
13883	// The Availability Zone where the DB instance will be created.
13884	AvailabilityZone *string `type:"string"`
13885
13886	// The number of days for which to retain automated backups.
13887	BackupRetentionPeriod *int64 `type:"integer"`
13888
13889	// The identifier of the CA certificate for this DB instance.
13890	CACertificateIdentifier *string `type:"string"`
13891
13892	// The name of the character set that this DB instance is associated with.
13893	CharacterSetName *string `type:"string"`
13894
13895	// Whether to copy resource tags to snapshots of the DB instance.
13896	CopyTagsToSnapshot *bool `type:"boolean"`
13897
13898	// If the DB instance is a member of a DB cluster, contains the name of the
13899	// DB cluster that the DB instance is a member of.
13900	DBClusterIdentifier *string `type:"string"`
13901
13902	// Contains the name of the compute and memory capacity class of the DB instance.
13903	DBInstanceClass *string `type:"string"`
13904
13905	// Contains a user-supplied database identifier. This identifier is the unique
13906	// key that identifies a DB instance.
13907	DBInstanceIdentifier *string `type:"string"`
13908
13909	// The meaning of this parameter differs according to the database engine you
13910	// use.
13911	//
13912	// MySQL, MariaDB, SQL Server, PostgreSQL
13913	//
13914	// Contains the name of the initial database of this instance that was provided
13915	// at create time, if one was specified when the DB instance was created. This
13916	// same name is returned for the life of the DB instance.
13917	//
13918	// Oracle
13919	//
13920	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
13921	// when the returned parameters do not apply to an Oracle DB instance.
13922	DBName *string `type:"string"`
13923
13924	// Specifies the port that the DB instance listens on. If the DB instance is
13925	// part of a DB cluster, this can be a different port than the DB cluster port.
13926	DbInstancePort *int64 `type:"integer"`
13927
13928	// The current status of the DB instance.
13929	DbInstanceStatus *string `type:"string"`
13930
13931	// A list of the DB parameter groups to assign to the DB instance.
13932	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
13933
13934	// A list of the DB security groups to assign to the DB instance.
13935	DbSecurityGroups []*string `type:"list"`
13936
13937	// Information about the subnet group that is associated with the DB instance.
13938	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
13939
13940	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
13941	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
13942	// instance is accessed.
13943	DbiResourceId *string `type:"string"`
13944
13945	// Indicates whether the DB instance has deletion protection enabled.
13946	//
13947	// When deletion protection is enabled, the database cannot be deleted.
13948	DeletionProtection *bool `type:"boolean"`
13949
13950	// The Active Directory domain membership records associated with the DB instance.
13951	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
13952
13953	// A list of log types that this DB instance is configured to export to CloudWatch
13954	// Logs.
13955	EnabledCloudWatchLogsExports []*string `type:"list"`
13956
13957	// Specifies the connection endpoint.
13958	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
13959
13960	// Provides the name of the database engine to use for this DB instance.
13961	Engine *string `type:"string"`
13962
13963	// Indicates the database engine version.
13964	EngineVersion *string `type:"string"`
13965
13966	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
13967	// metrics data for the DB instance.
13968	EnhancedMonitoringResourceArn *string `type:"string"`
13969
13970	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
13971	// accounts is enabled, and otherwise false.
13972	//
13973	// IAM database authentication can be enabled for the following database engines.
13974	//
13975	//    * For MySQL 5.6, minor version 5.6.34 or higher
13976	//
13977	//    * For MySQL 5.7, minor version 5.7.16 or higher
13978	//
13979	//    * Aurora 5.6 or higher
13980	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
13981
13982	// Indicates when the DB instance was created.
13983	//
13984	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13985	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13986	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13987	InstanceCreateTime *string `type:"string"`
13988
13989	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
13990	Iops *int64 `type:"integer"`
13991
13992	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
13993	// DB instance.
13994	KmsKeyId *string `type:"string"`
13995
13996	// Specifies the latest time to which a database can be restored with point-in-time
13997	// restore.
13998	//
13999	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14000	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14001	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14002	LatestRestorableTime *string `type:"string"`
14003
14004	// License model information for this DB instance.
14005	LicenseModel *string `type:"string"`
14006
14007	// Specifies the connection endpoint.
14008	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
14009
14010	// The master user name of the DB instance.
14011	MasterUsername *string `type:"string"`
14012
14013	// The upper limit to which Amazon RDS can automatically scale the storage of
14014	// the DB instance.
14015	MaxAllocatedStorage *int64 `type:"integer"`
14016
14017	// The interval, in seconds, between points when enhanced monitoring metrics
14018	// are collected for the DB instance.
14019	MonitoringInterval *int64 `type:"integer"`
14020
14021	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
14022	// metrics to CloudWatch Logs.
14023	MonitoringRoleArn *string `type:"string"`
14024
14025	// Whether the DB instance is a multiple Availability Zone deployment.
14026	MultiAz *bool `type:"boolean"`
14027
14028	// The list of option group memberships for this DB instance.
14029	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
14030
14031	// Changes to the DB instance that are currently pending.
14032	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
14033
14034	// Indicates whether Performance Insights is enabled for the DB instance.
14035	PerformanceInsightsEnabled *bool `type:"boolean"`
14036
14037	// The identifier of the AWS KMS key used to encrypt the Performance Insights
14038	// data.
14039	PerformanceInsightsKmsKeyId *string `type:"string"`
14040
14041	// The number of days to retain Performance Insights data.
14042	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
14043
14044	// The range of time each day when automated backups are created, if automated
14045	// backups are enabled.
14046	//
14047	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
14048	PreferredBackupWindow *string `type:"string"`
14049
14050	// The weekly time range during which system maintenance can occur, in Universal
14051	// Coordinated Time (UTC).
14052	//
14053	// Uses the format <day>:HH:MM-<day>:HH:MM.
14054	//
14055	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
14056	//
14057	// For example, sun:09:32-sun:10:02.
14058	PreferredMaintenanceWindow *string `type:"string"`
14059
14060	// The number of CPU cores and the number of threads per core for the DB instance
14061	// class of the DB instance.
14062	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
14063
14064	// The order in which to promote an Aurora replica to the primary instance after
14065	// a failure of the existing primary instance.
14066	PromotionTier *int64 `type:"integer"`
14067
14068	// Specifies the accessibility options for the DB instance.
14069	//
14070	// A value of true specifies an Internet-facing instance with a publicly resolvable
14071	// DNS name, which resolves to a public IP address.
14072	//
14073	// A value of false specifies an internal instance with a DNS name that resolves
14074	// to a private IP address.
14075	PubliclyAccessible *bool `type:"boolean"`
14076
14077	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
14078	// replicated as a read replica.
14079	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
14080
14081	// List of identifiers of the read replicas associated with this DB instance.
14082	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
14083
14084	// If this DB instance is a read replica, contains the identifier of the source
14085	// DB instance.
14086	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
14087
14088	// For a DB instance with multi-Availability Zone support, the name of the secondary
14089	// Availability Zone.
14090	SecondaryAvailabilityZone *string `type:"string"`
14091
14092	// The status of a read replica. If the instance isn't a read replica, this
14093	// is empty.
14094	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
14095
14096	// Specifies whether the DB instance is encrypted.
14097	StorageEncrypted *bool `type:"boolean"`
14098
14099	// The storage type for the DB instance.
14100	StorageType *string `type:"string"`
14101
14102	// The ARN from the key store with which the instance is associated for TDE
14103	// encryption.
14104	TdeCredentialArn *string `type:"string"`
14105
14106	// The time zone of the DB instance.
14107	Timezone *string `type:"string"`
14108
14109	// A list of VPC security groups that the DB instance belongs to.
14110	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
14111}
14112
14113// String returns the string representation
14114func (s AwsRdsDbInstanceDetails) String() string {
14115	return awsutil.Prettify(s)
14116}
14117
14118// GoString returns the string representation
14119func (s AwsRdsDbInstanceDetails) GoString() string {
14120	return s.String()
14121}
14122
14123// SetAllocatedStorage sets the AllocatedStorage field's value.
14124func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
14125	s.AllocatedStorage = &v
14126	return s
14127}
14128
14129// SetAssociatedRoles sets the AssociatedRoles field's value.
14130func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
14131	s.AssociatedRoles = v
14132	return s
14133}
14134
14135// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
14136func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
14137	s.AutoMinorVersionUpgrade = &v
14138	return s
14139}
14140
14141// SetAvailabilityZone sets the AvailabilityZone field's value.
14142func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
14143	s.AvailabilityZone = &v
14144	return s
14145}
14146
14147// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14148func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
14149	s.BackupRetentionPeriod = &v
14150	return s
14151}
14152
14153// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
14154func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
14155	s.CACertificateIdentifier = &v
14156	return s
14157}
14158
14159// SetCharacterSetName sets the CharacterSetName field's value.
14160func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
14161	s.CharacterSetName = &v
14162	return s
14163}
14164
14165// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
14166func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
14167	s.CopyTagsToSnapshot = &v
14168	return s
14169}
14170
14171// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14172func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
14173	s.DBClusterIdentifier = &v
14174	return s
14175}
14176
14177// SetDBInstanceClass sets the DBInstanceClass field's value.
14178func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
14179	s.DBInstanceClass = &v
14180	return s
14181}
14182
14183// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14184func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
14185	s.DBInstanceIdentifier = &v
14186	return s
14187}
14188
14189// SetDBName sets the DBName field's value.
14190func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
14191	s.DBName = &v
14192	return s
14193}
14194
14195// SetDbInstancePort sets the DbInstancePort field's value.
14196func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
14197	s.DbInstancePort = &v
14198	return s
14199}
14200
14201// SetDbInstanceStatus sets the DbInstanceStatus field's value.
14202func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
14203	s.DbInstanceStatus = &v
14204	return s
14205}
14206
14207// SetDbParameterGroups sets the DbParameterGroups field's value.
14208func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
14209	s.DbParameterGroups = v
14210	return s
14211}
14212
14213// SetDbSecurityGroups sets the DbSecurityGroups field's value.
14214func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
14215	s.DbSecurityGroups = v
14216	return s
14217}
14218
14219// SetDbSubnetGroup sets the DbSubnetGroup field's value.
14220func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
14221	s.DbSubnetGroup = v
14222	return s
14223}
14224
14225// SetDbiResourceId sets the DbiResourceId field's value.
14226func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
14227	s.DbiResourceId = &v
14228	return s
14229}
14230
14231// SetDeletionProtection sets the DeletionProtection field's value.
14232func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
14233	s.DeletionProtection = &v
14234	return s
14235}
14236
14237// SetDomainMemberships sets the DomainMemberships field's value.
14238func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
14239	s.DomainMemberships = v
14240	return s
14241}
14242
14243// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
14244func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
14245	s.EnabledCloudWatchLogsExports = v
14246	return s
14247}
14248
14249// SetEndpoint sets the Endpoint field's value.
14250func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
14251	s.Endpoint = v
14252	return s
14253}
14254
14255// SetEngine sets the Engine field's value.
14256func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
14257	s.Engine = &v
14258	return s
14259}
14260
14261// SetEngineVersion sets the EngineVersion field's value.
14262func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
14263	s.EngineVersion = &v
14264	return s
14265}
14266
14267// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
14268func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
14269	s.EnhancedMonitoringResourceArn = &v
14270	return s
14271}
14272
14273// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
14274func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
14275	s.IAMDatabaseAuthenticationEnabled = &v
14276	return s
14277}
14278
14279// SetInstanceCreateTime sets the InstanceCreateTime field's value.
14280func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
14281	s.InstanceCreateTime = &v
14282	return s
14283}
14284
14285// SetIops sets the Iops field's value.
14286func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
14287	s.Iops = &v
14288	return s
14289}
14290
14291// SetKmsKeyId sets the KmsKeyId field's value.
14292func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
14293	s.KmsKeyId = &v
14294	return s
14295}
14296
14297// SetLatestRestorableTime sets the LatestRestorableTime field's value.
14298func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
14299	s.LatestRestorableTime = &v
14300	return s
14301}
14302
14303// SetLicenseModel sets the LicenseModel field's value.
14304func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
14305	s.LicenseModel = &v
14306	return s
14307}
14308
14309// SetListenerEndpoint sets the ListenerEndpoint field's value.
14310func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
14311	s.ListenerEndpoint = v
14312	return s
14313}
14314
14315// SetMasterUsername sets the MasterUsername field's value.
14316func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
14317	s.MasterUsername = &v
14318	return s
14319}
14320
14321// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
14322func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
14323	s.MaxAllocatedStorage = &v
14324	return s
14325}
14326
14327// SetMonitoringInterval sets the MonitoringInterval field's value.
14328func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
14329	s.MonitoringInterval = &v
14330	return s
14331}
14332
14333// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
14334func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
14335	s.MonitoringRoleArn = &v
14336	return s
14337}
14338
14339// SetMultiAz sets the MultiAz field's value.
14340func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
14341	s.MultiAz = &v
14342	return s
14343}
14344
14345// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
14346func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
14347	s.OptionGroupMemberships = v
14348	return s
14349}
14350
14351// SetPendingModifiedValues sets the PendingModifiedValues field's value.
14352func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
14353	s.PendingModifiedValues = v
14354	return s
14355}
14356
14357// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
14358func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
14359	s.PerformanceInsightsEnabled = &v
14360	return s
14361}
14362
14363// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
14364func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
14365	s.PerformanceInsightsKmsKeyId = &v
14366	return s
14367}
14368
14369// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
14370func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
14371	s.PerformanceInsightsRetentionPeriod = &v
14372	return s
14373}
14374
14375// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14376func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
14377	s.PreferredBackupWindow = &v
14378	return s
14379}
14380
14381// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14382func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
14383	s.PreferredMaintenanceWindow = &v
14384	return s
14385}
14386
14387// SetProcessorFeatures sets the ProcessorFeatures field's value.
14388func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
14389	s.ProcessorFeatures = v
14390	return s
14391}
14392
14393// SetPromotionTier sets the PromotionTier field's value.
14394func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
14395	s.PromotionTier = &v
14396	return s
14397}
14398
14399// SetPubliclyAccessible sets the PubliclyAccessible field's value.
14400func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
14401	s.PubliclyAccessible = &v
14402	return s
14403}
14404
14405// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
14406func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
14407	s.ReadReplicaDBClusterIdentifiers = v
14408	return s
14409}
14410
14411// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
14412func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
14413	s.ReadReplicaDBInstanceIdentifiers = v
14414	return s
14415}
14416
14417// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
14418func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
14419	s.ReadReplicaSourceDBInstanceIdentifier = &v
14420	return s
14421}
14422
14423// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
14424func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
14425	s.SecondaryAvailabilityZone = &v
14426	return s
14427}
14428
14429// SetStatusInfos sets the StatusInfos field's value.
14430func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
14431	s.StatusInfos = v
14432	return s
14433}
14434
14435// SetStorageEncrypted sets the StorageEncrypted field's value.
14436func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
14437	s.StorageEncrypted = &v
14438	return s
14439}
14440
14441// SetStorageType sets the StorageType field's value.
14442func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
14443	s.StorageType = &v
14444	return s
14445}
14446
14447// SetTdeCredentialArn sets the TdeCredentialArn field's value.
14448func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
14449	s.TdeCredentialArn = &v
14450	return s
14451}
14452
14453// SetTimezone sets the Timezone field's value.
14454func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
14455	s.Timezone = &v
14456	return s
14457}
14458
14459// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
14460func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
14461	s.VpcSecurityGroups = v
14462	return s
14463}
14464
14465// Specifies the connection endpoint.
14466type AwsRdsDbInstanceEndpoint struct {
14467	_ struct{} `type:"structure"`
14468
14469	// Specifies the DNS address of the DB instance.
14470	Address *string `type:"string"`
14471
14472	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
14473	HostedZoneId *string `type:"string"`
14474
14475	// Specifies the port that the database engine is listening on.
14476	Port *int64 `type:"integer"`
14477}
14478
14479// String returns the string representation
14480func (s AwsRdsDbInstanceEndpoint) String() string {
14481	return awsutil.Prettify(s)
14482}
14483
14484// GoString returns the string representation
14485func (s AwsRdsDbInstanceEndpoint) GoString() string {
14486	return s.String()
14487}
14488
14489// SetAddress sets the Address field's value.
14490func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
14491	s.Address = &v
14492	return s
14493}
14494
14495// SetHostedZoneId sets the HostedZoneId field's value.
14496func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
14497	s.HostedZoneId = &v
14498	return s
14499}
14500
14501// SetPort sets the Port field's value.
14502func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
14503	s.Port = &v
14504	return s
14505}
14506
14507// A VPC security groups that the DB instance belongs to.
14508type AwsRdsDbInstanceVpcSecurityGroup struct {
14509	_ struct{} `type:"structure"`
14510
14511	// The status of the VPC security group.
14512	Status *string `type:"string"`
14513
14514	// The name of the VPC security group.
14515	VpcSecurityGroupId *string `type:"string"`
14516}
14517
14518// String returns the string representation
14519func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
14520	return awsutil.Prettify(s)
14521}
14522
14523// GoString returns the string representation
14524func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
14525	return s.String()
14526}
14527
14528// SetStatus sets the Status field's value.
14529func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
14530	s.Status = &v
14531	return s
14532}
14533
14534// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
14535func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
14536	s.VpcSecurityGroupId = &v
14537	return s
14538}
14539
14540// An option group membership.
14541type AwsRdsDbOptionGroupMembership struct {
14542	_ struct{} `type:"structure"`
14543
14544	// The name of the option group.
14545	OptionGroupName *string `type:"string"`
14546
14547	// The status of the option group membership.
14548	Status *string `type:"string"`
14549}
14550
14551// String returns the string representation
14552func (s AwsRdsDbOptionGroupMembership) String() string {
14553	return awsutil.Prettify(s)
14554}
14555
14556// GoString returns the string representation
14557func (s AwsRdsDbOptionGroupMembership) GoString() string {
14558	return s.String()
14559}
14560
14561// SetOptionGroupName sets the OptionGroupName field's value.
14562func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
14563	s.OptionGroupName = &v
14564	return s
14565}
14566
14567// SetStatus sets the Status field's value.
14568func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
14569	s.Status = &v
14570	return s
14571}
14572
14573// Provides information about a parameter group for a DB instance.
14574type AwsRdsDbParameterGroup struct {
14575	_ struct{} `type:"structure"`
14576
14577	// The name of the parameter group.
14578	DbParameterGroupName *string `type:"string"`
14579
14580	// The status of parameter updates.
14581	ParameterApplyStatus *string `type:"string"`
14582}
14583
14584// String returns the string representation
14585func (s AwsRdsDbParameterGroup) String() string {
14586	return awsutil.Prettify(s)
14587}
14588
14589// GoString returns the string representation
14590func (s AwsRdsDbParameterGroup) GoString() string {
14591	return s.String()
14592}
14593
14594// SetDbParameterGroupName sets the DbParameterGroupName field's value.
14595func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
14596	s.DbParameterGroupName = &v
14597	return s
14598}
14599
14600// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
14601func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
14602	s.ParameterApplyStatus = &v
14603	return s
14604}
14605
14606// Changes to a DB instance that are currently pending.
14607type AwsRdsDbPendingModifiedValues struct {
14608	_ struct{} `type:"structure"`
14609
14610	// The new value of the allocated storage for the DB instance.
14611	AllocatedStorage *int64 `type:"integer"`
14612
14613	// The new backup retention period for the DB instance.
14614	BackupRetentionPeriod *int64 `type:"integer"`
14615
14616	// The new CA certificate identifier for the DB instance.
14617	CaCertificateIdentifier *string `type:"string"`
14618
14619	// The new DB instance class for the DB instance.
14620	DbInstanceClass *string `type:"string"`
14621
14622	// The new DB instance identifier for the DB instance.
14623	DbInstanceIdentifier *string `type:"string"`
14624
14625	// The name of the new subnet group for the DB instance.
14626	DbSubnetGroupName *string `type:"string"`
14627
14628	// The new engine version for the DB instance.
14629	EngineVersion *string `type:"string"`
14630
14631	// The new provisioned IOPS value for the DB instance.
14632	Iops *int64 `type:"integer"`
14633
14634	// The new license model value for the DB instance.
14635	LicenseModel *string `type:"string"`
14636
14637	// The new master user password for the DB instance.
14638	MasterUserPassword *string `type:"string"`
14639
14640	// Indicates that a single Availability Zone DB instance is changing to a multiple
14641	// Availability Zone deployment.
14642	MultiAZ *bool `type:"boolean"`
14643
14644	// A list of log types that are being enabled or disabled.
14645	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
14646
14647	// The new port for the DB instance.
14648	Port *int64 `type:"integer"`
14649
14650	// Processor features that are being updated.
14651	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
14652
14653	// The new storage type for the DB instance.
14654	StorageType *string `type:"string"`
14655}
14656
14657// String returns the string representation
14658func (s AwsRdsDbPendingModifiedValues) String() string {
14659	return awsutil.Prettify(s)
14660}
14661
14662// GoString returns the string representation
14663func (s AwsRdsDbPendingModifiedValues) GoString() string {
14664	return s.String()
14665}
14666
14667// SetAllocatedStorage sets the AllocatedStorage field's value.
14668func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
14669	s.AllocatedStorage = &v
14670	return s
14671}
14672
14673// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14674func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
14675	s.BackupRetentionPeriod = &v
14676	return s
14677}
14678
14679// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
14680func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
14681	s.CaCertificateIdentifier = &v
14682	return s
14683}
14684
14685// SetDbInstanceClass sets the DbInstanceClass field's value.
14686func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
14687	s.DbInstanceClass = &v
14688	return s
14689}
14690
14691// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
14692func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
14693	s.DbInstanceIdentifier = &v
14694	return s
14695}
14696
14697// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
14698func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
14699	s.DbSubnetGroupName = &v
14700	return s
14701}
14702
14703// SetEngineVersion sets the EngineVersion field's value.
14704func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
14705	s.EngineVersion = &v
14706	return s
14707}
14708
14709// SetIops sets the Iops field's value.
14710func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
14711	s.Iops = &v
14712	return s
14713}
14714
14715// SetLicenseModel sets the LicenseModel field's value.
14716func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
14717	s.LicenseModel = &v
14718	return s
14719}
14720
14721// SetMasterUserPassword sets the MasterUserPassword field's value.
14722func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
14723	s.MasterUserPassword = &v
14724	return s
14725}
14726
14727// SetMultiAZ sets the MultiAZ field's value.
14728func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
14729	s.MultiAZ = &v
14730	return s
14731}
14732
14733// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
14734func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
14735	s.PendingCloudWatchLogsExports = v
14736	return s
14737}
14738
14739// SetPort sets the Port field's value.
14740func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
14741	s.Port = &v
14742	return s
14743}
14744
14745// SetProcessorFeatures sets the ProcessorFeatures field's value.
14746func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
14747	s.ProcessorFeatures = v
14748	return s
14749}
14750
14751// SetStorageType sets the StorageType field's value.
14752func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
14753	s.StorageType = &v
14754	return s
14755}
14756
14757// A processor feature.
14758type AwsRdsDbProcessorFeature struct {
14759	_ struct{} `type:"structure"`
14760
14761	// The name of the processor feature.
14762	Name *string `type:"string"`
14763
14764	// The value of the processor feature.
14765	Value *string `type:"string"`
14766}
14767
14768// String returns the string representation
14769func (s AwsRdsDbProcessorFeature) String() string {
14770	return awsutil.Prettify(s)
14771}
14772
14773// GoString returns the string representation
14774func (s AwsRdsDbProcessorFeature) GoString() string {
14775	return s.String()
14776}
14777
14778// SetName sets the Name field's value.
14779func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
14780	s.Name = &v
14781	return s
14782}
14783
14784// SetValue sets the Value field's value.
14785func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
14786	s.Value = &v
14787	return s
14788}
14789
14790// Provides details about an Amazon RDS DB cluster snapshot.
14791type AwsRdsDbSnapshotDetails struct {
14792	_ struct{} `type:"structure"`
14793
14794	// The amount of storage (in gigabytes) to be initially allocated for the database
14795	// instance.
14796	AllocatedStorage *int64 `type:"integer"`
14797
14798	// Specifies the name of the Availability Zone in which the DB instance was
14799	// located at the time of the DB snapshot.
14800	AvailabilityZone *string `type:"string"`
14801
14802	// A name for the DB instance.
14803	DbInstanceIdentifier *string `type:"string"`
14804
14805	// The name or ARN of the DB snapshot that is used to restore the DB instance.
14806	DbSnapshotIdentifier *string `type:"string"`
14807
14808	// The identifier for the source DB instance.
14809	DbiResourceId *string `type:"string"`
14810
14811	// Whether the DB snapshot is encrypted.
14812	Encrypted *bool `type:"boolean"`
14813
14814	// The name of the database engine to use for this DB instance.
14815	Engine *string `type:"string"`
14816
14817	// The version of the database engine.
14818	EngineVersion *string `type:"string"`
14819
14820	// Whether mapping of IAM accounts to database accounts is enabled.
14821	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
14822
14823	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
14824	// from which the snapshot was taken, was created.
14825	InstanceCreateTime *string `type:"string"`
14826
14827	// The provisioned IOPS (I/O operations per second) value of the DB instance
14828	// at the time of the snapshot.
14829	Iops *int64 `type:"integer"`
14830
14831	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
14832	KmsKeyId *string `type:"string"`
14833
14834	// License model information for the restored DB instance.
14835	LicenseModel *string `type:"string"`
14836
14837	// The master user name for the DB snapshot.
14838	MasterUsername *string `type:"string"`
14839
14840	// The option group name for the DB snapshot.
14841	OptionGroupName *string `type:"string"`
14842
14843	// The percentage of the estimated data that has been transferred.
14844	PercentProgress *int64 `type:"integer"`
14845
14846	// The port that the database engine was listening on at the time of the snapshot.
14847	Port *int64 `type:"integer"`
14848
14849	// The number of CPU cores and the number of threads per core for the DB instance
14850	// class of the DB instance.
14851	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
14852
14853	// When the snapshot was taken in Coordinated Universal Time (UTC).
14854	SnapshotCreateTime *string `type:"string"`
14855
14856	// The type of the DB snapshot.
14857	SnapshotType *string `type:"string"`
14858
14859	// The DB snapshot ARN that the DB snapshot was copied from.
14860	SourceDbSnapshotIdentifier *string `type:"string"`
14861
14862	// The AWS Region that the DB snapshot was created in or copied from.
14863	SourceRegion *string `type:"string"`
14864
14865	// The status of this DB snapshot.
14866	Status *string `type:"string"`
14867
14868	// The storage type associated with the DB snapshot.
14869	StorageType *string `type:"string"`
14870
14871	// The ARN from the key store with which to associate the instance for TDE encryption.
14872	TdeCredentialArn *string `type:"string"`
14873
14874	// The time zone of the DB snapshot.
14875	Timezone *string `type:"string"`
14876
14877	// The VPC ID associated with the DB snapshot.
14878	VpcId *string `type:"string"`
14879}
14880
14881// String returns the string representation
14882func (s AwsRdsDbSnapshotDetails) String() string {
14883	return awsutil.Prettify(s)
14884}
14885
14886// GoString returns the string representation
14887func (s AwsRdsDbSnapshotDetails) GoString() string {
14888	return s.String()
14889}
14890
14891// SetAllocatedStorage sets the AllocatedStorage field's value.
14892func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
14893	s.AllocatedStorage = &v
14894	return s
14895}
14896
14897// SetAvailabilityZone sets the AvailabilityZone field's value.
14898func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
14899	s.AvailabilityZone = &v
14900	return s
14901}
14902
14903// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
14904func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
14905	s.DbInstanceIdentifier = &v
14906	return s
14907}
14908
14909// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
14910func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
14911	s.DbSnapshotIdentifier = &v
14912	return s
14913}
14914
14915// SetDbiResourceId sets the DbiResourceId field's value.
14916func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
14917	s.DbiResourceId = &v
14918	return s
14919}
14920
14921// SetEncrypted sets the Encrypted field's value.
14922func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
14923	s.Encrypted = &v
14924	return s
14925}
14926
14927// SetEngine sets the Engine field's value.
14928func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
14929	s.Engine = &v
14930	return s
14931}
14932
14933// SetEngineVersion sets the EngineVersion field's value.
14934func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
14935	s.EngineVersion = &v
14936	return s
14937}
14938
14939// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
14940func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
14941	s.IamDatabaseAuthenticationEnabled = &v
14942	return s
14943}
14944
14945// SetInstanceCreateTime sets the InstanceCreateTime field's value.
14946func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
14947	s.InstanceCreateTime = &v
14948	return s
14949}
14950
14951// SetIops sets the Iops field's value.
14952func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
14953	s.Iops = &v
14954	return s
14955}
14956
14957// SetKmsKeyId sets the KmsKeyId field's value.
14958func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
14959	s.KmsKeyId = &v
14960	return s
14961}
14962
14963// SetLicenseModel sets the LicenseModel field's value.
14964func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
14965	s.LicenseModel = &v
14966	return s
14967}
14968
14969// SetMasterUsername sets the MasterUsername field's value.
14970func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
14971	s.MasterUsername = &v
14972	return s
14973}
14974
14975// SetOptionGroupName sets the OptionGroupName field's value.
14976func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
14977	s.OptionGroupName = &v
14978	return s
14979}
14980
14981// SetPercentProgress sets the PercentProgress field's value.
14982func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
14983	s.PercentProgress = &v
14984	return s
14985}
14986
14987// SetPort sets the Port field's value.
14988func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
14989	s.Port = &v
14990	return s
14991}
14992
14993// SetProcessorFeatures sets the ProcessorFeatures field's value.
14994func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
14995	s.ProcessorFeatures = v
14996	return s
14997}
14998
14999// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
15000func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
15001	s.SnapshotCreateTime = &v
15002	return s
15003}
15004
15005// SetSnapshotType sets the SnapshotType field's value.
15006func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
15007	s.SnapshotType = &v
15008	return s
15009}
15010
15011// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
15012func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
15013	s.SourceDbSnapshotIdentifier = &v
15014	return s
15015}
15016
15017// SetSourceRegion sets the SourceRegion field's value.
15018func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
15019	s.SourceRegion = &v
15020	return s
15021}
15022
15023// SetStatus sets the Status field's value.
15024func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
15025	s.Status = &v
15026	return s
15027}
15028
15029// SetStorageType sets the StorageType field's value.
15030func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
15031	s.StorageType = &v
15032	return s
15033}
15034
15035// SetTdeCredentialArn sets the TdeCredentialArn field's value.
15036func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
15037	s.TdeCredentialArn = &v
15038	return s
15039}
15040
15041// SetTimezone sets the Timezone field's value.
15042func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
15043	s.Timezone = &v
15044	return s
15045}
15046
15047// SetVpcId sets the VpcId field's value.
15048func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
15049	s.VpcId = &v
15050	return s
15051}
15052
15053// Information about the status of a read replica.
15054type AwsRdsDbStatusInfo struct {
15055	_ struct{} `type:"structure"`
15056
15057	// If the read replica is currently in an error state, provides the error details.
15058	Message *string `type:"string"`
15059
15060	// Whether the read replica instance is operating normally.
15061	Normal *bool `type:"boolean"`
15062
15063	// The status of the read replica instance.
15064	Status *string `type:"string"`
15065
15066	// The type of status. For a read replica, the status type is read replication.
15067	StatusType *string `type:"string"`
15068}
15069
15070// String returns the string representation
15071func (s AwsRdsDbStatusInfo) String() string {
15072	return awsutil.Prettify(s)
15073}
15074
15075// GoString returns the string representation
15076func (s AwsRdsDbStatusInfo) GoString() string {
15077	return s.String()
15078}
15079
15080// SetMessage sets the Message field's value.
15081func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
15082	s.Message = &v
15083	return s
15084}
15085
15086// SetNormal sets the Normal field's value.
15087func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
15088	s.Normal = &v
15089	return s
15090}
15091
15092// SetStatus sets the Status field's value.
15093func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
15094	s.Status = &v
15095	return s
15096}
15097
15098// SetStatusType sets the StatusType field's value.
15099func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
15100	s.StatusType = &v
15101	return s
15102}
15103
15104// Information about the subnet group for the database instance.
15105type AwsRdsDbSubnetGroup struct {
15106	_ struct{} `type:"structure"`
15107
15108	// The ARN of the subnet group.
15109	DbSubnetGroupArn *string `type:"string"`
15110
15111	// The description of the subnet group.
15112	DbSubnetGroupDescription *string `type:"string"`
15113
15114	// The name of the subnet group.
15115	DbSubnetGroupName *string `type:"string"`
15116
15117	// The status of the subnet group.
15118	SubnetGroupStatus *string `type:"string"`
15119
15120	// A list of subnets in the subnet group.
15121	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
15122
15123	// The VPC ID of the subnet group.
15124	VpcId *string `type:"string"`
15125}
15126
15127// String returns the string representation
15128func (s AwsRdsDbSubnetGroup) String() string {
15129	return awsutil.Prettify(s)
15130}
15131
15132// GoString returns the string representation
15133func (s AwsRdsDbSubnetGroup) GoString() string {
15134	return s.String()
15135}
15136
15137// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
15138func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
15139	s.DbSubnetGroupArn = &v
15140	return s
15141}
15142
15143// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
15144func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
15145	s.DbSubnetGroupDescription = &v
15146	return s
15147}
15148
15149// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
15150func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
15151	s.DbSubnetGroupName = &v
15152	return s
15153}
15154
15155// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
15156func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
15157	s.SubnetGroupStatus = &v
15158	return s
15159}
15160
15161// SetSubnets sets the Subnets field's value.
15162func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
15163	s.Subnets = v
15164	return s
15165}
15166
15167// SetVpcId sets the VpcId field's value.
15168func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
15169	s.VpcId = &v
15170	return s
15171}
15172
15173// Information about a subnet in a subnet group.
15174type AwsRdsDbSubnetGroupSubnet struct {
15175	_ struct{} `type:"structure"`
15176
15177	// Information about the Availability Zone for a subnet in the subnet group.
15178	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
15179
15180	// The identifier of a subnet in the subnet group.
15181	SubnetIdentifier *string `type:"string"`
15182
15183	// The status of a subnet in the subnet group.
15184	SubnetStatus *string `type:"string"`
15185}
15186
15187// String returns the string representation
15188func (s AwsRdsDbSubnetGroupSubnet) String() string {
15189	return awsutil.Prettify(s)
15190}
15191
15192// GoString returns the string representation
15193func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
15194	return s.String()
15195}
15196
15197// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
15198func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
15199	s.SubnetAvailabilityZone = v
15200	return s
15201}
15202
15203// SetSubnetIdentifier sets the SubnetIdentifier field's value.
15204func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
15205	s.SubnetIdentifier = &v
15206	return s
15207}
15208
15209// SetSubnetStatus sets the SubnetStatus field's value.
15210func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
15211	s.SubnetStatus = &v
15212	return s
15213}
15214
15215// An Availability Zone for a subnet in a subnet group.
15216type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
15217	_ struct{} `type:"structure"`
15218
15219	// The name of the Availability Zone for a subnet in the subnet group.
15220	Name *string `type:"string"`
15221}
15222
15223// String returns the string representation
15224func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
15225	return awsutil.Prettify(s)
15226}
15227
15228// GoString returns the string representation
15229func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
15230	return s.String()
15231}
15232
15233// SetName sets the Name field's value.
15234func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
15235	s.Name = &v
15236	return s
15237}
15238
15239// Identifies the log types to enable and disable.
15240type AwsRdsPendingCloudWatchLogsExports struct {
15241	_ struct{} `type:"structure"`
15242
15243	// A list of log types that are being disabled.
15244	LogTypesToDisable []*string `type:"list"`
15245
15246	// A list of log types that are being enabled.
15247	LogTypesToEnable []*string `type:"list"`
15248}
15249
15250// String returns the string representation
15251func (s AwsRdsPendingCloudWatchLogsExports) String() string {
15252	return awsutil.Prettify(s)
15253}
15254
15255// GoString returns the string representation
15256func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
15257	return s.String()
15258}
15259
15260// SetLogTypesToDisable sets the LogTypesToDisable field's value.
15261func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
15262	s.LogTypesToDisable = v
15263	return s
15264}
15265
15266// SetLogTypesToEnable sets the LogTypesToEnable field's value.
15267func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
15268	s.LogTypesToEnable = v
15269	return s
15270}
15271
15272// A node in an Amazon Redshift cluster.
15273type AwsRedshiftClusterClusterNode struct {
15274	_ struct{} `type:"structure"`
15275
15276	// The role of the node. A node might be a leader node or a compute node.
15277	NodeRole *string `type:"string"`
15278
15279	// The private IP address of the node.
15280	PrivateIpAddress *string `type:"string"`
15281
15282	// The public IP address of the node.
15283	PublicIpAddress *string `type:"string"`
15284}
15285
15286// String returns the string representation
15287func (s AwsRedshiftClusterClusterNode) String() string {
15288	return awsutil.Prettify(s)
15289}
15290
15291// GoString returns the string representation
15292func (s AwsRedshiftClusterClusterNode) GoString() string {
15293	return s.String()
15294}
15295
15296// SetNodeRole sets the NodeRole field's value.
15297func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
15298	s.NodeRole = &v
15299	return s
15300}
15301
15302// SetPrivateIpAddress sets the PrivateIpAddress field's value.
15303func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
15304	s.PrivateIpAddress = &v
15305	return s
15306}
15307
15308// SetPublicIpAddress sets the PublicIpAddress field's value.
15309func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
15310	s.PublicIpAddress = &v
15311	return s
15312}
15313
15314// A cluster parameter group that is associated with an Amazon Redshift cluster.
15315type AwsRedshiftClusterClusterParameterGroup struct {
15316	_ struct{} `type:"structure"`
15317
15318	// The list of parameter statuses.
15319	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
15320
15321	// The status of updates to the parameters.
15322	ParameterApplyStatus *string `type:"string"`
15323
15324	// The name of the parameter group.
15325	ParameterGroupName *string `type:"string"`
15326}
15327
15328// String returns the string representation
15329func (s AwsRedshiftClusterClusterParameterGroup) String() string {
15330	return awsutil.Prettify(s)
15331}
15332
15333// GoString returns the string representation
15334func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
15335	return s.String()
15336}
15337
15338// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
15339func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
15340	s.ClusterParameterStatusList = v
15341	return s
15342}
15343
15344// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
15345func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
15346	s.ParameterApplyStatus = &v
15347	return s
15348}
15349
15350// SetParameterGroupName sets the ParameterGroupName field's value.
15351func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
15352	s.ParameterGroupName = &v
15353	return s
15354}
15355
15356// The status of a parameter in a cluster parameter group for an Amazon Redshift
15357// cluster.
15358type AwsRedshiftClusterClusterParameterStatus struct {
15359	_ struct{} `type:"structure"`
15360
15361	// The error that prevented the parameter from being applied to the database.
15362	ParameterApplyErrorDescription *string `type:"string"`
15363
15364	// The status of the parameter. Indicates whether the parameter is in sync with
15365	// the database, waiting for a cluster reboot, or encountered an error when
15366	// it was applied.
15367	//
15368	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
15369	// | apply-error | unknown-error
15370	ParameterApplyStatus *string `type:"string"`
15371
15372	// The name of the parameter.
15373	ParameterName *string `type:"string"`
15374}
15375
15376// String returns the string representation
15377func (s AwsRedshiftClusterClusterParameterStatus) String() string {
15378	return awsutil.Prettify(s)
15379}
15380
15381// GoString returns the string representation
15382func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
15383	return s.String()
15384}
15385
15386// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
15387func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
15388	s.ParameterApplyErrorDescription = &v
15389	return s
15390}
15391
15392// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
15393func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
15394	s.ParameterApplyStatus = &v
15395	return s
15396}
15397
15398// SetParameterName sets the ParameterName field's value.
15399func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
15400	s.ParameterName = &v
15401	return s
15402}
15403
15404// A security group that is associated with the cluster.
15405type AwsRedshiftClusterClusterSecurityGroup struct {
15406	_ struct{} `type:"structure"`
15407
15408	// The name of the cluster security group.
15409	ClusterSecurityGroupName *string `type:"string"`
15410
15411	// The status of the cluster security group.
15412	Status *string `type:"string"`
15413}
15414
15415// String returns the string representation
15416func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
15417	return awsutil.Prettify(s)
15418}
15419
15420// GoString returns the string representation
15421func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
15422	return s.String()
15423}
15424
15425// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
15426func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
15427	s.ClusterSecurityGroupName = &v
15428	return s
15429}
15430
15431// SetStatus sets the Status field's value.
15432func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
15433	s.Status = &v
15434	return s
15435}
15436
15437// Information about a cross-Region snapshot copy.
15438type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
15439	_ struct{} `type:"structure"`
15440
15441	// The destination Region that snapshots are automatically copied to when cross-Region
15442	// snapshot copy is enabled.
15443	DestinationRegion *string `type:"string"`
15444
15445	// The number of days that manual snapshots are retained in the destination
15446	// region after they are copied from a source region.
15447	//
15448	// If the value is -1, then the manual snapshot is retained indefinitely.
15449	//
15450	// Valid values: Either -1 or an integer between 1 and 3,653
15451	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
15452
15453	// The number of days to retain automated snapshots in the destination Region
15454	// after they are copied from a source Region.
15455	RetentionPeriod *int64 `type:"integer"`
15456
15457	// The name of the snapshot copy grant.
15458	SnapshotCopyGrantName *string `type:"string"`
15459}
15460
15461// String returns the string representation
15462func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
15468	return s.String()
15469}
15470
15471// SetDestinationRegion sets the DestinationRegion field's value.
15472func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
15473	s.DestinationRegion = &v
15474	return s
15475}
15476
15477// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
15478func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
15479	s.ManualSnapshotRetentionPeriod = &v
15480	return s
15481}
15482
15483// SetRetentionPeriod sets the RetentionPeriod field's value.
15484func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
15485	s.RetentionPeriod = &v
15486	return s
15487}
15488
15489// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
15490func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
15491	s.SnapshotCopyGrantName = &v
15492	return s
15493}
15494
15495// A time windows during which maintenance was deferred for an Amazon Redshift
15496// cluster.
15497type AwsRedshiftClusterDeferredMaintenanceWindow struct {
15498	_ struct{} `type:"structure"`
15499
15500	// The end of the time window for which maintenance was deferred.
15501	//
15502	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15503	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15504	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15505	DeferMaintenanceEndTime *string `type:"string"`
15506
15507	// The identifier of the maintenance window.
15508	DeferMaintenanceIdentifier *string `type:"string"`
15509
15510	// The start of the time window for which maintenance was deferred.
15511	//
15512	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15513	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15514	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15515	DeferMaintenanceStartTime *string `type:"string"`
15516}
15517
15518// String returns the string representation
15519func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
15520	return awsutil.Prettify(s)
15521}
15522
15523// GoString returns the string representation
15524func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
15525	return s.String()
15526}
15527
15528// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
15529func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
15530	s.DeferMaintenanceEndTime = &v
15531	return s
15532}
15533
15534// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
15535func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
15536	s.DeferMaintenanceIdentifier = &v
15537	return s
15538}
15539
15540// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
15541func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
15542	s.DeferMaintenanceStartTime = &v
15543	return s
15544}
15545
15546// Details about an Amazon Redshift cluster.
15547type AwsRedshiftClusterDetails struct {
15548	_ struct{} `type:"structure"`
15549
15550	// Indicates whether major version upgrades are applied automatically to the
15551	// cluster during the maintenance window.
15552	AllowVersionUpgrade *bool `type:"boolean"`
15553
15554	// The number of days that automatic cluster snapshots are retained.
15555	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
15556
15557	// The name of the Availability Zone in which the cluster is located.
15558	AvailabilityZone *string `type:"string"`
15559
15560	// The availability status of the cluster for queries. Possible values are the
15561	// following:
15562	//
15563	//    * Available - The cluster is available for queries.
15564	//
15565	//    * Unavailable - The cluster is not available for queries.
15566	//
15567	//    * Maintenance - The cluster is intermittently available for queries due
15568	//    to maintenance activities.
15569	//
15570	//    * Modifying -The cluster is intermittently available for queries due to
15571	//    changes that modify the cluster.
15572	//
15573	//    * Failed - The cluster failed and is not available for queries.
15574	ClusterAvailabilityStatus *string `type:"string"`
15575
15576	// Indicates when the cluster was created.
15577	//
15578	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15579	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15580	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15581	ClusterCreateTime *string `type:"string"`
15582
15583	// The unique identifier of the cluster.
15584	ClusterIdentifier *string `type:"string"`
15585
15586	// The nodes in the cluster.
15587	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
15588
15589	// The list of cluster parameter groups that are associated with this cluster.
15590	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
15591
15592	// The public key for the cluster.
15593	ClusterPublicKey *string `type:"string"`
15594
15595	// The specific revision number of the database in the cluster.
15596	ClusterRevisionNumber *string `type:"string"`
15597
15598	// A list of cluster security groups that are associated with the cluster.
15599	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
15600
15601	// Information about the destination Region and retention period for the cross-Region
15602	// snapshot copy.
15603	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
15604
15605	// The current status of the cluster.
15606	//
15607	// Valid values: available | available, prep-for-resize | available, resize-cleanup
15608	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
15609	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
15610	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
15611	// storage-full | updating-hsm
15612	ClusterStatus *string `type:"string"`
15613
15614	// The name of the subnet group that is associated with the cluster. This parameter
15615	// is valid only when the cluster is in a VPC.
15616	ClusterSubnetGroupName *string `type:"string"`
15617
15618	// The version ID of the Amazon Redshift engine that runs on the cluster.
15619	ClusterVersion *string `type:"string"`
15620
15621	// The name of the initial database that was created when the cluster was created.
15622	//
15623	// The same name is returned for the life of the cluster.
15624	//
15625	// If an initial database is not specified, a database named devdev is created
15626	// by default.
15627	DBName *string `type:"string"`
15628
15629	// List of time windows during which maintenance was deferred.
15630	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
15631
15632	// Information about the status of the Elastic IP (EIP) address.
15633	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
15634
15635	// The number of nodes that you can use the elastic resize method to resize
15636	// the cluster to.
15637	ElasticResizeNumberOfNodeOptions *string `type:"string"`
15638
15639	// Indicates whether the data in the cluster is encrypted at rest.
15640	Encrypted *bool `type:"boolean"`
15641
15642	// The connection endpoint.
15643	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
15644
15645	// Indicates whether to create the cluster with enhanced VPC routing enabled.
15646	EnhancedVpcRouting *bool `type:"boolean"`
15647
15648	// Indicates when the next snapshot is expected to be taken. The cluster must
15649	// have a valid snapshot schedule and have backups enabled.
15650	//
15651	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15652	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15653	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15654	ExpectedNextSnapshotScheduleTime *string `type:"string"`
15655
15656	// The status of the next expected snapshot.
15657	//
15658	// Valid values: OnTrack | Pending
15659	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
15660
15661	// Information about whether the Amazon Redshift cluster finished applying any
15662	// changes to hardware security module (HSM) settings that were specified in
15663	// a modify cluster command.
15664	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
15665
15666	// A list of IAM roles that the cluster can use to access other AWS services.
15667	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
15668
15669	// The identifier of the AWS KMS encryption key that is used to encrypt data
15670	// in the cluster.
15671	KmsKeyId *string `type:"string"`
15672
15673	// The name of the maintenance track for the cluster.
15674	MaintenanceTrackName *string `type:"string"`
15675
15676	// The default number of days to retain a manual snapshot.
15677	//
15678	// If the value is -1, the snapshot is retained indefinitely.
15679	//
15680	// This setting doesn't change the retention period of existing snapshots.
15681	//
15682	// Valid values: Either -1 or an integer between 1 and 3,653
15683	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
15684
15685	// The master user name for the cluster. This name is used to connect to the
15686	// database that is specified in as the value of DBName.
15687	MasterUsername *string `type:"string"`
15688
15689	// Indicates the start of the next maintenance window.
15690	//
15691	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15692	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15693	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15694	NextMaintenanceWindowStartTime *string `type:"string"`
15695
15696	// The node type for the nodes in the cluster.
15697	NodeType *string `type:"string"`
15698
15699	// The number of compute nodes in the cluster.
15700	NumberOfNodes *int64 `type:"integer"`
15701
15702	// A list of cluster operations that are waiting to start.
15703	PendingActions []*string `type:"list"`
15704
15705	// A list of changes to the cluster that are currently pending.
15706	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
15707
15708	// The weekly time range, in Universal Coordinated Time (UTC), during which
15709	// system maintenance can occur.
15710	//
15711	// Format: <day>:HH:MM-<day>:HH:MM
15712	//
15713	// For the day values, use mon | tue | wed | thu | fri | sat | sun
15714	//
15715	// For example, sun:09:32-sun:10:02
15716	PreferredMaintenanceWindow *string `type:"string"`
15717
15718	// Whether the cluster can be accessed from a public network.
15719	PubliclyAccessible *bool `type:"boolean"`
15720
15721	// Information about the resize operation for the cluster.
15722	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
15723
15724	// Information about the status of a cluster restore action. Only applies to
15725	// a cluster that was created by restoring a snapshot.
15726	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
15727
15728	// A unique identifier for the cluster snapshot schedule.
15729	SnapshotScheduleIdentifier *string `type:"string"`
15730
15731	// The current state of the cluster snapshot schedule.
15732	//
15733	// Valid values: MODIFYING | ACTIVE | FAILED
15734	SnapshotScheduleState *string `type:"string"`
15735
15736	// The identifier of the VPC that the cluster is in, if the cluster is in a
15737	// VPC.
15738	VpcId *string `type:"string"`
15739
15740	// The list of VPC security groups that the cluster belongs to, if the cluster
15741	// is in a VPC.
15742	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
15743}
15744
15745// String returns the string representation
15746func (s AwsRedshiftClusterDetails) String() string {
15747	return awsutil.Prettify(s)
15748}
15749
15750// GoString returns the string representation
15751func (s AwsRedshiftClusterDetails) GoString() string {
15752	return s.String()
15753}
15754
15755// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
15756func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
15757	s.AllowVersionUpgrade = &v
15758	return s
15759}
15760
15761// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
15762func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
15763	s.AutomatedSnapshotRetentionPeriod = &v
15764	return s
15765}
15766
15767// SetAvailabilityZone sets the AvailabilityZone field's value.
15768func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
15769	s.AvailabilityZone = &v
15770	return s
15771}
15772
15773// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
15774func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
15775	s.ClusterAvailabilityStatus = &v
15776	return s
15777}
15778
15779// SetClusterCreateTime sets the ClusterCreateTime field's value.
15780func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
15781	s.ClusterCreateTime = &v
15782	return s
15783}
15784
15785// SetClusterIdentifier sets the ClusterIdentifier field's value.
15786func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
15787	s.ClusterIdentifier = &v
15788	return s
15789}
15790
15791// SetClusterNodes sets the ClusterNodes field's value.
15792func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
15793	s.ClusterNodes = v
15794	return s
15795}
15796
15797// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
15798func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
15799	s.ClusterParameterGroups = v
15800	return s
15801}
15802
15803// SetClusterPublicKey sets the ClusterPublicKey field's value.
15804func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
15805	s.ClusterPublicKey = &v
15806	return s
15807}
15808
15809// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
15810func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
15811	s.ClusterRevisionNumber = &v
15812	return s
15813}
15814
15815// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
15816func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
15817	s.ClusterSecurityGroups = v
15818	return s
15819}
15820
15821// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
15822func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
15823	s.ClusterSnapshotCopyStatus = v
15824	return s
15825}
15826
15827// SetClusterStatus sets the ClusterStatus field's value.
15828func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
15829	s.ClusterStatus = &v
15830	return s
15831}
15832
15833// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
15834func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
15835	s.ClusterSubnetGroupName = &v
15836	return s
15837}
15838
15839// SetClusterVersion sets the ClusterVersion field's value.
15840func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
15841	s.ClusterVersion = &v
15842	return s
15843}
15844
15845// SetDBName sets the DBName field's value.
15846func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
15847	s.DBName = &v
15848	return s
15849}
15850
15851// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
15852func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
15853	s.DeferredMaintenanceWindows = v
15854	return s
15855}
15856
15857// SetElasticIpStatus sets the ElasticIpStatus field's value.
15858func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
15859	s.ElasticIpStatus = v
15860	return s
15861}
15862
15863// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
15864func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
15865	s.ElasticResizeNumberOfNodeOptions = &v
15866	return s
15867}
15868
15869// SetEncrypted sets the Encrypted field's value.
15870func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
15871	s.Encrypted = &v
15872	return s
15873}
15874
15875// SetEndpoint sets the Endpoint field's value.
15876func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
15877	s.Endpoint = v
15878	return s
15879}
15880
15881// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
15882func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
15883	s.EnhancedVpcRouting = &v
15884	return s
15885}
15886
15887// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
15888func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
15889	s.ExpectedNextSnapshotScheduleTime = &v
15890	return s
15891}
15892
15893// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
15894func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
15895	s.ExpectedNextSnapshotScheduleTimeStatus = &v
15896	return s
15897}
15898
15899// SetHsmStatus sets the HsmStatus field's value.
15900func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
15901	s.HsmStatus = v
15902	return s
15903}
15904
15905// SetIamRoles sets the IamRoles field's value.
15906func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
15907	s.IamRoles = v
15908	return s
15909}
15910
15911// SetKmsKeyId sets the KmsKeyId field's value.
15912func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
15913	s.KmsKeyId = &v
15914	return s
15915}
15916
15917// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
15918func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
15919	s.MaintenanceTrackName = &v
15920	return s
15921}
15922
15923// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
15924func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
15925	s.ManualSnapshotRetentionPeriod = &v
15926	return s
15927}
15928
15929// SetMasterUsername sets the MasterUsername field's value.
15930func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
15931	s.MasterUsername = &v
15932	return s
15933}
15934
15935// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
15936func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
15937	s.NextMaintenanceWindowStartTime = &v
15938	return s
15939}
15940
15941// SetNodeType sets the NodeType field's value.
15942func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
15943	s.NodeType = &v
15944	return s
15945}
15946
15947// SetNumberOfNodes sets the NumberOfNodes field's value.
15948func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
15949	s.NumberOfNodes = &v
15950	return s
15951}
15952
15953// SetPendingActions sets the PendingActions field's value.
15954func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
15955	s.PendingActions = v
15956	return s
15957}
15958
15959// SetPendingModifiedValues sets the PendingModifiedValues field's value.
15960func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
15961	s.PendingModifiedValues = v
15962	return s
15963}
15964
15965// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15966func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
15967	s.PreferredMaintenanceWindow = &v
15968	return s
15969}
15970
15971// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15972func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
15973	s.PubliclyAccessible = &v
15974	return s
15975}
15976
15977// SetResizeInfo sets the ResizeInfo field's value.
15978func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
15979	s.ResizeInfo = v
15980	return s
15981}
15982
15983// SetRestoreStatus sets the RestoreStatus field's value.
15984func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
15985	s.RestoreStatus = v
15986	return s
15987}
15988
15989// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
15990func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
15991	s.SnapshotScheduleIdentifier = &v
15992	return s
15993}
15994
15995// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
15996func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
15997	s.SnapshotScheduleState = &v
15998	return s
15999}
16000
16001// SetVpcId sets the VpcId field's value.
16002func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
16003	s.VpcId = &v
16004	return s
16005}
16006
16007// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
16008func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
16009	s.VpcSecurityGroups = v
16010	return s
16011}
16012
16013// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
16014type AwsRedshiftClusterElasticIpStatus struct {
16015	_ struct{} `type:"structure"`
16016
16017	// The elastic IP address for the cluster.
16018	ElasticIp *string `type:"string"`
16019
16020	// The status of the elastic IP address.
16021	Status *string `type:"string"`
16022}
16023
16024// String returns the string representation
16025func (s AwsRedshiftClusterElasticIpStatus) String() string {
16026	return awsutil.Prettify(s)
16027}
16028
16029// GoString returns the string representation
16030func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
16031	return s.String()
16032}
16033
16034// SetElasticIp sets the ElasticIp field's value.
16035func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
16036	s.ElasticIp = &v
16037	return s
16038}
16039
16040// SetStatus sets the Status field's value.
16041func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
16042	s.Status = &v
16043	return s
16044}
16045
16046// The connection endpoint for an Amazon Redshift cluster.
16047type AwsRedshiftClusterEndpoint struct {
16048	_ struct{} `type:"structure"`
16049
16050	// The DNS address of the cluster.
16051	Address *string `type:"string"`
16052
16053	// The port that the database engine listens on.
16054	Port *int64 `type:"integer"`
16055}
16056
16057// String returns the string representation
16058func (s AwsRedshiftClusterEndpoint) String() string {
16059	return awsutil.Prettify(s)
16060}
16061
16062// GoString returns the string representation
16063func (s AwsRedshiftClusterEndpoint) GoString() string {
16064	return s.String()
16065}
16066
16067// SetAddress sets the Address field's value.
16068func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
16069	s.Address = &v
16070	return s
16071}
16072
16073// SetPort sets the Port field's value.
16074func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
16075	s.Port = &v
16076	return s
16077}
16078
16079// Information about whether an Amazon Redshift cluster finished applying any
16080// hardware changes to security module (HSM) settings that were specified in
16081// a modify cluster command.
16082type AwsRedshiftClusterHsmStatus struct {
16083	_ struct{} `type:"structure"`
16084
16085	// The name of the HSM client certificate that the Amazon Redshift cluster uses
16086	// to retrieve the data encryption keys that are stored in an HSM.
16087	HsmClientCertificateIdentifier *string `type:"string"`
16088
16089	// The name of the HSM configuration that contains the information that the
16090	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
16091	HsmConfigurationIdentifier *string `type:"string"`
16092
16093	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
16094	// settings changes specified in a modify cluster command.
16095	//
16096	// Type: String
16097	//
16098	// Valid values: active | applying
16099	Status *string `type:"string"`
16100}
16101
16102// String returns the string representation
16103func (s AwsRedshiftClusterHsmStatus) String() string {
16104	return awsutil.Prettify(s)
16105}
16106
16107// GoString returns the string representation
16108func (s AwsRedshiftClusterHsmStatus) GoString() string {
16109	return s.String()
16110}
16111
16112// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
16113func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
16114	s.HsmClientCertificateIdentifier = &v
16115	return s
16116}
16117
16118// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
16119func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
16120	s.HsmConfigurationIdentifier = &v
16121	return s
16122}
16123
16124// SetStatus sets the Status field's value.
16125func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
16126	s.Status = &v
16127	return s
16128}
16129
16130// An IAM role that the cluster can use to access other AWS services.
16131type AwsRedshiftClusterIamRole struct {
16132	_ struct{} `type:"structure"`
16133
16134	// The status of the IAM role's association with the cluster.
16135	//
16136	// Valid values: in-sync | adding | removing
16137	ApplyStatus *string `type:"string"`
16138
16139	// The ARN of the IAM role.
16140	IamRoleArn *string `type:"string"`
16141}
16142
16143// String returns the string representation
16144func (s AwsRedshiftClusterIamRole) String() string {
16145	return awsutil.Prettify(s)
16146}
16147
16148// GoString returns the string representation
16149func (s AwsRedshiftClusterIamRole) GoString() string {
16150	return s.String()
16151}
16152
16153// SetApplyStatus sets the ApplyStatus field's value.
16154func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
16155	s.ApplyStatus = &v
16156	return s
16157}
16158
16159// SetIamRoleArn sets the IamRoleArn field's value.
16160func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
16161	s.IamRoleArn = &v
16162	return s
16163}
16164
16165// Changes to the Amazon Redshift cluster that are currently pending.
16166type AwsRedshiftClusterPendingModifiedValues struct {
16167	_ struct{} `type:"structure"`
16168
16169	// The pending or in-progress change to the automated snapshot retention period.
16170	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
16171
16172	// The pending or in-progress change to the identifier for the cluster.
16173	ClusterIdentifier *string `type:"string"`
16174
16175	// The pending or in-progress change to the cluster type.
16176	ClusterType *string `type:"string"`
16177
16178	// The pending or in-progress change to the service version.
16179	ClusterVersion *string `type:"string"`
16180
16181	// The encryption type for a cluster.
16182	EncryptionType *string `type:"string"`
16183
16184	// Indicates whether to create the cluster with enhanced VPC routing enabled.
16185	EnhancedVpcRouting *bool `type:"boolean"`
16186
16187	// The name of the maintenance track that the cluster changes to during the
16188	// next maintenance window.
16189	MaintenanceTrackName *string `type:"string"`
16190
16191	// The pending or in-progress change to the master user password for the cluster.
16192	MasterUserPassword *string `type:"string"`
16193
16194	// The pending or in-progress change to the cluster's node type.
16195	NodeType *string `type:"string"`
16196
16197	// The pending or in-progress change to the number of nodes in the cluster.
16198	NumberOfNodes *int64 `type:"integer"`
16199
16200	// The pending or in-progress change to whether the cluster can be connected
16201	// to from the public network.
16202	PubliclyAccessible *bool `type:"boolean"`
16203}
16204
16205// String returns the string representation
16206func (s AwsRedshiftClusterPendingModifiedValues) String() string {
16207	return awsutil.Prettify(s)
16208}
16209
16210// GoString returns the string representation
16211func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
16212	return s.String()
16213}
16214
16215// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
16216func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
16217	s.AutomatedSnapshotRetentionPeriod = &v
16218	return s
16219}
16220
16221// SetClusterIdentifier sets the ClusterIdentifier field's value.
16222func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
16223	s.ClusterIdentifier = &v
16224	return s
16225}
16226
16227// SetClusterType sets the ClusterType field's value.
16228func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
16229	s.ClusterType = &v
16230	return s
16231}
16232
16233// SetClusterVersion sets the ClusterVersion field's value.
16234func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
16235	s.ClusterVersion = &v
16236	return s
16237}
16238
16239// SetEncryptionType sets the EncryptionType field's value.
16240func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
16241	s.EncryptionType = &v
16242	return s
16243}
16244
16245// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
16246func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
16247	s.EnhancedVpcRouting = &v
16248	return s
16249}
16250
16251// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
16252func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
16253	s.MaintenanceTrackName = &v
16254	return s
16255}
16256
16257// SetMasterUserPassword sets the MasterUserPassword field's value.
16258func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
16259	s.MasterUserPassword = &v
16260	return s
16261}
16262
16263// SetNodeType sets the NodeType field's value.
16264func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
16265	s.NodeType = &v
16266	return s
16267}
16268
16269// SetNumberOfNodes sets the NumberOfNodes field's value.
16270func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
16271	s.NumberOfNodes = &v
16272	return s
16273}
16274
16275// SetPubliclyAccessible sets the PubliclyAccessible field's value.
16276func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
16277	s.PubliclyAccessible = &v
16278	return s
16279}
16280
16281// Information about the resize operation for the cluster.
16282type AwsRedshiftClusterResizeInfo struct {
16283	_ struct{} `type:"structure"`
16284
16285	// Indicates whether the resize operation can be canceled.
16286	AllowCancelResize *bool `type:"boolean"`
16287
16288	// The type of resize operation.
16289	//
16290	// Valid values: ClassicResize
16291	ResizeType *string `type:"string"`
16292}
16293
16294// String returns the string representation
16295func (s AwsRedshiftClusterResizeInfo) String() string {
16296	return awsutil.Prettify(s)
16297}
16298
16299// GoString returns the string representation
16300func (s AwsRedshiftClusterResizeInfo) GoString() string {
16301	return s.String()
16302}
16303
16304// SetAllowCancelResize sets the AllowCancelResize field's value.
16305func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
16306	s.AllowCancelResize = &v
16307	return s
16308}
16309
16310// SetResizeType sets the ResizeType field's value.
16311func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
16312	s.ResizeType = &v
16313	return s
16314}
16315
16316// Information about the status of a cluster restore action. It only applies
16317// if the cluster was created by restoring a snapshot.
16318type AwsRedshiftClusterRestoreStatus struct {
16319	_ struct{} `type:"structure"`
16320
16321	// The number of megabytes per second being transferred from the backup storage.
16322	// Returns the average rate for a completed backup.
16323	//
16324	// This field is only updated when you restore to DC2 and DS2 node types.
16325	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
16326
16327	// The amount of time an in-progress restore has been running, or the amount
16328	// of time it took a completed restore to finish.
16329	//
16330	// This field is only updated when you restore to DC2 and DS2 node types.
16331	ElapsedTimeInSeconds *int64 `type:"long"`
16332
16333	// The estimate of the time remaining before the restore is complete. Returns
16334	// 0 for a completed restore.
16335	//
16336	// This field is only updated when you restore to DC2 and DS2 node types.
16337	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
16338
16339	// The number of megabytes that were transferred from snapshot storage.
16340	//
16341	// This field is only updated when you restore to DC2 and DS2 node types.
16342	ProgressInMegaBytes *int64 `type:"long"`
16343
16344	// The size of the set of snapshot data that was used to restore the cluster.
16345	//
16346	// This field is only updated when you restore to DC2 and DS2 node types.
16347	SnapshotSizeInMegaBytes *int64 `type:"long"`
16348
16349	// The status of the restore action.
16350	//
16351	// Valid values: starting | restoring | completed | failed
16352	Status *string `type:"string"`
16353}
16354
16355// String returns the string representation
16356func (s AwsRedshiftClusterRestoreStatus) String() string {
16357	return awsutil.Prettify(s)
16358}
16359
16360// GoString returns the string representation
16361func (s AwsRedshiftClusterRestoreStatus) GoString() string {
16362	return s.String()
16363}
16364
16365// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
16366func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
16367	s.CurrentRestoreRateInMegaBytesPerSecond = &v
16368	return s
16369}
16370
16371// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
16372func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
16373	s.ElapsedTimeInSeconds = &v
16374	return s
16375}
16376
16377// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
16378func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
16379	s.EstimatedTimeToCompletionInSeconds = &v
16380	return s
16381}
16382
16383// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
16384func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
16385	s.ProgressInMegaBytes = &v
16386	return s
16387}
16388
16389// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
16390func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
16391	s.SnapshotSizeInMegaBytes = &v
16392	return s
16393}
16394
16395// SetStatus sets the Status field's value.
16396func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
16397	s.Status = &v
16398	return s
16399}
16400
16401// A VPC security group that the cluster belongs to, if the cluster is in a
16402// VPC.
16403type AwsRedshiftClusterVpcSecurityGroup struct {
16404	_ struct{} `type:"structure"`
16405
16406	// The status of the VPC security group.
16407	Status *string `type:"string"`
16408
16409	// The identifier of the VPC security group.
16410	VpcSecurityGroupId *string `type:"string"`
16411}
16412
16413// String returns the string representation
16414func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
16415	return awsutil.Prettify(s)
16416}
16417
16418// GoString returns the string representation
16419func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
16420	return s.String()
16421}
16422
16423// SetStatus sets the Status field's value.
16424func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
16425	s.Status = &v
16426	return s
16427}
16428
16429// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
16430func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
16431	s.VpcSecurityGroupId = &v
16432	return s
16433}
16434
16435// The details of an Amazon S3 bucket.
16436type AwsS3BucketDetails struct {
16437	_ struct{} `type:"structure"`
16438
16439	// Indicates when the S3 bucket was created.
16440	//
16441	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16442	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16443	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16444	CreatedAt *string `type:"string"`
16445
16446	// The canonical user ID of the owner of the S3 bucket.
16447	OwnerId *string `type:"string"`
16448
16449	// The display name of the owner of the S3 bucket.
16450	OwnerName *string `type:"string"`
16451
16452	// The encryption rules that are applied to the S3 bucket.
16453	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
16454}
16455
16456// String returns the string representation
16457func (s AwsS3BucketDetails) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s AwsS3BucketDetails) GoString() string {
16463	return s.String()
16464}
16465
16466// SetCreatedAt sets the CreatedAt field's value.
16467func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
16468	s.CreatedAt = &v
16469	return s
16470}
16471
16472// SetOwnerId sets the OwnerId field's value.
16473func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
16474	s.OwnerId = &v
16475	return s
16476}
16477
16478// SetOwnerName sets the OwnerName field's value.
16479func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
16480	s.OwnerName = &v
16481	return s
16482}
16483
16484// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
16485func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
16486	s.ServerSideEncryptionConfiguration = v
16487	return s
16488}
16489
16490// Specifies the default server-side encryption to apply to new objects in the
16491// bucket.
16492type AwsS3BucketServerSideEncryptionByDefault struct {
16493	_ struct{} `type:"structure"`
16494
16495	// AWS KMS customer master key (CMK) ID to use for the default encryption.
16496	KMSMasterKeyID *string `type:"string"`
16497
16498	// Server-side encryption algorithm to use for the default encryption.
16499	SSEAlgorithm *string `type:"string"`
16500}
16501
16502// String returns the string representation
16503func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
16504	return awsutil.Prettify(s)
16505}
16506
16507// GoString returns the string representation
16508func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
16509	return s.String()
16510}
16511
16512// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
16513func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
16514	s.KMSMasterKeyID = &v
16515	return s
16516}
16517
16518// SetSSEAlgorithm sets the SSEAlgorithm field's value.
16519func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
16520	s.SSEAlgorithm = &v
16521	return s
16522}
16523
16524// The encryption configuration for the S3 bucket.
16525type AwsS3BucketServerSideEncryptionConfiguration struct {
16526	_ struct{} `type:"structure"`
16527
16528	// The encryption rules that are applied to the S3 bucket.
16529	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
16530}
16531
16532// String returns the string representation
16533func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
16534	return awsutil.Prettify(s)
16535}
16536
16537// GoString returns the string representation
16538func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
16539	return s.String()
16540}
16541
16542// SetRules sets the Rules field's value.
16543func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
16544	s.Rules = v
16545	return s
16546}
16547
16548// An encryption rule to apply to the S3 bucket.
16549type AwsS3BucketServerSideEncryptionRule struct {
16550	_ struct{} `type:"structure"`
16551
16552	// Specifies the default server-side encryption to apply to new objects in the
16553	// bucket. If a PUT object request doesn't specify any server-side encryption,
16554	// this default encryption is applied.
16555	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
16556}
16557
16558// String returns the string representation
16559func (s AwsS3BucketServerSideEncryptionRule) String() string {
16560	return awsutil.Prettify(s)
16561}
16562
16563// GoString returns the string representation
16564func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
16565	return s.String()
16566}
16567
16568// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
16569func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
16570	s.ApplyServerSideEncryptionByDefault = v
16571	return s
16572}
16573
16574// Details about an Amazon S3 object.
16575type AwsS3ObjectDetails struct {
16576	_ struct{} `type:"structure"`
16577
16578	// A standard MIME type describing the format of the object data.
16579	ContentType *string `type:"string"`
16580
16581	// The opaque identifier assigned by a web server to a specific version of a
16582	// resource found at a URL.
16583	ETag *string `type:"string"`
16584
16585	// Indicates when the object was last modified.
16586	//
16587	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16588	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16589	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16590	LastModified *string `type:"string"`
16591
16592	// The identifier of the AWS Key Management Service (AWS KMS) symmetric customer
16593	// managed customer master key (CMK) that was used for the object.
16594	SSEKMSKeyId *string `type:"string"`
16595
16596	// If the object is stored using server-side encryption, the value of the server-side
16597	// encryption algorithm used when storing this object in Amazon S3.
16598	ServerSideEncryption *string `type:"string"`
16599
16600	// The version of the object.
16601	VersionId *string `type:"string"`
16602}
16603
16604// String returns the string representation
16605func (s AwsS3ObjectDetails) String() string {
16606	return awsutil.Prettify(s)
16607}
16608
16609// GoString returns the string representation
16610func (s AwsS3ObjectDetails) GoString() string {
16611	return s.String()
16612}
16613
16614// SetContentType sets the ContentType field's value.
16615func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
16616	s.ContentType = &v
16617	return s
16618}
16619
16620// SetETag sets the ETag field's value.
16621func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
16622	s.ETag = &v
16623	return s
16624}
16625
16626// SetLastModified sets the LastModified field's value.
16627func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
16628	s.LastModified = &v
16629	return s
16630}
16631
16632// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
16633func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
16634	s.SSEKMSKeyId = &v
16635	return s
16636}
16637
16638// SetServerSideEncryption sets the ServerSideEncryption field's value.
16639func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
16640	s.ServerSideEncryption = &v
16641	return s
16642}
16643
16644// SetVersionId sets the VersionId field's value.
16645func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
16646	s.VersionId = &v
16647	return s
16648}
16649
16650// Details about an AWS Secrets Manager secret.
16651type AwsSecretsManagerSecretDetails struct {
16652	_ struct{} `type:"structure"`
16653
16654	// Whether the secret is deleted.
16655	Deleted *bool `type:"boolean"`
16656
16657	// The user-provided description of the secret.
16658	Description *string `type:"string"`
16659
16660	// The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to
16661	// encrypt the SecretString or SecretBinary values for versions of this secret.
16662	KmsKeyId *string `type:"string"`
16663
16664	// The name of the secret.
16665	Name *string `type:"string"`
16666
16667	// Whether rotation is enabled.
16668	RotationEnabled *bool `type:"boolean"`
16669
16670	// The ARN of the Lambda function that rotates the secret.
16671	RotationLambdaArn *string `type:"string"`
16672
16673	// Whether the rotation occurred within the specified rotation frequency.
16674	RotationOccurredWithinFrequency *bool `type:"boolean"`
16675
16676	// Defines the rotation schedule for the secret.
16677	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
16678}
16679
16680// String returns the string representation
16681func (s AwsSecretsManagerSecretDetails) String() string {
16682	return awsutil.Prettify(s)
16683}
16684
16685// GoString returns the string representation
16686func (s AwsSecretsManagerSecretDetails) GoString() string {
16687	return s.String()
16688}
16689
16690// SetDeleted sets the Deleted field's value.
16691func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
16692	s.Deleted = &v
16693	return s
16694}
16695
16696// SetDescription sets the Description field's value.
16697func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
16698	s.Description = &v
16699	return s
16700}
16701
16702// SetKmsKeyId sets the KmsKeyId field's value.
16703func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
16704	s.KmsKeyId = &v
16705	return s
16706}
16707
16708// SetName sets the Name field's value.
16709func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
16710	s.Name = &v
16711	return s
16712}
16713
16714// SetRotationEnabled sets the RotationEnabled field's value.
16715func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
16716	s.RotationEnabled = &v
16717	return s
16718}
16719
16720// SetRotationLambdaArn sets the RotationLambdaArn field's value.
16721func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
16722	s.RotationLambdaArn = &v
16723	return s
16724}
16725
16726// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
16727func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
16728	s.RotationOccurredWithinFrequency = &v
16729	return s
16730}
16731
16732// SetRotationRules sets the RotationRules field's value.
16733func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
16734	s.RotationRules = v
16735	return s
16736}
16737
16738// Defines the rotation schedule for the secret.
16739type AwsSecretsManagerSecretRotationRules struct {
16740	_ struct{} `type:"structure"`
16741
16742	// The number of days after the previous rotation to rotate the secret.
16743	AutomaticallyAfterDays *int64 `type:"integer"`
16744}
16745
16746// String returns the string representation
16747func (s AwsSecretsManagerSecretRotationRules) String() string {
16748	return awsutil.Prettify(s)
16749}
16750
16751// GoString returns the string representation
16752func (s AwsSecretsManagerSecretRotationRules) GoString() string {
16753	return s.String()
16754}
16755
16756// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
16757func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
16758	s.AutomaticallyAfterDays = &v
16759	return s
16760}
16761
16762// Provides consistent format for the contents of the Security Hub-aggregated
16763// findings. AwsSecurityFinding format enables you to share findings between
16764// AWS security services and third-party solutions, and security standards checks.
16765//
16766// A finding is a potential security issue generated either by AWS services
16767// (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated
16768// third-party solutions and standards checks.
16769type AwsSecurityFinding struct {
16770	_ struct{} `type:"structure"`
16771
16772	// Provides details about an action that was detected for the finding.
16773	Action *Action `type:"structure"`
16774
16775	// The AWS account ID that a finding is generated in.
16776	//
16777	// AwsAccountId is a required field
16778	AwsAccountId *string `type:"string" required:"true"`
16779
16780	// This data type is exclusive to findings that are generated as the result
16781	// of a check run against a specific rule in a supported security standard,
16782	// such as CIS AWS Foundations. Contains security standard-related finding details.
16783	Compliance *Compliance `type:"structure"`
16784
16785	// A finding's confidence. Confidence is defined as the likelihood that a finding
16786	// accurately identifies the behavior or issue that it was intended to identify.
16787	//
16788	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
16789	// zero percent confidence and 100 means 100 percent confidence.
16790	Confidence *int64 `type:"integer"`
16791
16792	// Indicates when the security-findings provider created the potential security
16793	// issue that a finding captured.
16794	//
16795	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16796	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16797	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16798	//
16799	// CreatedAt is a required field
16800	CreatedAt *string `type:"string" required:"true"`
16801
16802	// The level of importance assigned to the resources associated with the finding.
16803	//
16804	// A score of 0 means that the underlying resources have no criticality, and
16805	// a score of 100 is reserved for the most critical resources.
16806	Criticality *int64 `type:"integer"`
16807
16808	// A finding's description.
16809	//
16810	// In this release, Description is a required property.
16811	//
16812	// Description is a required field
16813	Description *string `type:"string" required:"true"`
16814
16815	// Indicates when the security-findings provider first observed the potential
16816	// security issue that a finding captured.
16817	//
16818	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16819	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16820	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16821	FirstObservedAt *string `type:"string"`
16822
16823	// The identifier for the solution-specific component (a discrete unit of logic)
16824	// that generated a finding. In various security-findings providers' solutions,
16825	// this generator can be called a rule, a check, a detector, a plugin, etc.
16826	//
16827	// GeneratorId is a required field
16828	GeneratorId *string `type:"string" required:"true"`
16829
16830	// The security findings provider-specific identifier for a finding.
16831	//
16832	// Id is a required field
16833	Id *string `type:"string" required:"true"`
16834
16835	// Indicates when the security-findings provider most recently observed the
16836	// potential security issue that a finding captured.
16837	//
16838	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16839	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16840	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16841	LastObservedAt *string `type:"string"`
16842
16843	// A list of malware related to a finding.
16844	Malware []*Malware `type:"list"`
16845
16846	// The details of network-related information about a finding.
16847	Network *Network `type:"structure"`
16848
16849	// Provides information about a network path that is relevant to a finding.
16850	// Each entry under NetworkPath represents a component of that path.
16851	NetworkPath []*NetworkPathComponent `type:"list"`
16852
16853	// A user-defined note added to a finding.
16854	Note *Note `type:"structure"`
16855
16856	// Provides an overview of the patch compliance status for an instance against
16857	// a selected compliance standard.
16858	PatchSummary *PatchSummary `type:"structure"`
16859
16860	// The details of process-related information about a finding.
16861	Process *ProcessDetails `type:"structure"`
16862
16863	// The ARN generated by Security Hub that uniquely identifies a product that
16864	// generates findings. This can be the ARN for a third-party product that is
16865	// integrated with Security Hub, or the ARN for a custom integration.
16866	//
16867	// ProductArn is a required field
16868	ProductArn *string `type:"string" required:"true"`
16869
16870	// A data type where security-findings providers can include additional solution-specific
16871	// details that aren't part of the defined AwsSecurityFinding format.
16872	ProductFields map[string]*string `type:"map"`
16873
16874	// The record state of a finding.
16875	RecordState *string `type:"string" enum:"RecordState"`
16876
16877	// A list of related findings.
16878	RelatedFindings []*RelatedFinding `type:"list"`
16879
16880	// A data type that describes the remediation options for a finding.
16881	Remediation *Remediation `type:"structure"`
16882
16883	// A set of resource data types that describe the resources that the finding
16884	// refers to.
16885	//
16886	// Resources is a required field
16887	Resources []*Resource `type:"list" required:"true"`
16888
16889	// The schema version that a finding is formatted for.
16890	//
16891	// SchemaVersion is a required field
16892	SchemaVersion *string `type:"string" required:"true"`
16893
16894	// A finding's severity.
16895	//
16896	// Severity is a required field
16897	Severity *Severity `type:"structure" required:"true"`
16898
16899	// A URL that links to a page about the current finding in the security-findings
16900	// provider's solution.
16901	SourceUrl *string `type:"string"`
16902
16903	// Threat intelligence details related to a finding.
16904	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
16905
16906	// A finding's title.
16907	//
16908	// In this release, Title is a required property.
16909	//
16910	// Title is a required field
16911	Title *string `type:"string" required:"true"`
16912
16913	// One or more finding types in the format of namespace/category/classifier
16914	// that classify a finding.
16915	//
16916	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
16917	// | Unusual Behaviors | Sensitive Data Identifications
16918	//
16919	// Types is a required field
16920	Types []*string `type:"list" required:"true"`
16921
16922	// Indicates when the security-findings provider last updated the finding record.
16923	//
16924	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16925	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16926	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16927	//
16928	// UpdatedAt is a required field
16929	UpdatedAt *string `type:"string" required:"true"`
16930
16931	// A list of name/value string pairs associated with the finding. These are
16932	// custom, user-defined fields added to a finding.
16933	UserDefinedFields map[string]*string `type:"map"`
16934
16935	// Indicates the veracity of a finding.
16936	VerificationState *string `type:"string" enum:"VerificationState"`
16937
16938	// Provides a list of vulnerabilities associated with the findings.
16939	Vulnerabilities []*Vulnerability `type:"list"`
16940
16941	// Provides information about the status of the investigation into a finding.
16942	Workflow *Workflow `type:"structure"`
16943
16944	// The workflow state of a finding.
16945	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
16946}
16947
16948// String returns the string representation
16949func (s AwsSecurityFinding) String() string {
16950	return awsutil.Prettify(s)
16951}
16952
16953// GoString returns the string representation
16954func (s AwsSecurityFinding) GoString() string {
16955	return s.String()
16956}
16957
16958// Validate inspects the fields of the type to determine if they are valid.
16959func (s *AwsSecurityFinding) Validate() error {
16960	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
16961	if s.AwsAccountId == nil {
16962		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
16963	}
16964	if s.CreatedAt == nil {
16965		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
16966	}
16967	if s.Description == nil {
16968		invalidParams.Add(request.NewErrParamRequired("Description"))
16969	}
16970	if s.GeneratorId == nil {
16971		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
16972	}
16973	if s.Id == nil {
16974		invalidParams.Add(request.NewErrParamRequired("Id"))
16975	}
16976	if s.ProductArn == nil {
16977		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
16978	}
16979	if s.Resources == nil {
16980		invalidParams.Add(request.NewErrParamRequired("Resources"))
16981	}
16982	if s.SchemaVersion == nil {
16983		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
16984	}
16985	if s.Severity == nil {
16986		invalidParams.Add(request.NewErrParamRequired("Severity"))
16987	}
16988	if s.Title == nil {
16989		invalidParams.Add(request.NewErrParamRequired("Title"))
16990	}
16991	if s.Types == nil {
16992		invalidParams.Add(request.NewErrParamRequired("Types"))
16993	}
16994	if s.UpdatedAt == nil {
16995		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
16996	}
16997	if s.Compliance != nil {
16998		if err := s.Compliance.Validate(); err != nil {
16999			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
17000		}
17001	}
17002	if s.Malware != nil {
17003		for i, v := range s.Malware {
17004			if v == nil {
17005				continue
17006			}
17007			if err := v.Validate(); err != nil {
17008				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
17009			}
17010		}
17011	}
17012	if s.Note != nil {
17013		if err := s.Note.Validate(); err != nil {
17014			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
17015		}
17016	}
17017	if s.PatchSummary != nil {
17018		if err := s.PatchSummary.Validate(); err != nil {
17019			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
17020		}
17021	}
17022	if s.RelatedFindings != nil {
17023		for i, v := range s.RelatedFindings {
17024			if v == nil {
17025				continue
17026			}
17027			if err := v.Validate(); err != nil {
17028				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
17029			}
17030		}
17031	}
17032	if s.Resources != nil {
17033		for i, v := range s.Resources {
17034			if v == nil {
17035				continue
17036			}
17037			if err := v.Validate(); err != nil {
17038				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
17039			}
17040		}
17041	}
17042	if s.Vulnerabilities != nil {
17043		for i, v := range s.Vulnerabilities {
17044			if v == nil {
17045				continue
17046			}
17047			if err := v.Validate(); err != nil {
17048				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
17049			}
17050		}
17051	}
17052
17053	if invalidParams.Len() > 0 {
17054		return invalidParams
17055	}
17056	return nil
17057}
17058
17059// SetAction sets the Action field's value.
17060func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
17061	s.Action = v
17062	return s
17063}
17064
17065// SetAwsAccountId sets the AwsAccountId field's value.
17066func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
17067	s.AwsAccountId = &v
17068	return s
17069}
17070
17071// SetCompliance sets the Compliance field's value.
17072func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
17073	s.Compliance = v
17074	return s
17075}
17076
17077// SetConfidence sets the Confidence field's value.
17078func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
17079	s.Confidence = &v
17080	return s
17081}
17082
17083// SetCreatedAt sets the CreatedAt field's value.
17084func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
17085	s.CreatedAt = &v
17086	return s
17087}
17088
17089// SetCriticality sets the Criticality field's value.
17090func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
17091	s.Criticality = &v
17092	return s
17093}
17094
17095// SetDescription sets the Description field's value.
17096func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
17097	s.Description = &v
17098	return s
17099}
17100
17101// SetFirstObservedAt sets the FirstObservedAt field's value.
17102func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
17103	s.FirstObservedAt = &v
17104	return s
17105}
17106
17107// SetGeneratorId sets the GeneratorId field's value.
17108func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
17109	s.GeneratorId = &v
17110	return s
17111}
17112
17113// SetId sets the Id field's value.
17114func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
17115	s.Id = &v
17116	return s
17117}
17118
17119// SetLastObservedAt sets the LastObservedAt field's value.
17120func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
17121	s.LastObservedAt = &v
17122	return s
17123}
17124
17125// SetMalware sets the Malware field's value.
17126func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
17127	s.Malware = v
17128	return s
17129}
17130
17131// SetNetwork sets the Network field's value.
17132func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
17133	s.Network = v
17134	return s
17135}
17136
17137// SetNetworkPath sets the NetworkPath field's value.
17138func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
17139	s.NetworkPath = v
17140	return s
17141}
17142
17143// SetNote sets the Note field's value.
17144func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
17145	s.Note = v
17146	return s
17147}
17148
17149// SetPatchSummary sets the PatchSummary field's value.
17150func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
17151	s.PatchSummary = v
17152	return s
17153}
17154
17155// SetProcess sets the Process field's value.
17156func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
17157	s.Process = v
17158	return s
17159}
17160
17161// SetProductArn sets the ProductArn field's value.
17162func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
17163	s.ProductArn = &v
17164	return s
17165}
17166
17167// SetProductFields sets the ProductFields field's value.
17168func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
17169	s.ProductFields = v
17170	return s
17171}
17172
17173// SetRecordState sets the RecordState field's value.
17174func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
17175	s.RecordState = &v
17176	return s
17177}
17178
17179// SetRelatedFindings sets the RelatedFindings field's value.
17180func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
17181	s.RelatedFindings = v
17182	return s
17183}
17184
17185// SetRemediation sets the Remediation field's value.
17186func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
17187	s.Remediation = v
17188	return s
17189}
17190
17191// SetResources sets the Resources field's value.
17192func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
17193	s.Resources = v
17194	return s
17195}
17196
17197// SetSchemaVersion sets the SchemaVersion field's value.
17198func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
17199	s.SchemaVersion = &v
17200	return s
17201}
17202
17203// SetSeverity sets the Severity field's value.
17204func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
17205	s.Severity = v
17206	return s
17207}
17208
17209// SetSourceUrl sets the SourceUrl field's value.
17210func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
17211	s.SourceUrl = &v
17212	return s
17213}
17214
17215// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
17216func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
17217	s.ThreatIntelIndicators = v
17218	return s
17219}
17220
17221// SetTitle sets the Title field's value.
17222func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
17223	s.Title = &v
17224	return s
17225}
17226
17227// SetTypes sets the Types field's value.
17228func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
17229	s.Types = v
17230	return s
17231}
17232
17233// SetUpdatedAt sets the UpdatedAt field's value.
17234func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
17235	s.UpdatedAt = &v
17236	return s
17237}
17238
17239// SetUserDefinedFields sets the UserDefinedFields field's value.
17240func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
17241	s.UserDefinedFields = v
17242	return s
17243}
17244
17245// SetVerificationState sets the VerificationState field's value.
17246func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
17247	s.VerificationState = &v
17248	return s
17249}
17250
17251// SetVulnerabilities sets the Vulnerabilities field's value.
17252func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
17253	s.Vulnerabilities = v
17254	return s
17255}
17256
17257// SetWorkflow sets the Workflow field's value.
17258func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
17259	s.Workflow = v
17260	return s
17261}
17262
17263// SetWorkflowState sets the WorkflowState field's value.
17264func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
17265	s.WorkflowState = &v
17266	return s
17267}
17268
17269// A collection of attributes that are applied to all active Security Hub-aggregated
17270// findings and that result in a subset of findings that are included in this
17271// insight.
17272//
17273// You can filter by up to 10 finding attributes. For each attribute, you can
17274// provide up to 20 filter values.
17275type AwsSecurityFindingFilters struct {
17276	_ struct{} `type:"structure"`
17277
17278	// The AWS account ID that a finding is generated in.
17279	AwsAccountId []*StringFilter `type:"list"`
17280
17281	// The name of the findings provider (company) that owns the solution (product)
17282	// that generates findings.
17283	CompanyName []*StringFilter `type:"list"`
17284
17285	// Exclusive to findings that are generated as the result of a check run against
17286	// a specific rule in a supported standard, such as CIS AWS Foundations. Contains
17287	// security standard-related finding details.
17288	ComplianceStatus []*StringFilter `type:"list"`
17289
17290	// A finding's confidence. Confidence is defined as the likelihood that a finding
17291	// accurately identifies the behavior or issue that it was intended to identify.
17292	//
17293	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
17294	// zero percent confidence and 100 means 100 percent confidence.
17295	Confidence []*NumberFilter `type:"list"`
17296
17297	// An ISO8601-formatted timestamp that indicates when the security-findings
17298	// provider captured the potential security issue that a finding captured.
17299	CreatedAt []*DateFilter `type:"list"`
17300
17301	// The level of importance assigned to the resources associated with the finding.
17302	//
17303	// A score of 0 means that the underlying resources have no criticality, and
17304	// a score of 100 is reserved for the most critical resources.
17305	Criticality []*NumberFilter `type:"list"`
17306
17307	// A finding's description.
17308	Description []*StringFilter `type:"list"`
17309
17310	// An ISO8601-formatted timestamp that indicates when the security-findings
17311	// provider first observed the potential security issue that a finding captured.
17312	FirstObservedAt []*DateFilter `type:"list"`
17313
17314	// The identifier for the solution-specific component (a discrete unit of logic)
17315	// that generated a finding. In various security-findings providers' solutions,
17316	// this generator can be called a rule, a check, a detector, a plugin, etc.
17317	GeneratorId []*StringFilter `type:"list"`
17318
17319	// The security findings provider-specific identifier for a finding.
17320	Id []*StringFilter `type:"list"`
17321
17322	// A keyword for a finding.
17323	Keyword []*KeywordFilter `type:"list"`
17324
17325	// An ISO8601-formatted timestamp that indicates when the security-findings
17326	// provider most recently observed the potential security issue that a finding
17327	// captured.
17328	LastObservedAt []*DateFilter `type:"list"`
17329
17330	// The name of the malware that was observed.
17331	MalwareName []*StringFilter `type:"list"`
17332
17333	// The filesystem path of the malware that was observed.
17334	MalwarePath []*StringFilter `type:"list"`
17335
17336	// The state of the malware that was observed.
17337	MalwareState []*StringFilter `type:"list"`
17338
17339	// The type of the malware that was observed.
17340	MalwareType []*StringFilter `type:"list"`
17341
17342	// The destination domain of network-related information about a finding.
17343	NetworkDestinationDomain []*StringFilter `type:"list"`
17344
17345	// The destination IPv4 address of network-related information about a finding.
17346	NetworkDestinationIpV4 []*IpFilter `type:"list"`
17347
17348	// The destination IPv6 address of network-related information about a finding.
17349	NetworkDestinationIpV6 []*IpFilter `type:"list"`
17350
17351	// The destination port of network-related information about a finding.
17352	NetworkDestinationPort []*NumberFilter `type:"list"`
17353
17354	// Indicates the direction of network traffic associated with a finding.
17355	NetworkDirection []*StringFilter `type:"list"`
17356
17357	// The protocol of network-related information about a finding.
17358	NetworkProtocol []*StringFilter `type:"list"`
17359
17360	// The source domain of network-related information about a finding.
17361	NetworkSourceDomain []*StringFilter `type:"list"`
17362
17363	// The source IPv4 address of network-related information about a finding.
17364	NetworkSourceIpV4 []*IpFilter `type:"list"`
17365
17366	// The source IPv6 address of network-related information about a finding.
17367	NetworkSourceIpV6 []*IpFilter `type:"list"`
17368
17369	// The source media access control (MAC) address of network-related information
17370	// about a finding.
17371	NetworkSourceMac []*StringFilter `type:"list"`
17372
17373	// The source port of network-related information about a finding.
17374	NetworkSourcePort []*NumberFilter `type:"list"`
17375
17376	// The text of a note.
17377	NoteText []*StringFilter `type:"list"`
17378
17379	// The timestamp of when the note was updated.
17380	NoteUpdatedAt []*DateFilter `type:"list"`
17381
17382	// The principal that created a note.
17383	NoteUpdatedBy []*StringFilter `type:"list"`
17384
17385	// The date/time that the process was launched.
17386	ProcessLaunchedAt []*DateFilter `type:"list"`
17387
17388	// The name of the process.
17389	ProcessName []*StringFilter `type:"list"`
17390
17391	// The parent process ID.
17392	ProcessParentPid []*NumberFilter `type:"list"`
17393
17394	// The path to the process executable.
17395	ProcessPath []*StringFilter `type:"list"`
17396
17397	// The process ID.
17398	ProcessPid []*NumberFilter `type:"list"`
17399
17400	// The date/time that the process was terminated.
17401	ProcessTerminatedAt []*DateFilter `type:"list"`
17402
17403	// The ARN generated by Security Hub that uniquely identifies a third-party
17404	// company (security findings provider) after this provider's product (solution
17405	// that generates findings) is registered with Security Hub.
17406	ProductArn []*StringFilter `type:"list"`
17407
17408	// A data type where security-findings providers can include additional solution-specific
17409	// details that aren't part of the defined AwsSecurityFinding format.
17410	ProductFields []*MapFilter `type:"list"`
17411
17412	// The name of the solution (product) that generates findings.
17413	ProductName []*StringFilter `type:"list"`
17414
17415	// The recommendation of what to do about the issue described in a finding.
17416	RecommendationText []*StringFilter `type:"list"`
17417
17418	// The updated record state for the finding.
17419	RecordState []*StringFilter `type:"list"`
17420
17421	// The solution-generated identifier for a related finding.
17422	RelatedFindingsId []*StringFilter `type:"list"`
17423
17424	// The ARN of the solution that generated a related finding.
17425	RelatedFindingsProductArn []*StringFilter `type:"list"`
17426
17427	// The IAM profile ARN of the instance.
17428	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
17429
17430	// The Amazon Machine Image (AMI) ID of the instance.
17431	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
17432
17433	// The IPv4 addresses associated with the instance.
17434	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
17435
17436	// The IPv6 addresses associated with the instance.
17437	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
17438
17439	// The key name associated with the instance.
17440	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
17441
17442	// The date and time the instance was launched.
17443	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
17444
17445	// The identifier of the subnet that the instance was launched in.
17446	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
17447
17448	// The instance type of the instance.
17449	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
17450
17451	// The identifier of the VPC that the instance was launched in.
17452	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
17453
17454	// The creation date/time of the IAM access key related to a finding.
17455	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
17456
17457	// The status of the IAM access key related to a finding.
17458	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
17459
17460	// The user associated with the IAM access key related to a finding.
17461	ResourceAwsIamAccessKeyUserName []*StringFilter `type:"list"`
17462
17463	// The canonical user ID of the owner of the S3 bucket.
17464	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
17465
17466	// The display name of the owner of the S3 bucket.
17467	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
17468
17469	// The identifier of the image related to a finding.
17470	ResourceContainerImageId []*StringFilter `type:"list"`
17471
17472	// The name of the image related to a finding.
17473	ResourceContainerImageName []*StringFilter `type:"list"`
17474
17475	// The date/time that the container was started.
17476	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
17477
17478	// The name of the container related to a finding.
17479	ResourceContainerName []*StringFilter `type:"list"`
17480
17481	// The details of a resource that doesn't have a specific subfield for the resource
17482	// type defined.
17483	ResourceDetailsOther []*MapFilter `type:"list"`
17484
17485	// The canonical identifier for the given resource type.
17486	ResourceId []*StringFilter `type:"list"`
17487
17488	// The canonical AWS partition name that the Region is assigned to.
17489	ResourcePartition []*StringFilter `type:"list"`
17490
17491	// The canonical AWS external Region name where this resource is located.
17492	ResourceRegion []*StringFilter `type:"list"`
17493
17494	// A list of AWS tags associated with a resource at the time the finding was
17495	// processed.
17496	ResourceTags []*MapFilter `type:"list"`
17497
17498	// Specifies the type of the resource that details are provided for.
17499	ResourceType []*StringFilter `type:"list"`
17500
17501	// The label of a finding's severity.
17502	SeverityLabel []*StringFilter `type:"list"`
17503
17504	// The normalized severity of a finding.
17505	SeverityNormalized []*NumberFilter `type:"list"`
17506
17507	// The native severity as defined by the security-findings provider's solution
17508	// that generated the finding.
17509	SeverityProduct []*NumberFilter `type:"list"`
17510
17511	// A URL that links to a page about the current finding in the security-findings
17512	// provider's solution.
17513	SourceUrl []*StringFilter `type:"list"`
17514
17515	// The category of a threat intelligence indicator.
17516	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
17517
17518	// The date/time of the last observation of a threat intelligence indicator.
17519	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
17520
17521	// The source of the threat intelligence.
17522	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
17523
17524	// The URL for more details from the source of the threat intelligence.
17525	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
17526
17527	// The type of a threat intelligence indicator.
17528	ThreatIntelIndicatorType []*StringFilter `type:"list"`
17529
17530	// The value of a threat intelligence indicator.
17531	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
17532
17533	// A finding's title.
17534	Title []*StringFilter `type:"list"`
17535
17536	// A finding type in the format of namespace/category/classifier that classifies
17537	// a finding.
17538	Type []*StringFilter `type:"list"`
17539
17540	// An ISO8601-formatted timestamp that indicates when the security-findings
17541	// provider last updated the finding record.
17542	UpdatedAt []*DateFilter `type:"list"`
17543
17544	// A list of name/value string pairs associated with the finding. These are
17545	// custom, user-defined fields added to a finding.
17546	UserDefinedFields []*MapFilter `type:"list"`
17547
17548	// The veracity of a finding.
17549	VerificationState []*StringFilter `type:"list"`
17550
17551	// The workflow state of a finding.
17552	//
17553	// Note that this field is deprecated. To search for a finding based on its
17554	// workflow status, use WorkflowStatus.
17555	WorkflowState []*StringFilter `type:"list"`
17556
17557	// The status of the investigation into a finding. Allowed values are the following.
17558	//
17559	//    * NEW - The initial state of a finding, before it is reviewed. Security
17560	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
17561	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
17562	//    The compliance status changes from PASSED to either WARNING, FAILED, or
17563	//    NOT_AVAILABLE.
17564	//
17565	//    * NOTIFIED - Indicates that the resource owner has been notified about
17566	//    the security issue. Used when the initial reviewer is not the resource
17567	//    owner, and needs intervention from the resource owner.
17568	//
17569	//    * SUPPRESSED - The finding will not be reviewed again and will not be
17570	//    acted upon.
17571	//
17572	//    * RESOLVED - The finding was reviewed and remediated and is now considered
17573	//    resolved.
17574	WorkflowStatus []*StringFilter `type:"list"`
17575}
17576
17577// String returns the string representation
17578func (s AwsSecurityFindingFilters) String() string {
17579	return awsutil.Prettify(s)
17580}
17581
17582// GoString returns the string representation
17583func (s AwsSecurityFindingFilters) GoString() string {
17584	return s.String()
17585}
17586
17587// SetAwsAccountId sets the AwsAccountId field's value.
17588func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
17589	s.AwsAccountId = v
17590	return s
17591}
17592
17593// SetCompanyName sets the CompanyName field's value.
17594func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
17595	s.CompanyName = v
17596	return s
17597}
17598
17599// SetComplianceStatus sets the ComplianceStatus field's value.
17600func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
17601	s.ComplianceStatus = v
17602	return s
17603}
17604
17605// SetConfidence sets the Confidence field's value.
17606func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
17607	s.Confidence = v
17608	return s
17609}
17610
17611// SetCreatedAt sets the CreatedAt field's value.
17612func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17613	s.CreatedAt = v
17614	return s
17615}
17616
17617// SetCriticality sets the Criticality field's value.
17618func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
17619	s.Criticality = v
17620	return s
17621}
17622
17623// SetDescription sets the Description field's value.
17624func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
17625	s.Description = v
17626	return s
17627}
17628
17629// SetFirstObservedAt sets the FirstObservedAt field's value.
17630func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17631	s.FirstObservedAt = v
17632	return s
17633}
17634
17635// SetGeneratorId sets the GeneratorId field's value.
17636func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
17637	s.GeneratorId = v
17638	return s
17639}
17640
17641// SetId sets the Id field's value.
17642func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
17643	s.Id = v
17644	return s
17645}
17646
17647// SetKeyword sets the Keyword field's value.
17648func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
17649	s.Keyword = v
17650	return s
17651}
17652
17653// SetLastObservedAt sets the LastObservedAt field's value.
17654func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17655	s.LastObservedAt = v
17656	return s
17657}
17658
17659// SetMalwareName sets the MalwareName field's value.
17660func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
17661	s.MalwareName = v
17662	return s
17663}
17664
17665// SetMalwarePath sets the MalwarePath field's value.
17666func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
17667	s.MalwarePath = v
17668	return s
17669}
17670
17671// SetMalwareState sets the MalwareState field's value.
17672func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
17673	s.MalwareState = v
17674	return s
17675}
17676
17677// SetMalwareType sets the MalwareType field's value.
17678func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
17679	s.MalwareType = v
17680	return s
17681}
17682
17683// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
17684func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
17685	s.NetworkDestinationDomain = v
17686	return s
17687}
17688
17689// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
17690func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
17691	s.NetworkDestinationIpV4 = v
17692	return s
17693}
17694
17695// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
17696func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
17697	s.NetworkDestinationIpV6 = v
17698	return s
17699}
17700
17701// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
17702func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
17703	s.NetworkDestinationPort = v
17704	return s
17705}
17706
17707// SetNetworkDirection sets the NetworkDirection field's value.
17708func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
17709	s.NetworkDirection = v
17710	return s
17711}
17712
17713// SetNetworkProtocol sets the NetworkProtocol field's value.
17714func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
17715	s.NetworkProtocol = v
17716	return s
17717}
17718
17719// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
17720func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
17721	s.NetworkSourceDomain = v
17722	return s
17723}
17724
17725// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
17726func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
17727	s.NetworkSourceIpV4 = v
17728	return s
17729}
17730
17731// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
17732func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
17733	s.NetworkSourceIpV6 = v
17734	return s
17735}
17736
17737// SetNetworkSourceMac sets the NetworkSourceMac field's value.
17738func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
17739	s.NetworkSourceMac = v
17740	return s
17741}
17742
17743// SetNetworkSourcePort sets the NetworkSourcePort field's value.
17744func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
17745	s.NetworkSourcePort = v
17746	return s
17747}
17748
17749// SetNoteText sets the NoteText field's value.
17750func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
17751	s.NoteText = v
17752	return s
17753}
17754
17755// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
17756func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17757	s.NoteUpdatedAt = v
17758	return s
17759}
17760
17761// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
17762func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
17763	s.NoteUpdatedBy = v
17764	return s
17765}
17766
17767// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
17768func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17769	s.ProcessLaunchedAt = v
17770	return s
17771}
17772
17773// SetProcessName sets the ProcessName field's value.
17774func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
17775	s.ProcessName = v
17776	return s
17777}
17778
17779// SetProcessParentPid sets the ProcessParentPid field's value.
17780func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
17781	s.ProcessParentPid = v
17782	return s
17783}
17784
17785// SetProcessPath sets the ProcessPath field's value.
17786func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
17787	s.ProcessPath = v
17788	return s
17789}
17790
17791// SetProcessPid sets the ProcessPid field's value.
17792func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
17793	s.ProcessPid = v
17794	return s
17795}
17796
17797// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
17798func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17799	s.ProcessTerminatedAt = v
17800	return s
17801}
17802
17803// SetProductArn sets the ProductArn field's value.
17804func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
17805	s.ProductArn = v
17806	return s
17807}
17808
17809// SetProductFields sets the ProductFields field's value.
17810func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
17811	s.ProductFields = v
17812	return s
17813}
17814
17815// SetProductName sets the ProductName field's value.
17816func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
17817	s.ProductName = v
17818	return s
17819}
17820
17821// SetRecommendationText sets the RecommendationText field's value.
17822func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
17823	s.RecommendationText = v
17824	return s
17825}
17826
17827// SetRecordState sets the RecordState field's value.
17828func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
17829	s.RecordState = v
17830	return s
17831}
17832
17833// SetRelatedFindingsId sets the RelatedFindingsId field's value.
17834func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
17835	s.RelatedFindingsId = v
17836	return s
17837}
17838
17839// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
17840func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
17841	s.RelatedFindingsProductArn = v
17842	return s
17843}
17844
17845// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
17846func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
17847	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
17848	return s
17849}
17850
17851// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
17852func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
17853	s.ResourceAwsEc2InstanceImageId = v
17854	return s
17855}
17856
17857// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
17858func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
17859	s.ResourceAwsEc2InstanceIpV4Addresses = v
17860	return s
17861}
17862
17863// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
17864func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
17865	s.ResourceAwsEc2InstanceIpV6Addresses = v
17866	return s
17867}
17868
17869// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
17870func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
17871	s.ResourceAwsEc2InstanceKeyName = v
17872	return s
17873}
17874
17875// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
17876func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17877	s.ResourceAwsEc2InstanceLaunchedAt = v
17878	return s
17879}
17880
17881// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
17882func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
17883	s.ResourceAwsEc2InstanceSubnetId = v
17884	return s
17885}
17886
17887// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
17888func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
17889	s.ResourceAwsEc2InstanceType = v
17890	return s
17891}
17892
17893// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
17894func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
17895	s.ResourceAwsEc2InstanceVpcId = v
17896	return s
17897}
17898
17899// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
17900func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17901	s.ResourceAwsIamAccessKeyCreatedAt = v
17902	return s
17903}
17904
17905// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
17906func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
17907	s.ResourceAwsIamAccessKeyStatus = v
17908	return s
17909}
17910
17911// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
17912func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
17913	s.ResourceAwsIamAccessKeyUserName = v
17914	return s
17915}
17916
17917// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
17918func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
17919	s.ResourceAwsS3BucketOwnerId = v
17920	return s
17921}
17922
17923// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
17924func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
17925	s.ResourceAwsS3BucketOwnerName = v
17926	return s
17927}
17928
17929// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
17930func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
17931	s.ResourceContainerImageId = v
17932	return s
17933}
17934
17935// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
17936func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
17937	s.ResourceContainerImageName = v
17938	return s
17939}
17940
17941// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
17942func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
17943	s.ResourceContainerLaunchedAt = v
17944	return s
17945}
17946
17947// SetResourceContainerName sets the ResourceContainerName field's value.
17948func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
17949	s.ResourceContainerName = v
17950	return s
17951}
17952
17953// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
17954func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
17955	s.ResourceDetailsOther = v
17956	return s
17957}
17958
17959// SetResourceId sets the ResourceId field's value.
17960func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
17961	s.ResourceId = v
17962	return s
17963}
17964
17965// SetResourcePartition sets the ResourcePartition field's value.
17966func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
17967	s.ResourcePartition = v
17968	return s
17969}
17970
17971// SetResourceRegion sets the ResourceRegion field's value.
17972func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
17973	s.ResourceRegion = v
17974	return s
17975}
17976
17977// SetResourceTags sets the ResourceTags field's value.
17978func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
17979	s.ResourceTags = v
17980	return s
17981}
17982
17983// SetResourceType sets the ResourceType field's value.
17984func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
17985	s.ResourceType = v
17986	return s
17987}
17988
17989// SetSeverityLabel sets the SeverityLabel field's value.
17990func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
17991	s.SeverityLabel = v
17992	return s
17993}
17994
17995// SetSeverityNormalized sets the SeverityNormalized field's value.
17996func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
17997	s.SeverityNormalized = v
17998	return s
17999}
18000
18001// SetSeverityProduct sets the SeverityProduct field's value.
18002func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
18003	s.SeverityProduct = v
18004	return s
18005}
18006
18007// SetSourceUrl sets the SourceUrl field's value.
18008func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
18009	s.SourceUrl = v
18010	return s
18011}
18012
18013// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
18014func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
18015	s.ThreatIntelIndicatorCategory = v
18016	return s
18017}
18018
18019// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
18020func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18021	s.ThreatIntelIndicatorLastObservedAt = v
18022	return s
18023}
18024
18025// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
18026func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
18027	s.ThreatIntelIndicatorSource = v
18028	return s
18029}
18030
18031// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
18032func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
18033	s.ThreatIntelIndicatorSourceUrl = v
18034	return s
18035}
18036
18037// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
18038func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
18039	s.ThreatIntelIndicatorType = v
18040	return s
18041}
18042
18043// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
18044func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
18045	s.ThreatIntelIndicatorValue = v
18046	return s
18047}
18048
18049// SetTitle sets the Title field's value.
18050func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
18051	s.Title = v
18052	return s
18053}
18054
18055// SetType sets the Type field's value.
18056func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
18057	s.Type = v
18058	return s
18059}
18060
18061// SetUpdatedAt sets the UpdatedAt field's value.
18062func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18063	s.UpdatedAt = v
18064	return s
18065}
18066
18067// SetUserDefinedFields sets the UserDefinedFields field's value.
18068func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
18069	s.UserDefinedFields = v
18070	return s
18071}
18072
18073// SetVerificationState sets the VerificationState field's value.
18074func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
18075	s.VerificationState = v
18076	return s
18077}
18078
18079// SetWorkflowState sets the WorkflowState field's value.
18080func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
18081	s.WorkflowState = v
18082	return s
18083}
18084
18085// SetWorkflowStatus sets the WorkflowStatus field's value.
18086func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
18087	s.WorkflowStatus = v
18088	return s
18089}
18090
18091// Identifies a finding to update using BatchUpdateFindings.
18092type AwsSecurityFindingIdentifier struct {
18093	_ struct{} `type:"structure"`
18094
18095	// The identifier of the finding that was specified by the finding provider.
18096	//
18097	// Id is a required field
18098	Id *string `type:"string" required:"true"`
18099
18100	// The ARN generated by Security Hub that uniquely identifies a product that
18101	// generates findings. This can be the ARN for a third-party product that is
18102	// integrated with Security Hub, or the ARN for a custom integration.
18103	//
18104	// ProductArn is a required field
18105	ProductArn *string `type:"string" required:"true"`
18106}
18107
18108// String returns the string representation
18109func (s AwsSecurityFindingIdentifier) String() string {
18110	return awsutil.Prettify(s)
18111}
18112
18113// GoString returns the string representation
18114func (s AwsSecurityFindingIdentifier) GoString() string {
18115	return s.String()
18116}
18117
18118// Validate inspects the fields of the type to determine if they are valid.
18119func (s *AwsSecurityFindingIdentifier) Validate() error {
18120	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
18121	if s.Id == nil {
18122		invalidParams.Add(request.NewErrParamRequired("Id"))
18123	}
18124	if s.ProductArn == nil {
18125		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
18126	}
18127
18128	if invalidParams.Len() > 0 {
18129		return invalidParams
18130	}
18131	return nil
18132}
18133
18134// SetId sets the Id field's value.
18135func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
18136	s.Id = &v
18137	return s
18138}
18139
18140// SetProductArn sets the ProductArn field's value.
18141func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
18142	s.ProductArn = &v
18143	return s
18144}
18145
18146// A wrapper type for the topic's Amazon Resource Name (ARN).
18147type AwsSnsTopicDetails struct {
18148	_ struct{} `type:"structure"`
18149
18150	// The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom
18151	// CMK.
18152	KmsMasterKeyId *string `type:"string"`
18153
18154	// The subscription's owner.
18155	Owner *string `type:"string"`
18156
18157	// Subscription is an embedded property that describes the subscription endpoints
18158	// of an Amazon SNS topic.
18159	Subscription []*AwsSnsTopicSubscription `type:"list"`
18160
18161	// The name of the topic.
18162	TopicName *string `type:"string"`
18163}
18164
18165// String returns the string representation
18166func (s AwsSnsTopicDetails) String() string {
18167	return awsutil.Prettify(s)
18168}
18169
18170// GoString returns the string representation
18171func (s AwsSnsTopicDetails) GoString() string {
18172	return s.String()
18173}
18174
18175// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
18176func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
18177	s.KmsMasterKeyId = &v
18178	return s
18179}
18180
18181// SetOwner sets the Owner field's value.
18182func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
18183	s.Owner = &v
18184	return s
18185}
18186
18187// SetSubscription sets the Subscription field's value.
18188func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
18189	s.Subscription = v
18190	return s
18191}
18192
18193// SetTopicName sets the TopicName field's value.
18194func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
18195	s.TopicName = &v
18196	return s
18197}
18198
18199// A wrapper type for the attributes of an Amazon SNS subscription.
18200type AwsSnsTopicSubscription struct {
18201	_ struct{} `type:"structure"`
18202
18203	// The subscription's endpoint (format depends on the protocol).
18204	Endpoint *string `type:"string"`
18205
18206	// The subscription's protocol.
18207	Protocol *string `type:"string"`
18208}
18209
18210// String returns the string representation
18211func (s AwsSnsTopicSubscription) String() string {
18212	return awsutil.Prettify(s)
18213}
18214
18215// GoString returns the string representation
18216func (s AwsSnsTopicSubscription) GoString() string {
18217	return s.String()
18218}
18219
18220// SetEndpoint sets the Endpoint field's value.
18221func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
18222	s.Endpoint = &v
18223	return s
18224}
18225
18226// SetProtocol sets the Protocol field's value.
18227func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
18228	s.Protocol = &v
18229	return s
18230}
18231
18232// Data about a queue.
18233type AwsSqsQueueDetails struct {
18234	_ struct{} `type:"structure"`
18235
18236	// The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS
18237	// moves messages after the value of maxReceiveCount is exceeded.
18238	DeadLetterTargetArn *string `type:"string"`
18239
18240	// The length of time, in seconds, for which Amazon SQS can reuse a data key
18241	// to encrypt or decrypt messages before calling AWS KMS again.
18242	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
18243
18244	// The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom
18245	// CMK.
18246	KmsMasterKeyId *string `type:"string"`
18247
18248	// The name of the new queue.
18249	QueueName *string `type:"string"`
18250}
18251
18252// String returns the string representation
18253func (s AwsSqsQueueDetails) String() string {
18254	return awsutil.Prettify(s)
18255}
18256
18257// GoString returns the string representation
18258func (s AwsSqsQueueDetails) GoString() string {
18259	return s.String()
18260}
18261
18262// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
18263func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
18264	s.DeadLetterTargetArn = &v
18265	return s
18266}
18267
18268// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
18269func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
18270	s.KmsDataKeyReusePeriodSeconds = &v
18271	return s
18272}
18273
18274// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
18275func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
18276	s.KmsMasterKeyId = &v
18277	return s
18278}
18279
18280// SetQueueName sets the QueueName field's value.
18281func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
18282	s.QueueName = &v
18283	return s
18284}
18285
18286// Provides the details about the compliance status for a patch.
18287type AwsSsmComplianceSummary struct {
18288	_ struct{} `type:"structure"`
18289
18290	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
18291	// ComplianceType is Patch.
18292	ComplianceType *string `type:"string"`
18293
18294	// For the patches that are compliant, the number that have a severity of CRITICAL.
18295	CompliantCriticalCount *int64 `type:"integer"`
18296
18297	// For the patches that are compliant, the number that have a severity of HIGH.
18298	CompliantHighCount *int64 `type:"integer"`
18299
18300	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
18301	CompliantInformationalCount *int64 `type:"integer"`
18302
18303	// For the patches that are compliant, the number that have a severity of LOW.
18304	CompliantLowCount *int64 `type:"integer"`
18305
18306	// For the patches that are compliant, the number that have a severity of MEDIUM.
18307	CompliantMediumCount *int64 `type:"integer"`
18308
18309	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
18310	CompliantUnspecifiedCount *int64 `type:"integer"`
18311
18312	// The type of execution that was used determine compliance.
18313	ExecutionType *string `type:"string"`
18314
18315	// For the patch items that are noncompliant, the number of items that have
18316	// a severity of CRITICAL.
18317	NonCompliantCriticalCount *int64 `type:"integer"`
18318
18319	// For the patches that are noncompliant, the number that have a severity of
18320	// HIGH.
18321	NonCompliantHighCount *int64 `type:"integer"`
18322
18323	// For the patches that are noncompliant, the number that have a severity of
18324	// INFORMATIONAL.
18325	NonCompliantInformationalCount *int64 `type:"integer"`
18326
18327	// For the patches that are noncompliant, the number that have a severity of
18328	// LOW.
18329	NonCompliantLowCount *int64 `type:"integer"`
18330
18331	// For the patches that are noncompliant, the number that have a severity of
18332	// MEDIUM.
18333	NonCompliantMediumCount *int64 `type:"integer"`
18334
18335	// For the patches that are noncompliant, the number that have a severity of
18336	// UNSPECIFIED.
18337	NonCompliantUnspecifiedCount *int64 `type:"integer"`
18338
18339	// The highest severity for the patches.
18340	OverallSeverity *string `type:"string"`
18341
18342	// The identifier of the patch baseline. The patch baseline lists the patches
18343	// that are approved for installation.
18344	PatchBaselineId *string `type:"string"`
18345
18346	// The identifier of the patch group for which compliance was determined. A
18347	// patch group uses tags to group EC2 instances that should have the same patch
18348	// compliance.
18349	PatchGroup *string `type:"string"`
18350
18351	// The current patch compliance status.
18352	//
18353	// The possible status values are:
18354	//
18355	//    * COMPLIANT
18356	//
18357	//    * NON_COMPLIANT
18358	//
18359	//    * UNSPECIFIED_DATA
18360	Status *string `type:"string"`
18361}
18362
18363// String returns the string representation
18364func (s AwsSsmComplianceSummary) String() string {
18365	return awsutil.Prettify(s)
18366}
18367
18368// GoString returns the string representation
18369func (s AwsSsmComplianceSummary) GoString() string {
18370	return s.String()
18371}
18372
18373// SetComplianceType sets the ComplianceType field's value.
18374func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
18375	s.ComplianceType = &v
18376	return s
18377}
18378
18379// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
18380func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
18381	s.CompliantCriticalCount = &v
18382	return s
18383}
18384
18385// SetCompliantHighCount sets the CompliantHighCount field's value.
18386func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
18387	s.CompliantHighCount = &v
18388	return s
18389}
18390
18391// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
18392func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
18393	s.CompliantInformationalCount = &v
18394	return s
18395}
18396
18397// SetCompliantLowCount sets the CompliantLowCount field's value.
18398func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
18399	s.CompliantLowCount = &v
18400	return s
18401}
18402
18403// SetCompliantMediumCount sets the CompliantMediumCount field's value.
18404func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
18405	s.CompliantMediumCount = &v
18406	return s
18407}
18408
18409// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
18410func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
18411	s.CompliantUnspecifiedCount = &v
18412	return s
18413}
18414
18415// SetExecutionType sets the ExecutionType field's value.
18416func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
18417	s.ExecutionType = &v
18418	return s
18419}
18420
18421// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
18422func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
18423	s.NonCompliantCriticalCount = &v
18424	return s
18425}
18426
18427// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
18428func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
18429	s.NonCompliantHighCount = &v
18430	return s
18431}
18432
18433// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
18434func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
18435	s.NonCompliantInformationalCount = &v
18436	return s
18437}
18438
18439// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
18440func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
18441	s.NonCompliantLowCount = &v
18442	return s
18443}
18444
18445// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
18446func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
18447	s.NonCompliantMediumCount = &v
18448	return s
18449}
18450
18451// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
18452func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
18453	s.NonCompliantUnspecifiedCount = &v
18454	return s
18455}
18456
18457// SetOverallSeverity sets the OverallSeverity field's value.
18458func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
18459	s.OverallSeverity = &v
18460	return s
18461}
18462
18463// SetPatchBaselineId sets the PatchBaselineId field's value.
18464func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
18465	s.PatchBaselineId = &v
18466	return s
18467}
18468
18469// SetPatchGroup sets the PatchGroup field's value.
18470func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
18471	s.PatchGroup = &v
18472	return s
18473}
18474
18475// SetStatus sets the Status field's value.
18476func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
18477	s.Status = &v
18478	return s
18479}
18480
18481// Provides details about the compliance for a patch.
18482type AwsSsmPatch struct {
18483	_ struct{} `type:"structure"`
18484
18485	// The compliance status details for the patch.
18486	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
18487}
18488
18489// String returns the string representation
18490func (s AwsSsmPatch) String() string {
18491	return awsutil.Prettify(s)
18492}
18493
18494// GoString returns the string representation
18495func (s AwsSsmPatch) GoString() string {
18496	return s.String()
18497}
18498
18499// SetComplianceSummary sets the ComplianceSummary field's value.
18500func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
18501	s.ComplianceSummary = v
18502	return s
18503}
18504
18505// Provides information about the state of a patch on an instance based on the
18506// patch baseline that was used to patch the instance.
18507type AwsSsmPatchComplianceDetails struct {
18508	_ struct{} `type:"structure"`
18509
18510	// Information about the status of a patch.
18511	Patch *AwsSsmPatch `type:"structure"`
18512}
18513
18514// String returns the string representation
18515func (s AwsSsmPatchComplianceDetails) String() string {
18516	return awsutil.Prettify(s)
18517}
18518
18519// GoString returns the string representation
18520func (s AwsSsmPatchComplianceDetails) GoString() string {
18521	return s.String()
18522}
18523
18524// SetPatch sets the Patch field's value.
18525func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
18526	s.Patch = v
18527	return s
18528}
18529
18530// Details about a WAF WebACL.
18531type AwsWafWebAclDetails struct {
18532	_ struct{} `type:"structure"`
18533
18534	// The action to perform if none of the rules contained in the WebACL match.
18535	DefaultAction *string `type:"string"`
18536
18537	// A friendly name or description of the WebACL. You can't change the name of
18538	// a WebACL after you create it.
18539	Name *string `type:"string"`
18540
18541	// An array that contains the action for each rule in a WebACL, the priority
18542	// of the rule, and the ID of the rule.
18543	Rules []*AwsWafWebAclRule `type:"list"`
18544
18545	// A unique identifier for a WebACL.
18546	WebAclId *string `type:"string"`
18547}
18548
18549// String returns the string representation
18550func (s AwsWafWebAclDetails) String() string {
18551	return awsutil.Prettify(s)
18552}
18553
18554// GoString returns the string representation
18555func (s AwsWafWebAclDetails) GoString() string {
18556	return s.String()
18557}
18558
18559// SetDefaultAction sets the DefaultAction field's value.
18560func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
18561	s.DefaultAction = &v
18562	return s
18563}
18564
18565// SetName sets the Name field's value.
18566func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
18567	s.Name = &v
18568	return s
18569}
18570
18571// SetRules sets the Rules field's value.
18572func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
18573	s.Rules = v
18574	return s
18575}
18576
18577// SetWebAclId sets the WebAclId field's value.
18578func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
18579	s.WebAclId = &v
18580	return s
18581}
18582
18583// Details for a rule in a WAF WebACL.
18584type AwsWafWebAclRule struct {
18585	_ struct{} `type:"structure"`
18586
18587	// Specifies the action that CloudFront or AWS WAF takes when a web request
18588	// matches the conditions in the rule.
18589	Action *WafAction `type:"structure"`
18590
18591	// Rules to exclude from a rule group.
18592	ExcludedRules []*WafExcludedRule `type:"list"`
18593
18594	// Use the OverrideAction to test your RuleGroup.
18595	//
18596	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
18597	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
18598	// matches the request and is configured to block that request.
18599	//
18600	// However, if you first want to test the RuleGroup, set the OverrideAction
18601	// to Count. The RuleGroup then overrides any block action specified by individual
18602	// rules contained within the group. Instead of blocking matching requests,
18603	// those requests are counted.
18604	//
18605	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
18606	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
18607	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
18608	OverrideAction *WafOverrideAction `type:"structure"`
18609
18610	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
18611	// a lower value for Priority are evaluated before rules with a higher value.
18612	// The value must be a unique integer. If you add multiple rules to a WebACL,
18613	// the values do not need to be consecutive.
18614	Priority *int64 `type:"integer"`
18615
18616	// The identifier for a rule.
18617	RuleId *string `type:"string"`
18618
18619	// The rule type.
18620	//
18621	// Valid values: REGULAR | RATE_BASED | GROUP
18622	//
18623	// The default is REGULAR.
18624	Type *string `type:"string"`
18625}
18626
18627// String returns the string representation
18628func (s AwsWafWebAclRule) String() string {
18629	return awsutil.Prettify(s)
18630}
18631
18632// GoString returns the string representation
18633func (s AwsWafWebAclRule) GoString() string {
18634	return s.String()
18635}
18636
18637// SetAction sets the Action field's value.
18638func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
18639	s.Action = v
18640	return s
18641}
18642
18643// SetExcludedRules sets the ExcludedRules field's value.
18644func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
18645	s.ExcludedRules = v
18646	return s
18647}
18648
18649// SetOverrideAction sets the OverrideAction field's value.
18650func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
18651	s.OverrideAction = v
18652	return s
18653}
18654
18655// SetPriority sets the Priority field's value.
18656func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
18657	s.Priority = &v
18658	return s
18659}
18660
18661// SetRuleId sets the RuleId field's value.
18662func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
18663	s.RuleId = &v
18664	return s
18665}
18666
18667// SetType sets the Type field's value.
18668func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
18669	s.Type = &v
18670	return s
18671}
18672
18673type BatchDisableStandardsInput struct {
18674	_ struct{} `type:"structure"`
18675
18676	// The ARNs of the standards subscriptions to disable.
18677	//
18678	// StandardsSubscriptionArns is a required field
18679	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
18680}
18681
18682// String returns the string representation
18683func (s BatchDisableStandardsInput) String() string {
18684	return awsutil.Prettify(s)
18685}
18686
18687// GoString returns the string representation
18688func (s BatchDisableStandardsInput) GoString() string {
18689	return s.String()
18690}
18691
18692// Validate inspects the fields of the type to determine if they are valid.
18693func (s *BatchDisableStandardsInput) Validate() error {
18694	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
18695	if s.StandardsSubscriptionArns == nil {
18696		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
18697	}
18698	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
18699		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
18700	}
18701
18702	if invalidParams.Len() > 0 {
18703		return invalidParams
18704	}
18705	return nil
18706}
18707
18708// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
18709func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
18710	s.StandardsSubscriptionArns = v
18711	return s
18712}
18713
18714type BatchDisableStandardsOutput struct {
18715	_ struct{} `type:"structure"`
18716
18717	// The details of the standards subscriptions that were disabled.
18718	StandardsSubscriptions []*StandardsSubscription `type:"list"`
18719}
18720
18721// String returns the string representation
18722func (s BatchDisableStandardsOutput) String() string {
18723	return awsutil.Prettify(s)
18724}
18725
18726// GoString returns the string representation
18727func (s BatchDisableStandardsOutput) GoString() string {
18728	return s.String()
18729}
18730
18731// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
18732func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
18733	s.StandardsSubscriptions = v
18734	return s
18735}
18736
18737type BatchEnableStandardsInput struct {
18738	_ struct{} `type:"structure"`
18739
18740	// The list of standards checks to enable.
18741	//
18742	// StandardsSubscriptionRequests is a required field
18743	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
18744}
18745
18746// String returns the string representation
18747func (s BatchEnableStandardsInput) String() string {
18748	return awsutil.Prettify(s)
18749}
18750
18751// GoString returns the string representation
18752func (s BatchEnableStandardsInput) GoString() string {
18753	return s.String()
18754}
18755
18756// Validate inspects the fields of the type to determine if they are valid.
18757func (s *BatchEnableStandardsInput) Validate() error {
18758	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
18759	if s.StandardsSubscriptionRequests == nil {
18760		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
18761	}
18762	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
18763		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
18764	}
18765	if s.StandardsSubscriptionRequests != nil {
18766		for i, v := range s.StandardsSubscriptionRequests {
18767			if v == nil {
18768				continue
18769			}
18770			if err := v.Validate(); err != nil {
18771				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
18772			}
18773		}
18774	}
18775
18776	if invalidParams.Len() > 0 {
18777		return invalidParams
18778	}
18779	return nil
18780}
18781
18782// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
18783func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
18784	s.StandardsSubscriptionRequests = v
18785	return s
18786}
18787
18788type BatchEnableStandardsOutput struct {
18789	_ struct{} `type:"structure"`
18790
18791	// The details of the standards subscriptions that were enabled.
18792	StandardsSubscriptions []*StandardsSubscription `type:"list"`
18793}
18794
18795// String returns the string representation
18796func (s BatchEnableStandardsOutput) String() string {
18797	return awsutil.Prettify(s)
18798}
18799
18800// GoString returns the string representation
18801func (s BatchEnableStandardsOutput) GoString() string {
18802	return s.String()
18803}
18804
18805// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
18806func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
18807	s.StandardsSubscriptions = v
18808	return s
18809}
18810
18811type BatchImportFindingsInput struct {
18812	_ struct{} `type:"structure"`
18813
18814	// A list of findings to import. To successfully import a finding, it must follow
18815	// the AWS Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
18816	// Maximum of 100 findings per request.
18817	//
18818	// Findings is a required field
18819	Findings []*AwsSecurityFinding `type:"list" required:"true"`
18820}
18821
18822// String returns the string representation
18823func (s BatchImportFindingsInput) String() string {
18824	return awsutil.Prettify(s)
18825}
18826
18827// GoString returns the string representation
18828func (s BatchImportFindingsInput) GoString() string {
18829	return s.String()
18830}
18831
18832// Validate inspects the fields of the type to determine if they are valid.
18833func (s *BatchImportFindingsInput) Validate() error {
18834	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
18835	if s.Findings == nil {
18836		invalidParams.Add(request.NewErrParamRequired("Findings"))
18837	}
18838	if s.Findings != nil {
18839		for i, v := range s.Findings {
18840			if v == nil {
18841				continue
18842			}
18843			if err := v.Validate(); err != nil {
18844				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
18845			}
18846		}
18847	}
18848
18849	if invalidParams.Len() > 0 {
18850		return invalidParams
18851	}
18852	return nil
18853}
18854
18855// SetFindings sets the Findings field's value.
18856func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
18857	s.Findings = v
18858	return s
18859}
18860
18861type BatchImportFindingsOutput struct {
18862	_ struct{} `type:"structure"`
18863
18864	// The number of findings that failed to import.
18865	//
18866	// FailedCount is a required field
18867	FailedCount *int64 `type:"integer" required:"true"`
18868
18869	// The list of findings that failed to import.
18870	FailedFindings []*ImportFindingsError `type:"list"`
18871
18872	// The number of findings that were successfully imported.
18873	//
18874	// SuccessCount is a required field
18875	SuccessCount *int64 `type:"integer" required:"true"`
18876}
18877
18878// String returns the string representation
18879func (s BatchImportFindingsOutput) String() string {
18880	return awsutil.Prettify(s)
18881}
18882
18883// GoString returns the string representation
18884func (s BatchImportFindingsOutput) GoString() string {
18885	return s.String()
18886}
18887
18888// SetFailedCount sets the FailedCount field's value.
18889func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
18890	s.FailedCount = &v
18891	return s
18892}
18893
18894// SetFailedFindings sets the FailedFindings field's value.
18895func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
18896	s.FailedFindings = v
18897	return s
18898}
18899
18900// SetSuccessCount sets the SuccessCount field's value.
18901func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
18902	s.SuccessCount = &v
18903	return s
18904}
18905
18906type BatchUpdateFindingsInput struct {
18907	_ struct{} `type:"structure"`
18908
18909	// The updated value for the finding confidence. Confidence is defined as the
18910	// likelihood that a finding accurately identifies the behavior or issue that
18911	// it was intended to identify.
18912	//
18913	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
18914	// zero percent confidence and 100 means 100 percent confidence.
18915	Confidence *int64 `type:"integer"`
18916
18917	// The updated value for the level of importance assigned to the resources associated
18918	// with the findings.
18919	//
18920	// A score of 0 means that the underlying resources have no criticality, and
18921	// a score of 100 is reserved for the most critical resources.
18922	Criticality *int64 `type:"integer"`
18923
18924	// The list of findings to update. BatchUpdateFindings can be used to update
18925	// up to 100 findings at a time.
18926	//
18927	// For each finding, the list provides the finding identifier and the ARN of
18928	// the finding provider.
18929	//
18930	// FindingIdentifiers is a required field
18931	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
18932
18933	// The updated note.
18934	Note *NoteUpdate `type:"structure"`
18935
18936	// A list of findings that are related to the updated findings.
18937	RelatedFindings []*RelatedFinding `type:"list"`
18938
18939	// Used to update the finding severity.
18940	Severity *SeverityUpdate `type:"structure"`
18941
18942	// One or more finding types in the format of namespace/category/classifier
18943	// that classify a finding.
18944	//
18945	// Valid namespace values are as follows.
18946	//
18947	//    * Software and Configuration Checks
18948	//
18949	//    * TTPs
18950	//
18951	//    * Effects
18952	//
18953	//    * Unusual Behaviors
18954	//
18955	//    * Sensitive Data Identifications
18956	Types []*string `type:"list"`
18957
18958	// A list of name/value string pairs associated with the finding. These are
18959	// custom, user-defined fields added to a finding.
18960	UserDefinedFields map[string]*string `type:"map"`
18961
18962	// Indicates the veracity of a finding.
18963	//
18964	// The available values for VerificationState are as follows.
18965	//
18966	//    * UNKNOWN – The default disposition of a security finding
18967	//
18968	//    * TRUE_POSITIVE – The security finding is confirmed
18969	//
18970	//    * FALSE_POSITIVE – The security finding was determined to be a false
18971	//    alarm
18972	//
18973	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
18974	//    doesn't pose any threat, is expected, or both
18975	VerificationState *string `type:"string" enum:"VerificationState"`
18976
18977	// Used to update the workflow status of a finding.
18978	//
18979	// The workflow status indicates the progress of the investigation into the
18980	// finding.
18981	Workflow *WorkflowUpdate `type:"structure"`
18982}
18983
18984// String returns the string representation
18985func (s BatchUpdateFindingsInput) String() string {
18986	return awsutil.Prettify(s)
18987}
18988
18989// GoString returns the string representation
18990func (s BatchUpdateFindingsInput) GoString() string {
18991	return s.String()
18992}
18993
18994// Validate inspects the fields of the type to determine if they are valid.
18995func (s *BatchUpdateFindingsInput) Validate() error {
18996	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
18997	if s.FindingIdentifiers == nil {
18998		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
18999	}
19000	if s.FindingIdentifiers != nil {
19001		for i, v := range s.FindingIdentifiers {
19002			if v == nil {
19003				continue
19004			}
19005			if err := v.Validate(); err != nil {
19006				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
19007			}
19008		}
19009	}
19010	if s.Note != nil {
19011		if err := s.Note.Validate(); err != nil {
19012			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
19013		}
19014	}
19015	if s.RelatedFindings != nil {
19016		for i, v := range s.RelatedFindings {
19017			if v == nil {
19018				continue
19019			}
19020			if err := v.Validate(); err != nil {
19021				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
19022			}
19023		}
19024	}
19025
19026	if invalidParams.Len() > 0 {
19027		return invalidParams
19028	}
19029	return nil
19030}
19031
19032// SetConfidence sets the Confidence field's value.
19033func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
19034	s.Confidence = &v
19035	return s
19036}
19037
19038// SetCriticality sets the Criticality field's value.
19039func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
19040	s.Criticality = &v
19041	return s
19042}
19043
19044// SetFindingIdentifiers sets the FindingIdentifiers field's value.
19045func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
19046	s.FindingIdentifiers = v
19047	return s
19048}
19049
19050// SetNote sets the Note field's value.
19051func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
19052	s.Note = v
19053	return s
19054}
19055
19056// SetRelatedFindings sets the RelatedFindings field's value.
19057func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
19058	s.RelatedFindings = v
19059	return s
19060}
19061
19062// SetSeverity sets the Severity field's value.
19063func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
19064	s.Severity = v
19065	return s
19066}
19067
19068// SetTypes sets the Types field's value.
19069func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
19070	s.Types = v
19071	return s
19072}
19073
19074// SetUserDefinedFields sets the UserDefinedFields field's value.
19075func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
19076	s.UserDefinedFields = v
19077	return s
19078}
19079
19080// SetVerificationState sets the VerificationState field's value.
19081func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
19082	s.VerificationState = &v
19083	return s
19084}
19085
19086// SetWorkflow sets the Workflow field's value.
19087func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
19088	s.Workflow = v
19089	return s
19090}
19091
19092type BatchUpdateFindingsOutput struct {
19093	_ struct{} `type:"structure"`
19094
19095	// The list of findings that were updated successfully.
19096	//
19097	// ProcessedFindings is a required field
19098	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
19099
19100	// The list of findings that were not updated.
19101	//
19102	// UnprocessedFindings is a required field
19103	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
19104}
19105
19106// String returns the string representation
19107func (s BatchUpdateFindingsOutput) String() string {
19108	return awsutil.Prettify(s)
19109}
19110
19111// GoString returns the string representation
19112func (s BatchUpdateFindingsOutput) GoString() string {
19113	return s.String()
19114}
19115
19116// SetProcessedFindings sets the ProcessedFindings field's value.
19117func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
19118	s.ProcessedFindings = v
19119	return s
19120}
19121
19122// SetUnprocessedFindings sets the UnprocessedFindings field's value.
19123func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
19124	s.UnprocessedFindings = v
19125	return s
19126}
19127
19128// A finding from a BatchUpdateFindings request that Security Hub was unable
19129// to update.
19130type BatchUpdateFindingsUnprocessedFinding struct {
19131	_ struct{} `type:"structure"`
19132
19133	// The code associated with the error.
19134	//
19135	// ErrorCode is a required field
19136	ErrorCode *string `type:"string" required:"true"`
19137
19138	// The message associated with the error.
19139	//
19140	// ErrorMessage is a required field
19141	ErrorMessage *string `type:"string" required:"true"`
19142
19143	// The identifier of the finding that was not updated.
19144	//
19145	// FindingIdentifier is a required field
19146	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
19147}
19148
19149// String returns the string representation
19150func (s BatchUpdateFindingsUnprocessedFinding) String() string {
19151	return awsutil.Prettify(s)
19152}
19153
19154// GoString returns the string representation
19155func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
19156	return s.String()
19157}
19158
19159// SetErrorCode sets the ErrorCode field's value.
19160func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
19161	s.ErrorCode = &v
19162	return s
19163}
19164
19165// SetErrorMessage sets the ErrorMessage field's value.
19166func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
19167	s.ErrorMessage = &v
19168	return s
19169}
19170
19171// SetFindingIdentifier sets the FindingIdentifier field's value.
19172func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
19173	s.FindingIdentifier = v
19174	return s
19175}
19176
19177// An IPv4 CIDR block association.
19178type CidrBlockAssociation struct {
19179	_ struct{} `type:"structure"`
19180
19181	// The association ID for the IPv4 CIDR block.
19182	AssociationId *string `type:"string"`
19183
19184	// The IPv4 CIDR block.
19185	CidrBlock *string `type:"string"`
19186
19187	// Information about the state of the IPv4 CIDR block.
19188	CidrBlockState *string `type:"string"`
19189}
19190
19191// String returns the string representation
19192func (s CidrBlockAssociation) String() string {
19193	return awsutil.Prettify(s)
19194}
19195
19196// GoString returns the string representation
19197func (s CidrBlockAssociation) GoString() string {
19198	return s.String()
19199}
19200
19201// SetAssociationId sets the AssociationId field's value.
19202func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
19203	s.AssociationId = &v
19204	return s
19205}
19206
19207// SetCidrBlock sets the CidrBlock field's value.
19208func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
19209	s.CidrBlock = &v
19210	return s
19211}
19212
19213// SetCidrBlockState sets the CidrBlockState field's value.
19214func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
19215	s.CidrBlockState = &v
19216	return s
19217}
19218
19219// Information about a city.
19220type City struct {
19221	_ struct{} `type:"structure"`
19222
19223	// The name of the city.
19224	CityName *string `type:"string"`
19225}
19226
19227// String returns the string representation
19228func (s City) String() string {
19229	return awsutil.Prettify(s)
19230}
19231
19232// GoString returns the string representation
19233func (s City) GoString() string {
19234	return s.String()
19235}
19236
19237// SetCityName sets the CityName field's value.
19238func (s *City) SetCityName(v string) *City {
19239	s.CityName = &v
19240	return s
19241}
19242
19243// Contains finding details that are specific to control-based findings. Only
19244// returned for findings generated from controls.
19245type Compliance struct {
19246	_ struct{} `type:"structure"`
19247
19248	// For a control, the industry or regulatory framework requirements that are
19249	// related to the control. The check for that control is aligned with these
19250	// requirements.
19251	RelatedRequirements []*string `type:"list"`
19252
19253	// The result of a standards check.
19254	//
19255	// The valid values for Status are as follows.
19256	//
19257	//    * PASSED - Standards check passed for all evaluated resources. WARNING
19258	//    - Some information is missing or this check is not supported for your
19259	//    configuration. FAILED - Standards check failed for at least one evaluated
19260	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
19261	//    outage, API error, or because the result of the AWS Config evaluation
19262	//    was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE,
19263	//    then after 3 days, Security Hub automatically archives the finding.
19264	Status *string `type:"string" enum:"ComplianceStatus"`
19265
19266	// For findings generated from controls, a list of reasons behind the value
19267	// of Status. For the list of status reason codes and their meanings, see Standards-related
19268	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
19269	// in the AWS Security Hub User Guide.
19270	StatusReasons []*StatusReason `type:"list"`
19271}
19272
19273// String returns the string representation
19274func (s Compliance) String() string {
19275	return awsutil.Prettify(s)
19276}
19277
19278// GoString returns the string representation
19279func (s Compliance) GoString() string {
19280	return s.String()
19281}
19282
19283// Validate inspects the fields of the type to determine if they are valid.
19284func (s *Compliance) Validate() error {
19285	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
19286	if s.StatusReasons != nil {
19287		for i, v := range s.StatusReasons {
19288			if v == nil {
19289				continue
19290			}
19291			if err := v.Validate(); err != nil {
19292				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
19293			}
19294		}
19295	}
19296
19297	if invalidParams.Len() > 0 {
19298		return invalidParams
19299	}
19300	return nil
19301}
19302
19303// SetRelatedRequirements sets the RelatedRequirements field's value.
19304func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
19305	s.RelatedRequirements = v
19306	return s
19307}
19308
19309// SetStatus sets the Status field's value.
19310func (s *Compliance) SetStatus(v string) *Compliance {
19311	s.Status = &v
19312	return s
19313}
19314
19315// SetStatusReasons sets the StatusReasons field's value.
19316func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
19317	s.StatusReasons = v
19318	return s
19319}
19320
19321// Container details related to a finding.
19322type ContainerDetails struct {
19323	_ struct{} `type:"structure"`
19324
19325	// The identifier of the image related to a finding.
19326	ImageId *string `type:"string"`
19327
19328	// The name of the image related to a finding.
19329	ImageName *string `type:"string"`
19330
19331	// Indicates when the container started.
19332	//
19333	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19334	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19335	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19336	LaunchedAt *string `type:"string"`
19337
19338	// The name of the container related to a finding.
19339	Name *string `type:"string"`
19340}
19341
19342// String returns the string representation
19343func (s ContainerDetails) String() string {
19344	return awsutil.Prettify(s)
19345}
19346
19347// GoString returns the string representation
19348func (s ContainerDetails) GoString() string {
19349	return s.String()
19350}
19351
19352// SetImageId sets the ImageId field's value.
19353func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
19354	s.ImageId = &v
19355	return s
19356}
19357
19358// SetImageName sets the ImageName field's value.
19359func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
19360	s.ImageName = &v
19361	return s
19362}
19363
19364// SetLaunchedAt sets the LaunchedAt field's value.
19365func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
19366	s.LaunchedAt = &v
19367	return s
19368}
19369
19370// SetName sets the Name field's value.
19371func (s *ContainerDetails) SetName(v string) *ContainerDetails {
19372	s.Name = &v
19373	return s
19374}
19375
19376// Information about a country.
19377type Country struct {
19378	_ struct{} `type:"structure"`
19379
19380	// The 2-letter ISO 3166 country code for the country.
19381	CountryCode *string `type:"string"`
19382
19383	// The name of the country.
19384	CountryName *string `type:"string"`
19385}
19386
19387// String returns the string representation
19388func (s Country) String() string {
19389	return awsutil.Prettify(s)
19390}
19391
19392// GoString returns the string representation
19393func (s Country) GoString() string {
19394	return s.String()
19395}
19396
19397// SetCountryCode sets the CountryCode field's value.
19398func (s *Country) SetCountryCode(v string) *Country {
19399	s.CountryCode = &v
19400	return s
19401}
19402
19403// SetCountryName sets the CountryName field's value.
19404func (s *Country) SetCountryName(v string) *Country {
19405	s.CountryName = &v
19406	return s
19407}
19408
19409type CreateActionTargetInput struct {
19410	_ struct{} `type:"structure"`
19411
19412	// The description for the custom action target.
19413	//
19414	// Description is a required field
19415	Description *string `type:"string" required:"true"`
19416
19417	// The ID for the custom action target.
19418	//
19419	// Id is a required field
19420	Id *string `type:"string" required:"true"`
19421
19422	// The name of the custom action target.
19423	//
19424	// Name is a required field
19425	Name *string `type:"string" required:"true"`
19426}
19427
19428// String returns the string representation
19429func (s CreateActionTargetInput) String() string {
19430	return awsutil.Prettify(s)
19431}
19432
19433// GoString returns the string representation
19434func (s CreateActionTargetInput) GoString() string {
19435	return s.String()
19436}
19437
19438// Validate inspects the fields of the type to determine if they are valid.
19439func (s *CreateActionTargetInput) Validate() error {
19440	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
19441	if s.Description == nil {
19442		invalidParams.Add(request.NewErrParamRequired("Description"))
19443	}
19444	if s.Id == nil {
19445		invalidParams.Add(request.NewErrParamRequired("Id"))
19446	}
19447	if s.Name == nil {
19448		invalidParams.Add(request.NewErrParamRequired("Name"))
19449	}
19450
19451	if invalidParams.Len() > 0 {
19452		return invalidParams
19453	}
19454	return nil
19455}
19456
19457// SetDescription sets the Description field's value.
19458func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
19459	s.Description = &v
19460	return s
19461}
19462
19463// SetId sets the Id field's value.
19464func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
19465	s.Id = &v
19466	return s
19467}
19468
19469// SetName sets the Name field's value.
19470func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
19471	s.Name = &v
19472	return s
19473}
19474
19475type CreateActionTargetOutput struct {
19476	_ struct{} `type:"structure"`
19477
19478	// The ARN for the custom action target.
19479	//
19480	// ActionTargetArn is a required field
19481	ActionTargetArn *string `type:"string" required:"true"`
19482}
19483
19484// String returns the string representation
19485func (s CreateActionTargetOutput) String() string {
19486	return awsutil.Prettify(s)
19487}
19488
19489// GoString returns the string representation
19490func (s CreateActionTargetOutput) GoString() string {
19491	return s.String()
19492}
19493
19494// SetActionTargetArn sets the ActionTargetArn field's value.
19495func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
19496	s.ActionTargetArn = &v
19497	return s
19498}
19499
19500type CreateInsightInput struct {
19501	_ struct{} `type:"structure"`
19502
19503	// One or more attributes used to filter the findings included in the insight.
19504	// The insight only includes findings that match the criteria defined in the
19505	// filters.
19506	//
19507	// Filters is a required field
19508	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
19509
19510	// The attribute used to group the findings for the insight. The grouping attribute
19511	// identifies the type of item that the insight applies to. For example, if
19512	// an insight is grouped by resource identifier, then the insight produces a
19513	// list of resource identifiers.
19514	//
19515	// GroupByAttribute is a required field
19516	GroupByAttribute *string `type:"string" required:"true"`
19517
19518	// The name of the custom insight to create.
19519	//
19520	// Name is a required field
19521	Name *string `type:"string" required:"true"`
19522}
19523
19524// String returns the string representation
19525func (s CreateInsightInput) String() string {
19526	return awsutil.Prettify(s)
19527}
19528
19529// GoString returns the string representation
19530func (s CreateInsightInput) GoString() string {
19531	return s.String()
19532}
19533
19534// Validate inspects the fields of the type to determine if they are valid.
19535func (s *CreateInsightInput) Validate() error {
19536	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
19537	if s.Filters == nil {
19538		invalidParams.Add(request.NewErrParamRequired("Filters"))
19539	}
19540	if s.GroupByAttribute == nil {
19541		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
19542	}
19543	if s.Name == nil {
19544		invalidParams.Add(request.NewErrParamRequired("Name"))
19545	}
19546
19547	if invalidParams.Len() > 0 {
19548		return invalidParams
19549	}
19550	return nil
19551}
19552
19553// SetFilters sets the Filters field's value.
19554func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
19555	s.Filters = v
19556	return s
19557}
19558
19559// SetGroupByAttribute sets the GroupByAttribute field's value.
19560func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
19561	s.GroupByAttribute = &v
19562	return s
19563}
19564
19565// SetName sets the Name field's value.
19566func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
19567	s.Name = &v
19568	return s
19569}
19570
19571type CreateInsightOutput struct {
19572	_ struct{} `type:"structure"`
19573
19574	// The ARN of the insight created.
19575	//
19576	// InsightArn is a required field
19577	InsightArn *string `type:"string" required:"true"`
19578}
19579
19580// String returns the string representation
19581func (s CreateInsightOutput) String() string {
19582	return awsutil.Prettify(s)
19583}
19584
19585// GoString returns the string representation
19586func (s CreateInsightOutput) GoString() string {
19587	return s.String()
19588}
19589
19590// SetInsightArn sets the InsightArn field's value.
19591func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
19592	s.InsightArn = &v
19593	return s
19594}
19595
19596type CreateMembersInput struct {
19597	_ struct{} `type:"structure"`
19598
19599	// The list of accounts to associate with the Security Hub master account. For
19600	// each account, the list includes the account ID and optionally the email address.
19601	//
19602	// AccountDetails is a required field
19603	AccountDetails []*AccountDetails `type:"list" required:"true"`
19604}
19605
19606// String returns the string representation
19607func (s CreateMembersInput) String() string {
19608	return awsutil.Prettify(s)
19609}
19610
19611// GoString returns the string representation
19612func (s CreateMembersInput) GoString() string {
19613	return s.String()
19614}
19615
19616// Validate inspects the fields of the type to determine if they are valid.
19617func (s *CreateMembersInput) Validate() error {
19618	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
19619	if s.AccountDetails == nil {
19620		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
19621	}
19622	if s.AccountDetails != nil {
19623		for i, v := range s.AccountDetails {
19624			if v == nil {
19625				continue
19626			}
19627			if err := v.Validate(); err != nil {
19628				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
19629			}
19630		}
19631	}
19632
19633	if invalidParams.Len() > 0 {
19634		return invalidParams
19635	}
19636	return nil
19637}
19638
19639// SetAccountDetails sets the AccountDetails field's value.
19640func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
19641	s.AccountDetails = v
19642	return s
19643}
19644
19645type CreateMembersOutput struct {
19646	_ struct{} `type:"structure"`
19647
19648	// The list of AWS accounts that were not processed. For each account, the list
19649	// includes the account ID and the email address.
19650	UnprocessedAccounts []*Result `type:"list"`
19651}
19652
19653// String returns the string representation
19654func (s CreateMembersOutput) String() string {
19655	return awsutil.Prettify(s)
19656}
19657
19658// GoString returns the string representation
19659func (s CreateMembersOutput) GoString() string {
19660	return s.String()
19661}
19662
19663// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
19664func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
19665	s.UnprocessedAccounts = v
19666	return s
19667}
19668
19669// CVSS scores from the advisory related to the vulnerability.
19670type Cvss struct {
19671	_ struct{} `type:"structure"`
19672
19673	// The base CVSS score.
19674	BaseScore *float64 `type:"double"`
19675
19676	// The base scoring vector for the CVSS score.
19677	BaseVector *string `type:"string"`
19678
19679	// The version of CVSS for the CVSS score.
19680	Version *string `type:"string"`
19681}
19682
19683// String returns the string representation
19684func (s Cvss) String() string {
19685	return awsutil.Prettify(s)
19686}
19687
19688// GoString returns the string representation
19689func (s Cvss) GoString() string {
19690	return s.String()
19691}
19692
19693// SetBaseScore sets the BaseScore field's value.
19694func (s *Cvss) SetBaseScore(v float64) *Cvss {
19695	s.BaseScore = &v
19696	return s
19697}
19698
19699// SetBaseVector sets the BaseVector field's value.
19700func (s *Cvss) SetBaseVector(v string) *Cvss {
19701	s.BaseVector = &v
19702	return s
19703}
19704
19705// SetVersion sets the Version field's value.
19706func (s *Cvss) SetVersion(v string) *Cvss {
19707	s.Version = &v
19708	return s
19709}
19710
19711// A date filter for querying findings.
19712type DateFilter struct {
19713	_ struct{} `type:"structure"`
19714
19715	// A date range for the date filter.
19716	DateRange *DateRange `type:"structure"`
19717
19718	// An end date for the date filter.
19719	End *string `type:"string"`
19720
19721	// A start date for the date filter.
19722	Start *string `type:"string"`
19723}
19724
19725// String returns the string representation
19726func (s DateFilter) String() string {
19727	return awsutil.Prettify(s)
19728}
19729
19730// GoString returns the string representation
19731func (s DateFilter) GoString() string {
19732	return s.String()
19733}
19734
19735// SetDateRange sets the DateRange field's value.
19736func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
19737	s.DateRange = v
19738	return s
19739}
19740
19741// SetEnd sets the End field's value.
19742func (s *DateFilter) SetEnd(v string) *DateFilter {
19743	s.End = &v
19744	return s
19745}
19746
19747// SetStart sets the Start field's value.
19748func (s *DateFilter) SetStart(v string) *DateFilter {
19749	s.Start = &v
19750	return s
19751}
19752
19753// A date range for the date filter.
19754type DateRange struct {
19755	_ struct{} `type:"structure"`
19756
19757	// A date range unit for the date filter.
19758	Unit *string `type:"string" enum:"DateRangeUnit"`
19759
19760	// A date range value for the date filter.
19761	Value *int64 `type:"integer"`
19762}
19763
19764// String returns the string representation
19765func (s DateRange) String() string {
19766	return awsutil.Prettify(s)
19767}
19768
19769// GoString returns the string representation
19770func (s DateRange) GoString() string {
19771	return s.String()
19772}
19773
19774// SetUnit sets the Unit field's value.
19775func (s *DateRange) SetUnit(v string) *DateRange {
19776	s.Unit = &v
19777	return s
19778}
19779
19780// SetValue sets the Value field's value.
19781func (s *DateRange) SetValue(v int64) *DateRange {
19782	s.Value = &v
19783	return s
19784}
19785
19786type DeclineInvitationsInput struct {
19787	_ struct{} `type:"structure"`
19788
19789	// The list of account IDs for the accounts from which to decline the invitations
19790	// to Security Hub.
19791	//
19792	// AccountIds is a required field
19793	AccountIds []*string `type:"list" required:"true"`
19794}
19795
19796// String returns the string representation
19797func (s DeclineInvitationsInput) String() string {
19798	return awsutil.Prettify(s)
19799}
19800
19801// GoString returns the string representation
19802func (s DeclineInvitationsInput) GoString() string {
19803	return s.String()
19804}
19805
19806// Validate inspects the fields of the type to determine if they are valid.
19807func (s *DeclineInvitationsInput) Validate() error {
19808	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
19809	if s.AccountIds == nil {
19810		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
19811	}
19812
19813	if invalidParams.Len() > 0 {
19814		return invalidParams
19815	}
19816	return nil
19817}
19818
19819// SetAccountIds sets the AccountIds field's value.
19820func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
19821	s.AccountIds = v
19822	return s
19823}
19824
19825type DeclineInvitationsOutput struct {
19826	_ struct{} `type:"structure"`
19827
19828	// The list of AWS accounts that were not processed. For each account, the list
19829	// includes the account ID and the email address.
19830	UnprocessedAccounts []*Result `type:"list"`
19831}
19832
19833// String returns the string representation
19834func (s DeclineInvitationsOutput) String() string {
19835	return awsutil.Prettify(s)
19836}
19837
19838// GoString returns the string representation
19839func (s DeclineInvitationsOutput) GoString() string {
19840	return s.String()
19841}
19842
19843// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
19844func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
19845	s.UnprocessedAccounts = v
19846	return s
19847}
19848
19849type DeleteActionTargetInput struct {
19850	_ struct{} `type:"structure"`
19851
19852	// The ARN of the custom action target to delete.
19853	//
19854	// ActionTargetArn is a required field
19855	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
19856}
19857
19858// String returns the string representation
19859func (s DeleteActionTargetInput) String() string {
19860	return awsutil.Prettify(s)
19861}
19862
19863// GoString returns the string representation
19864func (s DeleteActionTargetInput) GoString() string {
19865	return s.String()
19866}
19867
19868// Validate inspects the fields of the type to determine if they are valid.
19869func (s *DeleteActionTargetInput) Validate() error {
19870	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
19871	if s.ActionTargetArn == nil {
19872		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
19873	}
19874	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
19875		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
19876	}
19877
19878	if invalidParams.Len() > 0 {
19879		return invalidParams
19880	}
19881	return nil
19882}
19883
19884// SetActionTargetArn sets the ActionTargetArn field's value.
19885func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
19886	s.ActionTargetArn = &v
19887	return s
19888}
19889
19890type DeleteActionTargetOutput struct {
19891	_ struct{} `type:"structure"`
19892
19893	// The ARN of the custom action target that was deleted.
19894	//
19895	// ActionTargetArn is a required field
19896	ActionTargetArn *string `type:"string" required:"true"`
19897}
19898
19899// String returns the string representation
19900func (s DeleteActionTargetOutput) String() string {
19901	return awsutil.Prettify(s)
19902}
19903
19904// GoString returns the string representation
19905func (s DeleteActionTargetOutput) GoString() string {
19906	return s.String()
19907}
19908
19909// SetActionTargetArn sets the ActionTargetArn field's value.
19910func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
19911	s.ActionTargetArn = &v
19912	return s
19913}
19914
19915type DeleteInsightInput struct {
19916	_ struct{} `type:"structure"`
19917
19918	// The ARN of the insight to delete.
19919	//
19920	// InsightArn is a required field
19921	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
19922}
19923
19924// String returns the string representation
19925func (s DeleteInsightInput) String() string {
19926	return awsutil.Prettify(s)
19927}
19928
19929// GoString returns the string representation
19930func (s DeleteInsightInput) GoString() string {
19931	return s.String()
19932}
19933
19934// Validate inspects the fields of the type to determine if they are valid.
19935func (s *DeleteInsightInput) Validate() error {
19936	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
19937	if s.InsightArn == nil {
19938		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
19939	}
19940	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
19941		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
19942	}
19943
19944	if invalidParams.Len() > 0 {
19945		return invalidParams
19946	}
19947	return nil
19948}
19949
19950// SetInsightArn sets the InsightArn field's value.
19951func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
19952	s.InsightArn = &v
19953	return s
19954}
19955
19956type DeleteInsightOutput struct {
19957	_ struct{} `type:"structure"`
19958
19959	// The ARN of the insight that was deleted.
19960	//
19961	// InsightArn is a required field
19962	InsightArn *string `type:"string" required:"true"`
19963}
19964
19965// String returns the string representation
19966func (s DeleteInsightOutput) String() string {
19967	return awsutil.Prettify(s)
19968}
19969
19970// GoString returns the string representation
19971func (s DeleteInsightOutput) GoString() string {
19972	return s.String()
19973}
19974
19975// SetInsightArn sets the InsightArn field's value.
19976func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
19977	s.InsightArn = &v
19978	return s
19979}
19980
19981type DeleteInvitationsInput struct {
19982	_ struct{} `type:"structure"`
19983
19984	// The list of the account IDs that sent the invitations to delete.
19985	//
19986	// AccountIds is a required field
19987	AccountIds []*string `type:"list" required:"true"`
19988}
19989
19990// String returns the string representation
19991func (s DeleteInvitationsInput) String() string {
19992	return awsutil.Prettify(s)
19993}
19994
19995// GoString returns the string representation
19996func (s DeleteInvitationsInput) GoString() string {
19997	return s.String()
19998}
19999
20000// Validate inspects the fields of the type to determine if they are valid.
20001func (s *DeleteInvitationsInput) Validate() error {
20002	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
20003	if s.AccountIds == nil {
20004		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
20005	}
20006
20007	if invalidParams.Len() > 0 {
20008		return invalidParams
20009	}
20010	return nil
20011}
20012
20013// SetAccountIds sets the AccountIds field's value.
20014func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
20015	s.AccountIds = v
20016	return s
20017}
20018
20019type DeleteInvitationsOutput struct {
20020	_ struct{} `type:"structure"`
20021
20022	// The list of AWS accounts for which the invitations were not deleted. For
20023	// each account, the list includes the account ID and the email address.
20024	UnprocessedAccounts []*Result `type:"list"`
20025}
20026
20027// String returns the string representation
20028func (s DeleteInvitationsOutput) String() string {
20029	return awsutil.Prettify(s)
20030}
20031
20032// GoString returns the string representation
20033func (s DeleteInvitationsOutput) GoString() string {
20034	return s.String()
20035}
20036
20037// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
20038func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
20039	s.UnprocessedAccounts = v
20040	return s
20041}
20042
20043type DeleteMembersInput struct {
20044	_ struct{} `type:"structure"`
20045
20046	// The list of account IDs for the member accounts to delete.
20047	//
20048	// AccountIds is a required field
20049	AccountIds []*string `type:"list" required:"true"`
20050}
20051
20052// String returns the string representation
20053func (s DeleteMembersInput) String() string {
20054	return awsutil.Prettify(s)
20055}
20056
20057// GoString returns the string representation
20058func (s DeleteMembersInput) GoString() string {
20059	return s.String()
20060}
20061
20062// Validate inspects the fields of the type to determine if they are valid.
20063func (s *DeleteMembersInput) Validate() error {
20064	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
20065	if s.AccountIds == nil {
20066		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
20067	}
20068
20069	if invalidParams.Len() > 0 {
20070		return invalidParams
20071	}
20072	return nil
20073}
20074
20075// SetAccountIds sets the AccountIds field's value.
20076func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
20077	s.AccountIds = v
20078	return s
20079}
20080
20081type DeleteMembersOutput struct {
20082	_ struct{} `type:"structure"`
20083
20084	// The list of AWS accounts that were not deleted. For each account, the list
20085	// includes the account ID and the email address.
20086	UnprocessedAccounts []*Result `type:"list"`
20087}
20088
20089// String returns the string representation
20090func (s DeleteMembersOutput) String() string {
20091	return awsutil.Prettify(s)
20092}
20093
20094// GoString returns the string representation
20095func (s DeleteMembersOutput) GoString() string {
20096	return s.String()
20097}
20098
20099// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
20100func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
20101	s.UnprocessedAccounts = v
20102	return s
20103}
20104
20105type DescribeActionTargetsInput struct {
20106	_ struct{} `type:"structure"`
20107
20108	// A list of custom action target ARNs for the custom action targets to retrieve.
20109	ActionTargetArns []*string `type:"list"`
20110
20111	// The maximum number of results to return.
20112	MaxResults *int64 `min:"1" type:"integer"`
20113
20114	// The token that is required for pagination. On your first call to the DescribeActionTargets
20115	// operation, set the value of this parameter to NULL.
20116	//
20117	// For subsequent calls to the operation, to continue listing data, set the
20118	// value of this parameter to the value returned from the previous response.
20119	NextToken *string `type:"string"`
20120}
20121
20122// String returns the string representation
20123func (s DescribeActionTargetsInput) String() string {
20124	return awsutil.Prettify(s)
20125}
20126
20127// GoString returns the string representation
20128func (s DescribeActionTargetsInput) GoString() string {
20129	return s.String()
20130}
20131
20132// Validate inspects the fields of the type to determine if they are valid.
20133func (s *DescribeActionTargetsInput) Validate() error {
20134	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
20135	if s.MaxResults != nil && *s.MaxResults < 1 {
20136		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20137	}
20138
20139	if invalidParams.Len() > 0 {
20140		return invalidParams
20141	}
20142	return nil
20143}
20144
20145// SetActionTargetArns sets the ActionTargetArns field's value.
20146func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
20147	s.ActionTargetArns = v
20148	return s
20149}
20150
20151// SetMaxResults sets the MaxResults field's value.
20152func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
20153	s.MaxResults = &v
20154	return s
20155}
20156
20157// SetNextToken sets the NextToken field's value.
20158func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
20159	s.NextToken = &v
20160	return s
20161}
20162
20163type DescribeActionTargetsOutput struct {
20164	_ struct{} `type:"structure"`
20165
20166	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
20167	// Description, and Name of a custom action target available in Security Hub.
20168	//
20169	// ActionTargets is a required field
20170	ActionTargets []*ActionTarget `type:"list" required:"true"`
20171
20172	// The pagination token to use to request the next page of results.
20173	NextToken *string `type:"string"`
20174}
20175
20176// String returns the string representation
20177func (s DescribeActionTargetsOutput) String() string {
20178	return awsutil.Prettify(s)
20179}
20180
20181// GoString returns the string representation
20182func (s DescribeActionTargetsOutput) GoString() string {
20183	return s.String()
20184}
20185
20186// SetActionTargets sets the ActionTargets field's value.
20187func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
20188	s.ActionTargets = v
20189	return s
20190}
20191
20192// SetNextToken sets the NextToken field's value.
20193func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
20194	s.NextToken = &v
20195	return s
20196}
20197
20198type DescribeHubInput struct {
20199	_ struct{} `type:"structure"`
20200
20201	// The ARN of the Hub resource to retrieve.
20202	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
20203}
20204
20205// String returns the string representation
20206func (s DescribeHubInput) String() string {
20207	return awsutil.Prettify(s)
20208}
20209
20210// GoString returns the string representation
20211func (s DescribeHubInput) GoString() string {
20212	return s.String()
20213}
20214
20215// SetHubArn sets the HubArn field's value.
20216func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
20217	s.HubArn = &v
20218	return s
20219}
20220
20221type DescribeHubOutput struct {
20222	_ struct{} `type:"structure"`
20223
20224	// Whether to automatically enable new controls when they are added to standards
20225	// that are enabled.
20226	//
20227	// If set to true, then new controls for enabled standards are enabled automatically.
20228	// If set to false, then new controls are not enabled.
20229	AutoEnableControls *bool `type:"boolean"`
20230
20231	// The ARN of the Hub resource that was retrieved.
20232	HubArn *string `type:"string"`
20233
20234	// The date and time when Security Hub was enabled in the account.
20235	SubscribedAt *string `type:"string"`
20236}
20237
20238// String returns the string representation
20239func (s DescribeHubOutput) String() string {
20240	return awsutil.Prettify(s)
20241}
20242
20243// GoString returns the string representation
20244func (s DescribeHubOutput) GoString() string {
20245	return s.String()
20246}
20247
20248// SetAutoEnableControls sets the AutoEnableControls field's value.
20249func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
20250	s.AutoEnableControls = &v
20251	return s
20252}
20253
20254// SetHubArn sets the HubArn field's value.
20255func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
20256	s.HubArn = &v
20257	return s
20258}
20259
20260// SetSubscribedAt sets the SubscribedAt field's value.
20261func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
20262	s.SubscribedAt = &v
20263	return s
20264}
20265
20266type DescribeOrganizationConfigurationInput struct {
20267	_ struct{} `type:"structure"`
20268}
20269
20270// String returns the string representation
20271func (s DescribeOrganizationConfigurationInput) String() string {
20272	return awsutil.Prettify(s)
20273}
20274
20275// GoString returns the string representation
20276func (s DescribeOrganizationConfigurationInput) GoString() string {
20277	return s.String()
20278}
20279
20280type DescribeOrganizationConfigurationOutput struct {
20281	_ struct{} `type:"structure"`
20282
20283	// Whether to automatically enable Security Hub for new accounts in the organization.
20284	//
20285	// If set to true, then Security Hub is enabled for new accounts. If set to
20286	// false, then new accounts are not added automatically.
20287	AutoEnable *bool `type:"boolean"`
20288
20289	// Whether the maximum number of allowed member accounts are already associated
20290	// with the Security Hub administrator account.
20291	MemberAccountLimitReached *bool `type:"boolean"`
20292}
20293
20294// String returns the string representation
20295func (s DescribeOrganizationConfigurationOutput) String() string {
20296	return awsutil.Prettify(s)
20297}
20298
20299// GoString returns the string representation
20300func (s DescribeOrganizationConfigurationOutput) GoString() string {
20301	return s.String()
20302}
20303
20304// SetAutoEnable sets the AutoEnable field's value.
20305func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
20306	s.AutoEnable = &v
20307	return s
20308}
20309
20310// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
20311func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
20312	s.MemberAccountLimitReached = &v
20313	return s
20314}
20315
20316type DescribeProductsInput struct {
20317	_ struct{} `type:"structure"`
20318
20319	// The maximum number of results to return.
20320	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20321
20322	// The token that is required for pagination. On your first call to the DescribeProducts
20323	// operation, set the value of this parameter to NULL.
20324	//
20325	// For subsequent calls to the operation, to continue listing data, set the
20326	// value of this parameter to the value returned from the previous response.
20327	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20328}
20329
20330// String returns the string representation
20331func (s DescribeProductsInput) String() string {
20332	return awsutil.Prettify(s)
20333}
20334
20335// GoString returns the string representation
20336func (s DescribeProductsInput) GoString() string {
20337	return s.String()
20338}
20339
20340// Validate inspects the fields of the type to determine if they are valid.
20341func (s *DescribeProductsInput) Validate() error {
20342	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
20343	if s.MaxResults != nil && *s.MaxResults < 1 {
20344		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20345	}
20346
20347	if invalidParams.Len() > 0 {
20348		return invalidParams
20349	}
20350	return nil
20351}
20352
20353// SetMaxResults sets the MaxResults field's value.
20354func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
20355	s.MaxResults = &v
20356	return s
20357}
20358
20359// SetNextToken sets the NextToken field's value.
20360func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
20361	s.NextToken = &v
20362	return s
20363}
20364
20365type DescribeProductsOutput struct {
20366	_ struct{} `type:"structure"`
20367
20368	// The pagination token to use to request the next page of results.
20369	NextToken *string `type:"string"`
20370
20371	// A list of products, including details for each product.
20372	//
20373	// Products is a required field
20374	Products []*Product `type:"list" required:"true"`
20375}
20376
20377// String returns the string representation
20378func (s DescribeProductsOutput) String() string {
20379	return awsutil.Prettify(s)
20380}
20381
20382// GoString returns the string representation
20383func (s DescribeProductsOutput) GoString() string {
20384	return s.String()
20385}
20386
20387// SetNextToken sets the NextToken field's value.
20388func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
20389	s.NextToken = &v
20390	return s
20391}
20392
20393// SetProducts sets the Products field's value.
20394func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
20395	s.Products = v
20396	return s
20397}
20398
20399type DescribeStandardsControlsInput struct {
20400	_ struct{} `type:"structure"`
20401
20402	// The maximum number of security standard controls to return.
20403	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20404
20405	// The token that is required for pagination. On your first call to the DescribeStandardsControls
20406	// operation, set the value of this parameter to NULL.
20407	//
20408	// For subsequent calls to the operation, to continue listing data, set the
20409	// value of this parameter to the value returned from the previous response.
20410	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20411
20412	// The ARN of a resource that represents your subscription to a supported standard.
20413	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
20414	// operation.
20415	//
20416	// StandardsSubscriptionArn is a required field
20417	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
20418}
20419
20420// String returns the string representation
20421func (s DescribeStandardsControlsInput) String() string {
20422	return awsutil.Prettify(s)
20423}
20424
20425// GoString returns the string representation
20426func (s DescribeStandardsControlsInput) GoString() string {
20427	return s.String()
20428}
20429
20430// Validate inspects the fields of the type to determine if they are valid.
20431func (s *DescribeStandardsControlsInput) Validate() error {
20432	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
20433	if s.MaxResults != nil && *s.MaxResults < 1 {
20434		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20435	}
20436	if s.StandardsSubscriptionArn == nil {
20437		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
20438	}
20439	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
20440		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
20441	}
20442
20443	if invalidParams.Len() > 0 {
20444		return invalidParams
20445	}
20446	return nil
20447}
20448
20449// SetMaxResults sets the MaxResults field's value.
20450func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
20451	s.MaxResults = &v
20452	return s
20453}
20454
20455// SetNextToken sets the NextToken field's value.
20456func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
20457	s.NextToken = &v
20458	return s
20459}
20460
20461// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
20462func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
20463	s.StandardsSubscriptionArn = &v
20464	return s
20465}
20466
20467type DescribeStandardsControlsOutput struct {
20468	_ struct{} `type:"structure"`
20469
20470	// A list of security standards controls.
20471	Controls []*StandardsControl `type:"list"`
20472
20473	// The pagination token to use to request the next page of results.
20474	NextToken *string `type:"string"`
20475}
20476
20477// String returns the string representation
20478func (s DescribeStandardsControlsOutput) String() string {
20479	return awsutil.Prettify(s)
20480}
20481
20482// GoString returns the string representation
20483func (s DescribeStandardsControlsOutput) GoString() string {
20484	return s.String()
20485}
20486
20487// SetControls sets the Controls field's value.
20488func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
20489	s.Controls = v
20490	return s
20491}
20492
20493// SetNextToken sets the NextToken field's value.
20494func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
20495	s.NextToken = &v
20496	return s
20497}
20498
20499type DescribeStandardsInput struct {
20500	_ struct{} `type:"structure"`
20501
20502	// The maximum number of standards to return.
20503	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20504
20505	// The token that is required for pagination. On your first call to the DescribeStandards
20506	// operation, set the value of this parameter to NULL.
20507	//
20508	// For subsequent calls to the operation, to continue listing data, set the
20509	// value of this parameter to the value returned from the previous response.
20510	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20511}
20512
20513// String returns the string representation
20514func (s DescribeStandardsInput) String() string {
20515	return awsutil.Prettify(s)
20516}
20517
20518// GoString returns the string representation
20519func (s DescribeStandardsInput) GoString() string {
20520	return s.String()
20521}
20522
20523// Validate inspects the fields of the type to determine if they are valid.
20524func (s *DescribeStandardsInput) Validate() error {
20525	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
20526	if s.MaxResults != nil && *s.MaxResults < 1 {
20527		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20528	}
20529
20530	if invalidParams.Len() > 0 {
20531		return invalidParams
20532	}
20533	return nil
20534}
20535
20536// SetMaxResults sets the MaxResults field's value.
20537func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
20538	s.MaxResults = &v
20539	return s
20540}
20541
20542// SetNextToken sets the NextToken field's value.
20543func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
20544	s.NextToken = &v
20545	return s
20546}
20547
20548type DescribeStandardsOutput struct {
20549	_ struct{} `type:"structure"`
20550
20551	// The pagination token to use to request the next page of results.
20552	NextToken *string `type:"string"`
20553
20554	// A list of available standards.
20555	Standards []*Standard `type:"list"`
20556}
20557
20558// String returns the string representation
20559func (s DescribeStandardsOutput) String() string {
20560	return awsutil.Prettify(s)
20561}
20562
20563// GoString returns the string representation
20564func (s DescribeStandardsOutput) GoString() string {
20565	return s.String()
20566}
20567
20568// SetNextToken sets the NextToken field's value.
20569func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
20570	s.NextToken = &v
20571	return s
20572}
20573
20574// SetStandards sets the Standards field's value.
20575func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
20576	s.Standards = v
20577	return s
20578}
20579
20580type DisableImportFindingsForProductInput struct {
20581	_ struct{} `type:"structure"`
20582
20583	// The ARN of the integrated product to disable the integration for.
20584	//
20585	// ProductSubscriptionArn is a required field
20586	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
20587}
20588
20589// String returns the string representation
20590func (s DisableImportFindingsForProductInput) String() string {
20591	return awsutil.Prettify(s)
20592}
20593
20594// GoString returns the string representation
20595func (s DisableImportFindingsForProductInput) GoString() string {
20596	return s.String()
20597}
20598
20599// Validate inspects the fields of the type to determine if they are valid.
20600func (s *DisableImportFindingsForProductInput) Validate() error {
20601	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
20602	if s.ProductSubscriptionArn == nil {
20603		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
20604	}
20605	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
20606		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
20607	}
20608
20609	if invalidParams.Len() > 0 {
20610		return invalidParams
20611	}
20612	return nil
20613}
20614
20615// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
20616func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
20617	s.ProductSubscriptionArn = &v
20618	return s
20619}
20620
20621type DisableImportFindingsForProductOutput struct {
20622	_ struct{} `type:"structure"`
20623}
20624
20625// String returns the string representation
20626func (s DisableImportFindingsForProductOutput) String() string {
20627	return awsutil.Prettify(s)
20628}
20629
20630// GoString returns the string representation
20631func (s DisableImportFindingsForProductOutput) GoString() string {
20632	return s.String()
20633}
20634
20635type DisableOrganizationAdminAccountInput struct {
20636	_ struct{} `type:"structure"`
20637
20638	// The AWS account identifier of the Security Hub administrator account.
20639	//
20640	// AdminAccountId is a required field
20641	AdminAccountId *string `type:"string" required:"true"`
20642}
20643
20644// String returns the string representation
20645func (s DisableOrganizationAdminAccountInput) String() string {
20646	return awsutil.Prettify(s)
20647}
20648
20649// GoString returns the string representation
20650func (s DisableOrganizationAdminAccountInput) GoString() string {
20651	return s.String()
20652}
20653
20654// Validate inspects the fields of the type to determine if they are valid.
20655func (s *DisableOrganizationAdminAccountInput) Validate() error {
20656	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
20657	if s.AdminAccountId == nil {
20658		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
20659	}
20660
20661	if invalidParams.Len() > 0 {
20662		return invalidParams
20663	}
20664	return nil
20665}
20666
20667// SetAdminAccountId sets the AdminAccountId field's value.
20668func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
20669	s.AdminAccountId = &v
20670	return s
20671}
20672
20673type DisableOrganizationAdminAccountOutput struct {
20674	_ struct{} `type:"structure"`
20675}
20676
20677// String returns the string representation
20678func (s DisableOrganizationAdminAccountOutput) String() string {
20679	return awsutil.Prettify(s)
20680}
20681
20682// GoString returns the string representation
20683func (s DisableOrganizationAdminAccountOutput) GoString() string {
20684	return s.String()
20685}
20686
20687type DisableSecurityHubInput struct {
20688	_ struct{} `type:"structure"`
20689}
20690
20691// String returns the string representation
20692func (s DisableSecurityHubInput) String() string {
20693	return awsutil.Prettify(s)
20694}
20695
20696// GoString returns the string representation
20697func (s DisableSecurityHubInput) GoString() string {
20698	return s.String()
20699}
20700
20701type DisableSecurityHubOutput struct {
20702	_ struct{} `type:"structure"`
20703}
20704
20705// String returns the string representation
20706func (s DisableSecurityHubOutput) String() string {
20707	return awsutil.Prettify(s)
20708}
20709
20710// GoString returns the string representation
20711func (s DisableSecurityHubOutput) GoString() string {
20712	return s.String()
20713}
20714
20715type DisassociateFromMasterAccountInput struct {
20716	_ struct{} `type:"structure"`
20717}
20718
20719// String returns the string representation
20720func (s DisassociateFromMasterAccountInput) String() string {
20721	return awsutil.Prettify(s)
20722}
20723
20724// GoString returns the string representation
20725func (s DisassociateFromMasterAccountInput) GoString() string {
20726	return s.String()
20727}
20728
20729type DisassociateFromMasterAccountOutput struct {
20730	_ struct{} `type:"structure"`
20731}
20732
20733// String returns the string representation
20734func (s DisassociateFromMasterAccountOutput) String() string {
20735	return awsutil.Prettify(s)
20736}
20737
20738// GoString returns the string representation
20739func (s DisassociateFromMasterAccountOutput) GoString() string {
20740	return s.String()
20741}
20742
20743type DisassociateMembersInput struct {
20744	_ struct{} `type:"structure"`
20745
20746	// The account IDs of the member accounts to disassociate from the master account.
20747	//
20748	// AccountIds is a required field
20749	AccountIds []*string `type:"list" required:"true"`
20750}
20751
20752// String returns the string representation
20753func (s DisassociateMembersInput) String() string {
20754	return awsutil.Prettify(s)
20755}
20756
20757// GoString returns the string representation
20758func (s DisassociateMembersInput) GoString() string {
20759	return s.String()
20760}
20761
20762// Validate inspects the fields of the type to determine if they are valid.
20763func (s *DisassociateMembersInput) Validate() error {
20764	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
20765	if s.AccountIds == nil {
20766		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
20767	}
20768
20769	if invalidParams.Len() > 0 {
20770		return invalidParams
20771	}
20772	return nil
20773}
20774
20775// SetAccountIds sets the AccountIds field's value.
20776func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
20777	s.AccountIds = v
20778	return s
20779}
20780
20781type DisassociateMembersOutput struct {
20782	_ struct{} `type:"structure"`
20783}
20784
20785// String returns the string representation
20786func (s DisassociateMembersOutput) String() string {
20787	return awsutil.Prettify(s)
20788}
20789
20790// GoString returns the string representation
20791func (s DisassociateMembersOutput) GoString() string {
20792	return s.String()
20793}
20794
20795// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
20796// request that was detected.
20797type DnsRequestAction struct {
20798	_ struct{} `type:"structure"`
20799
20800	// Indicates whether the DNS request was blocked.
20801	Blocked *bool `type:"boolean"`
20802
20803	// The DNS domain that is associated with the DNS request.
20804	Domain *string `type:"string"`
20805
20806	// The protocol that was used for the DNS request.
20807	Protocol *string `type:"string"`
20808}
20809
20810// String returns the string representation
20811func (s DnsRequestAction) String() string {
20812	return awsutil.Prettify(s)
20813}
20814
20815// GoString returns the string representation
20816func (s DnsRequestAction) GoString() string {
20817	return s.String()
20818}
20819
20820// SetBlocked sets the Blocked field's value.
20821func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
20822	s.Blocked = &v
20823	return s
20824}
20825
20826// SetDomain sets the Domain field's value.
20827func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
20828	s.Domain = &v
20829	return s
20830}
20831
20832// SetProtocol sets the Protocol field's value.
20833func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
20834	s.Protocol = &v
20835	return s
20836}
20837
20838type EnableImportFindingsForProductInput struct {
20839	_ struct{} `type:"structure"`
20840
20841	// The ARN of the product to enable the integration for.
20842	//
20843	// ProductArn is a required field
20844	ProductArn *string `type:"string" required:"true"`
20845}
20846
20847// String returns the string representation
20848func (s EnableImportFindingsForProductInput) String() string {
20849	return awsutil.Prettify(s)
20850}
20851
20852// GoString returns the string representation
20853func (s EnableImportFindingsForProductInput) GoString() string {
20854	return s.String()
20855}
20856
20857// Validate inspects the fields of the type to determine if they are valid.
20858func (s *EnableImportFindingsForProductInput) Validate() error {
20859	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
20860	if s.ProductArn == nil {
20861		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
20862	}
20863
20864	if invalidParams.Len() > 0 {
20865		return invalidParams
20866	}
20867	return nil
20868}
20869
20870// SetProductArn sets the ProductArn field's value.
20871func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
20872	s.ProductArn = &v
20873	return s
20874}
20875
20876type EnableImportFindingsForProductOutput struct {
20877	_ struct{} `type:"structure"`
20878
20879	// The ARN of your subscription to the product to enable integrations for.
20880	ProductSubscriptionArn *string `type:"string"`
20881}
20882
20883// String returns the string representation
20884func (s EnableImportFindingsForProductOutput) String() string {
20885	return awsutil.Prettify(s)
20886}
20887
20888// GoString returns the string representation
20889func (s EnableImportFindingsForProductOutput) GoString() string {
20890	return s.String()
20891}
20892
20893// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
20894func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
20895	s.ProductSubscriptionArn = &v
20896	return s
20897}
20898
20899type EnableOrganizationAdminAccountInput struct {
20900	_ struct{} `type:"structure"`
20901
20902	// The AWS account identifier of the account to designate as the Security Hub
20903	// administrator account.
20904	//
20905	// AdminAccountId is a required field
20906	AdminAccountId *string `type:"string" required:"true"`
20907}
20908
20909// String returns the string representation
20910func (s EnableOrganizationAdminAccountInput) String() string {
20911	return awsutil.Prettify(s)
20912}
20913
20914// GoString returns the string representation
20915func (s EnableOrganizationAdminAccountInput) GoString() string {
20916	return s.String()
20917}
20918
20919// Validate inspects the fields of the type to determine if they are valid.
20920func (s *EnableOrganizationAdminAccountInput) Validate() error {
20921	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
20922	if s.AdminAccountId == nil {
20923		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
20924	}
20925
20926	if invalidParams.Len() > 0 {
20927		return invalidParams
20928	}
20929	return nil
20930}
20931
20932// SetAdminAccountId sets the AdminAccountId field's value.
20933func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
20934	s.AdminAccountId = &v
20935	return s
20936}
20937
20938type EnableOrganizationAdminAccountOutput struct {
20939	_ struct{} `type:"structure"`
20940}
20941
20942// String returns the string representation
20943func (s EnableOrganizationAdminAccountOutput) String() string {
20944	return awsutil.Prettify(s)
20945}
20946
20947// GoString returns the string representation
20948func (s EnableOrganizationAdminAccountOutput) GoString() string {
20949	return s.String()
20950}
20951
20952type EnableSecurityHubInput struct {
20953	_ struct{} `type:"structure"`
20954
20955	// Whether to enable the security standards that Security Hub has designated
20956	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
20957	// it is set to true. To not enable the automatically enabled standards, set
20958	// EnableDefaultStandards to false.
20959	EnableDefaultStandards *bool `type:"boolean"`
20960
20961	// The tags to add to the hub resource when you enable Security Hub.
20962	Tags map[string]*string `min:"1" type:"map"`
20963}
20964
20965// String returns the string representation
20966func (s EnableSecurityHubInput) String() string {
20967	return awsutil.Prettify(s)
20968}
20969
20970// GoString returns the string representation
20971func (s EnableSecurityHubInput) GoString() string {
20972	return s.String()
20973}
20974
20975// Validate inspects the fields of the type to determine if they are valid.
20976func (s *EnableSecurityHubInput) Validate() error {
20977	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
20978	if s.Tags != nil && len(s.Tags) < 1 {
20979		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
20980	}
20981
20982	if invalidParams.Len() > 0 {
20983		return invalidParams
20984	}
20985	return nil
20986}
20987
20988// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
20989func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
20990	s.EnableDefaultStandards = &v
20991	return s
20992}
20993
20994// SetTags sets the Tags field's value.
20995func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
20996	s.Tags = v
20997	return s
20998}
20999
21000type EnableSecurityHubOutput struct {
21001	_ struct{} `type:"structure"`
21002}
21003
21004// String returns the string representation
21005func (s EnableSecurityHubOutput) String() string {
21006	return awsutil.Prettify(s)
21007}
21008
21009// GoString returns the string representation
21010func (s EnableSecurityHubOutput) GoString() string {
21011	return s.String()
21012}
21013
21014// Provides the latitude and longitude coordinates of a location.
21015type GeoLocation struct {
21016	_ struct{} `type:"structure"`
21017
21018	// The latitude of the location.
21019	Lat *float64 `type:"double"`
21020
21021	// The longitude of the location.
21022	Lon *float64 `type:"double"`
21023}
21024
21025// String returns the string representation
21026func (s GeoLocation) String() string {
21027	return awsutil.Prettify(s)
21028}
21029
21030// GoString returns the string representation
21031func (s GeoLocation) GoString() string {
21032	return s.String()
21033}
21034
21035// SetLat sets the Lat field's value.
21036func (s *GeoLocation) SetLat(v float64) *GeoLocation {
21037	s.Lat = &v
21038	return s
21039}
21040
21041// SetLon sets the Lon field's value.
21042func (s *GeoLocation) SetLon(v float64) *GeoLocation {
21043	s.Lon = &v
21044	return s
21045}
21046
21047type GetEnabledStandardsInput struct {
21048	_ struct{} `type:"structure"`
21049
21050	// The maximum number of results to return in the response.
21051	MaxResults *int64 `min:"1" type:"integer"`
21052
21053	// The token that is required for pagination. On your first call to the GetEnabledStandards
21054	// operation, set the value of this parameter to NULL.
21055	//
21056	// For subsequent calls to the operation, to continue listing data, set the
21057	// value of this parameter to the value returned from the previous response.
21058	NextToken *string `type:"string"`
21059
21060	// The list of the standards subscription ARNs for the standards to retrieve.
21061	StandardsSubscriptionArns []*string `min:"1" type:"list"`
21062}
21063
21064// String returns the string representation
21065func (s GetEnabledStandardsInput) String() string {
21066	return awsutil.Prettify(s)
21067}
21068
21069// GoString returns the string representation
21070func (s GetEnabledStandardsInput) GoString() string {
21071	return s.String()
21072}
21073
21074// Validate inspects the fields of the type to determine if they are valid.
21075func (s *GetEnabledStandardsInput) Validate() error {
21076	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
21077	if s.MaxResults != nil && *s.MaxResults < 1 {
21078		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21079	}
21080	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
21081		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
21082	}
21083
21084	if invalidParams.Len() > 0 {
21085		return invalidParams
21086	}
21087	return nil
21088}
21089
21090// SetMaxResults sets the MaxResults field's value.
21091func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
21092	s.MaxResults = &v
21093	return s
21094}
21095
21096// SetNextToken sets the NextToken field's value.
21097func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
21098	s.NextToken = &v
21099	return s
21100}
21101
21102// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
21103func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
21104	s.StandardsSubscriptionArns = v
21105	return s
21106}
21107
21108type GetEnabledStandardsOutput struct {
21109	_ struct{} `type:"structure"`
21110
21111	// The pagination token to use to request the next page of results.
21112	NextToken *string `type:"string"`
21113
21114	// The list of StandardsSubscriptions objects that include information about
21115	// the enabled standards.
21116	StandardsSubscriptions []*StandardsSubscription `type:"list"`
21117}
21118
21119// String returns the string representation
21120func (s GetEnabledStandardsOutput) String() string {
21121	return awsutil.Prettify(s)
21122}
21123
21124// GoString returns the string representation
21125func (s GetEnabledStandardsOutput) GoString() string {
21126	return s.String()
21127}
21128
21129// SetNextToken sets the NextToken field's value.
21130func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
21131	s.NextToken = &v
21132	return s
21133}
21134
21135// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
21136func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
21137	s.StandardsSubscriptions = v
21138	return s
21139}
21140
21141type GetFindingsInput struct {
21142	_ struct{} `type:"structure"`
21143
21144	// The finding attributes used to define a condition to filter the returned
21145	// findings.
21146	//
21147	// You can filter by up to 10 finding attributes. For each attribute, you can
21148	// provide up to 20 filter values.
21149	//
21150	// Note that in the available filter fields, WorkflowState is deprecated. To
21151	// search for a finding based on its workflow status, use WorkflowStatus.
21152	Filters *AwsSecurityFindingFilters `type:"structure"`
21153
21154	// The maximum number of findings to return.
21155	MaxResults *int64 `min:"1" type:"integer"`
21156
21157	// The token that is required for pagination. On your first call to the GetFindings
21158	// operation, set the value of this parameter to NULL.
21159	//
21160	// For subsequent calls to the operation, to continue listing data, set the
21161	// value of this parameter to the value returned from the previous response.
21162	NextToken *string `type:"string"`
21163
21164	// The finding attributes used to sort the list of returned findings.
21165	SortCriteria []*SortCriterion `type:"list"`
21166}
21167
21168// String returns the string representation
21169func (s GetFindingsInput) String() string {
21170	return awsutil.Prettify(s)
21171}
21172
21173// GoString returns the string representation
21174func (s GetFindingsInput) GoString() string {
21175	return s.String()
21176}
21177
21178// Validate inspects the fields of the type to determine if they are valid.
21179func (s *GetFindingsInput) Validate() error {
21180	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
21181	if s.MaxResults != nil && *s.MaxResults < 1 {
21182		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21183	}
21184
21185	if invalidParams.Len() > 0 {
21186		return invalidParams
21187	}
21188	return nil
21189}
21190
21191// SetFilters sets the Filters field's value.
21192func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
21193	s.Filters = v
21194	return s
21195}
21196
21197// SetMaxResults sets the MaxResults field's value.
21198func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
21199	s.MaxResults = &v
21200	return s
21201}
21202
21203// SetNextToken sets the NextToken field's value.
21204func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
21205	s.NextToken = &v
21206	return s
21207}
21208
21209// SetSortCriteria sets the SortCriteria field's value.
21210func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
21211	s.SortCriteria = v
21212	return s
21213}
21214
21215type GetFindingsOutput struct {
21216	_ struct{} `type:"structure"`
21217
21218	// The findings that matched the filters specified in the request.
21219	//
21220	// Findings is a required field
21221	Findings []*AwsSecurityFinding `type:"list" required:"true"`
21222
21223	// The pagination token to use to request the next page of results.
21224	NextToken *string `type:"string"`
21225}
21226
21227// String returns the string representation
21228func (s GetFindingsOutput) String() string {
21229	return awsutil.Prettify(s)
21230}
21231
21232// GoString returns the string representation
21233func (s GetFindingsOutput) GoString() string {
21234	return s.String()
21235}
21236
21237// SetFindings sets the Findings field's value.
21238func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
21239	s.Findings = v
21240	return s
21241}
21242
21243// SetNextToken sets the NextToken field's value.
21244func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
21245	s.NextToken = &v
21246	return s
21247}
21248
21249type GetInsightResultsInput struct {
21250	_ struct{} `type:"structure"`
21251
21252	// The ARN of the insight for which to return results.
21253	//
21254	// InsightArn is a required field
21255	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
21256}
21257
21258// String returns the string representation
21259func (s GetInsightResultsInput) String() string {
21260	return awsutil.Prettify(s)
21261}
21262
21263// GoString returns the string representation
21264func (s GetInsightResultsInput) GoString() string {
21265	return s.String()
21266}
21267
21268// Validate inspects the fields of the type to determine if they are valid.
21269func (s *GetInsightResultsInput) Validate() error {
21270	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
21271	if s.InsightArn == nil {
21272		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
21273	}
21274	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
21275		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
21276	}
21277
21278	if invalidParams.Len() > 0 {
21279		return invalidParams
21280	}
21281	return nil
21282}
21283
21284// SetInsightArn sets the InsightArn field's value.
21285func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
21286	s.InsightArn = &v
21287	return s
21288}
21289
21290type GetInsightResultsOutput struct {
21291	_ struct{} `type:"structure"`
21292
21293	// The insight results returned by the operation.
21294	//
21295	// InsightResults is a required field
21296	InsightResults *InsightResults `type:"structure" required:"true"`
21297}
21298
21299// String returns the string representation
21300func (s GetInsightResultsOutput) String() string {
21301	return awsutil.Prettify(s)
21302}
21303
21304// GoString returns the string representation
21305func (s GetInsightResultsOutput) GoString() string {
21306	return s.String()
21307}
21308
21309// SetInsightResults sets the InsightResults field's value.
21310func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
21311	s.InsightResults = v
21312	return s
21313}
21314
21315type GetInsightsInput struct {
21316	_ struct{} `type:"structure"`
21317
21318	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
21319	// then GetInsights returns all of your custom insights. It does not return
21320	// any managed insights.
21321	InsightArns []*string `type:"list"`
21322
21323	// The maximum number of items to return in the response.
21324	MaxResults *int64 `min:"1" type:"integer"`
21325
21326	// The token that is required for pagination. On your first call to the GetInsights
21327	// operation, set the value of this parameter to NULL.
21328	//
21329	// For subsequent calls to the operation, to continue listing data, set the
21330	// value of this parameter to the value returned from the previous response.
21331	NextToken *string `type:"string"`
21332}
21333
21334// String returns the string representation
21335func (s GetInsightsInput) String() string {
21336	return awsutil.Prettify(s)
21337}
21338
21339// GoString returns the string representation
21340func (s GetInsightsInput) GoString() string {
21341	return s.String()
21342}
21343
21344// Validate inspects the fields of the type to determine if they are valid.
21345func (s *GetInsightsInput) Validate() error {
21346	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
21347	if s.MaxResults != nil && *s.MaxResults < 1 {
21348		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21349	}
21350
21351	if invalidParams.Len() > 0 {
21352		return invalidParams
21353	}
21354	return nil
21355}
21356
21357// SetInsightArns sets the InsightArns field's value.
21358func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
21359	s.InsightArns = v
21360	return s
21361}
21362
21363// SetMaxResults sets the MaxResults field's value.
21364func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
21365	s.MaxResults = &v
21366	return s
21367}
21368
21369// SetNextToken sets the NextToken field's value.
21370func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
21371	s.NextToken = &v
21372	return s
21373}
21374
21375type GetInsightsOutput struct {
21376	_ struct{} `type:"structure"`
21377
21378	// The insights returned by the operation.
21379	//
21380	// Insights is a required field
21381	Insights []*Insight `type:"list" required:"true"`
21382
21383	// The pagination token to use to request the next page of results.
21384	NextToken *string `type:"string"`
21385}
21386
21387// String returns the string representation
21388func (s GetInsightsOutput) String() string {
21389	return awsutil.Prettify(s)
21390}
21391
21392// GoString returns the string representation
21393func (s GetInsightsOutput) GoString() string {
21394	return s.String()
21395}
21396
21397// SetInsights sets the Insights field's value.
21398func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
21399	s.Insights = v
21400	return s
21401}
21402
21403// SetNextToken sets the NextToken field's value.
21404func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
21405	s.NextToken = &v
21406	return s
21407}
21408
21409type GetInvitationsCountInput struct {
21410	_ struct{} `type:"structure"`
21411}
21412
21413// String returns the string representation
21414func (s GetInvitationsCountInput) String() string {
21415	return awsutil.Prettify(s)
21416}
21417
21418// GoString returns the string representation
21419func (s GetInvitationsCountInput) GoString() string {
21420	return s.String()
21421}
21422
21423type GetInvitationsCountOutput struct {
21424	_ struct{} `type:"structure"`
21425
21426	// The number of all membership invitations sent to this Security Hub member
21427	// account, not including the currently accepted invitation.
21428	InvitationsCount *int64 `type:"integer"`
21429}
21430
21431// String returns the string representation
21432func (s GetInvitationsCountOutput) String() string {
21433	return awsutil.Prettify(s)
21434}
21435
21436// GoString returns the string representation
21437func (s GetInvitationsCountOutput) GoString() string {
21438	return s.String()
21439}
21440
21441// SetInvitationsCount sets the InvitationsCount field's value.
21442func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
21443	s.InvitationsCount = &v
21444	return s
21445}
21446
21447type GetMasterAccountInput struct {
21448	_ struct{} `type:"structure"`
21449}
21450
21451// String returns the string representation
21452func (s GetMasterAccountInput) String() string {
21453	return awsutil.Prettify(s)
21454}
21455
21456// GoString returns the string representation
21457func (s GetMasterAccountInput) GoString() string {
21458	return s.String()
21459}
21460
21461type GetMasterAccountOutput struct {
21462	_ struct{} `type:"structure"`
21463
21464	// A list of details about the Security Hub master account for the current member
21465	// account.
21466	Master *Invitation `type:"structure"`
21467}
21468
21469// String returns the string representation
21470func (s GetMasterAccountOutput) String() string {
21471	return awsutil.Prettify(s)
21472}
21473
21474// GoString returns the string representation
21475func (s GetMasterAccountOutput) GoString() string {
21476	return s.String()
21477}
21478
21479// SetMaster sets the Master field's value.
21480func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
21481	s.Master = v
21482	return s
21483}
21484
21485type GetMembersInput struct {
21486	_ struct{} `type:"structure"`
21487
21488	// The list of account IDs for the Security Hub member accounts to return the
21489	// details for.
21490	//
21491	// AccountIds is a required field
21492	AccountIds []*string `type:"list" required:"true"`
21493}
21494
21495// String returns the string representation
21496func (s GetMembersInput) String() string {
21497	return awsutil.Prettify(s)
21498}
21499
21500// GoString returns the string representation
21501func (s GetMembersInput) GoString() string {
21502	return s.String()
21503}
21504
21505// Validate inspects the fields of the type to determine if they are valid.
21506func (s *GetMembersInput) Validate() error {
21507	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
21508	if s.AccountIds == nil {
21509		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
21510	}
21511
21512	if invalidParams.Len() > 0 {
21513		return invalidParams
21514	}
21515	return nil
21516}
21517
21518// SetAccountIds sets the AccountIds field's value.
21519func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
21520	s.AccountIds = v
21521	return s
21522}
21523
21524type GetMembersOutput struct {
21525	_ struct{} `type:"structure"`
21526
21527	// The list of details about the Security Hub member accounts.
21528	Members []*Member `type:"list"`
21529
21530	// The list of AWS accounts that could not be processed. For each account, the
21531	// list includes the account ID and the email address.
21532	UnprocessedAccounts []*Result `type:"list"`
21533}
21534
21535// String returns the string representation
21536func (s GetMembersOutput) String() string {
21537	return awsutil.Prettify(s)
21538}
21539
21540// GoString returns the string representation
21541func (s GetMembersOutput) GoString() string {
21542	return s.String()
21543}
21544
21545// SetMembers sets the Members field's value.
21546func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
21547	s.Members = v
21548	return s
21549}
21550
21551// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
21552func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
21553	s.UnprocessedAccounts = v
21554	return s
21555}
21556
21557// The list of the findings that cannot be imported. For each finding, the list
21558// provides the error.
21559type ImportFindingsError struct {
21560	_ struct{} `type:"structure"`
21561
21562	// The code of the error returned by the BatchImportFindings operation.
21563	//
21564	// ErrorCode is a required field
21565	ErrorCode *string `type:"string" required:"true"`
21566
21567	// The message of the error returned by the BatchImportFindings operation.
21568	//
21569	// ErrorMessage is a required field
21570	ErrorMessage *string `type:"string" required:"true"`
21571
21572	// The identifier of the finding that could not be updated.
21573	//
21574	// Id is a required field
21575	Id *string `type:"string" required:"true"`
21576}
21577
21578// String returns the string representation
21579func (s ImportFindingsError) String() string {
21580	return awsutil.Prettify(s)
21581}
21582
21583// GoString returns the string representation
21584func (s ImportFindingsError) GoString() string {
21585	return s.String()
21586}
21587
21588// SetErrorCode sets the ErrorCode field's value.
21589func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
21590	s.ErrorCode = &v
21591	return s
21592}
21593
21594// SetErrorMessage sets the ErrorMessage field's value.
21595func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
21596	s.ErrorMessage = &v
21597	return s
21598}
21599
21600// SetId sets the Id field's value.
21601func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
21602	s.Id = &v
21603	return s
21604}
21605
21606// Contains information about a Security Hub insight.
21607type Insight struct {
21608	_ struct{} `type:"structure"`
21609
21610	// One or more attributes used to filter the findings included in the insight.
21611	// The insight only includes findings that match the criteria defined in the
21612	// filters.
21613	//
21614	// Filters is a required field
21615	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
21616
21617	// The grouping attribute for the insight's findings. Indicates how to group
21618	// the matching findings, and identifies the type of item that the insight applies
21619	// to. For example, if an insight is grouped by resource identifier, then the
21620	// insight produces a list of resource identifiers.
21621	//
21622	// GroupByAttribute is a required field
21623	GroupByAttribute *string `type:"string" required:"true"`
21624
21625	// The ARN of a Security Hub insight.
21626	//
21627	// InsightArn is a required field
21628	InsightArn *string `type:"string" required:"true"`
21629
21630	// The name of a Security Hub insight.
21631	//
21632	// Name is a required field
21633	Name *string `type:"string" required:"true"`
21634}
21635
21636// String returns the string representation
21637func (s Insight) String() string {
21638	return awsutil.Prettify(s)
21639}
21640
21641// GoString returns the string representation
21642func (s Insight) GoString() string {
21643	return s.String()
21644}
21645
21646// SetFilters sets the Filters field's value.
21647func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
21648	s.Filters = v
21649	return s
21650}
21651
21652// SetGroupByAttribute sets the GroupByAttribute field's value.
21653func (s *Insight) SetGroupByAttribute(v string) *Insight {
21654	s.GroupByAttribute = &v
21655	return s
21656}
21657
21658// SetInsightArn sets the InsightArn field's value.
21659func (s *Insight) SetInsightArn(v string) *Insight {
21660	s.InsightArn = &v
21661	return s
21662}
21663
21664// SetName sets the Name field's value.
21665func (s *Insight) SetName(v string) *Insight {
21666	s.Name = &v
21667	return s
21668}
21669
21670// The insight result values returned by the GetInsightResults operation.
21671type InsightResultValue struct {
21672	_ struct{} `type:"structure"`
21673
21674	// The number of findings returned for each GroupByAttributeValue.
21675	//
21676	// Count is a required field
21677	Count *int64 `type:"integer" required:"true"`
21678
21679	// The value of the attribute that the findings are grouped by for the insight
21680	// whose results are returned by the GetInsightResults operation.
21681	//
21682	// GroupByAttributeValue is a required field
21683	GroupByAttributeValue *string `type:"string" required:"true"`
21684}
21685
21686// String returns the string representation
21687func (s InsightResultValue) String() string {
21688	return awsutil.Prettify(s)
21689}
21690
21691// GoString returns the string representation
21692func (s InsightResultValue) GoString() string {
21693	return s.String()
21694}
21695
21696// SetCount sets the Count field's value.
21697func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
21698	s.Count = &v
21699	return s
21700}
21701
21702// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
21703func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
21704	s.GroupByAttributeValue = &v
21705	return s
21706}
21707
21708// The insight results returned by the GetInsightResults operation.
21709type InsightResults struct {
21710	_ struct{} `type:"structure"`
21711
21712	// The attribute that the findings are grouped by for the insight whose results
21713	// are returned by the GetInsightResults operation.
21714	//
21715	// GroupByAttribute is a required field
21716	GroupByAttribute *string `type:"string" required:"true"`
21717
21718	// The ARN of the insight whose results are returned by the GetInsightResults
21719	// operation.
21720	//
21721	// InsightArn is a required field
21722	InsightArn *string `type:"string" required:"true"`
21723
21724	// The list of insight result values returned by the GetInsightResults operation.
21725	//
21726	// ResultValues is a required field
21727	ResultValues []*InsightResultValue `type:"list" required:"true"`
21728}
21729
21730// String returns the string representation
21731func (s InsightResults) String() string {
21732	return awsutil.Prettify(s)
21733}
21734
21735// GoString returns the string representation
21736func (s InsightResults) GoString() string {
21737	return s.String()
21738}
21739
21740// SetGroupByAttribute sets the GroupByAttribute field's value.
21741func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
21742	s.GroupByAttribute = &v
21743	return s
21744}
21745
21746// SetInsightArn sets the InsightArn field's value.
21747func (s *InsightResults) SetInsightArn(v string) *InsightResults {
21748	s.InsightArn = &v
21749	return s
21750}
21751
21752// SetResultValues sets the ResultValues field's value.
21753func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
21754	s.ResultValues = v
21755	return s
21756}
21757
21758// Internal server error.
21759type InternalException struct {
21760	_            struct{}                  `type:"structure"`
21761	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21762
21763	Code_ *string `locationName:"Code" type:"string"`
21764
21765	Message_ *string `locationName:"Message" type:"string"`
21766}
21767
21768// String returns the string representation
21769func (s InternalException) String() string {
21770	return awsutil.Prettify(s)
21771}
21772
21773// GoString returns the string representation
21774func (s InternalException) GoString() string {
21775	return s.String()
21776}
21777
21778func newErrorInternalException(v protocol.ResponseMetadata) error {
21779	return &InternalException{
21780		RespMetadata: v,
21781	}
21782}
21783
21784// Code returns the exception type name.
21785func (s *InternalException) Code() string {
21786	return "InternalException"
21787}
21788
21789// Message returns the exception's message.
21790func (s *InternalException) Message() string {
21791	if s.Message_ != nil {
21792		return *s.Message_
21793	}
21794	return ""
21795}
21796
21797// OrigErr always returns nil, satisfies awserr.Error interface.
21798func (s *InternalException) OrigErr() error {
21799	return nil
21800}
21801
21802func (s *InternalException) Error() string {
21803	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
21804}
21805
21806// Status code returns the HTTP status code for the request's response error.
21807func (s *InternalException) StatusCode() int {
21808	return s.RespMetadata.StatusCode
21809}
21810
21811// RequestID returns the service's response RequestID for request.
21812func (s *InternalException) RequestID() string {
21813	return s.RespMetadata.RequestID
21814}
21815
21816// There is an issue with the account used to make the request. Either Security
21817// Hub is not enabled for the account, or the account does not have permission
21818// to perform this action.
21819type InvalidAccessException struct {
21820	_            struct{}                  `type:"structure"`
21821	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21822
21823	Code_ *string `locationName:"Code" type:"string"`
21824
21825	Message_ *string `locationName:"Message" type:"string"`
21826}
21827
21828// String returns the string representation
21829func (s InvalidAccessException) String() string {
21830	return awsutil.Prettify(s)
21831}
21832
21833// GoString returns the string representation
21834func (s InvalidAccessException) GoString() string {
21835	return s.String()
21836}
21837
21838func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
21839	return &InvalidAccessException{
21840		RespMetadata: v,
21841	}
21842}
21843
21844// Code returns the exception type name.
21845func (s *InvalidAccessException) Code() string {
21846	return "InvalidAccessException"
21847}
21848
21849// Message returns the exception's message.
21850func (s *InvalidAccessException) Message() string {
21851	if s.Message_ != nil {
21852		return *s.Message_
21853	}
21854	return ""
21855}
21856
21857// OrigErr always returns nil, satisfies awserr.Error interface.
21858func (s *InvalidAccessException) OrigErr() error {
21859	return nil
21860}
21861
21862func (s *InvalidAccessException) Error() string {
21863	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
21864}
21865
21866// Status code returns the HTTP status code for the request's response error.
21867func (s *InvalidAccessException) StatusCode() int {
21868	return s.RespMetadata.StatusCode
21869}
21870
21871// RequestID returns the service's response RequestID for request.
21872func (s *InvalidAccessException) RequestID() string {
21873	return s.RespMetadata.RequestID
21874}
21875
21876// The request was rejected because you supplied an invalid or out-of-range
21877// value for an input parameter.
21878type InvalidInputException struct {
21879	_            struct{}                  `type:"structure"`
21880	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21881
21882	Code_ *string `locationName:"Code" type:"string"`
21883
21884	Message_ *string `locationName:"Message" type:"string"`
21885}
21886
21887// String returns the string representation
21888func (s InvalidInputException) String() string {
21889	return awsutil.Prettify(s)
21890}
21891
21892// GoString returns the string representation
21893func (s InvalidInputException) GoString() string {
21894	return s.String()
21895}
21896
21897func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
21898	return &InvalidInputException{
21899		RespMetadata: v,
21900	}
21901}
21902
21903// Code returns the exception type name.
21904func (s *InvalidInputException) Code() string {
21905	return "InvalidInputException"
21906}
21907
21908// Message returns the exception's message.
21909func (s *InvalidInputException) Message() string {
21910	if s.Message_ != nil {
21911		return *s.Message_
21912	}
21913	return ""
21914}
21915
21916// OrigErr always returns nil, satisfies awserr.Error interface.
21917func (s *InvalidInputException) OrigErr() error {
21918	return nil
21919}
21920
21921func (s *InvalidInputException) Error() string {
21922	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
21923}
21924
21925// Status code returns the HTTP status code for the request's response error.
21926func (s *InvalidInputException) StatusCode() int {
21927	return s.RespMetadata.StatusCode
21928}
21929
21930// RequestID returns the service's response RequestID for request.
21931func (s *InvalidInputException) RequestID() string {
21932	return s.RespMetadata.RequestID
21933}
21934
21935// Details about an invitation.
21936type Invitation struct {
21937	_ struct{} `type:"structure"`
21938
21939	// The account ID of the Security Hub master account that the invitation was
21940	// sent from.
21941	AccountId *string `type:"string"`
21942
21943	// The ID of the invitation sent to the member account.
21944	InvitationId *string `type:"string"`
21945
21946	// The timestamp of when the invitation was sent.
21947	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
21948
21949	// The current status of the association between the member and master accounts.
21950	MemberStatus *string `type:"string"`
21951}
21952
21953// String returns the string representation
21954func (s Invitation) String() string {
21955	return awsutil.Prettify(s)
21956}
21957
21958// GoString returns the string representation
21959func (s Invitation) GoString() string {
21960	return s.String()
21961}
21962
21963// SetAccountId sets the AccountId field's value.
21964func (s *Invitation) SetAccountId(v string) *Invitation {
21965	s.AccountId = &v
21966	return s
21967}
21968
21969// SetInvitationId sets the InvitationId field's value.
21970func (s *Invitation) SetInvitationId(v string) *Invitation {
21971	s.InvitationId = &v
21972	return s
21973}
21974
21975// SetInvitedAt sets the InvitedAt field's value.
21976func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
21977	s.InvitedAt = &v
21978	return s
21979}
21980
21981// SetMemberStatus sets the MemberStatus field's value.
21982func (s *Invitation) SetMemberStatus(v string) *Invitation {
21983	s.MemberStatus = &v
21984	return s
21985}
21986
21987type InviteMembersInput struct {
21988	_ struct{} `type:"structure"`
21989
21990	// The list of account IDs of the AWS accounts to invite to Security Hub as
21991	// members.
21992	//
21993	// AccountIds is a required field
21994	AccountIds []*string `type:"list" required:"true"`
21995}
21996
21997// String returns the string representation
21998func (s InviteMembersInput) String() string {
21999	return awsutil.Prettify(s)
22000}
22001
22002// GoString returns the string representation
22003func (s InviteMembersInput) GoString() string {
22004	return s.String()
22005}
22006
22007// Validate inspects the fields of the type to determine if they are valid.
22008func (s *InviteMembersInput) Validate() error {
22009	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
22010	if s.AccountIds == nil {
22011		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
22012	}
22013
22014	if invalidParams.Len() > 0 {
22015		return invalidParams
22016	}
22017	return nil
22018}
22019
22020// SetAccountIds sets the AccountIds field's value.
22021func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
22022	s.AccountIds = v
22023	return s
22024}
22025
22026type InviteMembersOutput struct {
22027	_ struct{} `type:"structure"`
22028
22029	// The list of AWS accounts that could not be processed. For each account, the
22030	// list includes the account ID and the email address.
22031	UnprocessedAccounts []*Result `type:"list"`
22032}
22033
22034// String returns the string representation
22035func (s InviteMembersOutput) String() string {
22036	return awsutil.Prettify(s)
22037}
22038
22039// GoString returns the string representation
22040func (s InviteMembersOutput) GoString() string {
22041	return s.String()
22042}
22043
22044// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
22045func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
22046	s.UnprocessedAccounts = v
22047	return s
22048}
22049
22050// The IP filter for querying findings.
22051type IpFilter struct {
22052	_ struct{} `type:"structure"`
22053
22054	// A finding's CIDR value.
22055	Cidr *string `type:"string"`
22056}
22057
22058// String returns the string representation
22059func (s IpFilter) String() string {
22060	return awsutil.Prettify(s)
22061}
22062
22063// GoString returns the string representation
22064func (s IpFilter) GoString() string {
22065	return s.String()
22066}
22067
22068// SetCidr sets the Cidr field's value.
22069func (s *IpFilter) SetCidr(v string) *IpFilter {
22070	s.Cidr = &v
22071	return s
22072}
22073
22074// Provides information about an internet provider.
22075type IpOrganizationDetails struct {
22076	_ struct{} `type:"structure"`
22077
22078	// The Autonomous System Number (ASN) of the internet provider
22079	Asn *int64 `type:"integer"`
22080
22081	// The name of the organization that registered the ASN.
22082	AsnOrg *string `type:"string"`
22083
22084	// The ISP information for the internet provider.
22085	Isp *string `type:"string"`
22086
22087	// The name of the internet provider.
22088	Org *string `type:"string"`
22089}
22090
22091// String returns the string representation
22092func (s IpOrganizationDetails) String() string {
22093	return awsutil.Prettify(s)
22094}
22095
22096// GoString returns the string representation
22097func (s IpOrganizationDetails) GoString() string {
22098	return s.String()
22099}
22100
22101// SetAsn sets the Asn field's value.
22102func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
22103	s.Asn = &v
22104	return s
22105}
22106
22107// SetAsnOrg sets the AsnOrg field's value.
22108func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
22109	s.AsnOrg = &v
22110	return s
22111}
22112
22113// SetIsp sets the Isp field's value.
22114func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
22115	s.Isp = &v
22116	return s
22117}
22118
22119// SetOrg sets the Org field's value.
22120func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
22121	s.Org = &v
22122	return s
22123}
22124
22125// An IPV6 CIDR block association.
22126type Ipv6CidrBlockAssociation struct {
22127	_ struct{} `type:"structure"`
22128
22129	// The association ID for the IPv6 CIDR block.
22130	AssociationId *string `type:"string"`
22131
22132	// Information about the state of the CIDR block.
22133	CidrBlockState *string `type:"string"`
22134
22135	// The IPv6 CIDR block.
22136	Ipv6CidrBlock *string `type:"string"`
22137}
22138
22139// String returns the string representation
22140func (s Ipv6CidrBlockAssociation) String() string {
22141	return awsutil.Prettify(s)
22142}
22143
22144// GoString returns the string representation
22145func (s Ipv6CidrBlockAssociation) GoString() string {
22146	return s.String()
22147}
22148
22149// SetAssociationId sets the AssociationId field's value.
22150func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
22151	s.AssociationId = &v
22152	return s
22153}
22154
22155// SetCidrBlockState sets the CidrBlockState field's value.
22156func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
22157	s.CidrBlockState = &v
22158	return s
22159}
22160
22161// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
22162func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
22163	s.Ipv6CidrBlock = &v
22164	return s
22165}
22166
22167// A keyword filter for querying findings.
22168type KeywordFilter struct {
22169	_ struct{} `type:"structure"`
22170
22171	// A value for the keyword.
22172	Value *string `type:"string"`
22173}
22174
22175// String returns the string representation
22176func (s KeywordFilter) String() string {
22177	return awsutil.Prettify(s)
22178}
22179
22180// GoString returns the string representation
22181func (s KeywordFilter) GoString() string {
22182	return s.String()
22183}
22184
22185// SetValue sets the Value field's value.
22186func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
22187	s.Value = &v
22188	return s
22189}
22190
22191// The request was rejected because it attempted to create resources beyond
22192// the current AWS account or throttling limits. The error code describes the
22193// limit exceeded.
22194type LimitExceededException struct {
22195	_            struct{}                  `type:"structure"`
22196	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22197
22198	Code_ *string `locationName:"Code" type:"string"`
22199
22200	Message_ *string `locationName:"Message" type:"string"`
22201}
22202
22203// String returns the string representation
22204func (s LimitExceededException) String() string {
22205	return awsutil.Prettify(s)
22206}
22207
22208// GoString returns the string representation
22209func (s LimitExceededException) GoString() string {
22210	return s.String()
22211}
22212
22213func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
22214	return &LimitExceededException{
22215		RespMetadata: v,
22216	}
22217}
22218
22219// Code returns the exception type name.
22220func (s *LimitExceededException) Code() string {
22221	return "LimitExceededException"
22222}
22223
22224// Message returns the exception's message.
22225func (s *LimitExceededException) Message() string {
22226	if s.Message_ != nil {
22227		return *s.Message_
22228	}
22229	return ""
22230}
22231
22232// OrigErr always returns nil, satisfies awserr.Error interface.
22233func (s *LimitExceededException) OrigErr() error {
22234	return nil
22235}
22236
22237func (s *LimitExceededException) Error() string {
22238	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22239}
22240
22241// Status code returns the HTTP status code for the request's response error.
22242func (s *LimitExceededException) StatusCode() int {
22243	return s.RespMetadata.StatusCode
22244}
22245
22246// RequestID returns the service's response RequestID for request.
22247func (s *LimitExceededException) RequestID() string {
22248	return s.RespMetadata.RequestID
22249}
22250
22251type ListEnabledProductsForImportInput struct {
22252	_ struct{} `type:"structure"`
22253
22254	// The maximum number of items to return in the response.
22255	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
22256
22257	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
22258	// operation, set the value of this parameter to NULL.
22259	//
22260	// For subsequent calls to the operation, to continue listing data, set the
22261	// value of this parameter to the value returned from the previous response.
22262	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
22263}
22264
22265// String returns the string representation
22266func (s ListEnabledProductsForImportInput) String() string {
22267	return awsutil.Prettify(s)
22268}
22269
22270// GoString returns the string representation
22271func (s ListEnabledProductsForImportInput) GoString() string {
22272	return s.String()
22273}
22274
22275// Validate inspects the fields of the type to determine if they are valid.
22276func (s *ListEnabledProductsForImportInput) Validate() error {
22277	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
22278	if s.MaxResults != nil && *s.MaxResults < 1 {
22279		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22280	}
22281
22282	if invalidParams.Len() > 0 {
22283		return invalidParams
22284	}
22285	return nil
22286}
22287
22288// SetMaxResults sets the MaxResults field's value.
22289func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
22290	s.MaxResults = &v
22291	return s
22292}
22293
22294// SetNextToken sets the NextToken field's value.
22295func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
22296	s.NextToken = &v
22297	return s
22298}
22299
22300type ListEnabledProductsForImportOutput struct {
22301	_ struct{} `type:"structure"`
22302
22303	// The pagination token to use to request the next page of results.
22304	NextToken *string `type:"string"`
22305
22306	// The list of ARNs for the resources that represent your subscriptions to products.
22307	ProductSubscriptions []*string `type:"list"`
22308}
22309
22310// String returns the string representation
22311func (s ListEnabledProductsForImportOutput) String() string {
22312	return awsutil.Prettify(s)
22313}
22314
22315// GoString returns the string representation
22316func (s ListEnabledProductsForImportOutput) GoString() string {
22317	return s.String()
22318}
22319
22320// SetNextToken sets the NextToken field's value.
22321func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
22322	s.NextToken = &v
22323	return s
22324}
22325
22326// SetProductSubscriptions sets the ProductSubscriptions field's value.
22327func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
22328	s.ProductSubscriptions = v
22329	return s
22330}
22331
22332type ListInvitationsInput struct {
22333	_ struct{} `type:"structure"`
22334
22335	// The maximum number of items to return in the response.
22336	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
22337
22338	// The token that is required for pagination. On your first call to the ListInvitations
22339	// operation, set the value of this parameter to NULL.
22340	//
22341	// For subsequent calls to the operation, to continue listing data, set the
22342	// value of this parameter to the value returned from the previous response.
22343	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
22344}
22345
22346// String returns the string representation
22347func (s ListInvitationsInput) String() string {
22348	return awsutil.Prettify(s)
22349}
22350
22351// GoString returns the string representation
22352func (s ListInvitationsInput) GoString() string {
22353	return s.String()
22354}
22355
22356// Validate inspects the fields of the type to determine if they are valid.
22357func (s *ListInvitationsInput) Validate() error {
22358	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
22359	if s.MaxResults != nil && *s.MaxResults < 1 {
22360		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22361	}
22362
22363	if invalidParams.Len() > 0 {
22364		return invalidParams
22365	}
22366	return nil
22367}
22368
22369// SetMaxResults sets the MaxResults field's value.
22370func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
22371	s.MaxResults = &v
22372	return s
22373}
22374
22375// SetNextToken sets the NextToken field's value.
22376func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
22377	s.NextToken = &v
22378	return s
22379}
22380
22381type ListInvitationsOutput struct {
22382	_ struct{} `type:"structure"`
22383
22384	// The details of the invitations returned by the operation.
22385	Invitations []*Invitation `type:"list"`
22386
22387	// The pagination token to use to request the next page of results.
22388	NextToken *string `type:"string"`
22389}
22390
22391// String returns the string representation
22392func (s ListInvitationsOutput) String() string {
22393	return awsutil.Prettify(s)
22394}
22395
22396// GoString returns the string representation
22397func (s ListInvitationsOutput) GoString() string {
22398	return s.String()
22399}
22400
22401// SetInvitations sets the Invitations field's value.
22402func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
22403	s.Invitations = v
22404	return s
22405}
22406
22407// SetNextToken sets the NextToken field's value.
22408func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
22409	s.NextToken = &v
22410	return s
22411}
22412
22413type ListMembersInput struct {
22414	_ struct{} `type:"structure"`
22415
22416	// The maximum number of items to return in the response.
22417	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
22418
22419	// The token that is required for pagination. On your first call to the ListMembers
22420	// operation, set the value of this parameter to NULL.
22421	//
22422	// For subsequent calls to the operation, to continue listing data, set the
22423	// value of this parameter to the value returned from the previous response.
22424	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
22425
22426	// Specifies which member accounts to include in the response based on their
22427	// relationship status with the master account. The default value is TRUE.
22428	//
22429	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
22430	// relationship status with the master is set to ENABLED.
22431	//
22432	// If OnlyAssociated is set to FALSE, the response includes all existing member
22433	// accounts.
22434	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
22435}
22436
22437// String returns the string representation
22438func (s ListMembersInput) String() string {
22439	return awsutil.Prettify(s)
22440}
22441
22442// GoString returns the string representation
22443func (s ListMembersInput) GoString() string {
22444	return s.String()
22445}
22446
22447// Validate inspects the fields of the type to determine if they are valid.
22448func (s *ListMembersInput) Validate() error {
22449	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
22450	if s.MaxResults != nil && *s.MaxResults < 1 {
22451		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22452	}
22453
22454	if invalidParams.Len() > 0 {
22455		return invalidParams
22456	}
22457	return nil
22458}
22459
22460// SetMaxResults sets the MaxResults field's value.
22461func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
22462	s.MaxResults = &v
22463	return s
22464}
22465
22466// SetNextToken sets the NextToken field's value.
22467func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
22468	s.NextToken = &v
22469	return s
22470}
22471
22472// SetOnlyAssociated sets the OnlyAssociated field's value.
22473func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
22474	s.OnlyAssociated = &v
22475	return s
22476}
22477
22478type ListMembersOutput struct {
22479	_ struct{} `type:"structure"`
22480
22481	// Member details returned by the operation.
22482	Members []*Member `type:"list"`
22483
22484	// The pagination token to use to request the next page of results.
22485	NextToken *string `type:"string"`
22486}
22487
22488// String returns the string representation
22489func (s ListMembersOutput) String() string {
22490	return awsutil.Prettify(s)
22491}
22492
22493// GoString returns the string representation
22494func (s ListMembersOutput) GoString() string {
22495	return s.String()
22496}
22497
22498// SetMembers sets the Members field's value.
22499func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
22500	s.Members = v
22501	return s
22502}
22503
22504// SetNextToken sets the NextToken field's value.
22505func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
22506	s.NextToken = &v
22507	return s
22508}
22509
22510type ListOrganizationAdminAccountsInput struct {
22511	_ struct{} `type:"structure"`
22512
22513	// The maximum number of items to return in the response.
22514	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
22515
22516	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
22517	// operation, set the value of this parameter to NULL. For subsequent calls
22518	// to the operation, to continue listing data, set the value of this parameter
22519	// to the value returned from the previous response.
22520	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
22521}
22522
22523// String returns the string representation
22524func (s ListOrganizationAdminAccountsInput) String() string {
22525	return awsutil.Prettify(s)
22526}
22527
22528// GoString returns the string representation
22529func (s ListOrganizationAdminAccountsInput) GoString() string {
22530	return s.String()
22531}
22532
22533// Validate inspects the fields of the type to determine if they are valid.
22534func (s *ListOrganizationAdminAccountsInput) Validate() error {
22535	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
22536	if s.MaxResults != nil && *s.MaxResults < 1 {
22537		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22538	}
22539
22540	if invalidParams.Len() > 0 {
22541		return invalidParams
22542	}
22543	return nil
22544}
22545
22546// SetMaxResults sets the MaxResults field's value.
22547func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
22548	s.MaxResults = &v
22549	return s
22550}
22551
22552// SetNextToken sets the NextToken field's value.
22553func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
22554	s.NextToken = &v
22555	return s
22556}
22557
22558type ListOrganizationAdminAccountsOutput struct {
22559	_ struct{} `type:"structure"`
22560
22561	// The list of Security Hub administrator accounts.
22562	AdminAccounts []*AdminAccount `type:"list"`
22563
22564	// The pagination token to use to request the next page of results.
22565	NextToken *string `type:"string"`
22566}
22567
22568// String returns the string representation
22569func (s ListOrganizationAdminAccountsOutput) String() string {
22570	return awsutil.Prettify(s)
22571}
22572
22573// GoString returns the string representation
22574func (s ListOrganizationAdminAccountsOutput) GoString() string {
22575	return s.String()
22576}
22577
22578// SetAdminAccounts sets the AdminAccounts field's value.
22579func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
22580	s.AdminAccounts = v
22581	return s
22582}
22583
22584// SetNextToken sets the NextToken field's value.
22585func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
22586	s.NextToken = &v
22587	return s
22588}
22589
22590type ListTagsForResourceInput struct {
22591	_ struct{} `type:"structure"`
22592
22593	// The ARN of the resource to retrieve tags for.
22594	//
22595	// ResourceArn is a required field
22596	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
22597}
22598
22599// String returns the string representation
22600func (s ListTagsForResourceInput) String() string {
22601	return awsutil.Prettify(s)
22602}
22603
22604// GoString returns the string representation
22605func (s ListTagsForResourceInput) GoString() string {
22606	return s.String()
22607}
22608
22609// Validate inspects the fields of the type to determine if they are valid.
22610func (s *ListTagsForResourceInput) Validate() error {
22611	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
22612	if s.ResourceArn == nil {
22613		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
22614	}
22615	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
22616		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
22617	}
22618
22619	if invalidParams.Len() > 0 {
22620		return invalidParams
22621	}
22622	return nil
22623}
22624
22625// SetResourceArn sets the ResourceArn field's value.
22626func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
22627	s.ResourceArn = &v
22628	return s
22629}
22630
22631type ListTagsForResourceOutput struct {
22632	_ struct{} `type:"structure"`
22633
22634	// The tags associated with a resource.
22635	Tags map[string]*string `min:"1" type:"map"`
22636}
22637
22638// String returns the string representation
22639func (s ListTagsForResourceOutput) String() string {
22640	return awsutil.Prettify(s)
22641}
22642
22643// GoString returns the string representation
22644func (s ListTagsForResourceOutput) GoString() string {
22645	return s.String()
22646}
22647
22648// SetTags sets the Tags field's value.
22649func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
22650	s.Tags = v
22651	return s
22652}
22653
22654// Information about the state of the load balancer.
22655type LoadBalancerState struct {
22656	_ struct{} `type:"structure"`
22657
22658	// The state code. The initial state of the load balancer is provisioning.
22659	//
22660	// After the load balancer is fully set up and ready to route traffic, its state
22661	// is active.
22662	//
22663	// If the load balancer could not be set up, its state is failed.
22664	Code *string `type:"string"`
22665
22666	// A description of the state.
22667	Reason *string `type:"string"`
22668}
22669
22670// String returns the string representation
22671func (s LoadBalancerState) String() string {
22672	return awsutil.Prettify(s)
22673}
22674
22675// GoString returns the string representation
22676func (s LoadBalancerState) GoString() string {
22677	return s.String()
22678}
22679
22680// SetCode sets the Code field's value.
22681func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
22682	s.Code = &v
22683	return s
22684}
22685
22686// SetReason sets the Reason field's value.
22687func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
22688	s.Reason = &v
22689	return s
22690}
22691
22692// A list of malware related to a finding.
22693type Malware struct {
22694	_ struct{} `type:"structure"`
22695
22696	// The name of the malware that was observed.
22697	//
22698	// Name is a required field
22699	Name *string `type:"string" required:"true"`
22700
22701	// The file system path of the malware that was observed.
22702	Path *string `type:"string"`
22703
22704	// The state of the malware that was observed.
22705	State *string `type:"string" enum:"MalwareState"`
22706
22707	// The type of the malware that was observed.
22708	Type *string `type:"string" enum:"MalwareType"`
22709}
22710
22711// String returns the string representation
22712func (s Malware) String() string {
22713	return awsutil.Prettify(s)
22714}
22715
22716// GoString returns the string representation
22717func (s Malware) GoString() string {
22718	return s.String()
22719}
22720
22721// Validate inspects the fields of the type to determine if they are valid.
22722func (s *Malware) Validate() error {
22723	invalidParams := request.ErrInvalidParams{Context: "Malware"}
22724	if s.Name == nil {
22725		invalidParams.Add(request.NewErrParamRequired("Name"))
22726	}
22727
22728	if invalidParams.Len() > 0 {
22729		return invalidParams
22730	}
22731	return nil
22732}
22733
22734// SetName sets the Name field's value.
22735func (s *Malware) SetName(v string) *Malware {
22736	s.Name = &v
22737	return s
22738}
22739
22740// SetPath sets the Path field's value.
22741func (s *Malware) SetPath(v string) *Malware {
22742	s.Path = &v
22743	return s
22744}
22745
22746// SetState sets the State field's value.
22747func (s *Malware) SetState(v string) *Malware {
22748	s.State = &v
22749	return s
22750}
22751
22752// SetType sets the Type field's value.
22753func (s *Malware) SetType(v string) *Malware {
22754	s.Type = &v
22755	return s
22756}
22757
22758// A map filter for querying findings. Each map filter provides the field to
22759// check, the value to look for, and the comparison operator.
22760type MapFilter struct {
22761	_ struct{} `type:"structure"`
22762
22763	// The condition to apply to the key value when querying for findings with a
22764	// map filter.
22765	//
22766	// To search for values that exactly match the filter value, use EQUALS. For
22767	// example, for the ResourceTags field, the filter Department EQUALS Security
22768	// matches findings that have the value Security for the tag Department.
22769	//
22770	// To search for values other than the filter value, use NOT_EQUALS. For example,
22771	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
22772	// findings that do not have the value Finance for the tag Department.
22773	//
22774	// EQUALS filters on the same field are joined by OR. A finding matches if it
22775	// matches any one of those filters.
22776	//
22777	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
22778	// only if it matches all of those filters.
22779	//
22780	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
22781	// field.
22782	Comparison *string `type:"string" enum:"MapFilterComparison"`
22783
22784	// The key of the map filter. For example, for ResourceTags, Key identifies
22785	// the name of the tag. For UserDefinedFields, Key is the name of the field.
22786	Key *string `type:"string"`
22787
22788	// The value for the key in the map filter. Filter values are case sensitive.
22789	// For example, one of the values for a tag called Department might be Security.
22790	// If you provide security as the filter value, then there is no match.
22791	Value *string `type:"string"`
22792}
22793
22794// String returns the string representation
22795func (s MapFilter) String() string {
22796	return awsutil.Prettify(s)
22797}
22798
22799// GoString returns the string representation
22800func (s MapFilter) GoString() string {
22801	return s.String()
22802}
22803
22804// SetComparison sets the Comparison field's value.
22805func (s *MapFilter) SetComparison(v string) *MapFilter {
22806	s.Comparison = &v
22807	return s
22808}
22809
22810// SetKey sets the Key field's value.
22811func (s *MapFilter) SetKey(v string) *MapFilter {
22812	s.Key = &v
22813	return s
22814}
22815
22816// SetValue sets the Value field's value.
22817func (s *MapFilter) SetValue(v string) *MapFilter {
22818	s.Value = &v
22819	return s
22820}
22821
22822// The details about a member account.
22823type Member struct {
22824	_ struct{} `type:"structure"`
22825
22826	// The AWS account ID of the member account.
22827	AccountId *string `type:"string"`
22828
22829	// The email address of the member account.
22830	Email *string `type:"string"`
22831
22832	// A timestamp for the date and time when the invitation was sent to the member
22833	// account.
22834	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
22835
22836	// The AWS account ID of the Security Hub master account associated with this
22837	// member account.
22838	MasterId *string `type:"string"`
22839
22840	// The status of the relationship between the member account and its master
22841	// account.
22842	//
22843	// The status can have one of the following values:
22844	//
22845	//    * CREATED - Indicates that the master account added the member account,
22846	//    but has not yet invited the member account.
22847	//
22848	//    * INVITED - Indicates that the master account invited the member account.
22849	//    The member account has not yet responded to the invitation.
22850	//
22851	//    * ENABLED - Indicates that the member account is currently active. For
22852	//    manually invited member accounts, indicates that the member account accepted
22853	//    the invitation.
22854	//
22855	//    * REMOVED - Indicates that the master account disassociated the member
22856	//    account.
22857	//
22858	//    * RESIGNED - Indicates that the member account disassociated themselves
22859	//    from the master account.
22860	//
22861	//    * DELETED - Indicates that the master account deleted the member account.
22862	MemberStatus *string `type:"string"`
22863
22864	// The timestamp for the date and time when the member account was updated.
22865	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
22866}
22867
22868// String returns the string representation
22869func (s Member) String() string {
22870	return awsutil.Prettify(s)
22871}
22872
22873// GoString returns the string representation
22874func (s Member) GoString() string {
22875	return s.String()
22876}
22877
22878// SetAccountId sets the AccountId field's value.
22879func (s *Member) SetAccountId(v string) *Member {
22880	s.AccountId = &v
22881	return s
22882}
22883
22884// SetEmail sets the Email field's value.
22885func (s *Member) SetEmail(v string) *Member {
22886	s.Email = &v
22887	return s
22888}
22889
22890// SetInvitedAt sets the InvitedAt field's value.
22891func (s *Member) SetInvitedAt(v time.Time) *Member {
22892	s.InvitedAt = &v
22893	return s
22894}
22895
22896// SetMasterId sets the MasterId field's value.
22897func (s *Member) SetMasterId(v string) *Member {
22898	s.MasterId = &v
22899	return s
22900}
22901
22902// SetMemberStatus sets the MemberStatus field's value.
22903func (s *Member) SetMemberStatus(v string) *Member {
22904	s.MemberStatus = &v
22905	return s
22906}
22907
22908// SetUpdatedAt sets the UpdatedAt field's value.
22909func (s *Member) SetUpdatedAt(v time.Time) *Member {
22910	s.UpdatedAt = &v
22911	return s
22912}
22913
22914// The details of network-related information about a finding.
22915type Network struct {
22916	_ struct{} `type:"structure"`
22917
22918	// The destination domain of network-related information about a finding.
22919	DestinationDomain *string `type:"string"`
22920
22921	// The destination IPv4 address of network-related information about a finding.
22922	DestinationIpV4 *string `type:"string"`
22923
22924	// The destination IPv6 address of network-related information about a finding.
22925	DestinationIpV6 *string `type:"string"`
22926
22927	// The destination port of network-related information about a finding.
22928	DestinationPort *int64 `type:"integer"`
22929
22930	// The direction of network traffic associated with a finding.
22931	Direction *string `type:"string" enum:"NetworkDirection"`
22932
22933	// The range of open ports that is present on the network.
22934	OpenPortRange *PortRange `type:"structure"`
22935
22936	// The protocol of network-related information about a finding.
22937	Protocol *string `type:"string"`
22938
22939	// The source domain of network-related information about a finding.
22940	SourceDomain *string `type:"string"`
22941
22942	// The source IPv4 address of network-related information about a finding.
22943	SourceIpV4 *string `type:"string"`
22944
22945	// The source IPv6 address of network-related information about a finding.
22946	SourceIpV6 *string `type:"string"`
22947
22948	// The source media access control (MAC) address of network-related information
22949	// about a finding.
22950	SourceMac *string `type:"string"`
22951
22952	// The source port of network-related information about a finding.
22953	SourcePort *int64 `type:"integer"`
22954}
22955
22956// String returns the string representation
22957func (s Network) String() string {
22958	return awsutil.Prettify(s)
22959}
22960
22961// GoString returns the string representation
22962func (s Network) GoString() string {
22963	return s.String()
22964}
22965
22966// SetDestinationDomain sets the DestinationDomain field's value.
22967func (s *Network) SetDestinationDomain(v string) *Network {
22968	s.DestinationDomain = &v
22969	return s
22970}
22971
22972// SetDestinationIpV4 sets the DestinationIpV4 field's value.
22973func (s *Network) SetDestinationIpV4(v string) *Network {
22974	s.DestinationIpV4 = &v
22975	return s
22976}
22977
22978// SetDestinationIpV6 sets the DestinationIpV6 field's value.
22979func (s *Network) SetDestinationIpV6(v string) *Network {
22980	s.DestinationIpV6 = &v
22981	return s
22982}
22983
22984// SetDestinationPort sets the DestinationPort field's value.
22985func (s *Network) SetDestinationPort(v int64) *Network {
22986	s.DestinationPort = &v
22987	return s
22988}
22989
22990// SetDirection sets the Direction field's value.
22991func (s *Network) SetDirection(v string) *Network {
22992	s.Direction = &v
22993	return s
22994}
22995
22996// SetOpenPortRange sets the OpenPortRange field's value.
22997func (s *Network) SetOpenPortRange(v *PortRange) *Network {
22998	s.OpenPortRange = v
22999	return s
23000}
23001
23002// SetProtocol sets the Protocol field's value.
23003func (s *Network) SetProtocol(v string) *Network {
23004	s.Protocol = &v
23005	return s
23006}
23007
23008// SetSourceDomain sets the SourceDomain field's value.
23009func (s *Network) SetSourceDomain(v string) *Network {
23010	s.SourceDomain = &v
23011	return s
23012}
23013
23014// SetSourceIpV4 sets the SourceIpV4 field's value.
23015func (s *Network) SetSourceIpV4(v string) *Network {
23016	s.SourceIpV4 = &v
23017	return s
23018}
23019
23020// SetSourceIpV6 sets the SourceIpV6 field's value.
23021func (s *Network) SetSourceIpV6(v string) *Network {
23022	s.SourceIpV6 = &v
23023	return s
23024}
23025
23026// SetSourceMac sets the SourceMac field's value.
23027func (s *Network) SetSourceMac(v string) *Network {
23028	s.SourceMac = &v
23029	return s
23030}
23031
23032// SetSourcePort sets the SourcePort field's value.
23033func (s *Network) SetSourcePort(v int64) *Network {
23034	s.SourcePort = &v
23035	return s
23036}
23037
23038// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
23039// attempted network connection that was detected.
23040type NetworkConnectionAction struct {
23041	_ struct{} `type:"structure"`
23042
23043	// Indicates whether the network connection attempt was blocked.
23044	Blocked *bool `type:"boolean"`
23045
23046	// The direction of the network connection request (IN or OUT).
23047	ConnectionDirection *string `type:"string"`
23048
23049	// Information about the port on the EC2 instance.
23050	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
23051
23052	// The protocol used to make the network connection request.
23053	Protocol *string `type:"string"`
23054
23055	// Information about the remote IP address that issued the network connection
23056	// request.
23057	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
23058
23059	// Information about the port on the remote IP address.
23060	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
23061}
23062
23063// String returns the string representation
23064func (s NetworkConnectionAction) String() string {
23065	return awsutil.Prettify(s)
23066}
23067
23068// GoString returns the string representation
23069func (s NetworkConnectionAction) GoString() string {
23070	return s.String()
23071}
23072
23073// SetBlocked sets the Blocked field's value.
23074func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
23075	s.Blocked = &v
23076	return s
23077}
23078
23079// SetConnectionDirection sets the ConnectionDirection field's value.
23080func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
23081	s.ConnectionDirection = &v
23082	return s
23083}
23084
23085// SetLocalPortDetails sets the LocalPortDetails field's value.
23086func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
23087	s.LocalPortDetails = v
23088	return s
23089}
23090
23091// SetProtocol sets the Protocol field's value.
23092func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
23093	s.Protocol = &v
23094	return s
23095}
23096
23097// SetRemoteIpDetails sets the RemoteIpDetails field's value.
23098func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
23099	s.RemoteIpDetails = v
23100	return s
23101}
23102
23103// SetRemotePortDetails sets the RemotePortDetails field's value.
23104func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
23105	s.RemotePortDetails = v
23106	return s
23107}
23108
23109// Details about a network path component that occurs before or after the current
23110// component.
23111type NetworkHeader struct {
23112	_ struct{} `type:"structure"`
23113
23114	// Information about the destination of the component.
23115	Destination *NetworkPathComponentDetails `type:"structure"`
23116
23117	// The protocol used for the component.
23118	Protocol *string `type:"string"`
23119
23120	// Information about the origin of the component.
23121	Source *NetworkPathComponentDetails `type:"structure"`
23122}
23123
23124// String returns the string representation
23125func (s NetworkHeader) String() string {
23126	return awsutil.Prettify(s)
23127}
23128
23129// GoString returns the string representation
23130func (s NetworkHeader) GoString() string {
23131	return s.String()
23132}
23133
23134// SetDestination sets the Destination field's value.
23135func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
23136	s.Destination = v
23137	return s
23138}
23139
23140// SetProtocol sets the Protocol field's value.
23141func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
23142	s.Protocol = &v
23143	return s
23144}
23145
23146// SetSource sets the Source field's value.
23147func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
23148	s.Source = v
23149	return s
23150}
23151
23152// Information about a network path component.
23153type NetworkPathComponent struct {
23154	_ struct{} `type:"structure"`
23155
23156	// The identifier of a component in the network path.
23157	ComponentId *string `type:"string"`
23158
23159	// The type of component.
23160	ComponentType *string `type:"string"`
23161
23162	// Information about the component that comes after the current component in
23163	// the network path.
23164	Egress *NetworkHeader `type:"structure"`
23165
23166	// Information about the component that comes before the current node in the
23167	// network path.
23168	Ingress *NetworkHeader `type:"structure"`
23169}
23170
23171// String returns the string representation
23172func (s NetworkPathComponent) String() string {
23173	return awsutil.Prettify(s)
23174}
23175
23176// GoString returns the string representation
23177func (s NetworkPathComponent) GoString() string {
23178	return s.String()
23179}
23180
23181// SetComponentId sets the ComponentId field's value.
23182func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
23183	s.ComponentId = &v
23184	return s
23185}
23186
23187// SetComponentType sets the ComponentType field's value.
23188func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
23189	s.ComponentType = &v
23190	return s
23191}
23192
23193// SetEgress sets the Egress field's value.
23194func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
23195	s.Egress = v
23196	return s
23197}
23198
23199// SetIngress sets the Ingress field's value.
23200func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
23201	s.Ingress = v
23202	return s
23203}
23204
23205// Information about the destination of the next component in the network path.
23206type NetworkPathComponentDetails struct {
23207	_ struct{} `type:"structure"`
23208
23209	// The IP addresses of the destination.
23210	Address []*string `type:"list"`
23211
23212	// A list of port ranges for the destination.
23213	PortRanges []*PortRange `type:"list"`
23214}
23215
23216// String returns the string representation
23217func (s NetworkPathComponentDetails) String() string {
23218	return awsutil.Prettify(s)
23219}
23220
23221// GoString returns the string representation
23222func (s NetworkPathComponentDetails) GoString() string {
23223	return s.String()
23224}
23225
23226// SetAddress sets the Address field's value.
23227func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
23228	s.Address = v
23229	return s
23230}
23231
23232// SetPortRanges sets the PortRanges field's value.
23233func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
23234	s.PortRanges = v
23235	return s
23236}
23237
23238// A user-defined note added to a finding.
23239type Note struct {
23240	_ struct{} `type:"structure"`
23241
23242	// The text of a note.
23243	//
23244	// Text is a required field
23245	Text *string `type:"string" required:"true"`
23246
23247	// The timestamp of when the note was updated.
23248	//
23249	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23250	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23251	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23252	//
23253	// UpdatedAt is a required field
23254	UpdatedAt *string `type:"string" required:"true"`
23255
23256	// The principal that created a note.
23257	//
23258	// UpdatedBy is a required field
23259	UpdatedBy *string `type:"string" required:"true"`
23260}
23261
23262// String returns the string representation
23263func (s Note) String() string {
23264	return awsutil.Prettify(s)
23265}
23266
23267// GoString returns the string representation
23268func (s Note) GoString() string {
23269	return s.String()
23270}
23271
23272// Validate inspects the fields of the type to determine if they are valid.
23273func (s *Note) Validate() error {
23274	invalidParams := request.ErrInvalidParams{Context: "Note"}
23275	if s.Text == nil {
23276		invalidParams.Add(request.NewErrParamRequired("Text"))
23277	}
23278	if s.UpdatedAt == nil {
23279		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
23280	}
23281	if s.UpdatedBy == nil {
23282		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
23283	}
23284
23285	if invalidParams.Len() > 0 {
23286		return invalidParams
23287	}
23288	return nil
23289}
23290
23291// SetText sets the Text field's value.
23292func (s *Note) SetText(v string) *Note {
23293	s.Text = &v
23294	return s
23295}
23296
23297// SetUpdatedAt sets the UpdatedAt field's value.
23298func (s *Note) SetUpdatedAt(v string) *Note {
23299	s.UpdatedAt = &v
23300	return s
23301}
23302
23303// SetUpdatedBy sets the UpdatedBy field's value.
23304func (s *Note) SetUpdatedBy(v string) *Note {
23305	s.UpdatedBy = &v
23306	return s
23307}
23308
23309// The updated note.
23310type NoteUpdate struct {
23311	_ struct{} `type:"structure"`
23312
23313	// The updated note text.
23314	//
23315	// Text is a required field
23316	Text *string `type:"string" required:"true"`
23317
23318	// The principal that updated the note.
23319	//
23320	// UpdatedBy is a required field
23321	UpdatedBy *string `type:"string" required:"true"`
23322}
23323
23324// String returns the string representation
23325func (s NoteUpdate) String() string {
23326	return awsutil.Prettify(s)
23327}
23328
23329// GoString returns the string representation
23330func (s NoteUpdate) GoString() string {
23331	return s.String()
23332}
23333
23334// Validate inspects the fields of the type to determine if they are valid.
23335func (s *NoteUpdate) Validate() error {
23336	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
23337	if s.Text == nil {
23338		invalidParams.Add(request.NewErrParamRequired("Text"))
23339	}
23340	if s.UpdatedBy == nil {
23341		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
23342	}
23343
23344	if invalidParams.Len() > 0 {
23345		return invalidParams
23346	}
23347	return nil
23348}
23349
23350// SetText sets the Text field's value.
23351func (s *NoteUpdate) SetText(v string) *NoteUpdate {
23352	s.Text = &v
23353	return s
23354}
23355
23356// SetUpdatedBy sets the UpdatedBy field's value.
23357func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
23358	s.UpdatedBy = &v
23359	return s
23360}
23361
23362// A number filter for querying findings.
23363type NumberFilter struct {
23364	_ struct{} `type:"structure"`
23365
23366	// The equal-to condition to be applied to a single field when querying for
23367	// findings.
23368	Eq *float64 `type:"double"`
23369
23370	// The greater-than-equal condition to be applied to a single field when querying
23371	// for findings.
23372	Gte *float64 `type:"double"`
23373
23374	// The less-than-equal condition to be applied to a single field when querying
23375	// for findings.
23376	Lte *float64 `type:"double"`
23377}
23378
23379// String returns the string representation
23380func (s NumberFilter) String() string {
23381	return awsutil.Prettify(s)
23382}
23383
23384// GoString returns the string representation
23385func (s NumberFilter) GoString() string {
23386	return s.String()
23387}
23388
23389// SetEq sets the Eq field's value.
23390func (s *NumberFilter) SetEq(v float64) *NumberFilter {
23391	s.Eq = &v
23392	return s
23393}
23394
23395// SetGte sets the Gte field's value.
23396func (s *NumberFilter) SetGte(v float64) *NumberFilter {
23397	s.Gte = &v
23398	return s
23399}
23400
23401// SetLte sets the Lte field's value.
23402func (s *NumberFilter) SetLte(v float64) *NumberFilter {
23403	s.Lte = &v
23404	return s
23405}
23406
23407// Provides an overview of the patch compliance status for an instance against
23408// a selected compliance standard.
23409type PatchSummary struct {
23410	_ struct{} `type:"structure"`
23411
23412	// The number of patches from the compliance standard that failed to install.
23413	FailedCount *int64 `type:"integer"`
23414
23415	// The identifier of the compliance standard that was used to determine the
23416	// patch compliance status.
23417	//
23418	// Id is a required field
23419	Id *string `type:"string" required:"true"`
23420
23421	// The number of patches from the compliance standard that were installed successfully.
23422	InstalledCount *int64 `type:"integer"`
23423
23424	// The number of installed patches that are not part of the compliance standard.
23425	InstalledOtherCount *int64 `type:"integer"`
23426
23427	// The number of patches that were applied, but that require the instance to
23428	// be rebooted in order to be marked as installed.
23429	InstalledPendingReboot *int64 `type:"integer"`
23430
23431	// The number of patches that are installed but are also on a list of patches
23432	// that the customer rejected.
23433	InstalledRejectedCount *int64 `type:"integer"`
23434
23435	// The number of patches that are part of the compliance standard but are not
23436	// installed. The count includes patches that failed to install.
23437	MissingCount *int64 `type:"integer"`
23438
23439	// The type of patch operation performed. For Patch Manager, the values are
23440	// SCAN and INSTALL.
23441	Operation *string `type:"string"`
23442
23443	// Indicates when the operation completed.
23444	//
23445	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23446	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23447	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23448	OperationEndTime *string `type:"string"`
23449
23450	// Indicates when the operation started.
23451	//
23452	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23453	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23454	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23455	OperationStartTime *string `type:"string"`
23456
23457	// The reboot option specified for the instance.
23458	RebootOption *string `type:"string"`
23459}
23460
23461// String returns the string representation
23462func (s PatchSummary) String() string {
23463	return awsutil.Prettify(s)
23464}
23465
23466// GoString returns the string representation
23467func (s PatchSummary) GoString() string {
23468	return s.String()
23469}
23470
23471// Validate inspects the fields of the type to determine if they are valid.
23472func (s *PatchSummary) Validate() error {
23473	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
23474	if s.Id == nil {
23475		invalidParams.Add(request.NewErrParamRequired("Id"))
23476	}
23477
23478	if invalidParams.Len() > 0 {
23479		return invalidParams
23480	}
23481	return nil
23482}
23483
23484// SetFailedCount sets the FailedCount field's value.
23485func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
23486	s.FailedCount = &v
23487	return s
23488}
23489
23490// SetId sets the Id field's value.
23491func (s *PatchSummary) SetId(v string) *PatchSummary {
23492	s.Id = &v
23493	return s
23494}
23495
23496// SetInstalledCount sets the InstalledCount field's value.
23497func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
23498	s.InstalledCount = &v
23499	return s
23500}
23501
23502// SetInstalledOtherCount sets the InstalledOtherCount field's value.
23503func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
23504	s.InstalledOtherCount = &v
23505	return s
23506}
23507
23508// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
23509func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
23510	s.InstalledPendingReboot = &v
23511	return s
23512}
23513
23514// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
23515func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
23516	s.InstalledRejectedCount = &v
23517	return s
23518}
23519
23520// SetMissingCount sets the MissingCount field's value.
23521func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
23522	s.MissingCount = &v
23523	return s
23524}
23525
23526// SetOperation sets the Operation field's value.
23527func (s *PatchSummary) SetOperation(v string) *PatchSummary {
23528	s.Operation = &v
23529	return s
23530}
23531
23532// SetOperationEndTime sets the OperationEndTime field's value.
23533func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
23534	s.OperationEndTime = &v
23535	return s
23536}
23537
23538// SetOperationStartTime sets the OperationStartTime field's value.
23539func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
23540	s.OperationStartTime = &v
23541	return s
23542}
23543
23544// SetRebootOption sets the RebootOption field's value.
23545func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
23546	s.RebootOption = &v
23547	return s
23548}
23549
23550// Provided if ActionType is PORT_PROBE. It provides details about the attempted
23551// port probe that was detected.
23552type PortProbeAction struct {
23553	_ struct{} `type:"structure"`
23554
23555	// Indicates whether the port probe was blocked.
23556	Blocked *bool `type:"boolean"`
23557
23558	// Information about the ports affected by the port probe.
23559	PortProbeDetails []*PortProbeDetail `type:"list"`
23560}
23561
23562// String returns the string representation
23563func (s PortProbeAction) String() string {
23564	return awsutil.Prettify(s)
23565}
23566
23567// GoString returns the string representation
23568func (s PortProbeAction) GoString() string {
23569	return s.String()
23570}
23571
23572// SetBlocked sets the Blocked field's value.
23573func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
23574	s.Blocked = &v
23575	return s
23576}
23577
23578// SetPortProbeDetails sets the PortProbeDetails field's value.
23579func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
23580	s.PortProbeDetails = v
23581	return s
23582}
23583
23584// A port scan that was part of the port probe. For each scan, PortProbeDetails
23585// provides information about the local IP address and port that were scanned,
23586// and the remote IP address that the scan originated from.
23587type PortProbeDetail struct {
23588	_ struct{} `type:"structure"`
23589
23590	// Provides information about the IP address where the scanned port is located.
23591	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
23592
23593	// Provides information about the port that was scanned.
23594	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
23595
23596	// Provides information about the remote IP address that performed the scan.
23597	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
23598}
23599
23600// String returns the string representation
23601func (s PortProbeDetail) String() string {
23602	return awsutil.Prettify(s)
23603}
23604
23605// GoString returns the string representation
23606func (s PortProbeDetail) GoString() string {
23607	return s.String()
23608}
23609
23610// SetLocalIpDetails sets the LocalIpDetails field's value.
23611func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
23612	s.LocalIpDetails = v
23613	return s
23614}
23615
23616// SetLocalPortDetails sets the LocalPortDetails field's value.
23617func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
23618	s.LocalPortDetails = v
23619	return s
23620}
23621
23622// SetRemoteIpDetails sets the RemoteIpDetails field's value.
23623func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
23624	s.RemoteIpDetails = v
23625	return s
23626}
23627
23628// A range of ports.
23629type PortRange struct {
23630	_ struct{} `type:"structure"`
23631
23632	// The first port in the port range.
23633	Begin *int64 `type:"integer"`
23634
23635	// The last port in the port range.
23636	End *int64 `type:"integer"`
23637}
23638
23639// String returns the string representation
23640func (s PortRange) String() string {
23641	return awsutil.Prettify(s)
23642}
23643
23644// GoString returns the string representation
23645func (s PortRange) GoString() string {
23646	return s.String()
23647}
23648
23649// SetBegin sets the Begin field's value.
23650func (s *PortRange) SetBegin(v int64) *PortRange {
23651	s.Begin = &v
23652	return s
23653}
23654
23655// SetEnd sets the End field's value.
23656func (s *PortRange) SetEnd(v int64) *PortRange {
23657	s.End = &v
23658	return s
23659}
23660
23661// The details of process-related information about a finding.
23662type ProcessDetails struct {
23663	_ struct{} `type:"structure"`
23664
23665	// Indicates when the process was launched.
23666	//
23667	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23668	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23669	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23670	LaunchedAt *string `type:"string"`
23671
23672	// The name of the process.
23673	Name *string `type:"string"`
23674
23675	// The parent process ID.
23676	ParentPid *int64 `type:"integer"`
23677
23678	// The path to the process executable.
23679	Path *string `type:"string"`
23680
23681	// The process ID.
23682	Pid *int64 `type:"integer"`
23683
23684	// Indicates when the process was terminated.
23685	//
23686	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23687	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23688	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23689	TerminatedAt *string `type:"string"`
23690}
23691
23692// String returns the string representation
23693func (s ProcessDetails) String() string {
23694	return awsutil.Prettify(s)
23695}
23696
23697// GoString returns the string representation
23698func (s ProcessDetails) GoString() string {
23699	return s.String()
23700}
23701
23702// SetLaunchedAt sets the LaunchedAt field's value.
23703func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
23704	s.LaunchedAt = &v
23705	return s
23706}
23707
23708// SetName sets the Name field's value.
23709func (s *ProcessDetails) SetName(v string) *ProcessDetails {
23710	s.Name = &v
23711	return s
23712}
23713
23714// SetParentPid sets the ParentPid field's value.
23715func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
23716	s.ParentPid = &v
23717	return s
23718}
23719
23720// SetPath sets the Path field's value.
23721func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
23722	s.Path = &v
23723	return s
23724}
23725
23726// SetPid sets the Pid field's value.
23727func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
23728	s.Pid = &v
23729	return s
23730}
23731
23732// SetTerminatedAt sets the TerminatedAt field's value.
23733func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
23734	s.TerminatedAt = &v
23735	return s
23736}
23737
23738// Contains details about a product.
23739type Product struct {
23740	_ struct{} `type:"structure"`
23741
23742	// The URL used to activate the product.
23743	ActivationUrl *string `type:"string"`
23744
23745	// The categories assigned to the product.
23746	Categories []*string `type:"list"`
23747
23748	// The name of the company that provides the product.
23749	CompanyName *string `type:"string"`
23750
23751	// A description of the product.
23752	Description *string `type:"string"`
23753
23754	// The types of integration that the product supports. Available values are
23755	// the following.
23756	//
23757	//    * SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends
23758	//    findings to Security Hub.
23759	//
23760	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration
23761	//    receives findings from Security Hub.
23762	IntegrationTypes []*string `type:"list"`
23763
23764	// The URL for the page that contains more information about the product.
23765	MarketplaceUrl *string `type:"string"`
23766
23767	// The ARN assigned to the product.
23768	//
23769	// ProductArn is a required field
23770	ProductArn *string `type:"string" required:"true"`
23771
23772	// The name of the product.
23773	ProductName *string `type:"string"`
23774
23775	// The resource policy associated with the product.
23776	ProductSubscriptionResourcePolicy *string `type:"string"`
23777}
23778
23779// String returns the string representation
23780func (s Product) String() string {
23781	return awsutil.Prettify(s)
23782}
23783
23784// GoString returns the string representation
23785func (s Product) GoString() string {
23786	return s.String()
23787}
23788
23789// SetActivationUrl sets the ActivationUrl field's value.
23790func (s *Product) SetActivationUrl(v string) *Product {
23791	s.ActivationUrl = &v
23792	return s
23793}
23794
23795// SetCategories sets the Categories field's value.
23796func (s *Product) SetCategories(v []*string) *Product {
23797	s.Categories = v
23798	return s
23799}
23800
23801// SetCompanyName sets the CompanyName field's value.
23802func (s *Product) SetCompanyName(v string) *Product {
23803	s.CompanyName = &v
23804	return s
23805}
23806
23807// SetDescription sets the Description field's value.
23808func (s *Product) SetDescription(v string) *Product {
23809	s.Description = &v
23810	return s
23811}
23812
23813// SetIntegrationTypes sets the IntegrationTypes field's value.
23814func (s *Product) SetIntegrationTypes(v []*string) *Product {
23815	s.IntegrationTypes = v
23816	return s
23817}
23818
23819// SetMarketplaceUrl sets the MarketplaceUrl field's value.
23820func (s *Product) SetMarketplaceUrl(v string) *Product {
23821	s.MarketplaceUrl = &v
23822	return s
23823}
23824
23825// SetProductArn sets the ProductArn field's value.
23826func (s *Product) SetProductArn(v string) *Product {
23827	s.ProductArn = &v
23828	return s
23829}
23830
23831// SetProductName sets the ProductName field's value.
23832func (s *Product) SetProductName(v string) *Product {
23833	s.ProductName = &v
23834	return s
23835}
23836
23837// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
23838func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
23839	s.ProductSubscriptionResourcePolicy = &v
23840	return s
23841}
23842
23843// A recommendation on how to remediate the issue identified in a finding.
23844type Recommendation struct {
23845	_ struct{} `type:"structure"`
23846
23847	// Describes the recommended steps to take to remediate an issue identified
23848	// in a finding.
23849	Text *string `type:"string"`
23850
23851	// A URL to a page or site that contains information about how to remediate
23852	// a finding.
23853	Url *string `type:"string"`
23854}
23855
23856// String returns the string representation
23857func (s Recommendation) String() string {
23858	return awsutil.Prettify(s)
23859}
23860
23861// GoString returns the string representation
23862func (s Recommendation) GoString() string {
23863	return s.String()
23864}
23865
23866// SetText sets the Text field's value.
23867func (s *Recommendation) SetText(v string) *Recommendation {
23868	s.Text = &v
23869	return s
23870}
23871
23872// SetUrl sets the Url field's value.
23873func (s *Recommendation) SetUrl(v string) *Recommendation {
23874	s.Url = &v
23875	return s
23876}
23877
23878// Details about a related finding.
23879type RelatedFinding struct {
23880	_ struct{} `type:"structure"`
23881
23882	// The product-generated identifier for a related finding.
23883	//
23884	// Id is a required field
23885	Id *string `type:"string" required:"true"`
23886
23887	// The ARN of the product that generated a related finding.
23888	//
23889	// ProductArn is a required field
23890	ProductArn *string `type:"string" required:"true"`
23891}
23892
23893// String returns the string representation
23894func (s RelatedFinding) String() string {
23895	return awsutil.Prettify(s)
23896}
23897
23898// GoString returns the string representation
23899func (s RelatedFinding) GoString() string {
23900	return s.String()
23901}
23902
23903// Validate inspects the fields of the type to determine if they are valid.
23904func (s *RelatedFinding) Validate() error {
23905	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
23906	if s.Id == nil {
23907		invalidParams.Add(request.NewErrParamRequired("Id"))
23908	}
23909	if s.ProductArn == nil {
23910		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
23911	}
23912
23913	if invalidParams.Len() > 0 {
23914		return invalidParams
23915	}
23916	return nil
23917}
23918
23919// SetId sets the Id field's value.
23920func (s *RelatedFinding) SetId(v string) *RelatedFinding {
23921	s.Id = &v
23922	return s
23923}
23924
23925// SetProductArn sets the ProductArn field's value.
23926func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
23927	s.ProductArn = &v
23928	return s
23929}
23930
23931// Details about the remediation steps for a finding.
23932type Remediation struct {
23933	_ struct{} `type:"structure"`
23934
23935	// A recommendation on the steps to take to remediate the issue identified by
23936	// a finding.
23937	Recommendation *Recommendation `type:"structure"`
23938}
23939
23940// String returns the string representation
23941func (s Remediation) String() string {
23942	return awsutil.Prettify(s)
23943}
23944
23945// GoString returns the string representation
23946func (s Remediation) GoString() string {
23947	return s.String()
23948}
23949
23950// SetRecommendation sets the Recommendation field's value.
23951func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
23952	s.Recommendation = v
23953	return s
23954}
23955
23956// A resource related to a finding.
23957type Resource struct {
23958	_ struct{} `type:"structure"`
23959
23960	// Additional details about the resource related to a finding.
23961	Details *ResourceDetails `type:"structure"`
23962
23963	// The canonical identifier for the given resource type.
23964	//
23965	// Id is a required field
23966	Id *string `type:"string" required:"true"`
23967
23968	// The canonical AWS partition name that the Region is assigned to.
23969	Partition *string `type:"string" enum:"Partition"`
23970
23971	// The canonical AWS external Region name where this resource is located.
23972	Region *string `type:"string"`
23973
23974	// Identifies the role of the resource in the finding. A resource is either
23975	// the actor or target of the finding activity,
23976	ResourceRole *string `type:"string"`
23977
23978	// A list of AWS tags associated with a resource at the time the finding was
23979	// processed.
23980	Tags map[string]*string `type:"map"`
23981
23982	// The type of the resource that details are provided for. If possible, set
23983	// Type to one of the supported resource types. For example, if the resource
23984	// is an EC2 instance, then set Type to AwsEc2Instance.
23985	//
23986	// If the resource does not match any of the provided types, then set Type to
23987	// Other.
23988	//
23989	// Type is a required field
23990	Type *string `type:"string" required:"true"`
23991}
23992
23993// String returns the string representation
23994func (s Resource) String() string {
23995	return awsutil.Prettify(s)
23996}
23997
23998// GoString returns the string representation
23999func (s Resource) GoString() string {
24000	return s.String()
24001}
24002
24003// Validate inspects the fields of the type to determine if they are valid.
24004func (s *Resource) Validate() error {
24005	invalidParams := request.ErrInvalidParams{Context: "Resource"}
24006	if s.Id == nil {
24007		invalidParams.Add(request.NewErrParamRequired("Id"))
24008	}
24009	if s.Type == nil {
24010		invalidParams.Add(request.NewErrParamRequired("Type"))
24011	}
24012	if s.Details != nil {
24013		if err := s.Details.Validate(); err != nil {
24014			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
24015		}
24016	}
24017
24018	if invalidParams.Len() > 0 {
24019		return invalidParams
24020	}
24021	return nil
24022}
24023
24024// SetDetails sets the Details field's value.
24025func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
24026	s.Details = v
24027	return s
24028}
24029
24030// SetId sets the Id field's value.
24031func (s *Resource) SetId(v string) *Resource {
24032	s.Id = &v
24033	return s
24034}
24035
24036// SetPartition sets the Partition field's value.
24037func (s *Resource) SetPartition(v string) *Resource {
24038	s.Partition = &v
24039	return s
24040}
24041
24042// SetRegion sets the Region field's value.
24043func (s *Resource) SetRegion(v string) *Resource {
24044	s.Region = &v
24045	return s
24046}
24047
24048// SetResourceRole sets the ResourceRole field's value.
24049func (s *Resource) SetResourceRole(v string) *Resource {
24050	s.ResourceRole = &v
24051	return s
24052}
24053
24054// SetTags sets the Tags field's value.
24055func (s *Resource) SetTags(v map[string]*string) *Resource {
24056	s.Tags = v
24057	return s
24058}
24059
24060// SetType sets the Type field's value.
24061func (s *Resource) SetType(v string) *Resource {
24062	s.Type = &v
24063	return s
24064}
24065
24066// The resource specified in the request conflicts with an existing resource.
24067type ResourceConflictException struct {
24068	_            struct{}                  `type:"structure"`
24069	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24070
24071	Code_ *string `locationName:"Code" type:"string"`
24072
24073	Message_ *string `locationName:"Message" type:"string"`
24074}
24075
24076// String returns the string representation
24077func (s ResourceConflictException) String() string {
24078	return awsutil.Prettify(s)
24079}
24080
24081// GoString returns the string representation
24082func (s ResourceConflictException) GoString() string {
24083	return s.String()
24084}
24085
24086func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
24087	return &ResourceConflictException{
24088		RespMetadata: v,
24089	}
24090}
24091
24092// Code returns the exception type name.
24093func (s *ResourceConflictException) Code() string {
24094	return "ResourceConflictException"
24095}
24096
24097// Message returns the exception's message.
24098func (s *ResourceConflictException) Message() string {
24099	if s.Message_ != nil {
24100		return *s.Message_
24101	}
24102	return ""
24103}
24104
24105// OrigErr always returns nil, satisfies awserr.Error interface.
24106func (s *ResourceConflictException) OrigErr() error {
24107	return nil
24108}
24109
24110func (s *ResourceConflictException) Error() string {
24111	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
24112}
24113
24114// Status code returns the HTTP status code for the request's response error.
24115func (s *ResourceConflictException) StatusCode() int {
24116	return s.RespMetadata.StatusCode
24117}
24118
24119// RequestID returns the service's response RequestID for request.
24120func (s *ResourceConflictException) RequestID() string {
24121	return s.RespMetadata.RequestID
24122}
24123
24124// Additional details about a resource related to a finding.
24125//
24126// To provide the details, use the object that corresponds to the resource type.
24127// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
24128// object to provide the details.
24129//
24130// If the type-specific object does not contain all of the fields you want to
24131// populate, then you use the Other object to populate those additional fields.
24132//
24133// You also use the Other object to populate the details when the selected type
24134// does not have a corresponding object.
24135type ResourceDetails struct {
24136	_ struct{} `type:"structure"`
24137
24138	// Provides information about a REST API in version 1 of Amazon API Gateway.
24139	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
24140
24141	// Provides information about a version 1 Amazon API Gateway stage.
24142	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
24143
24144	// Provides information about a version 2 API in Amazon API Gateway.
24145	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
24146
24147	// Provides information about a version 2 stage for Amazon API Gateway.
24148	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
24149
24150	// Details for an autoscaling group.
24151	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
24152
24153	// Provides details about an AWS Certificate Manager (ACM) certificate.
24154	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
24155
24156	// Details about a CloudFront distribution.
24157	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
24158
24159	// Provides details about a CloudTrail trail.
24160	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
24161
24162	// Details for an AWS CodeBuild project.
24163	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
24164
24165	// Details about a DynamoDB table.
24166	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
24167
24168	// Details about an Elastic IP address.
24169	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
24170
24171	// Details about an Amazon EC2 instance related to a finding.
24172	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
24173
24174	// Details for an Amazon EC2 network interface.
24175	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
24176
24177	// Details for an EC2 security group.
24178	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
24179
24180	// Details for an EC2 volume.
24181	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
24182
24183	// Details for an EC2 VPC.
24184	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
24185
24186	// Details for an Elasticsearch domain.
24187	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
24188
24189	// contains details about a Classic Load Balancer.
24190	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
24191
24192	// Details about a load balancer.
24193	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
24194
24195	// Details about an IAM access key related to a finding.
24196	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
24197
24198	// Contains details about an IAM group.
24199	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
24200
24201	// Details about an IAM permissions policy.
24202	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
24203
24204	// Details about an IAM role.
24205	AwsIamRole *AwsIamRoleDetails `type:"structure"`
24206
24207	// Details about an IAM user.
24208	AwsIamUser *AwsIamUserDetails `type:"structure"`
24209
24210	// Details about a KMS key.
24211	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
24212
24213	// Details about a Lambda function.
24214	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
24215
24216	// Details for a Lambda layer version.
24217	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
24218
24219	// Details about an Amazon RDS database cluster.
24220	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
24221
24222	// Details about an Amazon RDS database cluster snapshot.
24223	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
24224
24225	// Details about an Amazon RDS database instance.
24226	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
24227
24228	// Details about an Amazon RDS database snapshot.
24229	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
24230
24231	// Contains details about an Amazon Redshift cluster.
24232	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
24233
24234	// Details about an Amazon S3 bucket related to a finding.
24235	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
24236
24237	// Details about an Amazon S3 object related to a finding.
24238	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
24239
24240	// Details about a Secrets Manager secret.
24241	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
24242
24243	// Details about an SNS topic.
24244	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
24245
24246	// Details about an SQS queue.
24247	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
24248
24249	// Provides information about the state of a patch on an instance based on the
24250	// patch baseline that was used to patch the instance.
24251	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
24252
24253	// Details for a WAF WebACL.
24254	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
24255
24256	// Details about a container resource related to a finding.
24257	Container *ContainerDetails `type:"structure"`
24258
24259	// Details about a resource that are not available in a type-specific details
24260	// object. Use the Other object in the following cases.
24261	//
24262	//    * The type-specific object does not contain all of the fields that you
24263	//    want to populate. In this case, first use the type-specific object to
24264	//    populate those fields. Use the Other object to populate the fields that
24265	//    are missing from the type-specific object.
24266	//
24267	//    * The resource type does not have a corresponding object. This includes
24268	//    resources for which the type is Other.
24269	Other map[string]*string `type:"map"`
24270}
24271
24272// String returns the string representation
24273func (s ResourceDetails) String() string {
24274	return awsutil.Prettify(s)
24275}
24276
24277// GoString returns the string representation
24278func (s ResourceDetails) GoString() string {
24279	return s.String()
24280}
24281
24282// Validate inspects the fields of the type to determine if they are valid.
24283func (s *ResourceDetails) Validate() error {
24284	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
24285	if s.AwsIamRole != nil {
24286		if err := s.AwsIamRole.Validate(); err != nil {
24287			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
24288		}
24289	}
24290
24291	if invalidParams.Len() > 0 {
24292		return invalidParams
24293	}
24294	return nil
24295}
24296
24297// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
24298func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
24299	s.AwsApiGatewayRestApi = v
24300	return s
24301}
24302
24303// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
24304func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
24305	s.AwsApiGatewayStage = v
24306	return s
24307}
24308
24309// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
24310func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
24311	s.AwsApiGatewayV2Api = v
24312	return s
24313}
24314
24315// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
24316func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
24317	s.AwsApiGatewayV2Stage = v
24318	return s
24319}
24320
24321// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
24322func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
24323	s.AwsAutoScalingAutoScalingGroup = v
24324	return s
24325}
24326
24327// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
24328func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
24329	s.AwsCertificateManagerCertificate = v
24330	return s
24331}
24332
24333// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
24334func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
24335	s.AwsCloudFrontDistribution = v
24336	return s
24337}
24338
24339// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
24340func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
24341	s.AwsCloudTrailTrail = v
24342	return s
24343}
24344
24345// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
24346func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
24347	s.AwsCodeBuildProject = v
24348	return s
24349}
24350
24351// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
24352func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
24353	s.AwsDynamoDbTable = v
24354	return s
24355}
24356
24357// SetAwsEc2Eip sets the AwsEc2Eip field's value.
24358func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
24359	s.AwsEc2Eip = v
24360	return s
24361}
24362
24363// SetAwsEc2Instance sets the AwsEc2Instance field's value.
24364func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
24365	s.AwsEc2Instance = v
24366	return s
24367}
24368
24369// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
24370func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
24371	s.AwsEc2NetworkInterface = v
24372	return s
24373}
24374
24375// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
24376func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
24377	s.AwsEc2SecurityGroup = v
24378	return s
24379}
24380
24381// SetAwsEc2Volume sets the AwsEc2Volume field's value.
24382func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
24383	s.AwsEc2Volume = v
24384	return s
24385}
24386
24387// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
24388func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
24389	s.AwsEc2Vpc = v
24390	return s
24391}
24392
24393// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
24394func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
24395	s.AwsElasticsearchDomain = v
24396	return s
24397}
24398
24399// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
24400func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
24401	s.AwsElbLoadBalancer = v
24402	return s
24403}
24404
24405// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
24406func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
24407	s.AwsElbv2LoadBalancer = v
24408	return s
24409}
24410
24411// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
24412func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
24413	s.AwsIamAccessKey = v
24414	return s
24415}
24416
24417// SetAwsIamGroup sets the AwsIamGroup field's value.
24418func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
24419	s.AwsIamGroup = v
24420	return s
24421}
24422
24423// SetAwsIamPolicy sets the AwsIamPolicy field's value.
24424func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
24425	s.AwsIamPolicy = v
24426	return s
24427}
24428
24429// SetAwsIamRole sets the AwsIamRole field's value.
24430func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
24431	s.AwsIamRole = v
24432	return s
24433}
24434
24435// SetAwsIamUser sets the AwsIamUser field's value.
24436func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
24437	s.AwsIamUser = v
24438	return s
24439}
24440
24441// SetAwsKmsKey sets the AwsKmsKey field's value.
24442func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
24443	s.AwsKmsKey = v
24444	return s
24445}
24446
24447// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
24448func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
24449	s.AwsLambdaFunction = v
24450	return s
24451}
24452
24453// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
24454func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
24455	s.AwsLambdaLayerVersion = v
24456	return s
24457}
24458
24459// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
24460func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
24461	s.AwsRdsDbCluster = v
24462	return s
24463}
24464
24465// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
24466func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
24467	s.AwsRdsDbClusterSnapshot = v
24468	return s
24469}
24470
24471// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
24472func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
24473	s.AwsRdsDbInstance = v
24474	return s
24475}
24476
24477// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
24478func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
24479	s.AwsRdsDbSnapshot = v
24480	return s
24481}
24482
24483// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
24484func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
24485	s.AwsRedshiftCluster = v
24486	return s
24487}
24488
24489// SetAwsS3Bucket sets the AwsS3Bucket field's value.
24490func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
24491	s.AwsS3Bucket = v
24492	return s
24493}
24494
24495// SetAwsS3Object sets the AwsS3Object field's value.
24496func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
24497	s.AwsS3Object = v
24498	return s
24499}
24500
24501// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
24502func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
24503	s.AwsSecretsManagerSecret = v
24504	return s
24505}
24506
24507// SetAwsSnsTopic sets the AwsSnsTopic field's value.
24508func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
24509	s.AwsSnsTopic = v
24510	return s
24511}
24512
24513// SetAwsSqsQueue sets the AwsSqsQueue field's value.
24514func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
24515	s.AwsSqsQueue = v
24516	return s
24517}
24518
24519// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
24520func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
24521	s.AwsSsmPatchCompliance = v
24522	return s
24523}
24524
24525// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
24526func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
24527	s.AwsWafWebAcl = v
24528	return s
24529}
24530
24531// SetContainer sets the Container field's value.
24532func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
24533	s.Container = v
24534	return s
24535}
24536
24537// SetOther sets the Other field's value.
24538func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
24539	s.Other = v
24540	return s
24541}
24542
24543// The request was rejected because we can't find the specified resource.
24544type ResourceNotFoundException struct {
24545	_            struct{}                  `type:"structure"`
24546	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24547
24548	Code_ *string `locationName:"Code" type:"string"`
24549
24550	Message_ *string `locationName:"Message" type:"string"`
24551}
24552
24553// String returns the string representation
24554func (s ResourceNotFoundException) String() string {
24555	return awsutil.Prettify(s)
24556}
24557
24558// GoString returns the string representation
24559func (s ResourceNotFoundException) GoString() string {
24560	return s.String()
24561}
24562
24563func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
24564	return &ResourceNotFoundException{
24565		RespMetadata: v,
24566	}
24567}
24568
24569// Code returns the exception type name.
24570func (s *ResourceNotFoundException) Code() string {
24571	return "ResourceNotFoundException"
24572}
24573
24574// Message returns the exception's message.
24575func (s *ResourceNotFoundException) Message() string {
24576	if s.Message_ != nil {
24577		return *s.Message_
24578	}
24579	return ""
24580}
24581
24582// OrigErr always returns nil, satisfies awserr.Error interface.
24583func (s *ResourceNotFoundException) OrigErr() error {
24584	return nil
24585}
24586
24587func (s *ResourceNotFoundException) Error() string {
24588	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
24589}
24590
24591// Status code returns the HTTP status code for the request's response error.
24592func (s *ResourceNotFoundException) StatusCode() int {
24593	return s.RespMetadata.StatusCode
24594}
24595
24596// RequestID returns the service's response RequestID for request.
24597func (s *ResourceNotFoundException) RequestID() string {
24598	return s.RespMetadata.RequestID
24599}
24600
24601// Details about the account that was not processed.
24602type Result struct {
24603	_ struct{} `type:"structure"`
24604
24605	// An AWS account ID of the account that was not processed.
24606	AccountId *string `type:"string"`
24607
24608	// The reason that the account was not processed.
24609	ProcessingResult *string `type:"string"`
24610}
24611
24612// String returns the string representation
24613func (s Result) String() string {
24614	return awsutil.Prettify(s)
24615}
24616
24617// GoString returns the string representation
24618func (s Result) GoString() string {
24619	return s.String()
24620}
24621
24622// SetAccountId sets the AccountId field's value.
24623func (s *Result) SetAccountId(v string) *Result {
24624	s.AccountId = &v
24625	return s
24626}
24627
24628// SetProcessingResult sets the ProcessingResult field's value.
24629func (s *Result) SetProcessingResult(v string) *Result {
24630	s.ProcessingResult = &v
24631	return s
24632}
24633
24634// The severity of the finding.
24635//
24636// The finding provider can provide the initial severity. The finding provider
24637// can only update the severity if it has not been updated using BatchUpdateFindings.
24638//
24639// The finding must have either Label or Normalized populated. If only one of
24640// these attributes is populated, then Security Hub automatically populates
24641// the other one. If neither attribute is populated, then the finding is invalid.
24642// Label is the preferred attribute.
24643type Severity struct {
24644	_ struct{} `type:"structure"`
24645
24646	// The severity value of the finding. The allowed values are the following.
24647	//
24648	//    * INFORMATIONAL - No issue was found.
24649	//
24650	//    * LOW - The issue does not require action on its own.
24651	//
24652	//    * MEDIUM - The issue must be addressed but not urgently.
24653	//
24654	//    * HIGH - The issue must be addressed as a priority.
24655	//
24656	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
24657	//
24658	// If you provide Normalized and do not provide Label, then Label is set automatically
24659	// as follows.
24660	//
24661	//    * 0 - INFORMATIONAL
24662	//
24663	//    * 1–39 - LOW
24664	//
24665	//    * 40–69 - MEDIUM
24666	//
24667	//    * 70–89 - HIGH
24668	//
24669	//    * 90–100 - CRITICAL
24670	Label *string `type:"string" enum:"SeverityLabel"`
24671
24672	// Deprecated. The normalized severity of a finding. This attribute is being
24673	// deprecated. Instead of providing Normalized, provide Label.
24674	//
24675	// If you provide Label and do not provide Normalized, then Normalized is set
24676	// automatically as follows.
24677	//
24678	//    * INFORMATIONAL - 0
24679	//
24680	//    * LOW - 1
24681	//
24682	//    * MEDIUM - 40
24683	//
24684	//    * HIGH - 70
24685	//
24686	//    * CRITICAL - 90
24687	Normalized *int64 `type:"integer"`
24688
24689	// The native severity from the finding product that generated the finding.
24690	Original *string `type:"string"`
24691
24692	// Deprecated. This attribute is being deprecated. Instead of providing Product,
24693	// provide Original.
24694	//
24695	// The native severity as defined by the AWS service or integrated partner product
24696	// that generated the finding.
24697	Product *float64 `type:"double"`
24698}
24699
24700// String returns the string representation
24701func (s Severity) String() string {
24702	return awsutil.Prettify(s)
24703}
24704
24705// GoString returns the string representation
24706func (s Severity) GoString() string {
24707	return s.String()
24708}
24709
24710// SetLabel sets the Label field's value.
24711func (s *Severity) SetLabel(v string) *Severity {
24712	s.Label = &v
24713	return s
24714}
24715
24716// SetNormalized sets the Normalized field's value.
24717func (s *Severity) SetNormalized(v int64) *Severity {
24718	s.Normalized = &v
24719	return s
24720}
24721
24722// SetOriginal sets the Original field's value.
24723func (s *Severity) SetOriginal(v string) *Severity {
24724	s.Original = &v
24725	return s
24726}
24727
24728// SetProduct sets the Product field's value.
24729func (s *Severity) SetProduct(v float64) *Severity {
24730	s.Product = &v
24731	return s
24732}
24733
24734// Updates to the severity information for a finding.
24735type SeverityUpdate struct {
24736	_ struct{} `type:"structure"`
24737
24738	// The severity value of the finding. The allowed values are the following.
24739	//
24740	//    * INFORMATIONAL - No issue was found.
24741	//
24742	//    * LOW - The issue does not require action on its own.
24743	//
24744	//    * MEDIUM - The issue must be addressed but not urgently.
24745	//
24746	//    * HIGH - The issue must be addressed as a priority.
24747	//
24748	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
24749	Label *string `type:"string" enum:"SeverityLabel"`
24750
24751	// The normalized severity for the finding. This attribute is to be deprecated
24752	// in favor of Label.
24753	//
24754	// If you provide Normalized and do not provide Label, Label is set automatically
24755	// as follows.
24756	//
24757	//    * 0 - INFORMATIONAL
24758	//
24759	//    * 1–39 - LOW
24760	//
24761	//    * 40–69 - MEDIUM
24762	//
24763	//    * 70–89 - HIGH
24764	//
24765	//    * 90–100 - CRITICAL
24766	Normalized *int64 `type:"integer"`
24767
24768	// The native severity as defined by the AWS service or integrated partner product
24769	// that generated the finding.
24770	Product *float64 `type:"double"`
24771}
24772
24773// String returns the string representation
24774func (s SeverityUpdate) String() string {
24775	return awsutil.Prettify(s)
24776}
24777
24778// GoString returns the string representation
24779func (s SeverityUpdate) GoString() string {
24780	return s.String()
24781}
24782
24783// SetLabel sets the Label field's value.
24784func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
24785	s.Label = &v
24786	return s
24787}
24788
24789// SetNormalized sets the Normalized field's value.
24790func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
24791	s.Normalized = &v
24792	return s
24793}
24794
24795// SetProduct sets the Product field's value.
24796func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
24797	s.Product = &v
24798	return s
24799}
24800
24801// Information about a software package.
24802type SoftwarePackage struct {
24803	_ struct{} `type:"structure"`
24804
24805	// The architecture used for the software package.
24806	Architecture *string `type:"string"`
24807
24808	// The epoch of the software package.
24809	Epoch *string `type:"string"`
24810
24811	// The name of the software package.
24812	Name *string `type:"string"`
24813
24814	// The release of the software package.
24815	Release *string `type:"string"`
24816
24817	// The version of the software package.
24818	Version *string `type:"string"`
24819}
24820
24821// String returns the string representation
24822func (s SoftwarePackage) String() string {
24823	return awsutil.Prettify(s)
24824}
24825
24826// GoString returns the string representation
24827func (s SoftwarePackage) GoString() string {
24828	return s.String()
24829}
24830
24831// SetArchitecture sets the Architecture field's value.
24832func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
24833	s.Architecture = &v
24834	return s
24835}
24836
24837// SetEpoch sets the Epoch field's value.
24838func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
24839	s.Epoch = &v
24840	return s
24841}
24842
24843// SetName sets the Name field's value.
24844func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
24845	s.Name = &v
24846	return s
24847}
24848
24849// SetRelease sets the Release field's value.
24850func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
24851	s.Release = &v
24852	return s
24853}
24854
24855// SetVersion sets the Version field's value.
24856func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
24857	s.Version = &v
24858	return s
24859}
24860
24861// A collection of finding attributes used to sort findings.
24862type SortCriterion struct {
24863	_ struct{} `type:"structure"`
24864
24865	// The finding attribute used to sort findings.
24866	Field *string `type:"string"`
24867
24868	// The order used to sort findings.
24869	SortOrder *string `type:"string" enum:"SortOrder"`
24870}
24871
24872// String returns the string representation
24873func (s SortCriterion) String() string {
24874	return awsutil.Prettify(s)
24875}
24876
24877// GoString returns the string representation
24878func (s SortCriterion) GoString() string {
24879	return s.String()
24880}
24881
24882// SetField sets the Field field's value.
24883func (s *SortCriterion) SetField(v string) *SortCriterion {
24884	s.Field = &v
24885	return s
24886}
24887
24888// SetSortOrder sets the SortOrder field's value.
24889func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
24890	s.SortOrder = &v
24891	return s
24892}
24893
24894// Provides information about a specific standard.
24895type Standard struct {
24896	_ struct{} `type:"structure"`
24897
24898	// A description of the standard.
24899	Description *string `type:"string"`
24900
24901	// Whether the standard is enabled by default. When Security Hub is enabled
24902	// from the console, if a standard is enabled by default, the check box for
24903	// that standard is selected by default.
24904	//
24905	// When Security Hub is enabled using the EnableSecurityHub API operation, the
24906	// standard is enabled by default unless EnableDefaultStandards is set to false.
24907	EnabledByDefault *bool `type:"boolean"`
24908
24909	// The name of the standard.
24910	Name *string `type:"string"`
24911
24912	// The ARN of a standard.
24913	StandardsArn *string `type:"string"`
24914}
24915
24916// String returns the string representation
24917func (s Standard) String() string {
24918	return awsutil.Prettify(s)
24919}
24920
24921// GoString returns the string representation
24922func (s Standard) GoString() string {
24923	return s.String()
24924}
24925
24926// SetDescription sets the Description field's value.
24927func (s *Standard) SetDescription(v string) *Standard {
24928	s.Description = &v
24929	return s
24930}
24931
24932// SetEnabledByDefault sets the EnabledByDefault field's value.
24933func (s *Standard) SetEnabledByDefault(v bool) *Standard {
24934	s.EnabledByDefault = &v
24935	return s
24936}
24937
24938// SetName sets the Name field's value.
24939func (s *Standard) SetName(v string) *Standard {
24940	s.Name = &v
24941	return s
24942}
24943
24944// SetStandardsArn sets the StandardsArn field's value.
24945func (s *Standard) SetStandardsArn(v string) *Standard {
24946	s.StandardsArn = &v
24947	return s
24948}
24949
24950// Details for an individual security standard control.
24951type StandardsControl struct {
24952	_ struct{} `type:"structure"`
24953
24954	// The identifier of the security standard control.
24955	ControlId *string `type:"string"`
24956
24957	// The current status of the security standard control. Indicates whether the
24958	// control is enabled or disabled. Security Hub does not check against disabled
24959	// controls.
24960	ControlStatus *string `type:"string" enum:"ControlStatus"`
24961
24962	// The date and time that the status of the security standard control was most
24963	// recently updated.
24964	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24965
24966	// The longer description of the security standard control. Provides information
24967	// about what the control is checking for.
24968	Description *string `type:"string"`
24969
24970	// The reason provided for the most recent change in status for the control.
24971	DisabledReason *string `type:"string"`
24972
24973	// The list of requirements that are related to this control.
24974	RelatedRequirements []*string `type:"list"`
24975
24976	// A link to remediation information for the control in the Security Hub user
24977	// documentation.
24978	RemediationUrl *string `type:"string"`
24979
24980	// The severity of findings generated from this security standard control.
24981	//
24982	// The finding severity is based on an assessment of how easy it would be to
24983	// compromise AWS resources if the issue is detected.
24984	SeverityRating *string `type:"string" enum:"SeverityRating"`
24985
24986	// The ARN of the security standard control.
24987	StandardsControlArn *string `type:"string"`
24988
24989	// The title of the security standard control.
24990	Title *string `type:"string"`
24991}
24992
24993// String returns the string representation
24994func (s StandardsControl) String() string {
24995	return awsutil.Prettify(s)
24996}
24997
24998// GoString returns the string representation
24999func (s StandardsControl) GoString() string {
25000	return s.String()
25001}
25002
25003// SetControlId sets the ControlId field's value.
25004func (s *StandardsControl) SetControlId(v string) *StandardsControl {
25005	s.ControlId = &v
25006	return s
25007}
25008
25009// SetControlStatus sets the ControlStatus field's value.
25010func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
25011	s.ControlStatus = &v
25012	return s
25013}
25014
25015// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
25016func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
25017	s.ControlStatusUpdatedAt = &v
25018	return s
25019}
25020
25021// SetDescription sets the Description field's value.
25022func (s *StandardsControl) SetDescription(v string) *StandardsControl {
25023	s.Description = &v
25024	return s
25025}
25026
25027// SetDisabledReason sets the DisabledReason field's value.
25028func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
25029	s.DisabledReason = &v
25030	return s
25031}
25032
25033// SetRelatedRequirements sets the RelatedRequirements field's value.
25034func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
25035	s.RelatedRequirements = v
25036	return s
25037}
25038
25039// SetRemediationUrl sets the RemediationUrl field's value.
25040func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
25041	s.RemediationUrl = &v
25042	return s
25043}
25044
25045// SetSeverityRating sets the SeverityRating field's value.
25046func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
25047	s.SeverityRating = &v
25048	return s
25049}
25050
25051// SetStandardsControlArn sets the StandardsControlArn field's value.
25052func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
25053	s.StandardsControlArn = &v
25054	return s
25055}
25056
25057// SetTitle sets the Title field's value.
25058func (s *StandardsControl) SetTitle(v string) *StandardsControl {
25059	s.Title = &v
25060	return s
25061}
25062
25063// A resource that represents your subscription to a supported standard.
25064type StandardsSubscription struct {
25065	_ struct{} `type:"structure"`
25066
25067	// The ARN of a standard.
25068	//
25069	// StandardsArn is a required field
25070	StandardsArn *string `type:"string" required:"true"`
25071
25072	// A key-value pair of input for the standard.
25073	//
25074	// StandardsInput is a required field
25075	StandardsInput map[string]*string `type:"map" required:"true"`
25076
25077	// The status of the standard subscription.
25078	//
25079	// The status values are as follows:
25080	//
25081	//    * PENDING - Standard is in the process of being enabled.
25082	//
25083	//    * READY - Standard is enabled.
25084	//
25085	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
25086	//    may not be available.
25087	//
25088	//    * DELETING - Standard is in the process of being disabled.
25089	//
25090	//    * FAILED - Standard could not be disabled.
25091	//
25092	// StandardsStatus is a required field
25093	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
25094
25095	// The ARN of a resource that represents your subscription to a supported standard.
25096	//
25097	// StandardsSubscriptionArn is a required field
25098	StandardsSubscriptionArn *string `type:"string" required:"true"`
25099}
25100
25101// String returns the string representation
25102func (s StandardsSubscription) String() string {
25103	return awsutil.Prettify(s)
25104}
25105
25106// GoString returns the string representation
25107func (s StandardsSubscription) GoString() string {
25108	return s.String()
25109}
25110
25111// SetStandardsArn sets the StandardsArn field's value.
25112func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
25113	s.StandardsArn = &v
25114	return s
25115}
25116
25117// SetStandardsInput sets the StandardsInput field's value.
25118func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
25119	s.StandardsInput = v
25120	return s
25121}
25122
25123// SetStandardsStatus sets the StandardsStatus field's value.
25124func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
25125	s.StandardsStatus = &v
25126	return s
25127}
25128
25129// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
25130func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
25131	s.StandardsSubscriptionArn = &v
25132	return s
25133}
25134
25135// The standard that you want to enable.
25136type StandardsSubscriptionRequest struct {
25137	_ struct{} `type:"structure"`
25138
25139	// The ARN of the standard that you want to enable. To view the list of available
25140	// standards and their ARNs, use the DescribeStandards operation.
25141	//
25142	// StandardsArn is a required field
25143	StandardsArn *string `type:"string" required:"true"`
25144
25145	// A key-value pair of input for the standard.
25146	StandardsInput map[string]*string `type:"map"`
25147}
25148
25149// String returns the string representation
25150func (s StandardsSubscriptionRequest) String() string {
25151	return awsutil.Prettify(s)
25152}
25153
25154// GoString returns the string representation
25155func (s StandardsSubscriptionRequest) GoString() string {
25156	return s.String()
25157}
25158
25159// Validate inspects the fields of the type to determine if they are valid.
25160func (s *StandardsSubscriptionRequest) Validate() error {
25161	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
25162	if s.StandardsArn == nil {
25163		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
25164	}
25165
25166	if invalidParams.Len() > 0 {
25167		return invalidParams
25168	}
25169	return nil
25170}
25171
25172// SetStandardsArn sets the StandardsArn field's value.
25173func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
25174	s.StandardsArn = &v
25175	return s
25176}
25177
25178// SetStandardsInput sets the StandardsInput field's value.
25179func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
25180	s.StandardsInput = v
25181	return s
25182}
25183
25184// Provides additional context for the value of Compliance.Status.
25185type StatusReason struct {
25186	_ struct{} `type:"structure"`
25187
25188	// The corresponding description for the status reason code.
25189	Description *string `type:"string"`
25190
25191	// A code that represents a reason for the control status. For the list of status
25192	// reason codes and their meanings, see Standards-related information in the
25193	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
25194	// in the AWS Security Hub User Guide.
25195	//
25196	// ReasonCode is a required field
25197	ReasonCode *string `type:"string" required:"true"`
25198}
25199
25200// String returns the string representation
25201func (s StatusReason) String() string {
25202	return awsutil.Prettify(s)
25203}
25204
25205// GoString returns the string representation
25206func (s StatusReason) GoString() string {
25207	return s.String()
25208}
25209
25210// Validate inspects the fields of the type to determine if they are valid.
25211func (s *StatusReason) Validate() error {
25212	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
25213	if s.ReasonCode == nil {
25214		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
25215	}
25216
25217	if invalidParams.Len() > 0 {
25218		return invalidParams
25219	}
25220	return nil
25221}
25222
25223// SetDescription sets the Description field's value.
25224func (s *StatusReason) SetDescription(v string) *StatusReason {
25225	s.Description = &v
25226	return s
25227}
25228
25229// SetReasonCode sets the ReasonCode field's value.
25230func (s *StatusReason) SetReasonCode(v string) *StatusReason {
25231	s.ReasonCode = &v
25232	return s
25233}
25234
25235// A string filter for querying findings.
25236type StringFilter struct {
25237	_ struct{} `type:"structure"`
25238
25239	// The condition to apply to a string value when querying for findings. To search
25240	// for values that contain the filter criteria value, use one of the following
25241	// comparison operators:
25242	//
25243	//    * To search for values that exactly match the filter value, use EQUALS.
25244	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
25245	//    findings that have a resource type of AwsEc2SecurityGroup.
25246	//
25247	//    * To search for values that start with the filter value, use PREFIX. For
25248	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
25249	//    a resource type that starts with AwsIam. Findings with a resource type
25250	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
25251	//
25252	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
25253	// if it matches any one of those filters.
25254	//
25255	// To search for values that do not contain the filter criteria value, use one
25256	// of the following comparison operators:
25257	//
25258	//    * To search for values that do not exactly match the filter value, use
25259	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
25260	//    matches findings that have a resource type other than AwsIamPolicy.
25261	//
25262	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
25263	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
25264	//    findings that have a resource type that does not start with AwsIam. Findings
25265	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
25266	//    all be excluded from the results.
25267	//
25268	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
25269	// AND. A finding matches only if it matches all of those filters.
25270	//
25271	// For filters on the same field, you cannot provide both an EQUALS filter and
25272	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
25273	// returns an error, even if the provided filter values would return valid results.
25274	//
25275	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
25276	// for the same field. Security Hub first processes the PREFIX filters, then
25277	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
25278	//
25279	// For example, for the following filter, Security Hub first identifies findings
25280	// that have resource types that start with either AwsIAM or AwsEc2. It then
25281	// excludes findings that have a resource type of AwsIamPolicy and findings
25282	// that have a resource type of AwsEc2NetworkInterface.
25283	//
25284	//    * ResourceType PREFIX AwsIam
25285	//
25286	//    * ResourceType PREFIX AwsEc2
25287	//
25288	//    * ResourceType NOT_EQUALS AwsIamPolicy
25289	//
25290	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
25291	Comparison *string `type:"string" enum:"StringFilterComparison"`
25292
25293	// The string filter value. Filter values are case sensitive. For example, the
25294	// product name for control-based findings is Security Hub. If you provide security
25295	// hub as the filter text, then there is no match.
25296	Value *string `type:"string"`
25297}
25298
25299// String returns the string representation
25300func (s StringFilter) String() string {
25301	return awsutil.Prettify(s)
25302}
25303
25304// GoString returns the string representation
25305func (s StringFilter) GoString() string {
25306	return s.String()
25307}
25308
25309// SetComparison sets the Comparison field's value.
25310func (s *StringFilter) SetComparison(v string) *StringFilter {
25311	s.Comparison = &v
25312	return s
25313}
25314
25315// SetValue sets the Value field's value.
25316func (s *StringFilter) SetValue(v string) *StringFilter {
25317	s.Value = &v
25318	return s
25319}
25320
25321type TagResourceInput struct {
25322	_ struct{} `type:"structure"`
25323
25324	// The ARN of the resource to apply the tags to.
25325	//
25326	// ResourceArn is a required field
25327	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
25328
25329	// The tags to add to the resource.
25330	//
25331	// Tags is a required field
25332	Tags map[string]*string `min:"1" type:"map" required:"true"`
25333}
25334
25335// String returns the string representation
25336func (s TagResourceInput) String() string {
25337	return awsutil.Prettify(s)
25338}
25339
25340// GoString returns the string representation
25341func (s TagResourceInput) GoString() string {
25342	return s.String()
25343}
25344
25345// Validate inspects the fields of the type to determine if they are valid.
25346func (s *TagResourceInput) Validate() error {
25347	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
25348	if s.ResourceArn == nil {
25349		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
25350	}
25351	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
25352		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
25353	}
25354	if s.Tags == nil {
25355		invalidParams.Add(request.NewErrParamRequired("Tags"))
25356	}
25357	if s.Tags != nil && len(s.Tags) < 1 {
25358		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
25359	}
25360
25361	if invalidParams.Len() > 0 {
25362		return invalidParams
25363	}
25364	return nil
25365}
25366
25367// SetResourceArn sets the ResourceArn field's value.
25368func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
25369	s.ResourceArn = &v
25370	return s
25371}
25372
25373// SetTags sets the Tags field's value.
25374func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
25375	s.Tags = v
25376	return s
25377}
25378
25379type TagResourceOutput struct {
25380	_ struct{} `type:"structure"`
25381}
25382
25383// String returns the string representation
25384func (s TagResourceOutput) String() string {
25385	return awsutil.Prettify(s)
25386}
25387
25388// GoString returns the string representation
25389func (s TagResourceOutput) GoString() string {
25390	return s.String()
25391}
25392
25393// Details about the threat intelligence related to a finding.
25394type ThreatIntelIndicator struct {
25395	_ struct{} `type:"structure"`
25396
25397	// The category of a threat intelligence indicator.
25398	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
25399
25400	// Indicates when the most recent instance of a threat intelligence indicator
25401	// was observed.
25402	//
25403	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25404	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25405	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25406	LastObservedAt *string `type:"string"`
25407
25408	// The source of the threat intelligence indicator.
25409	Source *string `type:"string"`
25410
25411	// The URL to the page or site where you can get more information about the
25412	// threat intelligence indicator.
25413	SourceUrl *string `type:"string"`
25414
25415	// The type of threat intelligence indicator.
25416	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
25417
25418	// The value of a threat intelligence indicator.
25419	Value *string `type:"string"`
25420}
25421
25422// String returns the string representation
25423func (s ThreatIntelIndicator) String() string {
25424	return awsutil.Prettify(s)
25425}
25426
25427// GoString returns the string representation
25428func (s ThreatIntelIndicator) GoString() string {
25429	return s.String()
25430}
25431
25432// SetCategory sets the Category field's value.
25433func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
25434	s.Category = &v
25435	return s
25436}
25437
25438// SetLastObservedAt sets the LastObservedAt field's value.
25439func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
25440	s.LastObservedAt = &v
25441	return s
25442}
25443
25444// SetSource sets the Source field's value.
25445func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
25446	s.Source = &v
25447	return s
25448}
25449
25450// SetSourceUrl sets the SourceUrl field's value.
25451func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
25452	s.SourceUrl = &v
25453	return s
25454}
25455
25456// SetType sets the Type field's value.
25457func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
25458	s.Type = &v
25459	return s
25460}
25461
25462// SetValue sets the Value field's value.
25463func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
25464	s.Value = &v
25465	return s
25466}
25467
25468type UntagResourceInput struct {
25469	_ struct{} `type:"structure"`
25470
25471	// The ARN of the resource to remove the tags from.
25472	//
25473	// ResourceArn is a required field
25474	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
25475
25476	// The tag keys associated with the tags to remove from the resource.
25477	//
25478	// TagKeys is a required field
25479	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
25480}
25481
25482// String returns the string representation
25483func (s UntagResourceInput) String() string {
25484	return awsutil.Prettify(s)
25485}
25486
25487// GoString returns the string representation
25488func (s UntagResourceInput) GoString() string {
25489	return s.String()
25490}
25491
25492// Validate inspects the fields of the type to determine if they are valid.
25493func (s *UntagResourceInput) Validate() error {
25494	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
25495	if s.ResourceArn == nil {
25496		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
25497	}
25498	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
25499		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
25500	}
25501	if s.TagKeys == nil {
25502		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
25503	}
25504	if s.TagKeys != nil && len(s.TagKeys) < 1 {
25505		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
25506	}
25507
25508	if invalidParams.Len() > 0 {
25509		return invalidParams
25510	}
25511	return nil
25512}
25513
25514// SetResourceArn sets the ResourceArn field's value.
25515func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
25516	s.ResourceArn = &v
25517	return s
25518}
25519
25520// SetTagKeys sets the TagKeys field's value.
25521func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
25522	s.TagKeys = v
25523	return s
25524}
25525
25526type UntagResourceOutput struct {
25527	_ struct{} `type:"structure"`
25528}
25529
25530// String returns the string representation
25531func (s UntagResourceOutput) String() string {
25532	return awsutil.Prettify(s)
25533}
25534
25535// GoString returns the string representation
25536func (s UntagResourceOutput) GoString() string {
25537	return s.String()
25538}
25539
25540type UpdateActionTargetInput struct {
25541	_ struct{} `type:"structure"`
25542
25543	// The ARN of the custom action target to update.
25544	//
25545	// ActionTargetArn is a required field
25546	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
25547
25548	// The updated description for the custom action target.
25549	Description *string `type:"string"`
25550
25551	// The updated name of the custom action target.
25552	Name *string `type:"string"`
25553}
25554
25555// String returns the string representation
25556func (s UpdateActionTargetInput) String() string {
25557	return awsutil.Prettify(s)
25558}
25559
25560// GoString returns the string representation
25561func (s UpdateActionTargetInput) GoString() string {
25562	return s.String()
25563}
25564
25565// Validate inspects the fields of the type to determine if they are valid.
25566func (s *UpdateActionTargetInput) Validate() error {
25567	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
25568	if s.ActionTargetArn == nil {
25569		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
25570	}
25571	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
25572		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
25573	}
25574
25575	if invalidParams.Len() > 0 {
25576		return invalidParams
25577	}
25578	return nil
25579}
25580
25581// SetActionTargetArn sets the ActionTargetArn field's value.
25582func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
25583	s.ActionTargetArn = &v
25584	return s
25585}
25586
25587// SetDescription sets the Description field's value.
25588func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
25589	s.Description = &v
25590	return s
25591}
25592
25593// SetName sets the Name field's value.
25594func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
25595	s.Name = &v
25596	return s
25597}
25598
25599type UpdateActionTargetOutput struct {
25600	_ struct{} `type:"structure"`
25601}
25602
25603// String returns the string representation
25604func (s UpdateActionTargetOutput) String() string {
25605	return awsutil.Prettify(s)
25606}
25607
25608// GoString returns the string representation
25609func (s UpdateActionTargetOutput) GoString() string {
25610	return s.String()
25611}
25612
25613type UpdateFindingsInput struct {
25614	_ struct{} `type:"structure"`
25615
25616	// A collection of attributes that specify which findings you want to update.
25617	//
25618	// Filters is a required field
25619	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
25620
25621	// The updated note for the finding.
25622	Note *NoteUpdate `type:"structure"`
25623
25624	// The updated record state for the finding.
25625	RecordState *string `type:"string" enum:"RecordState"`
25626}
25627
25628// String returns the string representation
25629func (s UpdateFindingsInput) String() string {
25630	return awsutil.Prettify(s)
25631}
25632
25633// GoString returns the string representation
25634func (s UpdateFindingsInput) GoString() string {
25635	return s.String()
25636}
25637
25638// Validate inspects the fields of the type to determine if they are valid.
25639func (s *UpdateFindingsInput) Validate() error {
25640	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
25641	if s.Filters == nil {
25642		invalidParams.Add(request.NewErrParamRequired("Filters"))
25643	}
25644	if s.Note != nil {
25645		if err := s.Note.Validate(); err != nil {
25646			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
25647		}
25648	}
25649
25650	if invalidParams.Len() > 0 {
25651		return invalidParams
25652	}
25653	return nil
25654}
25655
25656// SetFilters sets the Filters field's value.
25657func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
25658	s.Filters = v
25659	return s
25660}
25661
25662// SetNote sets the Note field's value.
25663func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
25664	s.Note = v
25665	return s
25666}
25667
25668// SetRecordState sets the RecordState field's value.
25669func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
25670	s.RecordState = &v
25671	return s
25672}
25673
25674type UpdateFindingsOutput struct {
25675	_ struct{} `type:"structure"`
25676}
25677
25678// String returns the string representation
25679func (s UpdateFindingsOutput) String() string {
25680	return awsutil.Prettify(s)
25681}
25682
25683// GoString returns the string representation
25684func (s UpdateFindingsOutput) GoString() string {
25685	return s.String()
25686}
25687
25688type UpdateInsightInput struct {
25689	_ struct{} `type:"structure"`
25690
25691	// The updated filters that define this insight.
25692	Filters *AwsSecurityFindingFilters `type:"structure"`
25693
25694	// The updated GroupBy attribute that defines this insight.
25695	GroupByAttribute *string `type:"string"`
25696
25697	// The ARN of the insight that you want to update.
25698	//
25699	// InsightArn is a required field
25700	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
25701
25702	// The updated name for the insight.
25703	Name *string `type:"string"`
25704}
25705
25706// String returns the string representation
25707func (s UpdateInsightInput) String() string {
25708	return awsutil.Prettify(s)
25709}
25710
25711// GoString returns the string representation
25712func (s UpdateInsightInput) GoString() string {
25713	return s.String()
25714}
25715
25716// Validate inspects the fields of the type to determine if they are valid.
25717func (s *UpdateInsightInput) Validate() error {
25718	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
25719	if s.InsightArn == nil {
25720		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
25721	}
25722	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
25723		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
25724	}
25725
25726	if invalidParams.Len() > 0 {
25727		return invalidParams
25728	}
25729	return nil
25730}
25731
25732// SetFilters sets the Filters field's value.
25733func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
25734	s.Filters = v
25735	return s
25736}
25737
25738// SetGroupByAttribute sets the GroupByAttribute field's value.
25739func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
25740	s.GroupByAttribute = &v
25741	return s
25742}
25743
25744// SetInsightArn sets the InsightArn field's value.
25745func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
25746	s.InsightArn = &v
25747	return s
25748}
25749
25750// SetName sets the Name field's value.
25751func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
25752	s.Name = &v
25753	return s
25754}
25755
25756type UpdateInsightOutput struct {
25757	_ struct{} `type:"structure"`
25758}
25759
25760// String returns the string representation
25761func (s UpdateInsightOutput) String() string {
25762	return awsutil.Prettify(s)
25763}
25764
25765// GoString returns the string representation
25766func (s UpdateInsightOutput) GoString() string {
25767	return s.String()
25768}
25769
25770type UpdateOrganizationConfigurationInput struct {
25771	_ struct{} `type:"structure"`
25772
25773	// Whether to automatically enable Security Hub for new accounts in the organization.
25774	//
25775	// By default, this is false, and new accounts are not added automatically.
25776	//
25777	// To automatically enable Security Hub for new accounts, set this to true.
25778	//
25779	// AutoEnable is a required field
25780	AutoEnable *bool `type:"boolean" required:"true"`
25781}
25782
25783// String returns the string representation
25784func (s UpdateOrganizationConfigurationInput) String() string {
25785	return awsutil.Prettify(s)
25786}
25787
25788// GoString returns the string representation
25789func (s UpdateOrganizationConfigurationInput) GoString() string {
25790	return s.String()
25791}
25792
25793// Validate inspects the fields of the type to determine if they are valid.
25794func (s *UpdateOrganizationConfigurationInput) Validate() error {
25795	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
25796	if s.AutoEnable == nil {
25797		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
25798	}
25799
25800	if invalidParams.Len() > 0 {
25801		return invalidParams
25802	}
25803	return nil
25804}
25805
25806// SetAutoEnable sets the AutoEnable field's value.
25807func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
25808	s.AutoEnable = &v
25809	return s
25810}
25811
25812type UpdateOrganizationConfigurationOutput struct {
25813	_ struct{} `type:"structure"`
25814}
25815
25816// String returns the string representation
25817func (s UpdateOrganizationConfigurationOutput) String() string {
25818	return awsutil.Prettify(s)
25819}
25820
25821// GoString returns the string representation
25822func (s UpdateOrganizationConfigurationOutput) GoString() string {
25823	return s.String()
25824}
25825
25826type UpdateSecurityHubConfigurationInput struct {
25827	_ struct{} `type:"structure"`
25828
25829	// Whether to automatically enable new controls when they are added to standards
25830	// that are enabled.
25831	//
25832	// By default, this is set to true, and new controls are enabled automatically.
25833	// To not automatically enable new controls, set this to false.
25834	AutoEnableControls *bool `type:"boolean"`
25835}
25836
25837// String returns the string representation
25838func (s UpdateSecurityHubConfigurationInput) String() string {
25839	return awsutil.Prettify(s)
25840}
25841
25842// GoString returns the string representation
25843func (s UpdateSecurityHubConfigurationInput) GoString() string {
25844	return s.String()
25845}
25846
25847// SetAutoEnableControls sets the AutoEnableControls field's value.
25848func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
25849	s.AutoEnableControls = &v
25850	return s
25851}
25852
25853type UpdateSecurityHubConfigurationOutput struct {
25854	_ struct{} `type:"structure"`
25855}
25856
25857// String returns the string representation
25858func (s UpdateSecurityHubConfigurationOutput) String() string {
25859	return awsutil.Prettify(s)
25860}
25861
25862// GoString returns the string representation
25863func (s UpdateSecurityHubConfigurationOutput) GoString() string {
25864	return s.String()
25865}
25866
25867type UpdateStandardsControlInput struct {
25868	_ struct{} `type:"structure"`
25869
25870	// The updated status of the security standard control.
25871	ControlStatus *string `type:"string" enum:"ControlStatus"`
25872
25873	// A description of the reason why you are disabling a security standard control.
25874	// If you are disabling a control, then this is required.
25875	DisabledReason *string `type:"string"`
25876
25877	// The ARN of the security standard control to enable or disable.
25878	//
25879	// StandardsControlArn is a required field
25880	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
25881}
25882
25883// String returns the string representation
25884func (s UpdateStandardsControlInput) String() string {
25885	return awsutil.Prettify(s)
25886}
25887
25888// GoString returns the string representation
25889func (s UpdateStandardsControlInput) GoString() string {
25890	return s.String()
25891}
25892
25893// Validate inspects the fields of the type to determine if they are valid.
25894func (s *UpdateStandardsControlInput) Validate() error {
25895	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
25896	if s.StandardsControlArn == nil {
25897		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
25898	}
25899	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
25900		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
25901	}
25902
25903	if invalidParams.Len() > 0 {
25904		return invalidParams
25905	}
25906	return nil
25907}
25908
25909// SetControlStatus sets the ControlStatus field's value.
25910func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
25911	s.ControlStatus = &v
25912	return s
25913}
25914
25915// SetDisabledReason sets the DisabledReason field's value.
25916func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
25917	s.DisabledReason = &v
25918	return s
25919}
25920
25921// SetStandardsControlArn sets the StandardsControlArn field's value.
25922func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
25923	s.StandardsControlArn = &v
25924	return s
25925}
25926
25927type UpdateStandardsControlOutput struct {
25928	_ struct{} `type:"structure"`
25929}
25930
25931// String returns the string representation
25932func (s UpdateStandardsControlOutput) String() string {
25933	return awsutil.Prettify(s)
25934}
25935
25936// GoString returns the string representation
25937func (s UpdateStandardsControlOutput) GoString() string {
25938	return s.String()
25939}
25940
25941// A vulnerability associated with a finding.
25942type Vulnerability struct {
25943	_ struct{} `type:"structure"`
25944
25945	// CVSS scores from the advisory related to the vulnerability.
25946	Cvss []*Cvss `type:"list"`
25947
25948	// The identifier of the vulnerability.
25949	//
25950	// Id is a required field
25951	Id *string `type:"string" required:"true"`
25952
25953	// A list of URLs that provide additional information about the vulnerability.
25954	ReferenceUrls []*string `type:"list"`
25955
25956	// List of vulnerabilities that are related to this vulnerability.
25957	RelatedVulnerabilities []*string `type:"list"`
25958
25959	// Information about the vendor that generates the vulnerability report.
25960	Vendor *VulnerabilityVendor `type:"structure"`
25961
25962	// List of software packages that have the vulnerability.
25963	VulnerablePackages []*SoftwarePackage `type:"list"`
25964}
25965
25966// String returns the string representation
25967func (s Vulnerability) String() string {
25968	return awsutil.Prettify(s)
25969}
25970
25971// GoString returns the string representation
25972func (s Vulnerability) GoString() string {
25973	return s.String()
25974}
25975
25976// Validate inspects the fields of the type to determine if they are valid.
25977func (s *Vulnerability) Validate() error {
25978	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
25979	if s.Id == nil {
25980		invalidParams.Add(request.NewErrParamRequired("Id"))
25981	}
25982	if s.Vendor != nil {
25983		if err := s.Vendor.Validate(); err != nil {
25984			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
25985		}
25986	}
25987
25988	if invalidParams.Len() > 0 {
25989		return invalidParams
25990	}
25991	return nil
25992}
25993
25994// SetCvss sets the Cvss field's value.
25995func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
25996	s.Cvss = v
25997	return s
25998}
25999
26000// SetId sets the Id field's value.
26001func (s *Vulnerability) SetId(v string) *Vulnerability {
26002	s.Id = &v
26003	return s
26004}
26005
26006// SetReferenceUrls sets the ReferenceUrls field's value.
26007func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
26008	s.ReferenceUrls = v
26009	return s
26010}
26011
26012// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
26013func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
26014	s.RelatedVulnerabilities = v
26015	return s
26016}
26017
26018// SetVendor sets the Vendor field's value.
26019func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
26020	s.Vendor = v
26021	return s
26022}
26023
26024// SetVulnerablePackages sets the VulnerablePackages field's value.
26025func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
26026	s.VulnerablePackages = v
26027	return s
26028}
26029
26030// A vendor that generates a vulnerability report.
26031type VulnerabilityVendor struct {
26032	_ struct{} `type:"structure"`
26033
26034	// The name of the vendor.
26035	//
26036	// Name is a required field
26037	Name *string `type:"string" required:"true"`
26038
26039	// The URL of the vulnerability advisory.
26040	Url *string `type:"string"`
26041
26042	// Indicates when the vulnerability advisory was created.
26043	//
26044	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
26045	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
26046	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
26047	VendorCreatedAt *string `type:"string"`
26048
26049	// The severity that the vendor assigned to the vulnerability.
26050	VendorSeverity *string `type:"string"`
26051
26052	// Indicates when the vulnerability advisory was last updated.
26053	//
26054	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
26055	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
26056	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
26057	VendorUpdatedAt *string `type:"string"`
26058}
26059
26060// String returns the string representation
26061func (s VulnerabilityVendor) String() string {
26062	return awsutil.Prettify(s)
26063}
26064
26065// GoString returns the string representation
26066func (s VulnerabilityVendor) GoString() string {
26067	return s.String()
26068}
26069
26070// Validate inspects the fields of the type to determine if they are valid.
26071func (s *VulnerabilityVendor) Validate() error {
26072	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
26073	if s.Name == nil {
26074		invalidParams.Add(request.NewErrParamRequired("Name"))
26075	}
26076
26077	if invalidParams.Len() > 0 {
26078		return invalidParams
26079	}
26080	return nil
26081}
26082
26083// SetName sets the Name field's value.
26084func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
26085	s.Name = &v
26086	return s
26087}
26088
26089// SetUrl sets the Url field's value.
26090func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
26091	s.Url = &v
26092	return s
26093}
26094
26095// SetVendorCreatedAt sets the VendorCreatedAt field's value.
26096func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
26097	s.VendorCreatedAt = &v
26098	return s
26099}
26100
26101// SetVendorSeverity sets the VendorSeverity field's value.
26102func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
26103	s.VendorSeverity = &v
26104	return s
26105}
26106
26107// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
26108func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
26109	s.VendorUpdatedAt = &v
26110	return s
26111}
26112
26113// Details about the action that CloudFront or AWS WAF takes when a web request
26114// matches the conditions in the rule.
26115type WafAction struct {
26116	_ struct{} `type:"structure"`
26117
26118	// Specifies how you want AWS WAF to respond to requests that match the settings
26119	// in a rule.
26120	//
26121	// Valid settings include the following:
26122	//
26123	//    * ALLOW - AWS WAF allows requests
26124	//
26125	//    * BLOCK - AWS WAF blocks requests
26126	//
26127	//    * COUNT - AWS WAF increments a counter of the requests that match all
26128	//    of the conditions in the rule. AWS WAF then continues to inspect the web
26129	//    request based on the remaining rules in the web ACL. You can't specify
26130	//    COUNT for the default action for a WebACL.
26131	Type *string `type:"string"`
26132}
26133
26134// String returns the string representation
26135func (s WafAction) String() string {
26136	return awsutil.Prettify(s)
26137}
26138
26139// GoString returns the string representation
26140func (s WafAction) GoString() string {
26141	return s.String()
26142}
26143
26144// SetType sets the Type field's value.
26145func (s *WafAction) SetType(v string) *WafAction {
26146	s.Type = &v
26147	return s
26148}
26149
26150// Details about a rule to exclude from a rule group.
26151type WafExcludedRule struct {
26152	_ struct{} `type:"structure"`
26153
26154	// The unique identifier for the rule to exclude from the rule group.
26155	RuleId *string `type:"string"`
26156}
26157
26158// String returns the string representation
26159func (s WafExcludedRule) String() string {
26160	return awsutil.Prettify(s)
26161}
26162
26163// GoString returns the string representation
26164func (s WafExcludedRule) GoString() string {
26165	return s.String()
26166}
26167
26168// SetRuleId sets the RuleId field's value.
26169func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
26170	s.RuleId = &v
26171	return s
26172}
26173
26174// Details about an override action for a rule.
26175type WafOverrideAction struct {
26176	_ struct{} `type:"structure"`
26177
26178	// COUNT overrides the action specified by the individual rule within a RuleGroup .
26179	//
26180	// If set to NONE, the rule's action takes place.
26181	Type *string `type:"string"`
26182}
26183
26184// String returns the string representation
26185func (s WafOverrideAction) String() string {
26186	return awsutil.Prettify(s)
26187}
26188
26189// GoString returns the string representation
26190func (s WafOverrideAction) GoString() string {
26191	return s.String()
26192}
26193
26194// SetType sets the Type field's value.
26195func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
26196	s.Type = &v
26197	return s
26198}
26199
26200// Provides information about the status of the investigation into a finding.
26201type Workflow struct {
26202	_ struct{} `type:"structure"`
26203
26204	// The status of the investigation into the finding. The allowed values are
26205	// the following.
26206	//
26207	//    * NEW - The initial state of a finding, before it is reviewed. Security
26208	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
26209	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
26210	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
26211	//
26212	//    * NOTIFIED - Indicates that you notified the resource owner about the
26213	//    security issue. Used when the initial reviewer is not the resource owner,
26214	//    and needs intervention from the resource owner.
26215	//
26216	//    * SUPPRESSED - The finding will not be reviewed again and will not be
26217	//    acted upon.
26218	//
26219	//    * RESOLVED - The finding was reviewed and remediated and is now considered
26220	//    resolved.
26221	Status *string `type:"string" enum:"WorkflowStatus"`
26222}
26223
26224// String returns the string representation
26225func (s Workflow) String() string {
26226	return awsutil.Prettify(s)
26227}
26228
26229// GoString returns the string representation
26230func (s Workflow) GoString() string {
26231	return s.String()
26232}
26233
26234// SetStatus sets the Status field's value.
26235func (s *Workflow) SetStatus(v string) *Workflow {
26236	s.Status = &v
26237	return s
26238}
26239
26240// Used to update information about the investigation into the finding.
26241type WorkflowUpdate struct {
26242	_ struct{} `type:"structure"`
26243
26244	// The status of the investigation into the finding. The allowed values are
26245	// the following.
26246	//
26247	//    * NEW - The initial state of a finding, before it is reviewed. Security
26248	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
26249	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
26250	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
26251	//
26252	//    * NOTIFIED - Indicates that you notified the resource owner about the
26253	//    security issue. Used when the initial reviewer is not the resource owner,
26254	//    and needs intervention from the resource owner.
26255	//
26256	//    * RESOLVED - The finding was reviewed and remediated and is now considered
26257	//    resolved.
26258	//
26259	//    * SUPPRESSED - The finding will not be reviewed again and will not be
26260	//    acted upon.
26261	Status *string `type:"string" enum:"WorkflowStatus"`
26262}
26263
26264// String returns the string representation
26265func (s WorkflowUpdate) String() string {
26266	return awsutil.Prettify(s)
26267}
26268
26269// GoString returns the string representation
26270func (s WorkflowUpdate) GoString() string {
26271	return s.String()
26272}
26273
26274// SetStatus sets the Status field's value.
26275func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
26276	s.Status = &v
26277	return s
26278}
26279
26280const (
26281	// AdminStatusEnabled is a AdminStatus enum value
26282	AdminStatusEnabled = "ENABLED"
26283
26284	// AdminStatusDisableInProgress is a AdminStatus enum value
26285	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
26286)
26287
26288// AdminStatus_Values returns all elements of the AdminStatus enum
26289func AdminStatus_Values() []string {
26290	return []string{
26291		AdminStatusEnabled,
26292		AdminStatusDisableInProgress,
26293	}
26294}
26295
26296const (
26297	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
26298	AwsIamAccessKeyStatusActive = "Active"
26299
26300	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
26301	AwsIamAccessKeyStatusInactive = "Inactive"
26302)
26303
26304// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
26305func AwsIamAccessKeyStatus_Values() []string {
26306	return []string{
26307		AwsIamAccessKeyStatusActive,
26308		AwsIamAccessKeyStatusInactive,
26309	}
26310}
26311
26312const (
26313	// ComplianceStatusPassed is a ComplianceStatus enum value
26314	ComplianceStatusPassed = "PASSED"
26315
26316	// ComplianceStatusWarning is a ComplianceStatus enum value
26317	ComplianceStatusWarning = "WARNING"
26318
26319	// ComplianceStatusFailed is a ComplianceStatus enum value
26320	ComplianceStatusFailed = "FAILED"
26321
26322	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
26323	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
26324)
26325
26326// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
26327func ComplianceStatus_Values() []string {
26328	return []string{
26329		ComplianceStatusPassed,
26330		ComplianceStatusWarning,
26331		ComplianceStatusFailed,
26332		ComplianceStatusNotAvailable,
26333	}
26334}
26335
26336const (
26337	// ControlStatusEnabled is a ControlStatus enum value
26338	ControlStatusEnabled = "ENABLED"
26339
26340	// ControlStatusDisabled is a ControlStatus enum value
26341	ControlStatusDisabled = "DISABLED"
26342)
26343
26344// ControlStatus_Values returns all elements of the ControlStatus enum
26345func ControlStatus_Values() []string {
26346	return []string{
26347		ControlStatusEnabled,
26348		ControlStatusDisabled,
26349	}
26350}
26351
26352const (
26353	// DateRangeUnitDays is a DateRangeUnit enum value
26354	DateRangeUnitDays = "DAYS"
26355)
26356
26357// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
26358func DateRangeUnit_Values() []string {
26359	return []string{
26360		DateRangeUnitDays,
26361	}
26362}
26363
26364const (
26365	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
26366	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
26367
26368	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
26369	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
26370)
26371
26372// IntegrationType_Values returns all elements of the IntegrationType enum
26373func IntegrationType_Values() []string {
26374	return []string{
26375		IntegrationTypeSendFindingsToSecurityHub,
26376		IntegrationTypeReceiveFindingsFromSecurityHub,
26377	}
26378}
26379
26380const (
26381	// MalwareStateObserved is a MalwareState enum value
26382	MalwareStateObserved = "OBSERVED"
26383
26384	// MalwareStateRemovalFailed is a MalwareState enum value
26385	MalwareStateRemovalFailed = "REMOVAL_FAILED"
26386
26387	// MalwareStateRemoved is a MalwareState enum value
26388	MalwareStateRemoved = "REMOVED"
26389)
26390
26391// MalwareState_Values returns all elements of the MalwareState enum
26392func MalwareState_Values() []string {
26393	return []string{
26394		MalwareStateObserved,
26395		MalwareStateRemovalFailed,
26396		MalwareStateRemoved,
26397	}
26398}
26399
26400const (
26401	// MalwareTypeAdware is a MalwareType enum value
26402	MalwareTypeAdware = "ADWARE"
26403
26404	// MalwareTypeBlendedThreat is a MalwareType enum value
26405	MalwareTypeBlendedThreat = "BLENDED_THREAT"
26406
26407	// MalwareTypeBotnetAgent is a MalwareType enum value
26408	MalwareTypeBotnetAgent = "BOTNET_AGENT"
26409
26410	// MalwareTypeCoinMiner is a MalwareType enum value
26411	MalwareTypeCoinMiner = "COIN_MINER"
26412
26413	// MalwareTypeExploitKit is a MalwareType enum value
26414	MalwareTypeExploitKit = "EXPLOIT_KIT"
26415
26416	// MalwareTypeKeylogger is a MalwareType enum value
26417	MalwareTypeKeylogger = "KEYLOGGER"
26418
26419	// MalwareTypeMacro is a MalwareType enum value
26420	MalwareTypeMacro = "MACRO"
26421
26422	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
26423	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
26424
26425	// MalwareTypeSpyware is a MalwareType enum value
26426	MalwareTypeSpyware = "SPYWARE"
26427
26428	// MalwareTypeRansomware is a MalwareType enum value
26429	MalwareTypeRansomware = "RANSOMWARE"
26430
26431	// MalwareTypeRemoteAccess is a MalwareType enum value
26432	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
26433
26434	// MalwareTypeRootkit is a MalwareType enum value
26435	MalwareTypeRootkit = "ROOTKIT"
26436
26437	// MalwareTypeTrojan is a MalwareType enum value
26438	MalwareTypeTrojan = "TROJAN"
26439
26440	// MalwareTypeVirus is a MalwareType enum value
26441	MalwareTypeVirus = "VIRUS"
26442
26443	// MalwareTypeWorm is a MalwareType enum value
26444	MalwareTypeWorm = "WORM"
26445)
26446
26447// MalwareType_Values returns all elements of the MalwareType enum
26448func MalwareType_Values() []string {
26449	return []string{
26450		MalwareTypeAdware,
26451		MalwareTypeBlendedThreat,
26452		MalwareTypeBotnetAgent,
26453		MalwareTypeCoinMiner,
26454		MalwareTypeExploitKit,
26455		MalwareTypeKeylogger,
26456		MalwareTypeMacro,
26457		MalwareTypePotentiallyUnwanted,
26458		MalwareTypeSpyware,
26459		MalwareTypeRansomware,
26460		MalwareTypeRemoteAccess,
26461		MalwareTypeRootkit,
26462		MalwareTypeTrojan,
26463		MalwareTypeVirus,
26464		MalwareTypeWorm,
26465	}
26466}
26467
26468const (
26469	// MapFilterComparisonEquals is a MapFilterComparison enum value
26470	MapFilterComparisonEquals = "EQUALS"
26471
26472	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
26473	MapFilterComparisonNotEquals = "NOT_EQUALS"
26474)
26475
26476// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
26477func MapFilterComparison_Values() []string {
26478	return []string{
26479		MapFilterComparisonEquals,
26480		MapFilterComparisonNotEquals,
26481	}
26482}
26483
26484const (
26485	// NetworkDirectionIn is a NetworkDirection enum value
26486	NetworkDirectionIn = "IN"
26487
26488	// NetworkDirectionOut is a NetworkDirection enum value
26489	NetworkDirectionOut = "OUT"
26490)
26491
26492// NetworkDirection_Values returns all elements of the NetworkDirection enum
26493func NetworkDirection_Values() []string {
26494	return []string{
26495		NetworkDirectionIn,
26496		NetworkDirectionOut,
26497	}
26498}
26499
26500const (
26501	// PartitionAws is a Partition enum value
26502	PartitionAws = "aws"
26503
26504	// PartitionAwsCn is a Partition enum value
26505	PartitionAwsCn = "aws-cn"
26506
26507	// PartitionAwsUsGov is a Partition enum value
26508	PartitionAwsUsGov = "aws-us-gov"
26509)
26510
26511// Partition_Values returns all elements of the Partition enum
26512func Partition_Values() []string {
26513	return []string{
26514		PartitionAws,
26515		PartitionAwsCn,
26516		PartitionAwsUsGov,
26517	}
26518}
26519
26520const (
26521	// RecordStateActive is a RecordState enum value
26522	RecordStateActive = "ACTIVE"
26523
26524	// RecordStateArchived is a RecordState enum value
26525	RecordStateArchived = "ARCHIVED"
26526)
26527
26528// RecordState_Values returns all elements of the RecordState enum
26529func RecordState_Values() []string {
26530	return []string{
26531		RecordStateActive,
26532		RecordStateArchived,
26533	}
26534}
26535
26536const (
26537	// SeverityLabelInformational is a SeverityLabel enum value
26538	SeverityLabelInformational = "INFORMATIONAL"
26539
26540	// SeverityLabelLow is a SeverityLabel enum value
26541	SeverityLabelLow = "LOW"
26542
26543	// SeverityLabelMedium is a SeverityLabel enum value
26544	SeverityLabelMedium = "MEDIUM"
26545
26546	// SeverityLabelHigh is a SeverityLabel enum value
26547	SeverityLabelHigh = "HIGH"
26548
26549	// SeverityLabelCritical is a SeverityLabel enum value
26550	SeverityLabelCritical = "CRITICAL"
26551)
26552
26553// SeverityLabel_Values returns all elements of the SeverityLabel enum
26554func SeverityLabel_Values() []string {
26555	return []string{
26556		SeverityLabelInformational,
26557		SeverityLabelLow,
26558		SeverityLabelMedium,
26559		SeverityLabelHigh,
26560		SeverityLabelCritical,
26561	}
26562}
26563
26564const (
26565	// SeverityRatingLow is a SeverityRating enum value
26566	SeverityRatingLow = "LOW"
26567
26568	// SeverityRatingMedium is a SeverityRating enum value
26569	SeverityRatingMedium = "MEDIUM"
26570
26571	// SeverityRatingHigh is a SeverityRating enum value
26572	SeverityRatingHigh = "HIGH"
26573
26574	// SeverityRatingCritical is a SeverityRating enum value
26575	SeverityRatingCritical = "CRITICAL"
26576)
26577
26578// SeverityRating_Values returns all elements of the SeverityRating enum
26579func SeverityRating_Values() []string {
26580	return []string{
26581		SeverityRatingLow,
26582		SeverityRatingMedium,
26583		SeverityRatingHigh,
26584		SeverityRatingCritical,
26585	}
26586}
26587
26588const (
26589	// SortOrderAsc is a SortOrder enum value
26590	SortOrderAsc = "asc"
26591
26592	// SortOrderDesc is a SortOrder enum value
26593	SortOrderDesc = "desc"
26594)
26595
26596// SortOrder_Values returns all elements of the SortOrder enum
26597func SortOrder_Values() []string {
26598	return []string{
26599		SortOrderAsc,
26600		SortOrderDesc,
26601	}
26602}
26603
26604const (
26605	// StandardsStatusPending is a StandardsStatus enum value
26606	StandardsStatusPending = "PENDING"
26607
26608	// StandardsStatusReady is a StandardsStatus enum value
26609	StandardsStatusReady = "READY"
26610
26611	// StandardsStatusFailed is a StandardsStatus enum value
26612	StandardsStatusFailed = "FAILED"
26613
26614	// StandardsStatusDeleting is a StandardsStatus enum value
26615	StandardsStatusDeleting = "DELETING"
26616
26617	// StandardsStatusIncomplete is a StandardsStatus enum value
26618	StandardsStatusIncomplete = "INCOMPLETE"
26619)
26620
26621// StandardsStatus_Values returns all elements of the StandardsStatus enum
26622func StandardsStatus_Values() []string {
26623	return []string{
26624		StandardsStatusPending,
26625		StandardsStatusReady,
26626		StandardsStatusFailed,
26627		StandardsStatusDeleting,
26628		StandardsStatusIncomplete,
26629	}
26630}
26631
26632const (
26633	// StringFilterComparisonEquals is a StringFilterComparison enum value
26634	StringFilterComparisonEquals = "EQUALS"
26635
26636	// StringFilterComparisonPrefix is a StringFilterComparison enum value
26637	StringFilterComparisonPrefix = "PREFIX"
26638
26639	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
26640	StringFilterComparisonNotEquals = "NOT_EQUALS"
26641
26642	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
26643	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
26644)
26645
26646// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
26647func StringFilterComparison_Values() []string {
26648	return []string{
26649		StringFilterComparisonEquals,
26650		StringFilterComparisonPrefix,
26651		StringFilterComparisonNotEquals,
26652		StringFilterComparisonPrefixNotEquals,
26653	}
26654}
26655
26656const (
26657	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
26658	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
26659
26660	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
26661	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
26662
26663	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
26664	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
26665
26666	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
26667	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
26668
26669	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
26670	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
26671
26672	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
26673	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
26674)
26675
26676// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
26677func ThreatIntelIndicatorCategory_Values() []string {
26678	return []string{
26679		ThreatIntelIndicatorCategoryBackdoor,
26680		ThreatIntelIndicatorCategoryCardStealer,
26681		ThreatIntelIndicatorCategoryCommandAndControl,
26682		ThreatIntelIndicatorCategoryDropSite,
26683		ThreatIntelIndicatorCategoryExploitSite,
26684		ThreatIntelIndicatorCategoryKeylogger,
26685	}
26686}
26687
26688const (
26689	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
26690	ThreatIntelIndicatorTypeDomain = "DOMAIN"
26691
26692	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
26693	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
26694
26695	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
26696	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
26697
26698	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
26699	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
26700
26701	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
26702	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
26703
26704	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
26705	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
26706
26707	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
26708	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
26709
26710	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
26711	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
26712
26713	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
26714	ThreatIntelIndicatorTypeMutex = "MUTEX"
26715
26716	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
26717	ThreatIntelIndicatorTypeProcess = "PROCESS"
26718
26719	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
26720	ThreatIntelIndicatorTypeUrl = "URL"
26721)
26722
26723// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
26724func ThreatIntelIndicatorType_Values() []string {
26725	return []string{
26726		ThreatIntelIndicatorTypeDomain,
26727		ThreatIntelIndicatorTypeEmailAddress,
26728		ThreatIntelIndicatorTypeHashMd5,
26729		ThreatIntelIndicatorTypeHashSha1,
26730		ThreatIntelIndicatorTypeHashSha256,
26731		ThreatIntelIndicatorTypeHashSha512,
26732		ThreatIntelIndicatorTypeIpv4Address,
26733		ThreatIntelIndicatorTypeIpv6Address,
26734		ThreatIntelIndicatorTypeMutex,
26735		ThreatIntelIndicatorTypeProcess,
26736		ThreatIntelIndicatorTypeUrl,
26737	}
26738}
26739
26740const (
26741	// VerificationStateUnknown is a VerificationState enum value
26742	VerificationStateUnknown = "UNKNOWN"
26743
26744	// VerificationStateTruePositive is a VerificationState enum value
26745	VerificationStateTruePositive = "TRUE_POSITIVE"
26746
26747	// VerificationStateFalsePositive is a VerificationState enum value
26748	VerificationStateFalsePositive = "FALSE_POSITIVE"
26749
26750	// VerificationStateBenignPositive is a VerificationState enum value
26751	VerificationStateBenignPositive = "BENIGN_POSITIVE"
26752)
26753
26754// VerificationState_Values returns all elements of the VerificationState enum
26755func VerificationState_Values() []string {
26756	return []string{
26757		VerificationStateUnknown,
26758		VerificationStateTruePositive,
26759		VerificationStateFalsePositive,
26760		VerificationStateBenignPositive,
26761	}
26762}
26763
26764const (
26765	// WorkflowStateNew is a WorkflowState enum value
26766	WorkflowStateNew = "NEW"
26767
26768	// WorkflowStateAssigned is a WorkflowState enum value
26769	WorkflowStateAssigned = "ASSIGNED"
26770
26771	// WorkflowStateInProgress is a WorkflowState enum value
26772	WorkflowStateInProgress = "IN_PROGRESS"
26773
26774	// WorkflowStateDeferred is a WorkflowState enum value
26775	WorkflowStateDeferred = "DEFERRED"
26776
26777	// WorkflowStateResolved is a WorkflowState enum value
26778	WorkflowStateResolved = "RESOLVED"
26779)
26780
26781// WorkflowState_Values returns all elements of the WorkflowState enum
26782func WorkflowState_Values() []string {
26783	return []string{
26784		WorkflowStateNew,
26785		WorkflowStateAssigned,
26786		WorkflowStateInProgress,
26787		WorkflowStateDeferred,
26788		WorkflowStateResolved,
26789	}
26790}
26791
26792const (
26793	// WorkflowStatusNew is a WorkflowStatus enum value
26794	WorkflowStatusNew = "NEW"
26795
26796	// WorkflowStatusNotified is a WorkflowStatus enum value
26797	WorkflowStatusNotified = "NOTIFIED"
26798
26799	// WorkflowStatusResolved is a WorkflowStatus enum value
26800	WorkflowStatusResolved = "RESOLVED"
26801
26802	// WorkflowStatusSuppressed is a WorkflowStatus enum value
26803	WorkflowStatusSuppressed = "SUPPRESSED"
26804)
26805
26806// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
26807func WorkflowStatus_Values() []string {
26808	return []string{
26809		WorkflowStatusNew,
26810		WorkflowStatusNotified,
26811		WorkflowStatusResolved,
26812		WorkflowStatusSuppressed,
26813	}
26814}
26815