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// When the member account accepts the invitation, permission is granted to
65// the master account to view findings generated in the member account.
66//
67// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
68// with awserr.Error's Code and Message methods to get detailed information about
69// the error.
70//
71// See the AWS API reference guide for AWS SecurityHub's
72// API operation AcceptInvitation for usage and error information.
73//
74// Returned Error Types:
75//   * InternalException
76//   Internal server error.
77//
78//   * InvalidInputException
79//   The request was rejected because you supplied an invalid or out-of-range
80//   value for an input parameter.
81//
82//   * LimitExceededException
83//   The request was rejected because it attempted to create resources beyond
84//   the current AWS account limits. The error code describes the limit exceeded.
85//
86//   * ResourceNotFoundException
87//   The request was rejected because we can't find the specified resource.
88//
89//   * InvalidAccessException
90//   AWS Security Hub isn't enabled for the account used to make this request.
91//
92// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
93func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
94	req, out := c.AcceptInvitationRequest(input)
95	return out, req.Send()
96}
97
98// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
99// the ability to pass a context and additional request options.
100//
101// See AcceptInvitation for details on how to use this API operation.
102//
103// The context must be non-nil and will be used for request cancellation. If
104// the context is nil a panic will occur. In the future the SDK may create
105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
106// for more information on using Contexts.
107func (c *SecurityHub) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
108	req, out := c.AcceptInvitationRequest(input)
109	req.SetContext(ctx)
110	req.ApplyOptions(opts...)
111	return out, req.Send()
112}
113
114const opBatchDisableStandards = "BatchDisableStandards"
115
116// BatchDisableStandardsRequest generates a "aws/request.Request" representing the
117// client's request for the BatchDisableStandards operation. The "output" return
118// value will be populated with the request's response once the request completes
119// successfully.
120//
121// Use "Send" method on the returned Request to send the API call to the service.
122// the "output" return value is not valid until after Send returns without error.
123//
124// See BatchDisableStandards for more information on using the BatchDisableStandards
125// API call, and error handling.
126//
127// This method is useful when you want to inject custom logic or configuration
128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
129//
130//
131//    // Example sending a request using the BatchDisableStandardsRequest method.
132//    req, resp := client.BatchDisableStandardsRequest(params)
133//
134//    err := req.Send()
135//    if err == nil { // resp is now filled
136//        fmt.Println(resp)
137//    }
138//
139// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
140func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsInput) (req *request.Request, output *BatchDisableStandardsOutput) {
141	op := &request.Operation{
142		Name:       opBatchDisableStandards,
143		HTTPMethod: "POST",
144		HTTPPath:   "/standards/deregister",
145	}
146
147	if input == nil {
148		input = &BatchDisableStandardsInput{}
149	}
150
151	output = &BatchDisableStandardsOutput{}
152	req = c.newRequest(op, input, output)
153	return
154}
155
156// BatchDisableStandards API operation for AWS SecurityHub.
157//
158// Disables the standards specified by the provided StandardsSubscriptionArns.
159//
160// For more information, see Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
161// section of the AWS Security Hub User Guide.
162//
163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
164// with awserr.Error's Code and Message methods to get detailed information about
165// the error.
166//
167// See the AWS API reference guide for AWS SecurityHub's
168// API operation BatchDisableStandards for usage and error information.
169//
170// Returned Error Types:
171//   * InternalException
172//   Internal server error.
173//
174//   * InvalidInputException
175//   The request was rejected because you supplied an invalid or out-of-range
176//   value for an input parameter.
177//
178//   * InvalidAccessException
179//   AWS Security Hub isn't enabled for the account used to make this request.
180//
181//   * LimitExceededException
182//   The request was rejected because it attempted to create resources beyond
183//   the current AWS account limits. The error code describes the limit exceeded.
184//
185// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
186func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) {
187	req, out := c.BatchDisableStandardsRequest(input)
188	return out, req.Send()
189}
190
191// BatchDisableStandardsWithContext is the same as BatchDisableStandards with the addition of
192// the ability to pass a context and additional request options.
193//
194// See BatchDisableStandards for details on how to use this API operation.
195//
196// The context must be non-nil and will be used for request cancellation. If
197// the context is nil a panic will occur. In the future the SDK may create
198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
199// for more information on using Contexts.
200func (c *SecurityHub) BatchDisableStandardsWithContext(ctx aws.Context, input *BatchDisableStandardsInput, opts ...request.Option) (*BatchDisableStandardsOutput, error) {
201	req, out := c.BatchDisableStandardsRequest(input)
202	req.SetContext(ctx)
203	req.ApplyOptions(opts...)
204	return out, req.Send()
205}
206
207const opBatchEnableStandards = "BatchEnableStandards"
208
209// BatchEnableStandardsRequest generates a "aws/request.Request" representing the
210// client's request for the BatchEnableStandards operation. The "output" return
211// value will be populated with the request's response once the request completes
212// successfully.
213//
214// Use "Send" method on the returned Request to send the API call to the service.
215// the "output" return value is not valid until after Send returns without error.
216//
217// See BatchEnableStandards for more information on using the BatchEnableStandards
218// API call, and error handling.
219//
220// This method is useful when you want to inject custom logic or configuration
221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
222//
223//
224//    // Example sending a request using the BatchEnableStandardsRequest method.
225//    req, resp := client.BatchEnableStandardsRequest(params)
226//
227//    err := req.Send()
228//    if err == nil { // resp is now filled
229//        fmt.Println(resp)
230//    }
231//
232// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
233func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInput) (req *request.Request, output *BatchEnableStandardsOutput) {
234	op := &request.Operation{
235		Name:       opBatchEnableStandards,
236		HTTPMethod: "POST",
237		HTTPPath:   "/standards/register",
238	}
239
240	if input == nil {
241		input = &BatchEnableStandardsInput{}
242	}
243
244	output = &BatchEnableStandardsOutput{}
245	req = c.newRequest(op, input, output)
246	return
247}
248
249// BatchEnableStandards API operation for AWS SecurityHub.
250//
251// Enables the standards specified by the provided StandardsArn. To obtain the
252// ARN for a standard, use the DescribeStandards operation.
253//
254// For more information, see the Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
255// section of the AWS Security Hub User Guide.
256//
257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
258// with awserr.Error's Code and Message methods to get detailed information about
259// the error.
260//
261// See the AWS API reference guide for AWS SecurityHub's
262// API operation BatchEnableStandards for usage and error information.
263//
264// Returned Error Types:
265//   * InternalException
266//   Internal server error.
267//
268//   * InvalidInputException
269//   The request was rejected because you supplied an invalid or out-of-range
270//   value for an input parameter.
271//
272//   * InvalidAccessException
273//   AWS Security Hub isn't enabled for the account used to make this request.
274//
275//   * LimitExceededException
276//   The request was rejected because it attempted to create resources beyond
277//   the current AWS account limits. The error code describes the limit exceeded.
278//
279// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
280func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) {
281	req, out := c.BatchEnableStandardsRequest(input)
282	return out, req.Send()
283}
284
285// BatchEnableStandardsWithContext is the same as BatchEnableStandards with the addition of
286// the ability to pass a context and additional request options.
287//
288// See BatchEnableStandards for details on how to use this API operation.
289//
290// The context must be non-nil and will be used for request cancellation. If
291// the context is nil a panic will occur. In the future the SDK may create
292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
293// for more information on using Contexts.
294func (c *SecurityHub) BatchEnableStandardsWithContext(ctx aws.Context, input *BatchEnableStandardsInput, opts ...request.Option) (*BatchEnableStandardsOutput, error) {
295	req, out := c.BatchEnableStandardsRequest(input)
296	req.SetContext(ctx)
297	req.ApplyOptions(opts...)
298	return out, req.Send()
299}
300
301const opBatchImportFindings = "BatchImportFindings"
302
303// BatchImportFindingsRequest generates a "aws/request.Request" representing the
304// client's request for the BatchImportFindings operation. The "output" return
305// value will be populated with the request's response once the request completes
306// successfully.
307//
308// Use "Send" method on the returned Request to send the API call to the service.
309// the "output" return value is not valid until after Send returns without error.
310//
311// See BatchImportFindings for more information on using the BatchImportFindings
312// API call, and error handling.
313//
314// This method is useful when you want to inject custom logic or configuration
315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
316//
317//
318//    // Example sending a request using the BatchImportFindingsRequest method.
319//    req, resp := client.BatchImportFindingsRequest(params)
320//
321//    err := req.Send()
322//    if err == nil { // resp is now filled
323//        fmt.Println(resp)
324//    }
325//
326// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
327func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput) (req *request.Request, output *BatchImportFindingsOutput) {
328	op := &request.Operation{
329		Name:       opBatchImportFindings,
330		HTTPMethod: "POST",
331		HTTPPath:   "/findings/import",
332	}
333
334	if input == nil {
335		input = &BatchImportFindingsInput{}
336	}
337
338	output = &BatchImportFindingsOutput{}
339	req = c.newRequest(op, input, output)
340	return
341}
342
343// BatchImportFindings API operation for AWS SecurityHub.
344//
345// Imports security findings generated from an integrated third-party product
346// into Security Hub. This action is requested by the integrated product to
347// import its findings into Security Hub.
348//
349// The maximum allowed size for a finding is 240 Kb. An error is returned for
350// any finding larger than 240 Kb.
351//
352// After a finding is created, BatchImportFindings cannot be used to update
353// the following finding fields and objects, which Security Hub customers use
354// to manage their investigation workflow.
355//
356//    * Confidence
357//
358//    * Criticality
359//
360//    * Note
361//
362//    * RelatedFindings
363//
364//    * Severity
365//
366//    * Types
367//
368//    * UserDefinedFields
369//
370//    * VerificationState
371//
372//    * Workflow
373//
374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
375// with awserr.Error's Code and Message methods to get detailed information about
376// the error.
377//
378// See the AWS API reference guide for AWS SecurityHub's
379// API operation BatchImportFindings for usage and error information.
380//
381// Returned Error Types:
382//   * InternalException
383//   Internal server error.
384//
385//   * InvalidInputException
386//   The request was rejected because you supplied an invalid or out-of-range
387//   value for an input parameter.
388//
389//   * LimitExceededException
390//   The request was rejected because it attempted to create resources beyond
391//   the current AWS account limits. The error code describes the limit exceeded.
392//
393//   * InvalidAccessException
394//   AWS Security Hub isn't enabled for the account used to make this request.
395//
396// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
397func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) {
398	req, out := c.BatchImportFindingsRequest(input)
399	return out, req.Send()
400}
401
402// BatchImportFindingsWithContext is the same as BatchImportFindings with the addition of
403// the ability to pass a context and additional request options.
404//
405// See BatchImportFindings for details on how to use this API operation.
406//
407// The context must be non-nil and will be used for request cancellation. If
408// the context is nil a panic will occur. In the future the SDK may create
409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
410// for more information on using Contexts.
411func (c *SecurityHub) BatchImportFindingsWithContext(ctx aws.Context, input *BatchImportFindingsInput, opts ...request.Option) (*BatchImportFindingsOutput, error) {
412	req, out := c.BatchImportFindingsRequest(input)
413	req.SetContext(ctx)
414	req.ApplyOptions(opts...)
415	return out, req.Send()
416}
417
418const opBatchUpdateFindings = "BatchUpdateFindings"
419
420// BatchUpdateFindingsRequest generates a "aws/request.Request" representing the
421// client's request for the BatchUpdateFindings operation. The "output" return
422// value will be populated with the request's response once the request completes
423// successfully.
424//
425// Use "Send" method on the returned Request to send the API call to the service.
426// the "output" return value is not valid until after Send returns without error.
427//
428// See BatchUpdateFindings for more information on using the BatchUpdateFindings
429// API call, and error handling.
430//
431// This method is useful when you want to inject custom logic or configuration
432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
433//
434//
435//    // Example sending a request using the BatchUpdateFindingsRequest method.
436//    req, resp := client.BatchUpdateFindingsRequest(params)
437//
438//    err := req.Send()
439//    if err == nil { // resp is now filled
440//        fmt.Println(resp)
441//    }
442//
443// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
444func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput) (req *request.Request, output *BatchUpdateFindingsOutput) {
445	op := &request.Operation{
446		Name:       opBatchUpdateFindings,
447		HTTPMethod: "PATCH",
448		HTTPPath:   "/findings/batchupdate",
449	}
450
451	if input == nil {
452		input = &BatchUpdateFindingsInput{}
453	}
454
455	output = &BatchUpdateFindingsOutput{}
456	req = c.newRequest(op, input, output)
457	return
458}
459
460// BatchUpdateFindings API operation for AWS SecurityHub.
461//
462// Used by Security Hub customers to update information about their investigation
463// into a finding. Requested by master accounts or member accounts. Master accounts
464// can update findings for their account and their member accounts. Member accounts
465// can update findings for their account.
466//
467// Updates from BatchUpdateFindings do not affect the value of UpdatedAt for
468// a finding.
469//
470// Master and member accounts can use BatchUpdateFindings to update the following
471// finding fields and objects.
472//
473//    * Confidence
474//
475//    * Criticality
476//
477//    * Note
478//
479//    * RelatedFindings
480//
481//    * Severity
482//
483//    * Types
484//
485//    * UserDefinedFields
486//
487//    * VerificationState
488//
489//    * Workflow
490//
491// You can configure IAM policies to restrict access to fields and field values.
492// For example, you might not want member accounts to be able to suppress findings
493// or change the finding severity. See Configuring access to BatchUpdateFindings
494// (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-update-batchupdatefindings.html#batchupdatefindings-configure-access)
495// in the AWS Security Hub User Guide.
496//
497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
498// with awserr.Error's Code and Message methods to get detailed information about
499// the error.
500//
501// See the AWS API reference guide for AWS SecurityHub's
502// API operation BatchUpdateFindings for usage and error information.
503//
504// Returned Error Types:
505//   * InternalException
506//   Internal server error.
507//
508//   * InvalidInputException
509//   The request was rejected because you supplied an invalid or out-of-range
510//   value for an input parameter.
511//
512//   * LimitExceededException
513//   The request was rejected because it attempted to create resources beyond
514//   the current AWS account limits. The error code describes the limit exceeded.
515//
516//   * InvalidAccessException
517//   AWS Security Hub isn't enabled for the account used to make this request.
518//
519// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
520func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) {
521	req, out := c.BatchUpdateFindingsRequest(input)
522	return out, req.Send()
523}
524
525// BatchUpdateFindingsWithContext is the same as BatchUpdateFindings with the addition of
526// the ability to pass a context and additional request options.
527//
528// See BatchUpdateFindings for details on how to use this API operation.
529//
530// The context must be non-nil and will be used for request cancellation. If
531// the context is nil a panic will occur. In the future the SDK may create
532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
533// for more information on using Contexts.
534func (c *SecurityHub) BatchUpdateFindingsWithContext(ctx aws.Context, input *BatchUpdateFindingsInput, opts ...request.Option) (*BatchUpdateFindingsOutput, error) {
535	req, out := c.BatchUpdateFindingsRequest(input)
536	req.SetContext(ctx)
537	req.ApplyOptions(opts...)
538	return out, req.Send()
539}
540
541const opCreateActionTarget = "CreateActionTarget"
542
543// CreateActionTargetRequest generates a "aws/request.Request" representing the
544// client's request for the CreateActionTarget operation. The "output" return
545// value will be populated with the request's response once the request completes
546// successfully.
547//
548// Use "Send" method on the returned Request to send the API call to the service.
549// the "output" return value is not valid until after Send returns without error.
550//
551// See CreateActionTarget for more information on using the CreateActionTarget
552// API call, and error handling.
553//
554// This method is useful when you want to inject custom logic or configuration
555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
556//
557//
558//    // Example sending a request using the CreateActionTargetRequest method.
559//    req, resp := client.CreateActionTargetRequest(params)
560//
561//    err := req.Send()
562//    if err == nil { // resp is now filled
563//        fmt.Println(resp)
564//    }
565//
566// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
567func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) (req *request.Request, output *CreateActionTargetOutput) {
568	op := &request.Operation{
569		Name:       opCreateActionTarget,
570		HTTPMethod: "POST",
571		HTTPPath:   "/actionTargets",
572	}
573
574	if input == nil {
575		input = &CreateActionTargetInput{}
576	}
577
578	output = &CreateActionTargetOutput{}
579	req = c.newRequest(op, input, output)
580	return
581}
582
583// CreateActionTarget API operation for AWS SecurityHub.
584//
585// Creates a custom action target in Security Hub.
586//
587// You can use custom actions on findings and insights in Security Hub to trigger
588// target actions in Amazon CloudWatch Events.
589//
590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
591// with awserr.Error's Code and Message methods to get detailed information about
592// the error.
593//
594// See the AWS API reference guide for AWS SecurityHub's
595// API operation CreateActionTarget for usage and error information.
596//
597// Returned Error Types:
598//   * InternalException
599//   Internal server error.
600//
601//   * InvalidInputException
602//   The request was rejected because you supplied an invalid or out-of-range
603//   value for an input parameter.
604//
605//   * InvalidAccessException
606//   AWS Security Hub isn't enabled for the account used to make this request.
607//
608//   * LimitExceededException
609//   The request was rejected because it attempted to create resources beyond
610//   the current AWS account limits. The error code describes the limit exceeded.
611//
612//   * ResourceConflictException
613//   The resource specified in the request conflicts with an existing resource.
614//
615// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
616func (c *SecurityHub) CreateActionTarget(input *CreateActionTargetInput) (*CreateActionTargetOutput, error) {
617	req, out := c.CreateActionTargetRequest(input)
618	return out, req.Send()
619}
620
621// CreateActionTargetWithContext is the same as CreateActionTarget with the addition of
622// the ability to pass a context and additional request options.
623//
624// See CreateActionTarget for details on how to use this API operation.
625//
626// The context must be non-nil and will be used for request cancellation. If
627// the context is nil a panic will occur. In the future the SDK may create
628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
629// for more information on using Contexts.
630func (c *SecurityHub) CreateActionTargetWithContext(ctx aws.Context, input *CreateActionTargetInput, opts ...request.Option) (*CreateActionTargetOutput, error) {
631	req, out := c.CreateActionTargetRequest(input)
632	req.SetContext(ctx)
633	req.ApplyOptions(opts...)
634	return out, req.Send()
635}
636
637const opCreateInsight = "CreateInsight"
638
639// CreateInsightRequest generates a "aws/request.Request" representing the
640// client's request for the CreateInsight operation. The "output" return
641// value will be populated with the request's response once the request completes
642// successfully.
643//
644// Use "Send" method on the returned Request to send the API call to the service.
645// the "output" return value is not valid until after Send returns without error.
646//
647// See CreateInsight for more information on using the CreateInsight
648// API call, and error handling.
649//
650// This method is useful when you want to inject custom logic or configuration
651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
652//
653//
654//    // Example sending a request using the CreateInsightRequest method.
655//    req, resp := client.CreateInsightRequest(params)
656//
657//    err := req.Send()
658//    if err == nil { // resp is now filled
659//        fmt.Println(resp)
660//    }
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
663func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
664	op := &request.Operation{
665		Name:       opCreateInsight,
666		HTTPMethod: "POST",
667		HTTPPath:   "/insights",
668	}
669
670	if input == nil {
671		input = &CreateInsightInput{}
672	}
673
674	output = &CreateInsightOutput{}
675	req = c.newRequest(op, input, output)
676	return
677}
678
679// CreateInsight API operation for AWS SecurityHub.
680//
681// Creates a custom insight in Security Hub. An insight is a consolidation of
682// findings that relate to a security issue that requires attention or remediation.
683//
684// To group the related findings in the insight, use the GroupByAttribute.
685//
686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
687// with awserr.Error's Code and Message methods to get detailed information about
688// the error.
689//
690// See the AWS API reference guide for AWS SecurityHub's
691// API operation CreateInsight for usage and error information.
692//
693// Returned Error Types:
694//   * InternalException
695//   Internal server error.
696//
697//   * InvalidInputException
698//   The request was rejected because you supplied an invalid or out-of-range
699//   value for an input parameter.
700//
701//   * LimitExceededException
702//   The request was rejected because it attempted to create resources beyond
703//   the current AWS account limits. The error code describes the limit exceeded.
704//
705//   * InvalidAccessException
706//   AWS Security Hub isn't enabled for the account used to make this request.
707//
708//   * ResourceConflictException
709//   The resource specified in the request conflicts with an existing resource.
710//
711// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
712func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
713	req, out := c.CreateInsightRequest(input)
714	return out, req.Send()
715}
716
717// CreateInsightWithContext is the same as CreateInsight with the addition of
718// the ability to pass a context and additional request options.
719//
720// See CreateInsight for details on how to use this API operation.
721//
722// The context must be non-nil and will be used for request cancellation. If
723// the context is nil a panic will occur. In the future the SDK may create
724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
725// for more information on using Contexts.
726func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
727	req, out := c.CreateInsightRequest(input)
728	req.SetContext(ctx)
729	req.ApplyOptions(opts...)
730	return out, req.Send()
731}
732
733const opCreateMembers = "CreateMembers"
734
735// CreateMembersRequest generates a "aws/request.Request" representing the
736// client's request for the CreateMembers operation. The "output" return
737// value will be populated with the request's response once the request completes
738// successfully.
739//
740// Use "Send" method on the returned Request to send the API call to the service.
741// the "output" return value is not valid until after Send returns without error.
742//
743// See CreateMembers for more information on using the CreateMembers
744// API call, and error handling.
745//
746// This method is useful when you want to inject custom logic or configuration
747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
748//
749//
750//    // Example sending a request using the CreateMembersRequest method.
751//    req, resp := client.CreateMembersRequest(params)
752//
753//    err := req.Send()
754//    if err == nil { // resp is now filled
755//        fmt.Println(resp)
756//    }
757//
758// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
759func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
760	op := &request.Operation{
761		Name:       opCreateMembers,
762		HTTPMethod: "POST",
763		HTTPPath:   "/members",
764	}
765
766	if input == nil {
767		input = &CreateMembersInput{}
768	}
769
770	output = &CreateMembersOutput{}
771	req = c.newRequest(op, input, output)
772	return
773}
774
775// CreateMembers API operation for AWS SecurityHub.
776//
777// Creates a member association in Security Hub between the specified accounts
778// and the account used to make the request, which is the master account. To
779// successfully create a member, you must use this action from an account that
780// already has Security Hub enabled. To enable Security Hub, you can use the
781// EnableSecurityHub operation.
782//
783// After you use CreateMembers to create member account associations in Security
784// Hub, you must use the InviteMembers operation to invite the accounts to enable
785// Security Hub and become member accounts in Security Hub.
786//
787// If the account owner accepts the invitation, the account becomes a member
788// account in Security Hub. A permissions policy is added that permits the master
789// account to view the findings generated in the member account. When Security
790// Hub is enabled in the invited account, findings start to be sent to both
791// the member and master accounts.
792//
793// To remove the association between the master and member accounts, use the
794// DisassociateFromMasterAccount or DisassociateMembers operation.
795//
796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
797// with awserr.Error's Code and Message methods to get detailed information about
798// the error.
799//
800// See the AWS API reference guide for AWS SecurityHub's
801// API operation CreateMembers for usage and error information.
802//
803// Returned Error Types:
804//   * InternalException
805//   Internal server error.
806//
807//   * InvalidInputException
808//   The request was rejected because you supplied an invalid or out-of-range
809//   value for an input parameter.
810//
811//   * LimitExceededException
812//   The request was rejected because it attempted to create resources beyond
813//   the current AWS account limits. The error code describes the limit exceeded.
814//
815//   * InvalidAccessException
816//   AWS Security Hub isn't enabled for the account used to make this request.
817//
818//   * ResourceConflictException
819//   The resource specified in the request conflicts with an existing resource.
820//
821// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
822func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
823	req, out := c.CreateMembersRequest(input)
824	return out, req.Send()
825}
826
827// CreateMembersWithContext is the same as CreateMembers with the addition of
828// the ability to pass a context and additional request options.
829//
830// See CreateMembers for details on how to use this API operation.
831//
832// The context must be non-nil and will be used for request cancellation. If
833// the context is nil a panic will occur. In the future the SDK may create
834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
835// for more information on using Contexts.
836func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
837	req, out := c.CreateMembersRequest(input)
838	req.SetContext(ctx)
839	req.ApplyOptions(opts...)
840	return out, req.Send()
841}
842
843const opDeclineInvitations = "DeclineInvitations"
844
845// DeclineInvitationsRequest generates a "aws/request.Request" representing the
846// client's request for the DeclineInvitations operation. The "output" return
847// value will be populated with the request's response once the request completes
848// successfully.
849//
850// Use "Send" method on the returned Request to send the API call to the service.
851// the "output" return value is not valid until after Send returns without error.
852//
853// See DeclineInvitations for more information on using the DeclineInvitations
854// API call, and error handling.
855//
856// This method is useful when you want to inject custom logic or configuration
857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
858//
859//
860//    // Example sending a request using the DeclineInvitationsRequest method.
861//    req, resp := client.DeclineInvitationsRequest(params)
862//
863//    err := req.Send()
864//    if err == nil { // resp is now filled
865//        fmt.Println(resp)
866//    }
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
869func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
870	op := &request.Operation{
871		Name:       opDeclineInvitations,
872		HTTPMethod: "POST",
873		HTTPPath:   "/invitations/decline",
874	}
875
876	if input == nil {
877		input = &DeclineInvitationsInput{}
878	}
879
880	output = &DeclineInvitationsOutput{}
881	req = c.newRequest(op, input, output)
882	return
883}
884
885// DeclineInvitations API operation for AWS SecurityHub.
886//
887// Declines invitations to become a member account.
888//
889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
890// with awserr.Error's Code and Message methods to get detailed information about
891// the error.
892//
893// See the AWS API reference guide for AWS SecurityHub's
894// API operation DeclineInvitations for usage and error information.
895//
896// Returned Error Types:
897//   * InternalException
898//   Internal server error.
899//
900//   * InvalidInputException
901//   The request was rejected because you supplied an invalid or out-of-range
902//   value for an input parameter.
903//
904//   * InvalidAccessException
905//   AWS Security Hub isn't enabled for the account used to make this request.
906//
907//   * ResourceNotFoundException
908//   The request was rejected because we can't find the specified resource.
909//
910// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
911func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
912	req, out := c.DeclineInvitationsRequest(input)
913	return out, req.Send()
914}
915
916// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
917// the ability to pass a context and additional request options.
918//
919// See DeclineInvitations for details on how to use this API operation.
920//
921// The context must be non-nil and will be used for request cancellation. If
922// the context is nil a panic will occur. In the future the SDK may create
923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
924// for more information on using Contexts.
925func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
926	req, out := c.DeclineInvitationsRequest(input)
927	req.SetContext(ctx)
928	req.ApplyOptions(opts...)
929	return out, req.Send()
930}
931
932const opDeleteActionTarget = "DeleteActionTarget"
933
934// DeleteActionTargetRequest generates a "aws/request.Request" representing the
935// client's request for the DeleteActionTarget operation. The "output" return
936// value will be populated with the request's response once the request completes
937// successfully.
938//
939// Use "Send" method on the returned Request to send the API call to the service.
940// the "output" return value is not valid until after Send returns without error.
941//
942// See DeleteActionTarget for more information on using the DeleteActionTarget
943// API call, and error handling.
944//
945// This method is useful when you want to inject custom logic or configuration
946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
947//
948//
949//    // Example sending a request using the DeleteActionTargetRequest method.
950//    req, resp := client.DeleteActionTargetRequest(params)
951//
952//    err := req.Send()
953//    if err == nil { // resp is now filled
954//        fmt.Println(resp)
955//    }
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
958func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
959	op := &request.Operation{
960		Name:       opDeleteActionTarget,
961		HTTPMethod: "DELETE",
962		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
963	}
964
965	if input == nil {
966		input = &DeleteActionTargetInput{}
967	}
968
969	output = &DeleteActionTargetOutput{}
970	req = c.newRequest(op, input, output)
971	return
972}
973
974// DeleteActionTarget API operation for AWS SecurityHub.
975//
976// Deletes a custom action target from Security Hub.
977//
978// Deleting a custom action target does not affect any findings or insights
979// that were already sent to Amazon CloudWatch Events using the custom action.
980//
981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
982// with awserr.Error's Code and Message methods to get detailed information about
983// the error.
984//
985// See the AWS API reference guide for AWS SecurityHub's
986// API operation DeleteActionTarget for usage and error information.
987//
988// Returned Error Types:
989//   * InternalException
990//   Internal server error.
991//
992//   * InvalidInputException
993//   The request was rejected because you supplied an invalid or out-of-range
994//   value for an input parameter.
995//
996//   * InvalidAccessException
997//   AWS Security Hub isn't enabled for the account used to make this request.
998//
999//   * ResourceNotFoundException
1000//   The request was rejected because we can't find the specified resource.
1001//
1002// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1003func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1004	req, out := c.DeleteActionTargetRequest(input)
1005	return out, req.Send()
1006}
1007
1008// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1009// the ability to pass a context and additional request options.
1010//
1011// See DeleteActionTarget for details on how to use this API operation.
1012//
1013// The context must be non-nil and will be used for request cancellation. If
1014// the context is nil a panic will occur. In the future the SDK may create
1015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1016// for more information on using Contexts.
1017func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1018	req, out := c.DeleteActionTargetRequest(input)
1019	req.SetContext(ctx)
1020	req.ApplyOptions(opts...)
1021	return out, req.Send()
1022}
1023
1024const opDeleteInsight = "DeleteInsight"
1025
1026// DeleteInsightRequest generates a "aws/request.Request" representing the
1027// client's request for the DeleteInsight operation. The "output" return
1028// value will be populated with the request's response once the request completes
1029// successfully.
1030//
1031// Use "Send" method on the returned Request to send the API call to the service.
1032// the "output" return value is not valid until after Send returns without error.
1033//
1034// See DeleteInsight for more information on using the DeleteInsight
1035// API call, and error handling.
1036//
1037// This method is useful when you want to inject custom logic or configuration
1038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1039//
1040//
1041//    // Example sending a request using the DeleteInsightRequest method.
1042//    req, resp := client.DeleteInsightRequest(params)
1043//
1044//    err := req.Send()
1045//    if err == nil { // resp is now filled
1046//        fmt.Println(resp)
1047//    }
1048//
1049// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1050func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1051	op := &request.Operation{
1052		Name:       opDeleteInsight,
1053		HTTPMethod: "DELETE",
1054		HTTPPath:   "/insights/{InsightArn+}",
1055	}
1056
1057	if input == nil {
1058		input = &DeleteInsightInput{}
1059	}
1060
1061	output = &DeleteInsightOutput{}
1062	req = c.newRequest(op, input, output)
1063	return
1064}
1065
1066// DeleteInsight API operation for AWS SecurityHub.
1067//
1068// Deletes the insight specified by the InsightArn.
1069//
1070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1071// with awserr.Error's Code and Message methods to get detailed information about
1072// the error.
1073//
1074// See the AWS API reference guide for AWS SecurityHub's
1075// API operation DeleteInsight for usage and error information.
1076//
1077// Returned Error Types:
1078//   * InternalException
1079//   Internal server error.
1080//
1081//   * InvalidInputException
1082//   The request was rejected because you supplied an invalid or out-of-range
1083//   value for an input parameter.
1084//
1085//   * InvalidAccessException
1086//   AWS Security Hub isn't enabled for the account used to make this request.
1087//
1088//   * LimitExceededException
1089//   The request was rejected because it attempted to create resources beyond
1090//   the current AWS account limits. The error code describes the limit exceeded.
1091//
1092//   * ResourceNotFoundException
1093//   The request was rejected because we can't find the specified resource.
1094//
1095// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1096func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1097	req, out := c.DeleteInsightRequest(input)
1098	return out, req.Send()
1099}
1100
1101// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1102// the ability to pass a context and additional request options.
1103//
1104// See DeleteInsight for details on how to use this API operation.
1105//
1106// The context must be non-nil and will be used for request cancellation. If
1107// the context is nil a panic will occur. In the future the SDK may create
1108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1109// for more information on using Contexts.
1110func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1111	req, out := c.DeleteInsightRequest(input)
1112	req.SetContext(ctx)
1113	req.ApplyOptions(opts...)
1114	return out, req.Send()
1115}
1116
1117const opDeleteInvitations = "DeleteInvitations"
1118
1119// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1120// client's request for the DeleteInvitations operation. The "output" return
1121// value will be populated with the request's response once the request completes
1122// successfully.
1123//
1124// Use "Send" method on the returned Request to send the API call to the service.
1125// the "output" return value is not valid until after Send returns without error.
1126//
1127// See DeleteInvitations for more information on using the DeleteInvitations
1128// API call, and error handling.
1129//
1130// This method is useful when you want to inject custom logic or configuration
1131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1132//
1133//
1134//    // Example sending a request using the DeleteInvitationsRequest method.
1135//    req, resp := client.DeleteInvitationsRequest(params)
1136//
1137//    err := req.Send()
1138//    if err == nil { // resp is now filled
1139//        fmt.Println(resp)
1140//    }
1141//
1142// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1143func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1144	op := &request.Operation{
1145		Name:       opDeleteInvitations,
1146		HTTPMethod: "POST",
1147		HTTPPath:   "/invitations/delete",
1148	}
1149
1150	if input == nil {
1151		input = &DeleteInvitationsInput{}
1152	}
1153
1154	output = &DeleteInvitationsOutput{}
1155	req = c.newRequest(op, input, output)
1156	return
1157}
1158
1159// DeleteInvitations API operation for AWS SecurityHub.
1160//
1161// Deletes invitations received by the AWS account to become a member account.
1162//
1163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1164// with awserr.Error's Code and Message methods to get detailed information about
1165// the error.
1166//
1167// See the AWS API reference guide for AWS SecurityHub's
1168// API operation DeleteInvitations for usage and error information.
1169//
1170// Returned Error Types:
1171//   * InternalException
1172//   Internal server error.
1173//
1174//   * InvalidInputException
1175//   The request was rejected because you supplied an invalid or out-of-range
1176//   value for an input parameter.
1177//
1178//   * LimitExceededException
1179//   The request was rejected because it attempted to create resources beyond
1180//   the current AWS account limits. The error code describes the limit exceeded.
1181//
1182//   * ResourceNotFoundException
1183//   The request was rejected because we can't find the specified resource.
1184//
1185//   * InvalidAccessException
1186//   AWS Security Hub isn't enabled for the account used to make this request.
1187//
1188// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1189func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1190	req, out := c.DeleteInvitationsRequest(input)
1191	return out, req.Send()
1192}
1193
1194// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1195// the ability to pass a context and additional request options.
1196//
1197// See DeleteInvitations for details on how to use this API operation.
1198//
1199// The context must be non-nil and will be used for request cancellation. If
1200// the context is nil a panic will occur. In the future the SDK may create
1201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1202// for more information on using Contexts.
1203func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1204	req, out := c.DeleteInvitationsRequest(input)
1205	req.SetContext(ctx)
1206	req.ApplyOptions(opts...)
1207	return out, req.Send()
1208}
1209
1210const opDeleteMembers = "DeleteMembers"
1211
1212// DeleteMembersRequest generates a "aws/request.Request" representing the
1213// client's request for the DeleteMembers operation. The "output" return
1214// value will be populated with the request's response once the request completes
1215// successfully.
1216//
1217// Use "Send" method on the returned Request to send the API call to the service.
1218// the "output" return value is not valid until after Send returns without error.
1219//
1220// See DeleteMembers for more information on using the DeleteMembers
1221// API call, and error handling.
1222//
1223// This method is useful when you want to inject custom logic or configuration
1224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1225//
1226//
1227//    // Example sending a request using the DeleteMembersRequest method.
1228//    req, resp := client.DeleteMembersRequest(params)
1229//
1230//    err := req.Send()
1231//    if err == nil { // resp is now filled
1232//        fmt.Println(resp)
1233//    }
1234//
1235// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1236func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1237	op := &request.Operation{
1238		Name:       opDeleteMembers,
1239		HTTPMethod: "POST",
1240		HTTPPath:   "/members/delete",
1241	}
1242
1243	if input == nil {
1244		input = &DeleteMembersInput{}
1245	}
1246
1247	output = &DeleteMembersOutput{}
1248	req = c.newRequest(op, input, output)
1249	return
1250}
1251
1252// DeleteMembers API operation for AWS SecurityHub.
1253//
1254// Deletes the specified member accounts from Security Hub.
1255//
1256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1257// with awserr.Error's Code and Message methods to get detailed information about
1258// the error.
1259//
1260// See the AWS API reference guide for AWS SecurityHub's
1261// API operation DeleteMembers for usage and error information.
1262//
1263// Returned Error Types:
1264//   * InternalException
1265//   Internal server error.
1266//
1267//   * InvalidInputException
1268//   The request was rejected because you supplied an invalid or out-of-range
1269//   value for an input parameter.
1270//
1271//   * InvalidAccessException
1272//   AWS Security Hub isn't enabled for the account used to make this request.
1273//
1274//   * LimitExceededException
1275//   The request was rejected because it attempted to create resources beyond
1276//   the current AWS account limits. The error code describes the limit exceeded.
1277//
1278//   * ResourceNotFoundException
1279//   The request was rejected because we can't find the specified resource.
1280//
1281// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1282func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1283	req, out := c.DeleteMembersRequest(input)
1284	return out, req.Send()
1285}
1286
1287// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1288// the ability to pass a context and additional request options.
1289//
1290// See DeleteMembers for details on how to use this API operation.
1291//
1292// The context must be non-nil and will be used for request cancellation. If
1293// the context is nil a panic will occur. In the future the SDK may create
1294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1295// for more information on using Contexts.
1296func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1297	req, out := c.DeleteMembersRequest(input)
1298	req.SetContext(ctx)
1299	req.ApplyOptions(opts...)
1300	return out, req.Send()
1301}
1302
1303const opDescribeActionTargets = "DescribeActionTargets"
1304
1305// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1306// client's request for the DescribeActionTargets operation. The "output" return
1307// value will be populated with the request's response once the request completes
1308// successfully.
1309//
1310// Use "Send" method on the returned Request to send the API call to the service.
1311// the "output" return value is not valid until after Send returns without error.
1312//
1313// See DescribeActionTargets for more information on using the DescribeActionTargets
1314// API call, and error handling.
1315//
1316// This method is useful when you want to inject custom logic or configuration
1317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1318//
1319//
1320//    // Example sending a request using the DescribeActionTargetsRequest method.
1321//    req, resp := client.DescribeActionTargetsRequest(params)
1322//
1323//    err := req.Send()
1324//    if err == nil { // resp is now filled
1325//        fmt.Println(resp)
1326//    }
1327//
1328// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1329func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1330	op := &request.Operation{
1331		Name:       opDescribeActionTargets,
1332		HTTPMethod: "POST",
1333		HTTPPath:   "/actionTargets/get",
1334		Paginator: &request.Paginator{
1335			InputTokens:     []string{"NextToken"},
1336			OutputTokens:    []string{"NextToken"},
1337			LimitToken:      "MaxResults",
1338			TruncationToken: "",
1339		},
1340	}
1341
1342	if input == nil {
1343		input = &DescribeActionTargetsInput{}
1344	}
1345
1346	output = &DescribeActionTargetsOutput{}
1347	req = c.newRequest(op, input, output)
1348	return
1349}
1350
1351// DescribeActionTargets API operation for AWS SecurityHub.
1352//
1353// Returns a list of the custom action targets in Security Hub in your account.
1354//
1355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1356// with awserr.Error's Code and Message methods to get detailed information about
1357// the error.
1358//
1359// See the AWS API reference guide for AWS SecurityHub's
1360// API operation DescribeActionTargets for usage and error information.
1361//
1362// Returned Error Types:
1363//   * InternalException
1364//   Internal server error.
1365//
1366//   * InvalidInputException
1367//   The request was rejected because you supplied an invalid or out-of-range
1368//   value for an input parameter.
1369//
1370//   * InvalidAccessException
1371//   AWS Security Hub isn't enabled for the account used to make this request.
1372//
1373//   * ResourceNotFoundException
1374//   The request was rejected because we can't find the specified resource.
1375//
1376// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1377func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1378	req, out := c.DescribeActionTargetsRequest(input)
1379	return out, req.Send()
1380}
1381
1382// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1383// the ability to pass a context and additional request options.
1384//
1385// See DescribeActionTargets for details on how to use this API operation.
1386//
1387// The context must be non-nil and will be used for request cancellation. If
1388// the context is nil a panic will occur. In the future the SDK may create
1389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1390// for more information on using Contexts.
1391func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1392	req, out := c.DescribeActionTargetsRequest(input)
1393	req.SetContext(ctx)
1394	req.ApplyOptions(opts...)
1395	return out, req.Send()
1396}
1397
1398// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1399// calling the "fn" function with the response data for each page. To stop
1400// iterating, return false from the fn function.
1401//
1402// See DescribeActionTargets method for more information on how to use this operation.
1403//
1404// Note: This operation can generate multiple requests to a service.
1405//
1406//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1407//    pageNum := 0
1408//    err := client.DescribeActionTargetsPages(params,
1409//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1410//            pageNum++
1411//            fmt.Println(page)
1412//            return pageNum <= 3
1413//        })
1414//
1415func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1416	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1417}
1418
1419// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1420// it takes a Context and allows setting request options on the pages.
1421//
1422// The context must be non-nil and will be used for request cancellation. If
1423// the context is nil a panic will occur. In the future the SDK may create
1424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1425// for more information on using Contexts.
1426func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1427	p := request.Pagination{
1428		NewRequest: func() (*request.Request, error) {
1429			var inCpy *DescribeActionTargetsInput
1430			if input != nil {
1431				tmp := *input
1432				inCpy = &tmp
1433			}
1434			req, _ := c.DescribeActionTargetsRequest(inCpy)
1435			req.SetContext(ctx)
1436			req.ApplyOptions(opts...)
1437			return req, nil
1438		},
1439	}
1440
1441	for p.Next() {
1442		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1443			break
1444		}
1445	}
1446
1447	return p.Err()
1448}
1449
1450const opDescribeHub = "DescribeHub"
1451
1452// DescribeHubRequest generates a "aws/request.Request" representing the
1453// client's request for the DescribeHub operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See DescribeHub for more information on using the DescribeHub
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the DescribeHubRequest method.
1468//    req, resp := client.DescribeHubRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1476func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1477	op := &request.Operation{
1478		Name:       opDescribeHub,
1479		HTTPMethod: "GET",
1480		HTTPPath:   "/accounts",
1481	}
1482
1483	if input == nil {
1484		input = &DescribeHubInput{}
1485	}
1486
1487	output = &DescribeHubOutput{}
1488	req = c.newRequest(op, input, output)
1489	return
1490}
1491
1492// DescribeHub API operation for AWS SecurityHub.
1493//
1494// Returns details about the Hub resource in your account, including the HubArn
1495// and the time when you enabled Security Hub.
1496//
1497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1498// with awserr.Error's Code and Message methods to get detailed information about
1499// the error.
1500//
1501// See the AWS API reference guide for AWS SecurityHub's
1502// API operation DescribeHub for usage and error information.
1503//
1504// Returned Error Types:
1505//   * InternalException
1506//   Internal server error.
1507//
1508//   * LimitExceededException
1509//   The request was rejected because it attempted to create resources beyond
1510//   the current AWS account limits. The error code describes the limit exceeded.
1511//
1512//   * InvalidAccessException
1513//   AWS Security Hub isn't enabled for the account used to make this request.
1514//
1515//   * InvalidInputException
1516//   The request was rejected because you supplied an invalid or out-of-range
1517//   value for an input parameter.
1518//
1519//   * ResourceNotFoundException
1520//   The request was rejected because we can't find the specified resource.
1521//
1522// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1523func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1524	req, out := c.DescribeHubRequest(input)
1525	return out, req.Send()
1526}
1527
1528// DescribeHubWithContext is the same as DescribeHub with the addition of
1529// the ability to pass a context and additional request options.
1530//
1531// See DescribeHub for details on how to use this API operation.
1532//
1533// The context must be non-nil and will be used for request cancellation. If
1534// the context is nil a panic will occur. In the future the SDK may create
1535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1536// for more information on using Contexts.
1537func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1538	req, out := c.DescribeHubRequest(input)
1539	req.SetContext(ctx)
1540	req.ApplyOptions(opts...)
1541	return out, req.Send()
1542}
1543
1544const opDescribeProducts = "DescribeProducts"
1545
1546// DescribeProductsRequest generates a "aws/request.Request" representing the
1547// client's request for the DescribeProducts operation. The "output" return
1548// value will be populated with the request's response once the request completes
1549// successfully.
1550//
1551// Use "Send" method on the returned Request to send the API call to the service.
1552// the "output" return value is not valid until after Send returns without error.
1553//
1554// See DescribeProducts for more information on using the DescribeProducts
1555// API call, and error handling.
1556//
1557// This method is useful when you want to inject custom logic or configuration
1558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1559//
1560//
1561//    // Example sending a request using the DescribeProductsRequest method.
1562//    req, resp := client.DescribeProductsRequest(params)
1563//
1564//    err := req.Send()
1565//    if err == nil { // resp is now filled
1566//        fmt.Println(resp)
1567//    }
1568//
1569// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1570func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
1571	op := &request.Operation{
1572		Name:       opDescribeProducts,
1573		HTTPMethod: "GET",
1574		HTTPPath:   "/products",
1575		Paginator: &request.Paginator{
1576			InputTokens:     []string{"NextToken"},
1577			OutputTokens:    []string{"NextToken"},
1578			LimitToken:      "MaxResults",
1579			TruncationToken: "",
1580		},
1581	}
1582
1583	if input == nil {
1584		input = &DescribeProductsInput{}
1585	}
1586
1587	output = &DescribeProductsOutput{}
1588	req = c.newRequest(op, input, output)
1589	return
1590}
1591
1592// DescribeProducts API operation for AWS SecurityHub.
1593//
1594// Returns information about the available products that you can subscribe to
1595// and integrate with Security Hub in order to consolidate findings.
1596//
1597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1598// with awserr.Error's Code and Message methods to get detailed information about
1599// the error.
1600//
1601// See the AWS API reference guide for AWS SecurityHub's
1602// API operation DescribeProducts for usage and error information.
1603//
1604// Returned Error Types:
1605//   * InternalException
1606//   Internal server error.
1607//
1608//   * LimitExceededException
1609//   The request was rejected because it attempted to create resources beyond
1610//   the current AWS account limits. The error code describes the limit exceeded.
1611//
1612//   * InvalidAccessException
1613//   AWS Security Hub isn't enabled for the account used to make this request.
1614//
1615//   * InvalidInputException
1616//   The request was rejected because you supplied an invalid or out-of-range
1617//   value for an input parameter.
1618//
1619// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1620func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
1621	req, out := c.DescribeProductsRequest(input)
1622	return out, req.Send()
1623}
1624
1625// DescribeProductsWithContext is the same as DescribeProducts with the addition of
1626// the ability to pass a context and additional request options.
1627//
1628// See DescribeProducts for details on how to use this API operation.
1629//
1630// The context must be non-nil and will be used for request cancellation. If
1631// the context is nil a panic will occur. In the future the SDK may create
1632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1633// for more information on using Contexts.
1634func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
1635	req, out := c.DescribeProductsRequest(input)
1636	req.SetContext(ctx)
1637	req.ApplyOptions(opts...)
1638	return out, req.Send()
1639}
1640
1641// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
1642// calling the "fn" function with the response data for each page. To stop
1643// iterating, return false from the fn function.
1644//
1645// See DescribeProducts method for more information on how to use this operation.
1646//
1647// Note: This operation can generate multiple requests to a service.
1648//
1649//    // Example iterating over at most 3 pages of a DescribeProducts operation.
1650//    pageNum := 0
1651//    err := client.DescribeProductsPages(params,
1652//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
1653//            pageNum++
1654//            fmt.Println(page)
1655//            return pageNum <= 3
1656//        })
1657//
1658func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
1659	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
1660}
1661
1662// DescribeProductsPagesWithContext same as DescribeProductsPages except
1663// it takes a Context and allows setting request options on the pages.
1664//
1665// The context must be non-nil and will be used for request cancellation. If
1666// the context is nil a panic will occur. In the future the SDK may create
1667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1668// for more information on using Contexts.
1669func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
1670	p := request.Pagination{
1671		NewRequest: func() (*request.Request, error) {
1672			var inCpy *DescribeProductsInput
1673			if input != nil {
1674				tmp := *input
1675				inCpy = &tmp
1676			}
1677			req, _ := c.DescribeProductsRequest(inCpy)
1678			req.SetContext(ctx)
1679			req.ApplyOptions(opts...)
1680			return req, nil
1681		},
1682	}
1683
1684	for p.Next() {
1685		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
1686			break
1687		}
1688	}
1689
1690	return p.Err()
1691}
1692
1693const opDescribeStandards = "DescribeStandards"
1694
1695// DescribeStandardsRequest generates a "aws/request.Request" representing the
1696// client's request for the DescribeStandards operation. The "output" return
1697// value will be populated with the request's response once the request completes
1698// successfully.
1699//
1700// Use "Send" method on the returned Request to send the API call to the service.
1701// the "output" return value is not valid until after Send returns without error.
1702//
1703// See DescribeStandards for more information on using the DescribeStandards
1704// API call, and error handling.
1705//
1706// This method is useful when you want to inject custom logic or configuration
1707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1708//
1709//
1710//    // Example sending a request using the DescribeStandardsRequest method.
1711//    req, resp := client.DescribeStandardsRequest(params)
1712//
1713//    err := req.Send()
1714//    if err == nil { // resp is now filled
1715//        fmt.Println(resp)
1716//    }
1717//
1718// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
1719func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
1720	op := &request.Operation{
1721		Name:       opDescribeStandards,
1722		HTTPMethod: "GET",
1723		HTTPPath:   "/standards",
1724		Paginator: &request.Paginator{
1725			InputTokens:     []string{"NextToken"},
1726			OutputTokens:    []string{"NextToken"},
1727			LimitToken:      "MaxResults",
1728			TruncationToken: "",
1729		},
1730	}
1731
1732	if input == nil {
1733		input = &DescribeStandardsInput{}
1734	}
1735
1736	output = &DescribeStandardsOutput{}
1737	req = c.newRequest(op, input, output)
1738	return
1739}
1740
1741// DescribeStandards API operation for AWS SecurityHub.
1742//
1743// Returns a list of the available standards in Security Hub.
1744//
1745// For each standard, the results include the standard ARN, the name, and a
1746// description.
1747//
1748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1749// with awserr.Error's Code and Message methods to get detailed information about
1750// the error.
1751//
1752// See the AWS API reference guide for AWS SecurityHub's
1753// API operation DescribeStandards for usage and error information.
1754//
1755// Returned Error Types:
1756//   * InternalException
1757//   Internal server error.
1758//
1759//   * InvalidInputException
1760//   The request was rejected because you supplied an invalid or out-of-range
1761//   value for an input parameter.
1762//
1763//   * InvalidAccessException
1764//   AWS Security Hub isn't enabled for the account used to make this request.
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
1767func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
1768	req, out := c.DescribeStandardsRequest(input)
1769	return out, req.Send()
1770}
1771
1772// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
1773// the ability to pass a context and additional request options.
1774//
1775// See DescribeStandards for details on how to use this API operation.
1776//
1777// The context must be non-nil and will be used for request cancellation. If
1778// the context is nil a panic will occur. In the future the SDK may create
1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1780// for more information on using Contexts.
1781func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
1782	req, out := c.DescribeStandardsRequest(input)
1783	req.SetContext(ctx)
1784	req.ApplyOptions(opts...)
1785	return out, req.Send()
1786}
1787
1788// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
1789// calling the "fn" function with the response data for each page. To stop
1790// iterating, return false from the fn function.
1791//
1792// See DescribeStandards method for more information on how to use this operation.
1793//
1794// Note: This operation can generate multiple requests to a service.
1795//
1796//    // Example iterating over at most 3 pages of a DescribeStandards operation.
1797//    pageNum := 0
1798//    err := client.DescribeStandardsPages(params,
1799//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
1800//            pageNum++
1801//            fmt.Println(page)
1802//            return pageNum <= 3
1803//        })
1804//
1805func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
1806	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
1807}
1808
1809// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
1810// it takes a Context and allows setting request options on the pages.
1811//
1812// The context must be non-nil and will be used for request cancellation. If
1813// the context is nil a panic will occur. In the future the SDK may create
1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1815// for more information on using Contexts.
1816func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
1817	p := request.Pagination{
1818		NewRequest: func() (*request.Request, error) {
1819			var inCpy *DescribeStandardsInput
1820			if input != nil {
1821				tmp := *input
1822				inCpy = &tmp
1823			}
1824			req, _ := c.DescribeStandardsRequest(inCpy)
1825			req.SetContext(ctx)
1826			req.ApplyOptions(opts...)
1827			return req, nil
1828		},
1829	}
1830
1831	for p.Next() {
1832		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
1833			break
1834		}
1835	}
1836
1837	return p.Err()
1838}
1839
1840const opDescribeStandardsControls = "DescribeStandardsControls"
1841
1842// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
1843// client's request for the DescribeStandardsControls operation. The "output" return
1844// value will be populated with the request's response once the request completes
1845// successfully.
1846//
1847// Use "Send" method on the returned Request to send the API call to the service.
1848// the "output" return value is not valid until after Send returns without error.
1849//
1850// See DescribeStandardsControls for more information on using the DescribeStandardsControls
1851// API call, and error handling.
1852//
1853// This method is useful when you want to inject custom logic or configuration
1854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1855//
1856//
1857//    // Example sending a request using the DescribeStandardsControlsRequest method.
1858//    req, resp := client.DescribeStandardsControlsRequest(params)
1859//
1860//    err := req.Send()
1861//    if err == nil { // resp is now filled
1862//        fmt.Println(resp)
1863//    }
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
1866func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
1867	op := &request.Operation{
1868		Name:       opDescribeStandardsControls,
1869		HTTPMethod: "GET",
1870		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
1871		Paginator: &request.Paginator{
1872			InputTokens:     []string{"NextToken"},
1873			OutputTokens:    []string{"NextToken"},
1874			LimitToken:      "MaxResults",
1875			TruncationToken: "",
1876		},
1877	}
1878
1879	if input == nil {
1880		input = &DescribeStandardsControlsInput{}
1881	}
1882
1883	output = &DescribeStandardsControlsOutput{}
1884	req = c.newRequest(op, input, output)
1885	return
1886}
1887
1888// DescribeStandardsControls API operation for AWS SecurityHub.
1889//
1890// Returns a list of security standards controls.
1891//
1892// For each control, the results include information about whether it is currently
1893// enabled, the severity, and a link to remediation information.
1894//
1895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1896// with awserr.Error's Code and Message methods to get detailed information about
1897// the error.
1898//
1899// See the AWS API reference guide for AWS SecurityHub's
1900// API operation DescribeStandardsControls for usage and error information.
1901//
1902// Returned Error Types:
1903//   * InternalException
1904//   Internal server error.
1905//
1906//   * InvalidInputException
1907//   The request was rejected because you supplied an invalid or out-of-range
1908//   value for an input parameter.
1909//
1910//   * InvalidAccessException
1911//   AWS Security Hub isn't enabled for the account used to make this request.
1912//
1913//   * ResourceNotFoundException
1914//   The request was rejected because we can't find the specified resource.
1915//
1916// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
1917func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
1918	req, out := c.DescribeStandardsControlsRequest(input)
1919	return out, req.Send()
1920}
1921
1922// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
1923// the ability to pass a context and additional request options.
1924//
1925// See DescribeStandardsControls for details on how to use this API operation.
1926//
1927// The context must be non-nil and will be used for request cancellation. If
1928// the context is nil a panic will occur. In the future the SDK may create
1929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1930// for more information on using Contexts.
1931func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
1932	req, out := c.DescribeStandardsControlsRequest(input)
1933	req.SetContext(ctx)
1934	req.ApplyOptions(opts...)
1935	return out, req.Send()
1936}
1937
1938// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
1939// calling the "fn" function with the response data for each page. To stop
1940// iterating, return false from the fn function.
1941//
1942// See DescribeStandardsControls method for more information on how to use this operation.
1943//
1944// Note: This operation can generate multiple requests to a service.
1945//
1946//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
1947//    pageNum := 0
1948//    err := client.DescribeStandardsControlsPages(params,
1949//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
1950//            pageNum++
1951//            fmt.Println(page)
1952//            return pageNum <= 3
1953//        })
1954//
1955func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
1956	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
1957}
1958
1959// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
1960// it takes a Context and allows setting request options on the pages.
1961//
1962// The context must be non-nil and will be used for request cancellation. If
1963// the context is nil a panic will occur. In the future the SDK may create
1964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1965// for more information on using Contexts.
1966func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
1967	p := request.Pagination{
1968		NewRequest: func() (*request.Request, error) {
1969			var inCpy *DescribeStandardsControlsInput
1970			if input != nil {
1971				tmp := *input
1972				inCpy = &tmp
1973			}
1974			req, _ := c.DescribeStandardsControlsRequest(inCpy)
1975			req.SetContext(ctx)
1976			req.ApplyOptions(opts...)
1977			return req, nil
1978		},
1979	}
1980
1981	for p.Next() {
1982		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
1983			break
1984		}
1985	}
1986
1987	return p.Err()
1988}
1989
1990const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
1991
1992// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
1993// client's request for the DisableImportFindingsForProduct operation. The "output" return
1994// value will be populated with the request's response once the request completes
1995// successfully.
1996//
1997// Use "Send" method on the returned Request to send the API call to the service.
1998// the "output" return value is not valid until after Send returns without error.
1999//
2000// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2001// API call, and error handling.
2002//
2003// This method is useful when you want to inject custom logic or configuration
2004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2005//
2006//
2007//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2008//    req, resp := client.DisableImportFindingsForProductRequest(params)
2009//
2010//    err := req.Send()
2011//    if err == nil { // resp is now filled
2012//        fmt.Println(resp)
2013//    }
2014//
2015// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2016func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2017	op := &request.Operation{
2018		Name:       opDisableImportFindingsForProduct,
2019		HTTPMethod: "DELETE",
2020		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2021	}
2022
2023	if input == nil {
2024		input = &DisableImportFindingsForProductInput{}
2025	}
2026
2027	output = &DisableImportFindingsForProductOutput{}
2028	req = c.newRequest(op, input, output)
2029	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2030	return
2031}
2032
2033// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2034//
2035// Disables the integration of the specified product with Security Hub. After
2036// the integration is disabled, findings from that product are no longer sent
2037// to Security Hub.
2038//
2039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2040// with awserr.Error's Code and Message methods to get detailed information about
2041// the error.
2042//
2043// See the AWS API reference guide for AWS SecurityHub's
2044// API operation DisableImportFindingsForProduct for usage and error information.
2045//
2046// Returned Error Types:
2047//   * InternalException
2048//   Internal server error.
2049//
2050//   * InvalidInputException
2051//   The request was rejected because you supplied an invalid or out-of-range
2052//   value for an input parameter.
2053//
2054//   * ResourceNotFoundException
2055//   The request was rejected because we can't find the specified resource.
2056//
2057//   * InvalidAccessException
2058//   AWS Security Hub isn't enabled for the account used to make this request.
2059//
2060//   * LimitExceededException
2061//   The request was rejected because it attempted to create resources beyond
2062//   the current AWS account limits. The error code describes the limit exceeded.
2063//
2064// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2065func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2066	req, out := c.DisableImportFindingsForProductRequest(input)
2067	return out, req.Send()
2068}
2069
2070// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2071// the ability to pass a context and additional request options.
2072//
2073// See DisableImportFindingsForProduct for details on how to use this API operation.
2074//
2075// The context must be non-nil and will be used for request cancellation. If
2076// the context is nil a panic will occur. In the future the SDK may create
2077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2078// for more information on using Contexts.
2079func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2080	req, out := c.DisableImportFindingsForProductRequest(input)
2081	req.SetContext(ctx)
2082	req.ApplyOptions(opts...)
2083	return out, req.Send()
2084}
2085
2086const opDisableSecurityHub = "DisableSecurityHub"
2087
2088// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2089// client's request for the DisableSecurityHub operation. The "output" return
2090// value will be populated with the request's response once the request completes
2091// successfully.
2092//
2093// Use "Send" method on the returned Request to send the API call to the service.
2094// the "output" return value is not valid until after Send returns without error.
2095//
2096// See DisableSecurityHub for more information on using the DisableSecurityHub
2097// API call, and error handling.
2098//
2099// This method is useful when you want to inject custom logic or configuration
2100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2101//
2102//
2103//    // Example sending a request using the DisableSecurityHubRequest method.
2104//    req, resp := client.DisableSecurityHubRequest(params)
2105//
2106//    err := req.Send()
2107//    if err == nil { // resp is now filled
2108//        fmt.Println(resp)
2109//    }
2110//
2111// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2112func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2113	op := &request.Operation{
2114		Name:       opDisableSecurityHub,
2115		HTTPMethod: "DELETE",
2116		HTTPPath:   "/accounts",
2117	}
2118
2119	if input == nil {
2120		input = &DisableSecurityHubInput{}
2121	}
2122
2123	output = &DisableSecurityHubOutput{}
2124	req = c.newRequest(op, input, output)
2125	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2126	return
2127}
2128
2129// DisableSecurityHub API operation for AWS SecurityHub.
2130//
2131// Disables Security Hub in your account only in the current Region. To disable
2132// Security Hub in all Regions, you must submit one request per Region where
2133// you have enabled Security Hub.
2134//
2135// When you disable Security Hub for a master account, it doesn't disable Security
2136// Hub for any associated member accounts.
2137//
2138// When you disable Security Hub, your existing findings and insights and any
2139// Security Hub configuration settings are deleted after 90 days and cannot
2140// be recovered. Any standards that were enabled are disabled, and your master
2141// and member account associations are removed.
2142//
2143// If you want to save your existing findings, you must export them before you
2144// disable Security Hub.
2145//
2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2147// with awserr.Error's Code and Message methods to get detailed information about
2148// the error.
2149//
2150// See the AWS API reference guide for AWS SecurityHub's
2151// API operation DisableSecurityHub for usage and error information.
2152//
2153// Returned Error Types:
2154//   * InternalException
2155//   Internal server error.
2156//
2157//   * LimitExceededException
2158//   The request was rejected because it attempted to create resources beyond
2159//   the current AWS account limits. The error code describes the limit exceeded.
2160//
2161//   * InvalidAccessException
2162//   AWS Security Hub isn't enabled for the account used to make this request.
2163//
2164//   * ResourceNotFoundException
2165//   The request was rejected because we can't find the specified resource.
2166//
2167// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2168func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2169	req, out := c.DisableSecurityHubRequest(input)
2170	return out, req.Send()
2171}
2172
2173// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2174// the ability to pass a context and additional request options.
2175//
2176// See DisableSecurityHub for details on how to use this API operation.
2177//
2178// The context must be non-nil and will be used for request cancellation. If
2179// the context is nil a panic will occur. In the future the SDK may create
2180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2181// for more information on using Contexts.
2182func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2183	req, out := c.DisableSecurityHubRequest(input)
2184	req.SetContext(ctx)
2185	req.ApplyOptions(opts...)
2186	return out, req.Send()
2187}
2188
2189const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2190
2191// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2192// client's request for the DisassociateFromMasterAccount operation. The "output" return
2193// value will be populated with the request's response once the request completes
2194// successfully.
2195//
2196// Use "Send" method on the returned Request to send the API call to the service.
2197// the "output" return value is not valid until after Send returns without error.
2198//
2199// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2200// API call, and error handling.
2201//
2202// This method is useful when you want to inject custom logic or configuration
2203// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2204//
2205//
2206//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2207//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2208//
2209//    err := req.Send()
2210//    if err == nil { // resp is now filled
2211//        fmt.Println(resp)
2212//    }
2213//
2214// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2215func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2216	op := &request.Operation{
2217		Name:       opDisassociateFromMasterAccount,
2218		HTTPMethod: "POST",
2219		HTTPPath:   "/master/disassociate",
2220	}
2221
2222	if input == nil {
2223		input = &DisassociateFromMasterAccountInput{}
2224	}
2225
2226	output = &DisassociateFromMasterAccountOutput{}
2227	req = c.newRequest(op, input, output)
2228	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2229	return
2230}
2231
2232// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2233//
2234// Disassociates the current Security Hub member account from the associated
2235// master account.
2236//
2237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2238// with awserr.Error's Code and Message methods to get detailed information about
2239// the error.
2240//
2241// See the AWS API reference guide for AWS SecurityHub's
2242// API operation DisassociateFromMasterAccount for usage and error information.
2243//
2244// Returned Error Types:
2245//   * InternalException
2246//   Internal server error.
2247//
2248//   * InvalidInputException
2249//   The request was rejected because you supplied an invalid or out-of-range
2250//   value for an input parameter.
2251//
2252//   * InvalidAccessException
2253//   AWS Security Hub isn't enabled for the account used to make this request.
2254//
2255//   * LimitExceededException
2256//   The request was rejected because it attempted to create resources beyond
2257//   the current AWS account limits. The error code describes the limit exceeded.
2258//
2259//   * ResourceNotFoundException
2260//   The request was rejected because we can't find the specified resource.
2261//
2262// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2263func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2264	req, out := c.DisassociateFromMasterAccountRequest(input)
2265	return out, req.Send()
2266}
2267
2268// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2269// the ability to pass a context and additional request options.
2270//
2271// See DisassociateFromMasterAccount for details on how to use this API operation.
2272//
2273// The context must be non-nil and will be used for request cancellation. If
2274// the context is nil a panic will occur. In the future the SDK may create
2275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2276// for more information on using Contexts.
2277func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2278	req, out := c.DisassociateFromMasterAccountRequest(input)
2279	req.SetContext(ctx)
2280	req.ApplyOptions(opts...)
2281	return out, req.Send()
2282}
2283
2284const opDisassociateMembers = "DisassociateMembers"
2285
2286// DisassociateMembersRequest generates a "aws/request.Request" representing the
2287// client's request for the DisassociateMembers operation. The "output" return
2288// value will be populated with the request's response once the request completes
2289// successfully.
2290//
2291// Use "Send" method on the returned Request to send the API call to the service.
2292// the "output" return value is not valid until after Send returns without error.
2293//
2294// See DisassociateMembers for more information on using the DisassociateMembers
2295// API call, and error handling.
2296//
2297// This method is useful when you want to inject custom logic or configuration
2298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2299//
2300//
2301//    // Example sending a request using the DisassociateMembersRequest method.
2302//    req, resp := client.DisassociateMembersRequest(params)
2303//
2304//    err := req.Send()
2305//    if err == nil { // resp is now filled
2306//        fmt.Println(resp)
2307//    }
2308//
2309// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2310func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
2311	op := &request.Operation{
2312		Name:       opDisassociateMembers,
2313		HTTPMethod: "POST",
2314		HTTPPath:   "/members/disassociate",
2315	}
2316
2317	if input == nil {
2318		input = &DisassociateMembersInput{}
2319	}
2320
2321	output = &DisassociateMembersOutput{}
2322	req = c.newRequest(op, input, output)
2323	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2324	return
2325}
2326
2327// DisassociateMembers API operation for AWS SecurityHub.
2328//
2329// Disassociates the specified member accounts from the associated master account.
2330//
2331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2332// with awserr.Error's Code and Message methods to get detailed information about
2333// the error.
2334//
2335// See the AWS API reference guide for AWS SecurityHub's
2336// API operation DisassociateMembers for usage and error information.
2337//
2338// Returned Error Types:
2339//   * InternalException
2340//   Internal server error.
2341//
2342//   * InvalidInputException
2343//   The request was rejected because you supplied an invalid or out-of-range
2344//   value for an input parameter.
2345//
2346//   * InvalidAccessException
2347//   AWS Security Hub isn't enabled for the account used to make this request.
2348//
2349//   * LimitExceededException
2350//   The request was rejected because it attempted to create resources beyond
2351//   the current AWS account limits. The error code describes the limit exceeded.
2352//
2353//   * ResourceNotFoundException
2354//   The request was rejected because we can't find the specified resource.
2355//
2356// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2357func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
2358	req, out := c.DisassociateMembersRequest(input)
2359	return out, req.Send()
2360}
2361
2362// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
2363// the ability to pass a context and additional request options.
2364//
2365// See DisassociateMembers for details on how to use this API operation.
2366//
2367// The context must be non-nil and will be used for request cancellation. If
2368// the context is nil a panic will occur. In the future the SDK may create
2369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2370// for more information on using Contexts.
2371func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
2372	req, out := c.DisassociateMembersRequest(input)
2373	req.SetContext(ctx)
2374	req.ApplyOptions(opts...)
2375	return out, req.Send()
2376}
2377
2378const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
2379
2380// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2381// client's request for the EnableImportFindingsForProduct operation. The "output" return
2382// value will be populated with the request's response once the request completes
2383// successfully.
2384//
2385// Use "Send" method on the returned Request to send the API call to the service.
2386// the "output" return value is not valid until after Send returns without error.
2387//
2388// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
2389// API call, and error handling.
2390//
2391// This method is useful when you want to inject custom logic or configuration
2392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2393//
2394//
2395//    // Example sending a request using the EnableImportFindingsForProductRequest method.
2396//    req, resp := client.EnableImportFindingsForProductRequest(params)
2397//
2398//    err := req.Send()
2399//    if err == nil { // resp is now filled
2400//        fmt.Println(resp)
2401//    }
2402//
2403// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2404func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
2405	op := &request.Operation{
2406		Name:       opEnableImportFindingsForProduct,
2407		HTTPMethod: "POST",
2408		HTTPPath:   "/productSubscriptions",
2409	}
2410
2411	if input == nil {
2412		input = &EnableImportFindingsForProductInput{}
2413	}
2414
2415	output = &EnableImportFindingsForProductOutput{}
2416	req = c.newRequest(op, input, output)
2417	return
2418}
2419
2420// EnableImportFindingsForProduct API operation for AWS SecurityHub.
2421//
2422// Enables the integration of a partner product with Security Hub. Integrated
2423// products send findings to Security Hub.
2424//
2425// When you enable a product integration, a permissions policy that grants permission
2426// for the product to send findings to Security Hub is applied.
2427//
2428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2429// with awserr.Error's Code and Message methods to get detailed information about
2430// the error.
2431//
2432// See the AWS API reference guide for AWS SecurityHub's
2433// API operation EnableImportFindingsForProduct for usage and error information.
2434//
2435// Returned Error Types:
2436//   * InternalException
2437//   Internal server error.
2438//
2439//   * InvalidInputException
2440//   The request was rejected because you supplied an invalid or out-of-range
2441//   value for an input parameter.
2442//
2443//   * InvalidAccessException
2444//   AWS Security Hub isn't enabled for the account used to make this request.
2445//
2446//   * ResourceConflictException
2447//   The resource specified in the request conflicts with an existing resource.
2448//
2449//   * LimitExceededException
2450//   The request was rejected because it attempted to create resources beyond
2451//   the current AWS account limits. The error code describes the limit exceeded.
2452//
2453// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2454func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
2455	req, out := c.EnableImportFindingsForProductRequest(input)
2456	return out, req.Send()
2457}
2458
2459// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
2460// the ability to pass a context and additional request options.
2461//
2462// See EnableImportFindingsForProduct for details on how to use this API operation.
2463//
2464// The context must be non-nil and will be used for request cancellation. If
2465// the context is nil a panic will occur. In the future the SDK may create
2466// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2467// for more information on using Contexts.
2468func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
2469	req, out := c.EnableImportFindingsForProductRequest(input)
2470	req.SetContext(ctx)
2471	req.ApplyOptions(opts...)
2472	return out, req.Send()
2473}
2474
2475const opEnableSecurityHub = "EnableSecurityHub"
2476
2477// EnableSecurityHubRequest generates a "aws/request.Request" representing the
2478// client's request for the EnableSecurityHub operation. The "output" return
2479// value will be populated with the request's response once the request completes
2480// successfully.
2481//
2482// Use "Send" method on the returned Request to send the API call to the service.
2483// the "output" return value is not valid until after Send returns without error.
2484//
2485// See EnableSecurityHub for more information on using the EnableSecurityHub
2486// API call, and error handling.
2487//
2488// This method is useful when you want to inject custom logic or configuration
2489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2490//
2491//
2492//    // Example sending a request using the EnableSecurityHubRequest method.
2493//    req, resp := client.EnableSecurityHubRequest(params)
2494//
2495//    err := req.Send()
2496//    if err == nil { // resp is now filled
2497//        fmt.Println(resp)
2498//    }
2499//
2500// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
2501func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
2502	op := &request.Operation{
2503		Name:       opEnableSecurityHub,
2504		HTTPMethod: "POST",
2505		HTTPPath:   "/accounts",
2506	}
2507
2508	if input == nil {
2509		input = &EnableSecurityHubInput{}
2510	}
2511
2512	output = &EnableSecurityHubOutput{}
2513	req = c.newRequest(op, input, output)
2514	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2515	return
2516}
2517
2518// EnableSecurityHub API operation for AWS SecurityHub.
2519//
2520// Enables Security Hub for your account in the current Region or the Region
2521// you specify in the request.
2522//
2523// When you enable Security Hub, you grant to Security Hub the permissions necessary
2524// to gather findings from other services that are integrated with Security
2525// Hub.
2526//
2527// When you use the EnableSecurityHub operation to enable Security Hub, you
2528// also automatically enable the following standards.
2529//
2530//    * CIS AWS Foundations
2531//
2532//    * AWS Foundational Security Best Practices
2533//
2534// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
2535// standard.
2536//
2537// To not enable the automatically enabled standards, set EnableDefaultStandards
2538// to false.
2539//
2540// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
2541// operation. To disable a standard, use the BatchDisableStandards operation.
2542//
2543// To learn more, see Setting Up AWS Security Hub (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
2544// in the AWS Security Hub User Guide.
2545//
2546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2547// with awserr.Error's Code and Message methods to get detailed information about
2548// the error.
2549//
2550// See the AWS API reference guide for AWS SecurityHub's
2551// API operation EnableSecurityHub for usage and error information.
2552//
2553// Returned Error Types:
2554//   * InternalException
2555//   Internal server error.
2556//
2557//   * LimitExceededException
2558//   The request was rejected because it attempted to create resources beyond
2559//   the current AWS account limits. The error code describes the limit exceeded.
2560//
2561//   * InvalidAccessException
2562//   AWS Security Hub isn't enabled for the account used to make this request.
2563//
2564//   * ResourceConflictException
2565//   The resource specified in the request conflicts with an existing resource.
2566//
2567//   * AccessDeniedException
2568//   You don't have permission to perform the action specified in the request.
2569//
2570// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
2571func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
2572	req, out := c.EnableSecurityHubRequest(input)
2573	return out, req.Send()
2574}
2575
2576// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
2577// the ability to pass a context and additional request options.
2578//
2579// See EnableSecurityHub for details on how to use this API operation.
2580//
2581// The context must be non-nil and will be used for request cancellation. If
2582// the context is nil a panic will occur. In the future the SDK may create
2583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2584// for more information on using Contexts.
2585func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
2586	req, out := c.EnableSecurityHubRequest(input)
2587	req.SetContext(ctx)
2588	req.ApplyOptions(opts...)
2589	return out, req.Send()
2590}
2591
2592const opGetEnabledStandards = "GetEnabledStandards"
2593
2594// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
2595// client's request for the GetEnabledStandards operation. The "output" return
2596// value will be populated with the request's response once the request completes
2597// successfully.
2598//
2599// Use "Send" method on the returned Request to send the API call to the service.
2600// the "output" return value is not valid until after Send returns without error.
2601//
2602// See GetEnabledStandards for more information on using the GetEnabledStandards
2603// API call, and error handling.
2604//
2605// This method is useful when you want to inject custom logic or configuration
2606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2607//
2608//
2609//    // Example sending a request using the GetEnabledStandardsRequest method.
2610//    req, resp := client.GetEnabledStandardsRequest(params)
2611//
2612//    err := req.Send()
2613//    if err == nil { // resp is now filled
2614//        fmt.Println(resp)
2615//    }
2616//
2617// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
2618func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
2619	op := &request.Operation{
2620		Name:       opGetEnabledStandards,
2621		HTTPMethod: "POST",
2622		HTTPPath:   "/standards/get",
2623		Paginator: &request.Paginator{
2624			InputTokens:     []string{"NextToken"},
2625			OutputTokens:    []string{"NextToken"},
2626			LimitToken:      "MaxResults",
2627			TruncationToken: "",
2628		},
2629	}
2630
2631	if input == nil {
2632		input = &GetEnabledStandardsInput{}
2633	}
2634
2635	output = &GetEnabledStandardsOutput{}
2636	req = c.newRequest(op, input, output)
2637	return
2638}
2639
2640// GetEnabledStandards API operation for AWS SecurityHub.
2641//
2642// Returns a list of the standards that are currently enabled.
2643//
2644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2645// with awserr.Error's Code and Message methods to get detailed information about
2646// the error.
2647//
2648// See the AWS API reference guide for AWS SecurityHub's
2649// API operation GetEnabledStandards for usage and error information.
2650//
2651// Returned Error Types:
2652//   * InternalException
2653//   Internal server error.
2654//
2655//   * InvalidInputException
2656//   The request was rejected because you supplied an invalid or out-of-range
2657//   value for an input parameter.
2658//
2659//   * InvalidAccessException
2660//   AWS Security Hub isn't enabled for the account used to make this request.
2661//
2662//   * LimitExceededException
2663//   The request was rejected because it attempted to create resources beyond
2664//   the current AWS account limits. The error code describes the limit exceeded.
2665//
2666// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
2667func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
2668	req, out := c.GetEnabledStandardsRequest(input)
2669	return out, req.Send()
2670}
2671
2672// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
2673// the ability to pass a context and additional request options.
2674//
2675// See GetEnabledStandards for details on how to use this API operation.
2676//
2677// The context must be non-nil and will be used for request cancellation. If
2678// the context is nil a panic will occur. In the future the SDK may create
2679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2680// for more information on using Contexts.
2681func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
2682	req, out := c.GetEnabledStandardsRequest(input)
2683	req.SetContext(ctx)
2684	req.ApplyOptions(opts...)
2685	return out, req.Send()
2686}
2687
2688// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
2689// calling the "fn" function with the response data for each page. To stop
2690// iterating, return false from the fn function.
2691//
2692// See GetEnabledStandards method for more information on how to use this operation.
2693//
2694// Note: This operation can generate multiple requests to a service.
2695//
2696//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
2697//    pageNum := 0
2698//    err := client.GetEnabledStandardsPages(params,
2699//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
2700//            pageNum++
2701//            fmt.Println(page)
2702//            return pageNum <= 3
2703//        })
2704//
2705func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
2706	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
2707}
2708
2709// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
2710// it takes a Context and allows setting request options on the pages.
2711//
2712// The context must be non-nil and will be used for request cancellation. If
2713// the context is nil a panic will occur. In the future the SDK may create
2714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2715// for more information on using Contexts.
2716func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
2717	p := request.Pagination{
2718		NewRequest: func() (*request.Request, error) {
2719			var inCpy *GetEnabledStandardsInput
2720			if input != nil {
2721				tmp := *input
2722				inCpy = &tmp
2723			}
2724			req, _ := c.GetEnabledStandardsRequest(inCpy)
2725			req.SetContext(ctx)
2726			req.ApplyOptions(opts...)
2727			return req, nil
2728		},
2729	}
2730
2731	for p.Next() {
2732		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
2733			break
2734		}
2735	}
2736
2737	return p.Err()
2738}
2739
2740const opGetFindings = "GetFindings"
2741
2742// GetFindingsRequest generates a "aws/request.Request" representing the
2743// client's request for the GetFindings operation. The "output" return
2744// value will be populated with the request's response once the request completes
2745// successfully.
2746//
2747// Use "Send" method on the returned Request to send the API call to the service.
2748// the "output" return value is not valid until after Send returns without error.
2749//
2750// See GetFindings for more information on using the GetFindings
2751// API call, and error handling.
2752//
2753// This method is useful when you want to inject custom logic or configuration
2754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2755//
2756//
2757//    // Example sending a request using the GetFindingsRequest method.
2758//    req, resp := client.GetFindingsRequest(params)
2759//
2760//    err := req.Send()
2761//    if err == nil { // resp is now filled
2762//        fmt.Println(resp)
2763//    }
2764//
2765// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
2766func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
2767	op := &request.Operation{
2768		Name:       opGetFindings,
2769		HTTPMethod: "POST",
2770		HTTPPath:   "/findings",
2771		Paginator: &request.Paginator{
2772			InputTokens:     []string{"NextToken"},
2773			OutputTokens:    []string{"NextToken"},
2774			LimitToken:      "MaxResults",
2775			TruncationToken: "",
2776		},
2777	}
2778
2779	if input == nil {
2780		input = &GetFindingsInput{}
2781	}
2782
2783	output = &GetFindingsOutput{}
2784	req = c.newRequest(op, input, output)
2785	return
2786}
2787
2788// GetFindings API operation for AWS SecurityHub.
2789//
2790// Returns a list of findings that match the specified criteria.
2791//
2792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2793// with awserr.Error's Code and Message methods to get detailed information about
2794// the error.
2795//
2796// See the AWS API reference guide for AWS SecurityHub's
2797// API operation GetFindings for usage and error information.
2798//
2799// Returned Error Types:
2800//   * InternalException
2801//   Internal server error.
2802//
2803//   * InvalidInputException
2804//   The request was rejected because you supplied an invalid or out-of-range
2805//   value for an input parameter.
2806//
2807//   * InvalidAccessException
2808//   AWS Security Hub isn't enabled for the account used to make this request.
2809//
2810//   * LimitExceededException
2811//   The request was rejected because it attempted to create resources beyond
2812//   the current AWS account limits. The error code describes the limit exceeded.
2813//
2814// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
2815func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
2816	req, out := c.GetFindingsRequest(input)
2817	return out, req.Send()
2818}
2819
2820// GetFindingsWithContext is the same as GetFindings with the addition of
2821// the ability to pass a context and additional request options.
2822//
2823// See GetFindings for details on how to use this API operation.
2824//
2825// The context must be non-nil and will be used for request cancellation. If
2826// the context is nil a panic will occur. In the future the SDK may create
2827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2828// for more information on using Contexts.
2829func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
2830	req, out := c.GetFindingsRequest(input)
2831	req.SetContext(ctx)
2832	req.ApplyOptions(opts...)
2833	return out, req.Send()
2834}
2835
2836// GetFindingsPages iterates over the pages of a GetFindings operation,
2837// calling the "fn" function with the response data for each page. To stop
2838// iterating, return false from the fn function.
2839//
2840// See GetFindings method for more information on how to use this operation.
2841//
2842// Note: This operation can generate multiple requests to a service.
2843//
2844//    // Example iterating over at most 3 pages of a GetFindings operation.
2845//    pageNum := 0
2846//    err := client.GetFindingsPages(params,
2847//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
2848//            pageNum++
2849//            fmt.Println(page)
2850//            return pageNum <= 3
2851//        })
2852//
2853func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
2854	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
2855}
2856
2857// GetFindingsPagesWithContext same as GetFindingsPages except
2858// it takes a Context and allows setting request options on the pages.
2859//
2860// The context must be non-nil and will be used for request cancellation. If
2861// the context is nil a panic will occur. In the future the SDK may create
2862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2863// for more information on using Contexts.
2864func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
2865	p := request.Pagination{
2866		NewRequest: func() (*request.Request, error) {
2867			var inCpy *GetFindingsInput
2868			if input != nil {
2869				tmp := *input
2870				inCpy = &tmp
2871			}
2872			req, _ := c.GetFindingsRequest(inCpy)
2873			req.SetContext(ctx)
2874			req.ApplyOptions(opts...)
2875			return req, nil
2876		},
2877	}
2878
2879	for p.Next() {
2880		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
2881			break
2882		}
2883	}
2884
2885	return p.Err()
2886}
2887
2888const opGetInsightResults = "GetInsightResults"
2889
2890// GetInsightResultsRequest generates a "aws/request.Request" representing the
2891// client's request for the GetInsightResults operation. The "output" return
2892// value will be populated with the request's response once the request completes
2893// successfully.
2894//
2895// Use "Send" method on the returned Request to send the API call to the service.
2896// the "output" return value is not valid until after Send returns without error.
2897//
2898// See GetInsightResults for more information on using the GetInsightResults
2899// API call, and error handling.
2900//
2901// This method is useful when you want to inject custom logic or configuration
2902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2903//
2904//
2905//    // Example sending a request using the GetInsightResultsRequest method.
2906//    req, resp := client.GetInsightResultsRequest(params)
2907//
2908//    err := req.Send()
2909//    if err == nil { // resp is now filled
2910//        fmt.Println(resp)
2911//    }
2912//
2913// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
2914func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
2915	op := &request.Operation{
2916		Name:       opGetInsightResults,
2917		HTTPMethod: "GET",
2918		HTTPPath:   "/insights/results/{InsightArn+}",
2919	}
2920
2921	if input == nil {
2922		input = &GetInsightResultsInput{}
2923	}
2924
2925	output = &GetInsightResultsOutput{}
2926	req = c.newRequest(op, input, output)
2927	return
2928}
2929
2930// GetInsightResults API operation for AWS SecurityHub.
2931//
2932// Lists the results of the Security Hub insight specified by the insight ARN.
2933//
2934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2935// with awserr.Error's Code and Message methods to get detailed information about
2936// the error.
2937//
2938// See the AWS API reference guide for AWS SecurityHub's
2939// API operation GetInsightResults for usage and error information.
2940//
2941// Returned Error Types:
2942//   * InternalException
2943//   Internal server error.
2944//
2945//   * InvalidInputException
2946//   The request was rejected because you supplied an invalid or out-of-range
2947//   value for an input parameter.
2948//
2949//   * InvalidAccessException
2950//   AWS Security Hub isn't enabled for the account used to make this request.
2951//
2952//   * LimitExceededException
2953//   The request was rejected because it attempted to create resources beyond
2954//   the current AWS account limits. The error code describes the limit exceeded.
2955//
2956//   * ResourceNotFoundException
2957//   The request was rejected because we can't find the specified resource.
2958//
2959// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
2960func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
2961	req, out := c.GetInsightResultsRequest(input)
2962	return out, req.Send()
2963}
2964
2965// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
2966// the ability to pass a context and additional request options.
2967//
2968// See GetInsightResults for details on how to use this API operation.
2969//
2970// The context must be non-nil and will be used for request cancellation. If
2971// the context is nil a panic will occur. In the future the SDK may create
2972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2973// for more information on using Contexts.
2974func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
2975	req, out := c.GetInsightResultsRequest(input)
2976	req.SetContext(ctx)
2977	req.ApplyOptions(opts...)
2978	return out, req.Send()
2979}
2980
2981const opGetInsights = "GetInsights"
2982
2983// GetInsightsRequest generates a "aws/request.Request" representing the
2984// client's request for the GetInsights operation. The "output" return
2985// value will be populated with the request's response once the request completes
2986// successfully.
2987//
2988// Use "Send" method on the returned Request to send the API call to the service.
2989// the "output" return value is not valid until after Send returns without error.
2990//
2991// See GetInsights for more information on using the GetInsights
2992// API call, and error handling.
2993//
2994// This method is useful when you want to inject custom logic or configuration
2995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2996//
2997//
2998//    // Example sending a request using the GetInsightsRequest method.
2999//    req, resp := client.GetInsightsRequest(params)
3000//
3001//    err := req.Send()
3002//    if err == nil { // resp is now filled
3003//        fmt.Println(resp)
3004//    }
3005//
3006// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3007func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
3008	op := &request.Operation{
3009		Name:       opGetInsights,
3010		HTTPMethod: "POST",
3011		HTTPPath:   "/insights/get",
3012		Paginator: &request.Paginator{
3013			InputTokens:     []string{"NextToken"},
3014			OutputTokens:    []string{"NextToken"},
3015			LimitToken:      "MaxResults",
3016			TruncationToken: "",
3017		},
3018	}
3019
3020	if input == nil {
3021		input = &GetInsightsInput{}
3022	}
3023
3024	output = &GetInsightsOutput{}
3025	req = c.newRequest(op, input, output)
3026	return
3027}
3028
3029// GetInsights API operation for AWS SecurityHub.
3030//
3031// Lists and describes insights for the specified insight ARNs.
3032//
3033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3034// with awserr.Error's Code and Message methods to get detailed information about
3035// the error.
3036//
3037// See the AWS API reference guide for AWS SecurityHub's
3038// API operation GetInsights for usage and error information.
3039//
3040// Returned Error Types:
3041//   * InternalException
3042//   Internal server error.
3043//
3044//   * InvalidInputException
3045//   The request was rejected because you supplied an invalid or out-of-range
3046//   value for an input parameter.
3047//
3048//   * InvalidAccessException
3049//   AWS Security Hub isn't enabled for the account used to make this request.
3050//
3051//   * LimitExceededException
3052//   The request was rejected because it attempted to create resources beyond
3053//   the current AWS account limits. The error code describes the limit exceeded.
3054//
3055//   * ResourceNotFoundException
3056//   The request was rejected because we can't find the specified resource.
3057//
3058// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3059func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
3060	req, out := c.GetInsightsRequest(input)
3061	return out, req.Send()
3062}
3063
3064// GetInsightsWithContext is the same as GetInsights with the addition of
3065// the ability to pass a context and additional request options.
3066//
3067// See GetInsights for details on how to use this API operation.
3068//
3069// The context must be non-nil and will be used for request cancellation. If
3070// the context is nil a panic will occur. In the future the SDK may create
3071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3072// for more information on using Contexts.
3073func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
3074	req, out := c.GetInsightsRequest(input)
3075	req.SetContext(ctx)
3076	req.ApplyOptions(opts...)
3077	return out, req.Send()
3078}
3079
3080// GetInsightsPages iterates over the pages of a GetInsights operation,
3081// calling the "fn" function with the response data for each page. To stop
3082// iterating, return false from the fn function.
3083//
3084// See GetInsights method for more information on how to use this operation.
3085//
3086// Note: This operation can generate multiple requests to a service.
3087//
3088//    // Example iterating over at most 3 pages of a GetInsights operation.
3089//    pageNum := 0
3090//    err := client.GetInsightsPages(params,
3091//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
3092//            pageNum++
3093//            fmt.Println(page)
3094//            return pageNum <= 3
3095//        })
3096//
3097func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
3098	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
3099}
3100
3101// GetInsightsPagesWithContext same as GetInsightsPages except
3102// it takes a Context and allows setting request options on the pages.
3103//
3104// The context must be non-nil and will be used for request cancellation. If
3105// the context is nil a panic will occur. In the future the SDK may create
3106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3107// for more information on using Contexts.
3108func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
3109	p := request.Pagination{
3110		NewRequest: func() (*request.Request, error) {
3111			var inCpy *GetInsightsInput
3112			if input != nil {
3113				tmp := *input
3114				inCpy = &tmp
3115			}
3116			req, _ := c.GetInsightsRequest(inCpy)
3117			req.SetContext(ctx)
3118			req.ApplyOptions(opts...)
3119			return req, nil
3120		},
3121	}
3122
3123	for p.Next() {
3124		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
3125			break
3126		}
3127	}
3128
3129	return p.Err()
3130}
3131
3132const opGetInvitationsCount = "GetInvitationsCount"
3133
3134// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3135// client's request for the GetInvitationsCount operation. The "output" return
3136// value will be populated with the request's response once the request completes
3137// successfully.
3138//
3139// Use "Send" method on the returned Request to send the API call to the service.
3140// the "output" return value is not valid until after Send returns without error.
3141//
3142// See GetInvitationsCount for more information on using the GetInvitationsCount
3143// API call, and error handling.
3144//
3145// This method is useful when you want to inject custom logic or configuration
3146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3147//
3148//
3149//    // Example sending a request using the GetInvitationsCountRequest method.
3150//    req, resp := client.GetInvitationsCountRequest(params)
3151//
3152//    err := req.Send()
3153//    if err == nil { // resp is now filled
3154//        fmt.Println(resp)
3155//    }
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3158func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3159	op := &request.Operation{
3160		Name:       opGetInvitationsCount,
3161		HTTPMethod: "GET",
3162		HTTPPath:   "/invitations/count",
3163	}
3164
3165	if input == nil {
3166		input = &GetInvitationsCountInput{}
3167	}
3168
3169	output = &GetInvitationsCountOutput{}
3170	req = c.newRequest(op, input, output)
3171	return
3172}
3173
3174// GetInvitationsCount API operation for AWS SecurityHub.
3175//
3176// Returns the count of all Security Hub membership invitations that were sent
3177// to the current member account, not including the currently accepted invitation.
3178//
3179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3180// with awserr.Error's Code and Message methods to get detailed information about
3181// the error.
3182//
3183// See the AWS API reference guide for AWS SecurityHub's
3184// API operation GetInvitationsCount for usage and error information.
3185//
3186// Returned Error Types:
3187//   * InternalException
3188//   Internal server error.
3189//
3190//   * InvalidInputException
3191//   The request was rejected because you supplied an invalid or out-of-range
3192//   value for an input parameter.
3193//
3194//   * InvalidAccessException
3195//   AWS Security Hub isn't enabled for the account used to make this request.
3196//
3197//   * LimitExceededException
3198//   The request was rejected because it attempted to create resources beyond
3199//   the current AWS account limits. The error code describes the limit exceeded.
3200//
3201// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3202func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3203	req, out := c.GetInvitationsCountRequest(input)
3204	return out, req.Send()
3205}
3206
3207// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3208// the ability to pass a context and additional request options.
3209//
3210// See GetInvitationsCount for details on how to use this API operation.
3211//
3212// The context must be non-nil and will be used for request cancellation. If
3213// the context is nil a panic will occur. In the future the SDK may create
3214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3215// for more information on using Contexts.
3216func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3217	req, out := c.GetInvitationsCountRequest(input)
3218	req.SetContext(ctx)
3219	req.ApplyOptions(opts...)
3220	return out, req.Send()
3221}
3222
3223const opGetMasterAccount = "GetMasterAccount"
3224
3225// GetMasterAccountRequest generates a "aws/request.Request" representing the
3226// client's request for the GetMasterAccount operation. The "output" return
3227// value will be populated with the request's response once the request completes
3228// successfully.
3229//
3230// Use "Send" method on the returned Request to send the API call to the service.
3231// the "output" return value is not valid until after Send returns without error.
3232//
3233// See GetMasterAccount for more information on using the GetMasterAccount
3234// API call, and error handling.
3235//
3236// This method is useful when you want to inject custom logic or configuration
3237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3238//
3239//
3240//    // Example sending a request using the GetMasterAccountRequest method.
3241//    req, resp := client.GetMasterAccountRequest(params)
3242//
3243//    err := req.Send()
3244//    if err == nil { // resp is now filled
3245//        fmt.Println(resp)
3246//    }
3247//
3248// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
3249func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
3250	op := &request.Operation{
3251		Name:       opGetMasterAccount,
3252		HTTPMethod: "GET",
3253		HTTPPath:   "/master",
3254	}
3255
3256	if input == nil {
3257		input = &GetMasterAccountInput{}
3258	}
3259
3260	output = &GetMasterAccountOutput{}
3261	req = c.newRequest(op, input, output)
3262	return
3263}
3264
3265// GetMasterAccount API operation for AWS SecurityHub.
3266//
3267// Provides the details for the Security Hub master account for the current
3268// member account.
3269//
3270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3271// with awserr.Error's Code and Message methods to get detailed information about
3272// the error.
3273//
3274// See the AWS API reference guide for AWS SecurityHub's
3275// API operation GetMasterAccount for usage and error information.
3276//
3277// Returned Error Types:
3278//   * InternalException
3279//   Internal server error.
3280//
3281//   * InvalidInputException
3282//   The request was rejected because you supplied an invalid or out-of-range
3283//   value for an input parameter.
3284//
3285//   * InvalidAccessException
3286//   AWS Security Hub isn't enabled for the account used to make this request.
3287//
3288//   * LimitExceededException
3289//   The request was rejected because it attempted to create resources beyond
3290//   the current AWS account limits. The error code describes the limit exceeded.
3291//
3292//   * ResourceNotFoundException
3293//   The request was rejected because we can't find the specified resource.
3294//
3295// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
3296func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
3297	req, out := c.GetMasterAccountRequest(input)
3298	return out, req.Send()
3299}
3300
3301// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
3302// the ability to pass a context and additional request options.
3303//
3304// See GetMasterAccount for details on how to use this API operation.
3305//
3306// The context must be non-nil and will be used for request cancellation. If
3307// the context is nil a panic will occur. In the future the SDK may create
3308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3309// for more information on using Contexts.
3310func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
3311	req, out := c.GetMasterAccountRequest(input)
3312	req.SetContext(ctx)
3313	req.ApplyOptions(opts...)
3314	return out, req.Send()
3315}
3316
3317const opGetMembers = "GetMembers"
3318
3319// GetMembersRequest generates a "aws/request.Request" representing the
3320// client's request for the GetMembers operation. The "output" return
3321// value will be populated with the request's response once the request completes
3322// successfully.
3323//
3324// Use "Send" method on the returned Request to send the API call to the service.
3325// the "output" return value is not valid until after Send returns without error.
3326//
3327// See GetMembers for more information on using the GetMembers
3328// API call, and error handling.
3329//
3330// This method is useful when you want to inject custom logic or configuration
3331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3332//
3333//
3334//    // Example sending a request using the GetMembersRequest method.
3335//    req, resp := client.GetMembersRequest(params)
3336//
3337//    err := req.Send()
3338//    if err == nil { // resp is now filled
3339//        fmt.Println(resp)
3340//    }
3341//
3342// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
3343func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
3344	op := &request.Operation{
3345		Name:       opGetMembers,
3346		HTTPMethod: "POST",
3347		HTTPPath:   "/members/get",
3348	}
3349
3350	if input == nil {
3351		input = &GetMembersInput{}
3352	}
3353
3354	output = &GetMembersOutput{}
3355	req = c.newRequest(op, input, output)
3356	return
3357}
3358
3359// GetMembers API operation for AWS SecurityHub.
3360//
3361// Returns the details for the Security Hub member accounts for the specified
3362// account IDs.
3363//
3364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3365// with awserr.Error's Code and Message methods to get detailed information about
3366// the error.
3367//
3368// See the AWS API reference guide for AWS SecurityHub's
3369// API operation GetMembers for usage and error information.
3370//
3371// Returned Error Types:
3372//   * InternalException
3373//   Internal server error.
3374//
3375//   * InvalidInputException
3376//   The request was rejected because you supplied an invalid or out-of-range
3377//   value for an input parameter.
3378//
3379//   * InvalidAccessException
3380//   AWS Security Hub isn't enabled for the account used to make this request.
3381//
3382//   * LimitExceededException
3383//   The request was rejected because it attempted to create resources beyond
3384//   the current AWS account limits. The error code describes the limit exceeded.
3385//
3386//   * ResourceNotFoundException
3387//   The request was rejected because we can't find the specified resource.
3388//
3389// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
3390func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
3391	req, out := c.GetMembersRequest(input)
3392	return out, req.Send()
3393}
3394
3395// GetMembersWithContext is the same as GetMembers with the addition of
3396// the ability to pass a context and additional request options.
3397//
3398// See GetMembers for details on how to use this API operation.
3399//
3400// The context must be non-nil and will be used for request cancellation. If
3401// the context is nil a panic will occur. In the future the SDK may create
3402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3403// for more information on using Contexts.
3404func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
3405	req, out := c.GetMembersRequest(input)
3406	req.SetContext(ctx)
3407	req.ApplyOptions(opts...)
3408	return out, req.Send()
3409}
3410
3411const opInviteMembers = "InviteMembers"
3412
3413// InviteMembersRequest generates a "aws/request.Request" representing the
3414// client's request for the InviteMembers operation. The "output" return
3415// value will be populated with the request's response once the request completes
3416// successfully.
3417//
3418// Use "Send" method on the returned Request to send the API call to the service.
3419// the "output" return value is not valid until after Send returns without error.
3420//
3421// See InviteMembers for more information on using the InviteMembers
3422// API call, and error handling.
3423//
3424// This method is useful when you want to inject custom logic or configuration
3425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3426//
3427//
3428//    // Example sending a request using the InviteMembersRequest method.
3429//    req, resp := client.InviteMembersRequest(params)
3430//
3431//    err := req.Send()
3432//    if err == nil { // resp is now filled
3433//        fmt.Println(resp)
3434//    }
3435//
3436// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
3437func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
3438	op := &request.Operation{
3439		Name:       opInviteMembers,
3440		HTTPMethod: "POST",
3441		HTTPPath:   "/members/invite",
3442	}
3443
3444	if input == nil {
3445		input = &InviteMembersInput{}
3446	}
3447
3448	output = &InviteMembersOutput{}
3449	req = c.newRequest(op, input, output)
3450	return
3451}
3452
3453// InviteMembers API operation for AWS SecurityHub.
3454//
3455// Invites other AWS accounts to become member accounts for the Security Hub
3456// master account that the invitation is sent from.
3457//
3458// Before you can use this action to invite a member, you must first use the
3459// CreateMembers action to create the member account in Security Hub.
3460//
3461// When the account owner accepts the invitation to become a member account
3462// and enables Security Hub, the master account can view the findings generated
3463// from the member account.
3464//
3465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3466// with awserr.Error's Code and Message methods to get detailed information about
3467// the error.
3468//
3469// See the AWS API reference guide for AWS SecurityHub's
3470// API operation InviteMembers for usage and error information.
3471//
3472// Returned Error Types:
3473//   * InternalException
3474//   Internal server error.
3475//
3476//   * InvalidInputException
3477//   The request was rejected because you supplied an invalid or out-of-range
3478//   value for an input parameter.
3479//
3480//   * InvalidAccessException
3481//   AWS Security Hub isn't enabled for the account used to make this request.
3482//
3483//   * LimitExceededException
3484//   The request was rejected because it attempted to create resources beyond
3485//   the current AWS account limits. The error code describes the limit exceeded.
3486//
3487//   * ResourceNotFoundException
3488//   The request was rejected because we can't find the specified resource.
3489//
3490// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
3491func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
3492	req, out := c.InviteMembersRequest(input)
3493	return out, req.Send()
3494}
3495
3496// InviteMembersWithContext is the same as InviteMembers with the addition of
3497// the ability to pass a context and additional request options.
3498//
3499// See InviteMembers for details on how to use this API operation.
3500//
3501// The context must be non-nil and will be used for request cancellation. If
3502// the context is nil a panic will occur. In the future the SDK may create
3503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3504// for more information on using Contexts.
3505func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
3506	req, out := c.InviteMembersRequest(input)
3507	req.SetContext(ctx)
3508	req.ApplyOptions(opts...)
3509	return out, req.Send()
3510}
3511
3512const opListEnabledProductsForImport = "ListEnabledProductsForImport"
3513
3514// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
3515// client's request for the ListEnabledProductsForImport operation. The "output" return
3516// value will be populated with the request's response once the request completes
3517// successfully.
3518//
3519// Use "Send" method on the returned Request to send the API call to the service.
3520// the "output" return value is not valid until after Send returns without error.
3521//
3522// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
3523// API call, and error handling.
3524//
3525// This method is useful when you want to inject custom logic or configuration
3526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3527//
3528//
3529//    // Example sending a request using the ListEnabledProductsForImportRequest method.
3530//    req, resp := client.ListEnabledProductsForImportRequest(params)
3531//
3532//    err := req.Send()
3533//    if err == nil { // resp is now filled
3534//        fmt.Println(resp)
3535//    }
3536//
3537// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
3538func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
3539	op := &request.Operation{
3540		Name:       opListEnabledProductsForImport,
3541		HTTPMethod: "GET",
3542		HTTPPath:   "/productSubscriptions",
3543		Paginator: &request.Paginator{
3544			InputTokens:     []string{"NextToken"},
3545			OutputTokens:    []string{"NextToken"},
3546			LimitToken:      "MaxResults",
3547			TruncationToken: "",
3548		},
3549	}
3550
3551	if input == nil {
3552		input = &ListEnabledProductsForImportInput{}
3553	}
3554
3555	output = &ListEnabledProductsForImportOutput{}
3556	req = c.newRequest(op, input, output)
3557	return
3558}
3559
3560// ListEnabledProductsForImport API operation for AWS SecurityHub.
3561//
3562// Lists all findings-generating solutions (products) that you are subscribed
3563// to receive findings from in Security Hub.
3564//
3565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3566// with awserr.Error's Code and Message methods to get detailed information about
3567// the error.
3568//
3569// See the AWS API reference guide for AWS SecurityHub's
3570// API operation ListEnabledProductsForImport for usage and error information.
3571//
3572// Returned Error Types:
3573//   * InternalException
3574//   Internal server error.
3575//
3576//   * LimitExceededException
3577//   The request was rejected because it attempted to create resources beyond
3578//   the current AWS account limits. The error code describes the limit exceeded.
3579//
3580//   * InvalidAccessException
3581//   AWS Security Hub isn't enabled for the account used to make this request.
3582//
3583// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
3584func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
3585	req, out := c.ListEnabledProductsForImportRequest(input)
3586	return out, req.Send()
3587}
3588
3589// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
3590// the ability to pass a context and additional request options.
3591//
3592// See ListEnabledProductsForImport for details on how to use this API operation.
3593//
3594// The context must be non-nil and will be used for request cancellation. If
3595// the context is nil a panic will occur. In the future the SDK may create
3596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3597// for more information on using Contexts.
3598func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
3599	req, out := c.ListEnabledProductsForImportRequest(input)
3600	req.SetContext(ctx)
3601	req.ApplyOptions(opts...)
3602	return out, req.Send()
3603}
3604
3605// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
3606// calling the "fn" function with the response data for each page. To stop
3607// iterating, return false from the fn function.
3608//
3609// See ListEnabledProductsForImport method for more information on how to use this operation.
3610//
3611// Note: This operation can generate multiple requests to a service.
3612//
3613//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
3614//    pageNum := 0
3615//    err := client.ListEnabledProductsForImportPages(params,
3616//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
3617//            pageNum++
3618//            fmt.Println(page)
3619//            return pageNum <= 3
3620//        })
3621//
3622func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
3623	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
3624}
3625
3626// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
3627// it takes a Context and allows setting request options on the pages.
3628//
3629// The context must be non-nil and will be used for request cancellation. If
3630// the context is nil a panic will occur. In the future the SDK may create
3631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3632// for more information on using Contexts.
3633func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
3634	p := request.Pagination{
3635		NewRequest: func() (*request.Request, error) {
3636			var inCpy *ListEnabledProductsForImportInput
3637			if input != nil {
3638				tmp := *input
3639				inCpy = &tmp
3640			}
3641			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
3642			req.SetContext(ctx)
3643			req.ApplyOptions(opts...)
3644			return req, nil
3645		},
3646	}
3647
3648	for p.Next() {
3649		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
3650			break
3651		}
3652	}
3653
3654	return p.Err()
3655}
3656
3657const opListInvitations = "ListInvitations"
3658
3659// ListInvitationsRequest generates a "aws/request.Request" representing the
3660// client's request for the ListInvitations operation. The "output" return
3661// value will be populated with the request's response once the request completes
3662// successfully.
3663//
3664// Use "Send" method on the returned Request to send the API call to the service.
3665// the "output" return value is not valid until after Send returns without error.
3666//
3667// See ListInvitations for more information on using the ListInvitations
3668// API call, and error handling.
3669//
3670// This method is useful when you want to inject custom logic or configuration
3671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3672//
3673//
3674//    // Example sending a request using the ListInvitationsRequest method.
3675//    req, resp := client.ListInvitationsRequest(params)
3676//
3677//    err := req.Send()
3678//    if err == nil { // resp is now filled
3679//        fmt.Println(resp)
3680//    }
3681//
3682// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
3683func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
3684	op := &request.Operation{
3685		Name:       opListInvitations,
3686		HTTPMethod: "GET",
3687		HTTPPath:   "/invitations",
3688		Paginator: &request.Paginator{
3689			InputTokens:     []string{"NextToken"},
3690			OutputTokens:    []string{"NextToken"},
3691			LimitToken:      "MaxResults",
3692			TruncationToken: "",
3693		},
3694	}
3695
3696	if input == nil {
3697		input = &ListInvitationsInput{}
3698	}
3699
3700	output = &ListInvitationsOutput{}
3701	req = c.newRequest(op, input, output)
3702	return
3703}
3704
3705// ListInvitations API operation for AWS SecurityHub.
3706//
3707// Lists all Security Hub membership invitations that were sent to the current
3708// AWS account.
3709//
3710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3711// with awserr.Error's Code and Message methods to get detailed information about
3712// the error.
3713//
3714// See the AWS API reference guide for AWS SecurityHub's
3715// API operation ListInvitations for usage and error information.
3716//
3717// Returned Error Types:
3718//   * InternalException
3719//   Internal server error.
3720//
3721//   * InvalidInputException
3722//   The request was rejected because you supplied an invalid or out-of-range
3723//   value for an input parameter.
3724//
3725//   * InvalidAccessException
3726//   AWS Security Hub isn't enabled for the account used to make this request.
3727//
3728//   * LimitExceededException
3729//   The request was rejected because it attempted to create resources beyond
3730//   the current AWS account limits. The error code describes the limit exceeded.
3731//
3732// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
3733func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
3734	req, out := c.ListInvitationsRequest(input)
3735	return out, req.Send()
3736}
3737
3738// ListInvitationsWithContext is the same as ListInvitations with the addition of
3739// the ability to pass a context and additional request options.
3740//
3741// See ListInvitations for details on how to use this API operation.
3742//
3743// The context must be non-nil and will be used for request cancellation. If
3744// the context is nil a panic will occur. In the future the SDK may create
3745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3746// for more information on using Contexts.
3747func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
3748	req, out := c.ListInvitationsRequest(input)
3749	req.SetContext(ctx)
3750	req.ApplyOptions(opts...)
3751	return out, req.Send()
3752}
3753
3754// ListInvitationsPages iterates over the pages of a ListInvitations operation,
3755// calling the "fn" function with the response data for each page. To stop
3756// iterating, return false from the fn function.
3757//
3758// See ListInvitations method for more information on how to use this operation.
3759//
3760// Note: This operation can generate multiple requests to a service.
3761//
3762//    // Example iterating over at most 3 pages of a ListInvitations operation.
3763//    pageNum := 0
3764//    err := client.ListInvitationsPages(params,
3765//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
3766//            pageNum++
3767//            fmt.Println(page)
3768//            return pageNum <= 3
3769//        })
3770//
3771func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
3772	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
3773}
3774
3775// ListInvitationsPagesWithContext same as ListInvitationsPages except
3776// it takes a Context and allows setting request options on the pages.
3777//
3778// The context must be non-nil and will be used for request cancellation. If
3779// the context is nil a panic will occur. In the future the SDK may create
3780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3781// for more information on using Contexts.
3782func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
3783	p := request.Pagination{
3784		NewRequest: func() (*request.Request, error) {
3785			var inCpy *ListInvitationsInput
3786			if input != nil {
3787				tmp := *input
3788				inCpy = &tmp
3789			}
3790			req, _ := c.ListInvitationsRequest(inCpy)
3791			req.SetContext(ctx)
3792			req.ApplyOptions(opts...)
3793			return req, nil
3794		},
3795	}
3796
3797	for p.Next() {
3798		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
3799			break
3800		}
3801	}
3802
3803	return p.Err()
3804}
3805
3806const opListMembers = "ListMembers"
3807
3808// ListMembersRequest generates a "aws/request.Request" representing the
3809// client's request for the ListMembers operation. The "output" return
3810// value will be populated with the request's response once the request completes
3811// successfully.
3812//
3813// Use "Send" method on the returned Request to send the API call to the service.
3814// the "output" return value is not valid until after Send returns without error.
3815//
3816// See ListMembers for more information on using the ListMembers
3817// API call, and error handling.
3818//
3819// This method is useful when you want to inject custom logic or configuration
3820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3821//
3822//
3823//    // Example sending a request using the ListMembersRequest method.
3824//    req, resp := client.ListMembersRequest(params)
3825//
3826//    err := req.Send()
3827//    if err == nil { // resp is now filled
3828//        fmt.Println(resp)
3829//    }
3830//
3831// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
3832func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
3833	op := &request.Operation{
3834		Name:       opListMembers,
3835		HTTPMethod: "GET",
3836		HTTPPath:   "/members",
3837		Paginator: &request.Paginator{
3838			InputTokens:     []string{"NextToken"},
3839			OutputTokens:    []string{"NextToken"},
3840			LimitToken:      "MaxResults",
3841			TruncationToken: "",
3842		},
3843	}
3844
3845	if input == nil {
3846		input = &ListMembersInput{}
3847	}
3848
3849	output = &ListMembersOutput{}
3850	req = c.newRequest(op, input, output)
3851	return
3852}
3853
3854// ListMembers API operation for AWS SecurityHub.
3855//
3856// Lists details about all member accounts for the current Security Hub master
3857// account.
3858//
3859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3860// with awserr.Error's Code and Message methods to get detailed information about
3861// the error.
3862//
3863// See the AWS API reference guide for AWS SecurityHub's
3864// API operation ListMembers for usage and error information.
3865//
3866// Returned Error Types:
3867//   * InternalException
3868//   Internal server error.
3869//
3870//   * InvalidInputException
3871//   The request was rejected because you supplied an invalid or out-of-range
3872//   value for an input parameter.
3873//
3874//   * InvalidAccessException
3875//   AWS Security Hub isn't enabled for the account used to make this request.
3876//
3877//   * LimitExceededException
3878//   The request was rejected because it attempted to create resources beyond
3879//   the current AWS account limits. The error code describes the limit exceeded.
3880//
3881// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
3882func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
3883	req, out := c.ListMembersRequest(input)
3884	return out, req.Send()
3885}
3886
3887// ListMembersWithContext is the same as ListMembers with the addition of
3888// the ability to pass a context and additional request options.
3889//
3890// See ListMembers for details on how to use this API operation.
3891//
3892// The context must be non-nil and will be used for request cancellation. If
3893// the context is nil a panic will occur. In the future the SDK may create
3894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3895// for more information on using Contexts.
3896func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
3897	req, out := c.ListMembersRequest(input)
3898	req.SetContext(ctx)
3899	req.ApplyOptions(opts...)
3900	return out, req.Send()
3901}
3902
3903// ListMembersPages iterates over the pages of a ListMembers operation,
3904// calling the "fn" function with the response data for each page. To stop
3905// iterating, return false from the fn function.
3906//
3907// See ListMembers method for more information on how to use this operation.
3908//
3909// Note: This operation can generate multiple requests to a service.
3910//
3911//    // Example iterating over at most 3 pages of a ListMembers operation.
3912//    pageNum := 0
3913//    err := client.ListMembersPages(params,
3914//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
3915//            pageNum++
3916//            fmt.Println(page)
3917//            return pageNum <= 3
3918//        })
3919//
3920func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
3921	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
3922}
3923
3924// ListMembersPagesWithContext same as ListMembersPages except
3925// it takes a Context and allows setting request options on the pages.
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) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
3932	p := request.Pagination{
3933		NewRequest: func() (*request.Request, error) {
3934			var inCpy *ListMembersInput
3935			if input != nil {
3936				tmp := *input
3937				inCpy = &tmp
3938			}
3939			req, _ := c.ListMembersRequest(inCpy)
3940			req.SetContext(ctx)
3941			req.ApplyOptions(opts...)
3942			return req, nil
3943		},
3944	}
3945
3946	for p.Next() {
3947		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
3948			break
3949		}
3950	}
3951
3952	return p.Err()
3953}
3954
3955const opListTagsForResource = "ListTagsForResource"
3956
3957// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3958// client's request for the ListTagsForResource operation. The "output" return
3959// value will be populated with the request's response once the request completes
3960// successfully.
3961//
3962// Use "Send" method on the returned Request to send the API call to the service.
3963// the "output" return value is not valid until after Send returns without error.
3964//
3965// See ListTagsForResource for more information on using the ListTagsForResource
3966// API call, and error handling.
3967//
3968// This method is useful when you want to inject custom logic or configuration
3969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3970//
3971//
3972//    // Example sending a request using the ListTagsForResourceRequest method.
3973//    req, resp := client.ListTagsForResourceRequest(params)
3974//
3975//    err := req.Send()
3976//    if err == nil { // resp is now filled
3977//        fmt.Println(resp)
3978//    }
3979//
3980// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
3981func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3982	op := &request.Operation{
3983		Name:       opListTagsForResource,
3984		HTTPMethod: "GET",
3985		HTTPPath:   "/tags/{ResourceArn}",
3986	}
3987
3988	if input == nil {
3989		input = &ListTagsForResourceInput{}
3990	}
3991
3992	output = &ListTagsForResourceOutput{}
3993	req = c.newRequest(op, input, output)
3994	return
3995}
3996
3997// ListTagsForResource API operation for AWS SecurityHub.
3998//
3999// Returns a list of tags associated with a resource.
4000//
4001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4002// with awserr.Error's Code and Message methods to get detailed information about
4003// the error.
4004//
4005// See the AWS API reference guide for AWS SecurityHub's
4006// API operation ListTagsForResource for usage and error information.
4007//
4008// Returned Error Types:
4009//   * InternalException
4010//   Internal server error.
4011//
4012//   * InvalidInputException
4013//   The request was rejected because you supplied an invalid or out-of-range
4014//   value for an input parameter.
4015//
4016//   * ResourceNotFoundException
4017//   The request was rejected because we can't find the specified resource.
4018//
4019// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4020func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4021	req, out := c.ListTagsForResourceRequest(input)
4022	return out, req.Send()
4023}
4024
4025// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4026// the ability to pass a context and additional request options.
4027//
4028// See ListTagsForResource for details on how to use this API operation.
4029//
4030// The context must be non-nil and will be used for request cancellation. If
4031// the context is nil a panic will occur. In the future the SDK may create
4032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4033// for more information on using Contexts.
4034func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4035	req, out := c.ListTagsForResourceRequest(input)
4036	req.SetContext(ctx)
4037	req.ApplyOptions(opts...)
4038	return out, req.Send()
4039}
4040
4041const opTagResource = "TagResource"
4042
4043// TagResourceRequest generates a "aws/request.Request" representing the
4044// client's request for the TagResource operation. The "output" return
4045// value will be populated with the request's response once the request completes
4046// successfully.
4047//
4048// Use "Send" method on the returned Request to send the API call to the service.
4049// the "output" return value is not valid until after Send returns without error.
4050//
4051// See TagResource for more information on using the TagResource
4052// API call, and error handling.
4053//
4054// This method is useful when you want to inject custom logic or configuration
4055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4056//
4057//
4058//    // Example sending a request using the TagResourceRequest method.
4059//    req, resp := client.TagResourceRequest(params)
4060//
4061//    err := req.Send()
4062//    if err == nil { // resp is now filled
4063//        fmt.Println(resp)
4064//    }
4065//
4066// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
4067func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4068	op := &request.Operation{
4069		Name:       opTagResource,
4070		HTTPMethod: "POST",
4071		HTTPPath:   "/tags/{ResourceArn}",
4072	}
4073
4074	if input == nil {
4075		input = &TagResourceInput{}
4076	}
4077
4078	output = &TagResourceOutput{}
4079	req = c.newRequest(op, input, output)
4080	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4081	return
4082}
4083
4084// TagResource API operation for AWS SecurityHub.
4085//
4086// Adds one or more tags to a resource.
4087//
4088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4089// with awserr.Error's Code and Message methods to get detailed information about
4090// the error.
4091//
4092// See the AWS API reference guide for AWS SecurityHub's
4093// API operation TagResource for usage and error information.
4094//
4095// Returned Error Types:
4096//   * InternalException
4097//   Internal server error.
4098//
4099//   * InvalidInputException
4100//   The request was rejected because you supplied an invalid or out-of-range
4101//   value for an input parameter.
4102//
4103//   * ResourceNotFoundException
4104//   The request was rejected because we can't find the specified resource.
4105//
4106// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
4107func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4108	req, out := c.TagResourceRequest(input)
4109	return out, req.Send()
4110}
4111
4112// TagResourceWithContext is the same as TagResource with the addition of
4113// the ability to pass a context and additional request options.
4114//
4115// See TagResource for details on how to use this API operation.
4116//
4117// The context must be non-nil and will be used for request cancellation. If
4118// the context is nil a panic will occur. In the future the SDK may create
4119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4120// for more information on using Contexts.
4121func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4122	req, out := c.TagResourceRequest(input)
4123	req.SetContext(ctx)
4124	req.ApplyOptions(opts...)
4125	return out, req.Send()
4126}
4127
4128const opUntagResource = "UntagResource"
4129
4130// UntagResourceRequest generates a "aws/request.Request" representing the
4131// client's request for the UntagResource operation. The "output" return
4132// value will be populated with the request's response once the request completes
4133// successfully.
4134//
4135// Use "Send" method on the returned Request to send the API call to the service.
4136// the "output" return value is not valid until after Send returns without error.
4137//
4138// See UntagResource for more information on using the UntagResource
4139// API call, and error handling.
4140//
4141// This method is useful when you want to inject custom logic or configuration
4142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4143//
4144//
4145//    // Example sending a request using the UntagResourceRequest method.
4146//    req, resp := client.UntagResourceRequest(params)
4147//
4148//    err := req.Send()
4149//    if err == nil { // resp is now filled
4150//        fmt.Println(resp)
4151//    }
4152//
4153// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
4154func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4155	op := &request.Operation{
4156		Name:       opUntagResource,
4157		HTTPMethod: "DELETE",
4158		HTTPPath:   "/tags/{ResourceArn}",
4159	}
4160
4161	if input == nil {
4162		input = &UntagResourceInput{}
4163	}
4164
4165	output = &UntagResourceOutput{}
4166	req = c.newRequest(op, input, output)
4167	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4168	return
4169}
4170
4171// UntagResource API operation for AWS SecurityHub.
4172//
4173// Removes one or more tags from a resource.
4174//
4175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4176// with awserr.Error's Code and Message methods to get detailed information about
4177// the error.
4178//
4179// See the AWS API reference guide for AWS SecurityHub's
4180// API operation UntagResource for usage and error information.
4181//
4182// Returned Error Types:
4183//   * InternalException
4184//   Internal server error.
4185//
4186//   * InvalidInputException
4187//   The request was rejected because you supplied an invalid or out-of-range
4188//   value for an input parameter.
4189//
4190//   * ResourceNotFoundException
4191//   The request was rejected because we can't find the specified resource.
4192//
4193// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
4194func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4195	req, out := c.UntagResourceRequest(input)
4196	return out, req.Send()
4197}
4198
4199// UntagResourceWithContext is the same as UntagResource with the addition of
4200// the ability to pass a context and additional request options.
4201//
4202// See UntagResource for details on how to use this API operation.
4203//
4204// The context must be non-nil and will be used for request cancellation. If
4205// the context is nil a panic will occur. In the future the SDK may create
4206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4207// for more information on using Contexts.
4208func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4209	req, out := c.UntagResourceRequest(input)
4210	req.SetContext(ctx)
4211	req.ApplyOptions(opts...)
4212	return out, req.Send()
4213}
4214
4215const opUpdateActionTarget = "UpdateActionTarget"
4216
4217// UpdateActionTargetRequest generates a "aws/request.Request" representing the
4218// client's request for the UpdateActionTarget operation. The "output" return
4219// value will be populated with the request's response once the request completes
4220// successfully.
4221//
4222// Use "Send" method on the returned Request to send the API call to the service.
4223// the "output" return value is not valid until after Send returns without error.
4224//
4225// See UpdateActionTarget for more information on using the UpdateActionTarget
4226// API call, and error handling.
4227//
4228// This method is useful when you want to inject custom logic or configuration
4229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4230//
4231//
4232//    // Example sending a request using the UpdateActionTargetRequest method.
4233//    req, resp := client.UpdateActionTargetRequest(params)
4234//
4235//    err := req.Send()
4236//    if err == nil { // resp is now filled
4237//        fmt.Println(resp)
4238//    }
4239//
4240// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
4241func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
4242	op := &request.Operation{
4243		Name:       opUpdateActionTarget,
4244		HTTPMethod: "PATCH",
4245		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
4246	}
4247
4248	if input == nil {
4249		input = &UpdateActionTargetInput{}
4250	}
4251
4252	output = &UpdateActionTargetOutput{}
4253	req = c.newRequest(op, input, output)
4254	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4255	return
4256}
4257
4258// UpdateActionTarget API operation for AWS SecurityHub.
4259//
4260// Updates the name and description of a custom action target in Security Hub.
4261//
4262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4263// with awserr.Error's Code and Message methods to get detailed information about
4264// the error.
4265//
4266// See the AWS API reference guide for AWS SecurityHub's
4267// API operation UpdateActionTarget for usage and error information.
4268//
4269// Returned Error Types:
4270//   * InternalException
4271//   Internal server error.
4272//
4273//   * InvalidInputException
4274//   The request was rejected because you supplied an invalid or out-of-range
4275//   value for an input parameter.
4276//
4277//   * ResourceNotFoundException
4278//   The request was rejected because we can't find the specified resource.
4279//
4280//   * InvalidAccessException
4281//   AWS Security Hub isn't enabled for the account used to make this request.
4282//
4283//   * ResourceNotFoundException
4284//   The request was rejected because we can't find the specified resource.
4285//
4286// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
4287func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
4288	req, out := c.UpdateActionTargetRequest(input)
4289	return out, req.Send()
4290}
4291
4292// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
4293// the ability to pass a context and additional request options.
4294//
4295// See UpdateActionTarget for details on how to use this API operation.
4296//
4297// The context must be non-nil and will be used for request cancellation. If
4298// the context is nil a panic will occur. In the future the SDK may create
4299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4300// for more information on using Contexts.
4301func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
4302	req, out := c.UpdateActionTargetRequest(input)
4303	req.SetContext(ctx)
4304	req.ApplyOptions(opts...)
4305	return out, req.Send()
4306}
4307
4308const opUpdateFindings = "UpdateFindings"
4309
4310// UpdateFindingsRequest generates a "aws/request.Request" representing the
4311// client's request for the UpdateFindings operation. The "output" return
4312// value will be populated with the request's response once the request completes
4313// successfully.
4314//
4315// Use "Send" method on the returned Request to send the API call to the service.
4316// the "output" return value is not valid until after Send returns without error.
4317//
4318// See UpdateFindings for more information on using the UpdateFindings
4319// API call, and error handling.
4320//
4321// This method is useful when you want to inject custom logic or configuration
4322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4323//
4324//
4325//    // Example sending a request using the UpdateFindingsRequest method.
4326//    req, resp := client.UpdateFindingsRequest(params)
4327//
4328//    err := req.Send()
4329//    if err == nil { // resp is now filled
4330//        fmt.Println(resp)
4331//    }
4332//
4333// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
4334func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
4335	op := &request.Operation{
4336		Name:       opUpdateFindings,
4337		HTTPMethod: "PATCH",
4338		HTTPPath:   "/findings",
4339	}
4340
4341	if input == nil {
4342		input = &UpdateFindingsInput{}
4343	}
4344
4345	output = &UpdateFindingsOutput{}
4346	req = c.newRequest(op, input, output)
4347	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4348	return
4349}
4350
4351// UpdateFindings API operation for AWS SecurityHub.
4352//
4353// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
4354//
4355// Updates the Note and RecordState of the Security Hub-aggregated findings
4356// that the filter attributes specify. Any member account that can view the
4357// finding also sees the update to the finding.
4358//
4359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4360// with awserr.Error's Code and Message methods to get detailed information about
4361// the error.
4362//
4363// See the AWS API reference guide for AWS SecurityHub's
4364// API operation UpdateFindings for usage and error information.
4365//
4366// Returned Error Types:
4367//   * InternalException
4368//   Internal server error.
4369//
4370//   * InvalidInputException
4371//   The request was rejected because you supplied an invalid or out-of-range
4372//   value for an input parameter.
4373//
4374//   * LimitExceededException
4375//   The request was rejected because it attempted to create resources beyond
4376//   the current AWS account limits. The error code describes the limit exceeded.
4377//
4378//   * InvalidAccessException
4379//   AWS Security Hub isn't enabled for the account used to make this request.
4380//
4381//   * ResourceNotFoundException
4382//   The request was rejected because we can't find the specified resource.
4383//
4384// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
4385func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
4386	req, out := c.UpdateFindingsRequest(input)
4387	return out, req.Send()
4388}
4389
4390// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
4391// the ability to pass a context and additional request options.
4392//
4393// See UpdateFindings for details on how to use this API operation.
4394//
4395// The context must be non-nil and will be used for request cancellation. If
4396// the context is nil a panic will occur. In the future the SDK may create
4397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4398// for more information on using Contexts.
4399func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
4400	req, out := c.UpdateFindingsRequest(input)
4401	req.SetContext(ctx)
4402	req.ApplyOptions(opts...)
4403	return out, req.Send()
4404}
4405
4406const opUpdateInsight = "UpdateInsight"
4407
4408// UpdateInsightRequest generates a "aws/request.Request" representing the
4409// client's request for the UpdateInsight operation. The "output" return
4410// value will be populated with the request's response once the request completes
4411// successfully.
4412//
4413// Use "Send" method on the returned Request to send the API call to the service.
4414// the "output" return value is not valid until after Send returns without error.
4415//
4416// See UpdateInsight for more information on using the UpdateInsight
4417// API call, and error handling.
4418//
4419// This method is useful when you want to inject custom logic or configuration
4420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4421//
4422//
4423//    // Example sending a request using the UpdateInsightRequest method.
4424//    req, resp := client.UpdateInsightRequest(params)
4425//
4426//    err := req.Send()
4427//    if err == nil { // resp is now filled
4428//        fmt.Println(resp)
4429//    }
4430//
4431// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
4432func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
4433	op := &request.Operation{
4434		Name:       opUpdateInsight,
4435		HTTPMethod: "PATCH",
4436		HTTPPath:   "/insights/{InsightArn+}",
4437	}
4438
4439	if input == nil {
4440		input = &UpdateInsightInput{}
4441	}
4442
4443	output = &UpdateInsightOutput{}
4444	req = c.newRequest(op, input, output)
4445	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4446	return
4447}
4448
4449// UpdateInsight API operation for AWS SecurityHub.
4450//
4451// Updates the Security Hub insight identified by the specified insight ARN.
4452//
4453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4454// with awserr.Error's Code and Message methods to get detailed information about
4455// the error.
4456//
4457// See the AWS API reference guide for AWS SecurityHub's
4458// API operation UpdateInsight for usage and error information.
4459//
4460// Returned Error Types:
4461//   * InternalException
4462//   Internal server error.
4463//
4464//   * InvalidInputException
4465//   The request was rejected because you supplied an invalid or out-of-range
4466//   value for an input parameter.
4467//
4468//   * InvalidAccessException
4469//   AWS Security Hub isn't enabled for the account used to make this request.
4470//
4471//   * LimitExceededException
4472//   The request was rejected because it attempted to create resources beyond
4473//   the current AWS account limits. The error code describes the limit exceeded.
4474//
4475//   * ResourceNotFoundException
4476//   The request was rejected because we can't find the specified resource.
4477//
4478// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
4479func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
4480	req, out := c.UpdateInsightRequest(input)
4481	return out, req.Send()
4482}
4483
4484// UpdateInsightWithContext is the same as UpdateInsight with the addition of
4485// the ability to pass a context and additional request options.
4486//
4487// See UpdateInsight for details on how to use this API operation.
4488//
4489// The context must be non-nil and will be used for request cancellation. If
4490// the context is nil a panic will occur. In the future the SDK may create
4491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4492// for more information on using Contexts.
4493func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
4494	req, out := c.UpdateInsightRequest(input)
4495	req.SetContext(ctx)
4496	req.ApplyOptions(opts...)
4497	return out, req.Send()
4498}
4499
4500const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
4501
4502// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
4503// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
4504// value will be populated with the request's response once the request completes
4505// successfully.
4506//
4507// Use "Send" method on the returned Request to send the API call to the service.
4508// the "output" return value is not valid until after Send returns without error.
4509//
4510// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
4511// API call, and error handling.
4512//
4513// This method is useful when you want to inject custom logic or configuration
4514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4515//
4516//
4517//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
4518//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
4519//
4520//    err := req.Send()
4521//    if err == nil { // resp is now filled
4522//        fmt.Println(resp)
4523//    }
4524//
4525// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
4526func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
4527	op := &request.Operation{
4528		Name:       opUpdateSecurityHubConfiguration,
4529		HTTPMethod: "PATCH",
4530		HTTPPath:   "/accounts",
4531	}
4532
4533	if input == nil {
4534		input = &UpdateSecurityHubConfigurationInput{}
4535	}
4536
4537	output = &UpdateSecurityHubConfigurationOutput{}
4538	req = c.newRequest(op, input, output)
4539	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4540	return
4541}
4542
4543// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
4544//
4545// Updates configuration options for Security Hub.
4546//
4547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4548// with awserr.Error's Code and Message methods to get detailed information about
4549// the error.
4550//
4551// See the AWS API reference guide for AWS SecurityHub's
4552// API operation UpdateSecurityHubConfiguration for usage and error information.
4553//
4554// Returned Error Types:
4555//   * InternalException
4556//   Internal server error.
4557//
4558//   * InvalidInputException
4559//   The request was rejected because you supplied an invalid or out-of-range
4560//   value for an input parameter.
4561//
4562//   * InvalidAccessException
4563//   AWS Security Hub isn't enabled for the account used to make this request.
4564//
4565//   * LimitExceededException
4566//   The request was rejected because it attempted to create resources beyond
4567//   the current AWS account limits. The error code describes the limit exceeded.
4568//
4569//   * ResourceNotFoundException
4570//   The request was rejected because we can't find the specified resource.
4571//
4572// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
4573func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
4574	req, out := c.UpdateSecurityHubConfigurationRequest(input)
4575	return out, req.Send()
4576}
4577
4578// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
4579// the ability to pass a context and additional request options.
4580//
4581// See UpdateSecurityHubConfiguration for details on how to use this API operation.
4582//
4583// The context must be non-nil and will be used for request cancellation. If
4584// the context is nil a panic will occur. In the future the SDK may create
4585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4586// for more information on using Contexts.
4587func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
4588	req, out := c.UpdateSecurityHubConfigurationRequest(input)
4589	req.SetContext(ctx)
4590	req.ApplyOptions(opts...)
4591	return out, req.Send()
4592}
4593
4594const opUpdateStandardsControl = "UpdateStandardsControl"
4595
4596// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
4597// client's request for the UpdateStandardsControl operation. The "output" return
4598// value will be populated with the request's response once the request completes
4599// successfully.
4600//
4601// Use "Send" method on the returned Request to send the API call to the service.
4602// the "output" return value is not valid until after Send returns without error.
4603//
4604// See UpdateStandardsControl for more information on using the UpdateStandardsControl
4605// API call, and error handling.
4606//
4607// This method is useful when you want to inject custom logic or configuration
4608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4609//
4610//
4611//    // Example sending a request using the UpdateStandardsControlRequest method.
4612//    req, resp := client.UpdateStandardsControlRequest(params)
4613//
4614//    err := req.Send()
4615//    if err == nil { // resp is now filled
4616//        fmt.Println(resp)
4617//    }
4618//
4619// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
4620func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
4621	op := &request.Operation{
4622		Name:       opUpdateStandardsControl,
4623		HTTPMethod: "PATCH",
4624		HTTPPath:   "/standards/control/{StandardsControlArn+}",
4625	}
4626
4627	if input == nil {
4628		input = &UpdateStandardsControlInput{}
4629	}
4630
4631	output = &UpdateStandardsControlOutput{}
4632	req = c.newRequest(op, input, output)
4633	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4634	return
4635}
4636
4637// UpdateStandardsControl API operation for AWS SecurityHub.
4638//
4639// Used to control whether an individual security standard control is enabled
4640// or disabled.
4641//
4642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4643// with awserr.Error's Code and Message methods to get detailed information about
4644// the error.
4645//
4646// See the AWS API reference guide for AWS SecurityHub's
4647// API operation UpdateStandardsControl for usage and error information.
4648//
4649// Returned Error Types:
4650//   * InternalException
4651//   Internal server error.
4652//
4653//   * InvalidInputException
4654//   The request was rejected because you supplied an invalid or out-of-range
4655//   value for an input parameter.
4656//
4657//   * InvalidAccessException
4658//   AWS Security Hub isn't enabled for the account used to make this request.
4659//
4660//   * ResourceNotFoundException
4661//   The request was rejected because we can't find the specified resource.
4662//
4663// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
4664func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
4665	req, out := c.UpdateStandardsControlRequest(input)
4666	return out, req.Send()
4667}
4668
4669// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
4670// the ability to pass a context and additional request options.
4671//
4672// See UpdateStandardsControl for details on how to use this API operation.
4673//
4674// The context must be non-nil and will be used for request cancellation. If
4675// the context is nil a panic will occur. In the future the SDK may create
4676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4677// for more information on using Contexts.
4678func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
4679	req, out := c.UpdateStandardsControlRequest(input)
4680	req.SetContext(ctx)
4681	req.ApplyOptions(opts...)
4682	return out, req.Send()
4683}
4684
4685type AcceptInvitationInput struct {
4686	_ struct{} `type:"structure"`
4687
4688	// The ID of the invitation sent from the Security Hub master account.
4689	//
4690	// InvitationId is a required field
4691	InvitationId *string `type:"string" required:"true"`
4692
4693	// The account ID of the Security Hub master account that sent the invitation.
4694	//
4695	// MasterId is a required field
4696	MasterId *string `type:"string" required:"true"`
4697}
4698
4699// String returns the string representation
4700func (s AcceptInvitationInput) String() string {
4701	return awsutil.Prettify(s)
4702}
4703
4704// GoString returns the string representation
4705func (s AcceptInvitationInput) GoString() string {
4706	return s.String()
4707}
4708
4709// Validate inspects the fields of the type to determine if they are valid.
4710func (s *AcceptInvitationInput) Validate() error {
4711	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
4712	if s.InvitationId == nil {
4713		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
4714	}
4715	if s.MasterId == nil {
4716		invalidParams.Add(request.NewErrParamRequired("MasterId"))
4717	}
4718
4719	if invalidParams.Len() > 0 {
4720		return invalidParams
4721	}
4722	return nil
4723}
4724
4725// SetInvitationId sets the InvitationId field's value.
4726func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
4727	s.InvitationId = &v
4728	return s
4729}
4730
4731// SetMasterId sets the MasterId field's value.
4732func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
4733	s.MasterId = &v
4734	return s
4735}
4736
4737type AcceptInvitationOutput struct {
4738	_ struct{} `type:"structure"`
4739}
4740
4741// String returns the string representation
4742func (s AcceptInvitationOutput) String() string {
4743	return awsutil.Prettify(s)
4744}
4745
4746// GoString returns the string representation
4747func (s AcceptInvitationOutput) GoString() string {
4748	return s.String()
4749}
4750
4751// You don't have permission to perform the action specified in the request.
4752type AccessDeniedException struct {
4753	_            struct{}                  `type:"structure"`
4754	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4755
4756	Code_ *string `locationName:"Code" type:"string"`
4757
4758	Message_ *string `locationName:"Message" type:"string"`
4759}
4760
4761// String returns the string representation
4762func (s AccessDeniedException) String() string {
4763	return awsutil.Prettify(s)
4764}
4765
4766// GoString returns the string representation
4767func (s AccessDeniedException) GoString() string {
4768	return s.String()
4769}
4770
4771func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4772	return &AccessDeniedException{
4773		RespMetadata: v,
4774	}
4775}
4776
4777// Code returns the exception type name.
4778func (s *AccessDeniedException) Code() string {
4779	return "AccessDeniedException"
4780}
4781
4782// Message returns the exception's message.
4783func (s *AccessDeniedException) Message() string {
4784	if s.Message_ != nil {
4785		return *s.Message_
4786	}
4787	return ""
4788}
4789
4790// OrigErr always returns nil, satisfies awserr.Error interface.
4791func (s *AccessDeniedException) OrigErr() error {
4792	return nil
4793}
4794
4795func (s *AccessDeniedException) Error() string {
4796	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4797}
4798
4799// Status code returns the HTTP status code for the request's response error.
4800func (s *AccessDeniedException) StatusCode() int {
4801	return s.RespMetadata.StatusCode
4802}
4803
4804// RequestID returns the service's response RequestID for request.
4805func (s *AccessDeniedException) RequestID() string {
4806	return s.RespMetadata.RequestID
4807}
4808
4809// The details of an AWS account.
4810type AccountDetails struct {
4811	_ struct{} `type:"structure"`
4812
4813	// The ID of an AWS account.
4814	AccountId *string `type:"string"`
4815
4816	// The email of an AWS account.
4817	Email *string `type:"string"`
4818}
4819
4820// String returns the string representation
4821func (s AccountDetails) String() string {
4822	return awsutil.Prettify(s)
4823}
4824
4825// GoString returns the string representation
4826func (s AccountDetails) GoString() string {
4827	return s.String()
4828}
4829
4830// SetAccountId sets the AccountId field's value.
4831func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
4832	s.AccountId = &v
4833	return s
4834}
4835
4836// SetEmail sets the Email field's value.
4837func (s *AccountDetails) SetEmail(v string) *AccountDetails {
4838	s.Email = &v
4839	return s
4840}
4841
4842// An ActionTarget object.
4843type ActionTarget struct {
4844	_ struct{} `type:"structure"`
4845
4846	// The ARN for the target action.
4847	//
4848	// ActionTargetArn is a required field
4849	ActionTargetArn *string `type:"string" required:"true"`
4850
4851	// The description of the target action.
4852	//
4853	// Description is a required field
4854	Description *string `type:"string" required:"true"`
4855
4856	// The name of the action target.
4857	//
4858	// Name is a required field
4859	Name *string `type:"string" required:"true"`
4860}
4861
4862// String returns the string representation
4863func (s ActionTarget) String() string {
4864	return awsutil.Prettify(s)
4865}
4866
4867// GoString returns the string representation
4868func (s ActionTarget) GoString() string {
4869	return s.String()
4870}
4871
4872// SetActionTargetArn sets the ActionTargetArn field's value.
4873func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
4874	s.ActionTargetArn = &v
4875	return s
4876}
4877
4878// SetDescription sets the Description field's value.
4879func (s *ActionTarget) SetDescription(v string) *ActionTarget {
4880	s.Description = &v
4881	return s
4882}
4883
4884// SetName sets the Name field's value.
4885func (s *ActionTarget) SetName(v string) *ActionTarget {
4886	s.Name = &v
4887	return s
4888}
4889
4890// Information about an Availability Zone.
4891type AvailabilityZone struct {
4892	_ struct{} `type:"structure"`
4893
4894	// The ID of the subnet. You can specify one subnet per Availability Zone.
4895	SubnetId *string `type:"string"`
4896
4897	// The name of the Availability Zone.
4898	ZoneName *string `type:"string"`
4899}
4900
4901// String returns the string representation
4902func (s AvailabilityZone) String() string {
4903	return awsutil.Prettify(s)
4904}
4905
4906// GoString returns the string representation
4907func (s AvailabilityZone) GoString() string {
4908	return s.String()
4909}
4910
4911// SetSubnetId sets the SubnetId field's value.
4912func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
4913	s.SubnetId = &v
4914	return s
4915}
4916
4917// SetZoneName sets the ZoneName field's value.
4918func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
4919	s.ZoneName = &v
4920	return s
4921}
4922
4923// Contains information about settings for logging access for the stage.
4924type AwsApiGatewayAccessLogSettings struct {
4925	_ struct{} `type:"structure"`
4926
4927	// The ARN of the CloudWatch Logs log group that receives the access logs.
4928	DestinationArn *string `type:"string"`
4929
4930	// A single-line format of the access logs of data, as specified by selected
4931	// $context variables. The format must include at least $context.requestId.
4932	Format *string `type:"string"`
4933}
4934
4935// String returns the string representation
4936func (s AwsApiGatewayAccessLogSettings) String() string {
4937	return awsutil.Prettify(s)
4938}
4939
4940// GoString returns the string representation
4941func (s AwsApiGatewayAccessLogSettings) GoString() string {
4942	return s.String()
4943}
4944
4945// SetDestinationArn sets the DestinationArn field's value.
4946func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
4947	s.DestinationArn = &v
4948	return s
4949}
4950
4951// SetFormat sets the Format field's value.
4952func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
4953	s.Format = &v
4954	return s
4955}
4956
4957// Contains information about settings for canary deployment in the stage.
4958type AwsApiGatewayCanarySettings struct {
4959	_ struct{} `type:"structure"`
4960
4961	// The deployment identifier for the canary deployment.
4962	DeploymentId *string `type:"string"`
4963
4964	// The percentage of traffic that is diverted to a canary deployment.
4965	PercentTraffic *float64 `type:"double"`
4966
4967	// Stage variables that are overridden in the canary release deployment. The
4968	// variables include new stage variables that are introduced in the canary.
4969	//
4970	// Each variable is represented as a string-to-string map between the stage
4971	// variable name and the variable value.
4972	StageVariableOverrides map[string]*string `type:"map"`
4973
4974	// Indicates whether the canary deployment uses the stage cache.
4975	UseStageCache *bool `type:"boolean"`
4976}
4977
4978// String returns the string representation
4979func (s AwsApiGatewayCanarySettings) String() string {
4980	return awsutil.Prettify(s)
4981}
4982
4983// GoString returns the string representation
4984func (s AwsApiGatewayCanarySettings) GoString() string {
4985	return s.String()
4986}
4987
4988// SetDeploymentId sets the DeploymentId field's value.
4989func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
4990	s.DeploymentId = &v
4991	return s
4992}
4993
4994// SetPercentTraffic sets the PercentTraffic field's value.
4995func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
4996	s.PercentTraffic = &v
4997	return s
4998}
4999
5000// SetStageVariableOverrides sets the StageVariableOverrides field's value.
5001func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
5002	s.StageVariableOverrides = v
5003	return s
5004}
5005
5006// SetUseStageCache sets the UseStageCache field's value.
5007func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
5008	s.UseStageCache = &v
5009	return s
5010}
5011
5012// Contains information about the endpoints for the API.
5013type AwsApiGatewayEndpointConfiguration struct {
5014	_ struct{} `type:"structure"`
5015
5016	// A list of endpoint types for the REST API.
5017	//
5018	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
5019	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
5020	Types []*string `type:"list"`
5021}
5022
5023// String returns the string representation
5024func (s AwsApiGatewayEndpointConfiguration) String() string {
5025	return awsutil.Prettify(s)
5026}
5027
5028// GoString returns the string representation
5029func (s AwsApiGatewayEndpointConfiguration) GoString() string {
5030	return s.String()
5031}
5032
5033// SetTypes sets the Types field's value.
5034func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
5035	s.Types = v
5036	return s
5037}
5038
5039// Defines settings for a method for the stage.
5040type AwsApiGatewayMethodSettings struct {
5041	_ struct{} `type:"structure"`
5042
5043	// Indicates whether the cached responses are encrypted.
5044	CacheDataEncrypted *bool `type:"boolean"`
5045
5046	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
5047	// the TTL, the longer the response is cached.
5048	CacheTtlInSeconds *int64 `type:"integer"`
5049
5050	// Indicates whether responses are cached and returned for requests. For responses
5051	// to be cached, a cache cluster must be enabled on the stage.
5052	CachingEnabled *bool `type:"boolean"`
5053
5054	// Indicates whether data trace logging is enabled for the method. Data trace
5055	// logging affects the log entries that are pushed to CloudWatch Logs.
5056	DataTraceEnabled *bool `type:"boolean"`
5057
5058	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
5059	// settings to multiple methods.
5060	HttpMethod *string `type:"string"`
5061
5062	// The logging level for this method. The logging level affects the log entries
5063	// that are pushed to CloudWatch Logs.
5064	//
5065	// If the logging level is ERROR, then the logs only include error-level entries.
5066	//
5067	// If the logging level is INFO, then the logs include both ERROR events and
5068	// extra informational events.
5069	//
5070	// Valid values: OFF | ERROR | INFO
5071	LoggingLevel *string `type:"string"`
5072
5073	// Indicates whether CloudWatch metrics are enabled for the method.
5074	MetricsEnabled *bool `type:"boolean"`
5075
5076	// Indicates whether authorization is required for a cache invalidation request.
5077	RequireAuthorizationForCacheControl *bool `type:"boolean"`
5078
5079	// The resource path for this method. Forward slashes (/) are encoded as ~1
5080	// . The initial slash must include a forward slash.
5081	//
5082	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
5083	//
5084	// To specify the root path, use only a slash (/). You can use an asterisk (*)
5085	// as a wildcard to apply method settings to multiple methods.
5086	ResourcePath *string `type:"string"`
5087
5088	// The throttling burst limit for the method.
5089	ThrottlingBurstLimit *int64 `type:"integer"`
5090
5091	// The throttling rate limit for the method.
5092	ThrottlingRateLimit *float64 `type:"double"`
5093
5094	// Indicates how to handle unauthorized requests for cache invalidation.
5095	//
5096	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
5097	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
5098}
5099
5100// String returns the string representation
5101func (s AwsApiGatewayMethodSettings) String() string {
5102	return awsutil.Prettify(s)
5103}
5104
5105// GoString returns the string representation
5106func (s AwsApiGatewayMethodSettings) GoString() string {
5107	return s.String()
5108}
5109
5110// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
5111func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
5112	s.CacheDataEncrypted = &v
5113	return s
5114}
5115
5116// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
5117func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
5118	s.CacheTtlInSeconds = &v
5119	return s
5120}
5121
5122// SetCachingEnabled sets the CachingEnabled field's value.
5123func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
5124	s.CachingEnabled = &v
5125	return s
5126}
5127
5128// SetDataTraceEnabled sets the DataTraceEnabled field's value.
5129func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
5130	s.DataTraceEnabled = &v
5131	return s
5132}
5133
5134// SetHttpMethod sets the HttpMethod field's value.
5135func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
5136	s.HttpMethod = &v
5137	return s
5138}
5139
5140// SetLoggingLevel sets the LoggingLevel field's value.
5141func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
5142	s.LoggingLevel = &v
5143	return s
5144}
5145
5146// SetMetricsEnabled sets the MetricsEnabled field's value.
5147func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
5148	s.MetricsEnabled = &v
5149	return s
5150}
5151
5152// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
5153func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
5154	s.RequireAuthorizationForCacheControl = &v
5155	return s
5156}
5157
5158// SetResourcePath sets the ResourcePath field's value.
5159func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
5160	s.ResourcePath = &v
5161	return s
5162}
5163
5164// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
5165func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
5166	s.ThrottlingBurstLimit = &v
5167	return s
5168}
5169
5170// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
5171func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
5172	s.ThrottlingRateLimit = &v
5173	return s
5174}
5175
5176// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
5177func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
5178	s.UnauthorizedCacheControlHeaderStrategy = &v
5179	return s
5180}
5181
5182// contains information about a REST API in version 1 of Amazon API Gateway.
5183type AwsApiGatewayRestApiDetails struct {
5184	_ struct{} `type:"structure"`
5185
5186	// The source of the API key for metering requests according to a usage plan.
5187	//
5188	// HEADER indicates whether to read the API key from the X-API-Key header of
5189	// a request.
5190	//
5191	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
5192	// from a custom authorizer.
5193	ApiKeySource *string `type:"string"`
5194
5195	// The list of binary media types supported by the REST API.
5196	BinaryMediaTypes []*string `type:"list"`
5197
5198	// Indicates when the API was created.
5199	//
5200	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5201	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5202	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5203	CreatedDate *string `type:"string"`
5204
5205	// A description of the REST API.
5206	Description *string `type:"string"`
5207
5208	// The endpoint configuration of the REST API.
5209	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
5210
5211	// The identifier of the REST API.
5212	Id *string `type:"string"`
5213
5214	// The minimum size in bytes of a payload before compression is enabled.
5215	//
5216	// If null, then compression is disabled.
5217	//
5218	// If 0, then all payloads are compressed.
5219	MinimumCompressionSize *int64 `type:"integer"`
5220
5221	// The name of the REST API.
5222	Name *string `type:"string"`
5223
5224	// The version identifier for the REST API.
5225	Version *string `type:"string"`
5226}
5227
5228// String returns the string representation
5229func (s AwsApiGatewayRestApiDetails) String() string {
5230	return awsutil.Prettify(s)
5231}
5232
5233// GoString returns the string representation
5234func (s AwsApiGatewayRestApiDetails) GoString() string {
5235	return s.String()
5236}
5237
5238// SetApiKeySource sets the ApiKeySource field's value.
5239func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
5240	s.ApiKeySource = &v
5241	return s
5242}
5243
5244// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
5245func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
5246	s.BinaryMediaTypes = v
5247	return s
5248}
5249
5250// SetCreatedDate sets the CreatedDate field's value.
5251func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
5252	s.CreatedDate = &v
5253	return s
5254}
5255
5256// SetDescription sets the Description field's value.
5257func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
5258	s.Description = &v
5259	return s
5260}
5261
5262// SetEndpointConfiguration sets the EndpointConfiguration field's value.
5263func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
5264	s.EndpointConfiguration = v
5265	return s
5266}
5267
5268// SetId sets the Id field's value.
5269func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
5270	s.Id = &v
5271	return s
5272}
5273
5274// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
5275func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
5276	s.MinimumCompressionSize = &v
5277	return s
5278}
5279
5280// SetName sets the Name field's value.
5281func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
5282	s.Name = &v
5283	return s
5284}
5285
5286// SetVersion sets the Version field's value.
5287func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
5288	s.Version = &v
5289	return s
5290}
5291
5292// Provides information about a version 1 Amazon API Gateway stage.
5293type AwsApiGatewayStageDetails struct {
5294	_ struct{} `type:"structure"`
5295
5296	// Settings for logging access for the stage.
5297	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
5298
5299	// Indicates whether a cache cluster is enabled for the stage.
5300	CacheClusterEnabled *bool `type:"boolean"`
5301
5302	// If a cache cluster is enabled, the size of the cache cluster.
5303	CacheClusterSize *string `type:"string"`
5304
5305	// If a cache cluster is enabled, the status of the cache cluster.
5306	CacheClusterStatus *string `type:"string"`
5307
5308	// Information about settings for canary deployment in the stage.
5309	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
5310
5311	// The identifier of the client certificate for the stage.
5312	ClientCertificateId *string `type:"string"`
5313
5314	// Indicates when the stage was created.
5315	//
5316	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5317	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5318	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5319	CreatedDate *string `type:"string"`
5320
5321	// The identifier of the deployment that the stage points to.
5322	DeploymentId *string `type:"string"`
5323
5324	// A description of the stage.
5325	Description *string `type:"string"`
5326
5327	// The version of the API documentation that is associated with the stage.
5328	DocumentationVersion *string `type:"string"`
5329
5330	// Indicates when the stage was most recently updated.
5331	//
5332	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5333	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5334	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5335	LastUpdatedDate *string `type:"string"`
5336
5337	// Defines the method settings for the stage.
5338	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
5339
5340	// The name of the stage.
5341	StageName *string `type:"string"`
5342
5343	// Indicates whether active tracing with AWS X-Ray is enabled for the stage.
5344	TracingEnabled *bool `type:"boolean"`
5345
5346	// A map that defines the stage variables for the stage.
5347	//
5348	// Variable names can have alphanumeric and underscore characters.
5349	//
5350	// Variable values can contain the following characters:
5351	//
5352	//    * Uppercase and lowercase letters
5353	//
5354	//    * Numbers
5355	//
5356	//    * Special characters -._~:/?#&=,
5357	Variables map[string]*string `type:"map"`
5358
5359	// The ARN of the web ACL associated with the stage.
5360	WebAclArn *string `type:"string"`
5361}
5362
5363// String returns the string representation
5364func (s AwsApiGatewayStageDetails) String() string {
5365	return awsutil.Prettify(s)
5366}
5367
5368// GoString returns the string representation
5369func (s AwsApiGatewayStageDetails) GoString() string {
5370	return s.String()
5371}
5372
5373// SetAccessLogSettings sets the AccessLogSettings field's value.
5374func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
5375	s.AccessLogSettings = v
5376	return s
5377}
5378
5379// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
5380func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
5381	s.CacheClusterEnabled = &v
5382	return s
5383}
5384
5385// SetCacheClusterSize sets the CacheClusterSize field's value.
5386func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
5387	s.CacheClusterSize = &v
5388	return s
5389}
5390
5391// SetCacheClusterStatus sets the CacheClusterStatus field's value.
5392func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
5393	s.CacheClusterStatus = &v
5394	return s
5395}
5396
5397// SetCanarySettings sets the CanarySettings field's value.
5398func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
5399	s.CanarySettings = v
5400	return s
5401}
5402
5403// SetClientCertificateId sets the ClientCertificateId field's value.
5404func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
5405	s.ClientCertificateId = &v
5406	return s
5407}
5408
5409// SetCreatedDate sets the CreatedDate field's value.
5410func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
5411	s.CreatedDate = &v
5412	return s
5413}
5414
5415// SetDeploymentId sets the DeploymentId field's value.
5416func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
5417	s.DeploymentId = &v
5418	return s
5419}
5420
5421// SetDescription sets the Description field's value.
5422func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
5423	s.Description = &v
5424	return s
5425}
5426
5427// SetDocumentationVersion sets the DocumentationVersion field's value.
5428func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
5429	s.DocumentationVersion = &v
5430	return s
5431}
5432
5433// SetLastUpdatedDate sets the LastUpdatedDate field's value.
5434func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
5435	s.LastUpdatedDate = &v
5436	return s
5437}
5438
5439// SetMethodSettings sets the MethodSettings field's value.
5440func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
5441	s.MethodSettings = v
5442	return s
5443}
5444
5445// SetStageName sets the StageName field's value.
5446func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
5447	s.StageName = &v
5448	return s
5449}
5450
5451// SetTracingEnabled sets the TracingEnabled field's value.
5452func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
5453	s.TracingEnabled = &v
5454	return s
5455}
5456
5457// SetVariables sets the Variables field's value.
5458func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
5459	s.Variables = v
5460	return s
5461}
5462
5463// SetWebAclArn sets the WebAclArn field's value.
5464func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
5465	s.WebAclArn = &v
5466	return s
5467}
5468
5469// Contains information about a version 2 API in Amazon API Gateway.
5470type AwsApiGatewayV2ApiDetails struct {
5471	_ struct{} `type:"structure"`
5472
5473	// The URI of the API.
5474	//
5475	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
5476	//
5477	// The stage name is typically appended to the URI to form a complete path to
5478	// a deployed API stage.
5479	ApiEndpoint *string `type:"string"`
5480
5481	// The identifier of the API.
5482	ApiId *string `type:"string"`
5483
5484	// An API key selection expression. Supported only for WebSocket APIs.
5485	ApiKeySelectionExpression *string `type:"string"`
5486
5487	// A cross-origin resource sharing (CORS) configuration. Supported only for
5488	// HTTP APIs.
5489	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
5490
5491	// Indicates when the API was created.
5492	//
5493	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5494	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5495	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5496	CreatedDate *string `type:"string"`
5497
5498	// A description of the API.
5499	Description *string `type:"string"`
5500
5501	// The name of the API.
5502	Name *string `type:"string"`
5503
5504	// The API protocol for the API.
5505	//
5506	// Valid values: WEBSOCKET | HTTP
5507	ProtocolType *string `type:"string"`
5508
5509	// The route selection expression for the API.
5510	//
5511	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
5512	// value for HTTP APIs.
5513	//
5514	// For WebSocket APIs, there is no default value.
5515	RouteSelectionExpression *string `type:"string"`
5516
5517	// The version identifier for the API.
5518	Version *string `type:"string"`
5519}
5520
5521// String returns the string representation
5522func (s AwsApiGatewayV2ApiDetails) String() string {
5523	return awsutil.Prettify(s)
5524}
5525
5526// GoString returns the string representation
5527func (s AwsApiGatewayV2ApiDetails) GoString() string {
5528	return s.String()
5529}
5530
5531// SetApiEndpoint sets the ApiEndpoint field's value.
5532func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
5533	s.ApiEndpoint = &v
5534	return s
5535}
5536
5537// SetApiId sets the ApiId field's value.
5538func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
5539	s.ApiId = &v
5540	return s
5541}
5542
5543// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
5544func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
5545	s.ApiKeySelectionExpression = &v
5546	return s
5547}
5548
5549// SetCorsConfiguration sets the CorsConfiguration field's value.
5550func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
5551	s.CorsConfiguration = v
5552	return s
5553}
5554
5555// SetCreatedDate sets the CreatedDate field's value.
5556func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
5557	s.CreatedDate = &v
5558	return s
5559}
5560
5561// SetDescription sets the Description field's value.
5562func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
5563	s.Description = &v
5564	return s
5565}
5566
5567// SetName sets the Name field's value.
5568func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
5569	s.Name = &v
5570	return s
5571}
5572
5573// SetProtocolType sets the ProtocolType field's value.
5574func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
5575	s.ProtocolType = &v
5576	return s
5577}
5578
5579// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
5580func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
5581	s.RouteSelectionExpression = &v
5582	return s
5583}
5584
5585// SetVersion sets the Version field's value.
5586func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
5587	s.Version = &v
5588	return s
5589}
5590
5591// Contains route settings for a stage.
5592type AwsApiGatewayV2RouteSettings struct {
5593	_ struct{} `type:"structure"`
5594
5595	// Indicates whether data trace logging is enabled. Data trace logging affects
5596	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
5597	// APIs.
5598	DataTraceEnabled *bool `type:"boolean"`
5599
5600	// Indicates whether detailed metrics are enabled.
5601	DetailedMetricsEnabled *bool `type:"boolean"`
5602
5603	// The logging level. The logging level affects the log entries that are pushed
5604	// to CloudWatch Logs. Supported only for WebSocket APIs.
5605	//
5606	// If the logging level is ERROR, then the logs only include error-level entries.
5607	//
5608	// If the logging level is INFO, then the logs include both ERROR events and
5609	// extra informational events.
5610	//
5611	// Valid values: OFF | ERROR | INFO
5612	LoggingLevel *string `type:"string"`
5613
5614	// The throttling burst limit.
5615	ThrottlingBurstLimit *int64 `type:"integer"`
5616
5617	// The throttling rate limit.
5618	ThrottlingRateLimit *float64 `type:"double"`
5619}
5620
5621// String returns the string representation
5622func (s AwsApiGatewayV2RouteSettings) String() string {
5623	return awsutil.Prettify(s)
5624}
5625
5626// GoString returns the string representation
5627func (s AwsApiGatewayV2RouteSettings) GoString() string {
5628	return s.String()
5629}
5630
5631// SetDataTraceEnabled sets the DataTraceEnabled field's value.
5632func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
5633	s.DataTraceEnabled = &v
5634	return s
5635}
5636
5637// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
5638func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
5639	s.DetailedMetricsEnabled = &v
5640	return s
5641}
5642
5643// SetLoggingLevel sets the LoggingLevel field's value.
5644func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
5645	s.LoggingLevel = &v
5646	return s
5647}
5648
5649// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
5650func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
5651	s.ThrottlingBurstLimit = &v
5652	return s
5653}
5654
5655// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
5656func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
5657	s.ThrottlingRateLimit = &v
5658	return s
5659}
5660
5661// Contains information about a version 2 stage for Amazon API Gateway.
5662type AwsApiGatewayV2StageDetails struct {
5663	_ struct{} `type:"structure"`
5664
5665	// Information about settings for logging access for the stage.
5666	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
5667
5668	// Indicates whether the stage is managed by API Gateway.
5669	ApiGatewayManaged *bool `type:"boolean"`
5670
5671	// Indicates whether updates to an API automatically trigger a new deployment.
5672	AutoDeploy *bool `type:"boolean"`
5673
5674	// Indicates when the stage was created.
5675	//
5676	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5677	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5678	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5679	CreatedDate *string `type:"string"`
5680
5681	// Default route settings for the stage.
5682	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
5683
5684	// The identifier of the deployment that the stage is associated with.
5685	DeploymentId *string `type:"string"`
5686
5687	// The description of the stage.
5688	Description *string `type:"string"`
5689
5690	// The status of the last deployment of a stage. Supported only if the stage
5691	// has automatic deployment enabled.
5692	LastDeploymentStatusMessage *string `type:"string"`
5693
5694	// Indicates when the stage was most recently updated.
5695	//
5696	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5697	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5698	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5699	LastUpdatedDate *string `type:"string"`
5700
5701	// The route settings for the stage.
5702	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
5703
5704	// The name of the stage.
5705	StageName *string `type:"string"`
5706
5707	// A map that defines the stage variables for the stage.
5708	//
5709	// Variable names can have alphanumeric and underscore characters.
5710	//
5711	// Variable values can contain the following characters:
5712	//
5713	//    * Uppercase and lowercase letters
5714	//
5715	//    * Numbers
5716	//
5717	//    * Special characters -._~:/?#&=,
5718	StageVariables map[string]*string `type:"map"`
5719}
5720
5721// String returns the string representation
5722func (s AwsApiGatewayV2StageDetails) String() string {
5723	return awsutil.Prettify(s)
5724}
5725
5726// GoString returns the string representation
5727func (s AwsApiGatewayV2StageDetails) GoString() string {
5728	return s.String()
5729}
5730
5731// SetAccessLogSettings sets the AccessLogSettings field's value.
5732func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
5733	s.AccessLogSettings = v
5734	return s
5735}
5736
5737// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
5738func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
5739	s.ApiGatewayManaged = &v
5740	return s
5741}
5742
5743// SetAutoDeploy sets the AutoDeploy field's value.
5744func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
5745	s.AutoDeploy = &v
5746	return s
5747}
5748
5749// SetCreatedDate sets the CreatedDate field's value.
5750func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
5751	s.CreatedDate = &v
5752	return s
5753}
5754
5755// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
5756func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
5757	s.DefaultRouteSettings = v
5758	return s
5759}
5760
5761// SetDeploymentId sets the DeploymentId field's value.
5762func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
5763	s.DeploymentId = &v
5764	return s
5765}
5766
5767// SetDescription sets the Description field's value.
5768func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
5769	s.Description = &v
5770	return s
5771}
5772
5773// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
5774func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
5775	s.LastDeploymentStatusMessage = &v
5776	return s
5777}
5778
5779// SetLastUpdatedDate sets the LastUpdatedDate field's value.
5780func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
5781	s.LastUpdatedDate = &v
5782	return s
5783}
5784
5785// SetRouteSettings sets the RouteSettings field's value.
5786func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
5787	s.RouteSettings = v
5788	return s
5789}
5790
5791// SetStageName sets the StageName field's value.
5792func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
5793	s.StageName = &v
5794	return s
5795}
5796
5797// SetStageVariables sets the StageVariables field's value.
5798func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
5799	s.StageVariables = v
5800	return s
5801}
5802
5803// Provides details about an auto scaling group.
5804type AwsAutoScalingAutoScalingGroupDetails struct {
5805	_ struct{} `type:"structure"`
5806
5807	// Indicates when the auto scaling group was created.
5808	//
5809	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5810	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5811	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5812	CreatedTime *string `type:"string"`
5813
5814	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
5815	// it checks the health status of an EC2 instance that has come into service.
5816	HealthCheckGracePeriod *int64 `type:"integer"`
5817
5818	// The service to use for the health checks.
5819	HealthCheckType *string `type:"string"`
5820
5821	// The name of the launch configuration.
5822	LaunchConfigurationName *string `type:"string"`
5823
5824	// The list of load balancers associated with the group.
5825	LoadBalancerNames []*string `type:"list"`
5826}
5827
5828// String returns the string representation
5829func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
5830	return awsutil.Prettify(s)
5831}
5832
5833// GoString returns the string representation
5834func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
5835	return s.String()
5836}
5837
5838// SetCreatedTime sets the CreatedTime field's value.
5839func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
5840	s.CreatedTime = &v
5841	return s
5842}
5843
5844// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
5845func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
5846	s.HealthCheckGracePeriod = &v
5847	return s
5848}
5849
5850// SetHealthCheckType sets the HealthCheckType field's value.
5851func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
5852	s.HealthCheckType = &v
5853	return s
5854}
5855
5856// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
5857func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
5858	s.LaunchConfigurationName = &v
5859	return s
5860}
5861
5862// SetLoadBalancerNames sets the LoadBalancerNames field's value.
5863func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
5864	s.LoadBalancerNames = v
5865	return s
5866}
5867
5868// Provides details about an AWS Certificate Manager certificate.
5869type AwsCertificateManagerCertificateDetails struct {
5870	_ struct{} `type:"structure"`
5871
5872	// The ARN of the private certificate authority (CA) that will be used to issue
5873	// the certificate.
5874	CertificateAuthorityArn *string `type:"string"`
5875
5876	// Indicates when the certificate was requested.
5877	//
5878	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5879	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5880	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5881	CreatedAt *string `type:"string"`
5882
5883	// The fully qualified domain name (FQDN), such as www.example.com, that is
5884	// secured by the certificate.
5885	DomainName *string `type:"string"`
5886
5887	// Contains information about the initial validation of each domain name that
5888	// occurs as a result of the RequestCertificate request.
5889	//
5890	// Only provided if the certificate type is AMAZON_ISSUED.
5891	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
5892
5893	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
5894	// specifies a purpose for which the certificate public key can be used and
5895	// consists of a name and an object identifier (OID).
5896	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
5897
5898	// For a failed certificate request, the reason for the failure.
5899	//
5900	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
5901	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
5902	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
5903	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
5904	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
5905	FailureReason *string `type:"string"`
5906
5907	// Indicates when the certificate was imported. Provided if the certificate
5908	// type is IMPORTED.
5909	//
5910	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5911	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5912	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5913	ImportedAt *string `type:"string"`
5914
5915	// The list of ARNs for the AWS resources that use the certificate.
5916	InUseBy []*string `type:"list"`
5917
5918	// Indicates when the certificate was issued. Provided if the certificate type
5919	// is AMAZON_ISSUED.
5920	//
5921	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5922	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5923	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5924	IssuedAt *string `type:"string"`
5925
5926	// The name of the certificate authority that issued and signed the certificate.
5927	Issuer *string `type:"string"`
5928
5929	// The algorithm that was used to generate the public-private key pair.
5930	//
5931	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
5932	// | EC_secp521r1
5933	KeyAlgorithm *string `type:"string"`
5934
5935	// A list of key usage X.509 v3 extension objects.
5936	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
5937
5938	// The time after which the certificate becomes invalid.
5939	//
5940	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5941	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5942	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5943	NotAfter *string `type:"string"`
5944
5945	// The time before which the certificate is not valid.
5946	//
5947	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
5948	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
5949	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
5950	NotBefore *string `type:"string"`
5951
5952	// Provides a value that specifies whether to add the certificate to a transparency
5953	// log.
5954	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
5955
5956	// Whether the certificate is eligible for renewal.
5957	//
5958	// Valid values: ELIGIBLE | INELIGIBLE
5959	RenewalEligibility *string `type:"string"`
5960
5961	// Information about the status of the AWS Certificate Manager managed renewal
5962	// for the certificate. Provided only when the certificate type is AMAZON_ISSUED.
5963	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
5964
5965	// The serial number of the certificate.
5966	Serial *string `type:"string"`
5967
5968	// The algorithm that was used to sign the certificate.
5969	SignatureAlgorithm *string `type:"string"`
5970
5971	// The status of the certificate.
5972	//
5973	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
5974	// | REVOKED | FAILED
5975	Status *string `type:"string"`
5976
5977	// The name of the entity that is associated with the public key contained in
5978	// the certificate.
5979	Subject *string `type:"string"`
5980
5981	// One or more domain names (subject alternative names) included in the certificate.
5982	// This list contains the domain names that are bound to the public key that
5983	// is contained in the certificate.
5984	//
5985	// The subject alternative names include the canonical domain name (CN) of the
5986	// certificate and additional domain names that can be used to connect to the
5987	// website.
5988	SubjectAlternativeNames []*string `type:"list"`
5989
5990	// The source of the certificate. For certificates that AWS Certificate Manager
5991	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
5992	// ImportCertificate, Type is IMPORTED.
5993	//
5994	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
5995	Type *string `type:"string"`
5996}
5997
5998// String returns the string representation
5999func (s AwsCertificateManagerCertificateDetails) String() string {
6000	return awsutil.Prettify(s)
6001}
6002
6003// GoString returns the string representation
6004func (s AwsCertificateManagerCertificateDetails) GoString() string {
6005	return s.String()
6006}
6007
6008// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
6009func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
6010	s.CertificateAuthorityArn = &v
6011	return s
6012}
6013
6014// SetCreatedAt sets the CreatedAt field's value.
6015func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
6016	s.CreatedAt = &v
6017	return s
6018}
6019
6020// SetDomainName sets the DomainName field's value.
6021func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
6022	s.DomainName = &v
6023	return s
6024}
6025
6026// SetDomainValidationOptions sets the DomainValidationOptions field's value.
6027func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
6028	s.DomainValidationOptions = v
6029	return s
6030}
6031
6032// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
6033func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
6034	s.ExtendedKeyUsages = v
6035	return s
6036}
6037
6038// SetFailureReason sets the FailureReason field's value.
6039func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
6040	s.FailureReason = &v
6041	return s
6042}
6043
6044// SetImportedAt sets the ImportedAt field's value.
6045func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
6046	s.ImportedAt = &v
6047	return s
6048}
6049
6050// SetInUseBy sets the InUseBy field's value.
6051func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
6052	s.InUseBy = v
6053	return s
6054}
6055
6056// SetIssuedAt sets the IssuedAt field's value.
6057func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
6058	s.IssuedAt = &v
6059	return s
6060}
6061
6062// SetIssuer sets the Issuer field's value.
6063func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
6064	s.Issuer = &v
6065	return s
6066}
6067
6068// SetKeyAlgorithm sets the KeyAlgorithm field's value.
6069func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
6070	s.KeyAlgorithm = &v
6071	return s
6072}
6073
6074// SetKeyUsages sets the KeyUsages field's value.
6075func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
6076	s.KeyUsages = v
6077	return s
6078}
6079
6080// SetNotAfter sets the NotAfter field's value.
6081func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
6082	s.NotAfter = &v
6083	return s
6084}
6085
6086// SetNotBefore sets the NotBefore field's value.
6087func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
6088	s.NotBefore = &v
6089	return s
6090}
6091
6092// SetOptions sets the Options field's value.
6093func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
6094	s.Options = v
6095	return s
6096}
6097
6098// SetRenewalEligibility sets the RenewalEligibility field's value.
6099func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
6100	s.RenewalEligibility = &v
6101	return s
6102}
6103
6104// SetRenewalSummary sets the RenewalSummary field's value.
6105func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
6106	s.RenewalSummary = v
6107	return s
6108}
6109
6110// SetSerial sets the Serial field's value.
6111func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
6112	s.Serial = &v
6113	return s
6114}
6115
6116// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
6117func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
6118	s.SignatureAlgorithm = &v
6119	return s
6120}
6121
6122// SetStatus sets the Status field's value.
6123func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
6124	s.Status = &v
6125	return s
6126}
6127
6128// SetSubject sets the Subject field's value.
6129func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
6130	s.Subject = &v
6131	return s
6132}
6133
6134// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
6135func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
6136	s.SubjectAlternativeNames = v
6137	return s
6138}
6139
6140// SetType sets the Type field's value.
6141func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
6142	s.Type = &v
6143	return s
6144}
6145
6146// Contains information about one of the following:
6147//
6148//    * The initial validation of each domain name that occurs as a result of
6149//    the RequestCertificate request
6150//
6151//    * The validation of each domain name in the certificate, as it pertains
6152//    to AWS Certificate Manager managed renewal
6153type AwsCertificateManagerCertificateDomainValidationOption struct {
6154	_ struct{} `type:"structure"`
6155
6156	// A fully qualified domain name (FQDN) in the certificate.
6157	DomainName *string `type:"string"`
6158
6159	// The CNAME record that is added to the DNS database for domain validation.
6160	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
6161
6162	// The domain name that AWS Certificate Manager uses to send domain validation
6163	// emails.
6164	ValidationDomain *string `type:"string"`
6165
6166	// A list of email addresses that AWS Certificate Manager uses to send domain
6167	// validation emails.
6168	ValidationEmails []*string `type:"list"`
6169
6170	// The method used to validate the domain name.
6171	ValidationMethod *string `type:"string"`
6172
6173	// The validation status of the domain name.
6174	ValidationStatus *string `type:"string"`
6175}
6176
6177// String returns the string representation
6178func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
6179	return awsutil.Prettify(s)
6180}
6181
6182// GoString returns the string representation
6183func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
6184	return s.String()
6185}
6186
6187// SetDomainName sets the DomainName field's value.
6188func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
6189	s.DomainName = &v
6190	return s
6191}
6192
6193// SetResourceRecord sets the ResourceRecord field's value.
6194func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
6195	s.ResourceRecord = v
6196	return s
6197}
6198
6199// SetValidationDomain sets the ValidationDomain field's value.
6200func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
6201	s.ValidationDomain = &v
6202	return s
6203}
6204
6205// SetValidationEmails sets the ValidationEmails field's value.
6206func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
6207	s.ValidationEmails = v
6208	return s
6209}
6210
6211// SetValidationMethod sets the ValidationMethod field's value.
6212func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
6213	s.ValidationMethod = &v
6214	return s
6215}
6216
6217// SetValidationStatus sets the ValidationStatus field's value.
6218func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
6219	s.ValidationStatus = &v
6220	return s
6221}
6222
6223// Contains information about an extended key usage X.509 v3 extension object.
6224type AwsCertificateManagerCertificateExtendedKeyUsage struct {
6225	_ struct{} `type:"structure"`
6226
6227	// The name of an extension value. Indicates the purpose for which the certificate
6228	// public key can be used.
6229	Name *string `type:"string"`
6230
6231	// An object identifier (OID) for the extension value.
6232	//
6233	// The format is numbers separated by periods.
6234	OId *string `type:"string"`
6235}
6236
6237// String returns the string representation
6238func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
6239	return awsutil.Prettify(s)
6240}
6241
6242// GoString returns the string representation
6243func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
6244	return s.String()
6245}
6246
6247// SetName sets the Name field's value.
6248func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
6249	s.Name = &v
6250	return s
6251}
6252
6253// SetOId sets the OId field's value.
6254func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
6255	s.OId = &v
6256	return s
6257}
6258
6259// Contains information about a key usage X.509 v3 extension object.
6260type AwsCertificateManagerCertificateKeyUsage struct {
6261	_ struct{} `type:"structure"`
6262
6263	// The key usage extension name.
6264	Name *string `type:"string"`
6265}
6266
6267// String returns the string representation
6268func (s AwsCertificateManagerCertificateKeyUsage) String() string {
6269	return awsutil.Prettify(s)
6270}
6271
6272// GoString returns the string representation
6273func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
6274	return s.String()
6275}
6276
6277// SetName sets the Name field's value.
6278func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
6279	s.Name = &v
6280	return s
6281}
6282
6283// Contains other options for the certificate.
6284type AwsCertificateManagerCertificateOptions struct {
6285	_ struct{} `type:"structure"`
6286
6287	// Whether to add the certificate to a transparency log.
6288	//
6289	// Valid values: DISABLED | ENABLED
6290	CertificateTransparencyLoggingPreference *string `type:"string"`
6291}
6292
6293// String returns the string representation
6294func (s AwsCertificateManagerCertificateOptions) String() string {
6295	return awsutil.Prettify(s)
6296}
6297
6298// GoString returns the string representation
6299func (s AwsCertificateManagerCertificateOptions) GoString() string {
6300	return s.String()
6301}
6302
6303// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
6304func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
6305	s.CertificateTransparencyLoggingPreference = &v
6306	return s
6307}
6308
6309// Contains information about the AWS Certificate Manager managed renewal for
6310// an AMAZON_ISSUED certificate.
6311type AwsCertificateManagerCertificateRenewalSummary struct {
6312	_ struct{} `type:"structure"`
6313
6314	// Information about the validation of each domain name in the certificate,
6315	// as it pertains to AWS Certificate Manager managed renewal. Provided only
6316	// when the certificate type is AMAZON_ISSUED.
6317	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
6318
6319	// The status of the AWS Certificate Manager managed renewal of the certificate.
6320	//
6321	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
6322	RenewalStatus *string `type:"string"`
6323
6324	// The reason that a renewal request was unsuccessful.
6325	//
6326	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
6327	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
6328	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
6329	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
6330	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
6331	RenewalStatusReason *string `type:"string"`
6332
6333	// Indicates when the renewal summary was last updated.
6334	//
6335	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6336	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6337	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6338	UpdatedAt *string `type:"string"`
6339}
6340
6341// String returns the string representation
6342func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
6343	return awsutil.Prettify(s)
6344}
6345
6346// GoString returns the string representation
6347func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
6348	return s.String()
6349}
6350
6351// SetDomainValidationOptions sets the DomainValidationOptions field's value.
6352func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
6353	s.DomainValidationOptions = v
6354	return s
6355}
6356
6357// SetRenewalStatus sets the RenewalStatus field's value.
6358func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
6359	s.RenewalStatus = &v
6360	return s
6361}
6362
6363// SetRenewalStatusReason sets the RenewalStatusReason field's value.
6364func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
6365	s.RenewalStatusReason = &v
6366	return s
6367}
6368
6369// SetUpdatedAt sets the UpdatedAt field's value.
6370func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
6371	s.UpdatedAt = &v
6372	return s
6373}
6374
6375// Provides details about the CNAME record that is added to the DNS database
6376// for domain validation.
6377type AwsCertificateManagerCertificateResourceRecord struct {
6378	_ struct{} `type:"structure"`
6379
6380	// The name of the resource.
6381	Name *string `type:"string"`
6382
6383	// The type of resource.
6384	Type *string `type:"string"`
6385
6386	// The value of the resource.
6387	Value *string `type:"string"`
6388}
6389
6390// String returns the string representation
6391func (s AwsCertificateManagerCertificateResourceRecord) String() string {
6392	return awsutil.Prettify(s)
6393}
6394
6395// GoString returns the string representation
6396func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
6397	return s.String()
6398}
6399
6400// SetName sets the Name field's value.
6401func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
6402	s.Name = &v
6403	return s
6404}
6405
6406// SetType sets the Type field's value.
6407func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
6408	s.Type = &v
6409	return s
6410}
6411
6412// SetValue sets the Value field's value.
6413func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
6414	s.Value = &v
6415	return s
6416}
6417
6418// Information about a cache behavior for the distribution.
6419type AwsCloudFrontDistributionCacheBehavior struct {
6420	_ struct{} `type:"structure"`
6421
6422	// The protocol that viewers can use to access the files in an origin. You can
6423	// specify the following options:
6424	//
6425	//    * allow-all - Viewers can use HTTP or HTTPS.
6426	//
6427	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
6428	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
6429	//    uses the new URL to resubmit.
6430	//
6431	//    * https-only - CloudFront responds to HTTP request with an HTTP status
6432	//    code of 403 (Forbidden).
6433	ViewerProtocolPolicy *string `type:"string"`
6434}
6435
6436// String returns the string representation
6437func (s AwsCloudFrontDistributionCacheBehavior) String() string {
6438	return awsutil.Prettify(s)
6439}
6440
6441// GoString returns the string representation
6442func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
6443	return s.String()
6444}
6445
6446// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
6447func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
6448	s.ViewerProtocolPolicy = &v
6449	return s
6450}
6451
6452// Provides information about caching for the distribution.
6453type AwsCloudFrontDistributionCacheBehaviors struct {
6454	_ struct{} `type:"structure"`
6455
6456	// The cache behaviors for the distribution.
6457	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
6458}
6459
6460// String returns the string representation
6461func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
6462	return awsutil.Prettify(s)
6463}
6464
6465// GoString returns the string representation
6466func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
6467	return s.String()
6468}
6469
6470// SetItems sets the Items field's value.
6471func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
6472	s.Items = v
6473	return s
6474}
6475
6476// Contains information about the default cache configuration for the distribution.
6477type AwsCloudFrontDistributionDefaultCacheBehavior struct {
6478	_ struct{} `type:"structure"`
6479
6480	// The protocol that viewers can use to access the files in an origin. You can
6481	// specify the following options:
6482	//
6483	//    * allow-all - Viewers can use HTTP or HTTPS.
6484	//
6485	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
6486	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
6487	//    uses the new URL to resubmit.
6488	//
6489	//    * https-only - CloudFront responds to HTTP request with an HTTP status
6490	//    code of 403 (Forbidden).
6491	ViewerProtocolPolicy *string `type:"string"`
6492}
6493
6494// String returns the string representation
6495func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
6496	return awsutil.Prettify(s)
6497}
6498
6499// GoString returns the string representation
6500func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
6501	return s.String()
6502}
6503
6504// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
6505func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
6506	s.ViewerProtocolPolicy = &v
6507	return s
6508}
6509
6510// A distribution configuration.
6511type AwsCloudFrontDistributionDetails struct {
6512	_ struct{} `type:"structure"`
6513
6514	// Provides information about the cache configuration for the distribution.
6515	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
6516
6517	// The default cache behavior for the configuration.
6518	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
6519
6520	// The object that CloudFront sends in response to requests from the origin
6521	// (for example, index.html) when a viewer requests the root URL for the distribution
6522	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
6523	DefaultRootObject *string `type:"string"`
6524
6525	// The domain name corresponding to the distribution.
6526	DomainName *string `type:"string"`
6527
6528	// The entity tag is a hash of the object.
6529	ETag *string `type:"string"`
6530
6531	// Indicates when that the distribution was last modified.
6532	//
6533	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6534	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6535	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6536	LastModifiedTime *string `type:"string"`
6537
6538	// A complex type that controls whether access logs are written for the distribution.
6539	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
6540
6541	// Provides information about the origin groups in the distribution.
6542	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
6543
6544	// A complex type that contains information about origins for this distribution.
6545	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
6546
6547	// Indicates the current status of the distribution.
6548	Status *string `type:"string"`
6549
6550	// A unique identifier that specifies the AWS WAF web ACL, if any, to associate
6551	// with this distribution.
6552	WebAclId *string `type:"string"`
6553}
6554
6555// String returns the string representation
6556func (s AwsCloudFrontDistributionDetails) String() string {
6557	return awsutil.Prettify(s)
6558}
6559
6560// GoString returns the string representation
6561func (s AwsCloudFrontDistributionDetails) GoString() string {
6562	return s.String()
6563}
6564
6565// SetCacheBehaviors sets the CacheBehaviors field's value.
6566func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
6567	s.CacheBehaviors = v
6568	return s
6569}
6570
6571// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
6572func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
6573	s.DefaultCacheBehavior = v
6574	return s
6575}
6576
6577// SetDefaultRootObject sets the DefaultRootObject field's value.
6578func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
6579	s.DefaultRootObject = &v
6580	return s
6581}
6582
6583// SetDomainName sets the DomainName field's value.
6584func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
6585	s.DomainName = &v
6586	return s
6587}
6588
6589// SetETag sets the ETag field's value.
6590func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
6591	s.ETag = &v
6592	return s
6593}
6594
6595// SetLastModifiedTime sets the LastModifiedTime field's value.
6596func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
6597	s.LastModifiedTime = &v
6598	return s
6599}
6600
6601// SetLogging sets the Logging field's value.
6602func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
6603	s.Logging = v
6604	return s
6605}
6606
6607// SetOriginGroups sets the OriginGroups field's value.
6608func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
6609	s.OriginGroups = v
6610	return s
6611}
6612
6613// SetOrigins sets the Origins field's value.
6614func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
6615	s.Origins = v
6616	return s
6617}
6618
6619// SetStatus sets the Status field's value.
6620func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
6621	s.Status = &v
6622	return s
6623}
6624
6625// SetWebAclId sets the WebAclId field's value.
6626func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
6627	s.WebAclId = &v
6628	return s
6629}
6630
6631// A complex type that controls whether access logs are written for the distribution.
6632type AwsCloudFrontDistributionLogging struct {
6633	_ struct{} `type:"structure"`
6634
6635	// The Amazon S3 bucket to store the access logs in.
6636	Bucket *string `type:"string"`
6637
6638	// With this field, you can enable or disable the selected distribution.
6639	Enabled *bool `type:"boolean"`
6640
6641	// Specifies whether you want CloudFront to include cookies in access logs.
6642	IncludeCookies *bool `type:"boolean"`
6643
6644	// An optional string that you want CloudFront to use as a prefix to the access
6645	// log filenames for this distribution.
6646	Prefix *string `type:"string"`
6647}
6648
6649// String returns the string representation
6650func (s AwsCloudFrontDistributionLogging) String() string {
6651	return awsutil.Prettify(s)
6652}
6653
6654// GoString returns the string representation
6655func (s AwsCloudFrontDistributionLogging) GoString() string {
6656	return s.String()
6657}
6658
6659// SetBucket sets the Bucket field's value.
6660func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
6661	s.Bucket = &v
6662	return s
6663}
6664
6665// SetEnabled sets the Enabled field's value.
6666func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
6667	s.Enabled = &v
6668	return s
6669}
6670
6671// SetIncludeCookies sets the IncludeCookies field's value.
6672func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
6673	s.IncludeCookies = &v
6674	return s
6675}
6676
6677// SetPrefix sets the Prefix field's value.
6678func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
6679	s.Prefix = &v
6680	return s
6681}
6682
6683// Information about an origin group for the distribution.
6684type AwsCloudFrontDistributionOriginGroup struct {
6685	_ struct{} `type:"structure"`
6686
6687	// Provides the criteria for an origin group to fail over.
6688	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
6689}
6690
6691// String returns the string representation
6692func (s AwsCloudFrontDistributionOriginGroup) String() string {
6693	return awsutil.Prettify(s)
6694}
6695
6696// GoString returns the string representation
6697func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
6698	return s.String()
6699}
6700
6701// SetFailoverCriteria sets the FailoverCriteria field's value.
6702func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
6703	s.FailoverCriteria = v
6704	return s
6705}
6706
6707// Provides information about when an origin group fails over.
6708type AwsCloudFrontDistributionOriginGroupFailover struct {
6709	_ struct{} `type:"structure"`
6710
6711	// Information about the status codes that cause an origin group to fail over.
6712	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
6713}
6714
6715// String returns the string representation
6716func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
6717	return awsutil.Prettify(s)
6718}
6719
6720// GoString returns the string representation
6721func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
6722	return s.String()
6723}
6724
6725// SetStatusCodes sets the StatusCodes field's value.
6726func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
6727	s.StatusCodes = v
6728	return s
6729}
6730
6731// The status codes that cause an origin group to fail over.
6732type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
6733	_ struct{} `type:"structure"`
6734
6735	// The list of status code values that can cause a failover to the next origin.
6736	Items []*int64 `type:"list"`
6737
6738	// The number of status codes that can cause a failover.
6739	Quantity *int64 `type:"integer"`
6740}
6741
6742// String returns the string representation
6743func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
6744	return awsutil.Prettify(s)
6745}
6746
6747// GoString returns the string representation
6748func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
6749	return s.String()
6750}
6751
6752// SetItems sets the Items field's value.
6753func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
6754	s.Items = v
6755	return s
6756}
6757
6758// SetQuantity sets the Quantity field's value.
6759func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
6760	s.Quantity = &v
6761	return s
6762}
6763
6764// Provides information about origin groups that are associated with the distribution.
6765type AwsCloudFrontDistributionOriginGroups struct {
6766	_ struct{} `type:"structure"`
6767
6768	// The list of origin groups.
6769	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
6770}
6771
6772// String returns the string representation
6773func (s AwsCloudFrontDistributionOriginGroups) String() string {
6774	return awsutil.Prettify(s)
6775}
6776
6777// GoString returns the string representation
6778func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
6779	return s.String()
6780}
6781
6782// SetItems sets the Items field's value.
6783func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
6784	s.Items = v
6785	return s
6786}
6787
6788// A complex type that describes the Amazon S3 bucket, HTTP server (for example,
6789// a web server), Amazon Elemental MediaStore, or other server from which CloudFront
6790// gets your files.
6791type AwsCloudFrontDistributionOriginItem struct {
6792	_ struct{} `type:"structure"`
6793
6794	// Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want
6795	// CloudFront to get objects for this origin.
6796	DomainName *string `type:"string"`
6797
6798	// A unique identifier for the origin or origin group.
6799	Id *string `type:"string"`
6800
6801	// An optional element that causes CloudFront to request your content from a
6802	// directory in your Amazon S3 bucket or your custom origin.
6803	OriginPath *string `type:"string"`
6804
6805	// An origin that is an S3 bucket that is not configured with static website
6806	// hosting.
6807	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
6808}
6809
6810// String returns the string representation
6811func (s AwsCloudFrontDistributionOriginItem) String() string {
6812	return awsutil.Prettify(s)
6813}
6814
6815// GoString returns the string representation
6816func (s AwsCloudFrontDistributionOriginItem) GoString() string {
6817	return s.String()
6818}
6819
6820// SetDomainName sets the DomainName field's value.
6821func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
6822	s.DomainName = &v
6823	return s
6824}
6825
6826// SetId sets the Id field's value.
6827func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
6828	s.Id = &v
6829	return s
6830}
6831
6832// SetOriginPath sets the OriginPath field's value.
6833func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
6834	s.OriginPath = &v
6835	return s
6836}
6837
6838// SetS3OriginConfig sets the S3OriginConfig field's value.
6839func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
6840	s.S3OriginConfig = v
6841	return s
6842}
6843
6844// Information about an origin that is an S3 bucket that is not configured with
6845// static website hosting.
6846type AwsCloudFrontDistributionOriginS3OriginConfig struct {
6847	_ struct{} `type:"structure"`
6848
6849	// The CloudFront origin access identity to associate with the origin.
6850	OriginAccessIdentity *string `type:"string"`
6851}
6852
6853// String returns the string representation
6854func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
6855	return awsutil.Prettify(s)
6856}
6857
6858// GoString returns the string representation
6859func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
6860	return s.String()
6861}
6862
6863// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
6864func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
6865	s.OriginAccessIdentity = &v
6866	return s
6867}
6868
6869// A complex type that contains information about origins and origin groups
6870// for this distribution.
6871type AwsCloudFrontDistributionOrigins struct {
6872	_ struct{} `type:"structure"`
6873
6874	// A complex type that contains origins or origin groups for this distribution.
6875	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
6876}
6877
6878// String returns the string representation
6879func (s AwsCloudFrontDistributionOrigins) String() string {
6880	return awsutil.Prettify(s)
6881}
6882
6883// GoString returns the string representation
6884func (s AwsCloudFrontDistributionOrigins) GoString() string {
6885	return s.String()
6886}
6887
6888// SetItems sets the Items field's value.
6889func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
6890	s.Items = v
6891	return s
6892}
6893
6894// Provides details about a CloudTrail trail.
6895type AwsCloudTrailTrailDetails struct {
6896	_ struct{} `type:"structure"`
6897
6898	// The ARN of the log group that CloudTrail logs are delivered to.
6899	CloudWatchLogsLogGroupArn *string `type:"string"`
6900
6901	// The ARN of the role that the CloudWatch Logs endpoint assumes when it writes
6902	// to the log group.
6903	CloudWatchLogsRoleArn *string `type:"string"`
6904
6905	// Indicates whether the trail has custom event selectors.
6906	HasCustomEventSelectors *bool `type:"boolean"`
6907
6908	// The Region where the trail was created.
6909	HomeRegion *string `type:"string"`
6910
6911	// Indicates whether the trail publishes events from global services such as
6912	// IAM to the log files.
6913	IncludeGlobalServiceEvents *bool `type:"boolean"`
6914
6915	// Indicates whether the trail applies only to the current Region or to all
6916	// Regions.
6917	IsMultiRegionTrail *bool `type:"boolean"`
6918
6919	// Whether the trail is created for all accounts in an organization in AWS Organizations,
6920	// or only for the current AWS account.
6921	IsOrganizationTrail *bool `type:"boolean"`
6922
6923	// The AWS KMS key ID to use to encrypt the logs.
6924	KmsKeyId *string `type:"string"`
6925
6926	// Indicates whether CloudTrail log file validation is enabled.
6927	LogFileValidationEnabled *bool `type:"boolean"`
6928
6929	// The name of the trail.
6930	Name *string `type:"string"`
6931
6932	// The name of the S3 bucket where the log files are published.
6933	S3BucketName *string `type:"string"`
6934
6935	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
6936	// where the log files are published.
6937	S3KeyPrefix *string `type:"string"`
6938
6939	// The ARN of the SNS topic that is used for notifications of log file delivery.
6940	SnsTopicArn *string `type:"string"`
6941
6942	// The name of the SNS topic that is used for notifications of log file delivery.
6943	SnsTopicName *string `type:"string"`
6944
6945	// The ARN of the trail.
6946	TrailArn *string `type:"string"`
6947}
6948
6949// String returns the string representation
6950func (s AwsCloudTrailTrailDetails) String() string {
6951	return awsutil.Prettify(s)
6952}
6953
6954// GoString returns the string representation
6955func (s AwsCloudTrailTrailDetails) GoString() string {
6956	return s.String()
6957}
6958
6959// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
6960func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
6961	s.CloudWatchLogsLogGroupArn = &v
6962	return s
6963}
6964
6965// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
6966func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
6967	s.CloudWatchLogsRoleArn = &v
6968	return s
6969}
6970
6971// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
6972func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
6973	s.HasCustomEventSelectors = &v
6974	return s
6975}
6976
6977// SetHomeRegion sets the HomeRegion field's value.
6978func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
6979	s.HomeRegion = &v
6980	return s
6981}
6982
6983// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
6984func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
6985	s.IncludeGlobalServiceEvents = &v
6986	return s
6987}
6988
6989// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
6990func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
6991	s.IsMultiRegionTrail = &v
6992	return s
6993}
6994
6995// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
6996func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
6997	s.IsOrganizationTrail = &v
6998	return s
6999}
7000
7001// SetKmsKeyId sets the KmsKeyId field's value.
7002func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
7003	s.KmsKeyId = &v
7004	return s
7005}
7006
7007// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
7008func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
7009	s.LogFileValidationEnabled = &v
7010	return s
7011}
7012
7013// SetName sets the Name field's value.
7014func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
7015	s.Name = &v
7016	return s
7017}
7018
7019// SetS3BucketName sets the S3BucketName field's value.
7020func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
7021	s.S3BucketName = &v
7022	return s
7023}
7024
7025// SetS3KeyPrefix sets the S3KeyPrefix field's value.
7026func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
7027	s.S3KeyPrefix = &v
7028	return s
7029}
7030
7031// SetSnsTopicArn sets the SnsTopicArn field's value.
7032func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
7033	s.SnsTopicArn = &v
7034	return s
7035}
7036
7037// SetSnsTopicName sets the SnsTopicName field's value.
7038func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
7039	s.SnsTopicName = &v
7040	return s
7041}
7042
7043// SetTrailArn sets the TrailArn field's value.
7044func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
7045	s.TrailArn = &v
7046	return s
7047}
7048
7049// Information about an AWS CodeBuild project.
7050type AwsCodeBuildProjectDetails struct {
7051	_ struct{} `type:"structure"`
7052
7053	// The AWS Key Management Service (AWS KMS) customer master key (CMK) used to
7054	// encrypt the build output artifacts.
7055	//
7056	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
7057	// the CMK alias (using the format alias/alias-name).
7058	EncryptionKey *string `type:"string"`
7059
7060	// Information about the build environment for this build project.
7061	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
7062
7063	// The name of the build project.
7064	Name *string `type:"string"`
7065
7066	// The ARN of the IAM role that enables AWS CodeBuild to interact with dependent
7067	// AWS services on behalf of the AWS account.
7068	ServiceRole *string `type:"string"`
7069
7070	// Information about the build input source code for this build project.
7071	Source *AwsCodeBuildProjectSource `type:"structure"`
7072
7073	// Information about the VPC configuration that AWS CodeBuild accesses.
7074	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
7075}
7076
7077// String returns the string representation
7078func (s AwsCodeBuildProjectDetails) String() string {
7079	return awsutil.Prettify(s)
7080}
7081
7082// GoString returns the string representation
7083func (s AwsCodeBuildProjectDetails) GoString() string {
7084	return s.String()
7085}
7086
7087// SetEncryptionKey sets the EncryptionKey field's value.
7088func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
7089	s.EncryptionKey = &v
7090	return s
7091}
7092
7093// SetEnvironment sets the Environment field's value.
7094func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
7095	s.Environment = v
7096	return s
7097}
7098
7099// SetName sets the Name field's value.
7100func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
7101	s.Name = &v
7102	return s
7103}
7104
7105// SetServiceRole sets the ServiceRole field's value.
7106func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
7107	s.ServiceRole = &v
7108	return s
7109}
7110
7111// SetSource sets the Source field's value.
7112func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
7113	s.Source = v
7114	return s
7115}
7116
7117// SetVpcConfig sets the VpcConfig field's value.
7118func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
7119	s.VpcConfig = v
7120	return s
7121}
7122
7123// Information about the build environment for this build project.
7124type AwsCodeBuildProjectEnvironment struct {
7125	_ struct{} `type:"structure"`
7126
7127	// The certificate to use with this build project.
7128	Certificate *string `type:"string"`
7129
7130	// The type of credentials AWS CodeBuild uses to pull images in your build.
7131	//
7132	// Valid values:
7133	//
7134	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
7135	//    requires that you modify your ECR repository policy to trust the AWS CodeBuild
7136	//    service principal.
7137	//
7138	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
7139	//    service role.
7140	//
7141	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
7142	// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD
7143	// credentials.
7144	ImagePullCredentialsType *string `type:"string"`
7145
7146	// The credentials for access to a private registry.
7147	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
7148
7149	// The type of build environment to use for related builds.
7150	//
7151	// The environment type ARM_CONTAINER is available only in Regions US East (N.
7152	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
7153	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
7154	//
7155	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
7156	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
7157	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
7158	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
7159	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
7160	//
7161	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
7162	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
7163	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
7164	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
7165	// (Beijing), and China (Ningxia).
7166	//
7167	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
7168	// ARM_CONTAINER
7169	Type *string `type:"string"`
7170}
7171
7172// String returns the string representation
7173func (s AwsCodeBuildProjectEnvironment) String() string {
7174	return awsutil.Prettify(s)
7175}
7176
7177// GoString returns the string representation
7178func (s AwsCodeBuildProjectEnvironment) GoString() string {
7179	return s.String()
7180}
7181
7182// SetCertificate sets the Certificate field's value.
7183func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
7184	s.Certificate = &v
7185	return s
7186}
7187
7188// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
7189func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
7190	s.ImagePullCredentialsType = &v
7191	return s
7192}
7193
7194// SetRegistryCredential sets the RegistryCredential field's value.
7195func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
7196	s.RegistryCredential = v
7197	return s
7198}
7199
7200// SetType sets the Type field's value.
7201func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
7202	s.Type = &v
7203	return s
7204}
7205
7206// The credentials for access to a private registry.
7207type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
7208	_ struct{} `type:"structure"`
7209
7210	// The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets
7211	// Manager.
7212	//
7213	// The credential can use the name of the credentials only if they exist in
7214	// your current AWS Region.
7215	Credential *string `type:"string"`
7216
7217	// The service that created the credentials to access a private Docker registry.
7218	//
7219	// The valid value,SECRETS_MANAGER, is for AWS Secrets Manager.
7220	CredentialProvider *string `type:"string"`
7221}
7222
7223// String returns the string representation
7224func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
7225	return awsutil.Prettify(s)
7226}
7227
7228// GoString returns the string representation
7229func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
7230	return s.String()
7231}
7232
7233// SetCredential sets the Credential field's value.
7234func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
7235	s.Credential = &v
7236	return s
7237}
7238
7239// SetCredentialProvider sets the CredentialProvider field's value.
7240func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
7241	s.CredentialProvider = &v
7242	return s
7243}
7244
7245// Information about the build input source code for this build project.
7246type AwsCodeBuildProjectSource struct {
7247	_ struct{} `type:"structure"`
7248
7249	// Information about the Git clone depth for the build project.
7250	GitCloneDepth *int64 `type:"integer"`
7251
7252	// Whether to ignore SSL warnings while connecting to the project source code.
7253	InsecureSsl *bool `type:"boolean"`
7254
7255	// Information about the location of the source code to be built.
7256	//
7257	// Valid values include:
7258	//
7259	//    * For source code settings that are specified in the source action of
7260	//    a pipeline in AWS CodePipeline, location should not be specified. If it
7261	//    is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline
7262	//    uses the settings in a pipeline's source action instead of this value.
7263	//
7264	//    * For source code in an AWS CodeCommit repository, the HTTPS clone URL
7265	//    to the repository that contains the source code and the build spec file
7266	//    (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
7267	//    ).
7268	//
7269	//    * For source code in an S3 input bucket, one of the following. The path
7270	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
7271	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
7272	//
7273	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
7274	//    that contains the source and the build spec file.
7275	//
7276	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
7277	//    repository that contains the source and the build spec file.
7278	Location *string `type:"string"`
7279
7280	// The type of repository that contains the source code to be built. Valid values
7281	// are:
7282	//
7283	//    * BITBUCKET - The source code is in a Bitbucket repository.
7284	//
7285	//    * CODECOMMIT - The source code is in an AWS CodeCommit repository.
7286	//
7287	//    * CODEPIPELINE - The source code settings are specified in the source
7288	//    action of a pipeline in AWS CodePipeline.
7289	//
7290	//    * GITHUB - The source code is in a GitHub repository.
7291	//
7292	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
7293	//
7294	//    * NO_SOURCE - The project does not have input source code.
7295	//
7296	//    * S3 - The source code is in an S3 input bucket.
7297	Type *string `type:"string"`
7298}
7299
7300// String returns the string representation
7301func (s AwsCodeBuildProjectSource) String() string {
7302	return awsutil.Prettify(s)
7303}
7304
7305// GoString returns the string representation
7306func (s AwsCodeBuildProjectSource) GoString() string {
7307	return s.String()
7308}
7309
7310// SetGitCloneDepth sets the GitCloneDepth field's value.
7311func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
7312	s.GitCloneDepth = &v
7313	return s
7314}
7315
7316// SetInsecureSsl sets the InsecureSsl field's value.
7317func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
7318	s.InsecureSsl = &v
7319	return s
7320}
7321
7322// SetLocation sets the Location field's value.
7323func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
7324	s.Location = &v
7325	return s
7326}
7327
7328// SetType sets the Type field's value.
7329func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
7330	s.Type = &v
7331	return s
7332}
7333
7334// Information about the VPC configuration that AWS CodeBuild accesses.
7335type AwsCodeBuildProjectVpcConfig struct {
7336	_ struct{} `type:"structure"`
7337
7338	// A list of one or more security group IDs in your Amazon VPC.
7339	SecurityGroupIds []*string `type:"list"`
7340
7341	// A list of one or more subnet IDs in your Amazon VPC.
7342	Subnets []*string `type:"list"`
7343
7344	// The ID of the VPC.
7345	VpcId *string `type:"string"`
7346}
7347
7348// String returns the string representation
7349func (s AwsCodeBuildProjectVpcConfig) String() string {
7350	return awsutil.Prettify(s)
7351}
7352
7353// GoString returns the string representation
7354func (s AwsCodeBuildProjectVpcConfig) GoString() string {
7355	return s.String()
7356}
7357
7358// SetSecurityGroupIds sets the SecurityGroupIds field's value.
7359func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
7360	s.SecurityGroupIds = v
7361	return s
7362}
7363
7364// SetSubnets sets the Subnets field's value.
7365func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
7366	s.Subnets = v
7367	return s
7368}
7369
7370// SetVpcId sets the VpcId field's value.
7371func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
7372	s.VpcId = &v
7373	return s
7374}
7375
7376// Contains the cross-origin resource sharing (CORS) configuration for the API.
7377// CORS is only supported for HTTP APIs.
7378type AwsCorsConfiguration struct {
7379	_ struct{} `type:"structure"`
7380
7381	// Indicates whether the CORS request includes credentials.
7382	AllowCredentials *bool `type:"boolean"`
7383
7384	// The allowed headers for CORS requests.
7385	AllowHeaders []*string `type:"list"`
7386
7387	// The allowed methods for CORS requests.
7388	AllowMethods []*string `type:"list"`
7389
7390	// The allowed origins for CORS requests.
7391	AllowOrigins []*string `type:"list"`
7392
7393	// The exposed headers for CORS requests.
7394	ExposeHeaders []*string `type:"list"`
7395
7396	// The number of seconds for which the browser caches preflight request results.
7397	MaxAge *int64 `type:"integer"`
7398}
7399
7400// String returns the string representation
7401func (s AwsCorsConfiguration) String() string {
7402	return awsutil.Prettify(s)
7403}
7404
7405// GoString returns the string representation
7406func (s AwsCorsConfiguration) GoString() string {
7407	return s.String()
7408}
7409
7410// SetAllowCredentials sets the AllowCredentials field's value.
7411func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
7412	s.AllowCredentials = &v
7413	return s
7414}
7415
7416// SetAllowHeaders sets the AllowHeaders field's value.
7417func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
7418	s.AllowHeaders = v
7419	return s
7420}
7421
7422// SetAllowMethods sets the AllowMethods field's value.
7423func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
7424	s.AllowMethods = v
7425	return s
7426}
7427
7428// SetAllowOrigins sets the AllowOrigins field's value.
7429func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
7430	s.AllowOrigins = v
7431	return s
7432}
7433
7434// SetExposeHeaders sets the ExposeHeaders field's value.
7435func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
7436	s.ExposeHeaders = v
7437	return s
7438}
7439
7440// SetMaxAge sets the MaxAge field's value.
7441func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
7442	s.MaxAge = &v
7443	return s
7444}
7445
7446// Contains a definition of an attribute for the table.
7447type AwsDynamoDbTableAttributeDefinition struct {
7448	_ struct{} `type:"structure"`
7449
7450	// The name of the attribute.
7451	AttributeName *string `type:"string"`
7452
7453	// The type of the attribute.
7454	AttributeType *string `type:"string"`
7455}
7456
7457// String returns the string representation
7458func (s AwsDynamoDbTableAttributeDefinition) String() string {
7459	return awsutil.Prettify(s)
7460}
7461
7462// GoString returns the string representation
7463func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
7464	return s.String()
7465}
7466
7467// SetAttributeName sets the AttributeName field's value.
7468func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
7469	s.AttributeName = &v
7470	return s
7471}
7472
7473// SetAttributeType sets the AttributeType field's value.
7474func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
7475	s.AttributeType = &v
7476	return s
7477}
7478
7479// Provides information about the billing for read/write capacity on the table.
7480type AwsDynamoDbTableBillingModeSummary struct {
7481	_ struct{} `type:"structure"`
7482
7483	// The method used to charge for read and write throughput and to manage capacity.
7484	BillingMode *string `type:"string"`
7485
7486	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
7487	// set to that value.
7488	//
7489	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7490	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7491	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7492	LastUpdateToPayPerRequestDateTime *string `type:"string"`
7493}
7494
7495// String returns the string representation
7496func (s AwsDynamoDbTableBillingModeSummary) String() string {
7497	return awsutil.Prettify(s)
7498}
7499
7500// GoString returns the string representation
7501func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
7502	return s.String()
7503}
7504
7505// SetBillingMode sets the BillingMode field's value.
7506func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
7507	s.BillingMode = &v
7508	return s
7509}
7510
7511// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
7512func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
7513	s.LastUpdateToPayPerRequestDateTime = &v
7514	return s
7515}
7516
7517// Provides details about a DynamoDB table.
7518type AwsDynamoDbTableDetails struct {
7519	_ struct{} `type:"structure"`
7520
7521	// A list of attribute definitions for the table.
7522	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
7523
7524	// Information about the billing for read/write capacity on the table.
7525	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
7526
7527	// Indicates when the table was created.
7528	//
7529	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7530	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7531	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7532	CreationDateTime *string `type:"string"`
7533
7534	// List of global secondary indexes for the table.
7535	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
7536
7537	// The version of global tables being used.
7538	GlobalTableVersion *string `type:"string"`
7539
7540	// The number of items in the table.
7541	ItemCount *int64 `type:"integer"`
7542
7543	// The primary key structure for the table.
7544	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
7545
7546	// The ARN of the latest stream for the table.
7547	LatestStreamArn *string `type:"string"`
7548
7549	// The label of the latest stream. The label is not a unique identifier.
7550	LatestStreamLabel *string `type:"string"`
7551
7552	// The list of local secondary indexes for the table.
7553	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
7554
7555	// Information about the provisioned throughput for the table.
7556	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
7557
7558	// The list of replicas of this table.
7559	Replicas []*AwsDynamoDbTableReplica `type:"list"`
7560
7561	// Information about the restore for the table.
7562	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
7563
7564	// Information about the server-side encryption for the table.
7565	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
7566
7567	// The current DynamoDB Streams configuration for the table.
7568	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
7569
7570	// The identifier of the table.
7571	TableId *string `type:"string"`
7572
7573	// The name of the table.
7574	TableName *string `type:"string"`
7575
7576	// The total size of the table in bytes.
7577	TableSizeBytes *int64 `type:"long"`
7578
7579	// The current status of the table.
7580	TableStatus *string `type:"string"`
7581}
7582
7583// String returns the string representation
7584func (s AwsDynamoDbTableDetails) String() string {
7585	return awsutil.Prettify(s)
7586}
7587
7588// GoString returns the string representation
7589func (s AwsDynamoDbTableDetails) GoString() string {
7590	return s.String()
7591}
7592
7593// SetAttributeDefinitions sets the AttributeDefinitions field's value.
7594func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
7595	s.AttributeDefinitions = v
7596	return s
7597}
7598
7599// SetBillingModeSummary sets the BillingModeSummary field's value.
7600func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
7601	s.BillingModeSummary = v
7602	return s
7603}
7604
7605// SetCreationDateTime sets the CreationDateTime field's value.
7606func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
7607	s.CreationDateTime = &v
7608	return s
7609}
7610
7611// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
7612func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
7613	s.GlobalSecondaryIndexes = v
7614	return s
7615}
7616
7617// SetGlobalTableVersion sets the GlobalTableVersion field's value.
7618func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
7619	s.GlobalTableVersion = &v
7620	return s
7621}
7622
7623// SetItemCount sets the ItemCount field's value.
7624func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
7625	s.ItemCount = &v
7626	return s
7627}
7628
7629// SetKeySchema sets the KeySchema field's value.
7630func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
7631	s.KeySchema = v
7632	return s
7633}
7634
7635// SetLatestStreamArn sets the LatestStreamArn field's value.
7636func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
7637	s.LatestStreamArn = &v
7638	return s
7639}
7640
7641// SetLatestStreamLabel sets the LatestStreamLabel field's value.
7642func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
7643	s.LatestStreamLabel = &v
7644	return s
7645}
7646
7647// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
7648func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
7649	s.LocalSecondaryIndexes = v
7650	return s
7651}
7652
7653// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
7654func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
7655	s.ProvisionedThroughput = v
7656	return s
7657}
7658
7659// SetReplicas sets the Replicas field's value.
7660func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
7661	s.Replicas = v
7662	return s
7663}
7664
7665// SetRestoreSummary sets the RestoreSummary field's value.
7666func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
7667	s.RestoreSummary = v
7668	return s
7669}
7670
7671// SetSseDescription sets the SseDescription field's value.
7672func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
7673	s.SseDescription = v
7674	return s
7675}
7676
7677// SetStreamSpecification sets the StreamSpecification field's value.
7678func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
7679	s.StreamSpecification = v
7680	return s
7681}
7682
7683// SetTableId sets the TableId field's value.
7684func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
7685	s.TableId = &v
7686	return s
7687}
7688
7689// SetTableName sets the TableName field's value.
7690func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
7691	s.TableName = &v
7692	return s
7693}
7694
7695// SetTableSizeBytes sets the TableSizeBytes field's value.
7696func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
7697	s.TableSizeBytes = &v
7698	return s
7699}
7700
7701// SetTableStatus sets the TableStatus field's value.
7702func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
7703	s.TableStatus = &v
7704	return s
7705}
7706
7707// Information abut a global secondary index for the table.
7708type AwsDynamoDbTableGlobalSecondaryIndex struct {
7709	_ struct{} `type:"structure"`
7710
7711	// Whether the index is currently backfilling.
7712	Backfilling *bool `type:"boolean"`
7713
7714	// The ARN of the index.
7715	IndexArn *string `type:"string"`
7716
7717	// The name of the index.
7718	IndexName *string `type:"string"`
7719
7720	// The total size in bytes of the index.
7721	IndexSizeBytes *int64 `type:"long"`
7722
7723	// The current status of the index.
7724	IndexStatus *string `type:"string"`
7725
7726	// The number of items in the index.
7727	ItemCount *int64 `type:"integer"`
7728
7729	// The key schema for the index.
7730	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
7731
7732	// Attributes that are copied from the table into an index.
7733	Projection *AwsDynamoDbTableProjection `type:"structure"`
7734
7735	// Information about the provisioned throughput settings for the indexes.
7736	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
7737}
7738
7739// String returns the string representation
7740func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
7741	return awsutil.Prettify(s)
7742}
7743
7744// GoString returns the string representation
7745func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
7746	return s.String()
7747}
7748
7749// SetBackfilling sets the Backfilling field's value.
7750func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
7751	s.Backfilling = &v
7752	return s
7753}
7754
7755// SetIndexArn sets the IndexArn field's value.
7756func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
7757	s.IndexArn = &v
7758	return s
7759}
7760
7761// SetIndexName sets the IndexName field's value.
7762func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
7763	s.IndexName = &v
7764	return s
7765}
7766
7767// SetIndexSizeBytes sets the IndexSizeBytes field's value.
7768func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
7769	s.IndexSizeBytes = &v
7770	return s
7771}
7772
7773// SetIndexStatus sets the IndexStatus field's value.
7774func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
7775	s.IndexStatus = &v
7776	return s
7777}
7778
7779// SetItemCount sets the ItemCount field's value.
7780func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
7781	s.ItemCount = &v
7782	return s
7783}
7784
7785// SetKeySchema sets the KeySchema field's value.
7786func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
7787	s.KeySchema = v
7788	return s
7789}
7790
7791// SetProjection sets the Projection field's value.
7792func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
7793	s.Projection = v
7794	return s
7795}
7796
7797// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
7798func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
7799	s.ProvisionedThroughput = v
7800	return s
7801}
7802
7803// A component of the key schema for the DynamoDB table, a global secondary
7804// index, or a local secondary index.
7805type AwsDynamoDbTableKeySchema struct {
7806	_ struct{} `type:"structure"`
7807
7808	// The name of the key schema attribute.
7809	AttributeName *string `type:"string"`
7810
7811	// The type of key used for the key schema attribute.
7812	KeyType *string `type:"string"`
7813}
7814
7815// String returns the string representation
7816func (s AwsDynamoDbTableKeySchema) String() string {
7817	return awsutil.Prettify(s)
7818}
7819
7820// GoString returns the string representation
7821func (s AwsDynamoDbTableKeySchema) GoString() string {
7822	return s.String()
7823}
7824
7825// SetAttributeName sets the AttributeName field's value.
7826func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
7827	s.AttributeName = &v
7828	return s
7829}
7830
7831// SetKeyType sets the KeyType field's value.
7832func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
7833	s.KeyType = &v
7834	return s
7835}
7836
7837// Information about a local secondary index for a DynamoDB table.
7838type AwsDynamoDbTableLocalSecondaryIndex struct {
7839	_ struct{} `type:"structure"`
7840
7841	// The ARN of the index.
7842	IndexArn *string `type:"string"`
7843
7844	// The name of the index.
7845	IndexName *string `type:"string"`
7846
7847	// The complete key schema for the index.
7848	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
7849
7850	// Attributes that are copied from the table into the index. These are in addition
7851	// to the primary key attributes and index key attributes, which are automatically
7852	// projected.
7853	Projection *AwsDynamoDbTableProjection `type:"structure"`
7854}
7855
7856// String returns the string representation
7857func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
7858	return awsutil.Prettify(s)
7859}
7860
7861// GoString returns the string representation
7862func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
7863	return s.String()
7864}
7865
7866// SetIndexArn sets the IndexArn field's value.
7867func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
7868	s.IndexArn = &v
7869	return s
7870}
7871
7872// SetIndexName sets the IndexName field's value.
7873func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
7874	s.IndexName = &v
7875	return s
7876}
7877
7878// SetKeySchema sets the KeySchema field's value.
7879func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
7880	s.KeySchema = v
7881	return s
7882}
7883
7884// SetProjection sets the Projection field's value.
7885func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
7886	s.Projection = v
7887	return s
7888}
7889
7890// For global and local secondary indexes, identifies the attributes that are
7891// copied from the table into the index.
7892type AwsDynamoDbTableProjection struct {
7893	_ struct{} `type:"structure"`
7894
7895	// The nonkey attributes that are projected into the index. For each attribute,
7896	// provide the attribute name.
7897	NonKeyAttributes []*string `type:"list"`
7898
7899	// The types of attributes that are projected into the index.
7900	ProjectionType *string `type:"string"`
7901}
7902
7903// String returns the string representation
7904func (s AwsDynamoDbTableProjection) String() string {
7905	return awsutil.Prettify(s)
7906}
7907
7908// GoString returns the string representation
7909func (s AwsDynamoDbTableProjection) GoString() string {
7910	return s.String()
7911}
7912
7913// SetNonKeyAttributes sets the NonKeyAttributes field's value.
7914func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
7915	s.NonKeyAttributes = v
7916	return s
7917}
7918
7919// SetProjectionType sets the ProjectionType field's value.
7920func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
7921	s.ProjectionType = &v
7922	return s
7923}
7924
7925// Information about the provisioned throughput for the table or for a global
7926// secondary index.
7927type AwsDynamoDbTableProvisionedThroughput struct {
7928	_ struct{} `type:"structure"`
7929
7930	// Indicates when the provisioned throughput was last decreased.
7931	//
7932	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7933	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7934	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7935	LastDecreaseDateTime *string `type:"string"`
7936
7937	// Indicates when the provisioned throughput was last increased.
7938	//
7939	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7940	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7941	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7942	LastIncreaseDateTime *string `type:"string"`
7943
7944	// The number of times during the current UTC calendar day that the provisioned
7945	// throughput was decreased.
7946	NumberOfDecreasesToday *int64 `type:"integer"`
7947
7948	// The maximum number of strongly consistent reads consumed per second before
7949	// DynamoDB returns a ThrottlingException.
7950	ReadCapacityUnits *int64 `type:"integer"`
7951
7952	// The maximum number of writes consumed per second before DynamoDB returns
7953	// a ThrottlingException.
7954	WriteCapacityUnits *int64 `type:"integer"`
7955}
7956
7957// String returns the string representation
7958func (s AwsDynamoDbTableProvisionedThroughput) String() string {
7959	return awsutil.Prettify(s)
7960}
7961
7962// GoString returns the string representation
7963func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
7964	return s.String()
7965}
7966
7967// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
7968func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
7969	s.LastDecreaseDateTime = &v
7970	return s
7971}
7972
7973// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
7974func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
7975	s.LastIncreaseDateTime = &v
7976	return s
7977}
7978
7979// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
7980func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
7981	s.NumberOfDecreasesToday = &v
7982	return s
7983}
7984
7985// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
7986func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
7987	s.ReadCapacityUnits = &v
7988	return s
7989}
7990
7991// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
7992func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
7993	s.WriteCapacityUnits = &v
7994	return s
7995}
7996
7997// Replica-specific configuration for the provisioned throughput.
7998type AwsDynamoDbTableProvisionedThroughputOverride struct {
7999	_ struct{} `type:"structure"`
8000
8001	// The read capacity units for the replica.
8002	ReadCapacityUnits *int64 `type:"integer"`
8003}
8004
8005// String returns the string representation
8006func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
8007	return awsutil.Prettify(s)
8008}
8009
8010// GoString returns the string representation
8011func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
8012	return s.String()
8013}
8014
8015// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
8016func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
8017	s.ReadCapacityUnits = &v
8018	return s
8019}
8020
8021// Information about a replica of a DynamoDB table.
8022type AwsDynamoDbTableReplica struct {
8023	_ struct{} `type:"structure"`
8024
8025	// List of global secondary indexes for the replica.
8026	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
8027
8028	// The identifier of the AWS KMS customer master key (CMK) that will be used
8029	// for AWS KMS encryption for the replica.
8030	KmsMasterKeyId *string `type:"string"`
8031
8032	// Replica-specific configuration for the provisioned throughput.
8033	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
8034
8035	// The name of the Region where the replica is located.
8036	RegionName *string `type:"string"`
8037
8038	// The current status of the replica.
8039	ReplicaStatus *string `type:"string"`
8040
8041	// Detailed information about the replica status.
8042	ReplicaStatusDescription *string `type:"string"`
8043}
8044
8045// String returns the string representation
8046func (s AwsDynamoDbTableReplica) String() string {
8047	return awsutil.Prettify(s)
8048}
8049
8050// GoString returns the string representation
8051func (s AwsDynamoDbTableReplica) GoString() string {
8052	return s.String()
8053}
8054
8055// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
8056func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
8057	s.GlobalSecondaryIndexes = v
8058	return s
8059}
8060
8061// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
8062func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
8063	s.KmsMasterKeyId = &v
8064	return s
8065}
8066
8067// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
8068func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
8069	s.ProvisionedThroughputOverride = v
8070	return s
8071}
8072
8073// SetRegionName sets the RegionName field's value.
8074func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
8075	s.RegionName = &v
8076	return s
8077}
8078
8079// SetReplicaStatus sets the ReplicaStatus field's value.
8080func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
8081	s.ReplicaStatus = &v
8082	return s
8083}
8084
8085// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
8086func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
8087	s.ReplicaStatusDescription = &v
8088	return s
8089}
8090
8091// Information about a global secondary index for a DynamoDB table replica.
8092type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
8093	_ struct{} `type:"structure"`
8094
8095	// The name of the index.
8096	IndexName *string `type:"string"`
8097
8098	// Replica-specific configuration for the provisioned throughput for the index.
8099	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
8100}
8101
8102// String returns the string representation
8103func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
8104	return awsutil.Prettify(s)
8105}
8106
8107// GoString returns the string representation
8108func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
8109	return s.String()
8110}
8111
8112// SetIndexName sets the IndexName field's value.
8113func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
8114	s.IndexName = &v
8115	return s
8116}
8117
8118// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
8119func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
8120	s.ProvisionedThroughputOverride = v
8121	return s
8122}
8123
8124// Information about the restore for the table.
8125type AwsDynamoDbTableRestoreSummary struct {
8126	_ struct{} `type:"structure"`
8127
8128	// Indicates the point in time that the table was restored to.
8129	//
8130	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8131	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8132	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8133	RestoreDateTime *string `type:"string"`
8134
8135	// Whether a restore is currently in progress.
8136	RestoreInProgress *bool `type:"boolean"`
8137
8138	// The ARN of the source backup from which the table was restored.
8139	SourceBackupArn *string `type:"string"`
8140
8141	// The ARN of the source table for the backup.
8142	SourceTableArn *string `type:"string"`
8143}
8144
8145// String returns the string representation
8146func (s AwsDynamoDbTableRestoreSummary) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation
8151func (s AwsDynamoDbTableRestoreSummary) GoString() string {
8152	return s.String()
8153}
8154
8155// SetRestoreDateTime sets the RestoreDateTime field's value.
8156func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
8157	s.RestoreDateTime = &v
8158	return s
8159}
8160
8161// SetRestoreInProgress sets the RestoreInProgress field's value.
8162func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
8163	s.RestoreInProgress = &v
8164	return s
8165}
8166
8167// SetSourceBackupArn sets the SourceBackupArn field's value.
8168func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
8169	s.SourceBackupArn = &v
8170	return s
8171}
8172
8173// SetSourceTableArn sets the SourceTableArn field's value.
8174func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
8175	s.SourceTableArn = &v
8176	return s
8177}
8178
8179// Information about the server-side encryption for the table.
8180type AwsDynamoDbTableSseDescription struct {
8181	_ struct{} `type:"structure"`
8182
8183	// If the key is inaccessible, the date and time when DynamoDB detected that
8184	// the key was inaccessible.
8185	//
8186	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8187	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8188	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8189	InaccessibleEncryptionDateTime *string `type:"string"`
8190
8191	// The ARN of the AWS KMS customer master key (CMK) that is used for the AWS
8192	// KMS encryption.
8193	KmsMasterKeyArn *string `type:"string"`
8194
8195	// The type of server-side encryption.
8196	SseType *string `type:"string"`
8197
8198	// The status of the server-side encryption.
8199	Status *string `type:"string"`
8200}
8201
8202// String returns the string representation
8203func (s AwsDynamoDbTableSseDescription) String() string {
8204	return awsutil.Prettify(s)
8205}
8206
8207// GoString returns the string representation
8208func (s AwsDynamoDbTableSseDescription) GoString() string {
8209	return s.String()
8210}
8211
8212// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
8213func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
8214	s.InaccessibleEncryptionDateTime = &v
8215	return s
8216}
8217
8218// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
8219func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
8220	s.KmsMasterKeyArn = &v
8221	return s
8222}
8223
8224// SetSseType sets the SseType field's value.
8225func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
8226	s.SseType = &v
8227	return s
8228}
8229
8230// SetStatus sets the Status field's value.
8231func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
8232	s.Status = &v
8233	return s
8234}
8235
8236// The current DynamoDB Streams configuration for the table.
8237type AwsDynamoDbTableStreamSpecification struct {
8238	_ struct{} `type:"structure"`
8239
8240	// Indicates whether DynamoDB Streams is enabled on the table.
8241	StreamEnabled *bool `type:"boolean"`
8242
8243	// Determines the information that is written to the table.
8244	StreamViewType *string `type:"string"`
8245}
8246
8247// String returns the string representation
8248func (s AwsDynamoDbTableStreamSpecification) String() string {
8249	return awsutil.Prettify(s)
8250}
8251
8252// GoString returns the string representation
8253func (s AwsDynamoDbTableStreamSpecification) GoString() string {
8254	return s.String()
8255}
8256
8257// SetStreamEnabled sets the StreamEnabled field's value.
8258func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
8259	s.StreamEnabled = &v
8260	return s
8261}
8262
8263// SetStreamViewType sets the StreamViewType field's value.
8264func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
8265	s.StreamViewType = &v
8266	return s
8267}
8268
8269// Information about an Elastic IP address.
8270type AwsEc2EipDetails struct {
8271	_ struct{} `type:"structure"`
8272
8273	// The identifier that AWS assigns to represent the allocation of the Elastic
8274	// IP address for use with Amazon VPC.
8275	AllocationId *string `type:"string"`
8276
8277	// The identifier that represents the association of the Elastic IP address
8278	// with an EC2 instance.
8279	AssociationId *string `type:"string"`
8280
8281	// The domain in which to allocate the address.
8282	//
8283	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
8284	// Otherwise, Domain is standard.
8285	Domain *string `type:"string"`
8286
8287	// The identifier of the EC2 instance.
8288	InstanceId *string `type:"string"`
8289
8290	// The name of the location from which the Elastic IP address is advertised.
8291	NetworkBorderGroup *string `type:"string"`
8292
8293	// The identifier of the network interface.
8294	NetworkInterfaceId *string `type:"string"`
8295
8296	// The AWS account ID of the owner of the network interface.
8297	NetworkInterfaceOwnerId *string `type:"string"`
8298
8299	// The private IP address that is associated with the Elastic IP address.
8300	PrivateIpAddress *string `type:"string"`
8301
8302	// A public IP address that is associated with the EC2 instance.
8303	PublicIp *string `type:"string"`
8304
8305	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
8306	// select an IP address from the address pool.
8307	PublicIpv4Pool *string `type:"string"`
8308}
8309
8310// String returns the string representation
8311func (s AwsEc2EipDetails) String() string {
8312	return awsutil.Prettify(s)
8313}
8314
8315// GoString returns the string representation
8316func (s AwsEc2EipDetails) GoString() string {
8317	return s.String()
8318}
8319
8320// SetAllocationId sets the AllocationId field's value.
8321func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
8322	s.AllocationId = &v
8323	return s
8324}
8325
8326// SetAssociationId sets the AssociationId field's value.
8327func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
8328	s.AssociationId = &v
8329	return s
8330}
8331
8332// SetDomain sets the Domain field's value.
8333func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
8334	s.Domain = &v
8335	return s
8336}
8337
8338// SetInstanceId sets the InstanceId field's value.
8339func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
8340	s.InstanceId = &v
8341	return s
8342}
8343
8344// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
8345func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
8346	s.NetworkBorderGroup = &v
8347	return s
8348}
8349
8350// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8351func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
8352	s.NetworkInterfaceId = &v
8353	return s
8354}
8355
8356// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
8357func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
8358	s.NetworkInterfaceOwnerId = &v
8359	return s
8360}
8361
8362// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8363func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
8364	s.PrivateIpAddress = &v
8365	return s
8366}
8367
8368// SetPublicIp sets the PublicIp field's value.
8369func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
8370	s.PublicIp = &v
8371	return s
8372}
8373
8374// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
8375func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
8376	s.PublicIpv4Pool = &v
8377	return s
8378}
8379
8380// The details of an Amazon EC2 instance.
8381type AwsEc2InstanceDetails struct {
8382	_ struct{} `type:"structure"`
8383
8384	// The IAM profile ARN of the instance.
8385	IamInstanceProfileArn *string `type:"string"`
8386
8387	// The Amazon Machine Image (AMI) ID of the instance.
8388	ImageId *string `type:"string"`
8389
8390	// The IPv4 addresses associated with the instance.
8391	IpV4Addresses []*string `type:"list"`
8392
8393	// The IPv6 addresses associated with the instance.
8394	IpV6Addresses []*string `type:"list"`
8395
8396	// The key name associated with the instance.
8397	KeyName *string `type:"string"`
8398
8399	// Indicates when the instance was launched.
8400	//
8401	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8402	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8403	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8404	LaunchedAt *string `type:"string"`
8405
8406	// The identifier of the subnet that the instance was launched in.
8407	SubnetId *string `type:"string"`
8408
8409	// The instance type of the instance.
8410	Type *string `type:"string"`
8411
8412	// The identifier of the VPC that the instance was launched in.
8413	VpcId *string `type:"string"`
8414}
8415
8416// String returns the string representation
8417func (s AwsEc2InstanceDetails) String() string {
8418	return awsutil.Prettify(s)
8419}
8420
8421// GoString returns the string representation
8422func (s AwsEc2InstanceDetails) GoString() string {
8423	return s.String()
8424}
8425
8426// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
8427func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
8428	s.IamInstanceProfileArn = &v
8429	return s
8430}
8431
8432// SetImageId sets the ImageId field's value.
8433func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
8434	s.ImageId = &v
8435	return s
8436}
8437
8438// SetIpV4Addresses sets the IpV4Addresses field's value.
8439func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
8440	s.IpV4Addresses = v
8441	return s
8442}
8443
8444// SetIpV6Addresses sets the IpV6Addresses field's value.
8445func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
8446	s.IpV6Addresses = v
8447	return s
8448}
8449
8450// SetKeyName sets the KeyName field's value.
8451func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
8452	s.KeyName = &v
8453	return s
8454}
8455
8456// SetLaunchedAt sets the LaunchedAt field's value.
8457func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
8458	s.LaunchedAt = &v
8459	return s
8460}
8461
8462// SetSubnetId sets the SubnetId field's value.
8463func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
8464	s.SubnetId = &v
8465	return s
8466}
8467
8468// SetType sets the Type field's value.
8469func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
8470	s.Type = &v
8471	return s
8472}
8473
8474// SetVpcId sets the VpcId field's value.
8475func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
8476	s.VpcId = &v
8477	return s
8478}
8479
8480// Information about the network interface attachment.
8481type AwsEc2NetworkInterfaceAttachment struct {
8482	_ struct{} `type:"structure"`
8483
8484	// Indicates when the attachment initiated.
8485	//
8486	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8487	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8488	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8489	AttachTime *string `type:"string"`
8490
8491	// The identifier of the network interface attachment
8492	AttachmentId *string `type:"string"`
8493
8494	// Indicates whether the network interface is deleted when the instance is terminated.
8495	DeleteOnTermination *bool `type:"boolean"`
8496
8497	// The device index of the network interface attachment on the instance.
8498	DeviceIndex *int64 `type:"integer"`
8499
8500	// The ID of the instance.
8501	InstanceId *string `type:"string"`
8502
8503	// The AWS account ID of the owner of the instance.
8504	InstanceOwnerId *string `type:"string"`
8505
8506	// The attachment state.
8507	//
8508	// Valid values: attaching | attached | detaching | detached
8509	Status *string `type:"string"`
8510}
8511
8512// String returns the string representation
8513func (s AwsEc2NetworkInterfaceAttachment) String() string {
8514	return awsutil.Prettify(s)
8515}
8516
8517// GoString returns the string representation
8518func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
8519	return s.String()
8520}
8521
8522// SetAttachTime sets the AttachTime field's value.
8523func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
8524	s.AttachTime = &v
8525	return s
8526}
8527
8528// SetAttachmentId sets the AttachmentId field's value.
8529func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
8530	s.AttachmentId = &v
8531	return s
8532}
8533
8534// SetDeleteOnTermination sets the DeleteOnTermination field's value.
8535func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
8536	s.DeleteOnTermination = &v
8537	return s
8538}
8539
8540// SetDeviceIndex sets the DeviceIndex field's value.
8541func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
8542	s.DeviceIndex = &v
8543	return s
8544}
8545
8546// SetInstanceId sets the InstanceId field's value.
8547func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
8548	s.InstanceId = &v
8549	return s
8550}
8551
8552// SetInstanceOwnerId sets the InstanceOwnerId field's value.
8553func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
8554	s.InstanceOwnerId = &v
8555	return s
8556}
8557
8558// SetStatus sets the Status field's value.
8559func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
8560	s.Status = &v
8561	return s
8562}
8563
8564// Details about the network interface
8565type AwsEc2NetworkInterfaceDetails struct {
8566	_ struct{} `type:"structure"`
8567
8568	// The network interface attachment.
8569	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
8570
8571	// The ID of the network interface.
8572	NetworkInterfaceId *string `type:"string"`
8573
8574	// Security groups for the network interface.
8575	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
8576
8577	// Indicates whether traffic to or from the instance is validated.
8578	SourceDestCheck *bool `type:"boolean"`
8579}
8580
8581// String returns the string representation
8582func (s AwsEc2NetworkInterfaceDetails) String() string {
8583	return awsutil.Prettify(s)
8584}
8585
8586// GoString returns the string representation
8587func (s AwsEc2NetworkInterfaceDetails) GoString() string {
8588	return s.String()
8589}
8590
8591// SetAttachment sets the Attachment field's value.
8592func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
8593	s.Attachment = v
8594	return s
8595}
8596
8597// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8598func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
8599	s.NetworkInterfaceId = &v
8600	return s
8601}
8602
8603// SetSecurityGroups sets the SecurityGroups field's value.
8604func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
8605	s.SecurityGroups = v
8606	return s
8607}
8608
8609// SetSourceDestCheck sets the SourceDestCheck field's value.
8610func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
8611	s.SourceDestCheck = &v
8612	return s
8613}
8614
8615// A security group associated with the network interface.
8616type AwsEc2NetworkInterfaceSecurityGroup struct {
8617	_ struct{} `type:"structure"`
8618
8619	// The ID of the security group.
8620	GroupId *string `type:"string"`
8621
8622	// The name of the security group.
8623	GroupName *string `type:"string"`
8624}
8625
8626// String returns the string representation
8627func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
8628	return awsutil.Prettify(s)
8629}
8630
8631// GoString returns the string representation
8632func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
8633	return s.String()
8634}
8635
8636// SetGroupId sets the GroupId field's value.
8637func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
8638	s.GroupId = &v
8639	return s
8640}
8641
8642// SetGroupName sets the GroupName field's value.
8643func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
8644	s.GroupName = &v
8645	return s
8646}
8647
8648// Details about an EC2 security group.
8649type AwsEc2SecurityGroupDetails struct {
8650	_ struct{} `type:"structure"`
8651
8652	// The ID of the security group.
8653	GroupId *string `type:"string"`
8654
8655	// The name of the security group.
8656	GroupName *string `type:"string"`
8657
8658	// The inbound rules associated with the security group.
8659	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
8660
8661	// [VPC only] The outbound rules associated with the security group.
8662	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
8663
8664	// The AWS account ID of the owner of the security group.
8665	OwnerId *string `type:"string"`
8666
8667	// [VPC only] The ID of the VPC for the security group.
8668	VpcId *string `type:"string"`
8669}
8670
8671// String returns the string representation
8672func (s AwsEc2SecurityGroupDetails) String() string {
8673	return awsutil.Prettify(s)
8674}
8675
8676// GoString returns the string representation
8677func (s AwsEc2SecurityGroupDetails) GoString() string {
8678	return s.String()
8679}
8680
8681// SetGroupId sets the GroupId field's value.
8682func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
8683	s.GroupId = &v
8684	return s
8685}
8686
8687// SetGroupName sets the GroupName field's value.
8688func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
8689	s.GroupName = &v
8690	return s
8691}
8692
8693// SetIpPermissions sets the IpPermissions field's value.
8694func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
8695	s.IpPermissions = v
8696	return s
8697}
8698
8699// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
8700func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
8701	s.IpPermissionsEgress = v
8702	return s
8703}
8704
8705// SetOwnerId sets the OwnerId field's value.
8706func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
8707	s.OwnerId = &v
8708	return s
8709}
8710
8711// SetVpcId sets the VpcId field's value.
8712func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
8713	s.VpcId = &v
8714	return s
8715}
8716
8717// An IP permission for an EC2 security group.
8718type AwsEc2SecurityGroupIpPermission struct {
8719	_ struct{} `type:"structure"`
8720
8721	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
8722	// type number.
8723	//
8724	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
8725	// types, you must specify all codes.
8726	FromPort *int64 `type:"integer"`
8727
8728	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
8729	//
8730	// [VPC only] Use -1 to specify all protocols.
8731	//
8732	// When authorizing security group rules, specifying -1 or a protocol number
8733	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
8734	// of any port range you specify.
8735	//
8736	// For tcp, udp, and icmp, you must specify a port range.
8737	//
8738	// For icmpv6, the port range is optional. If you omit the port range, traffic
8739	// for all types and codes is allowed.
8740	IpProtocol *string `type:"string"`
8741
8742	// The IPv4 ranges.
8743	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
8744
8745	// The IPv6 ranges.
8746	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
8747
8748	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
8749	// is the AWS service to access through a VPC endpoint from instances associated
8750	// with the security group.
8751	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
8752
8753	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
8754	// code.
8755	//
8756	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
8757	// types, you must specify all codes.
8758	ToPort *int64 `type:"integer"`
8759
8760	// The security group and AWS account ID pairs.
8761	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
8762}
8763
8764// String returns the string representation
8765func (s AwsEc2SecurityGroupIpPermission) String() string {
8766	return awsutil.Prettify(s)
8767}
8768
8769// GoString returns the string representation
8770func (s AwsEc2SecurityGroupIpPermission) GoString() string {
8771	return s.String()
8772}
8773
8774// SetFromPort sets the FromPort field's value.
8775func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
8776	s.FromPort = &v
8777	return s
8778}
8779
8780// SetIpProtocol sets the IpProtocol field's value.
8781func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
8782	s.IpProtocol = &v
8783	return s
8784}
8785
8786// SetIpRanges sets the IpRanges field's value.
8787func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
8788	s.IpRanges = v
8789	return s
8790}
8791
8792// SetIpv6Ranges sets the Ipv6Ranges field's value.
8793func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
8794	s.Ipv6Ranges = v
8795	return s
8796}
8797
8798// SetPrefixListIds sets the PrefixListIds field's value.
8799func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
8800	s.PrefixListIds = v
8801	return s
8802}
8803
8804// SetToPort sets the ToPort field's value.
8805func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
8806	s.ToPort = &v
8807	return s
8808}
8809
8810// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
8811func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
8812	s.UserIdGroupPairs = v
8813	return s
8814}
8815
8816// A range of IPv4 addresses.
8817type AwsEc2SecurityGroupIpRange struct {
8818	_ struct{} `type:"structure"`
8819
8820	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
8821	// group, but not both. To specify a single IPv4 address, use the /32 prefix
8822	// length.
8823	CidrIp *string `type:"string"`
8824}
8825
8826// String returns the string representation
8827func (s AwsEc2SecurityGroupIpRange) String() string {
8828	return awsutil.Prettify(s)
8829}
8830
8831// GoString returns the string representation
8832func (s AwsEc2SecurityGroupIpRange) GoString() string {
8833	return s.String()
8834}
8835
8836// SetCidrIp sets the CidrIp field's value.
8837func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
8838	s.CidrIp = &v
8839	return s
8840}
8841
8842// A range of IPv6 addresses.
8843type AwsEc2SecurityGroupIpv6Range struct {
8844	_ struct{} `type:"structure"`
8845
8846	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
8847	// group, but not both. To specify a single IPv6 address, use the /128 prefix
8848	// length.
8849	CidrIpv6 *string `type:"string"`
8850}
8851
8852// String returns the string representation
8853func (s AwsEc2SecurityGroupIpv6Range) String() string {
8854	return awsutil.Prettify(s)
8855}
8856
8857// GoString returns the string representation
8858func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
8859	return s.String()
8860}
8861
8862// SetCidrIpv6 sets the CidrIpv6 field's value.
8863func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
8864	s.CidrIpv6 = &v
8865	return s
8866}
8867
8868// A prefix list ID.
8869type AwsEc2SecurityGroupPrefixListId struct {
8870	_ struct{} `type:"structure"`
8871
8872	// The ID of the prefix.
8873	PrefixListId *string `type:"string"`
8874}
8875
8876// String returns the string representation
8877func (s AwsEc2SecurityGroupPrefixListId) String() string {
8878	return awsutil.Prettify(s)
8879}
8880
8881// GoString returns the string representation
8882func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
8883	return s.String()
8884}
8885
8886// SetPrefixListId sets the PrefixListId field's value.
8887func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
8888	s.PrefixListId = &v
8889	return s
8890}
8891
8892// A relationship between a security group and a user.
8893type AwsEc2SecurityGroupUserIdGroupPair struct {
8894	_ struct{} `type:"structure"`
8895
8896	// The ID of the security group.
8897	GroupId *string `type:"string"`
8898
8899	// The name of the security group.
8900	GroupName *string `type:"string"`
8901
8902	// The status of a VPC peering connection, if applicable.
8903	PeeringStatus *string `type:"string"`
8904
8905	// The ID of an AWS account.
8906	//
8907	// For a referenced security group in another VPC, the account ID of the referenced
8908	// security group is returned in the response. If the referenced security group
8909	// is deleted, this value is not returned.
8910	//
8911	// [EC2-Classic] Required when adding or removing rules that reference a security
8912	// group in another AWS.
8913	UserId *string `type:"string"`
8914
8915	// The ID of the VPC for the referenced security group, if applicable.
8916	VpcId *string `type:"string"`
8917
8918	// The ID of the VPC peering connection, if applicable.
8919	VpcPeeringConnectionId *string `type:"string"`
8920}
8921
8922// String returns the string representation
8923func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
8924	return awsutil.Prettify(s)
8925}
8926
8927// GoString returns the string representation
8928func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
8929	return s.String()
8930}
8931
8932// SetGroupId sets the GroupId field's value.
8933func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8934	s.GroupId = &v
8935	return s
8936}
8937
8938// SetGroupName sets the GroupName field's value.
8939func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8940	s.GroupName = &v
8941	return s
8942}
8943
8944// SetPeeringStatus sets the PeeringStatus field's value.
8945func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8946	s.PeeringStatus = &v
8947	return s
8948}
8949
8950// SetUserId sets the UserId field's value.
8951func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8952	s.UserId = &v
8953	return s
8954}
8955
8956// SetVpcId sets the VpcId field's value.
8957func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8958	s.VpcId = &v
8959	return s
8960}
8961
8962// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
8963func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
8964	s.VpcPeeringConnectionId = &v
8965	return s
8966}
8967
8968// An attachment to an AWS EC2 volume.
8969type AwsEc2VolumeAttachment struct {
8970	_ struct{} `type:"structure"`
8971
8972	// The datetime when the attachment initiated.
8973	AttachTime *string `type:"string"`
8974
8975	// Whether the EBS volume is deleted when the EC2 instance is terminated.
8976	DeleteOnTermination *bool `type:"boolean"`
8977
8978	// The identifier of the EC2 instance.
8979	InstanceId *string `type:"string"`
8980
8981	// The attachment state of the volume.
8982	Status *string `type:"string"`
8983}
8984
8985// String returns the string representation
8986func (s AwsEc2VolumeAttachment) String() string {
8987	return awsutil.Prettify(s)
8988}
8989
8990// GoString returns the string representation
8991func (s AwsEc2VolumeAttachment) GoString() string {
8992	return s.String()
8993}
8994
8995// SetAttachTime sets the AttachTime field's value.
8996func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
8997	s.AttachTime = &v
8998	return s
8999}
9000
9001// SetDeleteOnTermination sets the DeleteOnTermination field's value.
9002func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
9003	s.DeleteOnTermination = &v
9004	return s
9005}
9006
9007// SetInstanceId sets the InstanceId field's value.
9008func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
9009	s.InstanceId = &v
9010	return s
9011}
9012
9013// SetStatus sets the Status field's value.
9014func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
9015	s.Status = &v
9016	return s
9017}
9018
9019// Details about an EC2 volume.
9020type AwsEc2VolumeDetails struct {
9021	_ struct{} `type:"structure"`
9022
9023	// The volume attachments.
9024	Attachments []*AwsEc2VolumeAttachment `type:"list"`
9025
9026	// Indicates when the volume was created.
9027	//
9028	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9029	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9030	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9031	CreateTime *string `type:"string"`
9032
9033	// Whether the volume is encrypted.
9034	Encrypted *bool `type:"boolean"`
9035
9036	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK)
9037	// that was used to protect the volume encryption key for the volume.
9038	KmsKeyId *string `type:"string"`
9039
9040	// The size of the volume, in GiBs.
9041	Size *int64 `type:"integer"`
9042
9043	// The snapshot from which the volume was created.
9044	SnapshotId *string `type:"string"`
9045
9046	// The volume state.
9047	Status *string `type:"string"`
9048}
9049
9050// String returns the string representation
9051func (s AwsEc2VolumeDetails) String() string {
9052	return awsutil.Prettify(s)
9053}
9054
9055// GoString returns the string representation
9056func (s AwsEc2VolumeDetails) GoString() string {
9057	return s.String()
9058}
9059
9060// SetAttachments sets the Attachments field's value.
9061func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
9062	s.Attachments = v
9063	return s
9064}
9065
9066// SetCreateTime sets the CreateTime field's value.
9067func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
9068	s.CreateTime = &v
9069	return s
9070}
9071
9072// SetEncrypted sets the Encrypted field's value.
9073func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
9074	s.Encrypted = &v
9075	return s
9076}
9077
9078// SetKmsKeyId sets the KmsKeyId field's value.
9079func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
9080	s.KmsKeyId = &v
9081	return s
9082}
9083
9084// SetSize sets the Size field's value.
9085func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
9086	s.Size = &v
9087	return s
9088}
9089
9090// SetSnapshotId sets the SnapshotId field's value.
9091func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
9092	s.SnapshotId = &v
9093	return s
9094}
9095
9096// SetStatus sets the Status field's value.
9097func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
9098	s.Status = &v
9099	return s
9100}
9101
9102// Details about an EC2 VPC.
9103type AwsEc2VpcDetails struct {
9104	_ struct{} `type:"structure"`
9105
9106	// Information about the IPv4 CIDR blocks associated with the VPC.
9107	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
9108
9109	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
9110	// that are associated with the VPC. If the default options are associated with
9111	// the VPC, then this is default.
9112	DhcpOptionsId *string `type:"string"`
9113
9114	// Information about the IPv6 CIDR blocks associated with the VPC.
9115	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
9116
9117	// The current state of the VPC.
9118	State *string `type:"string"`
9119}
9120
9121// String returns the string representation
9122func (s AwsEc2VpcDetails) String() string {
9123	return awsutil.Prettify(s)
9124}
9125
9126// GoString returns the string representation
9127func (s AwsEc2VpcDetails) GoString() string {
9128	return s.String()
9129}
9130
9131// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
9132func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
9133	s.CidrBlockAssociationSet = v
9134	return s
9135}
9136
9137// SetDhcpOptionsId sets the DhcpOptionsId field's value.
9138func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
9139	s.DhcpOptionsId = &v
9140	return s
9141}
9142
9143// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
9144func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
9145	s.Ipv6CidrBlockAssociationSet = v
9146	return s
9147}
9148
9149// SetState sets the State field's value.
9150func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
9151	s.State = &v
9152	return s
9153}
9154
9155// Information about an Elasticsearch domain.
9156type AwsElasticsearchDomainDetails struct {
9157	_ struct{} `type:"structure"`
9158
9159	// IAM policy document specifying the access policies for the new Amazon ES
9160	// domain.
9161	AccessPolicies *string `type:"string"`
9162
9163	// Additional options for the domain endpoint.
9164	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
9165
9166	// Unique identifier for an Amazon ES domain.
9167	DomainId *string `type:"string"`
9168
9169	// Name of an Amazon ES domain.
9170	//
9171	// Domain names are unique across all domains owned by the same account within
9172	// an AWS Region.
9173	//
9174	// Domain names must start with a lowercase letter and must be between 3 and
9175	// 28 characters.
9176	//
9177	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
9178	DomainName *string `type:"string"`
9179
9180	// Elasticsearch version.
9181	ElasticsearchVersion *string `type:"string"`
9182
9183	// Details about the configuration for encryption at rest.
9184	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
9185
9186	// Domain-specific endpoint used to submit index, search, and data upload requests
9187	// to an Amazon ES domain.
9188	//
9189	// The endpoint is a service URL.
9190	Endpoint *string `type:"string"`
9191
9192	// The key-value pair that exists if the Amazon ES domain uses VPC endpoints.
9193	Endpoints map[string]*string `type:"map"`
9194
9195	// Details about the configuration for node-to-node encryption.
9196	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
9197
9198	// Information that Amazon ES derives based on VPCOptions for the domain.
9199	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
9200}
9201
9202// String returns the string representation
9203func (s AwsElasticsearchDomainDetails) String() string {
9204	return awsutil.Prettify(s)
9205}
9206
9207// GoString returns the string representation
9208func (s AwsElasticsearchDomainDetails) GoString() string {
9209	return s.String()
9210}
9211
9212// SetAccessPolicies sets the AccessPolicies field's value.
9213func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
9214	s.AccessPolicies = &v
9215	return s
9216}
9217
9218// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
9219func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
9220	s.DomainEndpointOptions = v
9221	return s
9222}
9223
9224// SetDomainId sets the DomainId field's value.
9225func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
9226	s.DomainId = &v
9227	return s
9228}
9229
9230// SetDomainName sets the DomainName field's value.
9231func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
9232	s.DomainName = &v
9233	return s
9234}
9235
9236// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
9237func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
9238	s.ElasticsearchVersion = &v
9239	return s
9240}
9241
9242// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
9243func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
9244	s.EncryptionAtRestOptions = v
9245	return s
9246}
9247
9248// SetEndpoint sets the Endpoint field's value.
9249func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
9250	s.Endpoint = &v
9251	return s
9252}
9253
9254// SetEndpoints sets the Endpoints field's value.
9255func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
9256	s.Endpoints = v
9257	return s
9258}
9259
9260// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
9261func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
9262	s.NodeToNodeEncryptionOptions = v
9263	return s
9264}
9265
9266// SetVPCOptions sets the VPCOptions field's value.
9267func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
9268	s.VPCOptions = v
9269	return s
9270}
9271
9272// Additional options for the domain endpoint, such as whether to require HTTPS
9273// for all traffic.
9274type AwsElasticsearchDomainDomainEndpointOptions struct {
9275	_ struct{} `type:"structure"`
9276
9277	// Whether to require that all traffic to the domain arrive over HTTPS.
9278	EnforceHTTPS *bool `type:"boolean"`
9279
9280	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
9281	// domain.
9282	//
9283	// Valid values:
9284	//
9285	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
9286	//
9287	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
9288	TLSSecurityPolicy *string `type:"string"`
9289}
9290
9291// String returns the string representation
9292func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
9293	return awsutil.Prettify(s)
9294}
9295
9296// GoString returns the string representation
9297func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
9298	return s.String()
9299}
9300
9301// SetEnforceHTTPS sets the EnforceHTTPS field's value.
9302func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
9303	s.EnforceHTTPS = &v
9304	return s
9305}
9306
9307// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
9308func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
9309	s.TLSSecurityPolicy = &v
9310	return s
9311}
9312
9313// Details about the configuration for encryption at rest.
9314type AwsElasticsearchDomainEncryptionAtRestOptions struct {
9315	_ struct{} `type:"structure"`
9316
9317	// Whether encryption at rest is enabled.
9318	Enabled *bool `type:"boolean"`
9319
9320	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
9321	KmsKeyId *string `type:"string"`
9322}
9323
9324// String returns the string representation
9325func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
9326	return awsutil.Prettify(s)
9327}
9328
9329// GoString returns the string representation
9330func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
9331	return s.String()
9332}
9333
9334// SetEnabled sets the Enabled field's value.
9335func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
9336	s.Enabled = &v
9337	return s
9338}
9339
9340// SetKmsKeyId sets the KmsKeyId field's value.
9341func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
9342	s.KmsKeyId = &v
9343	return s
9344}
9345
9346// Details about the configuration for node-to-node encryption.
9347type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
9348	_ struct{} `type:"structure"`
9349
9350	// Whether node-to-node encryption is enabled.
9351	Enabled *bool `type:"boolean"`
9352}
9353
9354// String returns the string representation
9355func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
9356	return awsutil.Prettify(s)
9357}
9358
9359// GoString returns the string representation
9360func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
9361	return s.String()
9362}
9363
9364// SetEnabled sets the Enabled field's value.
9365func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
9366	s.Enabled = &v
9367	return s
9368}
9369
9370// Information that Amazon ES derives based on VPCOptions for the domain.
9371type AwsElasticsearchDomainVPCOptions struct {
9372	_ struct{} `type:"structure"`
9373
9374	// The list of Availability Zones associated with the VPC subnets.
9375	AvailabilityZones []*string `type:"list"`
9376
9377	// The list of security group IDs associated with the VPC endpoints for the
9378	// domain.
9379	SecurityGroupIds []*string `type:"list"`
9380
9381	// A list of subnet IDs associated with the VPC endpoints for the domain.
9382	SubnetIds []*string `type:"list"`
9383
9384	// ID for the VPC.
9385	VPCId *string `type:"string"`
9386}
9387
9388// String returns the string representation
9389func (s AwsElasticsearchDomainVPCOptions) String() string {
9390	return awsutil.Prettify(s)
9391}
9392
9393// GoString returns the string representation
9394func (s AwsElasticsearchDomainVPCOptions) GoString() string {
9395	return s.String()
9396}
9397
9398// SetAvailabilityZones sets the AvailabilityZones field's value.
9399func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
9400	s.AvailabilityZones = v
9401	return s
9402}
9403
9404// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9405func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
9406	s.SecurityGroupIds = v
9407	return s
9408}
9409
9410// SetSubnetIds sets the SubnetIds field's value.
9411func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
9412	s.SubnetIds = v
9413	return s
9414}
9415
9416// SetVPCId sets the VPCId field's value.
9417func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
9418	s.VPCId = &v
9419	return s
9420}
9421
9422// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
9423type AwsElbAppCookieStickinessPolicy struct {
9424	_ struct{} `type:"structure"`
9425
9426	// The name of the application cookie used for stickiness.
9427	CookieName *string `type:"string"`
9428
9429	// The mnemonic name for the policy being created. The name must be unique within
9430	// the set of policies for the load balancer.
9431	PolicyName *string `type:"string"`
9432}
9433
9434// String returns the string representation
9435func (s AwsElbAppCookieStickinessPolicy) String() string {
9436	return awsutil.Prettify(s)
9437}
9438
9439// GoString returns the string representation
9440func (s AwsElbAppCookieStickinessPolicy) GoString() string {
9441	return s.String()
9442}
9443
9444// SetCookieName sets the CookieName field's value.
9445func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
9446	s.CookieName = &v
9447	return s
9448}
9449
9450// SetPolicyName sets the PolicyName field's value.
9451func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
9452	s.PolicyName = &v
9453	return s
9454}
9455
9456// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
9457type AwsElbLbCookieStickinessPolicy struct {
9458	_ struct{} `type:"structure"`
9459
9460	// The amount of time, in seconds, after which the cookie is considered stale.
9461	// If an expiration period is not specified, the stickiness session lasts for
9462	// the duration of the browser session.
9463	CookieExpirationPeriod *int64 `type:"long"`
9464
9465	// The name of the policy. The name must be unique within the set of policies
9466	// for the load balancer.
9467	PolicyName *string `type:"string"`
9468}
9469
9470// String returns the string representation
9471func (s AwsElbLbCookieStickinessPolicy) String() string {
9472	return awsutil.Prettify(s)
9473}
9474
9475// GoString returns the string representation
9476func (s AwsElbLbCookieStickinessPolicy) GoString() string {
9477	return s.String()
9478}
9479
9480// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
9481func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
9482	s.CookieExpirationPeriod = &v
9483	return s
9484}
9485
9486// SetPolicyName sets the PolicyName field's value.
9487func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
9488	s.PolicyName = &v
9489	return s
9490}
9491
9492// Contains information about the access log configuration for the load balancer.
9493type AwsElbLoadBalancerAccessLog struct {
9494	_ struct{} `type:"structure"`
9495
9496	// The interval in minutes for publishing the access logs.
9497	//
9498	// You can publish access logs either every 5 minutes or every 60 minutes.
9499	EmitInterval *int64 `type:"integer"`
9500
9501	// Indicates whether access logs are enabled for the load balancer.
9502	Enabled *bool `type:"boolean"`
9503
9504	// The name of the S3 bucket where the access logs are stored.
9505	S3BucketName *string `type:"string"`
9506
9507	// The logical hierarchy that was created for the S3 bucket.
9508	//
9509	// If a prefix is not provided, the log is placed at the root level of the bucket.
9510	S3BucketPrefix *string `type:"string"`
9511}
9512
9513// String returns the string representation
9514func (s AwsElbLoadBalancerAccessLog) String() string {
9515	return awsutil.Prettify(s)
9516}
9517
9518// GoString returns the string representation
9519func (s AwsElbLoadBalancerAccessLog) GoString() string {
9520	return s.String()
9521}
9522
9523// SetEmitInterval sets the EmitInterval field's value.
9524func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
9525	s.EmitInterval = &v
9526	return s
9527}
9528
9529// SetEnabled sets the Enabled field's value.
9530func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
9531	s.Enabled = &v
9532	return s
9533}
9534
9535// SetS3BucketName sets the S3BucketName field's value.
9536func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
9537	s.S3BucketName = &v
9538	return s
9539}
9540
9541// SetS3BucketPrefix sets the S3BucketPrefix field's value.
9542func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
9543	s.S3BucketPrefix = &v
9544	return s
9545}
9546
9547// Contains attributes for the load balancer.
9548type AwsElbLoadBalancerAttributes struct {
9549	_ struct{} `type:"structure"`
9550
9551	// Information about the access log configuration for the load balancer.
9552	//
9553	// If the access log is enabled, the load balancer captures detailed information
9554	// about all requests. It delivers the information to a specified S3 bucket.
9555	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
9556
9557	// Information about the connection draining configuration for the load balancer.
9558	//
9559	// If connection draining is enabled, the load balancer allows existing requests
9560	// to complete before it shifts traffic away from a deregistered or unhealthy
9561	// instance.
9562	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
9563
9564	// Connection settings for the load balancer.
9565	//
9566	// If an idle timeout is configured, the load balancer allows connections to
9567	// remain idle for the specified duration. When a connection is idle, no data
9568	// is sent over the connection.
9569	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
9570
9571	// Cross-zone load balancing settings for the load balancer.
9572	//
9573	// If cross-zone load balancing is enabled, the load balancer routes the request
9574	// traffic evenly across all instances regardless of the Availability Zones.
9575	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
9576}
9577
9578// String returns the string representation
9579func (s AwsElbLoadBalancerAttributes) String() string {
9580	return awsutil.Prettify(s)
9581}
9582
9583// GoString returns the string representation
9584func (s AwsElbLoadBalancerAttributes) GoString() string {
9585	return s.String()
9586}
9587
9588// SetAccessLog sets the AccessLog field's value.
9589func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
9590	s.AccessLog = v
9591	return s
9592}
9593
9594// SetConnectionDraining sets the ConnectionDraining field's value.
9595func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
9596	s.ConnectionDraining = v
9597	return s
9598}
9599
9600// SetConnectionSettings sets the ConnectionSettings field's value.
9601func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
9602	s.ConnectionSettings = v
9603	return s
9604}
9605
9606// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
9607func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
9608	s.CrossZoneLoadBalancing = v
9609	return s
9610}
9611
9612// Provides information about the configuration of an EC2 instance for the load
9613// balancer.
9614type AwsElbLoadBalancerBackendServerDescription struct {
9615	_ struct{} `type:"structure"`
9616
9617	// The port on which the EC2 instance is listening.
9618	InstancePort *int64 `type:"integer"`
9619
9620	// The names of the policies that are enabled for the EC2 instance.
9621	PolicyNames []*string `type:"list"`
9622}
9623
9624// String returns the string representation
9625func (s AwsElbLoadBalancerBackendServerDescription) String() string {
9626	return awsutil.Prettify(s)
9627}
9628
9629// GoString returns the string representation
9630func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
9631	return s.String()
9632}
9633
9634// SetInstancePort sets the InstancePort field's value.
9635func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
9636	s.InstancePort = &v
9637	return s
9638}
9639
9640// SetPolicyNames sets the PolicyNames field's value.
9641func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
9642	s.PolicyNames = v
9643	return s
9644}
9645
9646// Contains information about the connection draining configuration for the
9647// load balancer.
9648type AwsElbLoadBalancerConnectionDraining struct {
9649	_ struct{} `type:"structure"`
9650
9651	// Indicates whether connection draining is enabled for the load balancer.
9652	Enabled *bool `type:"boolean"`
9653
9654	// The maximum time, in seconds, to keep the existing connections open before
9655	// deregistering the instances.
9656	Timeout *int64 `type:"integer"`
9657}
9658
9659// String returns the string representation
9660func (s AwsElbLoadBalancerConnectionDraining) String() string {
9661	return awsutil.Prettify(s)
9662}
9663
9664// GoString returns the string representation
9665func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
9666	return s.String()
9667}
9668
9669// SetEnabled sets the Enabled field's value.
9670func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
9671	s.Enabled = &v
9672	return s
9673}
9674
9675// SetTimeout sets the Timeout field's value.
9676func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
9677	s.Timeout = &v
9678	return s
9679}
9680
9681// Contains connection settings for the load balancer.
9682type AwsElbLoadBalancerConnectionSettings struct {
9683	_ struct{} `type:"structure"`
9684
9685	// The time, in seconds, that the connection can be idle (no data is sent over
9686	// the connection) before it is closed by the load balancer.
9687	IdleTimeout *int64 `type:"integer"`
9688}
9689
9690// String returns the string representation
9691func (s AwsElbLoadBalancerConnectionSettings) String() string {
9692	return awsutil.Prettify(s)
9693}
9694
9695// GoString returns the string representation
9696func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
9697	return s.String()
9698}
9699
9700// SetIdleTimeout sets the IdleTimeout field's value.
9701func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
9702	s.IdleTimeout = &v
9703	return s
9704}
9705
9706// Contains cross-zone load balancing settings for the load balancer.
9707type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
9708	_ struct{} `type:"structure"`
9709
9710	// Indicates whether cross-zone load balancing is enabled for the load balancer.
9711	Enabled *bool `type:"boolean"`
9712}
9713
9714// String returns the string representation
9715func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
9716	return awsutil.Prettify(s)
9717}
9718
9719// GoString returns the string representation
9720func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
9721	return s.String()
9722}
9723
9724// SetEnabled sets the Enabled field's value.
9725func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
9726	s.Enabled = &v
9727	return s
9728}
9729
9730// Contains details about a Classic Load Balancer.
9731type AwsElbLoadBalancerDetails struct {
9732	_ struct{} `type:"structure"`
9733
9734	// The list of Availability Zones for the load balancer.
9735	AvailabilityZones []*string `type:"list"`
9736
9737	// Information about the configuration of the EC2 instances.
9738	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
9739
9740	// The name of the Amazon Route 53 hosted zone for the load balancer.
9741	CanonicalHostedZoneName *string `type:"string"`
9742
9743	// The ID of the Amazon Route 53 hosted zone for the load balancer.
9744	CanonicalHostedZoneNameID *string `type:"string"`
9745
9746	// Indicates when the load balancer was created.
9747	//
9748	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9749	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9750	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9751	CreatedTime *string `type:"string"`
9752
9753	// The DNS name of the load balancer.
9754	DnsName *string `type:"string"`
9755
9756	// Information about the health checks that are conducted on the load balancer.
9757	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
9758
9759	// List of EC2 instances for the load balancer.
9760	Instances []*AwsElbLoadBalancerInstance `type:"list"`
9761
9762	// The policies that are enabled for the load balancer listeners.
9763	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
9764
9765	// The attributes for a load balancer.
9766	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
9767
9768	// The name of the load balancer.
9769	LoadBalancerName *string `type:"string"`
9770
9771	// The policies for a load balancer.
9772	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
9773
9774	// The type of load balancer. Only provided if the load balancer is in a VPC.
9775	//
9776	// If Scheme is internet-facing, the load balancer has a public DNS name that
9777	// resolves to a public IP address.
9778	//
9779	// If Scheme is internal, the load balancer has a public DNS name that resolves
9780	// to a private IP address.
9781	Scheme *string `type:"string"`
9782
9783	// The security groups for the load balancer. Only provided if the load balancer
9784	// is in a VPC.
9785	SecurityGroups []*string `type:"list"`
9786
9787	// Information about the security group for the load balancer. This is the security
9788	// group that is used for inbound rules.
9789	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
9790
9791	// The list of subnet identifiers for the load balancer.
9792	Subnets []*string `type:"list"`
9793
9794	// The identifier of the VPC for the load balancer.
9795	VpcId *string `type:"string"`
9796}
9797
9798// String returns the string representation
9799func (s AwsElbLoadBalancerDetails) String() string {
9800	return awsutil.Prettify(s)
9801}
9802
9803// GoString returns the string representation
9804func (s AwsElbLoadBalancerDetails) GoString() string {
9805	return s.String()
9806}
9807
9808// SetAvailabilityZones sets the AvailabilityZones field's value.
9809func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
9810	s.AvailabilityZones = v
9811	return s
9812}
9813
9814// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
9815func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
9816	s.BackendServerDescriptions = v
9817	return s
9818}
9819
9820// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
9821func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
9822	s.CanonicalHostedZoneName = &v
9823	return s
9824}
9825
9826// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
9827func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
9828	s.CanonicalHostedZoneNameID = &v
9829	return s
9830}
9831
9832// SetCreatedTime sets the CreatedTime field's value.
9833func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
9834	s.CreatedTime = &v
9835	return s
9836}
9837
9838// SetDnsName sets the DnsName field's value.
9839func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
9840	s.DnsName = &v
9841	return s
9842}
9843
9844// SetHealthCheck sets the HealthCheck field's value.
9845func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
9846	s.HealthCheck = v
9847	return s
9848}
9849
9850// SetInstances sets the Instances field's value.
9851func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
9852	s.Instances = v
9853	return s
9854}
9855
9856// SetListenerDescriptions sets the ListenerDescriptions field's value.
9857func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
9858	s.ListenerDescriptions = v
9859	return s
9860}
9861
9862// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
9863func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
9864	s.LoadBalancerAttributes = v
9865	return s
9866}
9867
9868// SetLoadBalancerName sets the LoadBalancerName field's value.
9869func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
9870	s.LoadBalancerName = &v
9871	return s
9872}
9873
9874// SetPolicies sets the Policies field's value.
9875func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
9876	s.Policies = v
9877	return s
9878}
9879
9880// SetScheme sets the Scheme field's value.
9881func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
9882	s.Scheme = &v
9883	return s
9884}
9885
9886// SetSecurityGroups sets the SecurityGroups field's value.
9887func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
9888	s.SecurityGroups = v
9889	return s
9890}
9891
9892// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
9893func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
9894	s.SourceSecurityGroup = v
9895	return s
9896}
9897
9898// SetSubnets sets the Subnets field's value.
9899func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
9900	s.Subnets = v
9901	return s
9902}
9903
9904// SetVpcId sets the VpcId field's value.
9905func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
9906	s.VpcId = &v
9907	return s
9908}
9909
9910// Contains information about the health checks that are conducted on the load
9911// balancer.
9912type AwsElbLoadBalancerHealthCheck struct {
9913	_ struct{} `type:"structure"`
9914
9915	// The number of consecutive health check successes required before the instance
9916	// is moved to the Healthy state.
9917	HealthyThreshold *int64 `type:"integer"`
9918
9919	// The approximate interval, in seconds, between health checks of an individual
9920	// instance.
9921	Interval *int64 `type:"integer"`
9922
9923	// The instance that is being checked. The target specifies the protocol and
9924	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
9925	// valid ports is 1 through 65535.
9926	//
9927	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
9928	//
9929	// For the TCP protocol, the target is specified as TCP: <port> .
9930	//
9931	// For the SSL protocol, the target is specified as SSL.<port> .
9932	//
9933	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
9934	// to ping> .
9935	Target *string `type:"string"`
9936
9937	// The amount of time, in seconds, during which no response means a failed health
9938	// check.
9939	Timeout *int64 `type:"integer"`
9940
9941	// The number of consecutive health check failures that must occur before the
9942	// instance is moved to the Unhealthy state.
9943	UnhealthyThreshold *int64 `type:"integer"`
9944}
9945
9946// String returns the string representation
9947func (s AwsElbLoadBalancerHealthCheck) String() string {
9948	return awsutil.Prettify(s)
9949}
9950
9951// GoString returns the string representation
9952func (s AwsElbLoadBalancerHealthCheck) GoString() string {
9953	return s.String()
9954}
9955
9956// SetHealthyThreshold sets the HealthyThreshold field's value.
9957func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
9958	s.HealthyThreshold = &v
9959	return s
9960}
9961
9962// SetInterval sets the Interval field's value.
9963func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
9964	s.Interval = &v
9965	return s
9966}
9967
9968// SetTarget sets the Target field's value.
9969func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
9970	s.Target = &v
9971	return s
9972}
9973
9974// SetTimeout sets the Timeout field's value.
9975func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
9976	s.Timeout = &v
9977	return s
9978}
9979
9980// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
9981func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
9982	s.UnhealthyThreshold = &v
9983	return s
9984}
9985
9986// Provides information about an EC2 instance for a load balancer.
9987type AwsElbLoadBalancerInstance struct {
9988	_ struct{} `type:"structure"`
9989
9990	// The instance identifier.
9991	InstanceId *string `type:"string"`
9992}
9993
9994// String returns the string representation
9995func (s AwsElbLoadBalancerInstance) String() string {
9996	return awsutil.Prettify(s)
9997}
9998
9999// GoString returns the string representation
10000func (s AwsElbLoadBalancerInstance) GoString() string {
10001	return s.String()
10002}
10003
10004// SetInstanceId sets the InstanceId field's value.
10005func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
10006	s.InstanceId = &v
10007	return s
10008}
10009
10010// Information about a load balancer listener.
10011type AwsElbLoadBalancerListener struct {
10012	_ struct{} `type:"structure"`
10013
10014	// The port on which the instance is listening.
10015	InstancePort *int64 `type:"integer"`
10016
10017	// The protocol to use to route traffic to instances.
10018	//
10019	// Valid values: HTTP | HTTPS | TCP | SSL
10020	InstanceProtocol *string `type:"string"`
10021
10022	// The port on which the load balancer is listening.
10023	//
10024	// On EC2-VPC, you can specify any port from the range 1-65535.
10025	//
10026	// On EC2-Classic, you can specify any port from the following list: 25, 80,
10027	// 443, 465, 587, 1024-65535.
10028	LoadBalancerPort *int64 `type:"integer"`
10029
10030	// The load balancer transport protocol to use for routing.
10031	//
10032	// Valid values: HTTP | HTTPS | TCP | SSL
10033	Protocol *string `type:"string"`
10034
10035	// The ARN of the server certificate.
10036	SslCertificateId *string `type:"string"`
10037}
10038
10039// String returns the string representation
10040func (s AwsElbLoadBalancerListener) String() string {
10041	return awsutil.Prettify(s)
10042}
10043
10044// GoString returns the string representation
10045func (s AwsElbLoadBalancerListener) GoString() string {
10046	return s.String()
10047}
10048
10049// SetInstancePort sets the InstancePort field's value.
10050func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
10051	s.InstancePort = &v
10052	return s
10053}
10054
10055// SetInstanceProtocol sets the InstanceProtocol field's value.
10056func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
10057	s.InstanceProtocol = &v
10058	return s
10059}
10060
10061// SetLoadBalancerPort sets the LoadBalancerPort field's value.
10062func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
10063	s.LoadBalancerPort = &v
10064	return s
10065}
10066
10067// SetProtocol sets the Protocol field's value.
10068func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
10069	s.Protocol = &v
10070	return s
10071}
10072
10073// SetSslCertificateId sets the SslCertificateId field's value.
10074func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
10075	s.SslCertificateId = &v
10076	return s
10077}
10078
10079// Lists the policies that are enabled for a load balancer listener.
10080type AwsElbLoadBalancerListenerDescription struct {
10081	_ struct{} `type:"structure"`
10082
10083	// Information about the listener.
10084	Listener *AwsElbLoadBalancerListener `type:"structure"`
10085
10086	// The policies enabled for the listener.
10087	PolicyNames []*string `type:"list"`
10088}
10089
10090// String returns the string representation
10091func (s AwsElbLoadBalancerListenerDescription) String() string {
10092	return awsutil.Prettify(s)
10093}
10094
10095// GoString returns the string representation
10096func (s AwsElbLoadBalancerListenerDescription) GoString() string {
10097	return s.String()
10098}
10099
10100// SetListener sets the Listener field's value.
10101func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
10102	s.Listener = v
10103	return s
10104}
10105
10106// SetPolicyNames sets the PolicyNames field's value.
10107func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
10108	s.PolicyNames = v
10109	return s
10110}
10111
10112// Contains information about the policies for a load balancer.
10113type AwsElbLoadBalancerPolicies struct {
10114	_ struct{} `type:"structure"`
10115
10116	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
10117	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
10118
10119	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
10120	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
10121
10122	// The policies other than the stickiness policies.
10123	OtherPolicies []*string `type:"list"`
10124}
10125
10126// String returns the string representation
10127func (s AwsElbLoadBalancerPolicies) String() string {
10128	return awsutil.Prettify(s)
10129}
10130
10131// GoString returns the string representation
10132func (s AwsElbLoadBalancerPolicies) GoString() string {
10133	return s.String()
10134}
10135
10136// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
10137func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
10138	s.AppCookieStickinessPolicies = v
10139	return s
10140}
10141
10142// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
10143func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
10144	s.LbCookieStickinessPolicies = v
10145	return s
10146}
10147
10148// SetOtherPolicies sets the OtherPolicies field's value.
10149func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
10150	s.OtherPolicies = v
10151	return s
10152}
10153
10154// Contains information about the security group for the load balancer.
10155type AwsElbLoadBalancerSourceSecurityGroup struct {
10156	_ struct{} `type:"structure"`
10157
10158	// The name of the security group.
10159	GroupName *string `type:"string"`
10160
10161	// The owner of the security group.
10162	OwnerAlias *string `type:"string"`
10163}
10164
10165// String returns the string representation
10166func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
10167	return awsutil.Prettify(s)
10168}
10169
10170// GoString returns the string representation
10171func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
10172	return s.String()
10173}
10174
10175// SetGroupName sets the GroupName field's value.
10176func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
10177	s.GroupName = &v
10178	return s
10179}
10180
10181// SetOwnerAlias sets the OwnerAlias field's value.
10182func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
10183	s.OwnerAlias = &v
10184	return s
10185}
10186
10187// Information about a load balancer.
10188type AwsElbv2LoadBalancerDetails struct {
10189	_ struct{} `type:"structure"`
10190
10191	// The Availability Zones for the load balancer.
10192	AvailabilityZones []*AvailabilityZone `type:"list"`
10193
10194	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
10195	CanonicalHostedZoneId *string `type:"string"`
10196
10197	// Indicates when the load balancer was created.
10198	//
10199	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10200	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10201	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10202	CreatedTime *string `type:"string"`
10203
10204	// The public DNS name of the load balancer.
10205	DNSName *string `type:"string"`
10206
10207	// The type of IP addresses used by the subnets for your load balancer. The
10208	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
10209	// IPv6 addresses).
10210	IpAddressType *string `type:"string"`
10211
10212	// The nodes of an Internet-facing load balancer have public IP addresses.
10213	Scheme *string `type:"string"`
10214
10215	// The IDs of the security groups for the load balancer.
10216	SecurityGroups []*string `type:"list"`
10217
10218	// The state of the load balancer.
10219	State *LoadBalancerState `type:"structure"`
10220
10221	// The type of load balancer.
10222	Type *string `type:"string"`
10223
10224	// The ID of the VPC for the load balancer.
10225	VpcId *string `type:"string"`
10226}
10227
10228// String returns the string representation
10229func (s AwsElbv2LoadBalancerDetails) String() string {
10230	return awsutil.Prettify(s)
10231}
10232
10233// GoString returns the string representation
10234func (s AwsElbv2LoadBalancerDetails) GoString() string {
10235	return s.String()
10236}
10237
10238// SetAvailabilityZones sets the AvailabilityZones field's value.
10239func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
10240	s.AvailabilityZones = v
10241	return s
10242}
10243
10244// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
10245func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
10246	s.CanonicalHostedZoneId = &v
10247	return s
10248}
10249
10250// SetCreatedTime sets the CreatedTime field's value.
10251func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
10252	s.CreatedTime = &v
10253	return s
10254}
10255
10256// SetDNSName sets the DNSName field's value.
10257func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
10258	s.DNSName = &v
10259	return s
10260}
10261
10262// SetIpAddressType sets the IpAddressType field's value.
10263func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
10264	s.IpAddressType = &v
10265	return s
10266}
10267
10268// SetScheme sets the Scheme field's value.
10269func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
10270	s.Scheme = &v
10271	return s
10272}
10273
10274// SetSecurityGroups sets the SecurityGroups field's value.
10275func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
10276	s.SecurityGroups = v
10277	return s
10278}
10279
10280// SetState sets the State field's value.
10281func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
10282	s.State = v
10283	return s
10284}
10285
10286// SetType sets the Type field's value.
10287func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
10288	s.Type = &v
10289	return s
10290}
10291
10292// SetVpcId sets the VpcId field's value.
10293func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
10294	s.VpcId = &v
10295	return s
10296}
10297
10298// IAM access key details related to a finding.
10299type AwsIamAccessKeyDetails struct {
10300	_ struct{} `type:"structure"`
10301
10302	// The identifier of the access key.
10303	AccessKeyId *string `type:"string"`
10304
10305	// The AWS account ID of the account for the key.
10306	AccountId *string `type:"string"`
10307
10308	// Indicates when the IAM access key was created.
10309	//
10310	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10311	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10312	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10313	CreatedAt *string `type:"string"`
10314
10315	// The ID of the principal associated with an access key.
10316	PrincipalId *string `type:"string"`
10317
10318	// The name of the principal.
10319	PrincipalName *string `type:"string"`
10320
10321	// The type of principal associated with an access key.
10322	PrincipalType *string `type:"string"`
10323
10324	// Information about the session that the key was used for.
10325	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
10326
10327	// The status of the IAM access key related to a finding.
10328	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
10329
10330	// The user associated with the IAM access key related to a finding.
10331	//
10332	// The UserName parameter has been replaced with the PrincipalName parameter
10333	// because access keys can also be assigned to principals that are not IAM users.
10334	//
10335	// Deprecated: This field is deprecated, use PrincipalName instead.
10336	UserName *string `deprecated:"true" type:"string"`
10337}
10338
10339// String returns the string representation
10340func (s AwsIamAccessKeyDetails) String() string {
10341	return awsutil.Prettify(s)
10342}
10343
10344// GoString returns the string representation
10345func (s AwsIamAccessKeyDetails) GoString() string {
10346	return s.String()
10347}
10348
10349// SetAccessKeyId sets the AccessKeyId field's value.
10350func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
10351	s.AccessKeyId = &v
10352	return s
10353}
10354
10355// SetAccountId sets the AccountId field's value.
10356func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
10357	s.AccountId = &v
10358	return s
10359}
10360
10361// SetCreatedAt sets the CreatedAt field's value.
10362func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
10363	s.CreatedAt = &v
10364	return s
10365}
10366
10367// SetPrincipalId sets the PrincipalId field's value.
10368func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
10369	s.PrincipalId = &v
10370	return s
10371}
10372
10373// SetPrincipalName sets the PrincipalName field's value.
10374func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
10375	s.PrincipalName = &v
10376	return s
10377}
10378
10379// SetPrincipalType sets the PrincipalType field's value.
10380func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
10381	s.PrincipalType = &v
10382	return s
10383}
10384
10385// SetSessionContext sets the SessionContext field's value.
10386func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
10387	s.SessionContext = v
10388	return s
10389}
10390
10391// SetStatus sets the Status field's value.
10392func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
10393	s.Status = &v
10394	return s
10395}
10396
10397// SetUserName sets the UserName field's value.
10398func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
10399	s.UserName = &v
10400	return s
10401}
10402
10403// Provides information about the session that the key was used for.
10404type AwsIamAccessKeySessionContext struct {
10405	_ struct{} `type:"structure"`
10406
10407	// Attributes of the session that the key was used for.
10408	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
10409
10410	// Information about the entity that created the session.
10411	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
10412}
10413
10414// String returns the string representation
10415func (s AwsIamAccessKeySessionContext) String() string {
10416	return awsutil.Prettify(s)
10417}
10418
10419// GoString returns the string representation
10420func (s AwsIamAccessKeySessionContext) GoString() string {
10421	return s.String()
10422}
10423
10424// SetAttributes sets the Attributes field's value.
10425func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
10426	s.Attributes = v
10427	return s
10428}
10429
10430// SetSessionIssuer sets the SessionIssuer field's value.
10431func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
10432	s.SessionIssuer = v
10433	return s
10434}
10435
10436// Attributes of the session that the key was used for.
10437type AwsIamAccessKeySessionContextAttributes struct {
10438	_ struct{} `type:"structure"`
10439
10440	// Indicates when the session was created.
10441	//
10442	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10443	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10444	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10445	CreationDate *string `type:"string"`
10446
10447	// Indicates whether the session used multi-factor authentication (MFA).
10448	MfaAuthenticated *bool `type:"boolean"`
10449}
10450
10451// String returns the string representation
10452func (s AwsIamAccessKeySessionContextAttributes) String() string {
10453	return awsutil.Prettify(s)
10454}
10455
10456// GoString returns the string representation
10457func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
10458	return s.String()
10459}
10460
10461// SetCreationDate sets the CreationDate field's value.
10462func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
10463	s.CreationDate = &v
10464	return s
10465}
10466
10467// SetMfaAuthenticated sets the MfaAuthenticated field's value.
10468func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
10469	s.MfaAuthenticated = &v
10470	return s
10471}
10472
10473// Information about the entity that created the session.
10474type AwsIamAccessKeySessionContextSessionIssuer struct {
10475	_ struct{} `type:"structure"`
10476
10477	// The identifier of the AWS account that created the session.
10478	AccountId *string `type:"string"`
10479
10480	// The ARN of the session.
10481	Arn *string `type:"string"`
10482
10483	// The principal ID of the principal (user, role, or group) that created the
10484	// session.
10485	PrincipalId *string `type:"string"`
10486
10487	// The type of principal (user, role, or group) that created the session.
10488	Type *string `type:"string"`
10489
10490	// The name of the principal that created the session.
10491	UserName *string `type:"string"`
10492}
10493
10494// String returns the string representation
10495func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
10496	return awsutil.Prettify(s)
10497}
10498
10499// GoString returns the string representation
10500func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
10501	return s.String()
10502}
10503
10504// SetAccountId sets the AccountId field's value.
10505func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
10506	s.AccountId = &v
10507	return s
10508}
10509
10510// SetArn sets the Arn field's value.
10511func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
10512	s.Arn = &v
10513	return s
10514}
10515
10516// SetPrincipalId sets the PrincipalId field's value.
10517func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
10518	s.PrincipalId = &v
10519	return s
10520}
10521
10522// SetType sets the Type field's value.
10523func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
10524	s.Type = &v
10525	return s
10526}
10527
10528// SetUserName sets the UserName field's value.
10529func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
10530	s.UserName = &v
10531	return s
10532}
10533
10534// A managed policy that is attached to an IAM principal.
10535type AwsIamAttachedManagedPolicy struct {
10536	_ struct{} `type:"structure"`
10537
10538	// The ARN of the policy.
10539	PolicyArn *string `type:"string"`
10540
10541	// The name of the policy.
10542	PolicyName *string `type:"string"`
10543}
10544
10545// String returns the string representation
10546func (s AwsIamAttachedManagedPolicy) String() string {
10547	return awsutil.Prettify(s)
10548}
10549
10550// GoString returns the string representation
10551func (s AwsIamAttachedManagedPolicy) GoString() string {
10552	return s.String()
10553}
10554
10555// SetPolicyArn sets the PolicyArn field's value.
10556func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
10557	s.PolicyArn = &v
10558	return s
10559}
10560
10561// SetPolicyName sets the PolicyName field's value.
10562func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
10563	s.PolicyName = &v
10564	return s
10565}
10566
10567// Contains details about an IAM group.
10568type AwsIamGroupDetails struct {
10569	_ struct{} `type:"structure"`
10570
10571	// A list of the managed policies that are attached to the IAM group.
10572	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
10573
10574	// Indicates when the IAM group was created.
10575	//
10576	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10577	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10578	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10579	CreateDate *string `type:"string"`
10580
10581	// The identifier of the IAM group.
10582	GroupId *string `type:"string"`
10583
10584	// The name of the IAM group.
10585	GroupName *string `type:"string"`
10586
10587	// The list of inline policies that are embedded in the group.
10588	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
10589
10590	// The path to the group.
10591	Path *string `type:"string"`
10592}
10593
10594// String returns the string representation
10595func (s AwsIamGroupDetails) String() string {
10596	return awsutil.Prettify(s)
10597}
10598
10599// GoString returns the string representation
10600func (s AwsIamGroupDetails) GoString() string {
10601	return s.String()
10602}
10603
10604// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
10605func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
10606	s.AttachedManagedPolicies = v
10607	return s
10608}
10609
10610// SetCreateDate sets the CreateDate field's value.
10611func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
10612	s.CreateDate = &v
10613	return s
10614}
10615
10616// SetGroupId sets the GroupId field's value.
10617func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
10618	s.GroupId = &v
10619	return s
10620}
10621
10622// SetGroupName sets the GroupName field's value.
10623func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
10624	s.GroupName = &v
10625	return s
10626}
10627
10628// SetGroupPolicyList sets the GroupPolicyList field's value.
10629func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
10630	s.GroupPolicyList = v
10631	return s
10632}
10633
10634// SetPath sets the Path field's value.
10635func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
10636	s.Path = &v
10637	return s
10638}
10639
10640// A managed policy that is attached to the IAM group.
10641type AwsIamGroupPolicy struct {
10642	_ struct{} `type:"structure"`
10643
10644	// The name of the policy.
10645	PolicyName *string `type:"string"`
10646}
10647
10648// String returns the string representation
10649func (s AwsIamGroupPolicy) String() string {
10650	return awsutil.Prettify(s)
10651}
10652
10653// GoString returns the string representation
10654func (s AwsIamGroupPolicy) GoString() string {
10655	return s.String()
10656}
10657
10658// SetPolicyName sets the PolicyName field's value.
10659func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
10660	s.PolicyName = &v
10661	return s
10662}
10663
10664// Information about an instance profile.
10665type AwsIamInstanceProfile struct {
10666	_ struct{} `type:"structure"`
10667
10668	// The ARN of the instance profile.
10669	Arn *string `type:"string"`
10670
10671	// Indicates when the instance profile was created.
10672	//
10673	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10674	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10675	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10676	CreateDate *string `type:"string"`
10677
10678	// The identifier of the instance profile.
10679	InstanceProfileId *string `type:"string"`
10680
10681	// The name of the instance profile.
10682	InstanceProfileName *string `type:"string"`
10683
10684	// The path to the instance profile.
10685	Path *string `type:"string"`
10686
10687	// The roles associated with the instance profile.
10688	Roles []*AwsIamInstanceProfileRole `type:"list"`
10689}
10690
10691// String returns the string representation
10692func (s AwsIamInstanceProfile) String() string {
10693	return awsutil.Prettify(s)
10694}
10695
10696// GoString returns the string representation
10697func (s AwsIamInstanceProfile) GoString() string {
10698	return s.String()
10699}
10700
10701// Validate inspects the fields of the type to determine if they are valid.
10702func (s *AwsIamInstanceProfile) Validate() error {
10703	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
10704	if s.Roles != nil {
10705		for i, v := range s.Roles {
10706			if v == nil {
10707				continue
10708			}
10709			if err := v.Validate(); err != nil {
10710				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
10711			}
10712		}
10713	}
10714
10715	if invalidParams.Len() > 0 {
10716		return invalidParams
10717	}
10718	return nil
10719}
10720
10721// SetArn sets the Arn field's value.
10722func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
10723	s.Arn = &v
10724	return s
10725}
10726
10727// SetCreateDate sets the CreateDate field's value.
10728func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
10729	s.CreateDate = &v
10730	return s
10731}
10732
10733// SetInstanceProfileId sets the InstanceProfileId field's value.
10734func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
10735	s.InstanceProfileId = &v
10736	return s
10737}
10738
10739// SetInstanceProfileName sets the InstanceProfileName field's value.
10740func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
10741	s.InstanceProfileName = &v
10742	return s
10743}
10744
10745// SetPath sets the Path field's value.
10746func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
10747	s.Path = &v
10748	return s
10749}
10750
10751// SetRoles sets the Roles field's value.
10752func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
10753	s.Roles = v
10754	return s
10755}
10756
10757// Information about a role associated with an instance profile.
10758type AwsIamInstanceProfileRole struct {
10759	_ struct{} `type:"structure"`
10760
10761	// The ARN of the role.
10762	Arn *string `type:"string"`
10763
10764	// The policy that grants an entity permission to assume the role.
10765	AssumeRolePolicyDocument *string `min:"1" type:"string"`
10766
10767	// Indicates when the role was created.
10768	//
10769	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10770	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10771	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10772	CreateDate *string `type:"string"`
10773
10774	// The path to the role.
10775	Path *string `type:"string"`
10776
10777	// The identifier of the role.
10778	RoleId *string `type:"string"`
10779
10780	// The name of the role.
10781	RoleName *string `type:"string"`
10782}
10783
10784// String returns the string representation
10785func (s AwsIamInstanceProfileRole) String() string {
10786	return awsutil.Prettify(s)
10787}
10788
10789// GoString returns the string representation
10790func (s AwsIamInstanceProfileRole) GoString() string {
10791	return s.String()
10792}
10793
10794// Validate inspects the fields of the type to determine if they are valid.
10795func (s *AwsIamInstanceProfileRole) Validate() error {
10796	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
10797	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
10798		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
10799	}
10800
10801	if invalidParams.Len() > 0 {
10802		return invalidParams
10803	}
10804	return nil
10805}
10806
10807// SetArn sets the Arn field's value.
10808func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
10809	s.Arn = &v
10810	return s
10811}
10812
10813// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
10814func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
10815	s.AssumeRolePolicyDocument = &v
10816	return s
10817}
10818
10819// SetCreateDate sets the CreateDate field's value.
10820func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
10821	s.CreateDate = &v
10822	return s
10823}
10824
10825// SetPath sets the Path field's value.
10826func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
10827	s.Path = &v
10828	return s
10829}
10830
10831// SetRoleId sets the RoleId field's value.
10832func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
10833	s.RoleId = &v
10834	return s
10835}
10836
10837// SetRoleName sets the RoleName field's value.
10838func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
10839	s.RoleName = &v
10840	return s
10841}
10842
10843// Information about the policy used to set the permissions boundary for an
10844// IAM principal.
10845type AwsIamPermissionsBoundary struct {
10846	_ struct{} `type:"structure"`
10847
10848	// The ARN of the policy used to set the permissions boundary.
10849	PermissionsBoundaryArn *string `type:"string"`
10850
10851	// The usage type for the permissions boundary.
10852	PermissionsBoundaryType *string `type:"string"`
10853}
10854
10855// String returns the string representation
10856func (s AwsIamPermissionsBoundary) String() string {
10857	return awsutil.Prettify(s)
10858}
10859
10860// GoString returns the string representation
10861func (s AwsIamPermissionsBoundary) GoString() string {
10862	return s.String()
10863}
10864
10865// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
10866func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
10867	s.PermissionsBoundaryArn = &v
10868	return s
10869}
10870
10871// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
10872func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
10873	s.PermissionsBoundaryType = &v
10874	return s
10875}
10876
10877// Represents an IAM permissions policy.
10878type AwsIamPolicyDetails struct {
10879	_ struct{} `type:"structure"`
10880
10881	// The number of users, groups, and roles that the policy is attached to.
10882	AttachmentCount *int64 `type:"integer"`
10883
10884	// When the policy was created.
10885	//
10886	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10887	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10888	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10889	CreateDate *string `type:"string"`
10890
10891	// The identifier of the default version of the policy.
10892	DefaultVersionId *string `type:"string"`
10893
10894	// A description of the policy.
10895	Description *string `type:"string"`
10896
10897	// Whether the policy can be attached to a user, group, or role.
10898	IsAttachable *bool `type:"boolean"`
10899
10900	// The path to the policy.
10901	Path *string `type:"string"`
10902
10903	// The number of users and roles that use the policy to set the permissions
10904	// boundary.
10905	PermissionsBoundaryUsageCount *int64 `type:"integer"`
10906
10907	// The unique identifier of the policy.
10908	PolicyId *string `type:"string"`
10909
10910	// The name of the policy.
10911	PolicyName *string `type:"string"`
10912
10913	// List of versions of the policy.
10914	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
10915
10916	// When the policy was most recently updated.
10917	//
10918	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10919	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10920	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10921	UpdateDate *string `type:"string"`
10922}
10923
10924// String returns the string representation
10925func (s AwsIamPolicyDetails) String() string {
10926	return awsutil.Prettify(s)
10927}
10928
10929// GoString returns the string representation
10930func (s AwsIamPolicyDetails) GoString() string {
10931	return s.String()
10932}
10933
10934// SetAttachmentCount sets the AttachmentCount field's value.
10935func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
10936	s.AttachmentCount = &v
10937	return s
10938}
10939
10940// SetCreateDate sets the CreateDate field's value.
10941func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
10942	s.CreateDate = &v
10943	return s
10944}
10945
10946// SetDefaultVersionId sets the DefaultVersionId field's value.
10947func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
10948	s.DefaultVersionId = &v
10949	return s
10950}
10951
10952// SetDescription sets the Description field's value.
10953func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
10954	s.Description = &v
10955	return s
10956}
10957
10958// SetIsAttachable sets the IsAttachable field's value.
10959func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
10960	s.IsAttachable = &v
10961	return s
10962}
10963
10964// SetPath sets the Path field's value.
10965func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
10966	s.Path = &v
10967	return s
10968}
10969
10970// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
10971func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
10972	s.PermissionsBoundaryUsageCount = &v
10973	return s
10974}
10975
10976// SetPolicyId sets the PolicyId field's value.
10977func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
10978	s.PolicyId = &v
10979	return s
10980}
10981
10982// SetPolicyName sets the PolicyName field's value.
10983func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
10984	s.PolicyName = &v
10985	return s
10986}
10987
10988// SetPolicyVersionList sets the PolicyVersionList field's value.
10989func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
10990	s.PolicyVersionList = v
10991	return s
10992}
10993
10994// SetUpdateDate sets the UpdateDate field's value.
10995func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
10996	s.UpdateDate = &v
10997	return s
10998}
10999
11000// A version of an IAM policy.
11001type AwsIamPolicyVersion struct {
11002	_ struct{} `type:"structure"`
11003
11004	// Indicates when the version was created.
11005	//
11006	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11007	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11008	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11009	CreateDate *string `type:"string"`
11010
11011	// Whether the version is the default version.
11012	IsDefaultVersion *bool `type:"boolean"`
11013
11014	// The identifier of the policy version.
11015	VersionId *string `type:"string"`
11016}
11017
11018// String returns the string representation
11019func (s AwsIamPolicyVersion) String() string {
11020	return awsutil.Prettify(s)
11021}
11022
11023// GoString returns the string representation
11024func (s AwsIamPolicyVersion) GoString() string {
11025	return s.String()
11026}
11027
11028// SetCreateDate sets the CreateDate field's value.
11029func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
11030	s.CreateDate = &v
11031	return s
11032}
11033
11034// SetIsDefaultVersion sets the IsDefaultVersion field's value.
11035func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
11036	s.IsDefaultVersion = &v
11037	return s
11038}
11039
11040// SetVersionId sets the VersionId field's value.
11041func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
11042	s.VersionId = &v
11043	return s
11044}
11045
11046// Contains information about an IAM role, including all of the role's policies.
11047type AwsIamRoleDetails struct {
11048	_ struct{} `type:"structure"`
11049
11050	// The trust policy that grants permission to assume the role.
11051	AssumeRolePolicyDocument *string `min:"1" type:"string"`
11052
11053	// The list of the managed policies that are attached to the role.
11054	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
11055
11056	// Indicates when the role was created.
11057	//
11058	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11059	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11060	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11061	CreateDate *string `type:"string"`
11062
11063	// The list of instance profiles that contain this role.
11064	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
11065
11066	// The maximum session duration (in seconds) that you want to set for the specified
11067	// role.
11068	MaxSessionDuration *int64 `type:"integer"`
11069
11070	// The path to the role.
11071	Path *string `type:"string"`
11072
11073	// Information about the policy used to set the permissions boundary for an
11074	// IAM principal.
11075	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
11076
11077	// The stable and unique string identifying the role.
11078	RoleId *string `type:"string"`
11079
11080	// The friendly name that identifies the role.
11081	RoleName *string `type:"string"`
11082
11083	// The list of inline policies that are embedded in the role.
11084	RolePolicyList []*AwsIamRolePolicy `type:"list"`
11085}
11086
11087// String returns the string representation
11088func (s AwsIamRoleDetails) String() string {
11089	return awsutil.Prettify(s)
11090}
11091
11092// GoString returns the string representation
11093func (s AwsIamRoleDetails) GoString() string {
11094	return s.String()
11095}
11096
11097// Validate inspects the fields of the type to determine if they are valid.
11098func (s *AwsIamRoleDetails) Validate() error {
11099	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
11100	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
11101		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
11102	}
11103	if s.InstanceProfileList != nil {
11104		for i, v := range s.InstanceProfileList {
11105			if v == nil {
11106				continue
11107			}
11108			if err := v.Validate(); err != nil {
11109				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
11110			}
11111		}
11112	}
11113
11114	if invalidParams.Len() > 0 {
11115		return invalidParams
11116	}
11117	return nil
11118}
11119
11120// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
11121func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
11122	s.AssumeRolePolicyDocument = &v
11123	return s
11124}
11125
11126// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
11127func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
11128	s.AttachedManagedPolicies = v
11129	return s
11130}
11131
11132// SetCreateDate sets the CreateDate field's value.
11133func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
11134	s.CreateDate = &v
11135	return s
11136}
11137
11138// SetInstanceProfileList sets the InstanceProfileList field's value.
11139func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
11140	s.InstanceProfileList = v
11141	return s
11142}
11143
11144// SetMaxSessionDuration sets the MaxSessionDuration field's value.
11145func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
11146	s.MaxSessionDuration = &v
11147	return s
11148}
11149
11150// SetPath sets the Path field's value.
11151func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
11152	s.Path = &v
11153	return s
11154}
11155
11156// SetPermissionsBoundary sets the PermissionsBoundary field's value.
11157func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
11158	s.PermissionsBoundary = v
11159	return s
11160}
11161
11162// SetRoleId sets the RoleId field's value.
11163func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
11164	s.RoleId = &v
11165	return s
11166}
11167
11168// SetRoleName sets the RoleName field's value.
11169func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
11170	s.RoleName = &v
11171	return s
11172}
11173
11174// SetRolePolicyList sets the RolePolicyList field's value.
11175func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
11176	s.RolePolicyList = v
11177	return s
11178}
11179
11180// An inline policy that is embedded in the role.
11181type AwsIamRolePolicy struct {
11182	_ struct{} `type:"structure"`
11183
11184	// The name of the policy.
11185	PolicyName *string `type:"string"`
11186}
11187
11188// String returns the string representation
11189func (s AwsIamRolePolicy) String() string {
11190	return awsutil.Prettify(s)
11191}
11192
11193// GoString returns the string representation
11194func (s AwsIamRolePolicy) GoString() string {
11195	return s.String()
11196}
11197
11198// SetPolicyName sets the PolicyName field's value.
11199func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
11200	s.PolicyName = &v
11201	return s
11202}
11203
11204// Information about an IAM user.
11205type AwsIamUserDetails struct {
11206	_ struct{} `type:"structure"`
11207
11208	// A list of the managed policies that are attached to the user.
11209	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
11210
11211	// Indicates when the user was created.
11212	//
11213	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11214	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11215	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11216	CreateDate *string `type:"string"`
11217
11218	// A list of IAM groups that the user belongs to.
11219	GroupList []*string `type:"list"`
11220
11221	// The path to the user.
11222	Path *string `type:"string"`
11223
11224	// The permissions boundary for the user.
11225	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
11226
11227	// The unique identifier for the user.
11228	UserId *string `type:"string"`
11229
11230	// The name of the user.
11231	UserName *string `type:"string"`
11232
11233	// The list of inline policies that are embedded in the user.
11234	UserPolicyList []*AwsIamUserPolicy `type:"list"`
11235}
11236
11237// String returns the string representation
11238func (s AwsIamUserDetails) String() string {
11239	return awsutil.Prettify(s)
11240}
11241
11242// GoString returns the string representation
11243func (s AwsIamUserDetails) GoString() string {
11244	return s.String()
11245}
11246
11247// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
11248func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
11249	s.AttachedManagedPolicies = v
11250	return s
11251}
11252
11253// SetCreateDate sets the CreateDate field's value.
11254func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
11255	s.CreateDate = &v
11256	return s
11257}
11258
11259// SetGroupList sets the GroupList field's value.
11260func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
11261	s.GroupList = v
11262	return s
11263}
11264
11265// SetPath sets the Path field's value.
11266func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
11267	s.Path = &v
11268	return s
11269}
11270
11271// SetPermissionsBoundary sets the PermissionsBoundary field's value.
11272func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
11273	s.PermissionsBoundary = v
11274	return s
11275}
11276
11277// SetUserId sets the UserId field's value.
11278func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
11279	s.UserId = &v
11280	return s
11281}
11282
11283// SetUserName sets the UserName field's value.
11284func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
11285	s.UserName = &v
11286	return s
11287}
11288
11289// SetUserPolicyList sets the UserPolicyList field's value.
11290func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
11291	s.UserPolicyList = v
11292	return s
11293}
11294
11295// Information about an inline policy that is embedded in the user.
11296type AwsIamUserPolicy struct {
11297	_ struct{} `type:"structure"`
11298
11299	// The name of the policy.
11300	PolicyName *string `type:"string"`
11301}
11302
11303// String returns the string representation
11304func (s AwsIamUserPolicy) String() string {
11305	return awsutil.Prettify(s)
11306}
11307
11308// GoString returns the string representation
11309func (s AwsIamUserPolicy) GoString() string {
11310	return s.String()
11311}
11312
11313// SetPolicyName sets the PolicyName field's value.
11314func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
11315	s.PolicyName = &v
11316	return s
11317}
11318
11319// Contains metadata about a customer master key (CMK).
11320type AwsKmsKeyDetails struct {
11321	_ struct{} `type:"structure"`
11322
11323	// The twelve-digit account ID of the AWS account that owns the CMK.
11324	AWSAccountId *string `type:"string"`
11325
11326	// Indicates when the CMK was created.
11327	//
11328	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11329	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11330	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11331	CreationDate *float64 `type:"double"`
11332
11333	// A description of the key.
11334	Description *string `type:"string"`
11335
11336	// The globally unique identifier for the CMK.
11337	KeyId *string `type:"string"`
11338
11339	// The manager of the CMK. CMKs in your AWS account are either customer managed
11340	// or AWS managed.
11341	KeyManager *string `type:"string"`
11342
11343	// The state of the CMK.
11344	KeyState *string `type:"string"`
11345
11346	// The source of the CMK's key material.
11347	//
11348	// When this value is AWS_KMS, AWS KMS created the key material.
11349	//
11350	// When this value is EXTERNAL, the key material was imported from your existing
11351	// key management infrastructure or the CMK lacks key material.
11352	//
11353	// When this value is AWS_CLOUDHSM, the key material was created in the AWS
11354	// CloudHSM cluster associated with a custom key store.
11355	Origin *string `type:"string"`
11356}
11357
11358// String returns the string representation
11359func (s AwsKmsKeyDetails) String() string {
11360	return awsutil.Prettify(s)
11361}
11362
11363// GoString returns the string representation
11364func (s AwsKmsKeyDetails) GoString() string {
11365	return s.String()
11366}
11367
11368// SetAWSAccountId sets the AWSAccountId field's value.
11369func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
11370	s.AWSAccountId = &v
11371	return s
11372}
11373
11374// SetCreationDate sets the CreationDate field's value.
11375func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
11376	s.CreationDate = &v
11377	return s
11378}
11379
11380// SetDescription sets the Description field's value.
11381func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
11382	s.Description = &v
11383	return s
11384}
11385
11386// SetKeyId sets the KeyId field's value.
11387func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
11388	s.KeyId = &v
11389	return s
11390}
11391
11392// SetKeyManager sets the KeyManager field's value.
11393func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
11394	s.KeyManager = &v
11395	return s
11396}
11397
11398// SetKeyState sets the KeyState field's value.
11399func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
11400	s.KeyState = &v
11401	return s
11402}
11403
11404// SetOrigin sets the Origin field's value.
11405func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
11406	s.Origin = &v
11407	return s
11408}
11409
11410// The code for the Lambda function. You can specify either an object in Amazon
11411// S3, or upload a deployment package directly.
11412type AwsLambdaFunctionCode struct {
11413	_ struct{} `type:"structure"`
11414
11415	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
11416	// be in a different AWS account.
11417	S3Bucket *string `type:"string"`
11418
11419	// The Amazon S3 key of the deployment package.
11420	S3Key *string `type:"string"`
11421
11422	// For versioned objects, the version of the deployment package object to use.
11423	S3ObjectVersion *string `type:"string"`
11424
11425	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
11426	// clients handle the encoding for you.
11427	ZipFile *string `type:"string"`
11428}
11429
11430// String returns the string representation
11431func (s AwsLambdaFunctionCode) String() string {
11432	return awsutil.Prettify(s)
11433}
11434
11435// GoString returns the string representation
11436func (s AwsLambdaFunctionCode) GoString() string {
11437	return s.String()
11438}
11439
11440// SetS3Bucket sets the S3Bucket field's value.
11441func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
11442	s.S3Bucket = &v
11443	return s
11444}
11445
11446// SetS3Key sets the S3Key field's value.
11447func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
11448	s.S3Key = &v
11449	return s
11450}
11451
11452// SetS3ObjectVersion sets the S3ObjectVersion field's value.
11453func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
11454	s.S3ObjectVersion = &v
11455	return s
11456}
11457
11458// SetZipFile sets the ZipFile field's value.
11459func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
11460	s.ZipFile = &v
11461	return s
11462}
11463
11464// The dead-letter queue for failed asynchronous invocations.
11465type AwsLambdaFunctionDeadLetterConfig struct {
11466	_ struct{} `type:"structure"`
11467
11468	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
11469	TargetArn *string `type:"string"`
11470}
11471
11472// String returns the string representation
11473func (s AwsLambdaFunctionDeadLetterConfig) String() string {
11474	return awsutil.Prettify(s)
11475}
11476
11477// GoString returns the string representation
11478func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
11479	return s.String()
11480}
11481
11482// SetTargetArn sets the TargetArn field's value.
11483func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
11484	s.TargetArn = &v
11485	return s
11486}
11487
11488// Details about a function's configuration.
11489type AwsLambdaFunctionDetails struct {
11490	_ struct{} `type:"structure"`
11491
11492	// An AwsLambdaFunctionCode object.
11493	Code *AwsLambdaFunctionCode `type:"structure"`
11494
11495	// The SHA256 hash of the function's deployment package.
11496	CodeSha256 *string `type:"string"`
11497
11498	// The function's dead letter queue.
11499	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
11500
11501	// The function's environment variables.
11502	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
11503
11504	// The name of the function.
11505	FunctionName *string `type:"string"`
11506
11507	// The function that Lambda calls to begin executing your function.
11508	Handler *string `type:"string"`
11509
11510	// The KMS key that's used to encrypt the function's environment variables.
11511	// This key is only returned if you've configured a customer managed CMK.
11512	KmsKeyArn *string `type:"string"`
11513
11514	// Indicates when the function was last updated.
11515	//
11516	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11517	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11518	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11519	LastModified *string `type:"string"`
11520
11521	// The function's layers.
11522	Layers []*AwsLambdaFunctionLayer `type:"list"`
11523
11524	// For Lambda@Edge functions, the ARN of the master function.
11525	MasterArn *string `type:"string"`
11526
11527	// The memory that's allocated to the function.
11528	MemorySize *int64 `type:"integer"`
11529
11530	// The latest updated revision of the function or alias.
11531	RevisionId *string `type:"string"`
11532
11533	// The function's execution role.
11534	Role *string `type:"string"`
11535
11536	// The runtime environment for the Lambda function.
11537	Runtime *string `type:"string"`
11538
11539	// The amount of time that Lambda allows a function to run before stopping it.
11540	Timeout *int64 `type:"integer"`
11541
11542	// The function's AWS X-Ray tracing configuration.
11543	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
11544
11545	// The version of the Lambda function.
11546	Version *string `type:"string"`
11547
11548	// The function's networking configuration.
11549	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
11550}
11551
11552// String returns the string representation
11553func (s AwsLambdaFunctionDetails) String() string {
11554	return awsutil.Prettify(s)
11555}
11556
11557// GoString returns the string representation
11558func (s AwsLambdaFunctionDetails) GoString() string {
11559	return s.String()
11560}
11561
11562// SetCode sets the Code field's value.
11563func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
11564	s.Code = v
11565	return s
11566}
11567
11568// SetCodeSha256 sets the CodeSha256 field's value.
11569func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
11570	s.CodeSha256 = &v
11571	return s
11572}
11573
11574// SetDeadLetterConfig sets the DeadLetterConfig field's value.
11575func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
11576	s.DeadLetterConfig = v
11577	return s
11578}
11579
11580// SetEnvironment sets the Environment field's value.
11581func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
11582	s.Environment = v
11583	return s
11584}
11585
11586// SetFunctionName sets the FunctionName field's value.
11587func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
11588	s.FunctionName = &v
11589	return s
11590}
11591
11592// SetHandler sets the Handler field's value.
11593func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
11594	s.Handler = &v
11595	return s
11596}
11597
11598// SetKmsKeyArn sets the KmsKeyArn field's value.
11599func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
11600	s.KmsKeyArn = &v
11601	return s
11602}
11603
11604// SetLastModified sets the LastModified field's value.
11605func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
11606	s.LastModified = &v
11607	return s
11608}
11609
11610// SetLayers sets the Layers field's value.
11611func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
11612	s.Layers = v
11613	return s
11614}
11615
11616// SetMasterArn sets the MasterArn field's value.
11617func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
11618	s.MasterArn = &v
11619	return s
11620}
11621
11622// SetMemorySize sets the MemorySize field's value.
11623func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
11624	s.MemorySize = &v
11625	return s
11626}
11627
11628// SetRevisionId sets the RevisionId field's value.
11629func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
11630	s.RevisionId = &v
11631	return s
11632}
11633
11634// SetRole sets the Role field's value.
11635func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
11636	s.Role = &v
11637	return s
11638}
11639
11640// SetRuntime sets the Runtime field's value.
11641func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
11642	s.Runtime = &v
11643	return s
11644}
11645
11646// SetTimeout sets the Timeout field's value.
11647func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
11648	s.Timeout = &v
11649	return s
11650}
11651
11652// SetTracingConfig sets the TracingConfig field's value.
11653func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
11654	s.TracingConfig = v
11655	return s
11656}
11657
11658// SetVersion sets the Version field's value.
11659func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
11660	s.Version = &v
11661	return s
11662}
11663
11664// SetVpcConfig sets the VpcConfig field's value.
11665func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
11666	s.VpcConfig = v
11667	return s
11668}
11669
11670// A function's environment variable settings.
11671type AwsLambdaFunctionEnvironment struct {
11672	_ struct{} `type:"structure"`
11673
11674	// An AwsLambdaFunctionEnvironmentError object.
11675	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
11676
11677	// Environment variable key-value pairs.
11678	Variables map[string]*string `type:"map"`
11679}
11680
11681// String returns the string representation
11682func (s AwsLambdaFunctionEnvironment) String() string {
11683	return awsutil.Prettify(s)
11684}
11685
11686// GoString returns the string representation
11687func (s AwsLambdaFunctionEnvironment) GoString() string {
11688	return s.String()
11689}
11690
11691// SetError sets the Error field's value.
11692func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
11693	s.Error = v
11694	return s
11695}
11696
11697// SetVariables sets the Variables field's value.
11698func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
11699	s.Variables = v
11700	return s
11701}
11702
11703// Error messages for environment variables that couldn't be applied.
11704type AwsLambdaFunctionEnvironmentError struct {
11705	_ struct{} `type:"structure"`
11706
11707	// The error code.
11708	ErrorCode *string `type:"string"`
11709
11710	// The error message.
11711	Message *string `type:"string"`
11712}
11713
11714// String returns the string representation
11715func (s AwsLambdaFunctionEnvironmentError) String() string {
11716	return awsutil.Prettify(s)
11717}
11718
11719// GoString returns the string representation
11720func (s AwsLambdaFunctionEnvironmentError) GoString() string {
11721	return s.String()
11722}
11723
11724// SetErrorCode sets the ErrorCode field's value.
11725func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
11726	s.ErrorCode = &v
11727	return s
11728}
11729
11730// SetMessage sets the Message field's value.
11731func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
11732	s.Message = &v
11733	return s
11734}
11735
11736// An AWS Lambda layer.
11737type AwsLambdaFunctionLayer struct {
11738	_ struct{} `type:"structure"`
11739
11740	// The Amazon Resource Name (ARN) of the function layer.
11741	Arn *string `type:"string"`
11742
11743	// The size of the layer archive in bytes.
11744	CodeSize *int64 `type:"integer"`
11745}
11746
11747// String returns the string representation
11748func (s AwsLambdaFunctionLayer) String() string {
11749	return awsutil.Prettify(s)
11750}
11751
11752// GoString returns the string representation
11753func (s AwsLambdaFunctionLayer) GoString() string {
11754	return s.String()
11755}
11756
11757// SetArn sets the Arn field's value.
11758func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
11759	s.Arn = &v
11760	return s
11761}
11762
11763// SetCodeSize sets the CodeSize field's value.
11764func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
11765	s.CodeSize = &v
11766	return s
11767}
11768
11769// The function's AWS X-Ray tracing configuration.
11770type AwsLambdaFunctionTracingConfig struct {
11771	_ struct{} `type:"structure"`
11772
11773	// The tracing mode.
11774	Mode *string `type:"string"`
11775}
11776
11777// String returns the string representation
11778func (s AwsLambdaFunctionTracingConfig) String() string {
11779	return awsutil.Prettify(s)
11780}
11781
11782// GoString returns the string representation
11783func (s AwsLambdaFunctionTracingConfig) GoString() string {
11784	return s.String()
11785}
11786
11787// SetMode sets the Mode field's value.
11788func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
11789	s.Mode = &v
11790	return s
11791}
11792
11793// The VPC security groups and subnets that are attached to a Lambda function.
11794// For more information, see VPC Settings.
11795type AwsLambdaFunctionVpcConfig struct {
11796	_ struct{} `type:"structure"`
11797
11798	// A list of VPC security groups IDs.
11799	SecurityGroupIds []*string `type:"list"`
11800
11801	// A list of VPC subnet IDs.
11802	SubnetIds []*string `type:"list"`
11803
11804	// The ID of the VPC.
11805	VpcId *string `type:"string"`
11806}
11807
11808// String returns the string representation
11809func (s AwsLambdaFunctionVpcConfig) String() string {
11810	return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation
11814func (s AwsLambdaFunctionVpcConfig) GoString() string {
11815	return s.String()
11816}
11817
11818// SetSecurityGroupIds sets the SecurityGroupIds field's value.
11819func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
11820	s.SecurityGroupIds = v
11821	return s
11822}
11823
11824// SetSubnetIds sets the SubnetIds field's value.
11825func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
11826	s.SubnetIds = v
11827	return s
11828}
11829
11830// SetVpcId sets the VpcId field's value.
11831func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
11832	s.VpcId = &v
11833	return s
11834}
11835
11836// Details about a Lambda layer version.
11837type AwsLambdaLayerVersionDetails struct {
11838	_ struct{} `type:"structure"`
11839
11840	// The layer's compatible runtimes. Maximum number of five items.
11841	//
11842	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
11843	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
11844	// | provided
11845	CompatibleRuntimes []*string `type:"list"`
11846
11847	// Indicates when the version was created.
11848	//
11849	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11850	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11851	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11852	CreatedDate *string `type:"string"`
11853
11854	// The version number.
11855	Version *int64 `type:"long"`
11856}
11857
11858// String returns the string representation
11859func (s AwsLambdaLayerVersionDetails) String() string {
11860	return awsutil.Prettify(s)
11861}
11862
11863// GoString returns the string representation
11864func (s AwsLambdaLayerVersionDetails) GoString() string {
11865	return s.String()
11866}
11867
11868// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
11869func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
11870	s.CompatibleRuntimes = v
11871	return s
11872}
11873
11874// SetCreatedDate sets the CreatedDate field's value.
11875func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
11876	s.CreatedDate = &v
11877	return s
11878}
11879
11880// SetVersion sets the Version field's value.
11881func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
11882	s.Version = &v
11883	return s
11884}
11885
11886// An IAM role that is associated with the Amazon RDS DB cluster.
11887type AwsRdsDbClusterAssociatedRole struct {
11888	_ struct{} `type:"structure"`
11889
11890	// The ARN of the IAM role.
11891	RoleArn *string `type:"string"`
11892
11893	// The status of the association between the IAM role and the DB cluster.
11894	Status *string `type:"string"`
11895}
11896
11897// String returns the string representation
11898func (s AwsRdsDbClusterAssociatedRole) String() string {
11899	return awsutil.Prettify(s)
11900}
11901
11902// GoString returns the string representation
11903func (s AwsRdsDbClusterAssociatedRole) GoString() string {
11904	return s.String()
11905}
11906
11907// SetRoleArn sets the RoleArn field's value.
11908func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
11909	s.RoleArn = &v
11910	return s
11911}
11912
11913// SetStatus sets the Status field's value.
11914func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
11915	s.Status = &v
11916	return s
11917}
11918
11919// Information about an Amazon RDS DB cluster.
11920type AwsRdsDbClusterDetails struct {
11921	_ struct{} `type:"structure"`
11922
11923	// The status of the database activity stream.
11924	ActivityStreamStatus *string `type:"string"`
11925
11926	// For all database engines except Aurora, specifies the allocated storage size
11927	// in gibibytes (GiB).
11928	AllocatedStorage *int64 `type:"integer"`
11929
11930	// A list of the IAM roles that are associated with the DB cluster.
11931	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
11932
11933	// A list of Availability Zones (AZs) where instances in the DB cluster can
11934	// be created.
11935	AvailabilityZones []*string `type:"list"`
11936
11937	// The number of days for which automated backups are retained.
11938	BackupRetentionPeriod *int64 `type:"integer"`
11939
11940	// Indicates when the DB cluster was created, in Universal Coordinated Time
11941	// (UTC).
11942	//
11943	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11944	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11945	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11946	ClusterCreateTime *string `type:"string"`
11947
11948	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
11949	CopyTagsToSnapshot *bool `type:"boolean"`
11950
11951	// Whether the DB cluster is a clone of a DB cluster owned by a different AWS
11952	// account.
11953	CrossAccountClone *bool `type:"boolean"`
11954
11955	// A list of custom endpoints for the DB cluster.
11956	CustomEndpoints []*string `type:"list"`
11957
11958	// The name of the database.
11959	DatabaseName *string `type:"string"`
11960
11961	// The DB cluster identifier that the user assigned to the cluster. This identifier
11962	// is the unique key that identifies a DB cluster.
11963	DbClusterIdentifier *string `type:"string"`
11964
11965	// The list of instances that make up the DB cluster.
11966	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
11967
11968	// The list of option group memberships for this DB cluster.
11969	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
11970
11971	// The name of the DB cluster parameter group for the DB cluster.
11972	DbClusterParameterGroup *string `type:"string"`
11973
11974	// The identifier of the DB cluster. The identifier must be unique within each
11975	// AWS Region and is immutable.
11976	DbClusterResourceId *string `type:"string"`
11977
11978	// The subnet group that is associated with the DB cluster, including the name,
11979	// description, and subnets in the subnet group.
11980	DbSubnetGroup *string `type:"string"`
11981
11982	// Whether the DB cluster has deletion protection enabled.
11983	DeletionProtection *bool `type:"boolean"`
11984
11985	// The Active Directory domain membership records that are associated with the
11986	// DB cluster.
11987	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
11988
11989	// A list of log types that this DB cluster is configured to export to CloudWatch
11990	// Logs.
11991	EnabledCloudWatchLogsExports []*string `type:"list"`
11992
11993	// The connection endpoint for the primary instance of the DB cluster.
11994	Endpoint *string `type:"string"`
11995
11996	// The name of the database engine to use for this DB cluster.
11997	Engine *string `type:"string"`
11998
11999	// The database engine mode of the DB cluster.
12000	EngineMode *string `type:"string"`
12001
12002	// The version number of the database engine to use.
12003	EngineVersion *string `type:"string"`
12004
12005	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
12006	// zone.
12007	HostedZoneId *string `type:"string"`
12008
12009	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
12010	HttpEndpointEnabled *bool `type:"boolean"`
12011
12012	// Whether the mapping of IAM accounts to database accounts is enabled.
12013	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
12014
12015	// The ARN of the AWS KMS master key that is used to encrypt the database instances
12016	// in the DB cluster.
12017	KmsKeyId *string `type:"string"`
12018
12019	// The name of the master user for the DB cluster.
12020	MasterUsername *string `type:"string"`
12021
12022	// Whether the DB cluster has instances in multiple Availability Zones.
12023	MultiAz *bool `type:"boolean"`
12024
12025	// The port number on which the DB instances in the DB cluster accept connections.
12026	Port *int64 `type:"integer"`
12027
12028	// The range of time each day when automated backups are created, if automated
12029	// backups are enabled.
12030	//
12031	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
12032	PreferredBackupWindow *string `type:"string"`
12033
12034	// The weekly time range during which system maintenance can occur, in Universal
12035	// Coordinated Time (UTC).
12036	//
12037	// Uses the format <day>:HH:MM-<day>:HH:MM.
12038	//
12039	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
12040	//
12041	// For example, sun:09:32-sun:10:02.
12042	PreferredMaintenanceWindow *string `type:"string"`
12043
12044	// The identifiers of the read replicas that are associated with this DB cluster.
12045	ReadReplicaIdentifiers []*string `type:"list"`
12046
12047	// The reader endpoint for the DB cluster.
12048	ReaderEndpoint *string `type:"string"`
12049
12050	// The current status of this DB cluster.
12051	Status *string `type:"string"`
12052
12053	// Whether the DB cluster is encrypted.
12054	StorageEncrypted *bool `type:"boolean"`
12055
12056	// A list of VPC security groups that the DB cluster belongs to.
12057	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
12058}
12059
12060// String returns the string representation
12061func (s AwsRdsDbClusterDetails) String() string {
12062	return awsutil.Prettify(s)
12063}
12064
12065// GoString returns the string representation
12066func (s AwsRdsDbClusterDetails) GoString() string {
12067	return s.String()
12068}
12069
12070// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
12071func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
12072	s.ActivityStreamStatus = &v
12073	return s
12074}
12075
12076// SetAllocatedStorage sets the AllocatedStorage field's value.
12077func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
12078	s.AllocatedStorage = &v
12079	return s
12080}
12081
12082// SetAssociatedRoles sets the AssociatedRoles field's value.
12083func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
12084	s.AssociatedRoles = v
12085	return s
12086}
12087
12088// SetAvailabilityZones sets the AvailabilityZones field's value.
12089func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
12090	s.AvailabilityZones = v
12091	return s
12092}
12093
12094// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
12095func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
12096	s.BackupRetentionPeriod = &v
12097	return s
12098}
12099
12100// SetClusterCreateTime sets the ClusterCreateTime field's value.
12101func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
12102	s.ClusterCreateTime = &v
12103	return s
12104}
12105
12106// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
12107func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
12108	s.CopyTagsToSnapshot = &v
12109	return s
12110}
12111
12112// SetCrossAccountClone sets the CrossAccountClone field's value.
12113func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
12114	s.CrossAccountClone = &v
12115	return s
12116}
12117
12118// SetCustomEndpoints sets the CustomEndpoints field's value.
12119func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
12120	s.CustomEndpoints = v
12121	return s
12122}
12123
12124// SetDatabaseName sets the DatabaseName field's value.
12125func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
12126	s.DatabaseName = &v
12127	return s
12128}
12129
12130// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
12131func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
12132	s.DbClusterIdentifier = &v
12133	return s
12134}
12135
12136// SetDbClusterMembers sets the DbClusterMembers field's value.
12137func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
12138	s.DbClusterMembers = v
12139	return s
12140}
12141
12142// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
12143func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
12144	s.DbClusterOptionGroupMemberships = v
12145	return s
12146}
12147
12148// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
12149func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
12150	s.DbClusterParameterGroup = &v
12151	return s
12152}
12153
12154// SetDbClusterResourceId sets the DbClusterResourceId field's value.
12155func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
12156	s.DbClusterResourceId = &v
12157	return s
12158}
12159
12160// SetDbSubnetGroup sets the DbSubnetGroup field's value.
12161func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
12162	s.DbSubnetGroup = &v
12163	return s
12164}
12165
12166// SetDeletionProtection sets the DeletionProtection field's value.
12167func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
12168	s.DeletionProtection = &v
12169	return s
12170}
12171
12172// SetDomainMemberships sets the DomainMemberships field's value.
12173func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
12174	s.DomainMemberships = v
12175	return s
12176}
12177
12178// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
12179func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
12180	s.EnabledCloudWatchLogsExports = v
12181	return s
12182}
12183
12184// SetEndpoint sets the Endpoint field's value.
12185func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
12186	s.Endpoint = &v
12187	return s
12188}
12189
12190// SetEngine sets the Engine field's value.
12191func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
12192	s.Engine = &v
12193	return s
12194}
12195
12196// SetEngineMode sets the EngineMode field's value.
12197func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
12198	s.EngineMode = &v
12199	return s
12200}
12201
12202// SetEngineVersion sets the EngineVersion field's value.
12203func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
12204	s.EngineVersion = &v
12205	return s
12206}
12207
12208// SetHostedZoneId sets the HostedZoneId field's value.
12209func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
12210	s.HostedZoneId = &v
12211	return s
12212}
12213
12214// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
12215func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
12216	s.HttpEndpointEnabled = &v
12217	return s
12218}
12219
12220// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
12221func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
12222	s.IamDatabaseAuthenticationEnabled = &v
12223	return s
12224}
12225
12226// SetKmsKeyId sets the KmsKeyId field's value.
12227func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
12228	s.KmsKeyId = &v
12229	return s
12230}
12231
12232// SetMasterUsername sets the MasterUsername field's value.
12233func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
12234	s.MasterUsername = &v
12235	return s
12236}
12237
12238// SetMultiAz sets the MultiAz field's value.
12239func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
12240	s.MultiAz = &v
12241	return s
12242}
12243
12244// SetPort sets the Port field's value.
12245func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
12246	s.Port = &v
12247	return s
12248}
12249
12250// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
12251func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
12252	s.PreferredBackupWindow = &v
12253	return s
12254}
12255
12256// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
12257func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
12258	s.PreferredMaintenanceWindow = &v
12259	return s
12260}
12261
12262// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
12263func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
12264	s.ReadReplicaIdentifiers = v
12265	return s
12266}
12267
12268// SetReaderEndpoint sets the ReaderEndpoint field's value.
12269func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
12270	s.ReaderEndpoint = &v
12271	return s
12272}
12273
12274// SetStatus sets the Status field's value.
12275func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
12276	s.Status = &v
12277	return s
12278}
12279
12280// SetStorageEncrypted sets the StorageEncrypted field's value.
12281func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
12282	s.StorageEncrypted = &v
12283	return s
12284}
12285
12286// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
12287func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
12288	s.VpcSecurityGroups = v
12289	return s
12290}
12291
12292// Information about an instance in the DB cluster.
12293type AwsRdsDbClusterMember struct {
12294	_ struct{} `type:"structure"`
12295
12296	// The status of the DB cluster parameter group for this member of the DB cluster.
12297	DbClusterParameterGroupStatus *string `type:"string"`
12298
12299	// The instance identifier for this member of the DB cluster.
12300	DbInstanceIdentifier *string `type:"string"`
12301
12302	// Whether the cluster member is the primary instance for the DB cluster.
12303	IsClusterWriter *bool `type:"boolean"`
12304
12305	// Specifies the order in which an Aurora replica is promoted to the primary
12306	// instance when the existing primary instance fails.
12307	PromotionTier *int64 `type:"integer"`
12308}
12309
12310// String returns the string representation
12311func (s AwsRdsDbClusterMember) String() string {
12312	return awsutil.Prettify(s)
12313}
12314
12315// GoString returns the string representation
12316func (s AwsRdsDbClusterMember) GoString() string {
12317	return s.String()
12318}
12319
12320// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
12321func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
12322	s.DbClusterParameterGroupStatus = &v
12323	return s
12324}
12325
12326// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
12327func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
12328	s.DbInstanceIdentifier = &v
12329	return s
12330}
12331
12332// SetIsClusterWriter sets the IsClusterWriter field's value.
12333func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
12334	s.IsClusterWriter = &v
12335	return s
12336}
12337
12338// SetPromotionTier sets the PromotionTier field's value.
12339func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
12340	s.PromotionTier = &v
12341	return s
12342}
12343
12344// Information about an option group membership for a DB cluster.
12345type AwsRdsDbClusterOptionGroupMembership struct {
12346	_ struct{} `type:"structure"`
12347
12348	// The name of the DB cluster option group.
12349	DbClusterOptionGroupName *string `type:"string"`
12350
12351	// The status of the DB cluster option group.
12352	Status *string `type:"string"`
12353}
12354
12355// String returns the string representation
12356func (s AwsRdsDbClusterOptionGroupMembership) String() string {
12357	return awsutil.Prettify(s)
12358}
12359
12360// GoString returns the string representation
12361func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
12362	return s.String()
12363}
12364
12365// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
12366func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
12367	s.DbClusterOptionGroupName = &v
12368	return s
12369}
12370
12371// SetStatus sets the Status field's value.
12372func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
12373	s.Status = &v
12374	return s
12375}
12376
12377// Information about an Amazon RDS DB cluster snapshot.
12378type AwsRdsDbClusterSnapshotDetails struct {
12379	_ struct{} `type:"structure"`
12380
12381	// Specifies the allocated storage size in gibibytes (GiB).
12382	AllocatedStorage *int64 `type:"integer"`
12383
12384	// A list of Availability Zones where instances in the DB cluster can be created.
12385	AvailabilityZones []*string `type:"list"`
12386
12387	// Indicates when the DB cluster was created, in Universal Coordinated Time
12388	// (UTC).
12389	//
12390	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12391	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12392	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12393	ClusterCreateTime *string `type:"string"`
12394
12395	// The DB cluster identifier.
12396	DbClusterIdentifier *string `type:"string"`
12397
12398	// The identifier of the DB cluster snapshot.
12399	DbClusterSnapshotIdentifier *string `type:"string"`
12400
12401	Engine *string `type:"string"`
12402
12403	// The version of the database engine to use.
12404	EngineVersion *string `type:"string"`
12405
12406	// Whether mapping of IAM accounts to database accounts is enabled.
12407	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
12408
12409	// The ARN of the AWS KMS master key that is used to encrypt the database instances
12410	// in the DB cluster.
12411	KmsKeyId *string `type:"string"`
12412
12413	// The license model information for this DB cluster snapshot.
12414	LicenseModel *string `type:"string"`
12415
12416	// The name of the master user for the DB cluster.
12417	MasterUsername *string `type:"string"`
12418
12419	// Specifies the percentage of the estimated data that has been transferred.
12420	PercentProgress *int64 `type:"integer"`
12421
12422	// The port number on which the DB instances in the DB cluster accept connections.
12423	Port *int64 `type:"integer"`
12424
12425	// Indicates when the snapshot was taken.
12426	//
12427	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12428	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12429	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12430	SnapshotCreateTime *string `type:"string"`
12431
12432	// The type of DB cluster snapshot.
12433	SnapshotType *string `type:"string"`
12434
12435	// The status of this DB cluster snapshot.
12436	Status *string `type:"string"`
12437
12438	// Whether the DB cluster is encrypted.
12439	StorageEncrypted *bool `type:"boolean"`
12440
12441	// The VPC ID that is associated with the DB cluster snapshot.
12442	VpcId *string `type:"string"`
12443}
12444
12445// String returns the string representation
12446func (s AwsRdsDbClusterSnapshotDetails) String() string {
12447	return awsutil.Prettify(s)
12448}
12449
12450// GoString returns the string representation
12451func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
12452	return s.String()
12453}
12454
12455// SetAllocatedStorage sets the AllocatedStorage field's value.
12456func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
12457	s.AllocatedStorage = &v
12458	return s
12459}
12460
12461// SetAvailabilityZones sets the AvailabilityZones field's value.
12462func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
12463	s.AvailabilityZones = v
12464	return s
12465}
12466
12467// SetClusterCreateTime sets the ClusterCreateTime field's value.
12468func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
12469	s.ClusterCreateTime = &v
12470	return s
12471}
12472
12473// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
12474func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
12475	s.DbClusterIdentifier = &v
12476	return s
12477}
12478
12479// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
12480func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
12481	s.DbClusterSnapshotIdentifier = &v
12482	return s
12483}
12484
12485// SetEngine sets the Engine field's value.
12486func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
12487	s.Engine = &v
12488	return s
12489}
12490
12491// SetEngineVersion sets the EngineVersion field's value.
12492func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
12493	s.EngineVersion = &v
12494	return s
12495}
12496
12497// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
12498func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
12499	s.IamDatabaseAuthenticationEnabled = &v
12500	return s
12501}
12502
12503// SetKmsKeyId sets the KmsKeyId field's value.
12504func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
12505	s.KmsKeyId = &v
12506	return s
12507}
12508
12509// SetLicenseModel sets the LicenseModel field's value.
12510func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
12511	s.LicenseModel = &v
12512	return s
12513}
12514
12515// SetMasterUsername sets the MasterUsername field's value.
12516func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
12517	s.MasterUsername = &v
12518	return s
12519}
12520
12521// SetPercentProgress sets the PercentProgress field's value.
12522func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
12523	s.PercentProgress = &v
12524	return s
12525}
12526
12527// SetPort sets the Port field's value.
12528func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
12529	s.Port = &v
12530	return s
12531}
12532
12533// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
12534func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
12535	s.SnapshotCreateTime = &v
12536	return s
12537}
12538
12539// SetSnapshotType sets the SnapshotType field's value.
12540func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
12541	s.SnapshotType = &v
12542	return s
12543}
12544
12545// SetStatus sets the Status field's value.
12546func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
12547	s.Status = &v
12548	return s
12549}
12550
12551// SetStorageEncrypted sets the StorageEncrypted field's value.
12552func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
12553	s.StorageEncrypted = &v
12554	return s
12555}
12556
12557// SetVpcId sets the VpcId field's value.
12558func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
12559	s.VpcId = &v
12560	return s
12561}
12562
12563// Information about an Active Directory domain membership record associated
12564// with the DB instance.
12565type AwsRdsDbDomainMembership struct {
12566	_ struct{} `type:"structure"`
12567
12568	// The identifier of the Active Directory domain.
12569	Domain *string `type:"string"`
12570
12571	// The fully qualified domain name of the Active Directory domain.
12572	Fqdn *string `type:"string"`
12573
12574	// The name of the IAM role to use when making API calls to the Directory Service.
12575	IamRoleName *string `type:"string"`
12576
12577	// The status of the Active Directory Domain membership for the DB instance.
12578	Status *string `type:"string"`
12579}
12580
12581// String returns the string representation
12582func (s AwsRdsDbDomainMembership) String() string {
12583	return awsutil.Prettify(s)
12584}
12585
12586// GoString returns the string representation
12587func (s AwsRdsDbDomainMembership) GoString() string {
12588	return s.String()
12589}
12590
12591// SetDomain sets the Domain field's value.
12592func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
12593	s.Domain = &v
12594	return s
12595}
12596
12597// SetFqdn sets the Fqdn field's value.
12598func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
12599	s.Fqdn = &v
12600	return s
12601}
12602
12603// SetIamRoleName sets the IamRoleName field's value.
12604func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
12605	s.IamRoleName = &v
12606	return s
12607}
12608
12609// SetStatus sets the Status field's value.
12610func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
12611	s.Status = &v
12612	return s
12613}
12614
12615// An AWS Identity and Access Management (IAM) role associated with the DB instance.
12616type AwsRdsDbInstanceAssociatedRole struct {
12617	_ struct{} `type:"structure"`
12618
12619	// The name of the feature associated with the IAM)role.
12620	FeatureName *string `type:"string"`
12621
12622	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
12623	// DB instance.
12624	RoleArn *string `type:"string"`
12625
12626	// Describes the state of the association between the IAM role and the DB instance.
12627	// The Status property returns one of the following values:
12628	//
12629	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
12630	//    be used to access other AWS services on your behalf.
12631	//
12632	//    * PENDING - The IAM role ARN is being associated with the DB instance.
12633	//
12634	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
12635	//    DB instance is unable to assume the IAM role in order to access other
12636	//    AWS services on your behalf.
12637	Status *string `type:"string"`
12638}
12639
12640// String returns the string representation
12641func (s AwsRdsDbInstanceAssociatedRole) String() string {
12642	return awsutil.Prettify(s)
12643}
12644
12645// GoString returns the string representation
12646func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
12647	return s.String()
12648}
12649
12650// SetFeatureName sets the FeatureName field's value.
12651func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
12652	s.FeatureName = &v
12653	return s
12654}
12655
12656// SetRoleArn sets the RoleArn field's value.
12657func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
12658	s.RoleArn = &v
12659	return s
12660}
12661
12662// SetStatus sets the Status field's value.
12663func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
12664	s.Status = &v
12665	return s
12666}
12667
12668// Contains the details of an Amazon RDS DB instance.
12669type AwsRdsDbInstanceDetails struct {
12670	_ struct{} `type:"structure"`
12671
12672	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
12673	AllocatedStorage *int64 `type:"integer"`
12674
12675	// The AWS Identity and Access Management (IAM) roles associated with the DB
12676	// instance.
12677	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
12678
12679	// Indicates whether minor version patches are applied automatically.
12680	AutoMinorVersionUpgrade *bool `type:"boolean"`
12681
12682	// The Availability Zone where the DB instance will be created.
12683	AvailabilityZone *string `type:"string"`
12684
12685	// The number of days for which to retain automated backups.
12686	BackupRetentionPeriod *int64 `type:"integer"`
12687
12688	// The identifier of the CA certificate for this DB instance.
12689	CACertificateIdentifier *string `type:"string"`
12690
12691	// The name of the character set that this DB instance is associated with.
12692	CharacterSetName *string `type:"string"`
12693
12694	// Whether to copy resource tags to snapshots of the DB instance.
12695	CopyTagsToSnapshot *bool `type:"boolean"`
12696
12697	// If the DB instance is a member of a DB cluster, contains the name of the
12698	// DB cluster that the DB instance is a member of.
12699	DBClusterIdentifier *string `type:"string"`
12700
12701	// Contains the name of the compute and memory capacity class of the DB instance.
12702	DBInstanceClass *string `type:"string"`
12703
12704	// Contains a user-supplied database identifier. This identifier is the unique
12705	// key that identifies a DB instance.
12706	DBInstanceIdentifier *string `type:"string"`
12707
12708	// The meaning of this parameter differs according to the database engine you
12709	// use.
12710	//
12711	// MySQL, MariaDB, SQL Server, PostgreSQL
12712	//
12713	// Contains the name of the initial database of this instance that was provided
12714	// at create time, if one was specified when the DB instance was created. This
12715	// same name is returned for the life of the DB instance.
12716	//
12717	// Oracle
12718	//
12719	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
12720	// when the returned parameters do not apply to an Oracle DB instance.
12721	DBName *string `type:"string"`
12722
12723	// Specifies the port that the DB instance listens on. If the DB instance is
12724	// part of a DB cluster, this can be a different port than the DB cluster port.
12725	DbInstancePort *int64 `type:"integer"`
12726
12727	// The current status of the DB instance.
12728	DbInstanceStatus *string `type:"string"`
12729
12730	// A list of the DB parameter groups to assign to the DB instance.
12731	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
12732
12733	// A list of the DB security groups to assign to the DB instance.
12734	DbSecurityGroups []*string `type:"list"`
12735
12736	// Information about the subnet group that is associated with the DB instance.
12737	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
12738
12739	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
12740	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
12741	// instance is accessed.
12742	DbiResourceId *string `type:"string"`
12743
12744	// Indicates whether the DB instance has deletion protection enabled.
12745	//
12746	// When deletion protection is enabled, the database cannot be deleted.
12747	DeletionProtection *bool `type:"boolean"`
12748
12749	// The Active Directory domain membership records associated with the DB instance.
12750	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
12751
12752	// A list of log types that this DB instance is configured to export to CloudWatch
12753	// Logs.
12754	EnabledCloudWatchLogsExports []*string `type:"list"`
12755
12756	// Specifies the connection endpoint.
12757	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
12758
12759	// Provides the name of the database engine to use for this DB instance.
12760	Engine *string `type:"string"`
12761
12762	// Indicates the database engine version.
12763	EngineVersion *string `type:"string"`
12764
12765	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
12766	// metrics data for the DB instance.
12767	EnhancedMonitoringResourceArn *string `type:"string"`
12768
12769	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
12770	// accounts is enabled, and otherwise false.
12771	//
12772	// IAM database authentication can be enabled for the following database engines.
12773	//
12774	//    * For MySQL 5.6, minor version 5.6.34 or higher
12775	//
12776	//    * For MySQL 5.7, minor version 5.7.16 or higher
12777	//
12778	//    * Aurora 5.6 or higher
12779	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
12780
12781	// Indicates when the DB instance was created.
12782	//
12783	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12784	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12785	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12786	InstanceCreateTime *string `type:"string"`
12787
12788	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
12789	Iops *int64 `type:"integer"`
12790
12791	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
12792	// DB instance.
12793	KmsKeyId *string `type:"string"`
12794
12795	// Specifies the latest time to which a database can be restored with point-in-time
12796	// restore.
12797	//
12798	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12799	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12800	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12801	LatestRestorableTime *string `type:"string"`
12802
12803	// License model information for this DB instance.
12804	LicenseModel *string `type:"string"`
12805
12806	// Specifies the connection endpoint.
12807	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
12808
12809	// The master user name of the DB instance.
12810	MasterUsername *string `type:"string"`
12811
12812	// The upper limit to which Amazon RDS can automatically scale the storage of
12813	// the DB instance.
12814	MaxAllocatedStorage *int64 `type:"integer"`
12815
12816	// The interval, in seconds, between points when enhanced monitoring metrics
12817	// are collected for the DB instance.
12818	MonitoringInterval *int64 `type:"integer"`
12819
12820	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
12821	// metrics to CloudWatch Logs.
12822	MonitoringRoleArn *string `type:"string"`
12823
12824	// Whether the DB instance is a multiple Availability Zone deployment.
12825	MultiAz *bool `type:"boolean"`
12826
12827	// The list of option group memberships for this DB instance.
12828	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
12829
12830	// Changes to the DB instance that are currently pending.
12831	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
12832
12833	// Indicates whether Performance Insights is enabled for the DB instance.
12834	PerformanceInsightsEnabled *bool `type:"boolean"`
12835
12836	// The identifier of the AWS KMS key used to encrypt the Performance Insights
12837	// data.
12838	PerformanceInsightsKmsKeyId *string `type:"string"`
12839
12840	// The number of days to retain Performance Insights data.
12841	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
12842
12843	// The range of time each day when automated backups are created, if automated
12844	// backups are enabled.
12845	//
12846	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
12847	PreferredBackupWindow *string `type:"string"`
12848
12849	// The weekly time range during which system maintenance can occur, in Universal
12850	// Coordinated Time (UTC).
12851	//
12852	// Uses the format <day>:HH:MM-<day>:HH:MM.
12853	//
12854	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
12855	//
12856	// For example, sun:09:32-sun:10:02.
12857	PreferredMaintenanceWindow *string `type:"string"`
12858
12859	// The number of CPU cores and the number of threads per core for the DB instance
12860	// class of the DB instance.
12861	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
12862
12863	// The order in which to promote an Aurora replica to the primary instance after
12864	// a failure of the existing primary instance.
12865	PromotionTier *int64 `type:"integer"`
12866
12867	// Specifies the accessibility options for the DB instance.
12868	//
12869	// A value of true specifies an Internet-facing instance with a publicly resolvable
12870	// DNS name, which resolves to a public IP address.
12871	//
12872	// A value of false specifies an internal instance with a DNS name that resolves
12873	// to a private IP address.
12874	PubliclyAccessible *bool `type:"boolean"`
12875
12876	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
12877	// replicated as a read replica.
12878	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
12879
12880	// List of identifiers of the read replicas associated with this DB instance.
12881	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
12882
12883	// If this DB instance is a read replica, contains the identifier of the source
12884	// DB instance.
12885	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
12886
12887	// For a DB instance with multi-Availability Zone support, the name of the secondary
12888	// Availability Zone.
12889	SecondaryAvailabilityZone *string `type:"string"`
12890
12891	// The status of a read replica. If the instance isn't a read replica, this
12892	// is empty.
12893	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
12894
12895	// Specifies whether the DB instance is encrypted.
12896	StorageEncrypted *bool `type:"boolean"`
12897
12898	// The storage type for the DB instance.
12899	StorageType *string `type:"string"`
12900
12901	// The ARN from the key store with which the instance is associated for TDE
12902	// encryption.
12903	TdeCredentialArn *string `type:"string"`
12904
12905	// The time zone of the DB instance.
12906	Timezone *string `type:"string"`
12907
12908	// A list of VPC security groups that the DB instance belongs to.
12909	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
12910}
12911
12912// String returns the string representation
12913func (s AwsRdsDbInstanceDetails) String() string {
12914	return awsutil.Prettify(s)
12915}
12916
12917// GoString returns the string representation
12918func (s AwsRdsDbInstanceDetails) GoString() string {
12919	return s.String()
12920}
12921
12922// SetAllocatedStorage sets the AllocatedStorage field's value.
12923func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
12924	s.AllocatedStorage = &v
12925	return s
12926}
12927
12928// SetAssociatedRoles sets the AssociatedRoles field's value.
12929func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
12930	s.AssociatedRoles = v
12931	return s
12932}
12933
12934// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
12935func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
12936	s.AutoMinorVersionUpgrade = &v
12937	return s
12938}
12939
12940// SetAvailabilityZone sets the AvailabilityZone field's value.
12941func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
12942	s.AvailabilityZone = &v
12943	return s
12944}
12945
12946// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
12947func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
12948	s.BackupRetentionPeriod = &v
12949	return s
12950}
12951
12952// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
12953func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
12954	s.CACertificateIdentifier = &v
12955	return s
12956}
12957
12958// SetCharacterSetName sets the CharacterSetName field's value.
12959func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
12960	s.CharacterSetName = &v
12961	return s
12962}
12963
12964// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
12965func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
12966	s.CopyTagsToSnapshot = &v
12967	return s
12968}
12969
12970// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
12971func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
12972	s.DBClusterIdentifier = &v
12973	return s
12974}
12975
12976// SetDBInstanceClass sets the DBInstanceClass field's value.
12977func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
12978	s.DBInstanceClass = &v
12979	return s
12980}
12981
12982// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
12983func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
12984	s.DBInstanceIdentifier = &v
12985	return s
12986}
12987
12988// SetDBName sets the DBName field's value.
12989func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
12990	s.DBName = &v
12991	return s
12992}
12993
12994// SetDbInstancePort sets the DbInstancePort field's value.
12995func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
12996	s.DbInstancePort = &v
12997	return s
12998}
12999
13000// SetDbInstanceStatus sets the DbInstanceStatus field's value.
13001func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
13002	s.DbInstanceStatus = &v
13003	return s
13004}
13005
13006// SetDbParameterGroups sets the DbParameterGroups field's value.
13007func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
13008	s.DbParameterGroups = v
13009	return s
13010}
13011
13012// SetDbSecurityGroups sets the DbSecurityGroups field's value.
13013func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
13014	s.DbSecurityGroups = v
13015	return s
13016}
13017
13018// SetDbSubnetGroup sets the DbSubnetGroup field's value.
13019func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
13020	s.DbSubnetGroup = v
13021	return s
13022}
13023
13024// SetDbiResourceId sets the DbiResourceId field's value.
13025func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
13026	s.DbiResourceId = &v
13027	return s
13028}
13029
13030// SetDeletionProtection sets the DeletionProtection field's value.
13031func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
13032	s.DeletionProtection = &v
13033	return s
13034}
13035
13036// SetDomainMemberships sets the DomainMemberships field's value.
13037func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
13038	s.DomainMemberships = v
13039	return s
13040}
13041
13042// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
13043func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
13044	s.EnabledCloudWatchLogsExports = v
13045	return s
13046}
13047
13048// SetEndpoint sets the Endpoint field's value.
13049func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
13050	s.Endpoint = v
13051	return s
13052}
13053
13054// SetEngine sets the Engine field's value.
13055func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
13056	s.Engine = &v
13057	return s
13058}
13059
13060// SetEngineVersion sets the EngineVersion field's value.
13061func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
13062	s.EngineVersion = &v
13063	return s
13064}
13065
13066// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
13067func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
13068	s.EnhancedMonitoringResourceArn = &v
13069	return s
13070}
13071
13072// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
13073func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
13074	s.IAMDatabaseAuthenticationEnabled = &v
13075	return s
13076}
13077
13078// SetInstanceCreateTime sets the InstanceCreateTime field's value.
13079func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
13080	s.InstanceCreateTime = &v
13081	return s
13082}
13083
13084// SetIops sets the Iops field's value.
13085func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
13086	s.Iops = &v
13087	return s
13088}
13089
13090// SetKmsKeyId sets the KmsKeyId field's value.
13091func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
13092	s.KmsKeyId = &v
13093	return s
13094}
13095
13096// SetLatestRestorableTime sets the LatestRestorableTime field's value.
13097func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
13098	s.LatestRestorableTime = &v
13099	return s
13100}
13101
13102// SetLicenseModel sets the LicenseModel field's value.
13103func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
13104	s.LicenseModel = &v
13105	return s
13106}
13107
13108// SetListenerEndpoint sets the ListenerEndpoint field's value.
13109func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
13110	s.ListenerEndpoint = v
13111	return s
13112}
13113
13114// SetMasterUsername sets the MasterUsername field's value.
13115func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
13116	s.MasterUsername = &v
13117	return s
13118}
13119
13120// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
13121func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
13122	s.MaxAllocatedStorage = &v
13123	return s
13124}
13125
13126// SetMonitoringInterval sets the MonitoringInterval field's value.
13127func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
13128	s.MonitoringInterval = &v
13129	return s
13130}
13131
13132// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
13133func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
13134	s.MonitoringRoleArn = &v
13135	return s
13136}
13137
13138// SetMultiAz sets the MultiAz field's value.
13139func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
13140	s.MultiAz = &v
13141	return s
13142}
13143
13144// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
13145func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
13146	s.OptionGroupMemberships = v
13147	return s
13148}
13149
13150// SetPendingModifiedValues sets the PendingModifiedValues field's value.
13151func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
13152	s.PendingModifiedValues = v
13153	return s
13154}
13155
13156// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
13157func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
13158	s.PerformanceInsightsEnabled = &v
13159	return s
13160}
13161
13162// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
13163func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
13164	s.PerformanceInsightsKmsKeyId = &v
13165	return s
13166}
13167
13168// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
13169func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
13170	s.PerformanceInsightsRetentionPeriod = &v
13171	return s
13172}
13173
13174// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
13175func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
13176	s.PreferredBackupWindow = &v
13177	return s
13178}
13179
13180// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
13181func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
13182	s.PreferredMaintenanceWindow = &v
13183	return s
13184}
13185
13186// SetProcessorFeatures sets the ProcessorFeatures field's value.
13187func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
13188	s.ProcessorFeatures = v
13189	return s
13190}
13191
13192// SetPromotionTier sets the PromotionTier field's value.
13193func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
13194	s.PromotionTier = &v
13195	return s
13196}
13197
13198// SetPubliclyAccessible sets the PubliclyAccessible field's value.
13199func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
13200	s.PubliclyAccessible = &v
13201	return s
13202}
13203
13204// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
13205func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
13206	s.ReadReplicaDBClusterIdentifiers = v
13207	return s
13208}
13209
13210// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
13211func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
13212	s.ReadReplicaDBInstanceIdentifiers = v
13213	return s
13214}
13215
13216// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
13217func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
13218	s.ReadReplicaSourceDBInstanceIdentifier = &v
13219	return s
13220}
13221
13222// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
13223func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
13224	s.SecondaryAvailabilityZone = &v
13225	return s
13226}
13227
13228// SetStatusInfos sets the StatusInfos field's value.
13229func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
13230	s.StatusInfos = v
13231	return s
13232}
13233
13234// SetStorageEncrypted sets the StorageEncrypted field's value.
13235func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
13236	s.StorageEncrypted = &v
13237	return s
13238}
13239
13240// SetStorageType sets the StorageType field's value.
13241func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
13242	s.StorageType = &v
13243	return s
13244}
13245
13246// SetTdeCredentialArn sets the TdeCredentialArn field's value.
13247func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
13248	s.TdeCredentialArn = &v
13249	return s
13250}
13251
13252// SetTimezone sets the Timezone field's value.
13253func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
13254	s.Timezone = &v
13255	return s
13256}
13257
13258// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
13259func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
13260	s.VpcSecurityGroups = v
13261	return s
13262}
13263
13264// Specifies the connection endpoint.
13265type AwsRdsDbInstanceEndpoint struct {
13266	_ struct{} `type:"structure"`
13267
13268	// Specifies the DNS address of the DB instance.
13269	Address *string `type:"string"`
13270
13271	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
13272	HostedZoneId *string `type:"string"`
13273
13274	// Specifies the port that the database engine is listening on.
13275	Port *int64 `type:"integer"`
13276}
13277
13278// String returns the string representation
13279func (s AwsRdsDbInstanceEndpoint) String() string {
13280	return awsutil.Prettify(s)
13281}
13282
13283// GoString returns the string representation
13284func (s AwsRdsDbInstanceEndpoint) GoString() string {
13285	return s.String()
13286}
13287
13288// SetAddress sets the Address field's value.
13289func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
13290	s.Address = &v
13291	return s
13292}
13293
13294// SetHostedZoneId sets the HostedZoneId field's value.
13295func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
13296	s.HostedZoneId = &v
13297	return s
13298}
13299
13300// SetPort sets the Port field's value.
13301func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
13302	s.Port = &v
13303	return s
13304}
13305
13306// A VPC security groups that the DB instance belongs to.
13307type AwsRdsDbInstanceVpcSecurityGroup struct {
13308	_ struct{} `type:"structure"`
13309
13310	// The status of the VPC security group.
13311	Status *string `type:"string"`
13312
13313	// The name of the VPC security group.
13314	VpcSecurityGroupId *string `type:"string"`
13315}
13316
13317// String returns the string representation
13318func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
13319	return awsutil.Prettify(s)
13320}
13321
13322// GoString returns the string representation
13323func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
13324	return s.String()
13325}
13326
13327// SetStatus sets the Status field's value.
13328func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
13329	s.Status = &v
13330	return s
13331}
13332
13333// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
13334func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
13335	s.VpcSecurityGroupId = &v
13336	return s
13337}
13338
13339type AwsRdsDbOptionGroupMembership struct {
13340	_ struct{} `type:"structure"`
13341
13342	OptionGroupName *string `type:"string"`
13343
13344	Status *string `type:"string"`
13345}
13346
13347// String returns the string representation
13348func (s AwsRdsDbOptionGroupMembership) String() string {
13349	return awsutil.Prettify(s)
13350}
13351
13352// GoString returns the string representation
13353func (s AwsRdsDbOptionGroupMembership) GoString() string {
13354	return s.String()
13355}
13356
13357// SetOptionGroupName sets the OptionGroupName field's value.
13358func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
13359	s.OptionGroupName = &v
13360	return s
13361}
13362
13363// SetStatus sets the Status field's value.
13364func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
13365	s.Status = &v
13366	return s
13367}
13368
13369type AwsRdsDbParameterGroup struct {
13370	_ struct{} `type:"structure"`
13371
13372	DbParameterGroupName *string `type:"string"`
13373
13374	ParameterApplyStatus *string `type:"string"`
13375}
13376
13377// String returns the string representation
13378func (s AwsRdsDbParameterGroup) String() string {
13379	return awsutil.Prettify(s)
13380}
13381
13382// GoString returns the string representation
13383func (s AwsRdsDbParameterGroup) GoString() string {
13384	return s.String()
13385}
13386
13387// SetDbParameterGroupName sets the DbParameterGroupName field's value.
13388func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
13389	s.DbParameterGroupName = &v
13390	return s
13391}
13392
13393// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
13394func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
13395	s.ParameterApplyStatus = &v
13396	return s
13397}
13398
13399type AwsRdsDbPendingModifiedValues struct {
13400	_ struct{} `type:"structure"`
13401
13402	AllocatedStorage *int64 `type:"integer"`
13403
13404	BackupRetentionPeriod *int64 `type:"integer"`
13405
13406	CaCertificateIdentifier *string `type:"string"`
13407
13408	DbInstanceClass *string `type:"string"`
13409
13410	DbInstanceIdentifier *string `type:"string"`
13411
13412	DbSubnetGroupName *string `type:"string"`
13413
13414	EngineVersion *string `type:"string"`
13415
13416	Iops *int64 `type:"integer"`
13417
13418	LicenseModel *string `type:"string"`
13419
13420	MasterUserPassword *string `type:"string"`
13421
13422	MultiAZ *bool `type:"boolean"`
13423
13424	// Identifies the log types to enable and disable.
13425	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
13426
13427	Port *int64 `type:"integer"`
13428
13429	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
13430
13431	StorageType *string `type:"string"`
13432}
13433
13434// String returns the string representation
13435func (s AwsRdsDbPendingModifiedValues) String() string {
13436	return awsutil.Prettify(s)
13437}
13438
13439// GoString returns the string representation
13440func (s AwsRdsDbPendingModifiedValues) GoString() string {
13441	return s.String()
13442}
13443
13444// SetAllocatedStorage sets the AllocatedStorage field's value.
13445func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
13446	s.AllocatedStorage = &v
13447	return s
13448}
13449
13450// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
13451func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
13452	s.BackupRetentionPeriod = &v
13453	return s
13454}
13455
13456// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
13457func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
13458	s.CaCertificateIdentifier = &v
13459	return s
13460}
13461
13462// SetDbInstanceClass sets the DbInstanceClass field's value.
13463func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
13464	s.DbInstanceClass = &v
13465	return s
13466}
13467
13468// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
13469func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
13470	s.DbInstanceIdentifier = &v
13471	return s
13472}
13473
13474// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
13475func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
13476	s.DbSubnetGroupName = &v
13477	return s
13478}
13479
13480// SetEngineVersion sets the EngineVersion field's value.
13481func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
13482	s.EngineVersion = &v
13483	return s
13484}
13485
13486// SetIops sets the Iops field's value.
13487func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
13488	s.Iops = &v
13489	return s
13490}
13491
13492// SetLicenseModel sets the LicenseModel field's value.
13493func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
13494	s.LicenseModel = &v
13495	return s
13496}
13497
13498// SetMasterUserPassword sets the MasterUserPassword field's value.
13499func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
13500	s.MasterUserPassword = &v
13501	return s
13502}
13503
13504// SetMultiAZ sets the MultiAZ field's value.
13505func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
13506	s.MultiAZ = &v
13507	return s
13508}
13509
13510// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
13511func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
13512	s.PendingCloudWatchLogsExports = v
13513	return s
13514}
13515
13516// SetPort sets the Port field's value.
13517func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
13518	s.Port = &v
13519	return s
13520}
13521
13522// SetProcessorFeatures sets the ProcessorFeatures field's value.
13523func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
13524	s.ProcessorFeatures = v
13525	return s
13526}
13527
13528// SetStorageType sets the StorageType field's value.
13529func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
13530	s.StorageType = &v
13531	return s
13532}
13533
13534type AwsRdsDbProcessorFeature struct {
13535	_ struct{} `type:"structure"`
13536
13537	Name *string `type:"string"`
13538
13539	Value *string `type:"string"`
13540}
13541
13542// String returns the string representation
13543func (s AwsRdsDbProcessorFeature) String() string {
13544	return awsutil.Prettify(s)
13545}
13546
13547// GoString returns the string representation
13548func (s AwsRdsDbProcessorFeature) GoString() string {
13549	return s.String()
13550}
13551
13552// SetName sets the Name field's value.
13553func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
13554	s.Name = &v
13555	return s
13556}
13557
13558// SetValue sets the Value field's value.
13559func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
13560	s.Value = &v
13561	return s
13562}
13563
13564type AwsRdsDbSnapshotDetails struct {
13565	_ struct{} `type:"structure"`
13566
13567	AllocatedStorage *int64 `type:"integer"`
13568
13569	AvailabilityZone *string `type:"string"`
13570
13571	DbInstanceIdentifier *string `type:"string"`
13572
13573	DbSnapshotIdentifier *string `type:"string"`
13574
13575	DbiResourceId *string `type:"string"`
13576
13577	Encrypted *bool `type:"boolean"`
13578
13579	Engine *string `type:"string"`
13580
13581	EngineVersion *string `type:"string"`
13582
13583	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
13584
13585	InstanceCreateTime *string `type:"string"`
13586
13587	Iops *int64 `type:"integer"`
13588
13589	KmsKeyId *string `type:"string"`
13590
13591	LicenseModel *string `type:"string"`
13592
13593	MasterUsername *string `type:"string"`
13594
13595	OptionGroupName *string `type:"string"`
13596
13597	PercentProgress *int64 `type:"integer"`
13598
13599	Port *int64 `type:"integer"`
13600
13601	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
13602
13603	SnapshotCreateTime *string `type:"string"`
13604
13605	SnapshotType *string `type:"string"`
13606
13607	SourceDbSnapshotIdentifier *string `type:"string"`
13608
13609	SourceRegion *string `type:"string"`
13610
13611	Status *string `type:"string"`
13612
13613	StorageType *string `type:"string"`
13614
13615	TdeCredentialArn *string `type:"string"`
13616
13617	Timezone *string `type:"string"`
13618
13619	VpcId *string `type:"string"`
13620}
13621
13622// String returns the string representation
13623func (s AwsRdsDbSnapshotDetails) String() string {
13624	return awsutil.Prettify(s)
13625}
13626
13627// GoString returns the string representation
13628func (s AwsRdsDbSnapshotDetails) GoString() string {
13629	return s.String()
13630}
13631
13632// SetAllocatedStorage sets the AllocatedStorage field's value.
13633func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
13634	s.AllocatedStorage = &v
13635	return s
13636}
13637
13638// SetAvailabilityZone sets the AvailabilityZone field's value.
13639func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
13640	s.AvailabilityZone = &v
13641	return s
13642}
13643
13644// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
13645func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
13646	s.DbInstanceIdentifier = &v
13647	return s
13648}
13649
13650// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
13651func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
13652	s.DbSnapshotIdentifier = &v
13653	return s
13654}
13655
13656// SetDbiResourceId sets the DbiResourceId field's value.
13657func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
13658	s.DbiResourceId = &v
13659	return s
13660}
13661
13662// SetEncrypted sets the Encrypted field's value.
13663func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
13664	s.Encrypted = &v
13665	return s
13666}
13667
13668// SetEngine sets the Engine field's value.
13669func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
13670	s.Engine = &v
13671	return s
13672}
13673
13674// SetEngineVersion sets the EngineVersion field's value.
13675func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
13676	s.EngineVersion = &v
13677	return s
13678}
13679
13680// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
13681func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
13682	s.IamDatabaseAuthenticationEnabled = &v
13683	return s
13684}
13685
13686// SetInstanceCreateTime sets the InstanceCreateTime field's value.
13687func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
13688	s.InstanceCreateTime = &v
13689	return s
13690}
13691
13692// SetIops sets the Iops field's value.
13693func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
13694	s.Iops = &v
13695	return s
13696}
13697
13698// SetKmsKeyId sets the KmsKeyId field's value.
13699func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
13700	s.KmsKeyId = &v
13701	return s
13702}
13703
13704// SetLicenseModel sets the LicenseModel field's value.
13705func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
13706	s.LicenseModel = &v
13707	return s
13708}
13709
13710// SetMasterUsername sets the MasterUsername field's value.
13711func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
13712	s.MasterUsername = &v
13713	return s
13714}
13715
13716// SetOptionGroupName sets the OptionGroupName field's value.
13717func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
13718	s.OptionGroupName = &v
13719	return s
13720}
13721
13722// SetPercentProgress sets the PercentProgress field's value.
13723func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
13724	s.PercentProgress = &v
13725	return s
13726}
13727
13728// SetPort sets the Port field's value.
13729func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
13730	s.Port = &v
13731	return s
13732}
13733
13734// SetProcessorFeatures sets the ProcessorFeatures field's value.
13735func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
13736	s.ProcessorFeatures = v
13737	return s
13738}
13739
13740// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
13741func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
13742	s.SnapshotCreateTime = &v
13743	return s
13744}
13745
13746// SetSnapshotType sets the SnapshotType field's value.
13747func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
13748	s.SnapshotType = &v
13749	return s
13750}
13751
13752// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
13753func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
13754	s.SourceDbSnapshotIdentifier = &v
13755	return s
13756}
13757
13758// SetSourceRegion sets the SourceRegion field's value.
13759func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
13760	s.SourceRegion = &v
13761	return s
13762}
13763
13764// SetStatus sets the Status field's value.
13765func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
13766	s.Status = &v
13767	return s
13768}
13769
13770// SetStorageType sets the StorageType field's value.
13771func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
13772	s.StorageType = &v
13773	return s
13774}
13775
13776// SetTdeCredentialArn sets the TdeCredentialArn field's value.
13777func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
13778	s.TdeCredentialArn = &v
13779	return s
13780}
13781
13782// SetTimezone sets the Timezone field's value.
13783func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
13784	s.Timezone = &v
13785	return s
13786}
13787
13788// SetVpcId sets the VpcId field's value.
13789func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
13790	s.VpcId = &v
13791	return s
13792}
13793
13794// Information about the status of a read replica.
13795type AwsRdsDbStatusInfo struct {
13796	_ struct{} `type:"structure"`
13797
13798	// If the read replica is currently in an error state, provides the error details.
13799	Message *string `type:"string"`
13800
13801	// Whether the read replica instance is operating normally.
13802	Normal *bool `type:"boolean"`
13803
13804	// The status of the read replica instance.
13805	Status *string `type:"string"`
13806
13807	// The type of status. For a read replica, the status type is read replication.
13808	StatusType *string `type:"string"`
13809}
13810
13811// String returns the string representation
13812func (s AwsRdsDbStatusInfo) String() string {
13813	return awsutil.Prettify(s)
13814}
13815
13816// GoString returns the string representation
13817func (s AwsRdsDbStatusInfo) GoString() string {
13818	return s.String()
13819}
13820
13821// SetMessage sets the Message field's value.
13822func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
13823	s.Message = &v
13824	return s
13825}
13826
13827// SetNormal sets the Normal field's value.
13828func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
13829	s.Normal = &v
13830	return s
13831}
13832
13833// SetStatus sets the Status field's value.
13834func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
13835	s.Status = &v
13836	return s
13837}
13838
13839// SetStatusType sets the StatusType field's value.
13840func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
13841	s.StatusType = &v
13842	return s
13843}
13844
13845// Information about the subnet group for the database instance.
13846type AwsRdsDbSubnetGroup struct {
13847	_ struct{} `type:"structure"`
13848
13849	// The ARN of the subnet group.
13850	DbSubnetGroupArn *string `type:"string"`
13851
13852	// The description of the subnet group.
13853	DbSubnetGroupDescription *string `type:"string"`
13854
13855	// The name of the subnet group.
13856	DbSubnetGroupName *string `type:"string"`
13857
13858	// The status of the subnet group.
13859	SubnetGroupStatus *string `type:"string"`
13860
13861	// A list of subnets in the subnet group.
13862	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
13863
13864	// The VPC ID of the subnet group.
13865	VpcId *string `type:"string"`
13866}
13867
13868// String returns the string representation
13869func (s AwsRdsDbSubnetGroup) String() string {
13870	return awsutil.Prettify(s)
13871}
13872
13873// GoString returns the string representation
13874func (s AwsRdsDbSubnetGroup) GoString() string {
13875	return s.String()
13876}
13877
13878// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
13879func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
13880	s.DbSubnetGroupArn = &v
13881	return s
13882}
13883
13884// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
13885func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
13886	s.DbSubnetGroupDescription = &v
13887	return s
13888}
13889
13890// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
13891func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
13892	s.DbSubnetGroupName = &v
13893	return s
13894}
13895
13896// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
13897func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
13898	s.SubnetGroupStatus = &v
13899	return s
13900}
13901
13902// SetSubnets sets the Subnets field's value.
13903func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
13904	s.Subnets = v
13905	return s
13906}
13907
13908// SetVpcId sets the VpcId field's value.
13909func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
13910	s.VpcId = &v
13911	return s
13912}
13913
13914// Information about a subnet in a subnet group.
13915type AwsRdsDbSubnetGroupSubnet struct {
13916	_ struct{} `type:"structure"`
13917
13918	// Information about the Availability Zone for a subnet in the subnet group.
13919	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
13920
13921	// The identifier of a subnet in the subnet group.
13922	SubnetIdentifier *string `type:"string"`
13923
13924	// The status of a subnet in the subnet group.
13925	SubnetStatus *string `type:"string"`
13926}
13927
13928// String returns the string representation
13929func (s AwsRdsDbSubnetGroupSubnet) String() string {
13930	return awsutil.Prettify(s)
13931}
13932
13933// GoString returns the string representation
13934func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
13935	return s.String()
13936}
13937
13938// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
13939func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
13940	s.SubnetAvailabilityZone = v
13941	return s
13942}
13943
13944// SetSubnetIdentifier sets the SubnetIdentifier field's value.
13945func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
13946	s.SubnetIdentifier = &v
13947	return s
13948}
13949
13950// SetSubnetStatus sets the SubnetStatus field's value.
13951func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
13952	s.SubnetStatus = &v
13953	return s
13954}
13955
13956// An Availability Zone for a subnet in a subnet group.
13957type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
13958	_ struct{} `type:"structure"`
13959
13960	// The name of the Availability Zone for a subnet in the subnet group.
13961	Name *string `type:"string"`
13962}
13963
13964// String returns the string representation
13965func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
13966	return awsutil.Prettify(s)
13967}
13968
13969// GoString returns the string representation
13970func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
13971	return s.String()
13972}
13973
13974// SetName sets the Name field's value.
13975func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
13976	s.Name = &v
13977	return s
13978}
13979
13980// Identifies the log types to enable and disable.
13981type AwsRdsPendingCloudWatchLogsExports struct {
13982	_ struct{} `type:"structure"`
13983
13984	// A list of log types that are being disabled.
13985	LogTypesToDisable []*string `type:"list"`
13986
13987	// A list of log types that are being enabled.
13988	LogTypesToEnable []*string `type:"list"`
13989}
13990
13991// String returns the string representation
13992func (s AwsRdsPendingCloudWatchLogsExports) String() string {
13993	return awsutil.Prettify(s)
13994}
13995
13996// GoString returns the string representation
13997func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
13998	return s.String()
13999}
14000
14001// SetLogTypesToDisable sets the LogTypesToDisable field's value.
14002func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
14003	s.LogTypesToDisable = v
14004	return s
14005}
14006
14007// SetLogTypesToEnable sets the LogTypesToEnable field's value.
14008func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
14009	s.LogTypesToEnable = v
14010	return s
14011}
14012
14013// A node in an Amazon Redshift cluster.
14014type AwsRedshiftClusterClusterNode struct {
14015	_ struct{} `type:"structure"`
14016
14017	// The role of the node. A node might be a leader node or a compute node.
14018	NodeRole *string `type:"string"`
14019
14020	// The private IP address of the node.
14021	PrivateIpAddress *string `type:"string"`
14022
14023	// The public IP address of the node.
14024	PublicIpAddress *string `type:"string"`
14025}
14026
14027// String returns the string representation
14028func (s AwsRedshiftClusterClusterNode) String() string {
14029	return awsutil.Prettify(s)
14030}
14031
14032// GoString returns the string representation
14033func (s AwsRedshiftClusterClusterNode) GoString() string {
14034	return s.String()
14035}
14036
14037// SetNodeRole sets the NodeRole field's value.
14038func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
14039	s.NodeRole = &v
14040	return s
14041}
14042
14043// SetPrivateIpAddress sets the PrivateIpAddress field's value.
14044func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
14045	s.PrivateIpAddress = &v
14046	return s
14047}
14048
14049// SetPublicIpAddress sets the PublicIpAddress field's value.
14050func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
14051	s.PublicIpAddress = &v
14052	return s
14053}
14054
14055// A cluster parameter group that is associated with an Amazon Redshift cluster.
14056type AwsRedshiftClusterClusterParameterGroup struct {
14057	_ struct{} `type:"structure"`
14058
14059	// The list of parameter statuses.
14060	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
14061
14062	// The status of updates to the parameters.
14063	ParameterApplyStatus *string `type:"string"`
14064
14065	// The name of the parameter group.
14066	ParameterGroupName *string `type:"string"`
14067}
14068
14069// String returns the string representation
14070func (s AwsRedshiftClusterClusterParameterGroup) String() string {
14071	return awsutil.Prettify(s)
14072}
14073
14074// GoString returns the string representation
14075func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
14076	return s.String()
14077}
14078
14079// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
14080func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
14081	s.ClusterParameterStatusList = v
14082	return s
14083}
14084
14085// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
14086func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
14087	s.ParameterApplyStatus = &v
14088	return s
14089}
14090
14091// SetParameterGroupName sets the ParameterGroupName field's value.
14092func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
14093	s.ParameterGroupName = &v
14094	return s
14095}
14096
14097// The status of a parameter in a cluster parameter group for an Amazon Redshift
14098// cluster.
14099type AwsRedshiftClusterClusterParameterStatus struct {
14100	_ struct{} `type:"structure"`
14101
14102	// The error that prevented the parameter from being applied to the database.
14103	ParameterApplyErrorDescription *string `type:"string"`
14104
14105	// The status of the parameter. Indicates whether the parameter is in sync with
14106	// the database, waiting for a cluster reboot, or encountered an error when
14107	// it was applied.
14108	//
14109	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
14110	// | apply-error | unknown-error
14111	ParameterApplyStatus *string `type:"string"`
14112
14113	// The name of the parameter.
14114	ParameterName *string `type:"string"`
14115}
14116
14117// String returns the string representation
14118func (s AwsRedshiftClusterClusterParameterStatus) String() string {
14119	return awsutil.Prettify(s)
14120}
14121
14122// GoString returns the string representation
14123func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
14124	return s.String()
14125}
14126
14127// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
14128func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
14129	s.ParameterApplyErrorDescription = &v
14130	return s
14131}
14132
14133// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
14134func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
14135	s.ParameterApplyStatus = &v
14136	return s
14137}
14138
14139// SetParameterName sets the ParameterName field's value.
14140func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
14141	s.ParameterName = &v
14142	return s
14143}
14144
14145// A security group that is associated with the cluster.
14146type AwsRedshiftClusterClusterSecurityGroup struct {
14147	_ struct{} `type:"structure"`
14148
14149	// The name of the cluster security group.
14150	ClusterSecurityGroupName *string `type:"string"`
14151
14152	// The status of the cluster security group.
14153	Status *string `type:"string"`
14154}
14155
14156// String returns the string representation
14157func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
14158	return awsutil.Prettify(s)
14159}
14160
14161// GoString returns the string representation
14162func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
14163	return s.String()
14164}
14165
14166// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
14167func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
14168	s.ClusterSecurityGroupName = &v
14169	return s
14170}
14171
14172// SetStatus sets the Status field's value.
14173func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
14174	s.Status = &v
14175	return s
14176}
14177
14178// Information about a cross-Region snapshot copy.
14179type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
14180	_ struct{} `type:"structure"`
14181
14182	// The destination Region that snapshots are automatically copied to when cross-Region
14183	// snapshot copy is enabled.
14184	DestinationRegion *string `type:"string"`
14185
14186	// The number of days that manual snapshots are retained in the destination
14187	// region after they are copied from a source region.
14188	//
14189	// If the value is -1, then the manual snapshot is retained indefinitely.
14190	//
14191	// Valid values: Either -1 or an integer between 1 and 3,653
14192	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
14193
14194	// The number of days to retain automated snapshots in the destination Region
14195	// after they are copied from a source Region.
14196	RetentionPeriod *int64 `type:"integer"`
14197
14198	// The name of the snapshot copy grant.
14199	SnapshotCopyGrantName *string `type:"string"`
14200}
14201
14202// String returns the string representation
14203func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
14204	return awsutil.Prettify(s)
14205}
14206
14207// GoString returns the string representation
14208func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
14209	return s.String()
14210}
14211
14212// SetDestinationRegion sets the DestinationRegion field's value.
14213func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
14214	s.DestinationRegion = &v
14215	return s
14216}
14217
14218// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
14219func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
14220	s.ManualSnapshotRetentionPeriod = &v
14221	return s
14222}
14223
14224// SetRetentionPeriod sets the RetentionPeriod field's value.
14225func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
14226	s.RetentionPeriod = &v
14227	return s
14228}
14229
14230// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
14231func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
14232	s.SnapshotCopyGrantName = &v
14233	return s
14234}
14235
14236// A time windows during which maintenance was deferred for an Amazon Redshift
14237// cluster.
14238type AwsRedshiftClusterDeferredMaintenanceWindow struct {
14239	_ struct{} `type:"structure"`
14240
14241	// The end of the time window for which maintenance was deferred.
14242	//
14243	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14244	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14245	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14246	DeferMaintenanceEndTime *string `type:"string"`
14247
14248	// The identifier of the maintenance window.
14249	DeferMaintenanceIdentifier *string `type:"string"`
14250
14251	// The start of the time window for which maintenance was deferred.
14252	//
14253	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14254	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14255	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14256	DeferMaintenanceStartTime *string `type:"string"`
14257}
14258
14259// String returns the string representation
14260func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
14261	return awsutil.Prettify(s)
14262}
14263
14264// GoString returns the string representation
14265func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
14266	return s.String()
14267}
14268
14269// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
14270func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
14271	s.DeferMaintenanceEndTime = &v
14272	return s
14273}
14274
14275// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
14276func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
14277	s.DeferMaintenanceIdentifier = &v
14278	return s
14279}
14280
14281// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
14282func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
14283	s.DeferMaintenanceStartTime = &v
14284	return s
14285}
14286
14287// Details about an Amazon Redshift cluster.
14288type AwsRedshiftClusterDetails struct {
14289	_ struct{} `type:"structure"`
14290
14291	// Indicates whether major version upgrades are applied automatically to the
14292	// cluster during the maintenance window.
14293	AllowVersionUpgrade *bool `type:"boolean"`
14294
14295	// The number of days that automatic cluster snapshots are retained.
14296	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
14297
14298	// The name of the Availability Zone in which the cluster is located.
14299	AvailabilityZone *string `type:"string"`
14300
14301	// The availability status of the cluster for queries. Possible values are the
14302	// following:
14303	//
14304	//    * Available - The cluster is available for queries.
14305	//
14306	//    * Unavailable - The cluster is not available for queries.
14307	//
14308	//    * Maintenance - The cluster is intermittently available for queries due
14309	//    to maintenance activities.
14310	//
14311	//    * Modifying -The cluster is intermittently available for queries due to
14312	//    changes that modify the cluster.
14313	//
14314	//    * Failed - The cluster failed and is not available for queries.
14315	ClusterAvailabilityStatus *string `type:"string"`
14316
14317	// Indicates when the cluster was created.
14318	//
14319	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14320	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14321	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14322	ClusterCreateTime *string `type:"string"`
14323
14324	// The unique identifier of the cluster.
14325	ClusterIdentifier *string `type:"string"`
14326
14327	// The nodes in the cluster.
14328	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
14329
14330	// The list of cluster parameter groups that are associated with this cluster.
14331	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
14332
14333	// The public key for the cluster.
14334	ClusterPublicKey *string `type:"string"`
14335
14336	// The specific revision number of the database in the cluster.
14337	ClusterRevisionNumber *string `type:"string"`
14338
14339	// A list of cluster security groups that are associated with the cluster.
14340	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
14341
14342	// Information about the destination Region and retention period for the cross-Region
14343	// snapshot copy.
14344	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
14345
14346	// The current status of the cluster.
14347	//
14348	// Valid values: available | available, prep-for-resize | available, resize-cleanup
14349	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
14350	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
14351	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
14352	// storage-full | updating-hsm
14353	ClusterStatus *string `type:"string"`
14354
14355	// The name of the subnet group that is associated with the cluster. This parameter
14356	// is valid only when the cluster is in a VPC.
14357	ClusterSubnetGroupName *string `type:"string"`
14358
14359	// The version ID of the Amazon Redshift engine that runs on the cluster.
14360	ClusterVersion *string `type:"string"`
14361
14362	// The name of the initial database that was created when the cluster was created.
14363	//
14364	// The same name is returned for the life of the cluster.
14365	//
14366	// If an initial database is not specified, a database named devdev is created
14367	// by default.
14368	DBName *string `type:"string"`
14369
14370	// List of time windows during which maintenance was deferred.
14371	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
14372
14373	// Information about the status of the Elastic IP (EIP) address.
14374	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
14375
14376	// The number of nodes that you can use the elastic resize method to resize
14377	// the cluster to.
14378	ElasticResizeNumberOfNodeOptions *string `type:"string"`
14379
14380	// Indicates whether the data in the cluster is encrypted at rest.
14381	Encrypted *bool `type:"boolean"`
14382
14383	// The connection endpoint.
14384	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
14385
14386	// Indicates whether to create the cluster with enhanced VPC routing enabled.
14387	EnhancedVpcRouting *bool `type:"boolean"`
14388
14389	// Indicates when the next snapshot is expected to be taken. The cluster must
14390	// have a valid snapshot schedule and have backups enabled.
14391	//
14392	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14393	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14394	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14395	ExpectedNextSnapshotScheduleTime *string `type:"string"`
14396
14397	// The status of the next expected snapshot.
14398	//
14399	// Valid values: OnTrack | Pending
14400	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
14401
14402	// Information about whether the Amazon Redshift cluster finished applying any
14403	// changes to hardware security module (HSM) settings that were specified in
14404	// a modify cluster command.
14405	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
14406
14407	// A list of IAM roles that the cluster can use to access other AWS services.
14408	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
14409
14410	// The identifier of the AWS KMS encryption key that is used to encrypt data
14411	// in the cluster.
14412	KmsKeyId *string `type:"string"`
14413
14414	// The name of the maintenance track for the cluster.
14415	MaintenanceTrackName *string `type:"string"`
14416
14417	// The default number of days to retain a manual snapshot.
14418	//
14419	// If the value is -1, the snapshot is retained indefinitely.
14420	//
14421	// This setting doesn't change the retention period of existing snapshots.
14422	//
14423	// Valid values: Either -1 or an integer between 1 and 3,653
14424	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
14425
14426	// The master user name for the cluster. This name is used to connect to the
14427	// database that is specified in as the value of DBName.
14428	MasterUsername *string `type:"string"`
14429
14430	// Indicates the start of the next maintenance window.
14431	//
14432	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14433	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14434	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14435	NextMaintenanceWindowStartTime *string `type:"string"`
14436
14437	// The node type for the nodes in the cluster.
14438	NodeType *string `type:"string"`
14439
14440	// The number of compute nodes in the cluster.
14441	NumberOfNodes *int64 `type:"integer"`
14442
14443	// A list of cluster operations that are waiting to start.
14444	PendingActions []*string `type:"list"`
14445
14446	// A list of changes to the cluster that are currently pending.
14447	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
14448
14449	// The weekly time range, in Universal Coordinated Time (UTC), during which
14450	// system maintenance can occur.
14451	//
14452	// Format: <day>:HH:MM-<day>:HH:MM
14453	//
14454	// For the day values, use mon | tue | wed | thu | fri | sat | sun
14455	//
14456	// For example, sun:09:32-sun:10:02
14457	PreferredMaintenanceWindow *string `type:"string"`
14458
14459	// Whether the cluster can be accessed from a public network.
14460	PubliclyAccessible *bool `type:"boolean"`
14461
14462	// Information about the resize operation for the cluster.
14463	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
14464
14465	// Information about the status of a cluster restore action. Only applies to
14466	// a cluster that was created by restoring a snapshot.
14467	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
14468
14469	// A unique identifier for the cluster snapshot schedule.
14470	SnapshotScheduleIdentifier *string `type:"string"`
14471
14472	// The current state of the cluster snapshot schedule.
14473	//
14474	// Valid values: MODIFYING | ACTIVE | FAILED
14475	SnapshotScheduleState *string `type:"string"`
14476
14477	// The identifier of the VPC that the cluster is in, if the cluster is in a
14478	// VPC.
14479	VpcId *string `type:"string"`
14480
14481	// The list of VPC security groups that the cluster belongs to, if the cluster
14482	// is in a VPC.
14483	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
14484}
14485
14486// String returns the string representation
14487func (s AwsRedshiftClusterDetails) String() string {
14488	return awsutil.Prettify(s)
14489}
14490
14491// GoString returns the string representation
14492func (s AwsRedshiftClusterDetails) GoString() string {
14493	return s.String()
14494}
14495
14496// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
14497func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
14498	s.AllowVersionUpgrade = &v
14499	return s
14500}
14501
14502// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
14503func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
14504	s.AutomatedSnapshotRetentionPeriod = &v
14505	return s
14506}
14507
14508// SetAvailabilityZone sets the AvailabilityZone field's value.
14509func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
14510	s.AvailabilityZone = &v
14511	return s
14512}
14513
14514// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
14515func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
14516	s.ClusterAvailabilityStatus = &v
14517	return s
14518}
14519
14520// SetClusterCreateTime sets the ClusterCreateTime field's value.
14521func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
14522	s.ClusterCreateTime = &v
14523	return s
14524}
14525
14526// SetClusterIdentifier sets the ClusterIdentifier field's value.
14527func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
14528	s.ClusterIdentifier = &v
14529	return s
14530}
14531
14532// SetClusterNodes sets the ClusterNodes field's value.
14533func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
14534	s.ClusterNodes = v
14535	return s
14536}
14537
14538// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
14539func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
14540	s.ClusterParameterGroups = v
14541	return s
14542}
14543
14544// SetClusterPublicKey sets the ClusterPublicKey field's value.
14545func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
14546	s.ClusterPublicKey = &v
14547	return s
14548}
14549
14550// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
14551func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
14552	s.ClusterRevisionNumber = &v
14553	return s
14554}
14555
14556// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
14557func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
14558	s.ClusterSecurityGroups = v
14559	return s
14560}
14561
14562// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
14563func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
14564	s.ClusterSnapshotCopyStatus = v
14565	return s
14566}
14567
14568// SetClusterStatus sets the ClusterStatus field's value.
14569func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
14570	s.ClusterStatus = &v
14571	return s
14572}
14573
14574// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
14575func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
14576	s.ClusterSubnetGroupName = &v
14577	return s
14578}
14579
14580// SetClusterVersion sets the ClusterVersion field's value.
14581func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
14582	s.ClusterVersion = &v
14583	return s
14584}
14585
14586// SetDBName sets the DBName field's value.
14587func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
14588	s.DBName = &v
14589	return s
14590}
14591
14592// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
14593func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
14594	s.DeferredMaintenanceWindows = v
14595	return s
14596}
14597
14598// SetElasticIpStatus sets the ElasticIpStatus field's value.
14599func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
14600	s.ElasticIpStatus = v
14601	return s
14602}
14603
14604// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
14605func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
14606	s.ElasticResizeNumberOfNodeOptions = &v
14607	return s
14608}
14609
14610// SetEncrypted sets the Encrypted field's value.
14611func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
14612	s.Encrypted = &v
14613	return s
14614}
14615
14616// SetEndpoint sets the Endpoint field's value.
14617func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
14618	s.Endpoint = v
14619	return s
14620}
14621
14622// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
14623func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
14624	s.EnhancedVpcRouting = &v
14625	return s
14626}
14627
14628// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
14629func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
14630	s.ExpectedNextSnapshotScheduleTime = &v
14631	return s
14632}
14633
14634// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
14635func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
14636	s.ExpectedNextSnapshotScheduleTimeStatus = &v
14637	return s
14638}
14639
14640// SetHsmStatus sets the HsmStatus field's value.
14641func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
14642	s.HsmStatus = v
14643	return s
14644}
14645
14646// SetIamRoles sets the IamRoles field's value.
14647func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
14648	s.IamRoles = v
14649	return s
14650}
14651
14652// SetKmsKeyId sets the KmsKeyId field's value.
14653func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
14654	s.KmsKeyId = &v
14655	return s
14656}
14657
14658// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
14659func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
14660	s.MaintenanceTrackName = &v
14661	return s
14662}
14663
14664// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
14665func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
14666	s.ManualSnapshotRetentionPeriod = &v
14667	return s
14668}
14669
14670// SetMasterUsername sets the MasterUsername field's value.
14671func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
14672	s.MasterUsername = &v
14673	return s
14674}
14675
14676// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
14677func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
14678	s.NextMaintenanceWindowStartTime = &v
14679	return s
14680}
14681
14682// SetNodeType sets the NodeType field's value.
14683func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
14684	s.NodeType = &v
14685	return s
14686}
14687
14688// SetNumberOfNodes sets the NumberOfNodes field's value.
14689func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
14690	s.NumberOfNodes = &v
14691	return s
14692}
14693
14694// SetPendingActions sets the PendingActions field's value.
14695func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
14696	s.PendingActions = v
14697	return s
14698}
14699
14700// SetPendingModifiedValues sets the PendingModifiedValues field's value.
14701func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
14702	s.PendingModifiedValues = v
14703	return s
14704}
14705
14706// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14707func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
14708	s.PreferredMaintenanceWindow = &v
14709	return s
14710}
14711
14712// SetPubliclyAccessible sets the PubliclyAccessible field's value.
14713func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
14714	s.PubliclyAccessible = &v
14715	return s
14716}
14717
14718// SetResizeInfo sets the ResizeInfo field's value.
14719func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
14720	s.ResizeInfo = v
14721	return s
14722}
14723
14724// SetRestoreStatus sets the RestoreStatus field's value.
14725func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
14726	s.RestoreStatus = v
14727	return s
14728}
14729
14730// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
14731func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
14732	s.SnapshotScheduleIdentifier = &v
14733	return s
14734}
14735
14736// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
14737func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
14738	s.SnapshotScheduleState = &v
14739	return s
14740}
14741
14742// SetVpcId sets the VpcId field's value.
14743func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
14744	s.VpcId = &v
14745	return s
14746}
14747
14748// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
14749func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
14750	s.VpcSecurityGroups = v
14751	return s
14752}
14753
14754// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
14755type AwsRedshiftClusterElasticIpStatus struct {
14756	_ struct{} `type:"structure"`
14757
14758	// The elastic IP address for the cluster.
14759	ElasticIp *string `type:"string"`
14760
14761	// The status of the elastic IP address.
14762	Status *string `type:"string"`
14763}
14764
14765// String returns the string representation
14766func (s AwsRedshiftClusterElasticIpStatus) String() string {
14767	return awsutil.Prettify(s)
14768}
14769
14770// GoString returns the string representation
14771func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
14772	return s.String()
14773}
14774
14775// SetElasticIp sets the ElasticIp field's value.
14776func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
14777	s.ElasticIp = &v
14778	return s
14779}
14780
14781// SetStatus sets the Status field's value.
14782func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
14783	s.Status = &v
14784	return s
14785}
14786
14787// The connection endpoint for an Amazon Redshift cluster.
14788type AwsRedshiftClusterEndpoint struct {
14789	_ struct{} `type:"structure"`
14790
14791	// The DNS address of the cluster.
14792	Address *string `type:"string"`
14793
14794	// The port that the database engine listens on.
14795	Port *int64 `type:"integer"`
14796}
14797
14798// String returns the string representation
14799func (s AwsRedshiftClusterEndpoint) String() string {
14800	return awsutil.Prettify(s)
14801}
14802
14803// GoString returns the string representation
14804func (s AwsRedshiftClusterEndpoint) GoString() string {
14805	return s.String()
14806}
14807
14808// SetAddress sets the Address field's value.
14809func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
14810	s.Address = &v
14811	return s
14812}
14813
14814// SetPort sets the Port field's value.
14815func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
14816	s.Port = &v
14817	return s
14818}
14819
14820// Information about whether an Amazon Redshift cluster finished applying any
14821// hardware changes to security module (HSM) settings that were specified in
14822// a modify cluster command.
14823type AwsRedshiftClusterHsmStatus struct {
14824	_ struct{} `type:"structure"`
14825
14826	// The name of the HSM client certificate that the Amazon Redshift cluster uses
14827	// to retrieve the data encryption keys that are stored in an HSM.
14828	HsmClientCertificateIdentifier *string `type:"string"`
14829
14830	// The name of the HSM configuration that contains the information that the
14831	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
14832	HsmConfigurationIdentifier *string `type:"string"`
14833
14834	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
14835	// settings changes specified in a modify cluster command.
14836	//
14837	// Type: String
14838	//
14839	// Valid values: active | applying
14840	Status *string `type:"string"`
14841}
14842
14843// String returns the string representation
14844func (s AwsRedshiftClusterHsmStatus) String() string {
14845	return awsutil.Prettify(s)
14846}
14847
14848// GoString returns the string representation
14849func (s AwsRedshiftClusterHsmStatus) GoString() string {
14850	return s.String()
14851}
14852
14853// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
14854func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
14855	s.HsmClientCertificateIdentifier = &v
14856	return s
14857}
14858
14859// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
14860func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
14861	s.HsmConfigurationIdentifier = &v
14862	return s
14863}
14864
14865// SetStatus sets the Status field's value.
14866func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
14867	s.Status = &v
14868	return s
14869}
14870
14871// An IAM role that the cluster can use to access other AWS services.
14872type AwsRedshiftClusterIamRole struct {
14873	_ struct{} `type:"structure"`
14874
14875	// The status of the IAM role's association with the cluster.
14876	//
14877	// Valid values: in-sync | adding | removing
14878	ApplyStatus *string `type:"string"`
14879
14880	// The ARN of the IAM role.
14881	IamRoleArn *string `type:"string"`
14882}
14883
14884// String returns the string representation
14885func (s AwsRedshiftClusterIamRole) String() string {
14886	return awsutil.Prettify(s)
14887}
14888
14889// GoString returns the string representation
14890func (s AwsRedshiftClusterIamRole) GoString() string {
14891	return s.String()
14892}
14893
14894// SetApplyStatus sets the ApplyStatus field's value.
14895func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
14896	s.ApplyStatus = &v
14897	return s
14898}
14899
14900// SetIamRoleArn sets the IamRoleArn field's value.
14901func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
14902	s.IamRoleArn = &v
14903	return s
14904}
14905
14906// Changes to the Amazon Redshift cluster that are currently pending.
14907type AwsRedshiftClusterPendingModifiedValues struct {
14908	_ struct{} `type:"structure"`
14909
14910	// The pending or in-progress change to the automated snapshot retention period.
14911	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
14912
14913	// The pending or in-progress change to the identifier for the cluster.
14914	ClusterIdentifier *string `type:"string"`
14915
14916	// The pending or in-progress change to the cluster type.
14917	ClusterType *string `type:"string"`
14918
14919	// The pending or in-progress change to the service version.
14920	ClusterVersion *string `type:"string"`
14921
14922	// The encryption type for a cluster.
14923	EncryptionType *string `type:"string"`
14924
14925	// Indicates whether to create the cluster with enhanced VPC routing enabled.
14926	EnhancedVpcRouting *bool `type:"boolean"`
14927
14928	// The name of the maintenance track that the cluster changes to during the
14929	// next maintenance window.
14930	MaintenanceTrackName *string `type:"string"`
14931
14932	// The pending or in-progress change to the master user password for the cluster.
14933	MasterUserPassword *string `type:"string"`
14934
14935	// The pending or in-progress change to the cluster's node type.
14936	NodeType *string `type:"string"`
14937
14938	// The pending or in-progress change to the number of nodes in the cluster.
14939	NumberOfNodes *int64 `type:"integer"`
14940
14941	// The pending or in-progress change to whether the cluster can be connected
14942	// to from the public network.
14943	PubliclyAccessible *bool `type:"boolean"`
14944}
14945
14946// String returns the string representation
14947func (s AwsRedshiftClusterPendingModifiedValues) String() string {
14948	return awsutil.Prettify(s)
14949}
14950
14951// GoString returns the string representation
14952func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
14953	return s.String()
14954}
14955
14956// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
14957func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
14958	s.AutomatedSnapshotRetentionPeriod = &v
14959	return s
14960}
14961
14962// SetClusterIdentifier sets the ClusterIdentifier field's value.
14963func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
14964	s.ClusterIdentifier = &v
14965	return s
14966}
14967
14968// SetClusterType sets the ClusterType field's value.
14969func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
14970	s.ClusterType = &v
14971	return s
14972}
14973
14974// SetClusterVersion sets the ClusterVersion field's value.
14975func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
14976	s.ClusterVersion = &v
14977	return s
14978}
14979
14980// SetEncryptionType sets the EncryptionType field's value.
14981func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
14982	s.EncryptionType = &v
14983	return s
14984}
14985
14986// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
14987func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
14988	s.EnhancedVpcRouting = &v
14989	return s
14990}
14991
14992// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
14993func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
14994	s.MaintenanceTrackName = &v
14995	return s
14996}
14997
14998// SetMasterUserPassword sets the MasterUserPassword field's value.
14999func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
15000	s.MasterUserPassword = &v
15001	return s
15002}
15003
15004// SetNodeType sets the NodeType field's value.
15005func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
15006	s.NodeType = &v
15007	return s
15008}
15009
15010// SetNumberOfNodes sets the NumberOfNodes field's value.
15011func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
15012	s.NumberOfNodes = &v
15013	return s
15014}
15015
15016// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15017func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
15018	s.PubliclyAccessible = &v
15019	return s
15020}
15021
15022// Information about the resize operation for the cluster.
15023type AwsRedshiftClusterResizeInfo struct {
15024	_ struct{} `type:"structure"`
15025
15026	// Indicates whether the resize operation can be canceled.
15027	AllowCancelResize *bool `type:"boolean"`
15028
15029	// The type of resize operation.
15030	//
15031	// Valid values: ClassicResize
15032	ResizeType *string `type:"string"`
15033}
15034
15035// String returns the string representation
15036func (s AwsRedshiftClusterResizeInfo) String() string {
15037	return awsutil.Prettify(s)
15038}
15039
15040// GoString returns the string representation
15041func (s AwsRedshiftClusterResizeInfo) GoString() string {
15042	return s.String()
15043}
15044
15045// SetAllowCancelResize sets the AllowCancelResize field's value.
15046func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
15047	s.AllowCancelResize = &v
15048	return s
15049}
15050
15051// SetResizeType sets the ResizeType field's value.
15052func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
15053	s.ResizeType = &v
15054	return s
15055}
15056
15057// Information about the status of a cluster restore action. It only applies
15058// if the cluster was created by restoring a snapshot.
15059type AwsRedshiftClusterRestoreStatus struct {
15060	_ struct{} `type:"structure"`
15061
15062	// The number of megabytes per second being transferred from the backup storage.
15063	// Returns the average rate for a completed backup.
15064	//
15065	// This field is only updated when you restore to DC2 and DS2 node types.
15066	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
15067
15068	// The amount of time an in-progress restore has been running, or the amount
15069	// of time it took a completed restore to finish.
15070	//
15071	// This field is only updated when you restore to DC2 and DS2 node types.
15072	ElapsedTimeInSeconds *int64 `type:"long"`
15073
15074	// The estimate of the time remaining before the restore is complete. Returns
15075	// 0 for a completed restore.
15076	//
15077	// This field is only updated when you restore to DC2 and DS2 node types.
15078	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
15079
15080	// The number of megabytes that were transferred from snapshot storage.
15081	//
15082	// This field is only updated when you restore to DC2 and DS2 node types.
15083	ProgressInMegaBytes *int64 `type:"long"`
15084
15085	// The size of the set of snapshot data that was used to restore the cluster.
15086	//
15087	// This field is only updated when you restore to DC2 and DS2 node types.
15088	SnapshotSizeInMegaBytes *int64 `type:"long"`
15089
15090	// The status of the restore action.
15091	//
15092	// Valid values: starting | restoring | completed | failed
15093	Status *string `type:"string"`
15094}
15095
15096// String returns the string representation
15097func (s AwsRedshiftClusterRestoreStatus) String() string {
15098	return awsutil.Prettify(s)
15099}
15100
15101// GoString returns the string representation
15102func (s AwsRedshiftClusterRestoreStatus) GoString() string {
15103	return s.String()
15104}
15105
15106// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
15107func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
15108	s.CurrentRestoreRateInMegaBytesPerSecond = &v
15109	return s
15110}
15111
15112// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
15113func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
15114	s.ElapsedTimeInSeconds = &v
15115	return s
15116}
15117
15118// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
15119func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
15120	s.EstimatedTimeToCompletionInSeconds = &v
15121	return s
15122}
15123
15124// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
15125func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
15126	s.ProgressInMegaBytes = &v
15127	return s
15128}
15129
15130// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
15131func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
15132	s.SnapshotSizeInMegaBytes = &v
15133	return s
15134}
15135
15136// SetStatus sets the Status field's value.
15137func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
15138	s.Status = &v
15139	return s
15140}
15141
15142// A VPC security group that the cluster belongs to, if the cluster is in a
15143// VPC.
15144type AwsRedshiftClusterVpcSecurityGroup struct {
15145	_ struct{} `type:"structure"`
15146
15147	// The status of the VPC security group.
15148	Status *string `type:"string"`
15149
15150	// The identifier of the VPC security group.
15151	VpcSecurityGroupId *string `type:"string"`
15152}
15153
15154// String returns the string representation
15155func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
15156	return awsutil.Prettify(s)
15157}
15158
15159// GoString returns the string representation
15160func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
15161	return s.String()
15162}
15163
15164// SetStatus sets the Status field's value.
15165func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
15166	s.Status = &v
15167	return s
15168}
15169
15170// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
15171func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
15172	s.VpcSecurityGroupId = &v
15173	return s
15174}
15175
15176// The details of an Amazon S3 bucket.
15177type AwsS3BucketDetails struct {
15178	_ struct{} `type:"structure"`
15179
15180	// Indicates when the S3 bucket was created.
15181	//
15182	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15183	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15184	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15185	CreatedAt *string `type:"string"`
15186
15187	// The canonical user ID of the owner of the S3 bucket.
15188	OwnerId *string `type:"string"`
15189
15190	// The display name of the owner of the S3 bucket.
15191	OwnerName *string `type:"string"`
15192
15193	// The encryption rules that are applied to the S3 bucket.
15194	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
15195}
15196
15197// String returns the string representation
15198func (s AwsS3BucketDetails) String() string {
15199	return awsutil.Prettify(s)
15200}
15201
15202// GoString returns the string representation
15203func (s AwsS3BucketDetails) GoString() string {
15204	return s.String()
15205}
15206
15207// SetCreatedAt sets the CreatedAt field's value.
15208func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
15209	s.CreatedAt = &v
15210	return s
15211}
15212
15213// SetOwnerId sets the OwnerId field's value.
15214func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
15215	s.OwnerId = &v
15216	return s
15217}
15218
15219// SetOwnerName sets the OwnerName field's value.
15220func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
15221	s.OwnerName = &v
15222	return s
15223}
15224
15225// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
15226func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
15227	s.ServerSideEncryptionConfiguration = v
15228	return s
15229}
15230
15231// Specifies the default server-side encryption to apply to new objects in the
15232// bucket.
15233type AwsS3BucketServerSideEncryptionByDefault struct {
15234	_ struct{} `type:"structure"`
15235
15236	// AWS KMS customer master key (CMK) ID to use for the default encryption.
15237	KMSMasterKeyID *string `type:"string"`
15238
15239	// Server-side encryption algorithm to use for the default encryption.
15240	SSEAlgorithm *string `type:"string"`
15241}
15242
15243// String returns the string representation
15244func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
15245	return awsutil.Prettify(s)
15246}
15247
15248// GoString returns the string representation
15249func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
15250	return s.String()
15251}
15252
15253// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
15254func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
15255	s.KMSMasterKeyID = &v
15256	return s
15257}
15258
15259// SetSSEAlgorithm sets the SSEAlgorithm field's value.
15260func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
15261	s.SSEAlgorithm = &v
15262	return s
15263}
15264
15265// The encryption configuration for the S3 bucket.
15266type AwsS3BucketServerSideEncryptionConfiguration struct {
15267	_ struct{} `type:"structure"`
15268
15269	// The encryption rules that are applied to the S3 bucket.
15270	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
15271}
15272
15273// String returns the string representation
15274func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
15275	return awsutil.Prettify(s)
15276}
15277
15278// GoString returns the string representation
15279func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
15280	return s.String()
15281}
15282
15283// SetRules sets the Rules field's value.
15284func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
15285	s.Rules = v
15286	return s
15287}
15288
15289// An encryption rule to apply to the S3 bucket.
15290type AwsS3BucketServerSideEncryptionRule struct {
15291	_ struct{} `type:"structure"`
15292
15293	// Specifies the default server-side encryption to apply to new objects in the
15294	// bucket. If a PUT object request doesn't specify any server-side encryption,
15295	// this default encryption is applied.
15296	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
15297}
15298
15299// String returns the string representation
15300func (s AwsS3BucketServerSideEncryptionRule) String() string {
15301	return awsutil.Prettify(s)
15302}
15303
15304// GoString returns the string representation
15305func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
15306	return s.String()
15307}
15308
15309// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
15310func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
15311	s.ApplyServerSideEncryptionByDefault = v
15312	return s
15313}
15314
15315// Details about an Amazon S3 object.
15316type AwsS3ObjectDetails struct {
15317	_ struct{} `type:"structure"`
15318
15319	// A standard MIME type describing the format of the object data.
15320	ContentType *string `type:"string"`
15321
15322	// The opaque identifier assigned by a web server to a specific version of a
15323	// resource found at a URL.
15324	ETag *string `type:"string"`
15325
15326	// Indicates when the object was last modified.
15327	//
15328	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15329	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15330	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15331	LastModified *string `type:"string"`
15332
15333	// The identifier of the AWS Key Management Service (AWS KMS) symmetric customer
15334	// managed customer master key (CMK) that was used for the object.
15335	SSEKMSKeyId *string `type:"string"`
15336
15337	// If the object is stored using server-side encryption, the value of the server-side
15338	// encryption algorithm used when storing this object in Amazon S3.
15339	ServerSideEncryption *string `type:"string"`
15340
15341	// The version of the object.
15342	VersionId *string `type:"string"`
15343}
15344
15345// String returns the string representation
15346func (s AwsS3ObjectDetails) String() string {
15347	return awsutil.Prettify(s)
15348}
15349
15350// GoString returns the string representation
15351func (s AwsS3ObjectDetails) GoString() string {
15352	return s.String()
15353}
15354
15355// SetContentType sets the ContentType field's value.
15356func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
15357	s.ContentType = &v
15358	return s
15359}
15360
15361// SetETag sets the ETag field's value.
15362func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
15363	s.ETag = &v
15364	return s
15365}
15366
15367// SetLastModified sets the LastModified field's value.
15368func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
15369	s.LastModified = &v
15370	return s
15371}
15372
15373// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
15374func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
15375	s.SSEKMSKeyId = &v
15376	return s
15377}
15378
15379// SetServerSideEncryption sets the ServerSideEncryption field's value.
15380func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
15381	s.ServerSideEncryption = &v
15382	return s
15383}
15384
15385// SetVersionId sets the VersionId field's value.
15386func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
15387	s.VersionId = &v
15388	return s
15389}
15390
15391// Details about an AWS Secrets Manager secret.
15392type AwsSecretsManagerSecretDetails struct {
15393	_ struct{} `type:"structure"`
15394
15395	// Whether the secret is deleted.
15396	Deleted *bool `type:"boolean"`
15397
15398	// The user-provided description of the secret.
15399	Description *string `type:"string"`
15400
15401	// The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to
15402	// encrypt the SecretString or SecretBinary values for versions of this secret.
15403	KmsKeyId *string `type:"string"`
15404
15405	// The name of the secret.
15406	Name *string `type:"string"`
15407
15408	// Whether rotation is enabled.
15409	RotationEnabled *bool `type:"boolean"`
15410
15411	// The ARN of the Lambda function that rotates the secret.
15412	RotationLambdaArn *string `type:"string"`
15413
15414	// Whether the rotation occurred within the specified rotation frequency.
15415	RotationOccurredWithinFrequency *bool `type:"boolean"`
15416
15417	// Defines the rotation schedule for the secret.
15418	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
15419}
15420
15421// String returns the string representation
15422func (s AwsSecretsManagerSecretDetails) String() string {
15423	return awsutil.Prettify(s)
15424}
15425
15426// GoString returns the string representation
15427func (s AwsSecretsManagerSecretDetails) GoString() string {
15428	return s.String()
15429}
15430
15431// SetDeleted sets the Deleted field's value.
15432func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
15433	s.Deleted = &v
15434	return s
15435}
15436
15437// SetDescription sets the Description field's value.
15438func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
15439	s.Description = &v
15440	return s
15441}
15442
15443// SetKmsKeyId sets the KmsKeyId field's value.
15444func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
15445	s.KmsKeyId = &v
15446	return s
15447}
15448
15449// SetName sets the Name field's value.
15450func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
15451	s.Name = &v
15452	return s
15453}
15454
15455// SetRotationEnabled sets the RotationEnabled field's value.
15456func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
15457	s.RotationEnabled = &v
15458	return s
15459}
15460
15461// SetRotationLambdaArn sets the RotationLambdaArn field's value.
15462func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
15463	s.RotationLambdaArn = &v
15464	return s
15465}
15466
15467// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
15468func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
15469	s.RotationOccurredWithinFrequency = &v
15470	return s
15471}
15472
15473// SetRotationRules sets the RotationRules field's value.
15474func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
15475	s.RotationRules = v
15476	return s
15477}
15478
15479// Defines the rotation schedule for the secret.
15480type AwsSecretsManagerSecretRotationRules struct {
15481	_ struct{} `type:"structure"`
15482
15483	// The number of days after the previous rotation to rotate the secret.
15484	AutomaticallyAfterDays *int64 `type:"integer"`
15485}
15486
15487// String returns the string representation
15488func (s AwsSecretsManagerSecretRotationRules) String() string {
15489	return awsutil.Prettify(s)
15490}
15491
15492// GoString returns the string representation
15493func (s AwsSecretsManagerSecretRotationRules) GoString() string {
15494	return s.String()
15495}
15496
15497// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
15498func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
15499	s.AutomaticallyAfterDays = &v
15500	return s
15501}
15502
15503// Provides consistent format for the contents of the Security Hub-aggregated
15504// findings. AwsSecurityFinding format enables you to share findings between
15505// AWS security services and third-party solutions, and security standards checks.
15506//
15507// A finding is a potential security issue generated either by AWS services
15508// (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated
15509// third-party solutions and standards checks.
15510type AwsSecurityFinding struct {
15511	_ struct{} `type:"structure"`
15512
15513	// The AWS account ID that a finding is generated in.
15514	//
15515	// AwsAccountId is a required field
15516	AwsAccountId *string `type:"string" required:"true"`
15517
15518	// This data type is exclusive to findings that are generated as the result
15519	// of a check run against a specific rule in a supported security standard,
15520	// such as CIS AWS Foundations. Contains security standard-related finding details.
15521	Compliance *Compliance `type:"structure"`
15522
15523	// A finding's confidence. Confidence is defined as the likelihood that a finding
15524	// accurately identifies the behavior or issue that it was intended to identify.
15525	//
15526	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
15527	// zero percent confidence and 100 means 100 percent confidence.
15528	Confidence *int64 `type:"integer"`
15529
15530	// Indicates when the security-findings provider created the potential security
15531	// issue that a finding captured.
15532	//
15533	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15534	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15535	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15536	//
15537	// CreatedAt is a required field
15538	CreatedAt *string `type:"string" required:"true"`
15539
15540	// The level of importance assigned to the resources associated with the finding.
15541	//
15542	// A score of 0 means that the underlying resources have no criticality, and
15543	// a score of 100 is reserved for the most critical resources.
15544	Criticality *int64 `type:"integer"`
15545
15546	// A finding's description.
15547	//
15548	// In this release, Description is a required property.
15549	//
15550	// Description is a required field
15551	Description *string `type:"string" required:"true"`
15552
15553	// Indicates when the security-findings provider first observed the potential
15554	// security issue that a finding captured.
15555	//
15556	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15557	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15558	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15559	FirstObservedAt *string `type:"string"`
15560
15561	// The identifier for the solution-specific component (a discrete unit of logic)
15562	// that generated a finding. In various security-findings providers' solutions,
15563	// this generator can be called a rule, a check, a detector, a plugin, etc.
15564	//
15565	// GeneratorId is a required field
15566	GeneratorId *string `type:"string" required:"true"`
15567
15568	// The security findings provider-specific identifier for a finding.
15569	//
15570	// Id is a required field
15571	Id *string `type:"string" required:"true"`
15572
15573	// Indicates when the security-findings provider most recently observed the
15574	// potential security issue that a finding captured.
15575	//
15576	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15577	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15578	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15579	LastObservedAt *string `type:"string"`
15580
15581	// A list of malware related to a finding.
15582	Malware []*Malware `type:"list"`
15583
15584	// The details of network-related information about a finding.
15585	Network *Network `type:"structure"`
15586
15587	// Provides information about a network path that is relevant to a finding.
15588	// Each entry under NetworkPath represents a component of that path.
15589	NetworkPath []*NetworkPathComponent `type:"list"`
15590
15591	// A user-defined note added to a finding.
15592	Note *Note `type:"structure"`
15593
15594	// Provides an overview of the patch compliance status for an instance against
15595	// a selected compliance standard.
15596	PatchSummary *PatchSummary `type:"structure"`
15597
15598	// The details of process-related information about a finding.
15599	Process *ProcessDetails `type:"structure"`
15600
15601	// The ARN generated by Security Hub that uniquely identifies a product that
15602	// generates findings. This can be the ARN for a third-party product that is
15603	// integrated with Security Hub, or the ARN for a custom integration.
15604	//
15605	// ProductArn is a required field
15606	ProductArn *string `type:"string" required:"true"`
15607
15608	// A data type where security-findings providers can include additional solution-specific
15609	// details that aren't part of the defined AwsSecurityFinding format.
15610	ProductFields map[string]*string `type:"map"`
15611
15612	// The record state of a finding.
15613	RecordState *string `type:"string" enum:"RecordState"`
15614
15615	// A list of related findings.
15616	RelatedFindings []*RelatedFinding `type:"list"`
15617
15618	// A data type that describes the remediation options for a finding.
15619	Remediation *Remediation `type:"structure"`
15620
15621	// A set of resource data types that describe the resources that the finding
15622	// refers to.
15623	//
15624	// Resources is a required field
15625	Resources []*Resource `type:"list" required:"true"`
15626
15627	// The schema version that a finding is formatted for.
15628	//
15629	// SchemaVersion is a required field
15630	SchemaVersion *string `type:"string" required:"true"`
15631
15632	// A finding's severity.
15633	//
15634	// Severity is a required field
15635	Severity *Severity `type:"structure" required:"true"`
15636
15637	// A URL that links to a page about the current finding in the security-findings
15638	// provider's solution.
15639	SourceUrl *string `type:"string"`
15640
15641	// Threat intelligence details related to a finding.
15642	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
15643
15644	// A finding's title.
15645	//
15646	// In this release, Title is a required property.
15647	//
15648	// Title is a required field
15649	Title *string `type:"string" required:"true"`
15650
15651	// One or more finding types in the format of namespace/category/classifier
15652	// that classify a finding.
15653	//
15654	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
15655	// | Unusual Behaviors | Sensitive Data Identifications
15656	//
15657	// Types is a required field
15658	Types []*string `type:"list" required:"true"`
15659
15660	// Indicates when the security-findings provider last updated the finding record.
15661	//
15662	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15663	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15664	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15665	//
15666	// UpdatedAt is a required field
15667	UpdatedAt *string `type:"string" required:"true"`
15668
15669	// A list of name/value string pairs associated with the finding. These are
15670	// custom, user-defined fields added to a finding.
15671	UserDefinedFields map[string]*string `type:"map"`
15672
15673	// Indicates the veracity of a finding.
15674	VerificationState *string `type:"string" enum:"VerificationState"`
15675
15676	// Provides a list of vulnerabilities associated with the findings.
15677	Vulnerabilities []*Vulnerability `type:"list"`
15678
15679	// Provides information about the status of the investigation into a finding.
15680	Workflow *Workflow `type:"structure"`
15681
15682	// The workflow state of a finding.
15683	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
15684}
15685
15686// String returns the string representation
15687func (s AwsSecurityFinding) String() string {
15688	return awsutil.Prettify(s)
15689}
15690
15691// GoString returns the string representation
15692func (s AwsSecurityFinding) GoString() string {
15693	return s.String()
15694}
15695
15696// Validate inspects the fields of the type to determine if they are valid.
15697func (s *AwsSecurityFinding) Validate() error {
15698	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
15699	if s.AwsAccountId == nil {
15700		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
15701	}
15702	if s.CreatedAt == nil {
15703		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
15704	}
15705	if s.Description == nil {
15706		invalidParams.Add(request.NewErrParamRequired("Description"))
15707	}
15708	if s.GeneratorId == nil {
15709		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
15710	}
15711	if s.Id == nil {
15712		invalidParams.Add(request.NewErrParamRequired("Id"))
15713	}
15714	if s.ProductArn == nil {
15715		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
15716	}
15717	if s.Resources == nil {
15718		invalidParams.Add(request.NewErrParamRequired("Resources"))
15719	}
15720	if s.SchemaVersion == nil {
15721		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
15722	}
15723	if s.Severity == nil {
15724		invalidParams.Add(request.NewErrParamRequired("Severity"))
15725	}
15726	if s.Title == nil {
15727		invalidParams.Add(request.NewErrParamRequired("Title"))
15728	}
15729	if s.Types == nil {
15730		invalidParams.Add(request.NewErrParamRequired("Types"))
15731	}
15732	if s.UpdatedAt == nil {
15733		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
15734	}
15735	if s.Compliance != nil {
15736		if err := s.Compliance.Validate(); err != nil {
15737			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
15738		}
15739	}
15740	if s.Malware != nil {
15741		for i, v := range s.Malware {
15742			if v == nil {
15743				continue
15744			}
15745			if err := v.Validate(); err != nil {
15746				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
15747			}
15748		}
15749	}
15750	if s.Note != nil {
15751		if err := s.Note.Validate(); err != nil {
15752			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
15753		}
15754	}
15755	if s.PatchSummary != nil {
15756		if err := s.PatchSummary.Validate(); err != nil {
15757			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
15758		}
15759	}
15760	if s.RelatedFindings != nil {
15761		for i, v := range s.RelatedFindings {
15762			if v == nil {
15763				continue
15764			}
15765			if err := v.Validate(); err != nil {
15766				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
15767			}
15768		}
15769	}
15770	if s.Resources != nil {
15771		for i, v := range s.Resources {
15772			if v == nil {
15773				continue
15774			}
15775			if err := v.Validate(); err != nil {
15776				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
15777			}
15778		}
15779	}
15780	if s.Vulnerabilities != nil {
15781		for i, v := range s.Vulnerabilities {
15782			if v == nil {
15783				continue
15784			}
15785			if err := v.Validate(); err != nil {
15786				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
15787			}
15788		}
15789	}
15790
15791	if invalidParams.Len() > 0 {
15792		return invalidParams
15793	}
15794	return nil
15795}
15796
15797// SetAwsAccountId sets the AwsAccountId field's value.
15798func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
15799	s.AwsAccountId = &v
15800	return s
15801}
15802
15803// SetCompliance sets the Compliance field's value.
15804func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
15805	s.Compliance = v
15806	return s
15807}
15808
15809// SetConfidence sets the Confidence field's value.
15810func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
15811	s.Confidence = &v
15812	return s
15813}
15814
15815// SetCreatedAt sets the CreatedAt field's value.
15816func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
15817	s.CreatedAt = &v
15818	return s
15819}
15820
15821// SetCriticality sets the Criticality field's value.
15822func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
15823	s.Criticality = &v
15824	return s
15825}
15826
15827// SetDescription sets the Description field's value.
15828func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
15829	s.Description = &v
15830	return s
15831}
15832
15833// SetFirstObservedAt sets the FirstObservedAt field's value.
15834func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
15835	s.FirstObservedAt = &v
15836	return s
15837}
15838
15839// SetGeneratorId sets the GeneratorId field's value.
15840func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
15841	s.GeneratorId = &v
15842	return s
15843}
15844
15845// SetId sets the Id field's value.
15846func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
15847	s.Id = &v
15848	return s
15849}
15850
15851// SetLastObservedAt sets the LastObservedAt field's value.
15852func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
15853	s.LastObservedAt = &v
15854	return s
15855}
15856
15857// SetMalware sets the Malware field's value.
15858func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
15859	s.Malware = v
15860	return s
15861}
15862
15863// SetNetwork sets the Network field's value.
15864func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
15865	s.Network = v
15866	return s
15867}
15868
15869// SetNetworkPath sets the NetworkPath field's value.
15870func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
15871	s.NetworkPath = v
15872	return s
15873}
15874
15875// SetNote sets the Note field's value.
15876func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
15877	s.Note = v
15878	return s
15879}
15880
15881// SetPatchSummary sets the PatchSummary field's value.
15882func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
15883	s.PatchSummary = v
15884	return s
15885}
15886
15887// SetProcess sets the Process field's value.
15888func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
15889	s.Process = v
15890	return s
15891}
15892
15893// SetProductArn sets the ProductArn field's value.
15894func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
15895	s.ProductArn = &v
15896	return s
15897}
15898
15899// SetProductFields sets the ProductFields field's value.
15900func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
15901	s.ProductFields = v
15902	return s
15903}
15904
15905// SetRecordState sets the RecordState field's value.
15906func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
15907	s.RecordState = &v
15908	return s
15909}
15910
15911// SetRelatedFindings sets the RelatedFindings field's value.
15912func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
15913	s.RelatedFindings = v
15914	return s
15915}
15916
15917// SetRemediation sets the Remediation field's value.
15918func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
15919	s.Remediation = v
15920	return s
15921}
15922
15923// SetResources sets the Resources field's value.
15924func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
15925	s.Resources = v
15926	return s
15927}
15928
15929// SetSchemaVersion sets the SchemaVersion field's value.
15930func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
15931	s.SchemaVersion = &v
15932	return s
15933}
15934
15935// SetSeverity sets the Severity field's value.
15936func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
15937	s.Severity = v
15938	return s
15939}
15940
15941// SetSourceUrl sets the SourceUrl field's value.
15942func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
15943	s.SourceUrl = &v
15944	return s
15945}
15946
15947// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
15948func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
15949	s.ThreatIntelIndicators = v
15950	return s
15951}
15952
15953// SetTitle sets the Title field's value.
15954func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
15955	s.Title = &v
15956	return s
15957}
15958
15959// SetTypes sets the Types field's value.
15960func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
15961	s.Types = v
15962	return s
15963}
15964
15965// SetUpdatedAt sets the UpdatedAt field's value.
15966func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
15967	s.UpdatedAt = &v
15968	return s
15969}
15970
15971// SetUserDefinedFields sets the UserDefinedFields field's value.
15972func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
15973	s.UserDefinedFields = v
15974	return s
15975}
15976
15977// SetVerificationState sets the VerificationState field's value.
15978func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
15979	s.VerificationState = &v
15980	return s
15981}
15982
15983// SetVulnerabilities sets the Vulnerabilities field's value.
15984func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
15985	s.Vulnerabilities = v
15986	return s
15987}
15988
15989// SetWorkflow sets the Workflow field's value.
15990func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
15991	s.Workflow = v
15992	return s
15993}
15994
15995// SetWorkflowState sets the WorkflowState field's value.
15996func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
15997	s.WorkflowState = &v
15998	return s
15999}
16000
16001// A collection of attributes that are applied to all active Security Hub-aggregated
16002// findings and that result in a subset of findings that are included in this
16003// insight.
16004//
16005// You can filter by up to 10 finding attributes. For each attribute, you can
16006// provide up to 20 filter values.
16007type AwsSecurityFindingFilters struct {
16008	_ struct{} `type:"structure"`
16009
16010	// The AWS account ID that a finding is generated in.
16011	AwsAccountId []*StringFilter `type:"list"`
16012
16013	// The name of the findings provider (company) that owns the solution (product)
16014	// that generates findings.
16015	CompanyName []*StringFilter `type:"list"`
16016
16017	// Exclusive to findings that are generated as the result of a check run against
16018	// a specific rule in a supported standard, such as CIS AWS Foundations. Contains
16019	// security standard-related finding details.
16020	ComplianceStatus []*StringFilter `type:"list"`
16021
16022	// A finding's confidence. Confidence is defined as the likelihood that a finding
16023	// accurately identifies the behavior or issue that it was intended to identify.
16024	//
16025	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
16026	// zero percent confidence and 100 means 100 percent confidence.
16027	Confidence []*NumberFilter `type:"list"`
16028
16029	// An ISO8601-formatted timestamp that indicates when the security-findings
16030	// provider captured the potential security issue that a finding captured.
16031	CreatedAt []*DateFilter `type:"list"`
16032
16033	// The level of importance assigned to the resources associated with the finding.
16034	//
16035	// A score of 0 means that the underlying resources have no criticality, and
16036	// a score of 100 is reserved for the most critical resources.
16037	Criticality []*NumberFilter `type:"list"`
16038
16039	// A finding's description.
16040	Description []*StringFilter `type:"list"`
16041
16042	// An ISO8601-formatted timestamp that indicates when the security-findings
16043	// provider first observed the potential security issue that a finding captured.
16044	FirstObservedAt []*DateFilter `type:"list"`
16045
16046	// The identifier for the solution-specific component (a discrete unit of logic)
16047	// that generated a finding. In various security-findings providers' solutions,
16048	// this generator can be called a rule, a check, a detector, a plugin, etc.
16049	GeneratorId []*StringFilter `type:"list"`
16050
16051	// The security findings provider-specific identifier for a finding.
16052	Id []*StringFilter `type:"list"`
16053
16054	// A keyword for a finding.
16055	Keyword []*KeywordFilter `type:"list"`
16056
16057	// An ISO8601-formatted timestamp that indicates when the security-findings
16058	// provider most recently observed the potential security issue that a finding
16059	// captured.
16060	LastObservedAt []*DateFilter `type:"list"`
16061
16062	// The name of the malware that was observed.
16063	MalwareName []*StringFilter `type:"list"`
16064
16065	// The filesystem path of the malware that was observed.
16066	MalwarePath []*StringFilter `type:"list"`
16067
16068	// The state of the malware that was observed.
16069	MalwareState []*StringFilter `type:"list"`
16070
16071	// The type of the malware that was observed.
16072	MalwareType []*StringFilter `type:"list"`
16073
16074	// The destination domain of network-related information about a finding.
16075	NetworkDestinationDomain []*StringFilter `type:"list"`
16076
16077	// The destination IPv4 address of network-related information about a finding.
16078	NetworkDestinationIpV4 []*IpFilter `type:"list"`
16079
16080	// The destination IPv6 address of network-related information about a finding.
16081	NetworkDestinationIpV6 []*IpFilter `type:"list"`
16082
16083	// The destination port of network-related information about a finding.
16084	NetworkDestinationPort []*NumberFilter `type:"list"`
16085
16086	// Indicates the direction of network traffic associated with a finding.
16087	NetworkDirection []*StringFilter `type:"list"`
16088
16089	// The protocol of network-related information about a finding.
16090	NetworkProtocol []*StringFilter `type:"list"`
16091
16092	// The source domain of network-related information about a finding.
16093	NetworkSourceDomain []*StringFilter `type:"list"`
16094
16095	// The source IPv4 address of network-related information about a finding.
16096	NetworkSourceIpV4 []*IpFilter `type:"list"`
16097
16098	// The source IPv6 address of network-related information about a finding.
16099	NetworkSourceIpV6 []*IpFilter `type:"list"`
16100
16101	// The source media access control (MAC) address of network-related information
16102	// about a finding.
16103	NetworkSourceMac []*StringFilter `type:"list"`
16104
16105	// The source port of network-related information about a finding.
16106	NetworkSourcePort []*NumberFilter `type:"list"`
16107
16108	// The text of a note.
16109	NoteText []*StringFilter `type:"list"`
16110
16111	// The timestamp of when the note was updated.
16112	NoteUpdatedAt []*DateFilter `type:"list"`
16113
16114	// The principal that created a note.
16115	NoteUpdatedBy []*StringFilter `type:"list"`
16116
16117	// The date/time that the process was launched.
16118	ProcessLaunchedAt []*DateFilter `type:"list"`
16119
16120	// The name of the process.
16121	ProcessName []*StringFilter `type:"list"`
16122
16123	// The parent process ID.
16124	ProcessParentPid []*NumberFilter `type:"list"`
16125
16126	// The path to the process executable.
16127	ProcessPath []*StringFilter `type:"list"`
16128
16129	// The process ID.
16130	ProcessPid []*NumberFilter `type:"list"`
16131
16132	// The date/time that the process was terminated.
16133	ProcessTerminatedAt []*DateFilter `type:"list"`
16134
16135	// The ARN generated by Security Hub that uniquely identifies a third-party
16136	// company (security findings provider) after this provider's product (solution
16137	// that generates findings) is registered with Security Hub.
16138	ProductArn []*StringFilter `type:"list"`
16139
16140	// A data type where security-findings providers can include additional solution-specific
16141	// details that aren't part of the defined AwsSecurityFinding format.
16142	ProductFields []*MapFilter `type:"list"`
16143
16144	// The name of the solution (product) that generates findings.
16145	ProductName []*StringFilter `type:"list"`
16146
16147	// The recommendation of what to do about the issue described in a finding.
16148	RecommendationText []*StringFilter `type:"list"`
16149
16150	// The updated record state for the finding.
16151	RecordState []*StringFilter `type:"list"`
16152
16153	// The solution-generated identifier for a related finding.
16154	RelatedFindingsId []*StringFilter `type:"list"`
16155
16156	// The ARN of the solution that generated a related finding.
16157	RelatedFindingsProductArn []*StringFilter `type:"list"`
16158
16159	// The IAM profile ARN of the instance.
16160	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
16161
16162	// The Amazon Machine Image (AMI) ID of the instance.
16163	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
16164
16165	// The IPv4 addresses associated with the instance.
16166	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
16167
16168	// The IPv6 addresses associated with the instance.
16169	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
16170
16171	// The key name associated with the instance.
16172	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
16173
16174	// The date and time the instance was launched.
16175	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
16176
16177	// The identifier of the subnet that the instance was launched in.
16178	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
16179
16180	// The instance type of the instance.
16181	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
16182
16183	// The identifier of the VPC that the instance was launched in.
16184	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
16185
16186	// The creation date/time of the IAM access key related to a finding.
16187	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
16188
16189	// The status of the IAM access key related to a finding.
16190	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
16191
16192	// The user associated with the IAM access key related to a finding.
16193	ResourceAwsIamAccessKeyUserName []*StringFilter `type:"list"`
16194
16195	// The canonical user ID of the owner of the S3 bucket.
16196	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
16197
16198	// The display name of the owner of the S3 bucket.
16199	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
16200
16201	// The identifier of the image related to a finding.
16202	ResourceContainerImageId []*StringFilter `type:"list"`
16203
16204	// The name of the image related to a finding.
16205	ResourceContainerImageName []*StringFilter `type:"list"`
16206
16207	// The date/time that the container was started.
16208	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
16209
16210	// The name of the container related to a finding.
16211	ResourceContainerName []*StringFilter `type:"list"`
16212
16213	// The details of a resource that doesn't have a specific subfield for the resource
16214	// type defined.
16215	ResourceDetailsOther []*MapFilter `type:"list"`
16216
16217	// The canonical identifier for the given resource type.
16218	ResourceId []*StringFilter `type:"list"`
16219
16220	// The canonical AWS partition name that the Region is assigned to.
16221	ResourcePartition []*StringFilter `type:"list"`
16222
16223	// The canonical AWS external Region name where this resource is located.
16224	ResourceRegion []*StringFilter `type:"list"`
16225
16226	// A list of AWS tags associated with a resource at the time the finding was
16227	// processed.
16228	ResourceTags []*MapFilter `type:"list"`
16229
16230	// Specifies the type of the resource that details are provided for.
16231	ResourceType []*StringFilter `type:"list"`
16232
16233	// The label of a finding's severity.
16234	SeverityLabel []*StringFilter `type:"list"`
16235
16236	// The normalized severity of a finding.
16237	SeverityNormalized []*NumberFilter `type:"list"`
16238
16239	// The native severity as defined by the security-findings provider's solution
16240	// that generated the finding.
16241	SeverityProduct []*NumberFilter `type:"list"`
16242
16243	// A URL that links to a page about the current finding in the security-findings
16244	// provider's solution.
16245	SourceUrl []*StringFilter `type:"list"`
16246
16247	// The category of a threat intelligence indicator.
16248	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
16249
16250	// The date/time of the last observation of a threat intelligence indicator.
16251	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
16252
16253	// The source of the threat intelligence.
16254	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
16255
16256	// The URL for more details from the source of the threat intelligence.
16257	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
16258
16259	// The type of a threat intelligence indicator.
16260	ThreatIntelIndicatorType []*StringFilter `type:"list"`
16261
16262	// The value of a threat intelligence indicator.
16263	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
16264
16265	// A finding's title.
16266	Title []*StringFilter `type:"list"`
16267
16268	// A finding type in the format of namespace/category/classifier that classifies
16269	// a finding.
16270	Type []*StringFilter `type:"list"`
16271
16272	// An ISO8601-formatted timestamp that indicates when the security-findings
16273	// provider last updated the finding record.
16274	UpdatedAt []*DateFilter `type:"list"`
16275
16276	// A list of name/value string pairs associated with the finding. These are
16277	// custom, user-defined fields added to a finding.
16278	UserDefinedFields []*MapFilter `type:"list"`
16279
16280	// The veracity of a finding.
16281	VerificationState []*StringFilter `type:"list"`
16282
16283	// The workflow state of a finding.
16284	//
16285	// Note that this field is deprecated. To search for a finding based on its
16286	// workflow status, use WorkflowStatus.
16287	WorkflowState []*StringFilter `type:"list"`
16288
16289	// The status of the investigation into a finding. Allowed values are the following.
16290	//
16291	//    * NEW - The initial state of a finding, before it is reviewed.
16292	//
16293	//    * NOTIFIED - Indicates that the resource owner has been notified about
16294	//    the security issue. Used when the initial reviewer is not the resource
16295	//    owner, and needs intervention from the resource owner.
16296	//
16297	//    * SUPPRESSED - The finding will not be reviewed again and will not be
16298	//    acted upon.
16299	//
16300	//    * RESOLVED - The finding was reviewed and remediated and is now considered
16301	//    resolved.
16302	WorkflowStatus []*StringFilter `type:"list"`
16303}
16304
16305// String returns the string representation
16306func (s AwsSecurityFindingFilters) String() string {
16307	return awsutil.Prettify(s)
16308}
16309
16310// GoString returns the string representation
16311func (s AwsSecurityFindingFilters) GoString() string {
16312	return s.String()
16313}
16314
16315// SetAwsAccountId sets the AwsAccountId field's value.
16316func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
16317	s.AwsAccountId = v
16318	return s
16319}
16320
16321// SetCompanyName sets the CompanyName field's value.
16322func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
16323	s.CompanyName = v
16324	return s
16325}
16326
16327// SetComplianceStatus sets the ComplianceStatus field's value.
16328func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
16329	s.ComplianceStatus = v
16330	return s
16331}
16332
16333// SetConfidence sets the Confidence field's value.
16334func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
16335	s.Confidence = v
16336	return s
16337}
16338
16339// SetCreatedAt sets the CreatedAt field's value.
16340func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16341	s.CreatedAt = v
16342	return s
16343}
16344
16345// SetCriticality sets the Criticality field's value.
16346func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
16347	s.Criticality = v
16348	return s
16349}
16350
16351// SetDescription sets the Description field's value.
16352func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
16353	s.Description = v
16354	return s
16355}
16356
16357// SetFirstObservedAt sets the FirstObservedAt field's value.
16358func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16359	s.FirstObservedAt = v
16360	return s
16361}
16362
16363// SetGeneratorId sets the GeneratorId field's value.
16364func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
16365	s.GeneratorId = v
16366	return s
16367}
16368
16369// SetId sets the Id field's value.
16370func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
16371	s.Id = v
16372	return s
16373}
16374
16375// SetKeyword sets the Keyword field's value.
16376func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
16377	s.Keyword = v
16378	return s
16379}
16380
16381// SetLastObservedAt sets the LastObservedAt field's value.
16382func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16383	s.LastObservedAt = v
16384	return s
16385}
16386
16387// SetMalwareName sets the MalwareName field's value.
16388func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
16389	s.MalwareName = v
16390	return s
16391}
16392
16393// SetMalwarePath sets the MalwarePath field's value.
16394func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
16395	s.MalwarePath = v
16396	return s
16397}
16398
16399// SetMalwareState sets the MalwareState field's value.
16400func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
16401	s.MalwareState = v
16402	return s
16403}
16404
16405// SetMalwareType sets the MalwareType field's value.
16406func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
16407	s.MalwareType = v
16408	return s
16409}
16410
16411// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
16412func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
16413	s.NetworkDestinationDomain = v
16414	return s
16415}
16416
16417// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
16418func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
16419	s.NetworkDestinationIpV4 = v
16420	return s
16421}
16422
16423// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
16424func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
16425	s.NetworkDestinationIpV6 = v
16426	return s
16427}
16428
16429// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
16430func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
16431	s.NetworkDestinationPort = v
16432	return s
16433}
16434
16435// SetNetworkDirection sets the NetworkDirection field's value.
16436func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
16437	s.NetworkDirection = v
16438	return s
16439}
16440
16441// SetNetworkProtocol sets the NetworkProtocol field's value.
16442func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
16443	s.NetworkProtocol = v
16444	return s
16445}
16446
16447// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
16448func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
16449	s.NetworkSourceDomain = v
16450	return s
16451}
16452
16453// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
16454func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
16455	s.NetworkSourceIpV4 = v
16456	return s
16457}
16458
16459// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
16460func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
16461	s.NetworkSourceIpV6 = v
16462	return s
16463}
16464
16465// SetNetworkSourceMac sets the NetworkSourceMac field's value.
16466func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
16467	s.NetworkSourceMac = v
16468	return s
16469}
16470
16471// SetNetworkSourcePort sets the NetworkSourcePort field's value.
16472func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
16473	s.NetworkSourcePort = v
16474	return s
16475}
16476
16477// SetNoteText sets the NoteText field's value.
16478func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
16479	s.NoteText = v
16480	return s
16481}
16482
16483// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
16484func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16485	s.NoteUpdatedAt = v
16486	return s
16487}
16488
16489// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
16490func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
16491	s.NoteUpdatedBy = v
16492	return s
16493}
16494
16495// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
16496func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16497	s.ProcessLaunchedAt = v
16498	return s
16499}
16500
16501// SetProcessName sets the ProcessName field's value.
16502func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
16503	s.ProcessName = v
16504	return s
16505}
16506
16507// SetProcessParentPid sets the ProcessParentPid field's value.
16508func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
16509	s.ProcessParentPid = v
16510	return s
16511}
16512
16513// SetProcessPath sets the ProcessPath field's value.
16514func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
16515	s.ProcessPath = v
16516	return s
16517}
16518
16519// SetProcessPid sets the ProcessPid field's value.
16520func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
16521	s.ProcessPid = v
16522	return s
16523}
16524
16525// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
16526func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16527	s.ProcessTerminatedAt = v
16528	return s
16529}
16530
16531// SetProductArn sets the ProductArn field's value.
16532func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
16533	s.ProductArn = v
16534	return s
16535}
16536
16537// SetProductFields sets the ProductFields field's value.
16538func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
16539	s.ProductFields = v
16540	return s
16541}
16542
16543// SetProductName sets the ProductName field's value.
16544func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
16545	s.ProductName = v
16546	return s
16547}
16548
16549// SetRecommendationText sets the RecommendationText field's value.
16550func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
16551	s.RecommendationText = v
16552	return s
16553}
16554
16555// SetRecordState sets the RecordState field's value.
16556func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
16557	s.RecordState = v
16558	return s
16559}
16560
16561// SetRelatedFindingsId sets the RelatedFindingsId field's value.
16562func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
16563	s.RelatedFindingsId = v
16564	return s
16565}
16566
16567// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
16568func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
16569	s.RelatedFindingsProductArn = v
16570	return s
16571}
16572
16573// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
16574func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
16575	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
16576	return s
16577}
16578
16579// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
16580func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
16581	s.ResourceAwsEc2InstanceImageId = v
16582	return s
16583}
16584
16585// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
16586func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
16587	s.ResourceAwsEc2InstanceIpV4Addresses = v
16588	return s
16589}
16590
16591// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
16592func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
16593	s.ResourceAwsEc2InstanceIpV6Addresses = v
16594	return s
16595}
16596
16597// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
16598func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
16599	s.ResourceAwsEc2InstanceKeyName = v
16600	return s
16601}
16602
16603// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
16604func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16605	s.ResourceAwsEc2InstanceLaunchedAt = v
16606	return s
16607}
16608
16609// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
16610func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
16611	s.ResourceAwsEc2InstanceSubnetId = v
16612	return s
16613}
16614
16615// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
16616func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
16617	s.ResourceAwsEc2InstanceType = v
16618	return s
16619}
16620
16621// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
16622func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
16623	s.ResourceAwsEc2InstanceVpcId = v
16624	return s
16625}
16626
16627// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
16628func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16629	s.ResourceAwsIamAccessKeyCreatedAt = v
16630	return s
16631}
16632
16633// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
16634func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
16635	s.ResourceAwsIamAccessKeyStatus = v
16636	return s
16637}
16638
16639// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
16640func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
16641	s.ResourceAwsIamAccessKeyUserName = v
16642	return s
16643}
16644
16645// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
16646func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
16647	s.ResourceAwsS3BucketOwnerId = v
16648	return s
16649}
16650
16651// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
16652func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
16653	s.ResourceAwsS3BucketOwnerName = v
16654	return s
16655}
16656
16657// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
16658func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
16659	s.ResourceContainerImageId = v
16660	return s
16661}
16662
16663// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
16664func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
16665	s.ResourceContainerImageName = v
16666	return s
16667}
16668
16669// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
16670func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16671	s.ResourceContainerLaunchedAt = v
16672	return s
16673}
16674
16675// SetResourceContainerName sets the ResourceContainerName field's value.
16676func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
16677	s.ResourceContainerName = v
16678	return s
16679}
16680
16681// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
16682func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
16683	s.ResourceDetailsOther = v
16684	return s
16685}
16686
16687// SetResourceId sets the ResourceId field's value.
16688func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
16689	s.ResourceId = v
16690	return s
16691}
16692
16693// SetResourcePartition sets the ResourcePartition field's value.
16694func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
16695	s.ResourcePartition = v
16696	return s
16697}
16698
16699// SetResourceRegion sets the ResourceRegion field's value.
16700func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
16701	s.ResourceRegion = v
16702	return s
16703}
16704
16705// SetResourceTags sets the ResourceTags field's value.
16706func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
16707	s.ResourceTags = v
16708	return s
16709}
16710
16711// SetResourceType sets the ResourceType field's value.
16712func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
16713	s.ResourceType = v
16714	return s
16715}
16716
16717// SetSeverityLabel sets the SeverityLabel field's value.
16718func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
16719	s.SeverityLabel = v
16720	return s
16721}
16722
16723// SetSeverityNormalized sets the SeverityNormalized field's value.
16724func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
16725	s.SeverityNormalized = v
16726	return s
16727}
16728
16729// SetSeverityProduct sets the SeverityProduct field's value.
16730func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
16731	s.SeverityProduct = v
16732	return s
16733}
16734
16735// SetSourceUrl sets the SourceUrl field's value.
16736func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
16737	s.SourceUrl = v
16738	return s
16739}
16740
16741// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
16742func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
16743	s.ThreatIntelIndicatorCategory = v
16744	return s
16745}
16746
16747// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
16748func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16749	s.ThreatIntelIndicatorLastObservedAt = v
16750	return s
16751}
16752
16753// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
16754func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
16755	s.ThreatIntelIndicatorSource = v
16756	return s
16757}
16758
16759// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
16760func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
16761	s.ThreatIntelIndicatorSourceUrl = v
16762	return s
16763}
16764
16765// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
16766func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
16767	s.ThreatIntelIndicatorType = v
16768	return s
16769}
16770
16771// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
16772func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
16773	s.ThreatIntelIndicatorValue = v
16774	return s
16775}
16776
16777// SetTitle sets the Title field's value.
16778func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
16779	s.Title = v
16780	return s
16781}
16782
16783// SetType sets the Type field's value.
16784func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
16785	s.Type = v
16786	return s
16787}
16788
16789// SetUpdatedAt sets the UpdatedAt field's value.
16790func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
16791	s.UpdatedAt = v
16792	return s
16793}
16794
16795// SetUserDefinedFields sets the UserDefinedFields field's value.
16796func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
16797	s.UserDefinedFields = v
16798	return s
16799}
16800
16801// SetVerificationState sets the VerificationState field's value.
16802func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
16803	s.VerificationState = v
16804	return s
16805}
16806
16807// SetWorkflowState sets the WorkflowState field's value.
16808func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
16809	s.WorkflowState = v
16810	return s
16811}
16812
16813// SetWorkflowStatus sets the WorkflowStatus field's value.
16814func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
16815	s.WorkflowStatus = v
16816	return s
16817}
16818
16819// Identifies a finding to update using BatchUpdateFindings.
16820type AwsSecurityFindingIdentifier struct {
16821	_ struct{} `type:"structure"`
16822
16823	// The identifier of the finding that was specified by the finding provider.
16824	//
16825	// Id is a required field
16826	Id *string `type:"string" required:"true"`
16827
16828	// The ARN generated by Security Hub that uniquely identifies a product that
16829	// generates findings. This can be the ARN for a third-party product that is
16830	// integrated with Security Hub, or the ARN for a custom integration.
16831	//
16832	// ProductArn is a required field
16833	ProductArn *string `type:"string" required:"true"`
16834}
16835
16836// String returns the string representation
16837func (s AwsSecurityFindingIdentifier) String() string {
16838	return awsutil.Prettify(s)
16839}
16840
16841// GoString returns the string representation
16842func (s AwsSecurityFindingIdentifier) GoString() string {
16843	return s.String()
16844}
16845
16846// Validate inspects the fields of the type to determine if they are valid.
16847func (s *AwsSecurityFindingIdentifier) Validate() error {
16848	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
16849	if s.Id == nil {
16850		invalidParams.Add(request.NewErrParamRequired("Id"))
16851	}
16852	if s.ProductArn == nil {
16853		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
16854	}
16855
16856	if invalidParams.Len() > 0 {
16857		return invalidParams
16858	}
16859	return nil
16860}
16861
16862// SetId sets the Id field's value.
16863func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
16864	s.Id = &v
16865	return s
16866}
16867
16868// SetProductArn sets the ProductArn field's value.
16869func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
16870	s.ProductArn = &v
16871	return s
16872}
16873
16874// A wrapper type for the topic's Amazon Resource Name (ARN).
16875type AwsSnsTopicDetails struct {
16876	_ struct{} `type:"structure"`
16877
16878	// The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom
16879	// CMK.
16880	KmsMasterKeyId *string `type:"string"`
16881
16882	// The subscription's owner.
16883	Owner *string `type:"string"`
16884
16885	// Subscription is an embedded property that describes the subscription endpoints
16886	// of an Amazon SNS topic.
16887	Subscription []*AwsSnsTopicSubscription `type:"list"`
16888
16889	// The name of the topic.
16890	TopicName *string `type:"string"`
16891}
16892
16893// String returns the string representation
16894func (s AwsSnsTopicDetails) String() string {
16895	return awsutil.Prettify(s)
16896}
16897
16898// GoString returns the string representation
16899func (s AwsSnsTopicDetails) GoString() string {
16900	return s.String()
16901}
16902
16903// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
16904func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
16905	s.KmsMasterKeyId = &v
16906	return s
16907}
16908
16909// SetOwner sets the Owner field's value.
16910func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
16911	s.Owner = &v
16912	return s
16913}
16914
16915// SetSubscription sets the Subscription field's value.
16916func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
16917	s.Subscription = v
16918	return s
16919}
16920
16921// SetTopicName sets the TopicName field's value.
16922func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
16923	s.TopicName = &v
16924	return s
16925}
16926
16927// A wrapper type for the attributes of an Amazon SNS subscription.
16928type AwsSnsTopicSubscription struct {
16929	_ struct{} `type:"structure"`
16930
16931	// The subscription's endpoint (format depends on the protocol).
16932	Endpoint *string `type:"string"`
16933
16934	// The subscription's protocol.
16935	Protocol *string `type:"string"`
16936}
16937
16938// String returns the string representation
16939func (s AwsSnsTopicSubscription) String() string {
16940	return awsutil.Prettify(s)
16941}
16942
16943// GoString returns the string representation
16944func (s AwsSnsTopicSubscription) GoString() string {
16945	return s.String()
16946}
16947
16948// SetEndpoint sets the Endpoint field's value.
16949func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
16950	s.Endpoint = &v
16951	return s
16952}
16953
16954// SetProtocol sets the Protocol field's value.
16955func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
16956	s.Protocol = &v
16957	return s
16958}
16959
16960// Data about a queue.
16961type AwsSqsQueueDetails struct {
16962	_ struct{} `type:"structure"`
16963
16964	// The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS
16965	// moves messages after the value of maxReceiveCount is exceeded.
16966	DeadLetterTargetArn *string `type:"string"`
16967
16968	// The length of time, in seconds, for which Amazon SQS can reuse a data key
16969	// to encrypt or decrypt messages before calling AWS KMS again.
16970	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
16971
16972	// The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom
16973	// CMK.
16974	KmsMasterKeyId *string `type:"string"`
16975
16976	// The name of the new queue.
16977	QueueName *string `type:"string"`
16978}
16979
16980// String returns the string representation
16981func (s AwsSqsQueueDetails) String() string {
16982	return awsutil.Prettify(s)
16983}
16984
16985// GoString returns the string representation
16986func (s AwsSqsQueueDetails) GoString() string {
16987	return s.String()
16988}
16989
16990// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
16991func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
16992	s.DeadLetterTargetArn = &v
16993	return s
16994}
16995
16996// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
16997func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
16998	s.KmsDataKeyReusePeriodSeconds = &v
16999	return s
17000}
17001
17002// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
17003func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
17004	s.KmsMasterKeyId = &v
17005	return s
17006}
17007
17008// SetQueueName sets the QueueName field's value.
17009func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
17010	s.QueueName = &v
17011	return s
17012}
17013
17014// Details about a WAF WebACL.
17015type AwsWafWebAclDetails struct {
17016	_ struct{} `type:"structure"`
17017
17018	// The action to perform if none of the rules contained in the WebACL match.
17019	DefaultAction *string `type:"string"`
17020
17021	// A friendly name or description of the WebACL. You can't change the name of
17022	// a WebACL after you create it.
17023	Name *string `type:"string"`
17024
17025	// An array that contains the action for each rule in a WebACL, the priority
17026	// of the rule, and the ID of the rule.
17027	Rules []*AwsWafWebAclRule `type:"list"`
17028
17029	// A unique identifier for a WebACL.
17030	WebAclId *string `type:"string"`
17031}
17032
17033// String returns the string representation
17034func (s AwsWafWebAclDetails) String() string {
17035	return awsutil.Prettify(s)
17036}
17037
17038// GoString returns the string representation
17039func (s AwsWafWebAclDetails) GoString() string {
17040	return s.String()
17041}
17042
17043// SetDefaultAction sets the DefaultAction field's value.
17044func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
17045	s.DefaultAction = &v
17046	return s
17047}
17048
17049// SetName sets the Name field's value.
17050func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
17051	s.Name = &v
17052	return s
17053}
17054
17055// SetRules sets the Rules field's value.
17056func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
17057	s.Rules = v
17058	return s
17059}
17060
17061// SetWebAclId sets the WebAclId field's value.
17062func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
17063	s.WebAclId = &v
17064	return s
17065}
17066
17067// Details for a rule in a WAF WebACL.
17068type AwsWafWebAclRule struct {
17069	_ struct{} `type:"structure"`
17070
17071	// Specifies the action that CloudFront or AWS WAF takes when a web request
17072	// matches the conditions in the rule.
17073	Action *WafAction `type:"structure"`
17074
17075	// Rules to exclude from a rule group.
17076	ExcludedRules []*WafExcludedRule `type:"list"`
17077
17078	// Use the OverrideAction to test your RuleGroup.
17079	//
17080	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
17081	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
17082	// matches the request and is configured to block that request.
17083	//
17084	// However, if you first want to test the RuleGroup, set the OverrideAction
17085	// to Count. The RuleGroup then overrides any block action specified by individual
17086	// rules contained within the group. Instead of blocking matching requests,
17087	// those requests are counted.
17088	//
17089	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
17090	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
17091	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
17092	OverrideAction *WafOverrideAction `type:"structure"`
17093
17094	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
17095	// a lower value for Priority are evaluated before rules with a higher value.
17096	// The value must be a unique integer. If you add multiple rules to a WebACL,
17097	// the values do not need to be consecutive.
17098	Priority *int64 `type:"integer"`
17099
17100	// The identifier for a rule.
17101	RuleId *string `type:"string"`
17102
17103	// The rule type.
17104	//
17105	// Valid values: REGULAR | RATE_BASED | GROUP
17106	//
17107	// The default is REGULAR.
17108	Type *string `type:"string"`
17109}
17110
17111// String returns the string representation
17112func (s AwsWafWebAclRule) String() string {
17113	return awsutil.Prettify(s)
17114}
17115
17116// GoString returns the string representation
17117func (s AwsWafWebAclRule) GoString() string {
17118	return s.String()
17119}
17120
17121// SetAction sets the Action field's value.
17122func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
17123	s.Action = v
17124	return s
17125}
17126
17127// SetExcludedRules sets the ExcludedRules field's value.
17128func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
17129	s.ExcludedRules = v
17130	return s
17131}
17132
17133// SetOverrideAction sets the OverrideAction field's value.
17134func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
17135	s.OverrideAction = v
17136	return s
17137}
17138
17139// SetPriority sets the Priority field's value.
17140func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
17141	s.Priority = &v
17142	return s
17143}
17144
17145// SetRuleId sets the RuleId field's value.
17146func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
17147	s.RuleId = &v
17148	return s
17149}
17150
17151// SetType sets the Type field's value.
17152func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
17153	s.Type = &v
17154	return s
17155}
17156
17157type BatchDisableStandardsInput struct {
17158	_ struct{} `type:"structure"`
17159
17160	// The ARNs of the standards subscriptions to disable.
17161	//
17162	// StandardsSubscriptionArns is a required field
17163	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
17164}
17165
17166// String returns the string representation
17167func (s BatchDisableStandardsInput) String() string {
17168	return awsutil.Prettify(s)
17169}
17170
17171// GoString returns the string representation
17172func (s BatchDisableStandardsInput) GoString() string {
17173	return s.String()
17174}
17175
17176// Validate inspects the fields of the type to determine if they are valid.
17177func (s *BatchDisableStandardsInput) Validate() error {
17178	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
17179	if s.StandardsSubscriptionArns == nil {
17180		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
17181	}
17182	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
17183		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
17184	}
17185
17186	if invalidParams.Len() > 0 {
17187		return invalidParams
17188	}
17189	return nil
17190}
17191
17192// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
17193func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
17194	s.StandardsSubscriptionArns = v
17195	return s
17196}
17197
17198type BatchDisableStandardsOutput struct {
17199	_ struct{} `type:"structure"`
17200
17201	// The details of the standards subscriptions that were disabled.
17202	StandardsSubscriptions []*StandardsSubscription `type:"list"`
17203}
17204
17205// String returns the string representation
17206func (s BatchDisableStandardsOutput) String() string {
17207	return awsutil.Prettify(s)
17208}
17209
17210// GoString returns the string representation
17211func (s BatchDisableStandardsOutput) GoString() string {
17212	return s.String()
17213}
17214
17215// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
17216func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
17217	s.StandardsSubscriptions = v
17218	return s
17219}
17220
17221type BatchEnableStandardsInput struct {
17222	_ struct{} `type:"structure"`
17223
17224	// The list of standards checks to enable.
17225	//
17226	// StandardsSubscriptionRequests is a required field
17227	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
17228}
17229
17230// String returns the string representation
17231func (s BatchEnableStandardsInput) String() string {
17232	return awsutil.Prettify(s)
17233}
17234
17235// GoString returns the string representation
17236func (s BatchEnableStandardsInput) GoString() string {
17237	return s.String()
17238}
17239
17240// Validate inspects the fields of the type to determine if they are valid.
17241func (s *BatchEnableStandardsInput) Validate() error {
17242	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
17243	if s.StandardsSubscriptionRequests == nil {
17244		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
17245	}
17246	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
17247		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
17248	}
17249	if s.StandardsSubscriptionRequests != nil {
17250		for i, v := range s.StandardsSubscriptionRequests {
17251			if v == nil {
17252				continue
17253			}
17254			if err := v.Validate(); err != nil {
17255				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
17256			}
17257		}
17258	}
17259
17260	if invalidParams.Len() > 0 {
17261		return invalidParams
17262	}
17263	return nil
17264}
17265
17266// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
17267func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
17268	s.StandardsSubscriptionRequests = v
17269	return s
17270}
17271
17272type BatchEnableStandardsOutput struct {
17273	_ struct{} `type:"structure"`
17274
17275	// The details of the standards subscriptions that were enabled.
17276	StandardsSubscriptions []*StandardsSubscription `type:"list"`
17277}
17278
17279// String returns the string representation
17280func (s BatchEnableStandardsOutput) String() string {
17281	return awsutil.Prettify(s)
17282}
17283
17284// GoString returns the string representation
17285func (s BatchEnableStandardsOutput) GoString() string {
17286	return s.String()
17287}
17288
17289// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
17290func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
17291	s.StandardsSubscriptions = v
17292	return s
17293}
17294
17295type BatchImportFindingsInput struct {
17296	_ struct{} `type:"structure"`
17297
17298	// A list of findings to import. To successfully import a finding, it must follow
17299	// the AWS Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
17300	// Maximum of 100 findings per request.
17301	//
17302	// Findings is a required field
17303	Findings []*AwsSecurityFinding `type:"list" required:"true"`
17304}
17305
17306// String returns the string representation
17307func (s BatchImportFindingsInput) String() string {
17308	return awsutil.Prettify(s)
17309}
17310
17311// GoString returns the string representation
17312func (s BatchImportFindingsInput) GoString() string {
17313	return s.String()
17314}
17315
17316// Validate inspects the fields of the type to determine if they are valid.
17317func (s *BatchImportFindingsInput) Validate() error {
17318	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
17319	if s.Findings == nil {
17320		invalidParams.Add(request.NewErrParamRequired("Findings"))
17321	}
17322	if s.Findings != nil {
17323		for i, v := range s.Findings {
17324			if v == nil {
17325				continue
17326			}
17327			if err := v.Validate(); err != nil {
17328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
17329			}
17330		}
17331	}
17332
17333	if invalidParams.Len() > 0 {
17334		return invalidParams
17335	}
17336	return nil
17337}
17338
17339// SetFindings sets the Findings field's value.
17340func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
17341	s.Findings = v
17342	return s
17343}
17344
17345type BatchImportFindingsOutput struct {
17346	_ struct{} `type:"structure"`
17347
17348	// The number of findings that failed to import.
17349	//
17350	// FailedCount is a required field
17351	FailedCount *int64 `type:"integer" required:"true"`
17352
17353	// The list of findings that failed to import.
17354	FailedFindings []*ImportFindingsError `type:"list"`
17355
17356	// The number of findings that were successfully imported.
17357	//
17358	// SuccessCount is a required field
17359	SuccessCount *int64 `type:"integer" required:"true"`
17360}
17361
17362// String returns the string representation
17363func (s BatchImportFindingsOutput) String() string {
17364	return awsutil.Prettify(s)
17365}
17366
17367// GoString returns the string representation
17368func (s BatchImportFindingsOutput) GoString() string {
17369	return s.String()
17370}
17371
17372// SetFailedCount sets the FailedCount field's value.
17373func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
17374	s.FailedCount = &v
17375	return s
17376}
17377
17378// SetFailedFindings sets the FailedFindings field's value.
17379func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
17380	s.FailedFindings = v
17381	return s
17382}
17383
17384// SetSuccessCount sets the SuccessCount field's value.
17385func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
17386	s.SuccessCount = &v
17387	return s
17388}
17389
17390type BatchUpdateFindingsInput struct {
17391	_ struct{} `type:"structure"`
17392
17393	// The updated value for the finding confidence. Confidence is defined as the
17394	// likelihood that a finding accurately identifies the behavior or issue that
17395	// it was intended to identify.
17396	//
17397	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
17398	// zero percent confidence and 100 means 100 percent confidence.
17399	Confidence *int64 `type:"integer"`
17400
17401	// The updated value for the level of importance assigned to the resources associated
17402	// with the findings.
17403	//
17404	// A score of 0 means that the underlying resources have no criticality, and
17405	// a score of 100 is reserved for the most critical resources.
17406	Criticality *int64 `type:"integer"`
17407
17408	// The list of findings to update. BatchUpdateFindings can be used to update
17409	// up to 100 findings at a time.
17410	//
17411	// For each finding, the list provides the finding identifier and the ARN of
17412	// the finding provider.
17413	//
17414	// FindingIdentifiers is a required field
17415	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
17416
17417	// The updated note.
17418	Note *NoteUpdate `type:"structure"`
17419
17420	// A list of findings that are related to the updated findings.
17421	RelatedFindings []*RelatedFinding `type:"list"`
17422
17423	// Used to update the finding severity.
17424	Severity *SeverityUpdate `type:"structure"`
17425
17426	// One or more finding types in the format of namespace/category/classifier
17427	// that classify a finding.
17428	//
17429	// Valid namespace values are as follows.
17430	//
17431	//    * Software and Configuration Checks
17432	//
17433	//    * TTPs
17434	//
17435	//    * Effects
17436	//
17437	//    * Unusual Behaviors
17438	//
17439	//    * Sensitive Data Identifications
17440	Types []*string `type:"list"`
17441
17442	// A list of name/value string pairs associated with the finding. These are
17443	// custom, user-defined fields added to a finding.
17444	UserDefinedFields map[string]*string `type:"map"`
17445
17446	// Indicates the veracity of a finding.
17447	//
17448	// The available values for VerificationState are as follows.
17449	//
17450	//    * UNKNOWN – The default disposition of a security finding
17451	//
17452	//    * TRUE_POSITIVE – The security finding is confirmed
17453	//
17454	//    * FALSE_POSITIVE – The security finding was determined to be a false
17455	//    alarm
17456	//
17457	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
17458	//    doesn't pose any threat, is expected, or both
17459	VerificationState *string `type:"string" enum:"VerificationState"`
17460
17461	// Used to update the workflow status of a finding.
17462	//
17463	// The workflow status indicates the progress of the investigation into the
17464	// finding.
17465	Workflow *WorkflowUpdate `type:"structure"`
17466}
17467
17468// String returns the string representation
17469func (s BatchUpdateFindingsInput) String() string {
17470	return awsutil.Prettify(s)
17471}
17472
17473// GoString returns the string representation
17474func (s BatchUpdateFindingsInput) GoString() string {
17475	return s.String()
17476}
17477
17478// Validate inspects the fields of the type to determine if they are valid.
17479func (s *BatchUpdateFindingsInput) Validate() error {
17480	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
17481	if s.FindingIdentifiers == nil {
17482		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
17483	}
17484	if s.FindingIdentifiers != nil {
17485		for i, v := range s.FindingIdentifiers {
17486			if v == nil {
17487				continue
17488			}
17489			if err := v.Validate(); err != nil {
17490				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
17491			}
17492		}
17493	}
17494	if s.Note != nil {
17495		if err := s.Note.Validate(); err != nil {
17496			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
17497		}
17498	}
17499	if s.RelatedFindings != nil {
17500		for i, v := range s.RelatedFindings {
17501			if v == nil {
17502				continue
17503			}
17504			if err := v.Validate(); err != nil {
17505				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
17506			}
17507		}
17508	}
17509
17510	if invalidParams.Len() > 0 {
17511		return invalidParams
17512	}
17513	return nil
17514}
17515
17516// SetConfidence sets the Confidence field's value.
17517func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
17518	s.Confidence = &v
17519	return s
17520}
17521
17522// SetCriticality sets the Criticality field's value.
17523func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
17524	s.Criticality = &v
17525	return s
17526}
17527
17528// SetFindingIdentifiers sets the FindingIdentifiers field's value.
17529func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
17530	s.FindingIdentifiers = v
17531	return s
17532}
17533
17534// SetNote sets the Note field's value.
17535func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
17536	s.Note = v
17537	return s
17538}
17539
17540// SetRelatedFindings sets the RelatedFindings field's value.
17541func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
17542	s.RelatedFindings = v
17543	return s
17544}
17545
17546// SetSeverity sets the Severity field's value.
17547func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
17548	s.Severity = v
17549	return s
17550}
17551
17552// SetTypes sets the Types field's value.
17553func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
17554	s.Types = v
17555	return s
17556}
17557
17558// SetUserDefinedFields sets the UserDefinedFields field's value.
17559func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
17560	s.UserDefinedFields = v
17561	return s
17562}
17563
17564// SetVerificationState sets the VerificationState field's value.
17565func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
17566	s.VerificationState = &v
17567	return s
17568}
17569
17570// SetWorkflow sets the Workflow field's value.
17571func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
17572	s.Workflow = v
17573	return s
17574}
17575
17576type BatchUpdateFindingsOutput struct {
17577	_ struct{} `type:"structure"`
17578
17579	// The list of findings that were updated successfully.
17580	//
17581	// ProcessedFindings is a required field
17582	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
17583
17584	// The list of findings that were not updated.
17585	//
17586	// UnprocessedFindings is a required field
17587	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
17588}
17589
17590// String returns the string representation
17591func (s BatchUpdateFindingsOutput) String() string {
17592	return awsutil.Prettify(s)
17593}
17594
17595// GoString returns the string representation
17596func (s BatchUpdateFindingsOutput) GoString() string {
17597	return s.String()
17598}
17599
17600// SetProcessedFindings sets the ProcessedFindings field's value.
17601func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
17602	s.ProcessedFindings = v
17603	return s
17604}
17605
17606// SetUnprocessedFindings sets the UnprocessedFindings field's value.
17607func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
17608	s.UnprocessedFindings = v
17609	return s
17610}
17611
17612// A finding from a BatchUpdateFindings request that Security Hub was unable
17613// to update.
17614type BatchUpdateFindingsUnprocessedFinding struct {
17615	_ struct{} `type:"structure"`
17616
17617	// The code associated with the error.
17618	//
17619	// ErrorCode is a required field
17620	ErrorCode *string `type:"string" required:"true"`
17621
17622	// The message associated with the error.
17623	//
17624	// ErrorMessage is a required field
17625	ErrorMessage *string `type:"string" required:"true"`
17626
17627	// The identifier of the finding that was not updated.
17628	//
17629	// FindingIdentifier is a required field
17630	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
17631}
17632
17633// String returns the string representation
17634func (s BatchUpdateFindingsUnprocessedFinding) String() string {
17635	return awsutil.Prettify(s)
17636}
17637
17638// GoString returns the string representation
17639func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
17640	return s.String()
17641}
17642
17643// SetErrorCode sets the ErrorCode field's value.
17644func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
17645	s.ErrorCode = &v
17646	return s
17647}
17648
17649// SetErrorMessage sets the ErrorMessage field's value.
17650func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
17651	s.ErrorMessage = &v
17652	return s
17653}
17654
17655// SetFindingIdentifier sets the FindingIdentifier field's value.
17656func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
17657	s.FindingIdentifier = v
17658	return s
17659}
17660
17661// An IPv4 CIDR block association.
17662type CidrBlockAssociation struct {
17663	_ struct{} `type:"structure"`
17664
17665	// The association ID for the IPv4 CIDR block.
17666	AssociationId *string `type:"string"`
17667
17668	// The IPv4 CIDR block.
17669	CidrBlock *string `type:"string"`
17670
17671	// Information about the state of the IPv4 CIDR block.
17672	CidrBlockState *string `type:"string"`
17673}
17674
17675// String returns the string representation
17676func (s CidrBlockAssociation) String() string {
17677	return awsutil.Prettify(s)
17678}
17679
17680// GoString returns the string representation
17681func (s CidrBlockAssociation) GoString() string {
17682	return s.String()
17683}
17684
17685// SetAssociationId sets the AssociationId field's value.
17686func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
17687	s.AssociationId = &v
17688	return s
17689}
17690
17691// SetCidrBlock sets the CidrBlock field's value.
17692func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
17693	s.CidrBlock = &v
17694	return s
17695}
17696
17697// SetCidrBlockState sets the CidrBlockState field's value.
17698func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
17699	s.CidrBlockState = &v
17700	return s
17701}
17702
17703// Contains finding details that are specific to control-based findings. Only
17704// returned for findings generated from controls.
17705type Compliance struct {
17706	_ struct{} `type:"structure"`
17707
17708	// For a control, the industry or regulatory framework requirements that are
17709	// related to the control. The check for that control is aligned with these
17710	// requirements.
17711	RelatedRequirements []*string `type:"list"`
17712
17713	// The result of a standards check.
17714	//
17715	// The valid values for Status are as follows.
17716	//
17717	//    * PASSED - Standards check passed for all evaluated resources. WARNING
17718	//    - Some information is missing or this check is not supported for your
17719	//    configuration. FAILED - Standards check failed for at least one evaluated
17720	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
17721	//    outage, API error, or because the result of the AWS Config evaluation
17722	//    was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE,
17723	//    then after 3 days, Security Hub automatically archives the finding.
17724	Status *string `type:"string" enum:"ComplianceStatus"`
17725
17726	// For findings generated from controls, a list of reasons behind the value
17727	// of Status. For the list of status reason codes and their meanings, see Standards-related
17728	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
17729	// in the AWS Security Hub User Guide.
17730	StatusReasons []*StatusReason `type:"list"`
17731}
17732
17733// String returns the string representation
17734func (s Compliance) String() string {
17735	return awsutil.Prettify(s)
17736}
17737
17738// GoString returns the string representation
17739func (s Compliance) GoString() string {
17740	return s.String()
17741}
17742
17743// Validate inspects the fields of the type to determine if they are valid.
17744func (s *Compliance) Validate() error {
17745	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
17746	if s.StatusReasons != nil {
17747		for i, v := range s.StatusReasons {
17748			if v == nil {
17749				continue
17750			}
17751			if err := v.Validate(); err != nil {
17752				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
17753			}
17754		}
17755	}
17756
17757	if invalidParams.Len() > 0 {
17758		return invalidParams
17759	}
17760	return nil
17761}
17762
17763// SetRelatedRequirements sets the RelatedRequirements field's value.
17764func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
17765	s.RelatedRequirements = v
17766	return s
17767}
17768
17769// SetStatus sets the Status field's value.
17770func (s *Compliance) SetStatus(v string) *Compliance {
17771	s.Status = &v
17772	return s
17773}
17774
17775// SetStatusReasons sets the StatusReasons field's value.
17776func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
17777	s.StatusReasons = v
17778	return s
17779}
17780
17781// Container details related to a finding.
17782type ContainerDetails struct {
17783	_ struct{} `type:"structure"`
17784
17785	// The identifier of the image related to a finding.
17786	ImageId *string `type:"string"`
17787
17788	// The name of the image related to a finding.
17789	ImageName *string `type:"string"`
17790
17791	// Indicates when the container started.
17792	//
17793	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17794	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17795	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17796	LaunchedAt *string `type:"string"`
17797
17798	// The name of the container related to a finding.
17799	Name *string `type:"string"`
17800}
17801
17802// String returns the string representation
17803func (s ContainerDetails) String() string {
17804	return awsutil.Prettify(s)
17805}
17806
17807// GoString returns the string representation
17808func (s ContainerDetails) GoString() string {
17809	return s.String()
17810}
17811
17812// SetImageId sets the ImageId field's value.
17813func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
17814	s.ImageId = &v
17815	return s
17816}
17817
17818// SetImageName sets the ImageName field's value.
17819func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
17820	s.ImageName = &v
17821	return s
17822}
17823
17824// SetLaunchedAt sets the LaunchedAt field's value.
17825func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
17826	s.LaunchedAt = &v
17827	return s
17828}
17829
17830// SetName sets the Name field's value.
17831func (s *ContainerDetails) SetName(v string) *ContainerDetails {
17832	s.Name = &v
17833	return s
17834}
17835
17836type CreateActionTargetInput struct {
17837	_ struct{} `type:"structure"`
17838
17839	// The description for the custom action target.
17840	//
17841	// Description is a required field
17842	Description *string `type:"string" required:"true"`
17843
17844	// The ID for the custom action target.
17845	//
17846	// Id is a required field
17847	Id *string `type:"string" required:"true"`
17848
17849	// The name of the custom action target.
17850	//
17851	// Name is a required field
17852	Name *string `type:"string" required:"true"`
17853}
17854
17855// String returns the string representation
17856func (s CreateActionTargetInput) String() string {
17857	return awsutil.Prettify(s)
17858}
17859
17860// GoString returns the string representation
17861func (s CreateActionTargetInput) GoString() string {
17862	return s.String()
17863}
17864
17865// Validate inspects the fields of the type to determine if they are valid.
17866func (s *CreateActionTargetInput) Validate() error {
17867	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
17868	if s.Description == nil {
17869		invalidParams.Add(request.NewErrParamRequired("Description"))
17870	}
17871	if s.Id == nil {
17872		invalidParams.Add(request.NewErrParamRequired("Id"))
17873	}
17874	if s.Name == nil {
17875		invalidParams.Add(request.NewErrParamRequired("Name"))
17876	}
17877
17878	if invalidParams.Len() > 0 {
17879		return invalidParams
17880	}
17881	return nil
17882}
17883
17884// SetDescription sets the Description field's value.
17885func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
17886	s.Description = &v
17887	return s
17888}
17889
17890// SetId sets the Id field's value.
17891func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
17892	s.Id = &v
17893	return s
17894}
17895
17896// SetName sets the Name field's value.
17897func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
17898	s.Name = &v
17899	return s
17900}
17901
17902type CreateActionTargetOutput struct {
17903	_ struct{} `type:"structure"`
17904
17905	// The ARN for the custom action target.
17906	//
17907	// ActionTargetArn is a required field
17908	ActionTargetArn *string `type:"string" required:"true"`
17909}
17910
17911// String returns the string representation
17912func (s CreateActionTargetOutput) String() string {
17913	return awsutil.Prettify(s)
17914}
17915
17916// GoString returns the string representation
17917func (s CreateActionTargetOutput) GoString() string {
17918	return s.String()
17919}
17920
17921// SetActionTargetArn sets the ActionTargetArn field's value.
17922func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
17923	s.ActionTargetArn = &v
17924	return s
17925}
17926
17927type CreateInsightInput struct {
17928	_ struct{} `type:"structure"`
17929
17930	// One or more attributes used to filter the findings included in the insight.
17931	// The insight only includes findings that match the criteria defined in the
17932	// filters.
17933	//
17934	// Filters is a required field
17935	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
17936
17937	// The attribute used to group the findings for the insight. The grouping attribute
17938	// identifies the type of item that the insight applies to. For example, if
17939	// an insight is grouped by resource identifier, then the insight produces a
17940	// list of resource identifiers.
17941	//
17942	// GroupByAttribute is a required field
17943	GroupByAttribute *string `type:"string" required:"true"`
17944
17945	// The name of the custom insight to create.
17946	//
17947	// Name is a required field
17948	Name *string `type:"string" required:"true"`
17949}
17950
17951// String returns the string representation
17952func (s CreateInsightInput) String() string {
17953	return awsutil.Prettify(s)
17954}
17955
17956// GoString returns the string representation
17957func (s CreateInsightInput) GoString() string {
17958	return s.String()
17959}
17960
17961// Validate inspects the fields of the type to determine if they are valid.
17962func (s *CreateInsightInput) Validate() error {
17963	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
17964	if s.Filters == nil {
17965		invalidParams.Add(request.NewErrParamRequired("Filters"))
17966	}
17967	if s.GroupByAttribute == nil {
17968		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
17969	}
17970	if s.Name == nil {
17971		invalidParams.Add(request.NewErrParamRequired("Name"))
17972	}
17973
17974	if invalidParams.Len() > 0 {
17975		return invalidParams
17976	}
17977	return nil
17978}
17979
17980// SetFilters sets the Filters field's value.
17981func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
17982	s.Filters = v
17983	return s
17984}
17985
17986// SetGroupByAttribute sets the GroupByAttribute field's value.
17987func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
17988	s.GroupByAttribute = &v
17989	return s
17990}
17991
17992// SetName sets the Name field's value.
17993func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
17994	s.Name = &v
17995	return s
17996}
17997
17998type CreateInsightOutput struct {
17999	_ struct{} `type:"structure"`
18000
18001	// The ARN of the insight created.
18002	//
18003	// InsightArn is a required field
18004	InsightArn *string `type:"string" required:"true"`
18005}
18006
18007// String returns the string representation
18008func (s CreateInsightOutput) String() string {
18009	return awsutil.Prettify(s)
18010}
18011
18012// GoString returns the string representation
18013func (s CreateInsightOutput) GoString() string {
18014	return s.String()
18015}
18016
18017// SetInsightArn sets the InsightArn field's value.
18018func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
18019	s.InsightArn = &v
18020	return s
18021}
18022
18023type CreateMembersInput struct {
18024	_ struct{} `type:"structure"`
18025
18026	// The list of accounts to associate with the Security Hub master account. For
18027	// each account, the list includes the account ID and the email address.
18028	AccountDetails []*AccountDetails `type:"list"`
18029}
18030
18031// String returns the string representation
18032func (s CreateMembersInput) String() string {
18033	return awsutil.Prettify(s)
18034}
18035
18036// GoString returns the string representation
18037func (s CreateMembersInput) GoString() string {
18038	return s.String()
18039}
18040
18041// SetAccountDetails sets the AccountDetails field's value.
18042func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
18043	s.AccountDetails = v
18044	return s
18045}
18046
18047type CreateMembersOutput struct {
18048	_ struct{} `type:"structure"`
18049
18050	// The list of AWS accounts that were not processed. For each account, the list
18051	// includes the account ID and the email address.
18052	UnprocessedAccounts []*Result `type:"list"`
18053}
18054
18055// String returns the string representation
18056func (s CreateMembersOutput) String() string {
18057	return awsutil.Prettify(s)
18058}
18059
18060// GoString returns the string representation
18061func (s CreateMembersOutput) GoString() string {
18062	return s.String()
18063}
18064
18065// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
18066func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
18067	s.UnprocessedAccounts = v
18068	return s
18069}
18070
18071// CVSS scores from the advisory related to the vulnerability.
18072type Cvss struct {
18073	_ struct{} `type:"structure"`
18074
18075	// The base CVSS score.
18076	BaseScore *float64 `type:"double"`
18077
18078	// The base scoring vector for the CVSS score.
18079	BaseVector *string `type:"string"`
18080
18081	// The version of CVSS for the CVSS score.
18082	Version *string `type:"string"`
18083}
18084
18085// String returns the string representation
18086func (s Cvss) String() string {
18087	return awsutil.Prettify(s)
18088}
18089
18090// GoString returns the string representation
18091func (s Cvss) GoString() string {
18092	return s.String()
18093}
18094
18095// SetBaseScore sets the BaseScore field's value.
18096func (s *Cvss) SetBaseScore(v float64) *Cvss {
18097	s.BaseScore = &v
18098	return s
18099}
18100
18101// SetBaseVector sets the BaseVector field's value.
18102func (s *Cvss) SetBaseVector(v string) *Cvss {
18103	s.BaseVector = &v
18104	return s
18105}
18106
18107// SetVersion sets the Version field's value.
18108func (s *Cvss) SetVersion(v string) *Cvss {
18109	s.Version = &v
18110	return s
18111}
18112
18113// A date filter for querying findings.
18114type DateFilter struct {
18115	_ struct{} `type:"structure"`
18116
18117	// A date range for the date filter.
18118	DateRange *DateRange `type:"structure"`
18119
18120	// An end date for the date filter.
18121	End *string `type:"string"`
18122
18123	// A start date for the date filter.
18124	Start *string `type:"string"`
18125}
18126
18127// String returns the string representation
18128func (s DateFilter) String() string {
18129	return awsutil.Prettify(s)
18130}
18131
18132// GoString returns the string representation
18133func (s DateFilter) GoString() string {
18134	return s.String()
18135}
18136
18137// SetDateRange sets the DateRange field's value.
18138func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
18139	s.DateRange = v
18140	return s
18141}
18142
18143// SetEnd sets the End field's value.
18144func (s *DateFilter) SetEnd(v string) *DateFilter {
18145	s.End = &v
18146	return s
18147}
18148
18149// SetStart sets the Start field's value.
18150func (s *DateFilter) SetStart(v string) *DateFilter {
18151	s.Start = &v
18152	return s
18153}
18154
18155// A date range for the date filter.
18156type DateRange struct {
18157	_ struct{} `type:"structure"`
18158
18159	// A date range unit for the date filter.
18160	Unit *string `type:"string" enum:"DateRangeUnit"`
18161
18162	// A date range value for the date filter.
18163	Value *int64 `type:"integer"`
18164}
18165
18166// String returns the string representation
18167func (s DateRange) String() string {
18168	return awsutil.Prettify(s)
18169}
18170
18171// GoString returns the string representation
18172func (s DateRange) GoString() string {
18173	return s.String()
18174}
18175
18176// SetUnit sets the Unit field's value.
18177func (s *DateRange) SetUnit(v string) *DateRange {
18178	s.Unit = &v
18179	return s
18180}
18181
18182// SetValue sets the Value field's value.
18183func (s *DateRange) SetValue(v int64) *DateRange {
18184	s.Value = &v
18185	return s
18186}
18187
18188type DeclineInvitationsInput struct {
18189	_ struct{} `type:"structure"`
18190
18191	// The list of account IDs for the accounts from which to decline the invitations
18192	// to Security Hub.
18193	//
18194	// AccountIds is a required field
18195	AccountIds []*string `type:"list" required:"true"`
18196}
18197
18198// String returns the string representation
18199func (s DeclineInvitationsInput) String() string {
18200	return awsutil.Prettify(s)
18201}
18202
18203// GoString returns the string representation
18204func (s DeclineInvitationsInput) GoString() string {
18205	return s.String()
18206}
18207
18208// Validate inspects the fields of the type to determine if they are valid.
18209func (s *DeclineInvitationsInput) Validate() error {
18210	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
18211	if s.AccountIds == nil {
18212		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
18213	}
18214
18215	if invalidParams.Len() > 0 {
18216		return invalidParams
18217	}
18218	return nil
18219}
18220
18221// SetAccountIds sets the AccountIds field's value.
18222func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
18223	s.AccountIds = v
18224	return s
18225}
18226
18227type DeclineInvitationsOutput struct {
18228	_ struct{} `type:"structure"`
18229
18230	// The list of AWS accounts that were not processed. For each account, the list
18231	// includes the account ID and the email address.
18232	UnprocessedAccounts []*Result `type:"list"`
18233}
18234
18235// String returns the string representation
18236func (s DeclineInvitationsOutput) String() string {
18237	return awsutil.Prettify(s)
18238}
18239
18240// GoString returns the string representation
18241func (s DeclineInvitationsOutput) GoString() string {
18242	return s.String()
18243}
18244
18245// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
18246func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
18247	s.UnprocessedAccounts = v
18248	return s
18249}
18250
18251type DeleteActionTargetInput struct {
18252	_ struct{} `type:"structure"`
18253
18254	// The ARN of the custom action target to delete.
18255	//
18256	// ActionTargetArn is a required field
18257	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
18258}
18259
18260// String returns the string representation
18261func (s DeleteActionTargetInput) String() string {
18262	return awsutil.Prettify(s)
18263}
18264
18265// GoString returns the string representation
18266func (s DeleteActionTargetInput) GoString() string {
18267	return s.String()
18268}
18269
18270// Validate inspects the fields of the type to determine if they are valid.
18271func (s *DeleteActionTargetInput) Validate() error {
18272	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
18273	if s.ActionTargetArn == nil {
18274		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
18275	}
18276	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
18277		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
18278	}
18279
18280	if invalidParams.Len() > 0 {
18281		return invalidParams
18282	}
18283	return nil
18284}
18285
18286// SetActionTargetArn sets the ActionTargetArn field's value.
18287func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
18288	s.ActionTargetArn = &v
18289	return s
18290}
18291
18292type DeleteActionTargetOutput struct {
18293	_ struct{} `type:"structure"`
18294
18295	// The ARN of the custom action target that was deleted.
18296	//
18297	// ActionTargetArn is a required field
18298	ActionTargetArn *string `type:"string" required:"true"`
18299}
18300
18301// String returns the string representation
18302func (s DeleteActionTargetOutput) String() string {
18303	return awsutil.Prettify(s)
18304}
18305
18306// GoString returns the string representation
18307func (s DeleteActionTargetOutput) GoString() string {
18308	return s.String()
18309}
18310
18311// SetActionTargetArn sets the ActionTargetArn field's value.
18312func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
18313	s.ActionTargetArn = &v
18314	return s
18315}
18316
18317type DeleteInsightInput struct {
18318	_ struct{} `type:"structure"`
18319
18320	// The ARN of the insight to delete.
18321	//
18322	// InsightArn is a required field
18323	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
18324}
18325
18326// String returns the string representation
18327func (s DeleteInsightInput) String() string {
18328	return awsutil.Prettify(s)
18329}
18330
18331// GoString returns the string representation
18332func (s DeleteInsightInput) GoString() string {
18333	return s.String()
18334}
18335
18336// Validate inspects the fields of the type to determine if they are valid.
18337func (s *DeleteInsightInput) Validate() error {
18338	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
18339	if s.InsightArn == nil {
18340		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
18341	}
18342	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
18343		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
18344	}
18345
18346	if invalidParams.Len() > 0 {
18347		return invalidParams
18348	}
18349	return nil
18350}
18351
18352// SetInsightArn sets the InsightArn field's value.
18353func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
18354	s.InsightArn = &v
18355	return s
18356}
18357
18358type DeleteInsightOutput struct {
18359	_ struct{} `type:"structure"`
18360
18361	// The ARN of the insight that was deleted.
18362	//
18363	// InsightArn is a required field
18364	InsightArn *string `type:"string" required:"true"`
18365}
18366
18367// String returns the string representation
18368func (s DeleteInsightOutput) String() string {
18369	return awsutil.Prettify(s)
18370}
18371
18372// GoString returns the string representation
18373func (s DeleteInsightOutput) GoString() string {
18374	return s.String()
18375}
18376
18377// SetInsightArn sets the InsightArn field's value.
18378func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
18379	s.InsightArn = &v
18380	return s
18381}
18382
18383type DeleteInvitationsInput struct {
18384	_ struct{} `type:"structure"`
18385
18386	// The list of the account IDs that sent the invitations to delete.
18387	//
18388	// AccountIds is a required field
18389	AccountIds []*string `type:"list" required:"true"`
18390}
18391
18392// String returns the string representation
18393func (s DeleteInvitationsInput) String() string {
18394	return awsutil.Prettify(s)
18395}
18396
18397// GoString returns the string representation
18398func (s DeleteInvitationsInput) GoString() string {
18399	return s.String()
18400}
18401
18402// Validate inspects the fields of the type to determine if they are valid.
18403func (s *DeleteInvitationsInput) Validate() error {
18404	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
18405	if s.AccountIds == nil {
18406		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
18407	}
18408
18409	if invalidParams.Len() > 0 {
18410		return invalidParams
18411	}
18412	return nil
18413}
18414
18415// SetAccountIds sets the AccountIds field's value.
18416func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
18417	s.AccountIds = v
18418	return s
18419}
18420
18421type DeleteInvitationsOutput struct {
18422	_ struct{} `type:"structure"`
18423
18424	// The list of AWS accounts for which the invitations were not deleted. For
18425	// each account, the list includes the account ID and the email address.
18426	UnprocessedAccounts []*Result `type:"list"`
18427}
18428
18429// String returns the string representation
18430func (s DeleteInvitationsOutput) String() string {
18431	return awsutil.Prettify(s)
18432}
18433
18434// GoString returns the string representation
18435func (s DeleteInvitationsOutput) GoString() string {
18436	return s.String()
18437}
18438
18439// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
18440func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
18441	s.UnprocessedAccounts = v
18442	return s
18443}
18444
18445type DeleteMembersInput struct {
18446	_ struct{} `type:"structure"`
18447
18448	// The list of account IDs for the member accounts to delete.
18449	AccountIds []*string `type:"list"`
18450}
18451
18452// String returns the string representation
18453func (s DeleteMembersInput) String() string {
18454	return awsutil.Prettify(s)
18455}
18456
18457// GoString returns the string representation
18458func (s DeleteMembersInput) GoString() string {
18459	return s.String()
18460}
18461
18462// SetAccountIds sets the AccountIds field's value.
18463func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
18464	s.AccountIds = v
18465	return s
18466}
18467
18468type DeleteMembersOutput struct {
18469	_ struct{} `type:"structure"`
18470
18471	// The list of AWS accounts that were not deleted. For each account, the list
18472	// includes the account ID and the email address.
18473	UnprocessedAccounts []*Result `type:"list"`
18474}
18475
18476// String returns the string representation
18477func (s DeleteMembersOutput) String() string {
18478	return awsutil.Prettify(s)
18479}
18480
18481// GoString returns the string representation
18482func (s DeleteMembersOutput) GoString() string {
18483	return s.String()
18484}
18485
18486// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
18487func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
18488	s.UnprocessedAccounts = v
18489	return s
18490}
18491
18492type DescribeActionTargetsInput struct {
18493	_ struct{} `type:"structure"`
18494
18495	// A list of custom action target ARNs for the custom action targets to retrieve.
18496	ActionTargetArns []*string `type:"list"`
18497
18498	// The maximum number of results to return.
18499	MaxResults *int64 `min:"1" type:"integer"`
18500
18501	// The token that is required for pagination. On your first call to the DescribeActionTargets
18502	// operation, set the value of this parameter to NULL.
18503	//
18504	// For subsequent calls to the operation, to continue listing data, set the
18505	// value of this parameter to the value returned from the previous response.
18506	NextToken *string `type:"string"`
18507}
18508
18509// String returns the string representation
18510func (s DescribeActionTargetsInput) String() string {
18511	return awsutil.Prettify(s)
18512}
18513
18514// GoString returns the string representation
18515func (s DescribeActionTargetsInput) GoString() string {
18516	return s.String()
18517}
18518
18519// Validate inspects the fields of the type to determine if they are valid.
18520func (s *DescribeActionTargetsInput) Validate() error {
18521	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
18522	if s.MaxResults != nil && *s.MaxResults < 1 {
18523		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18524	}
18525
18526	if invalidParams.Len() > 0 {
18527		return invalidParams
18528	}
18529	return nil
18530}
18531
18532// SetActionTargetArns sets the ActionTargetArns field's value.
18533func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
18534	s.ActionTargetArns = v
18535	return s
18536}
18537
18538// SetMaxResults sets the MaxResults field's value.
18539func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
18540	s.MaxResults = &v
18541	return s
18542}
18543
18544// SetNextToken sets the NextToken field's value.
18545func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
18546	s.NextToken = &v
18547	return s
18548}
18549
18550type DescribeActionTargetsOutput struct {
18551	_ struct{} `type:"structure"`
18552
18553	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
18554	// Description, and Name of a custom action target available in Security Hub.
18555	//
18556	// ActionTargets is a required field
18557	ActionTargets []*ActionTarget `type:"list" required:"true"`
18558
18559	// The pagination token to use to request the next page of results.
18560	NextToken *string `type:"string"`
18561}
18562
18563// String returns the string representation
18564func (s DescribeActionTargetsOutput) String() string {
18565	return awsutil.Prettify(s)
18566}
18567
18568// GoString returns the string representation
18569func (s DescribeActionTargetsOutput) GoString() string {
18570	return s.String()
18571}
18572
18573// SetActionTargets sets the ActionTargets field's value.
18574func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
18575	s.ActionTargets = v
18576	return s
18577}
18578
18579// SetNextToken sets the NextToken field's value.
18580func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
18581	s.NextToken = &v
18582	return s
18583}
18584
18585type DescribeHubInput struct {
18586	_ struct{} `type:"structure"`
18587
18588	// The ARN of the Hub resource to retrieve.
18589	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
18590}
18591
18592// String returns the string representation
18593func (s DescribeHubInput) String() string {
18594	return awsutil.Prettify(s)
18595}
18596
18597// GoString returns the string representation
18598func (s DescribeHubInput) GoString() string {
18599	return s.String()
18600}
18601
18602// SetHubArn sets the HubArn field's value.
18603func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
18604	s.HubArn = &v
18605	return s
18606}
18607
18608type DescribeHubOutput struct {
18609	_ struct{} `type:"structure"`
18610
18611	// Whether to automatically enable new controls when they are added to standards
18612	// that are enabled.
18613	//
18614	// If set to true, then new controls for enabled standards are enabled automatically.
18615	// If set to false, then new controls are not enabled.
18616	AutoEnableControls *bool `type:"boolean"`
18617
18618	// The ARN of the Hub resource that was retrieved.
18619	HubArn *string `type:"string"`
18620
18621	// The date and time when Security Hub was enabled in the account.
18622	SubscribedAt *string `type:"string"`
18623}
18624
18625// String returns the string representation
18626func (s DescribeHubOutput) String() string {
18627	return awsutil.Prettify(s)
18628}
18629
18630// GoString returns the string representation
18631func (s DescribeHubOutput) GoString() string {
18632	return s.String()
18633}
18634
18635// SetAutoEnableControls sets the AutoEnableControls field's value.
18636func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
18637	s.AutoEnableControls = &v
18638	return s
18639}
18640
18641// SetHubArn sets the HubArn field's value.
18642func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
18643	s.HubArn = &v
18644	return s
18645}
18646
18647// SetSubscribedAt sets the SubscribedAt field's value.
18648func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
18649	s.SubscribedAt = &v
18650	return s
18651}
18652
18653type DescribeProductsInput struct {
18654	_ struct{} `type:"structure"`
18655
18656	// The maximum number of results to return.
18657	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
18658
18659	// The token that is required for pagination. On your first call to the DescribeProducts
18660	// operation, set the value of this parameter to NULL.
18661	//
18662	// For subsequent calls to the operation, to continue listing data, set the
18663	// value of this parameter to the value returned from the previous response.
18664	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
18665}
18666
18667// String returns the string representation
18668func (s DescribeProductsInput) String() string {
18669	return awsutil.Prettify(s)
18670}
18671
18672// GoString returns the string representation
18673func (s DescribeProductsInput) GoString() string {
18674	return s.String()
18675}
18676
18677// Validate inspects the fields of the type to determine if they are valid.
18678func (s *DescribeProductsInput) Validate() error {
18679	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
18680	if s.MaxResults != nil && *s.MaxResults < 1 {
18681		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18682	}
18683
18684	if invalidParams.Len() > 0 {
18685		return invalidParams
18686	}
18687	return nil
18688}
18689
18690// SetMaxResults sets the MaxResults field's value.
18691func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
18692	s.MaxResults = &v
18693	return s
18694}
18695
18696// SetNextToken sets the NextToken field's value.
18697func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
18698	s.NextToken = &v
18699	return s
18700}
18701
18702type DescribeProductsOutput struct {
18703	_ struct{} `type:"structure"`
18704
18705	// The pagination token to use to request the next page of results.
18706	NextToken *string `type:"string"`
18707
18708	// A list of products, including details for each product.
18709	//
18710	// Products is a required field
18711	Products []*Product `type:"list" required:"true"`
18712}
18713
18714// String returns the string representation
18715func (s DescribeProductsOutput) String() string {
18716	return awsutil.Prettify(s)
18717}
18718
18719// GoString returns the string representation
18720func (s DescribeProductsOutput) GoString() string {
18721	return s.String()
18722}
18723
18724// SetNextToken sets the NextToken field's value.
18725func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
18726	s.NextToken = &v
18727	return s
18728}
18729
18730// SetProducts sets the Products field's value.
18731func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
18732	s.Products = v
18733	return s
18734}
18735
18736type DescribeStandardsControlsInput struct {
18737	_ struct{} `type:"structure"`
18738
18739	// The maximum number of security standard controls to return.
18740	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
18741
18742	// The token that is required for pagination. On your first call to the DescribeStandardsControls
18743	// operation, set the value of this parameter to NULL.
18744	//
18745	// For subsequent calls to the operation, to continue listing data, set the
18746	// value of this parameter to the value returned from the previous response.
18747	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
18748
18749	// The ARN of a resource that represents your subscription to a supported standard.
18750	//
18751	// StandardsSubscriptionArn is a required field
18752	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
18753}
18754
18755// String returns the string representation
18756func (s DescribeStandardsControlsInput) String() string {
18757	return awsutil.Prettify(s)
18758}
18759
18760// GoString returns the string representation
18761func (s DescribeStandardsControlsInput) GoString() string {
18762	return s.String()
18763}
18764
18765// Validate inspects the fields of the type to determine if they are valid.
18766func (s *DescribeStandardsControlsInput) Validate() error {
18767	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
18768	if s.MaxResults != nil && *s.MaxResults < 1 {
18769		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18770	}
18771	if s.StandardsSubscriptionArn == nil {
18772		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
18773	}
18774	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
18775		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
18776	}
18777
18778	if invalidParams.Len() > 0 {
18779		return invalidParams
18780	}
18781	return nil
18782}
18783
18784// SetMaxResults sets the MaxResults field's value.
18785func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
18786	s.MaxResults = &v
18787	return s
18788}
18789
18790// SetNextToken sets the NextToken field's value.
18791func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
18792	s.NextToken = &v
18793	return s
18794}
18795
18796// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
18797func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
18798	s.StandardsSubscriptionArn = &v
18799	return s
18800}
18801
18802type DescribeStandardsControlsOutput struct {
18803	_ struct{} `type:"structure"`
18804
18805	// A list of security standards controls.
18806	Controls []*StandardsControl `type:"list"`
18807
18808	// The pagination token to use to request the next page of results.
18809	NextToken *string `type:"string"`
18810}
18811
18812// String returns the string representation
18813func (s DescribeStandardsControlsOutput) String() string {
18814	return awsutil.Prettify(s)
18815}
18816
18817// GoString returns the string representation
18818func (s DescribeStandardsControlsOutput) GoString() string {
18819	return s.String()
18820}
18821
18822// SetControls sets the Controls field's value.
18823func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
18824	s.Controls = v
18825	return s
18826}
18827
18828// SetNextToken sets the NextToken field's value.
18829func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
18830	s.NextToken = &v
18831	return s
18832}
18833
18834type DescribeStandardsInput struct {
18835	_ struct{} `type:"structure"`
18836
18837	// The maximum number of standards to return.
18838	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
18839
18840	// The token that is required for pagination. On your first call to the DescribeStandards
18841	// operation, set the value of this parameter to NULL.
18842	//
18843	// For subsequent calls to the operation, to continue listing data, set the
18844	// value of this parameter to the value returned from the previous response.
18845	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
18846}
18847
18848// String returns the string representation
18849func (s DescribeStandardsInput) String() string {
18850	return awsutil.Prettify(s)
18851}
18852
18853// GoString returns the string representation
18854func (s DescribeStandardsInput) GoString() string {
18855	return s.String()
18856}
18857
18858// Validate inspects the fields of the type to determine if they are valid.
18859func (s *DescribeStandardsInput) Validate() error {
18860	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
18861	if s.MaxResults != nil && *s.MaxResults < 1 {
18862		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18863	}
18864
18865	if invalidParams.Len() > 0 {
18866		return invalidParams
18867	}
18868	return nil
18869}
18870
18871// SetMaxResults sets the MaxResults field's value.
18872func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
18873	s.MaxResults = &v
18874	return s
18875}
18876
18877// SetNextToken sets the NextToken field's value.
18878func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
18879	s.NextToken = &v
18880	return s
18881}
18882
18883type DescribeStandardsOutput struct {
18884	_ struct{} `type:"structure"`
18885
18886	// The pagination token to use to request the next page of results.
18887	NextToken *string `type:"string"`
18888
18889	// A list of available standards.
18890	Standards []*Standard `type:"list"`
18891}
18892
18893// String returns the string representation
18894func (s DescribeStandardsOutput) String() string {
18895	return awsutil.Prettify(s)
18896}
18897
18898// GoString returns the string representation
18899func (s DescribeStandardsOutput) GoString() string {
18900	return s.String()
18901}
18902
18903// SetNextToken sets the NextToken field's value.
18904func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
18905	s.NextToken = &v
18906	return s
18907}
18908
18909// SetStandards sets the Standards field's value.
18910func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
18911	s.Standards = v
18912	return s
18913}
18914
18915type DisableImportFindingsForProductInput struct {
18916	_ struct{} `type:"structure"`
18917
18918	// The ARN of the integrated product to disable the integration for.
18919	//
18920	// ProductSubscriptionArn is a required field
18921	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
18922}
18923
18924// String returns the string representation
18925func (s DisableImportFindingsForProductInput) String() string {
18926	return awsutil.Prettify(s)
18927}
18928
18929// GoString returns the string representation
18930func (s DisableImportFindingsForProductInput) GoString() string {
18931	return s.String()
18932}
18933
18934// Validate inspects the fields of the type to determine if they are valid.
18935func (s *DisableImportFindingsForProductInput) Validate() error {
18936	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
18937	if s.ProductSubscriptionArn == nil {
18938		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
18939	}
18940	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
18941		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
18942	}
18943
18944	if invalidParams.Len() > 0 {
18945		return invalidParams
18946	}
18947	return nil
18948}
18949
18950// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
18951func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
18952	s.ProductSubscriptionArn = &v
18953	return s
18954}
18955
18956type DisableImportFindingsForProductOutput struct {
18957	_ struct{} `type:"structure"`
18958}
18959
18960// String returns the string representation
18961func (s DisableImportFindingsForProductOutput) String() string {
18962	return awsutil.Prettify(s)
18963}
18964
18965// GoString returns the string representation
18966func (s DisableImportFindingsForProductOutput) GoString() string {
18967	return s.String()
18968}
18969
18970type DisableSecurityHubInput struct {
18971	_ struct{} `type:"structure"`
18972}
18973
18974// String returns the string representation
18975func (s DisableSecurityHubInput) String() string {
18976	return awsutil.Prettify(s)
18977}
18978
18979// GoString returns the string representation
18980func (s DisableSecurityHubInput) GoString() string {
18981	return s.String()
18982}
18983
18984type DisableSecurityHubOutput struct {
18985	_ struct{} `type:"structure"`
18986}
18987
18988// String returns the string representation
18989func (s DisableSecurityHubOutput) String() string {
18990	return awsutil.Prettify(s)
18991}
18992
18993// GoString returns the string representation
18994func (s DisableSecurityHubOutput) GoString() string {
18995	return s.String()
18996}
18997
18998type DisassociateFromMasterAccountInput struct {
18999	_ struct{} `type:"structure"`
19000}
19001
19002// String returns the string representation
19003func (s DisassociateFromMasterAccountInput) String() string {
19004	return awsutil.Prettify(s)
19005}
19006
19007// GoString returns the string representation
19008func (s DisassociateFromMasterAccountInput) GoString() string {
19009	return s.String()
19010}
19011
19012type DisassociateFromMasterAccountOutput struct {
19013	_ struct{} `type:"structure"`
19014}
19015
19016// String returns the string representation
19017func (s DisassociateFromMasterAccountOutput) String() string {
19018	return awsutil.Prettify(s)
19019}
19020
19021// GoString returns the string representation
19022func (s DisassociateFromMasterAccountOutput) GoString() string {
19023	return s.String()
19024}
19025
19026type DisassociateMembersInput struct {
19027	_ struct{} `type:"structure"`
19028
19029	// The account IDs of the member accounts to disassociate from the master account.
19030	AccountIds []*string `type:"list"`
19031}
19032
19033// String returns the string representation
19034func (s DisassociateMembersInput) String() string {
19035	return awsutil.Prettify(s)
19036}
19037
19038// GoString returns the string representation
19039func (s DisassociateMembersInput) GoString() string {
19040	return s.String()
19041}
19042
19043// SetAccountIds sets the AccountIds field's value.
19044func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
19045	s.AccountIds = v
19046	return s
19047}
19048
19049type DisassociateMembersOutput struct {
19050	_ struct{} `type:"structure"`
19051}
19052
19053// String returns the string representation
19054func (s DisassociateMembersOutput) String() string {
19055	return awsutil.Prettify(s)
19056}
19057
19058// GoString returns the string representation
19059func (s DisassociateMembersOutput) GoString() string {
19060	return s.String()
19061}
19062
19063type EnableImportFindingsForProductInput struct {
19064	_ struct{} `type:"structure"`
19065
19066	// The ARN of the product to enable the integration for.
19067	//
19068	// ProductArn is a required field
19069	ProductArn *string `type:"string" required:"true"`
19070}
19071
19072// String returns the string representation
19073func (s EnableImportFindingsForProductInput) String() string {
19074	return awsutil.Prettify(s)
19075}
19076
19077// GoString returns the string representation
19078func (s EnableImportFindingsForProductInput) GoString() string {
19079	return s.String()
19080}
19081
19082// Validate inspects the fields of the type to determine if they are valid.
19083func (s *EnableImportFindingsForProductInput) Validate() error {
19084	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
19085	if s.ProductArn == nil {
19086		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
19087	}
19088
19089	if invalidParams.Len() > 0 {
19090		return invalidParams
19091	}
19092	return nil
19093}
19094
19095// SetProductArn sets the ProductArn field's value.
19096func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
19097	s.ProductArn = &v
19098	return s
19099}
19100
19101type EnableImportFindingsForProductOutput struct {
19102	_ struct{} `type:"structure"`
19103
19104	// The ARN of your subscription to the product to enable integrations for.
19105	ProductSubscriptionArn *string `type:"string"`
19106}
19107
19108// String returns the string representation
19109func (s EnableImportFindingsForProductOutput) String() string {
19110	return awsutil.Prettify(s)
19111}
19112
19113// GoString returns the string representation
19114func (s EnableImportFindingsForProductOutput) GoString() string {
19115	return s.String()
19116}
19117
19118// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
19119func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
19120	s.ProductSubscriptionArn = &v
19121	return s
19122}
19123
19124type EnableSecurityHubInput struct {
19125	_ struct{} `type:"structure"`
19126
19127	// Whether to enable the security standards that Security Hub has designated
19128	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
19129	// it is set to true. To not enable the automatically enabled standards, set
19130	// EnableDefaultStandards to false.
19131	EnableDefaultStandards *bool `type:"boolean"`
19132
19133	// The tags to add to the hub resource when you enable Security Hub.
19134	Tags map[string]*string `min:"1" type:"map"`
19135}
19136
19137// String returns the string representation
19138func (s EnableSecurityHubInput) String() string {
19139	return awsutil.Prettify(s)
19140}
19141
19142// GoString returns the string representation
19143func (s EnableSecurityHubInput) GoString() string {
19144	return s.String()
19145}
19146
19147// Validate inspects the fields of the type to determine if they are valid.
19148func (s *EnableSecurityHubInput) Validate() error {
19149	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
19150	if s.Tags != nil && len(s.Tags) < 1 {
19151		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
19152	}
19153
19154	if invalidParams.Len() > 0 {
19155		return invalidParams
19156	}
19157	return nil
19158}
19159
19160// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
19161func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
19162	s.EnableDefaultStandards = &v
19163	return s
19164}
19165
19166// SetTags sets the Tags field's value.
19167func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
19168	s.Tags = v
19169	return s
19170}
19171
19172type EnableSecurityHubOutput struct {
19173	_ struct{} `type:"structure"`
19174}
19175
19176// String returns the string representation
19177func (s EnableSecurityHubOutput) String() string {
19178	return awsutil.Prettify(s)
19179}
19180
19181// GoString returns the string representation
19182func (s EnableSecurityHubOutput) GoString() string {
19183	return s.String()
19184}
19185
19186type GetEnabledStandardsInput struct {
19187	_ struct{} `type:"structure"`
19188
19189	// The maximum number of results to return in the response.
19190	MaxResults *int64 `min:"1" type:"integer"`
19191
19192	// The token that is required for pagination. On your first call to the GetEnabledStandards
19193	// operation, set the value of this parameter to NULL.
19194	//
19195	// For subsequent calls to the operation, to continue listing data, set the
19196	// value of this parameter to the value returned from the previous response.
19197	NextToken *string `type:"string"`
19198
19199	// The list of the standards subscription ARNs for the standards to retrieve.
19200	StandardsSubscriptionArns []*string `min:"1" type:"list"`
19201}
19202
19203// String returns the string representation
19204func (s GetEnabledStandardsInput) String() string {
19205	return awsutil.Prettify(s)
19206}
19207
19208// GoString returns the string representation
19209func (s GetEnabledStandardsInput) GoString() string {
19210	return s.String()
19211}
19212
19213// Validate inspects the fields of the type to determine if they are valid.
19214func (s *GetEnabledStandardsInput) Validate() error {
19215	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
19216	if s.MaxResults != nil && *s.MaxResults < 1 {
19217		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19218	}
19219	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
19220		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
19221	}
19222
19223	if invalidParams.Len() > 0 {
19224		return invalidParams
19225	}
19226	return nil
19227}
19228
19229// SetMaxResults sets the MaxResults field's value.
19230func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
19231	s.MaxResults = &v
19232	return s
19233}
19234
19235// SetNextToken sets the NextToken field's value.
19236func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
19237	s.NextToken = &v
19238	return s
19239}
19240
19241// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
19242func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
19243	s.StandardsSubscriptionArns = v
19244	return s
19245}
19246
19247type GetEnabledStandardsOutput struct {
19248	_ struct{} `type:"structure"`
19249
19250	// The pagination token to use to request the next page of results.
19251	NextToken *string `type:"string"`
19252
19253	// The list of StandardsSubscriptions objects that include information about
19254	// the enabled standards.
19255	StandardsSubscriptions []*StandardsSubscription `type:"list"`
19256}
19257
19258// String returns the string representation
19259func (s GetEnabledStandardsOutput) String() string {
19260	return awsutil.Prettify(s)
19261}
19262
19263// GoString returns the string representation
19264func (s GetEnabledStandardsOutput) GoString() string {
19265	return s.String()
19266}
19267
19268// SetNextToken sets the NextToken field's value.
19269func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
19270	s.NextToken = &v
19271	return s
19272}
19273
19274// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
19275func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
19276	s.StandardsSubscriptions = v
19277	return s
19278}
19279
19280type GetFindingsInput struct {
19281	_ struct{} `type:"structure"`
19282
19283	// The finding attributes used to define a condition to filter the returned
19284	// findings.
19285	//
19286	// You can filter by up to 10 finding attributes. For each attribute, you can
19287	// provide up to 20 filter values.
19288	//
19289	// Note that in the available filter fields, WorkflowState is deprecated. To
19290	// search for a finding based on its workflow status, use WorkflowStatus.
19291	Filters *AwsSecurityFindingFilters `type:"structure"`
19292
19293	// The maximum number of findings to return.
19294	MaxResults *int64 `min:"1" type:"integer"`
19295
19296	// The token that is required for pagination. On your first call to the GetFindings
19297	// operation, set the value of this parameter to NULL.
19298	//
19299	// For subsequent calls to the operation, to continue listing data, set the
19300	// value of this parameter to the value returned from the previous response.
19301	NextToken *string `type:"string"`
19302
19303	// The finding attributes used to sort the list of returned findings.
19304	SortCriteria []*SortCriterion `type:"list"`
19305}
19306
19307// String returns the string representation
19308func (s GetFindingsInput) String() string {
19309	return awsutil.Prettify(s)
19310}
19311
19312// GoString returns the string representation
19313func (s GetFindingsInput) GoString() string {
19314	return s.String()
19315}
19316
19317// Validate inspects the fields of the type to determine if they are valid.
19318func (s *GetFindingsInput) Validate() error {
19319	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
19320	if s.MaxResults != nil && *s.MaxResults < 1 {
19321		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19322	}
19323
19324	if invalidParams.Len() > 0 {
19325		return invalidParams
19326	}
19327	return nil
19328}
19329
19330// SetFilters sets the Filters field's value.
19331func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
19332	s.Filters = v
19333	return s
19334}
19335
19336// SetMaxResults sets the MaxResults field's value.
19337func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
19338	s.MaxResults = &v
19339	return s
19340}
19341
19342// SetNextToken sets the NextToken field's value.
19343func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
19344	s.NextToken = &v
19345	return s
19346}
19347
19348// SetSortCriteria sets the SortCriteria field's value.
19349func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
19350	s.SortCriteria = v
19351	return s
19352}
19353
19354type GetFindingsOutput struct {
19355	_ struct{} `type:"structure"`
19356
19357	// The findings that matched the filters specified in the request.
19358	//
19359	// Findings is a required field
19360	Findings []*AwsSecurityFinding `type:"list" required:"true"`
19361
19362	// The pagination token to use to request the next page of results.
19363	NextToken *string `type:"string"`
19364}
19365
19366// String returns the string representation
19367func (s GetFindingsOutput) String() string {
19368	return awsutil.Prettify(s)
19369}
19370
19371// GoString returns the string representation
19372func (s GetFindingsOutput) GoString() string {
19373	return s.String()
19374}
19375
19376// SetFindings sets the Findings field's value.
19377func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
19378	s.Findings = v
19379	return s
19380}
19381
19382// SetNextToken sets the NextToken field's value.
19383func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
19384	s.NextToken = &v
19385	return s
19386}
19387
19388type GetInsightResultsInput struct {
19389	_ struct{} `type:"structure"`
19390
19391	// The ARN of the insight for which to return results.
19392	//
19393	// InsightArn is a required field
19394	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
19395}
19396
19397// String returns the string representation
19398func (s GetInsightResultsInput) String() string {
19399	return awsutil.Prettify(s)
19400}
19401
19402// GoString returns the string representation
19403func (s GetInsightResultsInput) GoString() string {
19404	return s.String()
19405}
19406
19407// Validate inspects the fields of the type to determine if they are valid.
19408func (s *GetInsightResultsInput) Validate() error {
19409	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
19410	if s.InsightArn == nil {
19411		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
19412	}
19413	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
19414		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
19415	}
19416
19417	if invalidParams.Len() > 0 {
19418		return invalidParams
19419	}
19420	return nil
19421}
19422
19423// SetInsightArn sets the InsightArn field's value.
19424func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
19425	s.InsightArn = &v
19426	return s
19427}
19428
19429type GetInsightResultsOutput struct {
19430	_ struct{} `type:"structure"`
19431
19432	// The insight results returned by the operation.
19433	//
19434	// InsightResults is a required field
19435	InsightResults *InsightResults `type:"structure" required:"true"`
19436}
19437
19438// String returns the string representation
19439func (s GetInsightResultsOutput) String() string {
19440	return awsutil.Prettify(s)
19441}
19442
19443// GoString returns the string representation
19444func (s GetInsightResultsOutput) GoString() string {
19445	return s.String()
19446}
19447
19448// SetInsightResults sets the InsightResults field's value.
19449func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
19450	s.InsightResults = v
19451	return s
19452}
19453
19454type GetInsightsInput struct {
19455	_ struct{} `type:"structure"`
19456
19457	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
19458	// then GetInsights returns all of your custom insights. It does not return
19459	// any managed insights.
19460	InsightArns []*string `type:"list"`
19461
19462	// The maximum number of items to return in the response.
19463	MaxResults *int64 `min:"1" type:"integer"`
19464
19465	// The token that is required for pagination. On your first call to the GetInsights
19466	// operation, set the value of this parameter to NULL.
19467	//
19468	// For subsequent calls to the operation, to continue listing data, set the
19469	// value of this parameter to the value returned from the previous response.
19470	NextToken *string `type:"string"`
19471}
19472
19473// String returns the string representation
19474func (s GetInsightsInput) String() string {
19475	return awsutil.Prettify(s)
19476}
19477
19478// GoString returns the string representation
19479func (s GetInsightsInput) GoString() string {
19480	return s.String()
19481}
19482
19483// Validate inspects the fields of the type to determine if they are valid.
19484func (s *GetInsightsInput) Validate() error {
19485	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
19486	if s.MaxResults != nil && *s.MaxResults < 1 {
19487		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19488	}
19489
19490	if invalidParams.Len() > 0 {
19491		return invalidParams
19492	}
19493	return nil
19494}
19495
19496// SetInsightArns sets the InsightArns field's value.
19497func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
19498	s.InsightArns = v
19499	return s
19500}
19501
19502// SetMaxResults sets the MaxResults field's value.
19503func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
19504	s.MaxResults = &v
19505	return s
19506}
19507
19508// SetNextToken sets the NextToken field's value.
19509func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
19510	s.NextToken = &v
19511	return s
19512}
19513
19514type GetInsightsOutput struct {
19515	_ struct{} `type:"structure"`
19516
19517	// The insights returned by the operation.
19518	//
19519	// Insights is a required field
19520	Insights []*Insight `type:"list" required:"true"`
19521
19522	// The pagination token to use to request the next page of results.
19523	NextToken *string `type:"string"`
19524}
19525
19526// String returns the string representation
19527func (s GetInsightsOutput) String() string {
19528	return awsutil.Prettify(s)
19529}
19530
19531// GoString returns the string representation
19532func (s GetInsightsOutput) GoString() string {
19533	return s.String()
19534}
19535
19536// SetInsights sets the Insights field's value.
19537func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
19538	s.Insights = v
19539	return s
19540}
19541
19542// SetNextToken sets the NextToken field's value.
19543func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
19544	s.NextToken = &v
19545	return s
19546}
19547
19548type GetInvitationsCountInput struct {
19549	_ struct{} `type:"structure"`
19550}
19551
19552// String returns the string representation
19553func (s GetInvitationsCountInput) String() string {
19554	return awsutil.Prettify(s)
19555}
19556
19557// GoString returns the string representation
19558func (s GetInvitationsCountInput) GoString() string {
19559	return s.String()
19560}
19561
19562type GetInvitationsCountOutput struct {
19563	_ struct{} `type:"structure"`
19564
19565	// The number of all membership invitations sent to this Security Hub member
19566	// account, not including the currently accepted invitation.
19567	InvitationsCount *int64 `type:"integer"`
19568}
19569
19570// String returns the string representation
19571func (s GetInvitationsCountOutput) String() string {
19572	return awsutil.Prettify(s)
19573}
19574
19575// GoString returns the string representation
19576func (s GetInvitationsCountOutput) GoString() string {
19577	return s.String()
19578}
19579
19580// SetInvitationsCount sets the InvitationsCount field's value.
19581func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
19582	s.InvitationsCount = &v
19583	return s
19584}
19585
19586type GetMasterAccountInput struct {
19587	_ struct{} `type:"structure"`
19588}
19589
19590// String returns the string representation
19591func (s GetMasterAccountInput) String() string {
19592	return awsutil.Prettify(s)
19593}
19594
19595// GoString returns the string representation
19596func (s GetMasterAccountInput) GoString() string {
19597	return s.String()
19598}
19599
19600type GetMasterAccountOutput struct {
19601	_ struct{} `type:"structure"`
19602
19603	// A list of details about the Security Hub master account for the current member
19604	// account.
19605	Master *Invitation `type:"structure"`
19606}
19607
19608// String returns the string representation
19609func (s GetMasterAccountOutput) String() string {
19610	return awsutil.Prettify(s)
19611}
19612
19613// GoString returns the string representation
19614func (s GetMasterAccountOutput) GoString() string {
19615	return s.String()
19616}
19617
19618// SetMaster sets the Master field's value.
19619func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
19620	s.Master = v
19621	return s
19622}
19623
19624type GetMembersInput struct {
19625	_ struct{} `type:"structure"`
19626
19627	// The list of account IDs for the Security Hub member accounts to return the
19628	// details for.
19629	//
19630	// AccountIds is a required field
19631	AccountIds []*string `type:"list" required:"true"`
19632}
19633
19634// String returns the string representation
19635func (s GetMembersInput) String() string {
19636	return awsutil.Prettify(s)
19637}
19638
19639// GoString returns the string representation
19640func (s GetMembersInput) GoString() string {
19641	return s.String()
19642}
19643
19644// Validate inspects the fields of the type to determine if they are valid.
19645func (s *GetMembersInput) Validate() error {
19646	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
19647	if s.AccountIds == nil {
19648		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
19649	}
19650
19651	if invalidParams.Len() > 0 {
19652		return invalidParams
19653	}
19654	return nil
19655}
19656
19657// SetAccountIds sets the AccountIds field's value.
19658func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
19659	s.AccountIds = v
19660	return s
19661}
19662
19663type GetMembersOutput struct {
19664	_ struct{} `type:"structure"`
19665
19666	// The list of details about the Security Hub member accounts.
19667	Members []*Member `type:"list"`
19668
19669	// The list of AWS accounts that could not be processed. For each account, the
19670	// list includes the account ID and the email address.
19671	UnprocessedAccounts []*Result `type:"list"`
19672}
19673
19674// String returns the string representation
19675func (s GetMembersOutput) String() string {
19676	return awsutil.Prettify(s)
19677}
19678
19679// GoString returns the string representation
19680func (s GetMembersOutput) GoString() string {
19681	return s.String()
19682}
19683
19684// SetMembers sets the Members field's value.
19685func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
19686	s.Members = v
19687	return s
19688}
19689
19690// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
19691func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
19692	s.UnprocessedAccounts = v
19693	return s
19694}
19695
19696// The list of the findings that cannot be imported. For each finding, the list
19697// provides the error.
19698type ImportFindingsError struct {
19699	_ struct{} `type:"structure"`
19700
19701	// The code of the error returned by the BatchImportFindings operation.
19702	//
19703	// ErrorCode is a required field
19704	ErrorCode *string `type:"string" required:"true"`
19705
19706	// The message of the error returned by the BatchImportFindings operation.
19707	//
19708	// ErrorMessage is a required field
19709	ErrorMessage *string `type:"string" required:"true"`
19710
19711	// The identifier of the finding that could not be updated.
19712	//
19713	// Id is a required field
19714	Id *string `type:"string" required:"true"`
19715}
19716
19717// String returns the string representation
19718func (s ImportFindingsError) String() string {
19719	return awsutil.Prettify(s)
19720}
19721
19722// GoString returns the string representation
19723func (s ImportFindingsError) GoString() string {
19724	return s.String()
19725}
19726
19727// SetErrorCode sets the ErrorCode field's value.
19728func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
19729	s.ErrorCode = &v
19730	return s
19731}
19732
19733// SetErrorMessage sets the ErrorMessage field's value.
19734func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
19735	s.ErrorMessage = &v
19736	return s
19737}
19738
19739// SetId sets the Id field's value.
19740func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
19741	s.Id = &v
19742	return s
19743}
19744
19745// Contains information about a Security Hub insight.
19746type Insight struct {
19747	_ struct{} `type:"structure"`
19748
19749	// One or more attributes used to filter the findings included in the insight.
19750	// The insight only includes findings that match the criteria defined in the
19751	// filters.
19752	//
19753	// Filters is a required field
19754	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
19755
19756	// The grouping attribute for the insight's findings. Indicates how to group
19757	// the matching findings, and identifies the type of item that the insight applies
19758	// to. For example, if an insight is grouped by resource identifier, then the
19759	// insight produces a list of resource identifiers.
19760	//
19761	// GroupByAttribute is a required field
19762	GroupByAttribute *string `type:"string" required:"true"`
19763
19764	// The ARN of a Security Hub insight.
19765	//
19766	// InsightArn is a required field
19767	InsightArn *string `type:"string" required:"true"`
19768
19769	// The name of a Security Hub insight.
19770	//
19771	// Name is a required field
19772	Name *string `type:"string" required:"true"`
19773}
19774
19775// String returns the string representation
19776func (s Insight) String() string {
19777	return awsutil.Prettify(s)
19778}
19779
19780// GoString returns the string representation
19781func (s Insight) GoString() string {
19782	return s.String()
19783}
19784
19785// SetFilters sets the Filters field's value.
19786func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
19787	s.Filters = v
19788	return s
19789}
19790
19791// SetGroupByAttribute sets the GroupByAttribute field's value.
19792func (s *Insight) SetGroupByAttribute(v string) *Insight {
19793	s.GroupByAttribute = &v
19794	return s
19795}
19796
19797// SetInsightArn sets the InsightArn field's value.
19798func (s *Insight) SetInsightArn(v string) *Insight {
19799	s.InsightArn = &v
19800	return s
19801}
19802
19803// SetName sets the Name field's value.
19804func (s *Insight) SetName(v string) *Insight {
19805	s.Name = &v
19806	return s
19807}
19808
19809// The insight result values returned by the GetInsightResults operation.
19810type InsightResultValue struct {
19811	_ struct{} `type:"structure"`
19812
19813	// The number of findings returned for each GroupByAttributeValue.
19814	//
19815	// Count is a required field
19816	Count *int64 `type:"integer" required:"true"`
19817
19818	// The value of the attribute that the findings are grouped by for the insight
19819	// whose results are returned by the GetInsightResults operation.
19820	//
19821	// GroupByAttributeValue is a required field
19822	GroupByAttributeValue *string `type:"string" required:"true"`
19823}
19824
19825// String returns the string representation
19826func (s InsightResultValue) String() string {
19827	return awsutil.Prettify(s)
19828}
19829
19830// GoString returns the string representation
19831func (s InsightResultValue) GoString() string {
19832	return s.String()
19833}
19834
19835// SetCount sets the Count field's value.
19836func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
19837	s.Count = &v
19838	return s
19839}
19840
19841// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
19842func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
19843	s.GroupByAttributeValue = &v
19844	return s
19845}
19846
19847// The insight results returned by the GetInsightResults operation.
19848type InsightResults struct {
19849	_ struct{} `type:"structure"`
19850
19851	// The attribute that the findings are grouped by for the insight whose results
19852	// are returned by the GetInsightResults operation.
19853	//
19854	// GroupByAttribute is a required field
19855	GroupByAttribute *string `type:"string" required:"true"`
19856
19857	// The ARN of the insight whose results are returned by the GetInsightResults
19858	// operation.
19859	//
19860	// InsightArn is a required field
19861	InsightArn *string `type:"string" required:"true"`
19862
19863	// The list of insight result values returned by the GetInsightResults operation.
19864	//
19865	// ResultValues is a required field
19866	ResultValues []*InsightResultValue `type:"list" required:"true"`
19867}
19868
19869// String returns the string representation
19870func (s InsightResults) String() string {
19871	return awsutil.Prettify(s)
19872}
19873
19874// GoString returns the string representation
19875func (s InsightResults) GoString() string {
19876	return s.String()
19877}
19878
19879// SetGroupByAttribute sets the GroupByAttribute field's value.
19880func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
19881	s.GroupByAttribute = &v
19882	return s
19883}
19884
19885// SetInsightArn sets the InsightArn field's value.
19886func (s *InsightResults) SetInsightArn(v string) *InsightResults {
19887	s.InsightArn = &v
19888	return s
19889}
19890
19891// SetResultValues sets the ResultValues field's value.
19892func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
19893	s.ResultValues = v
19894	return s
19895}
19896
19897// Internal server error.
19898type InternalException struct {
19899	_            struct{}                  `type:"structure"`
19900	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19901
19902	Code_ *string `locationName:"Code" type:"string"`
19903
19904	Message_ *string `locationName:"Message" type:"string"`
19905}
19906
19907// String returns the string representation
19908func (s InternalException) String() string {
19909	return awsutil.Prettify(s)
19910}
19911
19912// GoString returns the string representation
19913func (s InternalException) GoString() string {
19914	return s.String()
19915}
19916
19917func newErrorInternalException(v protocol.ResponseMetadata) error {
19918	return &InternalException{
19919		RespMetadata: v,
19920	}
19921}
19922
19923// Code returns the exception type name.
19924func (s *InternalException) Code() string {
19925	return "InternalException"
19926}
19927
19928// Message returns the exception's message.
19929func (s *InternalException) Message() string {
19930	if s.Message_ != nil {
19931		return *s.Message_
19932	}
19933	return ""
19934}
19935
19936// OrigErr always returns nil, satisfies awserr.Error interface.
19937func (s *InternalException) OrigErr() error {
19938	return nil
19939}
19940
19941func (s *InternalException) Error() string {
19942	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
19943}
19944
19945// Status code returns the HTTP status code for the request's response error.
19946func (s *InternalException) StatusCode() int {
19947	return s.RespMetadata.StatusCode
19948}
19949
19950// RequestID returns the service's response RequestID for request.
19951func (s *InternalException) RequestID() string {
19952	return s.RespMetadata.RequestID
19953}
19954
19955// AWS Security Hub isn't enabled for the account used to make this request.
19956type InvalidAccessException struct {
19957	_            struct{}                  `type:"structure"`
19958	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19959
19960	Code_ *string `locationName:"Code" type:"string"`
19961
19962	Message_ *string `locationName:"Message" type:"string"`
19963}
19964
19965// String returns the string representation
19966func (s InvalidAccessException) String() string {
19967	return awsutil.Prettify(s)
19968}
19969
19970// GoString returns the string representation
19971func (s InvalidAccessException) GoString() string {
19972	return s.String()
19973}
19974
19975func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
19976	return &InvalidAccessException{
19977		RespMetadata: v,
19978	}
19979}
19980
19981// Code returns the exception type name.
19982func (s *InvalidAccessException) Code() string {
19983	return "InvalidAccessException"
19984}
19985
19986// Message returns the exception's message.
19987func (s *InvalidAccessException) Message() string {
19988	if s.Message_ != nil {
19989		return *s.Message_
19990	}
19991	return ""
19992}
19993
19994// OrigErr always returns nil, satisfies awserr.Error interface.
19995func (s *InvalidAccessException) OrigErr() error {
19996	return nil
19997}
19998
19999func (s *InvalidAccessException) Error() string {
20000	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20001}
20002
20003// Status code returns the HTTP status code for the request's response error.
20004func (s *InvalidAccessException) StatusCode() int {
20005	return s.RespMetadata.StatusCode
20006}
20007
20008// RequestID returns the service's response RequestID for request.
20009func (s *InvalidAccessException) RequestID() string {
20010	return s.RespMetadata.RequestID
20011}
20012
20013// The request was rejected because you supplied an invalid or out-of-range
20014// value for an input parameter.
20015type InvalidInputException struct {
20016	_            struct{}                  `type:"structure"`
20017	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20018
20019	Code_ *string `locationName:"Code" type:"string"`
20020
20021	Message_ *string `locationName:"Message" type:"string"`
20022}
20023
20024// String returns the string representation
20025func (s InvalidInputException) String() string {
20026	return awsutil.Prettify(s)
20027}
20028
20029// GoString returns the string representation
20030func (s InvalidInputException) GoString() string {
20031	return s.String()
20032}
20033
20034func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
20035	return &InvalidInputException{
20036		RespMetadata: v,
20037	}
20038}
20039
20040// Code returns the exception type name.
20041func (s *InvalidInputException) Code() string {
20042	return "InvalidInputException"
20043}
20044
20045// Message returns the exception's message.
20046func (s *InvalidInputException) Message() string {
20047	if s.Message_ != nil {
20048		return *s.Message_
20049	}
20050	return ""
20051}
20052
20053// OrigErr always returns nil, satisfies awserr.Error interface.
20054func (s *InvalidInputException) OrigErr() error {
20055	return nil
20056}
20057
20058func (s *InvalidInputException) Error() string {
20059	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20060}
20061
20062// Status code returns the HTTP status code for the request's response error.
20063func (s *InvalidInputException) StatusCode() int {
20064	return s.RespMetadata.StatusCode
20065}
20066
20067// RequestID returns the service's response RequestID for request.
20068func (s *InvalidInputException) RequestID() string {
20069	return s.RespMetadata.RequestID
20070}
20071
20072// Details about an invitation.
20073type Invitation struct {
20074	_ struct{} `type:"structure"`
20075
20076	// The account ID of the Security Hub master account that the invitation was
20077	// sent from.
20078	AccountId *string `type:"string"`
20079
20080	// The ID of the invitation sent to the member account.
20081	InvitationId *string `type:"string"`
20082
20083	// The timestamp of when the invitation was sent.
20084	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
20085
20086	// The current status of the association between the member and master accounts.
20087	MemberStatus *string `type:"string"`
20088}
20089
20090// String returns the string representation
20091func (s Invitation) String() string {
20092	return awsutil.Prettify(s)
20093}
20094
20095// GoString returns the string representation
20096func (s Invitation) GoString() string {
20097	return s.String()
20098}
20099
20100// SetAccountId sets the AccountId field's value.
20101func (s *Invitation) SetAccountId(v string) *Invitation {
20102	s.AccountId = &v
20103	return s
20104}
20105
20106// SetInvitationId sets the InvitationId field's value.
20107func (s *Invitation) SetInvitationId(v string) *Invitation {
20108	s.InvitationId = &v
20109	return s
20110}
20111
20112// SetInvitedAt sets the InvitedAt field's value.
20113func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
20114	s.InvitedAt = &v
20115	return s
20116}
20117
20118// SetMemberStatus sets the MemberStatus field's value.
20119func (s *Invitation) SetMemberStatus(v string) *Invitation {
20120	s.MemberStatus = &v
20121	return s
20122}
20123
20124type InviteMembersInput struct {
20125	_ struct{} `type:"structure"`
20126
20127	// The list of account IDs of the AWS accounts to invite to Security Hub as
20128	// members.
20129	AccountIds []*string `type:"list"`
20130}
20131
20132// String returns the string representation
20133func (s InviteMembersInput) String() string {
20134	return awsutil.Prettify(s)
20135}
20136
20137// GoString returns the string representation
20138func (s InviteMembersInput) GoString() string {
20139	return s.String()
20140}
20141
20142// SetAccountIds sets the AccountIds field's value.
20143func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
20144	s.AccountIds = v
20145	return s
20146}
20147
20148type InviteMembersOutput struct {
20149	_ struct{} `type:"structure"`
20150
20151	// The list of AWS accounts that could not be processed. For each account, the
20152	// list includes the account ID and the email address.
20153	UnprocessedAccounts []*Result `type:"list"`
20154}
20155
20156// String returns the string representation
20157func (s InviteMembersOutput) String() string {
20158	return awsutil.Prettify(s)
20159}
20160
20161// GoString returns the string representation
20162func (s InviteMembersOutput) GoString() string {
20163	return s.String()
20164}
20165
20166// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
20167func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
20168	s.UnprocessedAccounts = v
20169	return s
20170}
20171
20172// The IP filter for querying findings.
20173type IpFilter struct {
20174	_ struct{} `type:"structure"`
20175
20176	// A finding's CIDR value.
20177	Cidr *string `type:"string"`
20178}
20179
20180// String returns the string representation
20181func (s IpFilter) String() string {
20182	return awsutil.Prettify(s)
20183}
20184
20185// GoString returns the string representation
20186func (s IpFilter) GoString() string {
20187	return s.String()
20188}
20189
20190// SetCidr sets the Cidr field's value.
20191func (s *IpFilter) SetCidr(v string) *IpFilter {
20192	s.Cidr = &v
20193	return s
20194}
20195
20196// An IPV6 CIDR block association.
20197type Ipv6CidrBlockAssociation struct {
20198	_ struct{} `type:"structure"`
20199
20200	// The association ID for the IPv6 CIDR block.
20201	AssociationId *string `type:"string"`
20202
20203	// Information about the state of the CIDR block.
20204	CidrBlockState *string `type:"string"`
20205
20206	// The IPv6 CIDR block.
20207	Ipv6CidrBlock *string `type:"string"`
20208}
20209
20210// String returns the string representation
20211func (s Ipv6CidrBlockAssociation) String() string {
20212	return awsutil.Prettify(s)
20213}
20214
20215// GoString returns the string representation
20216func (s Ipv6CidrBlockAssociation) GoString() string {
20217	return s.String()
20218}
20219
20220// SetAssociationId sets the AssociationId field's value.
20221func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
20222	s.AssociationId = &v
20223	return s
20224}
20225
20226// SetCidrBlockState sets the CidrBlockState field's value.
20227func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
20228	s.CidrBlockState = &v
20229	return s
20230}
20231
20232// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
20233func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
20234	s.Ipv6CidrBlock = &v
20235	return s
20236}
20237
20238// A keyword filter for querying findings.
20239type KeywordFilter struct {
20240	_ struct{} `type:"structure"`
20241
20242	// A value for the keyword.
20243	Value *string `type:"string"`
20244}
20245
20246// String returns the string representation
20247func (s KeywordFilter) String() string {
20248	return awsutil.Prettify(s)
20249}
20250
20251// GoString returns the string representation
20252func (s KeywordFilter) GoString() string {
20253	return s.String()
20254}
20255
20256// SetValue sets the Value field's value.
20257func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
20258	s.Value = &v
20259	return s
20260}
20261
20262// The request was rejected because it attempted to create resources beyond
20263// the current AWS account limits. The error code describes the limit exceeded.
20264type LimitExceededException struct {
20265	_            struct{}                  `type:"structure"`
20266	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20267
20268	Code_ *string `locationName:"Code" type:"string"`
20269
20270	Message_ *string `locationName:"Message" type:"string"`
20271}
20272
20273// String returns the string representation
20274func (s LimitExceededException) String() string {
20275	return awsutil.Prettify(s)
20276}
20277
20278// GoString returns the string representation
20279func (s LimitExceededException) GoString() string {
20280	return s.String()
20281}
20282
20283func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
20284	return &LimitExceededException{
20285		RespMetadata: v,
20286	}
20287}
20288
20289// Code returns the exception type name.
20290func (s *LimitExceededException) Code() string {
20291	return "LimitExceededException"
20292}
20293
20294// Message returns the exception's message.
20295func (s *LimitExceededException) Message() string {
20296	if s.Message_ != nil {
20297		return *s.Message_
20298	}
20299	return ""
20300}
20301
20302// OrigErr always returns nil, satisfies awserr.Error interface.
20303func (s *LimitExceededException) OrigErr() error {
20304	return nil
20305}
20306
20307func (s *LimitExceededException) Error() string {
20308	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
20309}
20310
20311// Status code returns the HTTP status code for the request's response error.
20312func (s *LimitExceededException) StatusCode() int {
20313	return s.RespMetadata.StatusCode
20314}
20315
20316// RequestID returns the service's response RequestID for request.
20317func (s *LimitExceededException) RequestID() string {
20318	return s.RespMetadata.RequestID
20319}
20320
20321type ListEnabledProductsForImportInput struct {
20322	_ struct{} `type:"structure"`
20323
20324	// The maximum number of items to return in the response.
20325	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20326
20327	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
20328	// operation, set the value of this parameter to NULL.
20329	//
20330	// For subsequent calls to the operation, to continue listing data, set the
20331	// value of this parameter to the value returned from the previous response.
20332	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20333}
20334
20335// String returns the string representation
20336func (s ListEnabledProductsForImportInput) String() string {
20337	return awsutil.Prettify(s)
20338}
20339
20340// GoString returns the string representation
20341func (s ListEnabledProductsForImportInput) GoString() string {
20342	return s.String()
20343}
20344
20345// Validate inspects the fields of the type to determine if they are valid.
20346func (s *ListEnabledProductsForImportInput) Validate() error {
20347	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
20348	if s.MaxResults != nil && *s.MaxResults < 1 {
20349		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20350	}
20351
20352	if invalidParams.Len() > 0 {
20353		return invalidParams
20354	}
20355	return nil
20356}
20357
20358// SetMaxResults sets the MaxResults field's value.
20359func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
20360	s.MaxResults = &v
20361	return s
20362}
20363
20364// SetNextToken sets the NextToken field's value.
20365func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
20366	s.NextToken = &v
20367	return s
20368}
20369
20370type ListEnabledProductsForImportOutput struct {
20371	_ struct{} `type:"structure"`
20372
20373	// The pagination token to use to request the next page of results.
20374	NextToken *string `type:"string"`
20375
20376	// The list of ARNs for the resources that represent your subscriptions to products.
20377	ProductSubscriptions []*string `type:"list"`
20378}
20379
20380// String returns the string representation
20381func (s ListEnabledProductsForImportOutput) String() string {
20382	return awsutil.Prettify(s)
20383}
20384
20385// GoString returns the string representation
20386func (s ListEnabledProductsForImportOutput) GoString() string {
20387	return s.String()
20388}
20389
20390// SetNextToken sets the NextToken field's value.
20391func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
20392	s.NextToken = &v
20393	return s
20394}
20395
20396// SetProductSubscriptions sets the ProductSubscriptions field's value.
20397func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
20398	s.ProductSubscriptions = v
20399	return s
20400}
20401
20402type ListInvitationsInput struct {
20403	_ struct{} `type:"structure"`
20404
20405	// The maximum number of items to return in the response.
20406	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20407
20408	// The token that is required for pagination. On your first call to the ListInvitations
20409	// operation, set the value of this parameter to NULL.
20410	//
20411	// For subsequent calls to the operation, to continue listing data, set the
20412	// value of this parameter to the value returned from the previous response.
20413	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20414}
20415
20416// String returns the string representation
20417func (s ListInvitationsInput) String() string {
20418	return awsutil.Prettify(s)
20419}
20420
20421// GoString returns the string representation
20422func (s ListInvitationsInput) GoString() string {
20423	return s.String()
20424}
20425
20426// Validate inspects the fields of the type to determine if they are valid.
20427func (s *ListInvitationsInput) Validate() error {
20428	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
20429	if s.MaxResults != nil && *s.MaxResults < 1 {
20430		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20431	}
20432
20433	if invalidParams.Len() > 0 {
20434		return invalidParams
20435	}
20436	return nil
20437}
20438
20439// SetMaxResults sets the MaxResults field's value.
20440func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
20441	s.MaxResults = &v
20442	return s
20443}
20444
20445// SetNextToken sets the NextToken field's value.
20446func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
20447	s.NextToken = &v
20448	return s
20449}
20450
20451type ListInvitationsOutput struct {
20452	_ struct{} `type:"structure"`
20453
20454	// The details of the invitations returned by the operation.
20455	Invitations []*Invitation `type:"list"`
20456
20457	// The pagination token to use to request the next page of results.
20458	NextToken *string `type:"string"`
20459}
20460
20461// String returns the string representation
20462func (s ListInvitationsOutput) String() string {
20463	return awsutil.Prettify(s)
20464}
20465
20466// GoString returns the string representation
20467func (s ListInvitationsOutput) GoString() string {
20468	return s.String()
20469}
20470
20471// SetInvitations sets the Invitations field's value.
20472func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
20473	s.Invitations = v
20474	return s
20475}
20476
20477// SetNextToken sets the NextToken field's value.
20478func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
20479	s.NextToken = &v
20480	return s
20481}
20482
20483type ListMembersInput struct {
20484	_ struct{} `type:"structure"`
20485
20486	// The maximum number of items to return in the response.
20487	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
20488
20489	// The token that is required for pagination. On your first call to the ListMembers
20490	// operation, set the value of this parameter to NULL.
20491	//
20492	// For subsequent calls to the operation, to continue listing data, set the
20493	// value of this parameter to the value returned from the previous response.
20494	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
20495
20496	// Specifies which member accounts to include in the response based on their
20497	// relationship status with the master account. The default value is TRUE.
20498	//
20499	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
20500	// relationship status with the master is set to ENABLED or DISABLED.
20501	//
20502	// If OnlyAssociated is set to FALSE, the response includes all existing member
20503	// accounts.
20504	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
20505}
20506
20507// String returns the string representation
20508func (s ListMembersInput) String() string {
20509	return awsutil.Prettify(s)
20510}
20511
20512// GoString returns the string representation
20513func (s ListMembersInput) GoString() string {
20514	return s.String()
20515}
20516
20517// Validate inspects the fields of the type to determine if they are valid.
20518func (s *ListMembersInput) Validate() error {
20519	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
20520	if s.MaxResults != nil && *s.MaxResults < 1 {
20521		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20522	}
20523
20524	if invalidParams.Len() > 0 {
20525		return invalidParams
20526	}
20527	return nil
20528}
20529
20530// SetMaxResults sets the MaxResults field's value.
20531func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
20532	s.MaxResults = &v
20533	return s
20534}
20535
20536// SetNextToken sets the NextToken field's value.
20537func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
20538	s.NextToken = &v
20539	return s
20540}
20541
20542// SetOnlyAssociated sets the OnlyAssociated field's value.
20543func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
20544	s.OnlyAssociated = &v
20545	return s
20546}
20547
20548type ListMembersOutput struct {
20549	_ struct{} `type:"structure"`
20550
20551	// Member details returned by the operation.
20552	Members []*Member `type:"list"`
20553
20554	// The pagination token to use to request the next page of results.
20555	NextToken *string `type:"string"`
20556}
20557
20558// String returns the string representation
20559func (s ListMembersOutput) String() string {
20560	return awsutil.Prettify(s)
20561}
20562
20563// GoString returns the string representation
20564func (s ListMembersOutput) GoString() string {
20565	return s.String()
20566}
20567
20568// SetMembers sets the Members field's value.
20569func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
20570	s.Members = v
20571	return s
20572}
20573
20574// SetNextToken sets the NextToken field's value.
20575func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
20576	s.NextToken = &v
20577	return s
20578}
20579
20580type ListTagsForResourceInput struct {
20581	_ struct{} `type:"structure"`
20582
20583	// The ARN of the resource to retrieve tags for.
20584	//
20585	// ResourceArn is a required field
20586	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
20587}
20588
20589// String returns the string representation
20590func (s ListTagsForResourceInput) String() string {
20591	return awsutil.Prettify(s)
20592}
20593
20594// GoString returns the string representation
20595func (s ListTagsForResourceInput) GoString() string {
20596	return s.String()
20597}
20598
20599// Validate inspects the fields of the type to determine if they are valid.
20600func (s *ListTagsForResourceInput) Validate() error {
20601	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
20602	if s.ResourceArn == nil {
20603		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20604	}
20605	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
20606		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
20607	}
20608
20609	if invalidParams.Len() > 0 {
20610		return invalidParams
20611	}
20612	return nil
20613}
20614
20615// SetResourceArn sets the ResourceArn field's value.
20616func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
20617	s.ResourceArn = &v
20618	return s
20619}
20620
20621type ListTagsForResourceOutput struct {
20622	_ struct{} `type:"structure"`
20623
20624	// The tags associated with a resource.
20625	Tags map[string]*string `min:"1" type:"map"`
20626}
20627
20628// String returns the string representation
20629func (s ListTagsForResourceOutput) String() string {
20630	return awsutil.Prettify(s)
20631}
20632
20633// GoString returns the string representation
20634func (s ListTagsForResourceOutput) GoString() string {
20635	return s.String()
20636}
20637
20638// SetTags sets the Tags field's value.
20639func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
20640	s.Tags = v
20641	return s
20642}
20643
20644// Information about the state of the load balancer.
20645type LoadBalancerState struct {
20646	_ struct{} `type:"structure"`
20647
20648	// The state code. The initial state of the load balancer is provisioning.
20649	//
20650	// After the load balancer is fully set up and ready to route traffic, its state
20651	// is active.
20652	//
20653	// If the load balancer could not be set up, its state is failed.
20654	Code *string `type:"string"`
20655
20656	// A description of the state.
20657	Reason *string `type:"string"`
20658}
20659
20660// String returns the string representation
20661func (s LoadBalancerState) String() string {
20662	return awsutil.Prettify(s)
20663}
20664
20665// GoString returns the string representation
20666func (s LoadBalancerState) GoString() string {
20667	return s.String()
20668}
20669
20670// SetCode sets the Code field's value.
20671func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
20672	s.Code = &v
20673	return s
20674}
20675
20676// SetReason sets the Reason field's value.
20677func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
20678	s.Reason = &v
20679	return s
20680}
20681
20682// A list of malware related to a finding.
20683type Malware struct {
20684	_ struct{} `type:"structure"`
20685
20686	// The name of the malware that was observed.
20687	//
20688	// Name is a required field
20689	Name *string `type:"string" required:"true"`
20690
20691	// The file system path of the malware that was observed.
20692	Path *string `type:"string"`
20693
20694	// The state of the malware that was observed.
20695	State *string `type:"string" enum:"MalwareState"`
20696
20697	// The type of the malware that was observed.
20698	Type *string `type:"string" enum:"MalwareType"`
20699}
20700
20701// String returns the string representation
20702func (s Malware) String() string {
20703	return awsutil.Prettify(s)
20704}
20705
20706// GoString returns the string representation
20707func (s Malware) GoString() string {
20708	return s.String()
20709}
20710
20711// Validate inspects the fields of the type to determine if they are valid.
20712func (s *Malware) Validate() error {
20713	invalidParams := request.ErrInvalidParams{Context: "Malware"}
20714	if s.Name == nil {
20715		invalidParams.Add(request.NewErrParamRequired("Name"))
20716	}
20717
20718	if invalidParams.Len() > 0 {
20719		return invalidParams
20720	}
20721	return nil
20722}
20723
20724// SetName sets the Name field's value.
20725func (s *Malware) SetName(v string) *Malware {
20726	s.Name = &v
20727	return s
20728}
20729
20730// SetPath sets the Path field's value.
20731func (s *Malware) SetPath(v string) *Malware {
20732	s.Path = &v
20733	return s
20734}
20735
20736// SetState sets the State field's value.
20737func (s *Malware) SetState(v string) *Malware {
20738	s.State = &v
20739	return s
20740}
20741
20742// SetType sets the Type field's value.
20743func (s *Malware) SetType(v string) *Malware {
20744	s.Type = &v
20745	return s
20746}
20747
20748// A map filter for querying findings. Each map filter provides the field to
20749// check, the value to look for, and the comparison operator.
20750type MapFilter struct {
20751	_ struct{} `type:"structure"`
20752
20753	// The condition to apply to the key value when querying for findings with a
20754	// map filter.
20755	//
20756	// To search for values that exactly match the filter value, use EQUALS. For
20757	// example, for the ResourceTags field, the filter Department EQUALS Security
20758	// matches findings that have the value Security for the tag Department.
20759	//
20760	// To search for values other than the filter value, use NOT_EQUALS. For example,
20761	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
20762	// findings that do not have the value Finance for the tag Department.
20763	//
20764	// EQUALS filters on the same field are joined by OR. A finding matches if it
20765	// matches any one of those filters.
20766	//
20767	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
20768	// only if it matches all of those filters.
20769	//
20770	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
20771	// field.
20772	Comparison *string `type:"string" enum:"MapFilterComparison"`
20773
20774	// The key of the map filter. For example, for ResourceTags, Key identifies
20775	// the name of the tag. For UserDefinedFields, Key is the name of the field.
20776	Key *string `type:"string"`
20777
20778	// The value for the key in the map filter. Filter values are case sensitive.
20779	// For example, one of the values for a tag called Department might be Security.
20780	// If you provide security as the filter value, then there is no match.
20781	Value *string `type:"string"`
20782}
20783
20784// String returns the string representation
20785func (s MapFilter) String() string {
20786	return awsutil.Prettify(s)
20787}
20788
20789// GoString returns the string representation
20790func (s MapFilter) GoString() string {
20791	return s.String()
20792}
20793
20794// SetComparison sets the Comparison field's value.
20795func (s *MapFilter) SetComparison(v string) *MapFilter {
20796	s.Comparison = &v
20797	return s
20798}
20799
20800// SetKey sets the Key field's value.
20801func (s *MapFilter) SetKey(v string) *MapFilter {
20802	s.Key = &v
20803	return s
20804}
20805
20806// SetValue sets the Value field's value.
20807func (s *MapFilter) SetValue(v string) *MapFilter {
20808	s.Value = &v
20809	return s
20810}
20811
20812// The details about a member account.
20813type Member struct {
20814	_ struct{} `type:"structure"`
20815
20816	// The AWS account ID of the member account.
20817	AccountId *string `type:"string"`
20818
20819	// The email address of the member account.
20820	Email *string `type:"string"`
20821
20822	// A timestamp for the date and time when the invitation was sent to the member
20823	// account.
20824	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
20825
20826	// The AWS account ID of the Security Hub master account associated with this
20827	// member account.
20828	MasterId *string `type:"string"`
20829
20830	// The status of the relationship between the member account and its master
20831	// account.
20832	//
20833	// The status can have one of the following values:
20834	//
20835	//    * CREATED - Indicates that the master account added the member account,
20836	//    but has not yet invited the member account.
20837	//
20838	//    * INVITED - Indicates that the master account invited the member account.
20839	//    The member account has not yet responded to the invitation.
20840	//
20841	//    * ASSOCIATED - Indicates that the member account accepted the invitation.
20842	//
20843	//    * REMOVED - Indicates that the master account disassociated the member
20844	//    account.
20845	//
20846	//    * RESIGNED - Indicates that the member account disassociated themselves
20847	//    from the master account.
20848	//
20849	//    * DELETED - Indicates that the master account deleted the member account.
20850	MemberStatus *string `type:"string"`
20851
20852	// The timestamp for the date and time when the member account was updated.
20853	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
20854}
20855
20856// String returns the string representation
20857func (s Member) String() string {
20858	return awsutil.Prettify(s)
20859}
20860
20861// GoString returns the string representation
20862func (s Member) GoString() string {
20863	return s.String()
20864}
20865
20866// SetAccountId sets the AccountId field's value.
20867func (s *Member) SetAccountId(v string) *Member {
20868	s.AccountId = &v
20869	return s
20870}
20871
20872// SetEmail sets the Email field's value.
20873func (s *Member) SetEmail(v string) *Member {
20874	s.Email = &v
20875	return s
20876}
20877
20878// SetInvitedAt sets the InvitedAt field's value.
20879func (s *Member) SetInvitedAt(v time.Time) *Member {
20880	s.InvitedAt = &v
20881	return s
20882}
20883
20884// SetMasterId sets the MasterId field's value.
20885func (s *Member) SetMasterId(v string) *Member {
20886	s.MasterId = &v
20887	return s
20888}
20889
20890// SetMemberStatus sets the MemberStatus field's value.
20891func (s *Member) SetMemberStatus(v string) *Member {
20892	s.MemberStatus = &v
20893	return s
20894}
20895
20896// SetUpdatedAt sets the UpdatedAt field's value.
20897func (s *Member) SetUpdatedAt(v time.Time) *Member {
20898	s.UpdatedAt = &v
20899	return s
20900}
20901
20902// The details of network-related information about a finding.
20903type Network struct {
20904	_ struct{} `type:"structure"`
20905
20906	// The destination domain of network-related information about a finding.
20907	DestinationDomain *string `type:"string"`
20908
20909	// The destination IPv4 address of network-related information about a finding.
20910	DestinationIpV4 *string `type:"string"`
20911
20912	// The destination IPv6 address of network-related information about a finding.
20913	DestinationIpV6 *string `type:"string"`
20914
20915	// The destination port of network-related information about a finding.
20916	DestinationPort *int64 `type:"integer"`
20917
20918	// The direction of network traffic associated with a finding.
20919	Direction *string `type:"string" enum:"NetworkDirection"`
20920
20921	// The range of open ports that is present on the network.
20922	OpenPortRange *PortRange `type:"structure"`
20923
20924	// The protocol of network-related information about a finding.
20925	Protocol *string `type:"string"`
20926
20927	// The source domain of network-related information about a finding.
20928	SourceDomain *string `type:"string"`
20929
20930	// The source IPv4 address of network-related information about a finding.
20931	SourceIpV4 *string `type:"string"`
20932
20933	// The source IPv6 address of network-related information about a finding.
20934	SourceIpV6 *string `type:"string"`
20935
20936	// The source media access control (MAC) address of network-related information
20937	// about a finding.
20938	SourceMac *string `type:"string"`
20939
20940	// The source port of network-related information about a finding.
20941	SourcePort *int64 `type:"integer"`
20942}
20943
20944// String returns the string representation
20945func (s Network) String() string {
20946	return awsutil.Prettify(s)
20947}
20948
20949// GoString returns the string representation
20950func (s Network) GoString() string {
20951	return s.String()
20952}
20953
20954// SetDestinationDomain sets the DestinationDomain field's value.
20955func (s *Network) SetDestinationDomain(v string) *Network {
20956	s.DestinationDomain = &v
20957	return s
20958}
20959
20960// SetDestinationIpV4 sets the DestinationIpV4 field's value.
20961func (s *Network) SetDestinationIpV4(v string) *Network {
20962	s.DestinationIpV4 = &v
20963	return s
20964}
20965
20966// SetDestinationIpV6 sets the DestinationIpV6 field's value.
20967func (s *Network) SetDestinationIpV6(v string) *Network {
20968	s.DestinationIpV6 = &v
20969	return s
20970}
20971
20972// SetDestinationPort sets the DestinationPort field's value.
20973func (s *Network) SetDestinationPort(v int64) *Network {
20974	s.DestinationPort = &v
20975	return s
20976}
20977
20978// SetDirection sets the Direction field's value.
20979func (s *Network) SetDirection(v string) *Network {
20980	s.Direction = &v
20981	return s
20982}
20983
20984// SetOpenPortRange sets the OpenPortRange field's value.
20985func (s *Network) SetOpenPortRange(v *PortRange) *Network {
20986	s.OpenPortRange = v
20987	return s
20988}
20989
20990// SetProtocol sets the Protocol field's value.
20991func (s *Network) SetProtocol(v string) *Network {
20992	s.Protocol = &v
20993	return s
20994}
20995
20996// SetSourceDomain sets the SourceDomain field's value.
20997func (s *Network) SetSourceDomain(v string) *Network {
20998	s.SourceDomain = &v
20999	return s
21000}
21001
21002// SetSourceIpV4 sets the SourceIpV4 field's value.
21003func (s *Network) SetSourceIpV4(v string) *Network {
21004	s.SourceIpV4 = &v
21005	return s
21006}
21007
21008// SetSourceIpV6 sets the SourceIpV6 field's value.
21009func (s *Network) SetSourceIpV6(v string) *Network {
21010	s.SourceIpV6 = &v
21011	return s
21012}
21013
21014// SetSourceMac sets the SourceMac field's value.
21015func (s *Network) SetSourceMac(v string) *Network {
21016	s.SourceMac = &v
21017	return s
21018}
21019
21020// SetSourcePort sets the SourcePort field's value.
21021func (s *Network) SetSourcePort(v int64) *Network {
21022	s.SourcePort = &v
21023	return s
21024}
21025
21026// Details about a network path component that occurs before or after the current
21027// component.
21028type NetworkHeader struct {
21029	_ struct{} `type:"structure"`
21030
21031	// Information about the destination of the component.
21032	Destination *NetworkPathComponentDetails `type:"structure"`
21033
21034	// The protocol used for the component.
21035	Protocol *string `type:"string"`
21036
21037	// Information about the origin of the component.
21038	Source *NetworkPathComponentDetails `type:"structure"`
21039}
21040
21041// String returns the string representation
21042func (s NetworkHeader) String() string {
21043	return awsutil.Prettify(s)
21044}
21045
21046// GoString returns the string representation
21047func (s NetworkHeader) GoString() string {
21048	return s.String()
21049}
21050
21051// SetDestination sets the Destination field's value.
21052func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
21053	s.Destination = v
21054	return s
21055}
21056
21057// SetProtocol sets the Protocol field's value.
21058func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
21059	s.Protocol = &v
21060	return s
21061}
21062
21063// SetSource sets the Source field's value.
21064func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
21065	s.Source = v
21066	return s
21067}
21068
21069// Information about a network path component.
21070type NetworkPathComponent struct {
21071	_ struct{} `type:"structure"`
21072
21073	// The identifier of a component in the network path.
21074	ComponentId *string `type:"string"`
21075
21076	// The type of component.
21077	ComponentType *string `type:"string"`
21078
21079	// Information about the component that comes after the current component in
21080	// the network path.
21081	Egress *NetworkHeader `type:"structure"`
21082
21083	// Information about the component that comes before the current node in the
21084	// network path.
21085	Ingress *NetworkHeader `type:"structure"`
21086}
21087
21088// String returns the string representation
21089func (s NetworkPathComponent) String() string {
21090	return awsutil.Prettify(s)
21091}
21092
21093// GoString returns the string representation
21094func (s NetworkPathComponent) GoString() string {
21095	return s.String()
21096}
21097
21098// SetComponentId sets the ComponentId field's value.
21099func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
21100	s.ComponentId = &v
21101	return s
21102}
21103
21104// SetComponentType sets the ComponentType field's value.
21105func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
21106	s.ComponentType = &v
21107	return s
21108}
21109
21110// SetEgress sets the Egress field's value.
21111func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
21112	s.Egress = v
21113	return s
21114}
21115
21116// SetIngress sets the Ingress field's value.
21117func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
21118	s.Ingress = v
21119	return s
21120}
21121
21122// Information about the destination of the next component in the network path.
21123type NetworkPathComponentDetails struct {
21124	_ struct{} `type:"structure"`
21125
21126	// The IP addresses of the destination.
21127	Address []*string `type:"list"`
21128
21129	// A list of port ranges for the destination.
21130	PortRanges []*PortRange `type:"list"`
21131}
21132
21133// String returns the string representation
21134func (s NetworkPathComponentDetails) String() string {
21135	return awsutil.Prettify(s)
21136}
21137
21138// GoString returns the string representation
21139func (s NetworkPathComponentDetails) GoString() string {
21140	return s.String()
21141}
21142
21143// SetAddress sets the Address field's value.
21144func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
21145	s.Address = v
21146	return s
21147}
21148
21149// SetPortRanges sets the PortRanges field's value.
21150func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
21151	s.PortRanges = v
21152	return s
21153}
21154
21155// A user-defined note added to a finding.
21156type Note struct {
21157	_ struct{} `type:"structure"`
21158
21159	// The text of a note.
21160	//
21161	// Text is a required field
21162	Text *string `type:"string" required:"true"`
21163
21164	// The timestamp of when the note was updated.
21165	//
21166	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21167	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21168	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21169	//
21170	// UpdatedAt is a required field
21171	UpdatedAt *string `type:"string" required:"true"`
21172
21173	// The principal that created a note.
21174	//
21175	// UpdatedBy is a required field
21176	UpdatedBy *string `type:"string" required:"true"`
21177}
21178
21179// String returns the string representation
21180func (s Note) String() string {
21181	return awsutil.Prettify(s)
21182}
21183
21184// GoString returns the string representation
21185func (s Note) GoString() string {
21186	return s.String()
21187}
21188
21189// Validate inspects the fields of the type to determine if they are valid.
21190func (s *Note) Validate() error {
21191	invalidParams := request.ErrInvalidParams{Context: "Note"}
21192	if s.Text == nil {
21193		invalidParams.Add(request.NewErrParamRequired("Text"))
21194	}
21195	if s.UpdatedAt == nil {
21196		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
21197	}
21198	if s.UpdatedBy == nil {
21199		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
21200	}
21201
21202	if invalidParams.Len() > 0 {
21203		return invalidParams
21204	}
21205	return nil
21206}
21207
21208// SetText sets the Text field's value.
21209func (s *Note) SetText(v string) *Note {
21210	s.Text = &v
21211	return s
21212}
21213
21214// SetUpdatedAt sets the UpdatedAt field's value.
21215func (s *Note) SetUpdatedAt(v string) *Note {
21216	s.UpdatedAt = &v
21217	return s
21218}
21219
21220// SetUpdatedBy sets the UpdatedBy field's value.
21221func (s *Note) SetUpdatedBy(v string) *Note {
21222	s.UpdatedBy = &v
21223	return s
21224}
21225
21226// The updated note.
21227type NoteUpdate struct {
21228	_ struct{} `type:"structure"`
21229
21230	// The updated note text.
21231	//
21232	// Text is a required field
21233	Text *string `type:"string" required:"true"`
21234
21235	// The principal that updated the note.
21236	//
21237	// UpdatedBy is a required field
21238	UpdatedBy *string `type:"string" required:"true"`
21239}
21240
21241// String returns the string representation
21242func (s NoteUpdate) String() string {
21243	return awsutil.Prettify(s)
21244}
21245
21246// GoString returns the string representation
21247func (s NoteUpdate) GoString() string {
21248	return s.String()
21249}
21250
21251// Validate inspects the fields of the type to determine if they are valid.
21252func (s *NoteUpdate) Validate() error {
21253	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
21254	if s.Text == nil {
21255		invalidParams.Add(request.NewErrParamRequired("Text"))
21256	}
21257	if s.UpdatedBy == nil {
21258		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
21259	}
21260
21261	if invalidParams.Len() > 0 {
21262		return invalidParams
21263	}
21264	return nil
21265}
21266
21267// SetText sets the Text field's value.
21268func (s *NoteUpdate) SetText(v string) *NoteUpdate {
21269	s.Text = &v
21270	return s
21271}
21272
21273// SetUpdatedBy sets the UpdatedBy field's value.
21274func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
21275	s.UpdatedBy = &v
21276	return s
21277}
21278
21279// A number filter for querying findings.
21280type NumberFilter struct {
21281	_ struct{} `type:"structure"`
21282
21283	// The equal-to condition to be applied to a single field when querying for
21284	// findings.
21285	Eq *float64 `type:"double"`
21286
21287	// The greater-than-equal condition to be applied to a single field when querying
21288	// for findings.
21289	Gte *float64 `type:"double"`
21290
21291	// The less-than-equal condition to be applied to a single field when querying
21292	// for findings.
21293	Lte *float64 `type:"double"`
21294}
21295
21296// String returns the string representation
21297func (s NumberFilter) String() string {
21298	return awsutil.Prettify(s)
21299}
21300
21301// GoString returns the string representation
21302func (s NumberFilter) GoString() string {
21303	return s.String()
21304}
21305
21306// SetEq sets the Eq field's value.
21307func (s *NumberFilter) SetEq(v float64) *NumberFilter {
21308	s.Eq = &v
21309	return s
21310}
21311
21312// SetGte sets the Gte field's value.
21313func (s *NumberFilter) SetGte(v float64) *NumberFilter {
21314	s.Gte = &v
21315	return s
21316}
21317
21318// SetLte sets the Lte field's value.
21319func (s *NumberFilter) SetLte(v float64) *NumberFilter {
21320	s.Lte = &v
21321	return s
21322}
21323
21324// Provides an overview of the patch compliance status for an instance against
21325// a selected compliance standard.
21326type PatchSummary struct {
21327	_ struct{} `type:"structure"`
21328
21329	// The number of patches from the compliance standard that failed to install.
21330	FailedCount *int64 `type:"integer"`
21331
21332	// The identifier of the compliance standard that was used to determine the
21333	// patch compliance status.
21334	//
21335	// Id is a required field
21336	Id *string `type:"string" required:"true"`
21337
21338	// The number of patches from the compliance standard that were installed successfully.
21339	InstalledCount *int64 `type:"integer"`
21340
21341	// The number of installed patches that are not part of the compliance standard.
21342	InstalledOtherCount *int64 `type:"integer"`
21343
21344	// The number of patches that were applied, but that require the instance to
21345	// be rebooted in order to be marked as installed.
21346	InstalledPendingReboot *int64 `type:"integer"`
21347
21348	// The number of patches that are installed but are also on a list of patches
21349	// that the customer rejected.
21350	InstalledRejectedCount *int64 `type:"integer"`
21351
21352	// The number of patches that are part of the compliance standard but are not
21353	// installed. The count includes patches that failed to install.
21354	MissingCount *int64 `type:"integer"`
21355
21356	// The type of patch operation performed. For Patch Manager, the values are
21357	// SCAN and INSTALL.
21358	Operation *string `type:"string"`
21359
21360	// Indicates when the operation completed.
21361	//
21362	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21363	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21364	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21365	OperationEndTime *string `type:"string"`
21366
21367	// Indicates when the operation started.
21368	//
21369	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21370	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21371	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21372	OperationStartTime *string `type:"string"`
21373
21374	// The reboot option specified for the instance.
21375	RebootOption *string `type:"string"`
21376}
21377
21378// String returns the string representation
21379func (s PatchSummary) String() string {
21380	return awsutil.Prettify(s)
21381}
21382
21383// GoString returns the string representation
21384func (s PatchSummary) GoString() string {
21385	return s.String()
21386}
21387
21388// Validate inspects the fields of the type to determine if they are valid.
21389func (s *PatchSummary) Validate() error {
21390	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
21391	if s.Id == nil {
21392		invalidParams.Add(request.NewErrParamRequired("Id"))
21393	}
21394
21395	if invalidParams.Len() > 0 {
21396		return invalidParams
21397	}
21398	return nil
21399}
21400
21401// SetFailedCount sets the FailedCount field's value.
21402func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
21403	s.FailedCount = &v
21404	return s
21405}
21406
21407// SetId sets the Id field's value.
21408func (s *PatchSummary) SetId(v string) *PatchSummary {
21409	s.Id = &v
21410	return s
21411}
21412
21413// SetInstalledCount sets the InstalledCount field's value.
21414func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
21415	s.InstalledCount = &v
21416	return s
21417}
21418
21419// SetInstalledOtherCount sets the InstalledOtherCount field's value.
21420func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
21421	s.InstalledOtherCount = &v
21422	return s
21423}
21424
21425// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
21426func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
21427	s.InstalledPendingReboot = &v
21428	return s
21429}
21430
21431// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
21432func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
21433	s.InstalledRejectedCount = &v
21434	return s
21435}
21436
21437// SetMissingCount sets the MissingCount field's value.
21438func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
21439	s.MissingCount = &v
21440	return s
21441}
21442
21443// SetOperation sets the Operation field's value.
21444func (s *PatchSummary) SetOperation(v string) *PatchSummary {
21445	s.Operation = &v
21446	return s
21447}
21448
21449// SetOperationEndTime sets the OperationEndTime field's value.
21450func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
21451	s.OperationEndTime = &v
21452	return s
21453}
21454
21455// SetOperationStartTime sets the OperationStartTime field's value.
21456func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
21457	s.OperationStartTime = &v
21458	return s
21459}
21460
21461// SetRebootOption sets the RebootOption field's value.
21462func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
21463	s.RebootOption = &v
21464	return s
21465}
21466
21467// A range of ports.
21468type PortRange struct {
21469	_ struct{} `type:"structure"`
21470
21471	// The first port in the port range.
21472	Begin *int64 `type:"integer"`
21473
21474	// The last port in the port range.
21475	End *int64 `type:"integer"`
21476}
21477
21478// String returns the string representation
21479func (s PortRange) String() string {
21480	return awsutil.Prettify(s)
21481}
21482
21483// GoString returns the string representation
21484func (s PortRange) GoString() string {
21485	return s.String()
21486}
21487
21488// SetBegin sets the Begin field's value.
21489func (s *PortRange) SetBegin(v int64) *PortRange {
21490	s.Begin = &v
21491	return s
21492}
21493
21494// SetEnd sets the End field's value.
21495func (s *PortRange) SetEnd(v int64) *PortRange {
21496	s.End = &v
21497	return s
21498}
21499
21500// The details of process-related information about a finding.
21501type ProcessDetails struct {
21502	_ struct{} `type:"structure"`
21503
21504	// Indicates when the process was launched.
21505	//
21506	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21507	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21508	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21509	LaunchedAt *string `type:"string"`
21510
21511	// The name of the process.
21512	Name *string `type:"string"`
21513
21514	// The parent process ID.
21515	ParentPid *int64 `type:"integer"`
21516
21517	// The path to the process executable.
21518	Path *string `type:"string"`
21519
21520	// The process ID.
21521	Pid *int64 `type:"integer"`
21522
21523	// Indicates when the process was terminated.
21524	//
21525	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21526	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21527	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21528	TerminatedAt *string `type:"string"`
21529}
21530
21531// String returns the string representation
21532func (s ProcessDetails) String() string {
21533	return awsutil.Prettify(s)
21534}
21535
21536// GoString returns the string representation
21537func (s ProcessDetails) GoString() string {
21538	return s.String()
21539}
21540
21541// SetLaunchedAt sets the LaunchedAt field's value.
21542func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
21543	s.LaunchedAt = &v
21544	return s
21545}
21546
21547// SetName sets the Name field's value.
21548func (s *ProcessDetails) SetName(v string) *ProcessDetails {
21549	s.Name = &v
21550	return s
21551}
21552
21553// SetParentPid sets the ParentPid field's value.
21554func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
21555	s.ParentPid = &v
21556	return s
21557}
21558
21559// SetPath sets the Path field's value.
21560func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
21561	s.Path = &v
21562	return s
21563}
21564
21565// SetPid sets the Pid field's value.
21566func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
21567	s.Pid = &v
21568	return s
21569}
21570
21571// SetTerminatedAt sets the TerminatedAt field's value.
21572func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
21573	s.TerminatedAt = &v
21574	return s
21575}
21576
21577// Contains details about a product.
21578type Product struct {
21579	_ struct{} `type:"structure"`
21580
21581	// The URL used to activate the product.
21582	ActivationUrl *string `type:"string"`
21583
21584	// The categories assigned to the product.
21585	Categories []*string `type:"list"`
21586
21587	// The name of the company that provides the product.
21588	CompanyName *string `type:"string"`
21589
21590	// A description of the product.
21591	Description *string `type:"string"`
21592
21593	// The types of integration that the product supports. Available values are
21594	// the following.
21595	//
21596	//    * SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends
21597	//    findings to Security Hub.
21598	//
21599	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration
21600	//    receives findings from Security Hub.
21601	IntegrationTypes []*string `type:"list"`
21602
21603	// The URL for the page that contains more information about the product.
21604	MarketplaceUrl *string `type:"string"`
21605
21606	// The ARN assigned to the product.
21607	//
21608	// ProductArn is a required field
21609	ProductArn *string `type:"string" required:"true"`
21610
21611	// The name of the product.
21612	ProductName *string `type:"string"`
21613
21614	// The resource policy associated with the product.
21615	ProductSubscriptionResourcePolicy *string `type:"string"`
21616}
21617
21618// String returns the string representation
21619func (s Product) String() string {
21620	return awsutil.Prettify(s)
21621}
21622
21623// GoString returns the string representation
21624func (s Product) GoString() string {
21625	return s.String()
21626}
21627
21628// SetActivationUrl sets the ActivationUrl field's value.
21629func (s *Product) SetActivationUrl(v string) *Product {
21630	s.ActivationUrl = &v
21631	return s
21632}
21633
21634// SetCategories sets the Categories field's value.
21635func (s *Product) SetCategories(v []*string) *Product {
21636	s.Categories = v
21637	return s
21638}
21639
21640// SetCompanyName sets the CompanyName field's value.
21641func (s *Product) SetCompanyName(v string) *Product {
21642	s.CompanyName = &v
21643	return s
21644}
21645
21646// SetDescription sets the Description field's value.
21647func (s *Product) SetDescription(v string) *Product {
21648	s.Description = &v
21649	return s
21650}
21651
21652// SetIntegrationTypes sets the IntegrationTypes field's value.
21653func (s *Product) SetIntegrationTypes(v []*string) *Product {
21654	s.IntegrationTypes = v
21655	return s
21656}
21657
21658// SetMarketplaceUrl sets the MarketplaceUrl field's value.
21659func (s *Product) SetMarketplaceUrl(v string) *Product {
21660	s.MarketplaceUrl = &v
21661	return s
21662}
21663
21664// SetProductArn sets the ProductArn field's value.
21665func (s *Product) SetProductArn(v string) *Product {
21666	s.ProductArn = &v
21667	return s
21668}
21669
21670// SetProductName sets the ProductName field's value.
21671func (s *Product) SetProductName(v string) *Product {
21672	s.ProductName = &v
21673	return s
21674}
21675
21676// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
21677func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
21678	s.ProductSubscriptionResourcePolicy = &v
21679	return s
21680}
21681
21682// A recommendation on how to remediate the issue identified in a finding.
21683type Recommendation struct {
21684	_ struct{} `type:"structure"`
21685
21686	// Describes the recommended steps to take to remediate an issue identified
21687	// in a finding.
21688	Text *string `type:"string"`
21689
21690	// A URL to a page or site that contains information about how to remediate
21691	// a finding.
21692	Url *string `type:"string"`
21693}
21694
21695// String returns the string representation
21696func (s Recommendation) String() string {
21697	return awsutil.Prettify(s)
21698}
21699
21700// GoString returns the string representation
21701func (s Recommendation) GoString() string {
21702	return s.String()
21703}
21704
21705// SetText sets the Text field's value.
21706func (s *Recommendation) SetText(v string) *Recommendation {
21707	s.Text = &v
21708	return s
21709}
21710
21711// SetUrl sets the Url field's value.
21712func (s *Recommendation) SetUrl(v string) *Recommendation {
21713	s.Url = &v
21714	return s
21715}
21716
21717// Details about a related finding.
21718type RelatedFinding struct {
21719	_ struct{} `type:"structure"`
21720
21721	// The product-generated identifier for a related finding.
21722	//
21723	// Id is a required field
21724	Id *string `type:"string" required:"true"`
21725
21726	// The ARN of the product that generated a related finding.
21727	//
21728	// ProductArn is a required field
21729	ProductArn *string `type:"string" required:"true"`
21730}
21731
21732// String returns the string representation
21733func (s RelatedFinding) String() string {
21734	return awsutil.Prettify(s)
21735}
21736
21737// GoString returns the string representation
21738func (s RelatedFinding) GoString() string {
21739	return s.String()
21740}
21741
21742// Validate inspects the fields of the type to determine if they are valid.
21743func (s *RelatedFinding) Validate() error {
21744	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
21745	if s.Id == nil {
21746		invalidParams.Add(request.NewErrParamRequired("Id"))
21747	}
21748	if s.ProductArn == nil {
21749		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
21750	}
21751
21752	if invalidParams.Len() > 0 {
21753		return invalidParams
21754	}
21755	return nil
21756}
21757
21758// SetId sets the Id field's value.
21759func (s *RelatedFinding) SetId(v string) *RelatedFinding {
21760	s.Id = &v
21761	return s
21762}
21763
21764// SetProductArn sets the ProductArn field's value.
21765func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
21766	s.ProductArn = &v
21767	return s
21768}
21769
21770// Details about the remediation steps for a finding.
21771type Remediation struct {
21772	_ struct{} `type:"structure"`
21773
21774	// A recommendation on the steps to take to remediate the issue identified by
21775	// a finding.
21776	Recommendation *Recommendation `type:"structure"`
21777}
21778
21779// String returns the string representation
21780func (s Remediation) String() string {
21781	return awsutil.Prettify(s)
21782}
21783
21784// GoString returns the string representation
21785func (s Remediation) GoString() string {
21786	return s.String()
21787}
21788
21789// SetRecommendation sets the Recommendation field's value.
21790func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
21791	s.Recommendation = v
21792	return s
21793}
21794
21795// A resource related to a finding.
21796type Resource struct {
21797	_ struct{} `type:"structure"`
21798
21799	// Additional details about the resource related to a finding.
21800	Details *ResourceDetails `type:"structure"`
21801
21802	// The canonical identifier for the given resource type.
21803	//
21804	// Id is a required field
21805	Id *string `type:"string" required:"true"`
21806
21807	// The canonical AWS partition name that the Region is assigned to.
21808	Partition *string `type:"string" enum:"Partition"`
21809
21810	// The canonical AWS external Region name where this resource is located.
21811	Region *string `type:"string"`
21812
21813	ResourceRole *string `type:"string"`
21814
21815	// A list of AWS tags associated with a resource at the time the finding was
21816	// processed.
21817	Tags map[string]*string `type:"map"`
21818
21819	// The type of the resource that details are provided for. If possible, set
21820	// Type to one of the supported resource types. For example, if the resource
21821	// is an EC2 instance, then set Type to AwsEc2Instance.
21822	//
21823	// If the resource does not match any of the provided types, then set Type to
21824	// Other.
21825	//
21826	// Type is a required field
21827	Type *string `type:"string" required:"true"`
21828}
21829
21830// String returns the string representation
21831func (s Resource) String() string {
21832	return awsutil.Prettify(s)
21833}
21834
21835// GoString returns the string representation
21836func (s Resource) GoString() string {
21837	return s.String()
21838}
21839
21840// Validate inspects the fields of the type to determine if they are valid.
21841func (s *Resource) Validate() error {
21842	invalidParams := request.ErrInvalidParams{Context: "Resource"}
21843	if s.Id == nil {
21844		invalidParams.Add(request.NewErrParamRequired("Id"))
21845	}
21846	if s.Type == nil {
21847		invalidParams.Add(request.NewErrParamRequired("Type"))
21848	}
21849	if s.Details != nil {
21850		if err := s.Details.Validate(); err != nil {
21851			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
21852		}
21853	}
21854
21855	if invalidParams.Len() > 0 {
21856		return invalidParams
21857	}
21858	return nil
21859}
21860
21861// SetDetails sets the Details field's value.
21862func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
21863	s.Details = v
21864	return s
21865}
21866
21867// SetId sets the Id field's value.
21868func (s *Resource) SetId(v string) *Resource {
21869	s.Id = &v
21870	return s
21871}
21872
21873// SetPartition sets the Partition field's value.
21874func (s *Resource) SetPartition(v string) *Resource {
21875	s.Partition = &v
21876	return s
21877}
21878
21879// SetRegion sets the Region field's value.
21880func (s *Resource) SetRegion(v string) *Resource {
21881	s.Region = &v
21882	return s
21883}
21884
21885// SetResourceRole sets the ResourceRole field's value.
21886func (s *Resource) SetResourceRole(v string) *Resource {
21887	s.ResourceRole = &v
21888	return s
21889}
21890
21891// SetTags sets the Tags field's value.
21892func (s *Resource) SetTags(v map[string]*string) *Resource {
21893	s.Tags = v
21894	return s
21895}
21896
21897// SetType sets the Type field's value.
21898func (s *Resource) SetType(v string) *Resource {
21899	s.Type = &v
21900	return s
21901}
21902
21903// The resource specified in the request conflicts with an existing resource.
21904type ResourceConflictException struct {
21905	_            struct{}                  `type:"structure"`
21906	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
21907
21908	Code_ *string `locationName:"Code" type:"string"`
21909
21910	Message_ *string `locationName:"Message" type:"string"`
21911}
21912
21913// String returns the string representation
21914func (s ResourceConflictException) String() string {
21915	return awsutil.Prettify(s)
21916}
21917
21918// GoString returns the string representation
21919func (s ResourceConflictException) GoString() string {
21920	return s.String()
21921}
21922
21923func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
21924	return &ResourceConflictException{
21925		RespMetadata: v,
21926	}
21927}
21928
21929// Code returns the exception type name.
21930func (s *ResourceConflictException) Code() string {
21931	return "ResourceConflictException"
21932}
21933
21934// Message returns the exception's message.
21935func (s *ResourceConflictException) Message() string {
21936	if s.Message_ != nil {
21937		return *s.Message_
21938	}
21939	return ""
21940}
21941
21942// OrigErr always returns nil, satisfies awserr.Error interface.
21943func (s *ResourceConflictException) OrigErr() error {
21944	return nil
21945}
21946
21947func (s *ResourceConflictException) Error() string {
21948	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
21949}
21950
21951// Status code returns the HTTP status code for the request's response error.
21952func (s *ResourceConflictException) StatusCode() int {
21953	return s.RespMetadata.StatusCode
21954}
21955
21956// RequestID returns the service's response RequestID for request.
21957func (s *ResourceConflictException) RequestID() string {
21958	return s.RespMetadata.RequestID
21959}
21960
21961// Additional details about a resource related to a finding.
21962//
21963// To provide the details, use the object that corresponds to the resource type.
21964// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
21965// object to provide the details.
21966//
21967// If the type-specific object does not contain all of the fields you want to
21968// populate, then you use the Other object to populate those additional fields.
21969//
21970// You also use the Other object to populate the details when the selected type
21971// does not have a corresponding object.
21972type ResourceDetails struct {
21973	_ struct{} `type:"structure"`
21974
21975	// contains information about a REST API in version 1 of Amazon API Gateway.
21976	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
21977
21978	// Provides information about a version 1 Amazon API Gateway stage.
21979	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
21980
21981	// Contains information about a version 2 API in Amazon API Gateway.
21982	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
21983
21984	// Contains information about a version 2 stage for Amazon API Gateway.
21985	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
21986
21987	// Details for an autoscaling group.
21988	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
21989
21990	// Provides details about an AWS Certificate Manager certificate.
21991	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
21992
21993	// Details about a CloudFront distribution.
21994	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
21995
21996	// Provides details about a CloudTrail trail.
21997	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
21998
21999	// Details for an AWS CodeBuild project.
22000	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
22001
22002	// Details about a DynamoDB table.
22003	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
22004
22005	// Details about an Elastic IP address.
22006	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
22007
22008	// Details about an Amazon EC2 instance related to a finding.
22009	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
22010
22011	// Details for an Amazon EC2 network interface.
22012	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
22013
22014	// Details for an EC2 security group.
22015	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
22016
22017	// Details for an EC2 volume.
22018	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
22019
22020	// Details for an EC2 VPC.
22021	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
22022
22023	// Details for an Elasticsearch domain.
22024	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
22025
22026	// Contains details about a Classic Load Balancer.
22027	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
22028
22029	// Details about a load balancer.
22030	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
22031
22032	// Details about an IAM access key related to a finding.
22033	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
22034
22035	// Contains details about an IAM group.
22036	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
22037
22038	// Details about an IAM permissions policy.
22039	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
22040
22041	// Details about an IAM role.
22042	AwsIamRole *AwsIamRoleDetails `type:"structure"`
22043
22044	// Details about an IAM user.
22045	AwsIamUser *AwsIamUserDetails `type:"structure"`
22046
22047	// Details about a KMS key.
22048	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
22049
22050	// Details about a Lambda function.
22051	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
22052
22053	// Details for a Lambda layer version.
22054	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
22055
22056	// Details about an Amazon RDS database cluster.
22057	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
22058
22059	// Details about an Amazon RDS database cluster snapshot.
22060	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
22061
22062	// Details about an Amazon RDS database instance.
22063	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
22064
22065	// Details about an Amazon RDS database snapshot.
22066	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
22067
22068	// Details about an Amazon Redshift cluster.
22069	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
22070
22071	// Details about an Amazon S3 bucket related to a finding.
22072	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
22073
22074	// Details about an Amazon S3 object related to a finding.
22075	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
22076
22077	// Details about a Secrets Manager secret.
22078	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
22079
22080	// Details about an SNS topic.
22081	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
22082
22083	// Details about an SQS queue.
22084	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
22085
22086	// Details for a WAF WebACL.
22087	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
22088
22089	// Details about a container resource related to a finding.
22090	Container *ContainerDetails `type:"structure"`
22091
22092	// Details about a resource that are not available in a type-specific details
22093	// object. Use the Other object in the following cases.
22094	//
22095	//    * The type-specific object does not contain all of the fields that you
22096	//    want to populate. In this case, first use the type-specific object to
22097	//    populate those fields. Use the Other object to populate the fields that
22098	//    are missing from the type-specific object.
22099	//
22100	//    * The resource type does not have a corresponding object. This includes
22101	//    resources for which the type is Other.
22102	Other map[string]*string `type:"map"`
22103}
22104
22105// String returns the string representation
22106func (s ResourceDetails) String() string {
22107	return awsutil.Prettify(s)
22108}
22109
22110// GoString returns the string representation
22111func (s ResourceDetails) GoString() string {
22112	return s.String()
22113}
22114
22115// Validate inspects the fields of the type to determine if they are valid.
22116func (s *ResourceDetails) Validate() error {
22117	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
22118	if s.AwsIamRole != nil {
22119		if err := s.AwsIamRole.Validate(); err != nil {
22120			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
22121		}
22122	}
22123
22124	if invalidParams.Len() > 0 {
22125		return invalidParams
22126	}
22127	return nil
22128}
22129
22130// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
22131func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
22132	s.AwsApiGatewayRestApi = v
22133	return s
22134}
22135
22136// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
22137func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
22138	s.AwsApiGatewayStage = v
22139	return s
22140}
22141
22142// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
22143func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
22144	s.AwsApiGatewayV2Api = v
22145	return s
22146}
22147
22148// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
22149func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
22150	s.AwsApiGatewayV2Stage = v
22151	return s
22152}
22153
22154// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
22155func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
22156	s.AwsAutoScalingAutoScalingGroup = v
22157	return s
22158}
22159
22160// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
22161func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
22162	s.AwsCertificateManagerCertificate = v
22163	return s
22164}
22165
22166// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
22167func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
22168	s.AwsCloudFrontDistribution = v
22169	return s
22170}
22171
22172// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
22173func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
22174	s.AwsCloudTrailTrail = v
22175	return s
22176}
22177
22178// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
22179func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
22180	s.AwsCodeBuildProject = v
22181	return s
22182}
22183
22184// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
22185func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
22186	s.AwsDynamoDbTable = v
22187	return s
22188}
22189
22190// SetAwsEc2Eip sets the AwsEc2Eip field's value.
22191func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
22192	s.AwsEc2Eip = v
22193	return s
22194}
22195
22196// SetAwsEc2Instance sets the AwsEc2Instance field's value.
22197func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
22198	s.AwsEc2Instance = v
22199	return s
22200}
22201
22202// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
22203func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
22204	s.AwsEc2NetworkInterface = v
22205	return s
22206}
22207
22208// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
22209func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
22210	s.AwsEc2SecurityGroup = v
22211	return s
22212}
22213
22214// SetAwsEc2Volume sets the AwsEc2Volume field's value.
22215func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
22216	s.AwsEc2Volume = v
22217	return s
22218}
22219
22220// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
22221func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
22222	s.AwsEc2Vpc = v
22223	return s
22224}
22225
22226// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
22227func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
22228	s.AwsElasticsearchDomain = v
22229	return s
22230}
22231
22232// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
22233func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
22234	s.AwsElbLoadBalancer = v
22235	return s
22236}
22237
22238// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
22239func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
22240	s.AwsElbv2LoadBalancer = v
22241	return s
22242}
22243
22244// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
22245func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
22246	s.AwsIamAccessKey = v
22247	return s
22248}
22249
22250// SetAwsIamGroup sets the AwsIamGroup field's value.
22251func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
22252	s.AwsIamGroup = v
22253	return s
22254}
22255
22256// SetAwsIamPolicy sets the AwsIamPolicy field's value.
22257func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
22258	s.AwsIamPolicy = v
22259	return s
22260}
22261
22262// SetAwsIamRole sets the AwsIamRole field's value.
22263func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
22264	s.AwsIamRole = v
22265	return s
22266}
22267
22268// SetAwsIamUser sets the AwsIamUser field's value.
22269func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
22270	s.AwsIamUser = v
22271	return s
22272}
22273
22274// SetAwsKmsKey sets the AwsKmsKey field's value.
22275func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
22276	s.AwsKmsKey = v
22277	return s
22278}
22279
22280// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
22281func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
22282	s.AwsLambdaFunction = v
22283	return s
22284}
22285
22286// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
22287func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
22288	s.AwsLambdaLayerVersion = v
22289	return s
22290}
22291
22292// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
22293func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
22294	s.AwsRdsDbCluster = v
22295	return s
22296}
22297
22298// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
22299func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
22300	s.AwsRdsDbClusterSnapshot = v
22301	return s
22302}
22303
22304// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
22305func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
22306	s.AwsRdsDbInstance = v
22307	return s
22308}
22309
22310// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
22311func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
22312	s.AwsRdsDbSnapshot = v
22313	return s
22314}
22315
22316// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
22317func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
22318	s.AwsRedshiftCluster = v
22319	return s
22320}
22321
22322// SetAwsS3Bucket sets the AwsS3Bucket field's value.
22323func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
22324	s.AwsS3Bucket = v
22325	return s
22326}
22327
22328// SetAwsS3Object sets the AwsS3Object field's value.
22329func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
22330	s.AwsS3Object = v
22331	return s
22332}
22333
22334// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
22335func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
22336	s.AwsSecretsManagerSecret = v
22337	return s
22338}
22339
22340// SetAwsSnsTopic sets the AwsSnsTopic field's value.
22341func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
22342	s.AwsSnsTopic = v
22343	return s
22344}
22345
22346// SetAwsSqsQueue sets the AwsSqsQueue field's value.
22347func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
22348	s.AwsSqsQueue = v
22349	return s
22350}
22351
22352// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
22353func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
22354	s.AwsWafWebAcl = v
22355	return s
22356}
22357
22358// SetContainer sets the Container field's value.
22359func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
22360	s.Container = v
22361	return s
22362}
22363
22364// SetOther sets the Other field's value.
22365func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
22366	s.Other = v
22367	return s
22368}
22369
22370// The request was rejected because we can't find the specified resource.
22371type ResourceNotFoundException struct {
22372	_            struct{}                  `type:"structure"`
22373	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22374
22375	Code_ *string `locationName:"Code" type:"string"`
22376
22377	Message_ *string `locationName:"Message" type:"string"`
22378}
22379
22380// String returns the string representation
22381func (s ResourceNotFoundException) String() string {
22382	return awsutil.Prettify(s)
22383}
22384
22385// GoString returns the string representation
22386func (s ResourceNotFoundException) GoString() string {
22387	return s.String()
22388}
22389
22390func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
22391	return &ResourceNotFoundException{
22392		RespMetadata: v,
22393	}
22394}
22395
22396// Code returns the exception type name.
22397func (s *ResourceNotFoundException) Code() string {
22398	return "ResourceNotFoundException"
22399}
22400
22401// Message returns the exception's message.
22402func (s *ResourceNotFoundException) Message() string {
22403	if s.Message_ != nil {
22404		return *s.Message_
22405	}
22406	return ""
22407}
22408
22409// OrigErr always returns nil, satisfies awserr.Error interface.
22410func (s *ResourceNotFoundException) OrigErr() error {
22411	return nil
22412}
22413
22414func (s *ResourceNotFoundException) Error() string {
22415	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22416}
22417
22418// Status code returns the HTTP status code for the request's response error.
22419func (s *ResourceNotFoundException) StatusCode() int {
22420	return s.RespMetadata.StatusCode
22421}
22422
22423// RequestID returns the service's response RequestID for request.
22424func (s *ResourceNotFoundException) RequestID() string {
22425	return s.RespMetadata.RequestID
22426}
22427
22428// Details about the account that was not processed.
22429type Result struct {
22430	_ struct{} `type:"structure"`
22431
22432	// An AWS account ID of the account that was not processed.
22433	AccountId *string `type:"string"`
22434
22435	// The reason that the account was not processed.
22436	ProcessingResult *string `type:"string"`
22437}
22438
22439// String returns the string representation
22440func (s Result) String() string {
22441	return awsutil.Prettify(s)
22442}
22443
22444// GoString returns the string representation
22445func (s Result) GoString() string {
22446	return s.String()
22447}
22448
22449// SetAccountId sets the AccountId field's value.
22450func (s *Result) SetAccountId(v string) *Result {
22451	s.AccountId = &v
22452	return s
22453}
22454
22455// SetProcessingResult sets the ProcessingResult field's value.
22456func (s *Result) SetProcessingResult(v string) *Result {
22457	s.ProcessingResult = &v
22458	return s
22459}
22460
22461// The severity of the finding.
22462//
22463// The finding provider can provide the initial severity, but cannot update
22464// it after that. The severity can only be updated by a master account. It cannot
22465// be updated by a member account.
22466//
22467// The finding must have either Label or Normalized populated. If only one of
22468// these attributes is populated, then Security Hub automatically populates
22469// the other one. If neither attribute is populated, then the finding is invalid.
22470// Label is the preferred attribute.
22471type Severity struct {
22472	_ struct{} `type:"structure"`
22473
22474	// The severity value of the finding. The allowed values are the following.
22475	//
22476	//    * INFORMATIONAL - No issue was found.
22477	//
22478	//    * LOW - The issue does not require action on its own.
22479	//
22480	//    * MEDIUM - The issue must be addressed but not urgently.
22481	//
22482	//    * HIGH - The issue must be addressed as a priority.
22483	//
22484	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
22485	//
22486	// If you provide Normalized and do not provide Label, then Label is set automatically
22487	// as follows.
22488	//
22489	//    * 0 - INFORMATIONAL
22490	//
22491	//    * 1–39 - LOW
22492	//
22493	//    * 40–69 - MEDIUM
22494	//
22495	//    * 70–89 - HIGH
22496	//
22497	//    * 90–100 - CRITICAL
22498	Label *string `type:"string" enum:"SeverityLabel"`
22499
22500	// Deprecated. The normalized severity of a finding. This attribute is being
22501	// deprecated. Instead of providing Normalized, provide Label.
22502	//
22503	// If you provide Label and do not provide Normalized, then Normalized is set
22504	// automatically as follows.
22505	//
22506	//    * INFORMATIONAL - 0
22507	//
22508	//    * LOW - 1
22509	//
22510	//    * MEDIUM - 40
22511	//
22512	//    * HIGH - 70
22513	//
22514	//    * CRITICAL - 90
22515	Normalized *int64 `type:"integer"`
22516
22517	// The native severity from the finding product that generated the finding.
22518	Original *string `type:"string"`
22519
22520	// Deprecated. This attribute is being deprecated. Instead of providing Product,
22521	// provide Original.
22522	//
22523	// The native severity as defined by the AWS service or integrated partner product
22524	// that generated the finding.
22525	Product *float64 `type:"double"`
22526}
22527
22528// String returns the string representation
22529func (s Severity) String() string {
22530	return awsutil.Prettify(s)
22531}
22532
22533// GoString returns the string representation
22534func (s Severity) GoString() string {
22535	return s.String()
22536}
22537
22538// SetLabel sets the Label field's value.
22539func (s *Severity) SetLabel(v string) *Severity {
22540	s.Label = &v
22541	return s
22542}
22543
22544// SetNormalized sets the Normalized field's value.
22545func (s *Severity) SetNormalized(v int64) *Severity {
22546	s.Normalized = &v
22547	return s
22548}
22549
22550// SetOriginal sets the Original field's value.
22551func (s *Severity) SetOriginal(v string) *Severity {
22552	s.Original = &v
22553	return s
22554}
22555
22556// SetProduct sets the Product field's value.
22557func (s *Severity) SetProduct(v float64) *Severity {
22558	s.Product = &v
22559	return s
22560}
22561
22562// Updates to the severity information for a finding.
22563type SeverityUpdate struct {
22564	_ struct{} `type:"structure"`
22565
22566	// The severity value of the finding. The allowed values are the following.
22567	//
22568	//    * INFORMATIONAL - No issue was found.
22569	//
22570	//    * LOW - The issue does not require action on its own.
22571	//
22572	//    * MEDIUM - The issue must be addressed but not urgently.
22573	//
22574	//    * HIGH - The issue must be addressed as a priority.
22575	//
22576	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
22577	Label *string `type:"string" enum:"SeverityLabel"`
22578
22579	// The normalized severity for the finding. This attribute is to be deprecated
22580	// in favor of Label.
22581	//
22582	// If you provide Normalized and do not provide Label, Label is set automatically
22583	// as follows.
22584	//
22585	//    * 0 - INFORMATIONAL
22586	//
22587	//    * 1–39 - LOW
22588	//
22589	//    * 40–69 - MEDIUM
22590	//
22591	//    * 70–89 - HIGH
22592	//
22593	//    * 90–100 - CRITICAL
22594	Normalized *int64 `type:"integer"`
22595
22596	// The native severity as defined by the AWS service or integrated partner product
22597	// that generated the finding.
22598	Product *float64 `type:"double"`
22599}
22600
22601// String returns the string representation
22602func (s SeverityUpdate) String() string {
22603	return awsutil.Prettify(s)
22604}
22605
22606// GoString returns the string representation
22607func (s SeverityUpdate) GoString() string {
22608	return s.String()
22609}
22610
22611// SetLabel sets the Label field's value.
22612func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
22613	s.Label = &v
22614	return s
22615}
22616
22617// SetNormalized sets the Normalized field's value.
22618func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
22619	s.Normalized = &v
22620	return s
22621}
22622
22623// SetProduct sets the Product field's value.
22624func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
22625	s.Product = &v
22626	return s
22627}
22628
22629// Information about a software package.
22630type SoftwarePackage struct {
22631	_ struct{} `type:"structure"`
22632
22633	// The architecture used for the software package.
22634	Architecture *string `type:"string"`
22635
22636	// The epoch of the software package.
22637	Epoch *string `type:"string"`
22638
22639	// The name of the software package.
22640	Name *string `type:"string"`
22641
22642	// The release of the software package.
22643	Release *string `type:"string"`
22644
22645	// The version of the software package.
22646	Version *string `type:"string"`
22647}
22648
22649// String returns the string representation
22650func (s SoftwarePackage) String() string {
22651	return awsutil.Prettify(s)
22652}
22653
22654// GoString returns the string representation
22655func (s SoftwarePackage) GoString() string {
22656	return s.String()
22657}
22658
22659// SetArchitecture sets the Architecture field's value.
22660func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
22661	s.Architecture = &v
22662	return s
22663}
22664
22665// SetEpoch sets the Epoch field's value.
22666func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
22667	s.Epoch = &v
22668	return s
22669}
22670
22671// SetName sets the Name field's value.
22672func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
22673	s.Name = &v
22674	return s
22675}
22676
22677// SetRelease sets the Release field's value.
22678func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
22679	s.Release = &v
22680	return s
22681}
22682
22683// SetVersion sets the Version field's value.
22684func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
22685	s.Version = &v
22686	return s
22687}
22688
22689// A collection of finding attributes used to sort findings.
22690type SortCriterion struct {
22691	_ struct{} `type:"structure"`
22692
22693	// The finding attribute used to sort findings.
22694	Field *string `type:"string"`
22695
22696	// The order used to sort findings.
22697	SortOrder *string `type:"string" enum:"SortOrder"`
22698}
22699
22700// String returns the string representation
22701func (s SortCriterion) String() string {
22702	return awsutil.Prettify(s)
22703}
22704
22705// GoString returns the string representation
22706func (s SortCriterion) GoString() string {
22707	return s.String()
22708}
22709
22710// SetField sets the Field field's value.
22711func (s *SortCriterion) SetField(v string) *SortCriterion {
22712	s.Field = &v
22713	return s
22714}
22715
22716// SetSortOrder sets the SortOrder field's value.
22717func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
22718	s.SortOrder = &v
22719	return s
22720}
22721
22722// Provides information about a specific standard.
22723type Standard struct {
22724	_ struct{} `type:"structure"`
22725
22726	// A description of the standard.
22727	Description *string `type:"string"`
22728
22729	// Whether the standard is enabled by default. When Security Hub is enabled
22730	// from the console, if a standard is enabled by default, the check box for
22731	// that standard is selected by default.
22732	//
22733	// When Security Hub is enabled using the EnableSecurityHub API operation, the
22734	// standard is enabled by default unless EnableDefaultStandards is set to false.
22735	EnabledByDefault *bool `type:"boolean"`
22736
22737	// The name of the standard.
22738	Name *string `type:"string"`
22739
22740	// The ARN of a standard.
22741	StandardsArn *string `type:"string"`
22742}
22743
22744// String returns the string representation
22745func (s Standard) String() string {
22746	return awsutil.Prettify(s)
22747}
22748
22749// GoString returns the string representation
22750func (s Standard) GoString() string {
22751	return s.String()
22752}
22753
22754// SetDescription sets the Description field's value.
22755func (s *Standard) SetDescription(v string) *Standard {
22756	s.Description = &v
22757	return s
22758}
22759
22760// SetEnabledByDefault sets the EnabledByDefault field's value.
22761func (s *Standard) SetEnabledByDefault(v bool) *Standard {
22762	s.EnabledByDefault = &v
22763	return s
22764}
22765
22766// SetName sets the Name field's value.
22767func (s *Standard) SetName(v string) *Standard {
22768	s.Name = &v
22769	return s
22770}
22771
22772// SetStandardsArn sets the StandardsArn field's value.
22773func (s *Standard) SetStandardsArn(v string) *Standard {
22774	s.StandardsArn = &v
22775	return s
22776}
22777
22778// Details for an individual security standard control.
22779type StandardsControl struct {
22780	_ struct{} `type:"structure"`
22781
22782	// The identifier of the security standard control.
22783	ControlId *string `type:"string"`
22784
22785	// The current status of the security standard control. Indicates whether the
22786	// control is enabled or disabled. Security Hub does not check against disabled
22787	// controls.
22788	ControlStatus *string `type:"string" enum:"ControlStatus"`
22789
22790	// The date and time that the status of the security standard control was most
22791	// recently updated.
22792	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
22793
22794	// The longer description of the security standard control. Provides information
22795	// about what the control is checking for.
22796	Description *string `type:"string"`
22797
22798	// The reason provided for the most recent change in status for the control.
22799	DisabledReason *string `type:"string"`
22800
22801	// The list of requirements that are related to this control.
22802	RelatedRequirements []*string `type:"list"`
22803
22804	// A link to remediation information for the control in the Security Hub user
22805	// documentation.
22806	RemediationUrl *string `type:"string"`
22807
22808	// The severity of findings generated from this security standard control.
22809	//
22810	// The finding severity is based on an assessment of how easy it would be to
22811	// compromise AWS resources if the issue is detected.
22812	SeverityRating *string `type:"string" enum:"SeverityRating"`
22813
22814	// The ARN of the security standard control.
22815	StandardsControlArn *string `type:"string"`
22816
22817	// The title of the security standard control.
22818	Title *string `type:"string"`
22819}
22820
22821// String returns the string representation
22822func (s StandardsControl) String() string {
22823	return awsutil.Prettify(s)
22824}
22825
22826// GoString returns the string representation
22827func (s StandardsControl) GoString() string {
22828	return s.String()
22829}
22830
22831// SetControlId sets the ControlId field's value.
22832func (s *StandardsControl) SetControlId(v string) *StandardsControl {
22833	s.ControlId = &v
22834	return s
22835}
22836
22837// SetControlStatus sets the ControlStatus field's value.
22838func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
22839	s.ControlStatus = &v
22840	return s
22841}
22842
22843// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
22844func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
22845	s.ControlStatusUpdatedAt = &v
22846	return s
22847}
22848
22849// SetDescription sets the Description field's value.
22850func (s *StandardsControl) SetDescription(v string) *StandardsControl {
22851	s.Description = &v
22852	return s
22853}
22854
22855// SetDisabledReason sets the DisabledReason field's value.
22856func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
22857	s.DisabledReason = &v
22858	return s
22859}
22860
22861// SetRelatedRequirements sets the RelatedRequirements field's value.
22862func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
22863	s.RelatedRequirements = v
22864	return s
22865}
22866
22867// SetRemediationUrl sets the RemediationUrl field's value.
22868func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
22869	s.RemediationUrl = &v
22870	return s
22871}
22872
22873// SetSeverityRating sets the SeverityRating field's value.
22874func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
22875	s.SeverityRating = &v
22876	return s
22877}
22878
22879// SetStandardsControlArn sets the StandardsControlArn field's value.
22880func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
22881	s.StandardsControlArn = &v
22882	return s
22883}
22884
22885// SetTitle sets the Title field's value.
22886func (s *StandardsControl) SetTitle(v string) *StandardsControl {
22887	s.Title = &v
22888	return s
22889}
22890
22891// A resource that represents your subscription to a supported standard.
22892type StandardsSubscription struct {
22893	_ struct{} `type:"structure"`
22894
22895	// The ARN of a standard.
22896	//
22897	// StandardsArn is a required field
22898	StandardsArn *string `type:"string" required:"true"`
22899
22900	// A key-value pair of input for the standard.
22901	//
22902	// StandardsInput is a required field
22903	StandardsInput map[string]*string `type:"map" required:"true"`
22904
22905	// The status of the standards subscription.
22906	//
22907	// StandardsStatus is a required field
22908	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
22909
22910	// The ARN of a resource that represents your subscription to a supported standard.
22911	//
22912	// StandardsSubscriptionArn is a required field
22913	StandardsSubscriptionArn *string `type:"string" required:"true"`
22914}
22915
22916// String returns the string representation
22917func (s StandardsSubscription) String() string {
22918	return awsutil.Prettify(s)
22919}
22920
22921// GoString returns the string representation
22922func (s StandardsSubscription) GoString() string {
22923	return s.String()
22924}
22925
22926// SetStandardsArn sets the StandardsArn field's value.
22927func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
22928	s.StandardsArn = &v
22929	return s
22930}
22931
22932// SetStandardsInput sets the StandardsInput field's value.
22933func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
22934	s.StandardsInput = v
22935	return s
22936}
22937
22938// SetStandardsStatus sets the StandardsStatus field's value.
22939func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
22940	s.StandardsStatus = &v
22941	return s
22942}
22943
22944// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
22945func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
22946	s.StandardsSubscriptionArn = &v
22947	return s
22948}
22949
22950// The standard that you want to enable.
22951type StandardsSubscriptionRequest struct {
22952	_ struct{} `type:"structure"`
22953
22954	// The ARN of the standard that you want to enable. To view the list of available
22955	// standards and their ARNs, use the DescribeStandards operation.
22956	//
22957	// StandardsArn is a required field
22958	StandardsArn *string `type:"string" required:"true"`
22959
22960	// A key-value pair of input for the standard.
22961	StandardsInput map[string]*string `type:"map"`
22962}
22963
22964// String returns the string representation
22965func (s StandardsSubscriptionRequest) String() string {
22966	return awsutil.Prettify(s)
22967}
22968
22969// GoString returns the string representation
22970func (s StandardsSubscriptionRequest) GoString() string {
22971	return s.String()
22972}
22973
22974// Validate inspects the fields of the type to determine if they are valid.
22975func (s *StandardsSubscriptionRequest) Validate() error {
22976	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
22977	if s.StandardsArn == nil {
22978		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
22979	}
22980
22981	if invalidParams.Len() > 0 {
22982		return invalidParams
22983	}
22984	return nil
22985}
22986
22987// SetStandardsArn sets the StandardsArn field's value.
22988func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
22989	s.StandardsArn = &v
22990	return s
22991}
22992
22993// SetStandardsInput sets the StandardsInput field's value.
22994func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
22995	s.StandardsInput = v
22996	return s
22997}
22998
22999// Provides additional context for the value of Compliance.Status.
23000type StatusReason struct {
23001	_ struct{} `type:"structure"`
23002
23003	// The corresponding description for the status reason code.
23004	Description *string `type:"string"`
23005
23006	// A code that represents a reason for the control status. For the list of status
23007	// reason codes and their meanings, see Standards-related information in the
23008	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
23009	// in the AWS Security Hub User Guide.
23010	//
23011	// ReasonCode is a required field
23012	ReasonCode *string `type:"string" required:"true"`
23013}
23014
23015// String returns the string representation
23016func (s StatusReason) String() string {
23017	return awsutil.Prettify(s)
23018}
23019
23020// GoString returns the string representation
23021func (s StatusReason) GoString() string {
23022	return s.String()
23023}
23024
23025// Validate inspects the fields of the type to determine if they are valid.
23026func (s *StatusReason) Validate() error {
23027	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
23028	if s.ReasonCode == nil {
23029		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
23030	}
23031
23032	if invalidParams.Len() > 0 {
23033		return invalidParams
23034	}
23035	return nil
23036}
23037
23038// SetDescription sets the Description field's value.
23039func (s *StatusReason) SetDescription(v string) *StatusReason {
23040	s.Description = &v
23041	return s
23042}
23043
23044// SetReasonCode sets the ReasonCode field's value.
23045func (s *StatusReason) SetReasonCode(v string) *StatusReason {
23046	s.ReasonCode = &v
23047	return s
23048}
23049
23050// A string filter for querying findings.
23051type StringFilter struct {
23052	_ struct{} `type:"structure"`
23053
23054	// The condition to apply to a string value when querying for findings. To search
23055	// for values that contain the filter criteria value, use one of the following
23056	// comparison operators:
23057	//
23058	//    * To search for values that exactly match the filter value, use EQUALS.
23059	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
23060	//    findings that have a resource type of AwsEc2SecurityGroup.
23061	//
23062	//    * To search for values that start with the filter value, use PREFIX. For
23063	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
23064	//    a resource type that starts with AwsIam. Findings with a resource type
23065	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
23066	//
23067	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
23068	// if it matches any one of those filters.
23069	//
23070	// To search for values that do not contain the filter criteria value, use one
23071	// of the following comparison operators:
23072	//
23073	//    * To search for values that do not exactly match the filter value, use
23074	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
23075	//    matches findings that have a resource type other than AwsIamPolicy.
23076	//
23077	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
23078	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
23079	//    findings that have a resource type that does not start with AwsIam. Findings
23080	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
23081	//    all be excluded from the results.
23082	//
23083	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
23084	// AND. A finding matches only if it matches all of those filters.
23085	//
23086	// For filters on the same field, you cannot provide both an EQUALS filter and
23087	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
23088	// returns an error, even if the provided filter values would return valid results.
23089	//
23090	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
23091	// for the same field. Security Hub first processes the PREFIX filters, then
23092	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
23093	//
23094	// For example, for the following filter, Security Hub first identifies findings
23095	// that have resource types that start with either AwsIAM or AwsEc2. It then
23096	// excludes findings that have a resource type of AwsIamPolicy and findings
23097	// that have a resource type of AwsEc2NetworkInterface.
23098	//
23099	//    * ResourceType PREFIX AwsIam
23100	//
23101	//    * ResourceType PREFIX AwsEc2
23102	//
23103	//    * ResourceType NOT_EQUALS AwsIamPolicy
23104	//
23105	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
23106	Comparison *string `type:"string" enum:"StringFilterComparison"`
23107
23108	// The string filter value. Filter values are case sensitive. For example, the
23109	// product name for control-based findings is Security Hub. If you provide security
23110	// hub as the filter text, then there is no match.
23111	Value *string `type:"string"`
23112}
23113
23114// String returns the string representation
23115func (s StringFilter) String() string {
23116	return awsutil.Prettify(s)
23117}
23118
23119// GoString returns the string representation
23120func (s StringFilter) GoString() string {
23121	return s.String()
23122}
23123
23124// SetComparison sets the Comparison field's value.
23125func (s *StringFilter) SetComparison(v string) *StringFilter {
23126	s.Comparison = &v
23127	return s
23128}
23129
23130// SetValue sets the Value field's value.
23131func (s *StringFilter) SetValue(v string) *StringFilter {
23132	s.Value = &v
23133	return s
23134}
23135
23136type TagResourceInput struct {
23137	_ struct{} `type:"structure"`
23138
23139	// The ARN of the resource to apply the tags to.
23140	//
23141	// ResourceArn is a required field
23142	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
23143
23144	// The tags to add to the resource.
23145	//
23146	// Tags is a required field
23147	Tags map[string]*string `min:"1" type:"map" required:"true"`
23148}
23149
23150// String returns the string representation
23151func (s TagResourceInput) String() string {
23152	return awsutil.Prettify(s)
23153}
23154
23155// GoString returns the string representation
23156func (s TagResourceInput) GoString() string {
23157	return s.String()
23158}
23159
23160// Validate inspects the fields of the type to determine if they are valid.
23161func (s *TagResourceInput) Validate() error {
23162	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
23163	if s.ResourceArn == nil {
23164		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
23165	}
23166	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
23167		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
23168	}
23169	if s.Tags == nil {
23170		invalidParams.Add(request.NewErrParamRequired("Tags"))
23171	}
23172	if s.Tags != nil && len(s.Tags) < 1 {
23173		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
23174	}
23175
23176	if invalidParams.Len() > 0 {
23177		return invalidParams
23178	}
23179	return nil
23180}
23181
23182// SetResourceArn sets the ResourceArn field's value.
23183func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
23184	s.ResourceArn = &v
23185	return s
23186}
23187
23188// SetTags sets the Tags field's value.
23189func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
23190	s.Tags = v
23191	return s
23192}
23193
23194type TagResourceOutput struct {
23195	_ struct{} `type:"structure"`
23196}
23197
23198// String returns the string representation
23199func (s TagResourceOutput) String() string {
23200	return awsutil.Prettify(s)
23201}
23202
23203// GoString returns the string representation
23204func (s TagResourceOutput) GoString() string {
23205	return s.String()
23206}
23207
23208// Details about the threat intelligence related to a finding.
23209type ThreatIntelIndicator struct {
23210	_ struct{} `type:"structure"`
23211
23212	// The category of a threat intelligence indicator.
23213	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
23214
23215	// Indicates when the most recent instance of a threat intelligence indicator
23216	// was observed.
23217	//
23218	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23219	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23220	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23221	LastObservedAt *string `type:"string"`
23222
23223	// The source of the threat intelligence indicator.
23224	Source *string `type:"string"`
23225
23226	// The URL to the page or site where you can get more information about the
23227	// threat intelligence indicator.
23228	SourceUrl *string `type:"string"`
23229
23230	// The type of threat intelligence indicator.
23231	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
23232
23233	// The value of a threat intelligence indicator.
23234	Value *string `type:"string"`
23235}
23236
23237// String returns the string representation
23238func (s ThreatIntelIndicator) String() string {
23239	return awsutil.Prettify(s)
23240}
23241
23242// GoString returns the string representation
23243func (s ThreatIntelIndicator) GoString() string {
23244	return s.String()
23245}
23246
23247// SetCategory sets the Category field's value.
23248func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
23249	s.Category = &v
23250	return s
23251}
23252
23253// SetLastObservedAt sets the LastObservedAt field's value.
23254func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
23255	s.LastObservedAt = &v
23256	return s
23257}
23258
23259// SetSource sets the Source field's value.
23260func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
23261	s.Source = &v
23262	return s
23263}
23264
23265// SetSourceUrl sets the SourceUrl field's value.
23266func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
23267	s.SourceUrl = &v
23268	return s
23269}
23270
23271// SetType sets the Type field's value.
23272func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
23273	s.Type = &v
23274	return s
23275}
23276
23277// SetValue sets the Value field's value.
23278func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
23279	s.Value = &v
23280	return s
23281}
23282
23283type UntagResourceInput struct {
23284	_ struct{} `type:"structure"`
23285
23286	// The ARN of the resource to remove the tags from.
23287	//
23288	// ResourceArn is a required field
23289	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
23290
23291	// The tag keys associated with the tags to remove from the resource.
23292	//
23293	// TagKeys is a required field
23294	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
23295}
23296
23297// String returns the string representation
23298func (s UntagResourceInput) String() string {
23299	return awsutil.Prettify(s)
23300}
23301
23302// GoString returns the string representation
23303func (s UntagResourceInput) GoString() string {
23304	return s.String()
23305}
23306
23307// Validate inspects the fields of the type to determine if they are valid.
23308func (s *UntagResourceInput) Validate() error {
23309	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
23310	if s.ResourceArn == nil {
23311		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
23312	}
23313	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
23314		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
23315	}
23316	if s.TagKeys == nil {
23317		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
23318	}
23319	if s.TagKeys != nil && len(s.TagKeys) < 1 {
23320		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
23321	}
23322
23323	if invalidParams.Len() > 0 {
23324		return invalidParams
23325	}
23326	return nil
23327}
23328
23329// SetResourceArn sets the ResourceArn field's value.
23330func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
23331	s.ResourceArn = &v
23332	return s
23333}
23334
23335// SetTagKeys sets the TagKeys field's value.
23336func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
23337	s.TagKeys = v
23338	return s
23339}
23340
23341type UntagResourceOutput struct {
23342	_ struct{} `type:"structure"`
23343}
23344
23345// String returns the string representation
23346func (s UntagResourceOutput) String() string {
23347	return awsutil.Prettify(s)
23348}
23349
23350// GoString returns the string representation
23351func (s UntagResourceOutput) GoString() string {
23352	return s.String()
23353}
23354
23355type UpdateActionTargetInput struct {
23356	_ struct{} `type:"structure"`
23357
23358	// The ARN of the custom action target to update.
23359	//
23360	// ActionTargetArn is a required field
23361	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
23362
23363	// The updated description for the custom action target.
23364	Description *string `type:"string"`
23365
23366	// The updated name of the custom action target.
23367	Name *string `type:"string"`
23368}
23369
23370// String returns the string representation
23371func (s UpdateActionTargetInput) String() string {
23372	return awsutil.Prettify(s)
23373}
23374
23375// GoString returns the string representation
23376func (s UpdateActionTargetInput) GoString() string {
23377	return s.String()
23378}
23379
23380// Validate inspects the fields of the type to determine if they are valid.
23381func (s *UpdateActionTargetInput) Validate() error {
23382	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
23383	if s.ActionTargetArn == nil {
23384		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
23385	}
23386	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
23387		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
23388	}
23389
23390	if invalidParams.Len() > 0 {
23391		return invalidParams
23392	}
23393	return nil
23394}
23395
23396// SetActionTargetArn sets the ActionTargetArn field's value.
23397func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
23398	s.ActionTargetArn = &v
23399	return s
23400}
23401
23402// SetDescription sets the Description field's value.
23403func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
23404	s.Description = &v
23405	return s
23406}
23407
23408// SetName sets the Name field's value.
23409func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
23410	s.Name = &v
23411	return s
23412}
23413
23414type UpdateActionTargetOutput struct {
23415	_ struct{} `type:"structure"`
23416}
23417
23418// String returns the string representation
23419func (s UpdateActionTargetOutput) String() string {
23420	return awsutil.Prettify(s)
23421}
23422
23423// GoString returns the string representation
23424func (s UpdateActionTargetOutput) GoString() string {
23425	return s.String()
23426}
23427
23428type UpdateFindingsInput struct {
23429	_ struct{} `type:"structure"`
23430
23431	// A collection of attributes that specify which findings you want to update.
23432	//
23433	// Filters is a required field
23434	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
23435
23436	// The updated note for the finding.
23437	Note *NoteUpdate `type:"structure"`
23438
23439	// The updated record state for the finding.
23440	RecordState *string `type:"string" enum:"RecordState"`
23441}
23442
23443// String returns the string representation
23444func (s UpdateFindingsInput) String() string {
23445	return awsutil.Prettify(s)
23446}
23447
23448// GoString returns the string representation
23449func (s UpdateFindingsInput) GoString() string {
23450	return s.String()
23451}
23452
23453// Validate inspects the fields of the type to determine if they are valid.
23454func (s *UpdateFindingsInput) Validate() error {
23455	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
23456	if s.Filters == nil {
23457		invalidParams.Add(request.NewErrParamRequired("Filters"))
23458	}
23459	if s.Note != nil {
23460		if err := s.Note.Validate(); err != nil {
23461			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
23462		}
23463	}
23464
23465	if invalidParams.Len() > 0 {
23466		return invalidParams
23467	}
23468	return nil
23469}
23470
23471// SetFilters sets the Filters field's value.
23472func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
23473	s.Filters = v
23474	return s
23475}
23476
23477// SetNote sets the Note field's value.
23478func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
23479	s.Note = v
23480	return s
23481}
23482
23483// SetRecordState sets the RecordState field's value.
23484func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
23485	s.RecordState = &v
23486	return s
23487}
23488
23489type UpdateFindingsOutput struct {
23490	_ struct{} `type:"structure"`
23491}
23492
23493// String returns the string representation
23494func (s UpdateFindingsOutput) String() string {
23495	return awsutil.Prettify(s)
23496}
23497
23498// GoString returns the string representation
23499func (s UpdateFindingsOutput) GoString() string {
23500	return s.String()
23501}
23502
23503type UpdateInsightInput struct {
23504	_ struct{} `type:"structure"`
23505
23506	// The updated filters that define this insight.
23507	Filters *AwsSecurityFindingFilters `type:"structure"`
23508
23509	// The updated GroupBy attribute that defines this insight.
23510	GroupByAttribute *string `type:"string"`
23511
23512	// The ARN of the insight that you want to update.
23513	//
23514	// InsightArn is a required field
23515	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
23516
23517	// The updated name for the insight.
23518	Name *string `type:"string"`
23519}
23520
23521// String returns the string representation
23522func (s UpdateInsightInput) String() string {
23523	return awsutil.Prettify(s)
23524}
23525
23526// GoString returns the string representation
23527func (s UpdateInsightInput) GoString() string {
23528	return s.String()
23529}
23530
23531// Validate inspects the fields of the type to determine if they are valid.
23532func (s *UpdateInsightInput) Validate() error {
23533	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
23534	if s.InsightArn == nil {
23535		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
23536	}
23537	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
23538		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
23539	}
23540
23541	if invalidParams.Len() > 0 {
23542		return invalidParams
23543	}
23544	return nil
23545}
23546
23547// SetFilters sets the Filters field's value.
23548func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
23549	s.Filters = v
23550	return s
23551}
23552
23553// SetGroupByAttribute sets the GroupByAttribute field's value.
23554func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
23555	s.GroupByAttribute = &v
23556	return s
23557}
23558
23559// SetInsightArn sets the InsightArn field's value.
23560func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
23561	s.InsightArn = &v
23562	return s
23563}
23564
23565// SetName sets the Name field's value.
23566func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
23567	s.Name = &v
23568	return s
23569}
23570
23571type UpdateInsightOutput struct {
23572	_ struct{} `type:"structure"`
23573}
23574
23575// String returns the string representation
23576func (s UpdateInsightOutput) String() string {
23577	return awsutil.Prettify(s)
23578}
23579
23580// GoString returns the string representation
23581func (s UpdateInsightOutput) GoString() string {
23582	return s.String()
23583}
23584
23585type UpdateSecurityHubConfigurationInput struct {
23586	_ struct{} `type:"structure"`
23587
23588	// Whether to automatically enable new controls when they are added to standards
23589	// that are enabled.
23590	//
23591	// By default, this is set to true, and new controls are enabled automatically.
23592	// To not automatically enable new controls, set this to false.
23593	AutoEnableControls *bool `type:"boolean"`
23594}
23595
23596// String returns the string representation
23597func (s UpdateSecurityHubConfigurationInput) String() string {
23598	return awsutil.Prettify(s)
23599}
23600
23601// GoString returns the string representation
23602func (s UpdateSecurityHubConfigurationInput) GoString() string {
23603	return s.String()
23604}
23605
23606// SetAutoEnableControls sets the AutoEnableControls field's value.
23607func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
23608	s.AutoEnableControls = &v
23609	return s
23610}
23611
23612type UpdateSecurityHubConfigurationOutput struct {
23613	_ struct{} `type:"structure"`
23614}
23615
23616// String returns the string representation
23617func (s UpdateSecurityHubConfigurationOutput) String() string {
23618	return awsutil.Prettify(s)
23619}
23620
23621// GoString returns the string representation
23622func (s UpdateSecurityHubConfigurationOutput) GoString() string {
23623	return s.String()
23624}
23625
23626type UpdateStandardsControlInput struct {
23627	_ struct{} `type:"structure"`
23628
23629	// The updated status of the security standard control.
23630	ControlStatus *string `type:"string" enum:"ControlStatus"`
23631
23632	// A description of the reason why you are disabling a security standard control.
23633	// If you are disabling a control, then this is required.
23634	DisabledReason *string `type:"string"`
23635
23636	// The ARN of the security standard control to enable or disable.
23637	//
23638	// StandardsControlArn is a required field
23639	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
23640}
23641
23642// String returns the string representation
23643func (s UpdateStandardsControlInput) String() string {
23644	return awsutil.Prettify(s)
23645}
23646
23647// GoString returns the string representation
23648func (s UpdateStandardsControlInput) GoString() string {
23649	return s.String()
23650}
23651
23652// Validate inspects the fields of the type to determine if they are valid.
23653func (s *UpdateStandardsControlInput) Validate() error {
23654	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
23655	if s.StandardsControlArn == nil {
23656		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
23657	}
23658	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
23659		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
23660	}
23661
23662	if invalidParams.Len() > 0 {
23663		return invalidParams
23664	}
23665	return nil
23666}
23667
23668// SetControlStatus sets the ControlStatus field's value.
23669func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
23670	s.ControlStatus = &v
23671	return s
23672}
23673
23674// SetDisabledReason sets the DisabledReason field's value.
23675func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
23676	s.DisabledReason = &v
23677	return s
23678}
23679
23680// SetStandardsControlArn sets the StandardsControlArn field's value.
23681func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
23682	s.StandardsControlArn = &v
23683	return s
23684}
23685
23686type UpdateStandardsControlOutput struct {
23687	_ struct{} `type:"structure"`
23688}
23689
23690// String returns the string representation
23691func (s UpdateStandardsControlOutput) String() string {
23692	return awsutil.Prettify(s)
23693}
23694
23695// GoString returns the string representation
23696func (s UpdateStandardsControlOutput) GoString() string {
23697	return s.String()
23698}
23699
23700// A vulnerability associated with a finding.
23701type Vulnerability struct {
23702	_ struct{} `type:"structure"`
23703
23704	// CVSS scores from the advisory related to the vulnerability.
23705	Cvss []*Cvss `type:"list"`
23706
23707	// The identifier of the vulnerability.
23708	//
23709	// Id is a required field
23710	Id *string `type:"string" required:"true"`
23711
23712	// A list of URLs that provide additional information about the vulnerability.
23713	ReferenceUrls []*string `type:"list"`
23714
23715	// List of vulnerabilities that are related to this vulnerability.
23716	RelatedVulnerabilities []*string `type:"list"`
23717
23718	// Information about the vendor that generates the vulnerability report.
23719	Vendor *VulnerabilityVendor `type:"structure"`
23720
23721	// List of software packages that have the vulnerability.
23722	VulnerablePackages []*SoftwarePackage `type:"list"`
23723}
23724
23725// String returns the string representation
23726func (s Vulnerability) String() string {
23727	return awsutil.Prettify(s)
23728}
23729
23730// GoString returns the string representation
23731func (s Vulnerability) GoString() string {
23732	return s.String()
23733}
23734
23735// Validate inspects the fields of the type to determine if they are valid.
23736func (s *Vulnerability) Validate() error {
23737	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
23738	if s.Id == nil {
23739		invalidParams.Add(request.NewErrParamRequired("Id"))
23740	}
23741	if s.Vendor != nil {
23742		if err := s.Vendor.Validate(); err != nil {
23743			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
23744		}
23745	}
23746
23747	if invalidParams.Len() > 0 {
23748		return invalidParams
23749	}
23750	return nil
23751}
23752
23753// SetCvss sets the Cvss field's value.
23754func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
23755	s.Cvss = v
23756	return s
23757}
23758
23759// SetId sets the Id field's value.
23760func (s *Vulnerability) SetId(v string) *Vulnerability {
23761	s.Id = &v
23762	return s
23763}
23764
23765// SetReferenceUrls sets the ReferenceUrls field's value.
23766func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
23767	s.ReferenceUrls = v
23768	return s
23769}
23770
23771// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
23772func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
23773	s.RelatedVulnerabilities = v
23774	return s
23775}
23776
23777// SetVendor sets the Vendor field's value.
23778func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
23779	s.Vendor = v
23780	return s
23781}
23782
23783// SetVulnerablePackages sets the VulnerablePackages field's value.
23784func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
23785	s.VulnerablePackages = v
23786	return s
23787}
23788
23789// A vendor that generates a vulnerability report.
23790type VulnerabilityVendor struct {
23791	_ struct{} `type:"structure"`
23792
23793	// The name of the vendor.
23794	//
23795	// Name is a required field
23796	Name *string `type:"string" required:"true"`
23797
23798	// The URL of the vulnerability advisory.
23799	Url *string `type:"string"`
23800
23801	// Indicates when the vulnerability advisory was created.
23802	//
23803	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23804	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23805	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23806	VendorCreatedAt *string `type:"string"`
23807
23808	// The severity that the vendor assigned to the vulnerability.
23809	VendorSeverity *string `type:"string"`
23810
23811	// Indicates when the vulnerability advisory was last updated.
23812	//
23813	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23814	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23815	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23816	VendorUpdatedAt *string `type:"string"`
23817}
23818
23819// String returns the string representation
23820func (s VulnerabilityVendor) String() string {
23821	return awsutil.Prettify(s)
23822}
23823
23824// GoString returns the string representation
23825func (s VulnerabilityVendor) GoString() string {
23826	return s.String()
23827}
23828
23829// Validate inspects the fields of the type to determine if they are valid.
23830func (s *VulnerabilityVendor) Validate() error {
23831	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
23832	if s.Name == nil {
23833		invalidParams.Add(request.NewErrParamRequired("Name"))
23834	}
23835
23836	if invalidParams.Len() > 0 {
23837		return invalidParams
23838	}
23839	return nil
23840}
23841
23842// SetName sets the Name field's value.
23843func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
23844	s.Name = &v
23845	return s
23846}
23847
23848// SetUrl sets the Url field's value.
23849func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
23850	s.Url = &v
23851	return s
23852}
23853
23854// SetVendorCreatedAt sets the VendorCreatedAt field's value.
23855func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
23856	s.VendorCreatedAt = &v
23857	return s
23858}
23859
23860// SetVendorSeverity sets the VendorSeverity field's value.
23861func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
23862	s.VendorSeverity = &v
23863	return s
23864}
23865
23866// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
23867func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
23868	s.VendorUpdatedAt = &v
23869	return s
23870}
23871
23872// Details about the action that CloudFront or AWS WAF takes when a web request
23873// matches the conditions in the rule.
23874type WafAction struct {
23875	_ struct{} `type:"structure"`
23876
23877	// Specifies how you want AWS WAF to respond to requests that match the settings
23878	// in a rule.
23879	//
23880	// Valid settings include the following:
23881	//
23882	//    * ALLOW - AWS WAF allows requests
23883	//
23884	//    * BLOCK - AWS WAF blocks requests
23885	//
23886	//    * COUNT - AWS WAF increments a counter of the requests that match all
23887	//    of the conditions in the rule. AWS WAF then continues to inspect the web
23888	//    request based on the remaining rules in the web ACL. You can't specify
23889	//    COUNT for the default action for a WebACL.
23890	Type *string `type:"string"`
23891}
23892
23893// String returns the string representation
23894func (s WafAction) String() string {
23895	return awsutil.Prettify(s)
23896}
23897
23898// GoString returns the string representation
23899func (s WafAction) GoString() string {
23900	return s.String()
23901}
23902
23903// SetType sets the Type field's value.
23904func (s *WafAction) SetType(v string) *WafAction {
23905	s.Type = &v
23906	return s
23907}
23908
23909// Details about a rule to exclude from a rule group.
23910type WafExcludedRule struct {
23911	_ struct{} `type:"structure"`
23912
23913	// The unique identifier for the rule to exclude from the rule group.
23914	RuleId *string `type:"string"`
23915}
23916
23917// String returns the string representation
23918func (s WafExcludedRule) String() string {
23919	return awsutil.Prettify(s)
23920}
23921
23922// GoString returns the string representation
23923func (s WafExcludedRule) GoString() string {
23924	return s.String()
23925}
23926
23927// SetRuleId sets the RuleId field's value.
23928func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
23929	s.RuleId = &v
23930	return s
23931}
23932
23933// Details about an override action for a rule.
23934type WafOverrideAction struct {
23935	_ struct{} `type:"structure"`
23936
23937	// COUNT overrides the action specified by the individual rule within a RuleGroup .
23938	//
23939	// If set to NONE, the rule's action takes place.
23940	Type *string `type:"string"`
23941}
23942
23943// String returns the string representation
23944func (s WafOverrideAction) String() string {
23945	return awsutil.Prettify(s)
23946}
23947
23948// GoString returns the string representation
23949func (s WafOverrideAction) GoString() string {
23950	return s.String()
23951}
23952
23953// SetType sets the Type field's value.
23954func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
23955	s.Type = &v
23956	return s
23957}
23958
23959// Provides information about the status of the investigation into a finding.
23960type Workflow struct {
23961	_ struct{} `type:"structure"`
23962
23963	// The status of the investigation into the finding. The allowed values are
23964	// the following.
23965	//
23966	//    * NEW - The initial state of a finding, before it is reviewed.
23967	//
23968	//    * NOTIFIED - Indicates that you notified the resource owner about the
23969	//    security issue. Used when the initial reviewer is not the resource owner,
23970	//    and needs intervention from the resource owner.
23971	//
23972	//    * SUPPRESSED - The finding will not be reviewed again and will not be
23973	//    acted upon.
23974	//
23975	//    * RESOLVED - The finding was reviewed and remediated and is now considered
23976	//    resolved.
23977	Status *string `type:"string" enum:"WorkflowStatus"`
23978}
23979
23980// String returns the string representation
23981func (s Workflow) String() string {
23982	return awsutil.Prettify(s)
23983}
23984
23985// GoString returns the string representation
23986func (s Workflow) GoString() string {
23987	return s.String()
23988}
23989
23990// SetStatus sets the Status field's value.
23991func (s *Workflow) SetStatus(v string) *Workflow {
23992	s.Status = &v
23993	return s
23994}
23995
23996// Used to update information about the investigation into the finding.
23997type WorkflowUpdate struct {
23998	_ struct{} `type:"structure"`
23999
24000	// The status of the investigation into the finding. The allowed values are
24001	// the following.
24002	//
24003	//    * NEW - The initial state of a finding, before it is reviewed.
24004	//
24005	//    * NOTIFIED - Indicates that you notified the resource owner about the
24006	//    security issue. Used when the initial reviewer is not the resource owner,
24007	//    and needs intervention from the resource owner.
24008	//
24009	//    * RESOLVED - The finding was reviewed and remediated and is now considered
24010	//    resolved.
24011	//
24012	//    * SUPPRESSED - The finding will not be reviewed again and will not be
24013	//    acted upon.
24014	Status *string `type:"string" enum:"WorkflowStatus"`
24015}
24016
24017// String returns the string representation
24018func (s WorkflowUpdate) String() string {
24019	return awsutil.Prettify(s)
24020}
24021
24022// GoString returns the string representation
24023func (s WorkflowUpdate) GoString() string {
24024	return s.String()
24025}
24026
24027// SetStatus sets the Status field's value.
24028func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
24029	s.Status = &v
24030	return s
24031}
24032
24033const (
24034	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
24035	AwsIamAccessKeyStatusActive = "Active"
24036
24037	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
24038	AwsIamAccessKeyStatusInactive = "Inactive"
24039)
24040
24041// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
24042func AwsIamAccessKeyStatus_Values() []string {
24043	return []string{
24044		AwsIamAccessKeyStatusActive,
24045		AwsIamAccessKeyStatusInactive,
24046	}
24047}
24048
24049const (
24050	// ComplianceStatusPassed is a ComplianceStatus enum value
24051	ComplianceStatusPassed = "PASSED"
24052
24053	// ComplianceStatusWarning is a ComplianceStatus enum value
24054	ComplianceStatusWarning = "WARNING"
24055
24056	// ComplianceStatusFailed is a ComplianceStatus enum value
24057	ComplianceStatusFailed = "FAILED"
24058
24059	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
24060	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
24061)
24062
24063// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
24064func ComplianceStatus_Values() []string {
24065	return []string{
24066		ComplianceStatusPassed,
24067		ComplianceStatusWarning,
24068		ComplianceStatusFailed,
24069		ComplianceStatusNotAvailable,
24070	}
24071}
24072
24073const (
24074	// ControlStatusEnabled is a ControlStatus enum value
24075	ControlStatusEnabled = "ENABLED"
24076
24077	// ControlStatusDisabled is a ControlStatus enum value
24078	ControlStatusDisabled = "DISABLED"
24079)
24080
24081// ControlStatus_Values returns all elements of the ControlStatus enum
24082func ControlStatus_Values() []string {
24083	return []string{
24084		ControlStatusEnabled,
24085		ControlStatusDisabled,
24086	}
24087}
24088
24089const (
24090	// DateRangeUnitDays is a DateRangeUnit enum value
24091	DateRangeUnitDays = "DAYS"
24092)
24093
24094// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
24095func DateRangeUnit_Values() []string {
24096	return []string{
24097		DateRangeUnitDays,
24098	}
24099}
24100
24101const (
24102	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
24103	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
24104
24105	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
24106	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
24107)
24108
24109// IntegrationType_Values returns all elements of the IntegrationType enum
24110func IntegrationType_Values() []string {
24111	return []string{
24112		IntegrationTypeSendFindingsToSecurityHub,
24113		IntegrationTypeReceiveFindingsFromSecurityHub,
24114	}
24115}
24116
24117const (
24118	// MalwareStateObserved is a MalwareState enum value
24119	MalwareStateObserved = "OBSERVED"
24120
24121	// MalwareStateRemovalFailed is a MalwareState enum value
24122	MalwareStateRemovalFailed = "REMOVAL_FAILED"
24123
24124	// MalwareStateRemoved is a MalwareState enum value
24125	MalwareStateRemoved = "REMOVED"
24126)
24127
24128// MalwareState_Values returns all elements of the MalwareState enum
24129func MalwareState_Values() []string {
24130	return []string{
24131		MalwareStateObserved,
24132		MalwareStateRemovalFailed,
24133		MalwareStateRemoved,
24134	}
24135}
24136
24137const (
24138	// MalwareTypeAdware is a MalwareType enum value
24139	MalwareTypeAdware = "ADWARE"
24140
24141	// MalwareTypeBlendedThreat is a MalwareType enum value
24142	MalwareTypeBlendedThreat = "BLENDED_THREAT"
24143
24144	// MalwareTypeBotnetAgent is a MalwareType enum value
24145	MalwareTypeBotnetAgent = "BOTNET_AGENT"
24146
24147	// MalwareTypeCoinMiner is a MalwareType enum value
24148	MalwareTypeCoinMiner = "COIN_MINER"
24149
24150	// MalwareTypeExploitKit is a MalwareType enum value
24151	MalwareTypeExploitKit = "EXPLOIT_KIT"
24152
24153	// MalwareTypeKeylogger is a MalwareType enum value
24154	MalwareTypeKeylogger = "KEYLOGGER"
24155
24156	// MalwareTypeMacro is a MalwareType enum value
24157	MalwareTypeMacro = "MACRO"
24158
24159	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
24160	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
24161
24162	// MalwareTypeSpyware is a MalwareType enum value
24163	MalwareTypeSpyware = "SPYWARE"
24164
24165	// MalwareTypeRansomware is a MalwareType enum value
24166	MalwareTypeRansomware = "RANSOMWARE"
24167
24168	// MalwareTypeRemoteAccess is a MalwareType enum value
24169	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
24170
24171	// MalwareTypeRootkit is a MalwareType enum value
24172	MalwareTypeRootkit = "ROOTKIT"
24173
24174	// MalwareTypeTrojan is a MalwareType enum value
24175	MalwareTypeTrojan = "TROJAN"
24176
24177	// MalwareTypeVirus is a MalwareType enum value
24178	MalwareTypeVirus = "VIRUS"
24179
24180	// MalwareTypeWorm is a MalwareType enum value
24181	MalwareTypeWorm = "WORM"
24182)
24183
24184// MalwareType_Values returns all elements of the MalwareType enum
24185func MalwareType_Values() []string {
24186	return []string{
24187		MalwareTypeAdware,
24188		MalwareTypeBlendedThreat,
24189		MalwareTypeBotnetAgent,
24190		MalwareTypeCoinMiner,
24191		MalwareTypeExploitKit,
24192		MalwareTypeKeylogger,
24193		MalwareTypeMacro,
24194		MalwareTypePotentiallyUnwanted,
24195		MalwareTypeSpyware,
24196		MalwareTypeRansomware,
24197		MalwareTypeRemoteAccess,
24198		MalwareTypeRootkit,
24199		MalwareTypeTrojan,
24200		MalwareTypeVirus,
24201		MalwareTypeWorm,
24202	}
24203}
24204
24205const (
24206	// MapFilterComparisonEquals is a MapFilterComparison enum value
24207	MapFilterComparisonEquals = "EQUALS"
24208
24209	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
24210	MapFilterComparisonNotEquals = "NOT_EQUALS"
24211)
24212
24213// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
24214func MapFilterComparison_Values() []string {
24215	return []string{
24216		MapFilterComparisonEquals,
24217		MapFilterComparisonNotEquals,
24218	}
24219}
24220
24221const (
24222	// NetworkDirectionIn is a NetworkDirection enum value
24223	NetworkDirectionIn = "IN"
24224
24225	// NetworkDirectionOut is a NetworkDirection enum value
24226	NetworkDirectionOut = "OUT"
24227)
24228
24229// NetworkDirection_Values returns all elements of the NetworkDirection enum
24230func NetworkDirection_Values() []string {
24231	return []string{
24232		NetworkDirectionIn,
24233		NetworkDirectionOut,
24234	}
24235}
24236
24237const (
24238	// PartitionAws is a Partition enum value
24239	PartitionAws = "aws"
24240
24241	// PartitionAwsCn is a Partition enum value
24242	PartitionAwsCn = "aws-cn"
24243
24244	// PartitionAwsUsGov is a Partition enum value
24245	PartitionAwsUsGov = "aws-us-gov"
24246)
24247
24248// Partition_Values returns all elements of the Partition enum
24249func Partition_Values() []string {
24250	return []string{
24251		PartitionAws,
24252		PartitionAwsCn,
24253		PartitionAwsUsGov,
24254	}
24255}
24256
24257const (
24258	// RecordStateActive is a RecordState enum value
24259	RecordStateActive = "ACTIVE"
24260
24261	// RecordStateArchived is a RecordState enum value
24262	RecordStateArchived = "ARCHIVED"
24263)
24264
24265// RecordState_Values returns all elements of the RecordState enum
24266func RecordState_Values() []string {
24267	return []string{
24268		RecordStateActive,
24269		RecordStateArchived,
24270	}
24271}
24272
24273const (
24274	// SeverityLabelInformational is a SeverityLabel enum value
24275	SeverityLabelInformational = "INFORMATIONAL"
24276
24277	// SeverityLabelLow is a SeverityLabel enum value
24278	SeverityLabelLow = "LOW"
24279
24280	// SeverityLabelMedium is a SeverityLabel enum value
24281	SeverityLabelMedium = "MEDIUM"
24282
24283	// SeverityLabelHigh is a SeverityLabel enum value
24284	SeverityLabelHigh = "HIGH"
24285
24286	// SeverityLabelCritical is a SeverityLabel enum value
24287	SeverityLabelCritical = "CRITICAL"
24288)
24289
24290// SeverityLabel_Values returns all elements of the SeverityLabel enum
24291func SeverityLabel_Values() []string {
24292	return []string{
24293		SeverityLabelInformational,
24294		SeverityLabelLow,
24295		SeverityLabelMedium,
24296		SeverityLabelHigh,
24297		SeverityLabelCritical,
24298	}
24299}
24300
24301const (
24302	// SeverityRatingLow is a SeverityRating enum value
24303	SeverityRatingLow = "LOW"
24304
24305	// SeverityRatingMedium is a SeverityRating enum value
24306	SeverityRatingMedium = "MEDIUM"
24307
24308	// SeverityRatingHigh is a SeverityRating enum value
24309	SeverityRatingHigh = "HIGH"
24310
24311	// SeverityRatingCritical is a SeverityRating enum value
24312	SeverityRatingCritical = "CRITICAL"
24313)
24314
24315// SeverityRating_Values returns all elements of the SeverityRating enum
24316func SeverityRating_Values() []string {
24317	return []string{
24318		SeverityRatingLow,
24319		SeverityRatingMedium,
24320		SeverityRatingHigh,
24321		SeverityRatingCritical,
24322	}
24323}
24324
24325const (
24326	// SortOrderAsc is a SortOrder enum value
24327	SortOrderAsc = "asc"
24328
24329	// SortOrderDesc is a SortOrder enum value
24330	SortOrderDesc = "desc"
24331)
24332
24333// SortOrder_Values returns all elements of the SortOrder enum
24334func SortOrder_Values() []string {
24335	return []string{
24336		SortOrderAsc,
24337		SortOrderDesc,
24338	}
24339}
24340
24341const (
24342	// StandardsStatusPending is a StandardsStatus enum value
24343	StandardsStatusPending = "PENDING"
24344
24345	// StandardsStatusReady is a StandardsStatus enum value
24346	StandardsStatusReady = "READY"
24347
24348	// StandardsStatusFailed is a StandardsStatus enum value
24349	StandardsStatusFailed = "FAILED"
24350
24351	// StandardsStatusDeleting is a StandardsStatus enum value
24352	StandardsStatusDeleting = "DELETING"
24353
24354	// StandardsStatusIncomplete is a StandardsStatus enum value
24355	StandardsStatusIncomplete = "INCOMPLETE"
24356)
24357
24358// StandardsStatus_Values returns all elements of the StandardsStatus enum
24359func StandardsStatus_Values() []string {
24360	return []string{
24361		StandardsStatusPending,
24362		StandardsStatusReady,
24363		StandardsStatusFailed,
24364		StandardsStatusDeleting,
24365		StandardsStatusIncomplete,
24366	}
24367}
24368
24369const (
24370	// StringFilterComparisonEquals is a StringFilterComparison enum value
24371	StringFilterComparisonEquals = "EQUALS"
24372
24373	// StringFilterComparisonPrefix is a StringFilterComparison enum value
24374	StringFilterComparisonPrefix = "PREFIX"
24375
24376	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
24377	StringFilterComparisonNotEquals = "NOT_EQUALS"
24378
24379	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
24380	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
24381)
24382
24383// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
24384func StringFilterComparison_Values() []string {
24385	return []string{
24386		StringFilterComparisonEquals,
24387		StringFilterComparisonPrefix,
24388		StringFilterComparisonNotEquals,
24389		StringFilterComparisonPrefixNotEquals,
24390	}
24391}
24392
24393const (
24394	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
24395	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
24396
24397	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
24398	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
24399
24400	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
24401	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
24402
24403	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
24404	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
24405
24406	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
24407	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
24408
24409	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
24410	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
24411)
24412
24413// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
24414func ThreatIntelIndicatorCategory_Values() []string {
24415	return []string{
24416		ThreatIntelIndicatorCategoryBackdoor,
24417		ThreatIntelIndicatorCategoryCardStealer,
24418		ThreatIntelIndicatorCategoryCommandAndControl,
24419		ThreatIntelIndicatorCategoryDropSite,
24420		ThreatIntelIndicatorCategoryExploitSite,
24421		ThreatIntelIndicatorCategoryKeylogger,
24422	}
24423}
24424
24425const (
24426	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
24427	ThreatIntelIndicatorTypeDomain = "DOMAIN"
24428
24429	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
24430	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
24431
24432	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
24433	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
24434
24435	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
24436	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
24437
24438	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
24439	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
24440
24441	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
24442	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
24443
24444	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
24445	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
24446
24447	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
24448	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
24449
24450	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
24451	ThreatIntelIndicatorTypeMutex = "MUTEX"
24452
24453	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
24454	ThreatIntelIndicatorTypeProcess = "PROCESS"
24455
24456	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
24457	ThreatIntelIndicatorTypeUrl = "URL"
24458)
24459
24460// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
24461func ThreatIntelIndicatorType_Values() []string {
24462	return []string{
24463		ThreatIntelIndicatorTypeDomain,
24464		ThreatIntelIndicatorTypeEmailAddress,
24465		ThreatIntelIndicatorTypeHashMd5,
24466		ThreatIntelIndicatorTypeHashSha1,
24467		ThreatIntelIndicatorTypeHashSha256,
24468		ThreatIntelIndicatorTypeHashSha512,
24469		ThreatIntelIndicatorTypeIpv4Address,
24470		ThreatIntelIndicatorTypeIpv6Address,
24471		ThreatIntelIndicatorTypeMutex,
24472		ThreatIntelIndicatorTypeProcess,
24473		ThreatIntelIndicatorTypeUrl,
24474	}
24475}
24476
24477const (
24478	// VerificationStateUnknown is a VerificationState enum value
24479	VerificationStateUnknown = "UNKNOWN"
24480
24481	// VerificationStateTruePositive is a VerificationState enum value
24482	VerificationStateTruePositive = "TRUE_POSITIVE"
24483
24484	// VerificationStateFalsePositive is a VerificationState enum value
24485	VerificationStateFalsePositive = "FALSE_POSITIVE"
24486
24487	// VerificationStateBenignPositive is a VerificationState enum value
24488	VerificationStateBenignPositive = "BENIGN_POSITIVE"
24489)
24490
24491// VerificationState_Values returns all elements of the VerificationState enum
24492func VerificationState_Values() []string {
24493	return []string{
24494		VerificationStateUnknown,
24495		VerificationStateTruePositive,
24496		VerificationStateFalsePositive,
24497		VerificationStateBenignPositive,
24498	}
24499}
24500
24501const (
24502	// WorkflowStateNew is a WorkflowState enum value
24503	WorkflowStateNew = "NEW"
24504
24505	// WorkflowStateAssigned is a WorkflowState enum value
24506	WorkflowStateAssigned = "ASSIGNED"
24507
24508	// WorkflowStateInProgress is a WorkflowState enum value
24509	WorkflowStateInProgress = "IN_PROGRESS"
24510
24511	// WorkflowStateDeferred is a WorkflowState enum value
24512	WorkflowStateDeferred = "DEFERRED"
24513
24514	// WorkflowStateResolved is a WorkflowState enum value
24515	WorkflowStateResolved = "RESOLVED"
24516)
24517
24518// WorkflowState_Values returns all elements of the WorkflowState enum
24519func WorkflowState_Values() []string {
24520	return []string{
24521		WorkflowStateNew,
24522		WorkflowStateAssigned,
24523		WorkflowStateInProgress,
24524		WorkflowStateDeferred,
24525		WorkflowStateResolved,
24526	}
24527}
24528
24529const (
24530	// WorkflowStatusNew is a WorkflowStatus enum value
24531	WorkflowStatusNew = "NEW"
24532
24533	// WorkflowStatusNotified is a WorkflowStatus enum value
24534	WorkflowStatusNotified = "NOTIFIED"
24535
24536	// WorkflowStatusResolved is a WorkflowStatus enum value
24537	WorkflowStatusResolved = "RESOLVED"
24538
24539	// WorkflowStatusSuppressed is a WorkflowStatus enum value
24540	WorkflowStatusSuppressed = "SUPPRESSED"
24541)
24542
24543// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
24544func WorkflowStatus_Values() []string {
24545	return []string{
24546		WorkflowStatusNew,
24547		WorkflowStatusNotified,
24548		WorkflowStatusResolved,
24549		WorkflowStatusSuppressed,
24550	}
24551}
24552