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 opAcceptAdministratorInvitation = "AcceptAdministratorInvitation"
17
18// AcceptAdministratorInvitationRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptAdministratorInvitation 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 AcceptAdministratorInvitation for more information on using the AcceptAdministratorInvitation
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 AcceptAdministratorInvitationRequest method.
34//    req, resp := client.AcceptAdministratorInvitationRequest(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/AcceptAdministratorInvitation
42func (c *SecurityHub) AcceptAdministratorInvitationRequest(input *AcceptAdministratorInvitationInput) (req *request.Request, output *AcceptAdministratorInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptAdministratorInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/administrator",
47	}
48
49	if input == nil {
50		input = &AcceptAdministratorInvitationInput{}
51	}
52
53	output = &AcceptAdministratorInvitationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptAdministratorInvitation API operation for AWS SecurityHub.
60//
61// Accepts the invitation to be a member account and be monitored by the Security
62// Hub administrator account that the invitation was sent from.
63//
64// This operation is only used by member accounts that are not added through
65// Organizations.
66//
67// When the member account accepts the invitation, permission is granted to
68// the administrator account to view findings generated in the member account.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS SecurityHub's
75// API operation AcceptAdministratorInvitation for usage and error information.
76//
77// Returned Error Types:
78//   * InternalException
79//   Internal server error.
80//
81//   * InvalidInputException
82//   The request was rejected because you supplied an invalid or out-of-range
83//   value for an input parameter.
84//
85//   * LimitExceededException
86//   The request was rejected because it attempted to create resources beyond
87//   the current AWS account or throttling limits. The error code describes the
88//   limit exceeded.
89//
90//   * ResourceNotFoundException
91//   The request was rejected because we can't find the specified resource.
92//
93//   * InvalidAccessException
94//   There is an issue with the account used to make the request. Either Security
95//   Hub is not enabled for the account, or the account does not have permission
96//   to perform this action.
97//
98// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptAdministratorInvitation
99func (c *SecurityHub) AcceptAdministratorInvitation(input *AcceptAdministratorInvitationInput) (*AcceptAdministratorInvitationOutput, error) {
100	req, out := c.AcceptAdministratorInvitationRequest(input)
101	return out, req.Send()
102}
103
104// AcceptAdministratorInvitationWithContext is the same as AcceptAdministratorInvitation with the addition of
105// the ability to pass a context and additional request options.
106//
107// See AcceptAdministratorInvitation for details on how to use this API operation.
108//
109// The context must be non-nil and will be used for request cancellation. If
110// the context is nil a panic will occur. In the future the SDK may create
111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
112// for more information on using Contexts.
113func (c *SecurityHub) AcceptAdministratorInvitationWithContext(ctx aws.Context, input *AcceptAdministratorInvitationInput, opts ...request.Option) (*AcceptAdministratorInvitationOutput, error) {
114	req, out := c.AcceptAdministratorInvitationRequest(input)
115	req.SetContext(ctx)
116	req.ApplyOptions(opts...)
117	return out, req.Send()
118}
119
120const opAcceptInvitation = "AcceptInvitation"
121
122// AcceptInvitationRequest generates a "aws/request.Request" representing the
123// client's request for the AcceptInvitation operation. The "output" return
124// value will be populated with the request's response once the request completes
125// successfully.
126//
127// Use "Send" method on the returned Request to send the API call to the service.
128// the "output" return value is not valid until after Send returns without error.
129//
130// See AcceptInvitation for more information on using the AcceptInvitation
131// API call, and error handling.
132//
133// This method is useful when you want to inject custom logic or configuration
134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
135//
136//
137//    // Example sending a request using the AcceptInvitationRequest method.
138//    req, resp := client.AcceptInvitationRequest(params)
139//
140//    err := req.Send()
141//    if err == nil { // resp is now filled
142//        fmt.Println(resp)
143//    }
144//
145// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
146//
147// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
148func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
149	if c.Client.Config.Logger != nil {
150		c.Client.Config.Logger.Log("This operation, AcceptInvitation, has been deprecated")
151	}
152	op := &request.Operation{
153		Name:       opAcceptInvitation,
154		HTTPMethod: "POST",
155		HTTPPath:   "/master",
156	}
157
158	if input == nil {
159		input = &AcceptInvitationInput{}
160	}
161
162	output = &AcceptInvitationOutput{}
163	req = c.newRequest(op, input, output)
164	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
165	return
166}
167
168// AcceptInvitation API operation for AWS SecurityHub.
169//
170// This method is deprecated. Instead, use AcceptAdministratorInvitation.
171//
172// The Security Hub console continues to use AcceptInvitation. It will eventually
173// change to use AcceptAdministratorInvitation. Any IAM policies that specifically
174// control access to this function must continue to use AcceptInvitation. You
175// should also add AcceptAdministratorInvitation to your policies to ensure
176// that the correct permissions are in place after the console begins to use
177// AcceptAdministratorInvitation.
178//
179// Accepts the invitation to be a member account and be monitored by the Security
180// Hub administrator account that the invitation was sent from.
181//
182// This operation is only used by member accounts that are not added through
183// Organizations.
184//
185// When the member account accepts the invitation, permission is granted to
186// the administrator account to view findings generated in the member account.
187//
188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
189// with awserr.Error's Code and Message methods to get detailed information about
190// the error.
191//
192// See the AWS API reference guide for AWS SecurityHub's
193// API operation AcceptInvitation for usage and error information.
194//
195// Returned Error Types:
196//   * InternalException
197//   Internal server error.
198//
199//   * InvalidInputException
200//   The request was rejected because you supplied an invalid or out-of-range
201//   value for an input parameter.
202//
203//   * LimitExceededException
204//   The request was rejected because it attempted to create resources beyond
205//   the current AWS account or throttling limits. The error code describes the
206//   limit exceeded.
207//
208//   * ResourceNotFoundException
209//   The request was rejected because we can't find the specified resource.
210//
211//   * InvalidAccessException
212//   There is an issue with the account used to make the request. Either Security
213//   Hub is not enabled for the account, or the account does not have permission
214//   to perform this action.
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
217//
218// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
219func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
220	req, out := c.AcceptInvitationRequest(input)
221	return out, req.Send()
222}
223
224// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
225// the ability to pass a context and additional request options.
226//
227// See AcceptInvitation for details on how to use this API operation.
228//
229// The context must be non-nil and will be used for request cancellation. If
230// the context is nil a panic will occur. In the future the SDK may create
231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
232// for more information on using Contexts.
233//
234// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
235func (c *SecurityHub) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
236	req, out := c.AcceptInvitationRequest(input)
237	req.SetContext(ctx)
238	req.ApplyOptions(opts...)
239	return out, req.Send()
240}
241
242const opBatchDisableStandards = "BatchDisableStandards"
243
244// BatchDisableStandardsRequest generates a "aws/request.Request" representing the
245// client's request for the BatchDisableStandards operation. The "output" return
246// value will be populated with the request's response once the request completes
247// successfully.
248//
249// Use "Send" method on the returned Request to send the API call to the service.
250// the "output" return value is not valid until after Send returns without error.
251//
252// See BatchDisableStandards for more information on using the BatchDisableStandards
253// API call, and error handling.
254//
255// This method is useful when you want to inject custom logic or configuration
256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
257//
258//
259//    // Example sending a request using the BatchDisableStandardsRequest method.
260//    req, resp := client.BatchDisableStandardsRequest(params)
261//
262//    err := req.Send()
263//    if err == nil { // resp is now filled
264//        fmt.Println(resp)
265//    }
266//
267// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
268func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsInput) (req *request.Request, output *BatchDisableStandardsOutput) {
269	op := &request.Operation{
270		Name:       opBatchDisableStandards,
271		HTTPMethod: "POST",
272		HTTPPath:   "/standards/deregister",
273	}
274
275	if input == nil {
276		input = &BatchDisableStandardsInput{}
277	}
278
279	output = &BatchDisableStandardsOutput{}
280	req = c.newRequest(op, input, output)
281	return
282}
283
284// BatchDisableStandards API operation for AWS SecurityHub.
285//
286// Disables the standards specified by the provided StandardsSubscriptionArns.
287//
288// For more information, see Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
289// section of the AWS Security Hub User Guide.
290//
291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
292// with awserr.Error's Code and Message methods to get detailed information about
293// the error.
294//
295// See the AWS API reference guide for AWS SecurityHub's
296// API operation BatchDisableStandards for usage and error information.
297//
298// Returned Error Types:
299//   * InternalException
300//   Internal server error.
301//
302//   * InvalidInputException
303//   The request was rejected because you supplied an invalid or out-of-range
304//   value for an input parameter.
305//
306//   * InvalidAccessException
307//   There is an issue with the account used to make the request. Either Security
308//   Hub is not enabled for the account, or the account does not have permission
309//   to perform this action.
310//
311//   * LimitExceededException
312//   The request was rejected because it attempted to create resources beyond
313//   the current AWS account or throttling limits. The error code describes the
314//   limit exceeded.
315//
316// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
317func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) {
318	req, out := c.BatchDisableStandardsRequest(input)
319	return out, req.Send()
320}
321
322// BatchDisableStandardsWithContext is the same as BatchDisableStandards with the addition of
323// the ability to pass a context and additional request options.
324//
325// See BatchDisableStandards for details on how to use this API operation.
326//
327// The context must be non-nil and will be used for request cancellation. If
328// the context is nil a panic will occur. In the future the SDK may create
329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
330// for more information on using Contexts.
331func (c *SecurityHub) BatchDisableStandardsWithContext(ctx aws.Context, input *BatchDisableStandardsInput, opts ...request.Option) (*BatchDisableStandardsOutput, error) {
332	req, out := c.BatchDisableStandardsRequest(input)
333	req.SetContext(ctx)
334	req.ApplyOptions(opts...)
335	return out, req.Send()
336}
337
338const opBatchEnableStandards = "BatchEnableStandards"
339
340// BatchEnableStandardsRequest generates a "aws/request.Request" representing the
341// client's request for the BatchEnableStandards operation. The "output" return
342// value will be populated with the request's response once the request completes
343// successfully.
344//
345// Use "Send" method on the returned Request to send the API call to the service.
346// the "output" return value is not valid until after Send returns without error.
347//
348// See BatchEnableStandards for more information on using the BatchEnableStandards
349// API call, and error handling.
350//
351// This method is useful when you want to inject custom logic or configuration
352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
353//
354//
355//    // Example sending a request using the BatchEnableStandardsRequest method.
356//    req, resp := client.BatchEnableStandardsRequest(params)
357//
358//    err := req.Send()
359//    if err == nil { // resp is now filled
360//        fmt.Println(resp)
361//    }
362//
363// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
364func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInput) (req *request.Request, output *BatchEnableStandardsOutput) {
365	op := &request.Operation{
366		Name:       opBatchEnableStandards,
367		HTTPMethod: "POST",
368		HTTPPath:   "/standards/register",
369	}
370
371	if input == nil {
372		input = &BatchEnableStandardsInput{}
373	}
374
375	output = &BatchEnableStandardsOutput{}
376	req = c.newRequest(op, input, output)
377	return
378}
379
380// BatchEnableStandards API operation for AWS SecurityHub.
381//
382// Enables the standards specified by the provided StandardsArn. To obtain the
383// ARN for a standard, use the DescribeStandards operation.
384//
385// For more information, see the Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
386// section of the AWS Security Hub User Guide.
387//
388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
389// with awserr.Error's Code and Message methods to get detailed information about
390// the error.
391//
392// See the AWS API reference guide for AWS SecurityHub's
393// API operation BatchEnableStandards for usage and error information.
394//
395// Returned Error Types:
396//   * InternalException
397//   Internal server error.
398//
399//   * InvalidInputException
400//   The request was rejected because you supplied an invalid or out-of-range
401//   value for an input parameter.
402//
403//   * InvalidAccessException
404//   There is an issue with the account used to make the request. Either Security
405//   Hub is not enabled for the account, or the account does not have permission
406//   to perform this action.
407//
408//   * LimitExceededException
409//   The request was rejected because it attempted to create resources beyond
410//   the current AWS account or throttling limits. The error code describes the
411//   limit exceeded.
412//
413// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
414func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) {
415	req, out := c.BatchEnableStandardsRequest(input)
416	return out, req.Send()
417}
418
419// BatchEnableStandardsWithContext is the same as BatchEnableStandards with the addition of
420// the ability to pass a context and additional request options.
421//
422// See BatchEnableStandards for details on how to use this API operation.
423//
424// The context must be non-nil and will be used for request cancellation. If
425// the context is nil a panic will occur. In the future the SDK may create
426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
427// for more information on using Contexts.
428func (c *SecurityHub) BatchEnableStandardsWithContext(ctx aws.Context, input *BatchEnableStandardsInput, opts ...request.Option) (*BatchEnableStandardsOutput, error) {
429	req, out := c.BatchEnableStandardsRequest(input)
430	req.SetContext(ctx)
431	req.ApplyOptions(opts...)
432	return out, req.Send()
433}
434
435const opBatchImportFindings = "BatchImportFindings"
436
437// BatchImportFindingsRequest generates a "aws/request.Request" representing the
438// client's request for the BatchImportFindings operation. The "output" return
439// value will be populated with the request's response once the request completes
440// successfully.
441//
442// Use "Send" method on the returned Request to send the API call to the service.
443// the "output" return value is not valid until after Send returns without error.
444//
445// See BatchImportFindings for more information on using the BatchImportFindings
446// API call, and error handling.
447//
448// This method is useful when you want to inject custom logic or configuration
449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
450//
451//
452//    // Example sending a request using the BatchImportFindingsRequest method.
453//    req, resp := client.BatchImportFindingsRequest(params)
454//
455//    err := req.Send()
456//    if err == nil { // resp is now filled
457//        fmt.Println(resp)
458//    }
459//
460// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
461func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput) (req *request.Request, output *BatchImportFindingsOutput) {
462	op := &request.Operation{
463		Name:       opBatchImportFindings,
464		HTTPMethod: "POST",
465		HTTPPath:   "/findings/import",
466	}
467
468	if input == nil {
469		input = &BatchImportFindingsInput{}
470	}
471
472	output = &BatchImportFindingsOutput{}
473	req = c.newRequest(op, input, output)
474	return
475}
476
477// BatchImportFindings API operation for AWS SecurityHub.
478//
479// Imports security findings generated from an integrated product into Security
480// Hub. This action is requested by the integrated product to import its findings
481// into Security Hub.
482//
483// The maximum allowed size for a finding is 240 Kb. An error is returned for
484// any finding larger than 240 Kb.
485//
486// After a finding is created, BatchImportFindings cannot be used to update
487// the following finding fields and objects, which Security Hub customers use
488// to manage their investigation workflow.
489//
490//    * Note
491//
492//    * UserDefinedFields
493//
494//    * VerificationState
495//
496//    * Workflow
497//
498// Finding providers also should not use BatchImportFindings to update the following
499// attributes.
500//
501//    * Confidence
502//
503//    * Criticality
504//
505//    * RelatedFindings
506//
507//    * Severity
508//
509//    * Types
510//
511// Instead, finding providers use FindingProviderFields to provide values for
512// these attributes.
513//
514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
515// with awserr.Error's Code and Message methods to get detailed information about
516// the error.
517//
518// See the AWS API reference guide for AWS SecurityHub's
519// API operation BatchImportFindings for usage and error information.
520//
521// Returned Error Types:
522//   * InternalException
523//   Internal server error.
524//
525//   * InvalidInputException
526//   The request was rejected because you supplied an invalid or out-of-range
527//   value for an input parameter.
528//
529//   * LimitExceededException
530//   The request was rejected because it attempted to create resources beyond
531//   the current AWS account or throttling limits. The error code describes the
532//   limit exceeded.
533//
534//   * InvalidAccessException
535//   There is an issue with the account used to make the request. Either Security
536//   Hub is not enabled for the account, or the account does not have permission
537//   to perform this action.
538//
539// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
540func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) {
541	req, out := c.BatchImportFindingsRequest(input)
542	return out, req.Send()
543}
544
545// BatchImportFindingsWithContext is the same as BatchImportFindings with the addition of
546// the ability to pass a context and additional request options.
547//
548// See BatchImportFindings for details on how to use this API operation.
549//
550// The context must be non-nil and will be used for request cancellation. If
551// the context is nil a panic will occur. In the future the SDK may create
552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
553// for more information on using Contexts.
554func (c *SecurityHub) BatchImportFindingsWithContext(ctx aws.Context, input *BatchImportFindingsInput, opts ...request.Option) (*BatchImportFindingsOutput, error) {
555	req, out := c.BatchImportFindingsRequest(input)
556	req.SetContext(ctx)
557	req.ApplyOptions(opts...)
558	return out, req.Send()
559}
560
561const opBatchUpdateFindings = "BatchUpdateFindings"
562
563// BatchUpdateFindingsRequest generates a "aws/request.Request" representing the
564// client's request for the BatchUpdateFindings operation. The "output" return
565// value will be populated with the request's response once the request completes
566// successfully.
567//
568// Use "Send" method on the returned Request to send the API call to the service.
569// the "output" return value is not valid until after Send returns without error.
570//
571// See BatchUpdateFindings for more information on using the BatchUpdateFindings
572// API call, and error handling.
573//
574// This method is useful when you want to inject custom logic or configuration
575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
576//
577//
578//    // Example sending a request using the BatchUpdateFindingsRequest method.
579//    req, resp := client.BatchUpdateFindingsRequest(params)
580//
581//    err := req.Send()
582//    if err == nil { // resp is now filled
583//        fmt.Println(resp)
584//    }
585//
586// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
587func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput) (req *request.Request, output *BatchUpdateFindingsOutput) {
588	op := &request.Operation{
589		Name:       opBatchUpdateFindings,
590		HTTPMethod: "PATCH",
591		HTTPPath:   "/findings/batchupdate",
592	}
593
594	if input == nil {
595		input = &BatchUpdateFindingsInput{}
596	}
597
598	output = &BatchUpdateFindingsOutput{}
599	req = c.newRequest(op, input, output)
600	return
601}
602
603// BatchUpdateFindings API operation for AWS SecurityHub.
604//
605// Used by Security Hub customers to update information about their investigation
606// into a finding. Requested by administrator accounts or member accounts. Administrator
607// accounts can update findings for their account and their member accounts.
608// Member accounts can update findings for their account.
609//
610// Updates from BatchUpdateFindings do not affect the value of UpdatedAt for
611// a finding.
612//
613// Administrator and member accounts can use BatchUpdateFindings to update the
614// following finding fields and objects.
615//
616//    * Confidence
617//
618//    * Criticality
619//
620//    * Note
621//
622//    * RelatedFindings
623//
624//    * Severity
625//
626//    * Types
627//
628//    * UserDefinedFields
629//
630//    * VerificationState
631//
632//    * Workflow
633//
634// You can configure IAM policies to restrict access to fields and field values.
635// For example, you might not want member accounts to be able to suppress findings
636// or change the finding severity. See Configuring access to BatchUpdateFindings
637// (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-update-batchupdatefindings.html#batchupdatefindings-configure-access)
638// in the AWS Security Hub User Guide.
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for AWS SecurityHub's
645// API operation BatchUpdateFindings for usage and error information.
646//
647// Returned Error Types:
648//   * InternalException
649//   Internal server error.
650//
651//   * InvalidInputException
652//   The request was rejected because you supplied an invalid or out-of-range
653//   value for an input parameter.
654//
655//   * LimitExceededException
656//   The request was rejected because it attempted to create resources beyond
657//   the current AWS account or throttling limits. The error code describes the
658//   limit exceeded.
659//
660//   * InvalidAccessException
661//   There is an issue with the account used to make the request. Either Security
662//   Hub is not enabled for the account, or the account does not have permission
663//   to perform this action.
664//
665// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
666func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) {
667	req, out := c.BatchUpdateFindingsRequest(input)
668	return out, req.Send()
669}
670
671// BatchUpdateFindingsWithContext is the same as BatchUpdateFindings with the addition of
672// the ability to pass a context and additional request options.
673//
674// See BatchUpdateFindings for details on how to use this API operation.
675//
676// The context must be non-nil and will be used for request cancellation. If
677// the context is nil a panic will occur. In the future the SDK may create
678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
679// for more information on using Contexts.
680func (c *SecurityHub) BatchUpdateFindingsWithContext(ctx aws.Context, input *BatchUpdateFindingsInput, opts ...request.Option) (*BatchUpdateFindingsOutput, error) {
681	req, out := c.BatchUpdateFindingsRequest(input)
682	req.SetContext(ctx)
683	req.ApplyOptions(opts...)
684	return out, req.Send()
685}
686
687const opCreateActionTarget = "CreateActionTarget"
688
689// CreateActionTargetRequest generates a "aws/request.Request" representing the
690// client's request for the CreateActionTarget operation. The "output" return
691// value will be populated with the request's response once the request completes
692// successfully.
693//
694// Use "Send" method on the returned Request to send the API call to the service.
695// the "output" return value is not valid until after Send returns without error.
696//
697// See CreateActionTarget for more information on using the CreateActionTarget
698// API call, and error handling.
699//
700// This method is useful when you want to inject custom logic or configuration
701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
702//
703//
704//    // Example sending a request using the CreateActionTargetRequest method.
705//    req, resp := client.CreateActionTargetRequest(params)
706//
707//    err := req.Send()
708//    if err == nil { // resp is now filled
709//        fmt.Println(resp)
710//    }
711//
712// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
713func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) (req *request.Request, output *CreateActionTargetOutput) {
714	op := &request.Operation{
715		Name:       opCreateActionTarget,
716		HTTPMethod: "POST",
717		HTTPPath:   "/actionTargets",
718	}
719
720	if input == nil {
721		input = &CreateActionTargetInput{}
722	}
723
724	output = &CreateActionTargetOutput{}
725	req = c.newRequest(op, input, output)
726	return
727}
728
729// CreateActionTarget API operation for AWS SecurityHub.
730//
731// Creates a custom action target in Security Hub.
732//
733// You can use custom actions on findings and insights in Security Hub to trigger
734// target actions in Amazon CloudWatch Events.
735//
736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
737// with awserr.Error's Code and Message methods to get detailed information about
738// the error.
739//
740// See the AWS API reference guide for AWS SecurityHub's
741// API operation CreateActionTarget for usage and error information.
742//
743// Returned Error Types:
744//   * InternalException
745//   Internal server error.
746//
747//   * InvalidInputException
748//   The request was rejected because you supplied an invalid or out-of-range
749//   value for an input parameter.
750//
751//   * InvalidAccessException
752//   There is an issue with the account used to make the request. Either Security
753//   Hub is not enabled for the account, or the account does not have permission
754//   to perform this action.
755//
756//   * LimitExceededException
757//   The request was rejected because it attempted to create resources beyond
758//   the current AWS account or throttling limits. The error code describes the
759//   limit exceeded.
760//
761//   * ResourceConflictException
762//   The resource specified in the request conflicts with an existing resource.
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
765func (c *SecurityHub) CreateActionTarget(input *CreateActionTargetInput) (*CreateActionTargetOutput, error) {
766	req, out := c.CreateActionTargetRequest(input)
767	return out, req.Send()
768}
769
770// CreateActionTargetWithContext is the same as CreateActionTarget with the addition of
771// the ability to pass a context and additional request options.
772//
773// See CreateActionTarget for details on how to use this API operation.
774//
775// The context must be non-nil and will be used for request cancellation. If
776// the context is nil a panic will occur. In the future the SDK may create
777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
778// for more information on using Contexts.
779func (c *SecurityHub) CreateActionTargetWithContext(ctx aws.Context, input *CreateActionTargetInput, opts ...request.Option) (*CreateActionTargetOutput, error) {
780	req, out := c.CreateActionTargetRequest(input)
781	req.SetContext(ctx)
782	req.ApplyOptions(opts...)
783	return out, req.Send()
784}
785
786const opCreateInsight = "CreateInsight"
787
788// CreateInsightRequest generates a "aws/request.Request" representing the
789// client's request for the CreateInsight operation. The "output" return
790// value will be populated with the request's response once the request completes
791// successfully.
792//
793// Use "Send" method on the returned Request to send the API call to the service.
794// the "output" return value is not valid until after Send returns without error.
795//
796// See CreateInsight for more information on using the CreateInsight
797// API call, and error handling.
798//
799// This method is useful when you want to inject custom logic or configuration
800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
801//
802//
803//    // Example sending a request using the CreateInsightRequest method.
804//    req, resp := client.CreateInsightRequest(params)
805//
806//    err := req.Send()
807//    if err == nil { // resp is now filled
808//        fmt.Println(resp)
809//    }
810//
811// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
812func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
813	op := &request.Operation{
814		Name:       opCreateInsight,
815		HTTPMethod: "POST",
816		HTTPPath:   "/insights",
817	}
818
819	if input == nil {
820		input = &CreateInsightInput{}
821	}
822
823	output = &CreateInsightOutput{}
824	req = c.newRequest(op, input, output)
825	return
826}
827
828// CreateInsight API operation for AWS SecurityHub.
829//
830// Creates a custom insight in Security Hub. An insight is a consolidation of
831// findings that relate to a security issue that requires attention or remediation.
832//
833// To group the related findings in the insight, use the GroupByAttribute.
834//
835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
836// with awserr.Error's Code and Message methods to get detailed information about
837// the error.
838//
839// See the AWS API reference guide for AWS SecurityHub's
840// API operation CreateInsight for usage and error information.
841//
842// Returned Error Types:
843//   * InternalException
844//   Internal server error.
845//
846//   * InvalidInputException
847//   The request was rejected because you supplied an invalid or out-of-range
848//   value for an input parameter.
849//
850//   * LimitExceededException
851//   The request was rejected because it attempted to create resources beyond
852//   the current AWS account or throttling limits. The error code describes the
853//   limit exceeded.
854//
855//   * InvalidAccessException
856//   There is an issue with the account used to make the request. Either Security
857//   Hub is not enabled for the account, or the account does not have permission
858//   to perform this action.
859//
860//   * ResourceConflictException
861//   The resource specified in the request conflicts with an existing resource.
862//
863// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
864func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
865	req, out := c.CreateInsightRequest(input)
866	return out, req.Send()
867}
868
869// CreateInsightWithContext is the same as CreateInsight with the addition of
870// the ability to pass a context and additional request options.
871//
872// See CreateInsight for details on how to use this API operation.
873//
874// The context must be non-nil and will be used for request cancellation. If
875// the context is nil a panic will occur. In the future the SDK may create
876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
877// for more information on using Contexts.
878func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
879	req, out := c.CreateInsightRequest(input)
880	req.SetContext(ctx)
881	req.ApplyOptions(opts...)
882	return out, req.Send()
883}
884
885const opCreateMembers = "CreateMembers"
886
887// CreateMembersRequest generates a "aws/request.Request" representing the
888// client's request for the CreateMembers operation. The "output" return
889// value will be populated with the request's response once the request completes
890// successfully.
891//
892// Use "Send" method on the returned Request to send the API call to the service.
893// the "output" return value is not valid until after Send returns without error.
894//
895// See CreateMembers for more information on using the CreateMembers
896// API call, and error handling.
897//
898// This method is useful when you want to inject custom logic or configuration
899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
900//
901//
902//    // Example sending a request using the CreateMembersRequest method.
903//    req, resp := client.CreateMembersRequest(params)
904//
905//    err := req.Send()
906//    if err == nil { // resp is now filled
907//        fmt.Println(resp)
908//    }
909//
910// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
911func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
912	op := &request.Operation{
913		Name:       opCreateMembers,
914		HTTPMethod: "POST",
915		HTTPPath:   "/members",
916	}
917
918	if input == nil {
919		input = &CreateMembersInput{}
920	}
921
922	output = &CreateMembersOutput{}
923	req = c.newRequest(op, input, output)
924	return
925}
926
927// CreateMembers API operation for AWS SecurityHub.
928//
929// Creates a member association in Security Hub between the specified accounts
930// and the account used to make the request, which is the administrator account.
931// If you are integrated with Organizations, then the administrator account
932// is designated by the organization management account.
933//
934// CreateMembers is always used to add accounts that are not organization members.
935//
936// For accounts that are part of an organization, CreateMembers is only used
937// in the following cases:
938//
939//    * Security Hub is not configured to automatically add new accounts in
940//    an organization.
941//
942//    * The account was disassociated or deleted in Security Hub.
943//
944// This action can only be used by an account that has Security Hub enabled.
945// To enable Security Hub, you can use the EnableSecurityHub operation.
946//
947// For accounts that are not organization members, you create the account association
948// and then send an invitation to the member account. To send the invitation,
949// you use the InviteMembers operation. If the account owner accepts the invitation,
950// the account becomes a member account in Security Hub.
951//
952// Accounts that are part of an organization do not receive an invitation. They
953// automatically become a member account in Security Hub.
954//
955// A permissions policy is added that permits the administrator account to view
956// the findings generated in the member account. When Security Hub is enabled
957// in a member account, the member account findings are also visible to the
958// administrator account.
959//
960// To remove the association between the administrator and member accounts,
961// use the DisassociateFromMasterAccount or DisassociateMembers operation.
962//
963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
964// with awserr.Error's Code and Message methods to get detailed information about
965// the error.
966//
967// See the AWS API reference guide for AWS SecurityHub's
968// API operation CreateMembers for usage and error information.
969//
970// Returned Error Types:
971//   * InternalException
972//   Internal server error.
973//
974//   * InvalidInputException
975//   The request was rejected because you supplied an invalid or out-of-range
976//   value for an input parameter.
977//
978//   * LimitExceededException
979//   The request was rejected because it attempted to create resources beyond
980//   the current AWS account or throttling limits. The error code describes the
981//   limit exceeded.
982//
983//   * InvalidAccessException
984//   There is an issue with the account used to make the request. Either Security
985//   Hub is not enabled for the account, or the account does not have permission
986//   to perform this action.
987//
988//   * ResourceConflictException
989//   The resource specified in the request conflicts with an existing resource.
990//
991// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
992func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
993	req, out := c.CreateMembersRequest(input)
994	return out, req.Send()
995}
996
997// CreateMembersWithContext is the same as CreateMembers with the addition of
998// the ability to pass a context and additional request options.
999//
1000// See CreateMembers for details on how to use this API operation.
1001//
1002// The context must be non-nil and will be used for request cancellation. If
1003// the context is nil a panic will occur. In the future the SDK may create
1004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1005// for more information on using Contexts.
1006func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
1007	req, out := c.CreateMembersRequest(input)
1008	req.SetContext(ctx)
1009	req.ApplyOptions(opts...)
1010	return out, req.Send()
1011}
1012
1013const opDeclineInvitations = "DeclineInvitations"
1014
1015// DeclineInvitationsRequest generates a "aws/request.Request" representing the
1016// client's request for the DeclineInvitations operation. The "output" return
1017// value will be populated with the request's response once the request completes
1018// successfully.
1019//
1020// Use "Send" method on the returned Request to send the API call to the service.
1021// the "output" return value is not valid until after Send returns without error.
1022//
1023// See DeclineInvitations for more information on using the DeclineInvitations
1024// API call, and error handling.
1025//
1026// This method is useful when you want to inject custom logic or configuration
1027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1028//
1029//
1030//    // Example sending a request using the DeclineInvitationsRequest method.
1031//    req, resp := client.DeclineInvitationsRequest(params)
1032//
1033//    err := req.Send()
1034//    if err == nil { // resp is now filled
1035//        fmt.Println(resp)
1036//    }
1037//
1038// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1039func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
1040	op := &request.Operation{
1041		Name:       opDeclineInvitations,
1042		HTTPMethod: "POST",
1043		HTTPPath:   "/invitations/decline",
1044	}
1045
1046	if input == nil {
1047		input = &DeclineInvitationsInput{}
1048	}
1049
1050	output = &DeclineInvitationsOutput{}
1051	req = c.newRequest(op, input, output)
1052	return
1053}
1054
1055// DeclineInvitations API operation for AWS SecurityHub.
1056//
1057// Declines invitations to become a member account.
1058//
1059// This operation is only used by accounts that are not part of an organization.
1060// Organization accounts do not receive invitations.
1061//
1062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1063// with awserr.Error's Code and Message methods to get detailed information about
1064// the error.
1065//
1066// See the AWS API reference guide for AWS SecurityHub's
1067// API operation DeclineInvitations for usage and error information.
1068//
1069// Returned Error Types:
1070//   * InternalException
1071//   Internal server error.
1072//
1073//   * InvalidInputException
1074//   The request was rejected because you supplied an invalid or out-of-range
1075//   value for an input parameter.
1076//
1077//   * InvalidAccessException
1078//   There is an issue with the account used to make the request. Either Security
1079//   Hub is not enabled for the account, or the account does not have permission
1080//   to perform this action.
1081//
1082//   * ResourceNotFoundException
1083//   The request was rejected because we can't find the specified resource.
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1086func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
1087	req, out := c.DeclineInvitationsRequest(input)
1088	return out, req.Send()
1089}
1090
1091// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
1092// the ability to pass a context and additional request options.
1093//
1094// See DeclineInvitations for details on how to use this API operation.
1095//
1096// The context must be non-nil and will be used for request cancellation. If
1097// the context is nil a panic will occur. In the future the SDK may create
1098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1099// for more information on using Contexts.
1100func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
1101	req, out := c.DeclineInvitationsRequest(input)
1102	req.SetContext(ctx)
1103	req.ApplyOptions(opts...)
1104	return out, req.Send()
1105}
1106
1107const opDeleteActionTarget = "DeleteActionTarget"
1108
1109// DeleteActionTargetRequest generates a "aws/request.Request" representing the
1110// client's request for the DeleteActionTarget operation. The "output" return
1111// value will be populated with the request's response once the request completes
1112// successfully.
1113//
1114// Use "Send" method on the returned Request to send the API call to the service.
1115// the "output" return value is not valid until after Send returns without error.
1116//
1117// See DeleteActionTarget for more information on using the DeleteActionTarget
1118// API call, and error handling.
1119//
1120// This method is useful when you want to inject custom logic or configuration
1121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1122//
1123//
1124//    // Example sending a request using the DeleteActionTargetRequest method.
1125//    req, resp := client.DeleteActionTargetRequest(params)
1126//
1127//    err := req.Send()
1128//    if err == nil { // resp is now filled
1129//        fmt.Println(resp)
1130//    }
1131//
1132// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1133func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
1134	op := &request.Operation{
1135		Name:       opDeleteActionTarget,
1136		HTTPMethod: "DELETE",
1137		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
1138	}
1139
1140	if input == nil {
1141		input = &DeleteActionTargetInput{}
1142	}
1143
1144	output = &DeleteActionTargetOutput{}
1145	req = c.newRequest(op, input, output)
1146	return
1147}
1148
1149// DeleteActionTarget API operation for AWS SecurityHub.
1150//
1151// Deletes a custom action target from Security Hub.
1152//
1153// Deleting a custom action target does not affect any findings or insights
1154// that were already sent to Amazon CloudWatch Events using the custom action.
1155//
1156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157// with awserr.Error's Code and Message methods to get detailed information about
1158// the error.
1159//
1160// See the AWS API reference guide for AWS SecurityHub's
1161// API operation DeleteActionTarget for usage and error information.
1162//
1163// Returned Error Types:
1164//   * InternalException
1165//   Internal server error.
1166//
1167//   * InvalidInputException
1168//   The request was rejected because you supplied an invalid or out-of-range
1169//   value for an input parameter.
1170//
1171//   * InvalidAccessException
1172//   There is an issue with the account used to make the request. Either Security
1173//   Hub is not enabled for the account, or the account does not have permission
1174//   to perform this action.
1175//
1176//   * ResourceNotFoundException
1177//   The request was rejected because we can't find the specified resource.
1178//
1179// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1180func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1181	req, out := c.DeleteActionTargetRequest(input)
1182	return out, req.Send()
1183}
1184
1185// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1186// the ability to pass a context and additional request options.
1187//
1188// See DeleteActionTarget for details on how to use this API operation.
1189//
1190// The context must be non-nil and will be used for request cancellation. If
1191// the context is nil a panic will occur. In the future the SDK may create
1192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1193// for more information on using Contexts.
1194func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1195	req, out := c.DeleteActionTargetRequest(input)
1196	req.SetContext(ctx)
1197	req.ApplyOptions(opts...)
1198	return out, req.Send()
1199}
1200
1201const opDeleteInsight = "DeleteInsight"
1202
1203// DeleteInsightRequest generates a "aws/request.Request" representing the
1204// client's request for the DeleteInsight operation. The "output" return
1205// value will be populated with the request's response once the request completes
1206// successfully.
1207//
1208// Use "Send" method on the returned Request to send the API call to the service.
1209// the "output" return value is not valid until after Send returns without error.
1210//
1211// See DeleteInsight for more information on using the DeleteInsight
1212// API call, and error handling.
1213//
1214// This method is useful when you want to inject custom logic or configuration
1215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1216//
1217//
1218//    // Example sending a request using the DeleteInsightRequest method.
1219//    req, resp := client.DeleteInsightRequest(params)
1220//
1221//    err := req.Send()
1222//    if err == nil { // resp is now filled
1223//        fmt.Println(resp)
1224//    }
1225//
1226// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1227func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1228	op := &request.Operation{
1229		Name:       opDeleteInsight,
1230		HTTPMethod: "DELETE",
1231		HTTPPath:   "/insights/{InsightArn+}",
1232	}
1233
1234	if input == nil {
1235		input = &DeleteInsightInput{}
1236	}
1237
1238	output = &DeleteInsightOutput{}
1239	req = c.newRequest(op, input, output)
1240	return
1241}
1242
1243// DeleteInsight API operation for AWS SecurityHub.
1244//
1245// Deletes the insight specified by the InsightArn.
1246//
1247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1248// with awserr.Error's Code and Message methods to get detailed information about
1249// the error.
1250//
1251// See the AWS API reference guide for AWS SecurityHub's
1252// API operation DeleteInsight for usage and error information.
1253//
1254// Returned Error Types:
1255//   * InternalException
1256//   Internal server error.
1257//
1258//   * InvalidInputException
1259//   The request was rejected because you supplied an invalid or out-of-range
1260//   value for an input parameter.
1261//
1262//   * InvalidAccessException
1263//   There is an issue with the account used to make the request. Either Security
1264//   Hub is not enabled for the account, or the account does not have permission
1265//   to perform this action.
1266//
1267//   * LimitExceededException
1268//   The request was rejected because it attempted to create resources beyond
1269//   the current AWS account or throttling limits. The error code describes the
1270//   limit exceeded.
1271//
1272//   * ResourceNotFoundException
1273//   The request was rejected because we can't find the specified resource.
1274//
1275// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1276func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1277	req, out := c.DeleteInsightRequest(input)
1278	return out, req.Send()
1279}
1280
1281// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1282// the ability to pass a context and additional request options.
1283//
1284// See DeleteInsight for details on how to use this API operation.
1285//
1286// The context must be non-nil and will be used for request cancellation. If
1287// the context is nil a panic will occur. In the future the SDK may create
1288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1289// for more information on using Contexts.
1290func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1291	req, out := c.DeleteInsightRequest(input)
1292	req.SetContext(ctx)
1293	req.ApplyOptions(opts...)
1294	return out, req.Send()
1295}
1296
1297const opDeleteInvitations = "DeleteInvitations"
1298
1299// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1300// client's request for the DeleteInvitations operation. The "output" return
1301// value will be populated with the request's response once the request completes
1302// successfully.
1303//
1304// Use "Send" method on the returned Request to send the API call to the service.
1305// the "output" return value is not valid until after Send returns without error.
1306//
1307// See DeleteInvitations for more information on using the DeleteInvitations
1308// API call, and error handling.
1309//
1310// This method is useful when you want to inject custom logic or configuration
1311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1312//
1313//
1314//    // Example sending a request using the DeleteInvitationsRequest method.
1315//    req, resp := client.DeleteInvitationsRequest(params)
1316//
1317//    err := req.Send()
1318//    if err == nil { // resp is now filled
1319//        fmt.Println(resp)
1320//    }
1321//
1322// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1323func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1324	op := &request.Operation{
1325		Name:       opDeleteInvitations,
1326		HTTPMethod: "POST",
1327		HTTPPath:   "/invitations/delete",
1328	}
1329
1330	if input == nil {
1331		input = &DeleteInvitationsInput{}
1332	}
1333
1334	output = &DeleteInvitationsOutput{}
1335	req = c.newRequest(op, input, output)
1336	return
1337}
1338
1339// DeleteInvitations API operation for AWS SecurityHub.
1340//
1341// Deletes invitations received by the AWS account to become a member account.
1342//
1343// This operation is only used by accounts that are not part of an organization.
1344// Organization accounts do not receive invitations.
1345//
1346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1347// with awserr.Error's Code and Message methods to get detailed information about
1348// the error.
1349//
1350// See the AWS API reference guide for AWS SecurityHub's
1351// API operation DeleteInvitations for usage and error information.
1352//
1353// Returned Error Types:
1354//   * InternalException
1355//   Internal server error.
1356//
1357//   * InvalidInputException
1358//   The request was rejected because you supplied an invalid or out-of-range
1359//   value for an input parameter.
1360//
1361//   * LimitExceededException
1362//   The request was rejected because it attempted to create resources beyond
1363//   the current AWS account or throttling limits. The error code describes the
1364//   limit exceeded.
1365//
1366//   * ResourceNotFoundException
1367//   The request was rejected because we can't find the specified resource.
1368//
1369//   * InvalidAccessException
1370//   There is an issue with the account used to make the request. Either Security
1371//   Hub is not enabled for the account, or the account does not have permission
1372//   to perform this action.
1373//
1374// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1375func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1376	req, out := c.DeleteInvitationsRequest(input)
1377	return out, req.Send()
1378}
1379
1380// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1381// the ability to pass a context and additional request options.
1382//
1383// See DeleteInvitations for details on how to use this API operation.
1384//
1385// The context must be non-nil and will be used for request cancellation. If
1386// the context is nil a panic will occur. In the future the SDK may create
1387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1388// for more information on using Contexts.
1389func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1390	req, out := c.DeleteInvitationsRequest(input)
1391	req.SetContext(ctx)
1392	req.ApplyOptions(opts...)
1393	return out, req.Send()
1394}
1395
1396const opDeleteMembers = "DeleteMembers"
1397
1398// DeleteMembersRequest generates a "aws/request.Request" representing the
1399// client's request for the DeleteMembers operation. The "output" return
1400// value will be populated with the request's response once the request completes
1401// successfully.
1402//
1403// Use "Send" method on the returned Request to send the API call to the service.
1404// the "output" return value is not valid until after Send returns without error.
1405//
1406// See DeleteMembers for more information on using the DeleteMembers
1407// API call, and error handling.
1408//
1409// This method is useful when you want to inject custom logic or configuration
1410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1411//
1412//
1413//    // Example sending a request using the DeleteMembersRequest method.
1414//    req, resp := client.DeleteMembersRequest(params)
1415//
1416//    err := req.Send()
1417//    if err == nil { // resp is now filled
1418//        fmt.Println(resp)
1419//    }
1420//
1421// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1422func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1423	op := &request.Operation{
1424		Name:       opDeleteMembers,
1425		HTTPMethod: "POST",
1426		HTTPPath:   "/members/delete",
1427	}
1428
1429	if input == nil {
1430		input = &DeleteMembersInput{}
1431	}
1432
1433	output = &DeleteMembersOutput{}
1434	req = c.newRequest(op, input, output)
1435	return
1436}
1437
1438// DeleteMembers API operation for AWS SecurityHub.
1439//
1440// Deletes the specified member accounts from Security Hub.
1441//
1442// Can be used to delete member accounts that belong to an organization as well
1443// as member accounts that were invited manually.
1444//
1445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1446// with awserr.Error's Code and Message methods to get detailed information about
1447// the error.
1448//
1449// See the AWS API reference guide for AWS SecurityHub's
1450// API operation DeleteMembers for usage and error information.
1451//
1452// Returned Error Types:
1453//   * InternalException
1454//   Internal server error.
1455//
1456//   * InvalidInputException
1457//   The request was rejected because you supplied an invalid or out-of-range
1458//   value for an input parameter.
1459//
1460//   * InvalidAccessException
1461//   There is an issue with the account used to make the request. Either Security
1462//   Hub is not enabled for the account, or the account does not have permission
1463//   to perform this action.
1464//
1465//   * LimitExceededException
1466//   The request was rejected because it attempted to create resources beyond
1467//   the current AWS account or throttling limits. The error code describes the
1468//   limit exceeded.
1469//
1470//   * ResourceNotFoundException
1471//   The request was rejected because we can't find the specified resource.
1472//
1473// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1474func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1475	req, out := c.DeleteMembersRequest(input)
1476	return out, req.Send()
1477}
1478
1479// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1480// the ability to pass a context and additional request options.
1481//
1482// See DeleteMembers for details on how to use this API operation.
1483//
1484// The context must be non-nil and will be used for request cancellation. If
1485// the context is nil a panic will occur. In the future the SDK may create
1486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1487// for more information on using Contexts.
1488func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1489	req, out := c.DeleteMembersRequest(input)
1490	req.SetContext(ctx)
1491	req.ApplyOptions(opts...)
1492	return out, req.Send()
1493}
1494
1495const opDescribeActionTargets = "DescribeActionTargets"
1496
1497// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1498// client's request for the DescribeActionTargets operation. The "output" return
1499// value will be populated with the request's response once the request completes
1500// successfully.
1501//
1502// Use "Send" method on the returned Request to send the API call to the service.
1503// the "output" return value is not valid until after Send returns without error.
1504//
1505// See DescribeActionTargets for more information on using the DescribeActionTargets
1506// API call, and error handling.
1507//
1508// This method is useful when you want to inject custom logic or configuration
1509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1510//
1511//
1512//    // Example sending a request using the DescribeActionTargetsRequest method.
1513//    req, resp := client.DescribeActionTargetsRequest(params)
1514//
1515//    err := req.Send()
1516//    if err == nil { // resp is now filled
1517//        fmt.Println(resp)
1518//    }
1519//
1520// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1521func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1522	op := &request.Operation{
1523		Name:       opDescribeActionTargets,
1524		HTTPMethod: "POST",
1525		HTTPPath:   "/actionTargets/get",
1526		Paginator: &request.Paginator{
1527			InputTokens:     []string{"NextToken"},
1528			OutputTokens:    []string{"NextToken"},
1529			LimitToken:      "MaxResults",
1530			TruncationToken: "",
1531		},
1532	}
1533
1534	if input == nil {
1535		input = &DescribeActionTargetsInput{}
1536	}
1537
1538	output = &DescribeActionTargetsOutput{}
1539	req = c.newRequest(op, input, output)
1540	return
1541}
1542
1543// DescribeActionTargets API operation for AWS SecurityHub.
1544//
1545// Returns a list of the custom action targets in Security Hub in your account.
1546//
1547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1548// with awserr.Error's Code and Message methods to get detailed information about
1549// the error.
1550//
1551// See the AWS API reference guide for AWS SecurityHub's
1552// API operation DescribeActionTargets for usage and error information.
1553//
1554// Returned Error Types:
1555//   * InternalException
1556//   Internal server error.
1557//
1558//   * InvalidInputException
1559//   The request was rejected because you supplied an invalid or out-of-range
1560//   value for an input parameter.
1561//
1562//   * InvalidAccessException
1563//   There is an issue with the account used to make the request. Either Security
1564//   Hub is not enabled for the account, or the account does not have permission
1565//   to perform this action.
1566//
1567//   * ResourceNotFoundException
1568//   The request was rejected because we can't find the specified resource.
1569//
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1571func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1572	req, out := c.DescribeActionTargetsRequest(input)
1573	return out, req.Send()
1574}
1575
1576// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1577// the ability to pass a context and additional request options.
1578//
1579// See DescribeActionTargets for details on how to use this API operation.
1580//
1581// The context must be non-nil and will be used for request cancellation. If
1582// the context is nil a panic will occur. In the future the SDK may create
1583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1584// for more information on using Contexts.
1585func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1586	req, out := c.DescribeActionTargetsRequest(input)
1587	req.SetContext(ctx)
1588	req.ApplyOptions(opts...)
1589	return out, req.Send()
1590}
1591
1592// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1593// calling the "fn" function with the response data for each page. To stop
1594// iterating, return false from the fn function.
1595//
1596// See DescribeActionTargets method for more information on how to use this operation.
1597//
1598// Note: This operation can generate multiple requests to a service.
1599//
1600//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1601//    pageNum := 0
1602//    err := client.DescribeActionTargetsPages(params,
1603//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1604//            pageNum++
1605//            fmt.Println(page)
1606//            return pageNum <= 3
1607//        })
1608//
1609func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1610	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1611}
1612
1613// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1614// it takes a Context and allows setting request options on the pages.
1615//
1616// The context must be non-nil and will be used for request cancellation. If
1617// the context is nil a panic will occur. In the future the SDK may create
1618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1619// for more information on using Contexts.
1620func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1621	p := request.Pagination{
1622		NewRequest: func() (*request.Request, error) {
1623			var inCpy *DescribeActionTargetsInput
1624			if input != nil {
1625				tmp := *input
1626				inCpy = &tmp
1627			}
1628			req, _ := c.DescribeActionTargetsRequest(inCpy)
1629			req.SetContext(ctx)
1630			req.ApplyOptions(opts...)
1631			return req, nil
1632		},
1633	}
1634
1635	for p.Next() {
1636		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1637			break
1638		}
1639	}
1640
1641	return p.Err()
1642}
1643
1644const opDescribeHub = "DescribeHub"
1645
1646// DescribeHubRequest generates a "aws/request.Request" representing the
1647// client's request for the DescribeHub operation. The "output" return
1648// value will be populated with the request's response once the request completes
1649// successfully.
1650//
1651// Use "Send" method on the returned Request to send the API call to the service.
1652// the "output" return value is not valid until after Send returns without error.
1653//
1654// See DescribeHub for more information on using the DescribeHub
1655// API call, and error handling.
1656//
1657// This method is useful when you want to inject custom logic or configuration
1658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1659//
1660//
1661//    // Example sending a request using the DescribeHubRequest method.
1662//    req, resp := client.DescribeHubRequest(params)
1663//
1664//    err := req.Send()
1665//    if err == nil { // resp is now filled
1666//        fmt.Println(resp)
1667//    }
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1670func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1671	op := &request.Operation{
1672		Name:       opDescribeHub,
1673		HTTPMethod: "GET",
1674		HTTPPath:   "/accounts",
1675	}
1676
1677	if input == nil {
1678		input = &DescribeHubInput{}
1679	}
1680
1681	output = &DescribeHubOutput{}
1682	req = c.newRequest(op, input, output)
1683	return
1684}
1685
1686// DescribeHub API operation for AWS SecurityHub.
1687//
1688// Returns details about the Hub resource in your account, including the HubArn
1689// and the time when you enabled Security Hub.
1690//
1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1692// with awserr.Error's Code and Message methods to get detailed information about
1693// the error.
1694//
1695// See the AWS API reference guide for AWS SecurityHub's
1696// API operation DescribeHub for usage and error information.
1697//
1698// Returned Error Types:
1699//   * InternalException
1700//   Internal server error.
1701//
1702//   * LimitExceededException
1703//   The request was rejected because it attempted to create resources beyond
1704//   the current AWS account or throttling limits. The error code describes the
1705//   limit exceeded.
1706//
1707//   * InvalidAccessException
1708//   There is an issue with the account used to make the request. Either Security
1709//   Hub is not enabled for the account, or the account does not have permission
1710//   to perform this action.
1711//
1712//   * InvalidInputException
1713//   The request was rejected because you supplied an invalid or out-of-range
1714//   value for an input parameter.
1715//
1716//   * ResourceNotFoundException
1717//   The request was rejected because we can't find the specified resource.
1718//
1719// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1720func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1721	req, out := c.DescribeHubRequest(input)
1722	return out, req.Send()
1723}
1724
1725// DescribeHubWithContext is the same as DescribeHub with the addition of
1726// the ability to pass a context and additional request options.
1727//
1728// See DescribeHub for details on how to use this API operation.
1729//
1730// The context must be non-nil and will be used for request cancellation. If
1731// the context is nil a panic will occur. In the future the SDK may create
1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1733// for more information on using Contexts.
1734func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1735	req, out := c.DescribeHubRequest(input)
1736	req.SetContext(ctx)
1737	req.ApplyOptions(opts...)
1738	return out, req.Send()
1739}
1740
1741const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1742
1743// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1744// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1745// value will be populated with the request's response once the request completes
1746// successfully.
1747//
1748// Use "Send" method on the returned Request to send the API call to the service.
1749// the "output" return value is not valid until after Send returns without error.
1750//
1751// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1752// API call, and error handling.
1753//
1754// This method is useful when you want to inject custom logic or configuration
1755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1756//
1757//
1758//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1759//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1760//
1761//    err := req.Send()
1762//    if err == nil { // resp is now filled
1763//        fmt.Println(resp)
1764//    }
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1767func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1768	op := &request.Operation{
1769		Name:       opDescribeOrganizationConfiguration,
1770		HTTPMethod: "GET",
1771		HTTPPath:   "/organization/configuration",
1772	}
1773
1774	if input == nil {
1775		input = &DescribeOrganizationConfigurationInput{}
1776	}
1777
1778	output = &DescribeOrganizationConfigurationOutput{}
1779	req = c.newRequest(op, input, output)
1780	return
1781}
1782
1783// DescribeOrganizationConfiguration API operation for AWS SecurityHub.
1784//
1785// Returns information about the Organizations configuration for Security Hub.
1786// Can only be called from a Security Hub administrator account.
1787//
1788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1789// with awserr.Error's Code and Message methods to get detailed information about
1790// the error.
1791//
1792// See the AWS API reference guide for AWS SecurityHub's
1793// API operation DescribeOrganizationConfiguration for usage and error information.
1794//
1795// Returned Error Types:
1796//   * InternalException
1797//   Internal server error.
1798//
1799//   * InvalidInputException
1800//   The request was rejected because you supplied an invalid or out-of-range
1801//   value for an input parameter.
1802//
1803//   * InvalidAccessException
1804//   There is an issue with the account used to make the request. Either Security
1805//   Hub is not enabled for the account, or the account does not have permission
1806//   to perform this action.
1807//
1808//   * LimitExceededException
1809//   The request was rejected because it attempted to create resources beyond
1810//   the current AWS account or throttling limits. The error code describes the
1811//   limit exceeded.
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1814func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1815	req, out := c.DescribeOrganizationConfigurationRequest(input)
1816	return out, req.Send()
1817}
1818
1819// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1820// the ability to pass a context and additional request options.
1821//
1822// See DescribeOrganizationConfiguration for details on how to use this API operation.
1823//
1824// The context must be non-nil and will be used for request cancellation. If
1825// the context is nil a panic will occur. In the future the SDK may create
1826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1827// for more information on using Contexts.
1828func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1829	req, out := c.DescribeOrganizationConfigurationRequest(input)
1830	req.SetContext(ctx)
1831	req.ApplyOptions(opts...)
1832	return out, req.Send()
1833}
1834
1835const opDescribeProducts = "DescribeProducts"
1836
1837// DescribeProductsRequest generates a "aws/request.Request" representing the
1838// client's request for the DescribeProducts operation. The "output" return
1839// value will be populated with the request's response once the request completes
1840// successfully.
1841//
1842// Use "Send" method on the returned Request to send the API call to the service.
1843// the "output" return value is not valid until after Send returns without error.
1844//
1845// See DescribeProducts for more information on using the DescribeProducts
1846// API call, and error handling.
1847//
1848// This method is useful when you want to inject custom logic or configuration
1849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1850//
1851//
1852//    // Example sending a request using the DescribeProductsRequest method.
1853//    req, resp := client.DescribeProductsRequest(params)
1854//
1855//    err := req.Send()
1856//    if err == nil { // resp is now filled
1857//        fmt.Println(resp)
1858//    }
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1861func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
1862	op := &request.Operation{
1863		Name:       opDescribeProducts,
1864		HTTPMethod: "GET",
1865		HTTPPath:   "/products",
1866		Paginator: &request.Paginator{
1867			InputTokens:     []string{"NextToken"},
1868			OutputTokens:    []string{"NextToken"},
1869			LimitToken:      "MaxResults",
1870			TruncationToken: "",
1871		},
1872	}
1873
1874	if input == nil {
1875		input = &DescribeProductsInput{}
1876	}
1877
1878	output = &DescribeProductsOutput{}
1879	req = c.newRequest(op, input, output)
1880	return
1881}
1882
1883// DescribeProducts API operation for AWS SecurityHub.
1884//
1885// Returns information about product integrations in Security Hub.
1886//
1887// You can optionally provide an integration ARN. If you provide an integration
1888// ARN, then the results only include that integration.
1889//
1890// If you do not provide an integration ARN, then the results include all of
1891// the available product integrations.
1892//
1893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1894// with awserr.Error's Code and Message methods to get detailed information about
1895// the error.
1896//
1897// See the AWS API reference guide for AWS SecurityHub's
1898// API operation DescribeProducts for usage and error information.
1899//
1900// Returned Error Types:
1901//   * InternalException
1902//   Internal server error.
1903//
1904//   * LimitExceededException
1905//   The request was rejected because it attempted to create resources beyond
1906//   the current AWS account or throttling limits. The error code describes the
1907//   limit exceeded.
1908//
1909//   * InvalidAccessException
1910//   There is an issue with the account used to make the request. Either Security
1911//   Hub is not enabled for the account, or the account does not have permission
1912//   to perform this action.
1913//
1914//   * InvalidInputException
1915//   The request was rejected because you supplied an invalid or out-of-range
1916//   value for an input parameter.
1917//
1918// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1919func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
1920	req, out := c.DescribeProductsRequest(input)
1921	return out, req.Send()
1922}
1923
1924// DescribeProductsWithContext is the same as DescribeProducts with the addition of
1925// the ability to pass a context and additional request options.
1926//
1927// See DescribeProducts for details on how to use this API operation.
1928//
1929// The context must be non-nil and will be used for request cancellation. If
1930// the context is nil a panic will occur. In the future the SDK may create
1931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1932// for more information on using Contexts.
1933func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
1934	req, out := c.DescribeProductsRequest(input)
1935	req.SetContext(ctx)
1936	req.ApplyOptions(opts...)
1937	return out, req.Send()
1938}
1939
1940// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
1941// calling the "fn" function with the response data for each page. To stop
1942// iterating, return false from the fn function.
1943//
1944// See DescribeProducts method for more information on how to use this operation.
1945//
1946// Note: This operation can generate multiple requests to a service.
1947//
1948//    // Example iterating over at most 3 pages of a DescribeProducts operation.
1949//    pageNum := 0
1950//    err := client.DescribeProductsPages(params,
1951//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
1952//            pageNum++
1953//            fmt.Println(page)
1954//            return pageNum <= 3
1955//        })
1956//
1957func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
1958	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
1959}
1960
1961// DescribeProductsPagesWithContext same as DescribeProductsPages except
1962// it takes a Context and allows setting request options on the pages.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
1969	p := request.Pagination{
1970		NewRequest: func() (*request.Request, error) {
1971			var inCpy *DescribeProductsInput
1972			if input != nil {
1973				tmp := *input
1974				inCpy = &tmp
1975			}
1976			req, _ := c.DescribeProductsRequest(inCpy)
1977			req.SetContext(ctx)
1978			req.ApplyOptions(opts...)
1979			return req, nil
1980		},
1981	}
1982
1983	for p.Next() {
1984		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
1985			break
1986		}
1987	}
1988
1989	return p.Err()
1990}
1991
1992const opDescribeStandards = "DescribeStandards"
1993
1994// DescribeStandardsRequest generates a "aws/request.Request" representing the
1995// client's request for the DescribeStandards operation. The "output" return
1996// value will be populated with the request's response once the request completes
1997// successfully.
1998//
1999// Use "Send" method on the returned Request to send the API call to the service.
2000// the "output" return value is not valid until after Send returns without error.
2001//
2002// See DescribeStandards for more information on using the DescribeStandards
2003// API call, and error handling.
2004//
2005// This method is useful when you want to inject custom logic or configuration
2006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2007//
2008//
2009//    // Example sending a request using the DescribeStandardsRequest method.
2010//    req, resp := client.DescribeStandardsRequest(params)
2011//
2012//    err := req.Send()
2013//    if err == nil { // resp is now filled
2014//        fmt.Println(resp)
2015//    }
2016//
2017// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2018func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
2019	op := &request.Operation{
2020		Name:       opDescribeStandards,
2021		HTTPMethod: "GET",
2022		HTTPPath:   "/standards",
2023		Paginator: &request.Paginator{
2024			InputTokens:     []string{"NextToken"},
2025			OutputTokens:    []string{"NextToken"},
2026			LimitToken:      "MaxResults",
2027			TruncationToken: "",
2028		},
2029	}
2030
2031	if input == nil {
2032		input = &DescribeStandardsInput{}
2033	}
2034
2035	output = &DescribeStandardsOutput{}
2036	req = c.newRequest(op, input, output)
2037	return
2038}
2039
2040// DescribeStandards API operation for AWS SecurityHub.
2041//
2042// Returns a list of the available standards in Security Hub.
2043//
2044// For each standard, the results include the standard ARN, the name, and a
2045// description.
2046//
2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2048// with awserr.Error's Code and Message methods to get detailed information about
2049// the error.
2050//
2051// See the AWS API reference guide for AWS SecurityHub's
2052// API operation DescribeStandards for usage and error information.
2053//
2054// Returned Error Types:
2055//   * InternalException
2056//   Internal server error.
2057//
2058//   * InvalidInputException
2059//   The request was rejected because you supplied an invalid or out-of-range
2060//   value for an input parameter.
2061//
2062//   * InvalidAccessException
2063//   There is an issue with the account used to make the request. Either Security
2064//   Hub is not enabled for the account, or the account does not have permission
2065//   to perform this action.
2066//
2067// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2068func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
2069	req, out := c.DescribeStandardsRequest(input)
2070	return out, req.Send()
2071}
2072
2073// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
2074// the ability to pass a context and additional request options.
2075//
2076// See DescribeStandards for details on how to use this API operation.
2077//
2078// The context must be non-nil and will be used for request cancellation. If
2079// the context is nil a panic will occur. In the future the SDK may create
2080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2081// for more information on using Contexts.
2082func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
2083	req, out := c.DescribeStandardsRequest(input)
2084	req.SetContext(ctx)
2085	req.ApplyOptions(opts...)
2086	return out, req.Send()
2087}
2088
2089// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
2090// calling the "fn" function with the response data for each page. To stop
2091// iterating, return false from the fn function.
2092//
2093// See DescribeStandards method for more information on how to use this operation.
2094//
2095// Note: This operation can generate multiple requests to a service.
2096//
2097//    // Example iterating over at most 3 pages of a DescribeStandards operation.
2098//    pageNum := 0
2099//    err := client.DescribeStandardsPages(params,
2100//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
2101//            pageNum++
2102//            fmt.Println(page)
2103//            return pageNum <= 3
2104//        })
2105//
2106func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
2107	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
2108}
2109
2110// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
2111// it takes a Context and allows setting request options on the pages.
2112//
2113// The context must be non-nil and will be used for request cancellation. If
2114// the context is nil a panic will occur. In the future the SDK may create
2115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2116// for more information on using Contexts.
2117func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
2118	p := request.Pagination{
2119		NewRequest: func() (*request.Request, error) {
2120			var inCpy *DescribeStandardsInput
2121			if input != nil {
2122				tmp := *input
2123				inCpy = &tmp
2124			}
2125			req, _ := c.DescribeStandardsRequest(inCpy)
2126			req.SetContext(ctx)
2127			req.ApplyOptions(opts...)
2128			return req, nil
2129		},
2130	}
2131
2132	for p.Next() {
2133		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
2134			break
2135		}
2136	}
2137
2138	return p.Err()
2139}
2140
2141const opDescribeStandardsControls = "DescribeStandardsControls"
2142
2143// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
2144// client's request for the DescribeStandardsControls operation. The "output" return
2145// value will be populated with the request's response once the request completes
2146// successfully.
2147//
2148// Use "Send" method on the returned Request to send the API call to the service.
2149// the "output" return value is not valid until after Send returns without error.
2150//
2151// See DescribeStandardsControls for more information on using the DescribeStandardsControls
2152// API call, and error handling.
2153//
2154// This method is useful when you want to inject custom logic or configuration
2155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2156//
2157//
2158//    // Example sending a request using the DescribeStandardsControlsRequest method.
2159//    req, resp := client.DescribeStandardsControlsRequest(params)
2160//
2161//    err := req.Send()
2162//    if err == nil { // resp is now filled
2163//        fmt.Println(resp)
2164//    }
2165//
2166// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2167func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
2168	op := &request.Operation{
2169		Name:       opDescribeStandardsControls,
2170		HTTPMethod: "GET",
2171		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
2172		Paginator: &request.Paginator{
2173			InputTokens:     []string{"NextToken"},
2174			OutputTokens:    []string{"NextToken"},
2175			LimitToken:      "MaxResults",
2176			TruncationToken: "",
2177		},
2178	}
2179
2180	if input == nil {
2181		input = &DescribeStandardsControlsInput{}
2182	}
2183
2184	output = &DescribeStandardsControlsOutput{}
2185	req = c.newRequest(op, input, output)
2186	return
2187}
2188
2189// DescribeStandardsControls API operation for AWS SecurityHub.
2190//
2191// Returns a list of security standards controls.
2192//
2193// For each control, the results include information about whether it is currently
2194// enabled, the severity, and a link to remediation information.
2195//
2196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2197// with awserr.Error's Code and Message methods to get detailed information about
2198// the error.
2199//
2200// See the AWS API reference guide for AWS SecurityHub's
2201// API operation DescribeStandardsControls for usage and error information.
2202//
2203// Returned Error Types:
2204//   * InternalException
2205//   Internal server error.
2206//
2207//   * InvalidInputException
2208//   The request was rejected because you supplied an invalid or out-of-range
2209//   value for an input parameter.
2210//
2211//   * InvalidAccessException
2212//   There is an issue with the account used to make the request. Either Security
2213//   Hub is not enabled for the account, or the account does not have permission
2214//   to perform this action.
2215//
2216//   * ResourceNotFoundException
2217//   The request was rejected because we can't find the specified resource.
2218//
2219// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2220func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
2221	req, out := c.DescribeStandardsControlsRequest(input)
2222	return out, req.Send()
2223}
2224
2225// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
2226// the ability to pass a context and additional request options.
2227//
2228// See DescribeStandardsControls for details on how to use this API operation.
2229//
2230// The context must be non-nil and will be used for request cancellation. If
2231// the context is nil a panic will occur. In the future the SDK may create
2232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2233// for more information on using Contexts.
2234func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
2235	req, out := c.DescribeStandardsControlsRequest(input)
2236	req.SetContext(ctx)
2237	req.ApplyOptions(opts...)
2238	return out, req.Send()
2239}
2240
2241// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
2242// calling the "fn" function with the response data for each page. To stop
2243// iterating, return false from the fn function.
2244//
2245// See DescribeStandardsControls method for more information on how to use this operation.
2246//
2247// Note: This operation can generate multiple requests to a service.
2248//
2249//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
2250//    pageNum := 0
2251//    err := client.DescribeStandardsControlsPages(params,
2252//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
2253//            pageNum++
2254//            fmt.Println(page)
2255//            return pageNum <= 3
2256//        })
2257//
2258func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
2259	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
2260}
2261
2262// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
2263// it takes a Context and allows setting request options on the pages.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
2270	p := request.Pagination{
2271		NewRequest: func() (*request.Request, error) {
2272			var inCpy *DescribeStandardsControlsInput
2273			if input != nil {
2274				tmp := *input
2275				inCpy = &tmp
2276			}
2277			req, _ := c.DescribeStandardsControlsRequest(inCpy)
2278			req.SetContext(ctx)
2279			req.ApplyOptions(opts...)
2280			return req, nil
2281		},
2282	}
2283
2284	for p.Next() {
2285		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
2286			break
2287		}
2288	}
2289
2290	return p.Err()
2291}
2292
2293const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
2294
2295// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2296// client's request for the DisableImportFindingsForProduct operation. The "output" return
2297// value will be populated with the request's response once the request completes
2298// successfully.
2299//
2300// Use "Send" method on the returned Request to send the API call to the service.
2301// the "output" return value is not valid until after Send returns without error.
2302//
2303// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2304// API call, and error handling.
2305//
2306// This method is useful when you want to inject custom logic or configuration
2307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2308//
2309//
2310//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2311//    req, resp := client.DisableImportFindingsForProductRequest(params)
2312//
2313//    err := req.Send()
2314//    if err == nil { // resp is now filled
2315//        fmt.Println(resp)
2316//    }
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2319func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2320	op := &request.Operation{
2321		Name:       opDisableImportFindingsForProduct,
2322		HTTPMethod: "DELETE",
2323		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2324	}
2325
2326	if input == nil {
2327		input = &DisableImportFindingsForProductInput{}
2328	}
2329
2330	output = &DisableImportFindingsForProductOutput{}
2331	req = c.newRequest(op, input, output)
2332	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2333	return
2334}
2335
2336// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2337//
2338// Disables the integration of the specified product with Security Hub. After
2339// the integration is disabled, findings from that product are no longer sent
2340// to Security Hub.
2341//
2342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2343// with awserr.Error's Code and Message methods to get detailed information about
2344// the error.
2345//
2346// See the AWS API reference guide for AWS SecurityHub's
2347// API operation DisableImportFindingsForProduct for usage and error information.
2348//
2349// Returned Error Types:
2350//   * InternalException
2351//   Internal server error.
2352//
2353//   * InvalidInputException
2354//   The request was rejected because you supplied an invalid or out-of-range
2355//   value for an input parameter.
2356//
2357//   * ResourceNotFoundException
2358//   The request was rejected because we can't find the specified resource.
2359//
2360//   * InvalidAccessException
2361//   There is an issue with the account used to make the request. Either Security
2362//   Hub is not enabled for the account, or the account does not have permission
2363//   to perform this action.
2364//
2365//   * LimitExceededException
2366//   The request was rejected because it attempted to create resources beyond
2367//   the current AWS account or throttling limits. The error code describes the
2368//   limit exceeded.
2369//
2370// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2371func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2372	req, out := c.DisableImportFindingsForProductRequest(input)
2373	return out, req.Send()
2374}
2375
2376// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2377// the ability to pass a context and additional request options.
2378//
2379// See DisableImportFindingsForProduct for details on how to use this API operation.
2380//
2381// The context must be non-nil and will be used for request cancellation. If
2382// the context is nil a panic will occur. In the future the SDK may create
2383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2384// for more information on using Contexts.
2385func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2386	req, out := c.DisableImportFindingsForProductRequest(input)
2387	req.SetContext(ctx)
2388	req.ApplyOptions(opts...)
2389	return out, req.Send()
2390}
2391
2392const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
2393
2394// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2395// client's request for the DisableOrganizationAdminAccount operation. The "output" return
2396// value will be populated with the request's response once the request completes
2397// successfully.
2398//
2399// Use "Send" method on the returned Request to send the API call to the service.
2400// the "output" return value is not valid until after Send returns without error.
2401//
2402// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
2403// API call, and error handling.
2404//
2405// This method is useful when you want to inject custom logic or configuration
2406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2407//
2408//
2409//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
2410//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
2411//
2412//    err := req.Send()
2413//    if err == nil { // resp is now filled
2414//        fmt.Println(resp)
2415//    }
2416//
2417// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2418func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
2419	op := &request.Operation{
2420		Name:       opDisableOrganizationAdminAccount,
2421		HTTPMethod: "POST",
2422		HTTPPath:   "/organization/admin/disable",
2423	}
2424
2425	if input == nil {
2426		input = &DisableOrganizationAdminAccountInput{}
2427	}
2428
2429	output = &DisableOrganizationAdminAccountOutput{}
2430	req = c.newRequest(op, input, output)
2431	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2432	return
2433}
2434
2435// DisableOrganizationAdminAccount API operation for AWS SecurityHub.
2436//
2437// Disables a Security Hub administrator account. Can only be called by the
2438// organization management account.
2439//
2440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2441// with awserr.Error's Code and Message methods to get detailed information about
2442// the error.
2443//
2444// See the AWS API reference guide for AWS SecurityHub's
2445// API operation DisableOrganizationAdminAccount for usage and error information.
2446//
2447// Returned Error Types:
2448//   * InternalException
2449//   Internal server error.
2450//
2451//   * InvalidInputException
2452//   The request was rejected because you supplied an invalid or out-of-range
2453//   value for an input parameter.
2454//
2455//   * InvalidAccessException
2456//   There is an issue with the account used to make the request. Either Security
2457//   Hub is not enabled for the account, or the account does not have permission
2458//   to perform this action.
2459//
2460//   * LimitExceededException
2461//   The request was rejected because it attempted to create resources beyond
2462//   the current AWS account or throttling limits. The error code describes the
2463//   limit exceeded.
2464//
2465// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2466func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
2467	req, out := c.DisableOrganizationAdminAccountRequest(input)
2468	return out, req.Send()
2469}
2470
2471// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
2472// the ability to pass a context and additional request options.
2473//
2474// See DisableOrganizationAdminAccount for details on how to use this API operation.
2475//
2476// The context must be non-nil and will be used for request cancellation. If
2477// the context is nil a panic will occur. In the future the SDK may create
2478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2479// for more information on using Contexts.
2480func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
2481	req, out := c.DisableOrganizationAdminAccountRequest(input)
2482	req.SetContext(ctx)
2483	req.ApplyOptions(opts...)
2484	return out, req.Send()
2485}
2486
2487const opDisableSecurityHub = "DisableSecurityHub"
2488
2489// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2490// client's request for the DisableSecurityHub operation. The "output" return
2491// value will be populated with the request's response once the request completes
2492// successfully.
2493//
2494// Use "Send" method on the returned Request to send the API call to the service.
2495// the "output" return value is not valid until after Send returns without error.
2496//
2497// See DisableSecurityHub for more information on using the DisableSecurityHub
2498// API call, and error handling.
2499//
2500// This method is useful when you want to inject custom logic or configuration
2501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2502//
2503//
2504//    // Example sending a request using the DisableSecurityHubRequest method.
2505//    req, resp := client.DisableSecurityHubRequest(params)
2506//
2507//    err := req.Send()
2508//    if err == nil { // resp is now filled
2509//        fmt.Println(resp)
2510//    }
2511//
2512// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2513func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2514	op := &request.Operation{
2515		Name:       opDisableSecurityHub,
2516		HTTPMethod: "DELETE",
2517		HTTPPath:   "/accounts",
2518	}
2519
2520	if input == nil {
2521		input = &DisableSecurityHubInput{}
2522	}
2523
2524	output = &DisableSecurityHubOutput{}
2525	req = c.newRequest(op, input, output)
2526	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2527	return
2528}
2529
2530// DisableSecurityHub API operation for AWS SecurityHub.
2531//
2532// Disables Security Hub in your account only in the current Region. To disable
2533// Security Hub in all Regions, you must submit one request per Region where
2534// you have enabled Security Hub.
2535//
2536// When you disable Security Hub for an administrator account, it doesn't disable
2537// Security Hub for any associated member accounts.
2538//
2539// When you disable Security Hub, your existing findings and insights and any
2540// Security Hub configuration settings are deleted after 90 days and cannot
2541// be recovered. Any standards that were enabled are disabled, and your administrator
2542// and member account associations are removed.
2543//
2544// If you want to save your existing findings, you must export them before you
2545// disable Security Hub.
2546//
2547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2548// with awserr.Error's Code and Message methods to get detailed information about
2549// the error.
2550//
2551// See the AWS API reference guide for AWS SecurityHub's
2552// API operation DisableSecurityHub for usage and error information.
2553//
2554// Returned Error Types:
2555//   * InternalException
2556//   Internal server error.
2557//
2558//   * LimitExceededException
2559//   The request was rejected because it attempted to create resources beyond
2560//   the current AWS account or throttling limits. The error code describes the
2561//   limit exceeded.
2562//
2563//   * InvalidAccessException
2564//   There is an issue with the account used to make the request. Either Security
2565//   Hub is not enabled for the account, or the account does not have permission
2566//   to perform this action.
2567//
2568//   * ResourceNotFoundException
2569//   The request was rejected because we can't find the specified resource.
2570//
2571// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2572func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2573	req, out := c.DisableSecurityHubRequest(input)
2574	return out, req.Send()
2575}
2576
2577// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2578// the ability to pass a context and additional request options.
2579//
2580// See DisableSecurityHub for details on how to use this API operation.
2581//
2582// The context must be non-nil and will be used for request cancellation. If
2583// the context is nil a panic will occur. In the future the SDK may create
2584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2585// for more information on using Contexts.
2586func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2587	req, out := c.DisableSecurityHubRequest(input)
2588	req.SetContext(ctx)
2589	req.ApplyOptions(opts...)
2590	return out, req.Send()
2591}
2592
2593const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
2594
2595// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
2596// client's request for the DisassociateFromAdministratorAccount operation. The "output" return
2597// value will be populated with the request's response once the request completes
2598// successfully.
2599//
2600// Use "Send" method on the returned Request to send the API call to the service.
2601// the "output" return value is not valid until after Send returns without error.
2602//
2603// See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
2604// API call, and error handling.
2605//
2606// This method is useful when you want to inject custom logic or configuration
2607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2608//
2609//
2610//    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
2611//    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
2612//
2613//    err := req.Send()
2614//    if err == nil { // resp is now filled
2615//        fmt.Println(resp)
2616//    }
2617//
2618// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2619func (c *SecurityHub) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
2620	op := &request.Operation{
2621		Name:       opDisassociateFromAdministratorAccount,
2622		HTTPMethod: "POST",
2623		HTTPPath:   "/administrator/disassociate",
2624	}
2625
2626	if input == nil {
2627		input = &DisassociateFromAdministratorAccountInput{}
2628	}
2629
2630	output = &DisassociateFromAdministratorAccountOutput{}
2631	req = c.newRequest(op, input, output)
2632	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2633	return
2634}
2635
2636// DisassociateFromAdministratorAccount API operation for AWS SecurityHub.
2637//
2638// Disassociates the current Security Hub member account from the associated
2639// administrator account.
2640//
2641// This operation is only used by accounts that are not part of an organization.
2642// For organization accounts, only the administrator account can disassociate
2643// a member account.
2644//
2645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2646// with awserr.Error's Code and Message methods to get detailed information about
2647// the error.
2648//
2649// See the AWS API reference guide for AWS SecurityHub's
2650// API operation DisassociateFromAdministratorAccount for usage and error information.
2651//
2652// Returned Error Types:
2653//   * InternalException
2654//   Internal server error.
2655//
2656//   * InvalidInputException
2657//   The request was rejected because you supplied an invalid or out-of-range
2658//   value for an input parameter.
2659//
2660//   * InvalidAccessException
2661//   There is an issue with the account used to make the request. Either Security
2662//   Hub is not enabled for the account, or the account does not have permission
2663//   to perform this action.
2664//
2665//   * LimitExceededException
2666//   The request was rejected because it attempted to create resources beyond
2667//   the current AWS account or throttling limits. The error code describes the
2668//   limit exceeded.
2669//
2670//   * ResourceNotFoundException
2671//   The request was rejected because we can't find the specified resource.
2672//
2673// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2674func (c *SecurityHub) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
2675	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2676	return out, req.Send()
2677}
2678
2679// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
2680// the ability to pass a context and additional request options.
2681//
2682// See DisassociateFromAdministratorAccount for details on how to use this API operation.
2683//
2684// The context must be non-nil and will be used for request cancellation. If
2685// the context is nil a panic will occur. In the future the SDK may create
2686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2687// for more information on using Contexts.
2688func (c *SecurityHub) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
2689	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2690	req.SetContext(ctx)
2691	req.ApplyOptions(opts...)
2692	return out, req.Send()
2693}
2694
2695const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2696
2697// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2698// client's request for the DisassociateFromMasterAccount operation. The "output" return
2699// value will be populated with the request's response once the request completes
2700// successfully.
2701//
2702// Use "Send" method on the returned Request to send the API call to the service.
2703// the "output" return value is not valid until after Send returns without error.
2704//
2705// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2706// API call, and error handling.
2707//
2708// This method is useful when you want to inject custom logic or configuration
2709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2710//
2711//
2712//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2713//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2714//
2715//    err := req.Send()
2716//    if err == nil { // resp is now filled
2717//        fmt.Println(resp)
2718//    }
2719//
2720// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2721//
2722// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2723func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2724	if c.Client.Config.Logger != nil {
2725		c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated")
2726	}
2727	op := &request.Operation{
2728		Name:       opDisassociateFromMasterAccount,
2729		HTTPMethod: "POST",
2730		HTTPPath:   "/master/disassociate",
2731	}
2732
2733	if input == nil {
2734		input = &DisassociateFromMasterAccountInput{}
2735	}
2736
2737	output = &DisassociateFromMasterAccountOutput{}
2738	req = c.newRequest(op, input, output)
2739	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2740	return
2741}
2742
2743// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2744//
2745// This method is deprecated. Instead, use DisassociateFromAdministratorAccount.
2746//
2747// The Security Hub console continues to use DisassociateFromMasterAccount.
2748// It will eventually change to use DisassociateFromAdministratorAccount. Any
2749// IAM policies that specifically control access to this function must continue
2750// to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount
2751// to your policies to ensure that the correct permissions are in place after
2752// the console begins to use DisassociateFromAdministratorAccount.
2753//
2754// Disassociates the current Security Hub member account from the associated
2755// administrator account.
2756//
2757// This operation is only used by accounts that are not part of an organization.
2758// For organization accounts, only the administrator account can disassociate
2759// a member account.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for AWS SecurityHub's
2766// API operation DisassociateFromMasterAccount for usage and error information.
2767//
2768// Returned Error Types:
2769//   * InternalException
2770//   Internal server error.
2771//
2772//   * InvalidInputException
2773//   The request was rejected because you supplied an invalid or out-of-range
2774//   value for an input parameter.
2775//
2776//   * InvalidAccessException
2777//   There is an issue with the account used to make the request. Either Security
2778//   Hub is not enabled for the account, or the account does not have permission
2779//   to perform this action.
2780//
2781//   * LimitExceededException
2782//   The request was rejected because it attempted to create resources beyond
2783//   the current AWS account or throttling limits. The error code describes the
2784//   limit exceeded.
2785//
2786//   * ResourceNotFoundException
2787//   The request was rejected because we can't find the specified resource.
2788//
2789// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2790//
2791// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2792func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2793	req, out := c.DisassociateFromMasterAccountRequest(input)
2794	return out, req.Send()
2795}
2796
2797// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2798// the ability to pass a context and additional request options.
2799//
2800// See DisassociateFromMasterAccount for details on how to use this API operation.
2801//
2802// The context must be non-nil and will be used for request cancellation. If
2803// the context is nil a panic will occur. In the future the SDK may create
2804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2805// for more information on using Contexts.
2806//
2807// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2808func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2809	req, out := c.DisassociateFromMasterAccountRequest(input)
2810	req.SetContext(ctx)
2811	req.ApplyOptions(opts...)
2812	return out, req.Send()
2813}
2814
2815const opDisassociateMembers = "DisassociateMembers"
2816
2817// DisassociateMembersRequest generates a "aws/request.Request" representing the
2818// client's request for the DisassociateMembers operation. The "output" return
2819// value will be populated with the request's response once the request completes
2820// successfully.
2821//
2822// Use "Send" method on the returned Request to send the API call to the service.
2823// the "output" return value is not valid until after Send returns without error.
2824//
2825// See DisassociateMembers for more information on using the DisassociateMembers
2826// API call, and error handling.
2827//
2828// This method is useful when you want to inject custom logic or configuration
2829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2830//
2831//
2832//    // Example sending a request using the DisassociateMembersRequest method.
2833//    req, resp := client.DisassociateMembersRequest(params)
2834//
2835//    err := req.Send()
2836//    if err == nil { // resp is now filled
2837//        fmt.Println(resp)
2838//    }
2839//
2840// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2841func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
2842	op := &request.Operation{
2843		Name:       opDisassociateMembers,
2844		HTTPMethod: "POST",
2845		HTTPPath:   "/members/disassociate",
2846	}
2847
2848	if input == nil {
2849		input = &DisassociateMembersInput{}
2850	}
2851
2852	output = &DisassociateMembersOutput{}
2853	req = c.newRequest(op, input, output)
2854	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2855	return
2856}
2857
2858// DisassociateMembers API operation for AWS SecurityHub.
2859//
2860// Disassociates the specified member accounts from the associated administrator
2861// account.
2862//
2863// Can be used to disassociate both accounts that are managed using Organizations
2864// and accounts that were invited manually.
2865//
2866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2867// with awserr.Error's Code and Message methods to get detailed information about
2868// the error.
2869//
2870// See the AWS API reference guide for AWS SecurityHub's
2871// API operation DisassociateMembers for usage and error information.
2872//
2873// Returned Error Types:
2874//   * InternalException
2875//   Internal server error.
2876//
2877//   * InvalidInputException
2878//   The request was rejected because you supplied an invalid or out-of-range
2879//   value for an input parameter.
2880//
2881//   * InvalidAccessException
2882//   There is an issue with the account used to make the request. Either Security
2883//   Hub is not enabled for the account, or the account does not have permission
2884//   to perform this action.
2885//
2886//   * LimitExceededException
2887//   The request was rejected because it attempted to create resources beyond
2888//   the current AWS account or throttling limits. The error code describes the
2889//   limit exceeded.
2890//
2891//   * ResourceNotFoundException
2892//   The request was rejected because we can't find the specified resource.
2893//
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2895func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
2896	req, out := c.DisassociateMembersRequest(input)
2897	return out, req.Send()
2898}
2899
2900// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
2901// the ability to pass a context and additional request options.
2902//
2903// See DisassociateMembers for details on how to use this API operation.
2904//
2905// The context must be non-nil and will be used for request cancellation. If
2906// the context is nil a panic will occur. In the future the SDK may create
2907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2908// for more information on using Contexts.
2909func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
2910	req, out := c.DisassociateMembersRequest(input)
2911	req.SetContext(ctx)
2912	req.ApplyOptions(opts...)
2913	return out, req.Send()
2914}
2915
2916const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
2917
2918// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2919// client's request for the EnableImportFindingsForProduct operation. The "output" return
2920// value will be populated with the request's response once the request completes
2921// successfully.
2922//
2923// Use "Send" method on the returned Request to send the API call to the service.
2924// the "output" return value is not valid until after Send returns without error.
2925//
2926// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
2927// API call, and error handling.
2928//
2929// This method is useful when you want to inject custom logic or configuration
2930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2931//
2932//
2933//    // Example sending a request using the EnableImportFindingsForProductRequest method.
2934//    req, resp := client.EnableImportFindingsForProductRequest(params)
2935//
2936//    err := req.Send()
2937//    if err == nil { // resp is now filled
2938//        fmt.Println(resp)
2939//    }
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2942func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
2943	op := &request.Operation{
2944		Name:       opEnableImportFindingsForProduct,
2945		HTTPMethod: "POST",
2946		HTTPPath:   "/productSubscriptions",
2947	}
2948
2949	if input == nil {
2950		input = &EnableImportFindingsForProductInput{}
2951	}
2952
2953	output = &EnableImportFindingsForProductOutput{}
2954	req = c.newRequest(op, input, output)
2955	return
2956}
2957
2958// EnableImportFindingsForProduct API operation for AWS SecurityHub.
2959//
2960// Enables the integration of a partner product with Security Hub. Integrated
2961// products send findings to Security Hub.
2962//
2963// When you enable a product integration, a permissions policy that grants permission
2964// for the product to send findings to Security Hub is applied.
2965//
2966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2967// with awserr.Error's Code and Message methods to get detailed information about
2968// the error.
2969//
2970// See the AWS API reference guide for AWS SecurityHub's
2971// API operation EnableImportFindingsForProduct for usage and error information.
2972//
2973// Returned Error Types:
2974//   * InternalException
2975//   Internal server error.
2976//
2977//   * InvalidInputException
2978//   The request was rejected because you supplied an invalid or out-of-range
2979//   value for an input parameter.
2980//
2981//   * InvalidAccessException
2982//   There is an issue with the account used to make the request. Either Security
2983//   Hub is not enabled for the account, or the account does not have permission
2984//   to perform this action.
2985//
2986//   * ResourceConflictException
2987//   The resource specified in the request conflicts with an existing resource.
2988//
2989//   * LimitExceededException
2990//   The request was rejected because it attempted to create resources beyond
2991//   the current AWS account or throttling limits. The error code describes the
2992//   limit exceeded.
2993//
2994// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2995func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
2996	req, out := c.EnableImportFindingsForProductRequest(input)
2997	return out, req.Send()
2998}
2999
3000// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
3001// the ability to pass a context and additional request options.
3002//
3003// See EnableImportFindingsForProduct for details on how to use this API operation.
3004//
3005// The context must be non-nil and will be used for request cancellation. If
3006// the context is nil a panic will occur. In the future the SDK may create
3007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3008// for more information on using Contexts.
3009func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
3010	req, out := c.EnableImportFindingsForProductRequest(input)
3011	req.SetContext(ctx)
3012	req.ApplyOptions(opts...)
3013	return out, req.Send()
3014}
3015
3016const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
3017
3018// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
3019// client's request for the EnableOrganizationAdminAccount operation. The "output" return
3020// value will be populated with the request's response once the request completes
3021// successfully.
3022//
3023// Use "Send" method on the returned Request to send the API call to the service.
3024// the "output" return value is not valid until after Send returns without error.
3025//
3026// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
3027// API call, and error handling.
3028//
3029// This method is useful when you want to inject custom logic or configuration
3030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3031//
3032//
3033//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
3034//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
3035//
3036//    err := req.Send()
3037//    if err == nil { // resp is now filled
3038//        fmt.Println(resp)
3039//    }
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3042func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
3043	op := &request.Operation{
3044		Name:       opEnableOrganizationAdminAccount,
3045		HTTPMethod: "POST",
3046		HTTPPath:   "/organization/admin/enable",
3047	}
3048
3049	if input == nil {
3050		input = &EnableOrganizationAdminAccountInput{}
3051	}
3052
3053	output = &EnableOrganizationAdminAccountOutput{}
3054	req = c.newRequest(op, input, output)
3055	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3056	return
3057}
3058
3059// EnableOrganizationAdminAccount API operation for AWS SecurityHub.
3060//
3061// Designates the Security Hub administrator account for an organization. Can
3062// only be called by the organization management account.
3063//
3064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3065// with awserr.Error's Code and Message methods to get detailed information about
3066// the error.
3067//
3068// See the AWS API reference guide for AWS SecurityHub's
3069// API operation EnableOrganizationAdminAccount for usage and error information.
3070//
3071// Returned Error Types:
3072//   * InternalException
3073//   Internal server error.
3074//
3075//   * InvalidInputException
3076//   The request was rejected because you supplied an invalid or out-of-range
3077//   value for an input parameter.
3078//
3079//   * InvalidAccessException
3080//   There is an issue with the account used to make the request. Either Security
3081//   Hub is not enabled for the account, or the account does not have permission
3082//   to perform this action.
3083//
3084//   * LimitExceededException
3085//   The request was rejected because it attempted to create resources beyond
3086//   the current AWS account or throttling limits. The error code describes the
3087//   limit exceeded.
3088//
3089// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3090func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
3091	req, out := c.EnableOrganizationAdminAccountRequest(input)
3092	return out, req.Send()
3093}
3094
3095// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
3096// the ability to pass a context and additional request options.
3097//
3098// See EnableOrganizationAdminAccount for details on how to use this API operation.
3099//
3100// The context must be non-nil and will be used for request cancellation. If
3101// the context is nil a panic will occur. In the future the SDK may create
3102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3103// for more information on using Contexts.
3104func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
3105	req, out := c.EnableOrganizationAdminAccountRequest(input)
3106	req.SetContext(ctx)
3107	req.ApplyOptions(opts...)
3108	return out, req.Send()
3109}
3110
3111const opEnableSecurityHub = "EnableSecurityHub"
3112
3113// EnableSecurityHubRequest generates a "aws/request.Request" representing the
3114// client's request for the EnableSecurityHub operation. The "output" return
3115// value will be populated with the request's response once the request completes
3116// successfully.
3117//
3118// Use "Send" method on the returned Request to send the API call to the service.
3119// the "output" return value is not valid until after Send returns without error.
3120//
3121// See EnableSecurityHub for more information on using the EnableSecurityHub
3122// API call, and error handling.
3123//
3124// This method is useful when you want to inject custom logic or configuration
3125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3126//
3127//
3128//    // Example sending a request using the EnableSecurityHubRequest method.
3129//    req, resp := client.EnableSecurityHubRequest(params)
3130//
3131//    err := req.Send()
3132//    if err == nil { // resp is now filled
3133//        fmt.Println(resp)
3134//    }
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3137func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
3138	op := &request.Operation{
3139		Name:       opEnableSecurityHub,
3140		HTTPMethod: "POST",
3141		HTTPPath:   "/accounts",
3142	}
3143
3144	if input == nil {
3145		input = &EnableSecurityHubInput{}
3146	}
3147
3148	output = &EnableSecurityHubOutput{}
3149	req = c.newRequest(op, input, output)
3150	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3151	return
3152}
3153
3154// EnableSecurityHub API operation for AWS SecurityHub.
3155//
3156// Enables Security Hub for your account in the current Region or the Region
3157// you specify in the request.
3158//
3159// When you enable Security Hub, you grant to Security Hub the permissions necessary
3160// to gather findings from other services that are integrated with Security
3161// Hub.
3162//
3163// When you use the EnableSecurityHub operation to enable Security Hub, you
3164// also automatically enable the following standards.
3165//
3166//    * CIS AWS Foundations
3167//
3168//    * AWS Foundational Security Best Practices
3169//
3170// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
3171// standard.
3172//
3173// To not enable the automatically enabled standards, set EnableDefaultStandards
3174// to false.
3175//
3176// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
3177// operation. To disable a standard, use the BatchDisableStandards operation.
3178//
3179// To learn more, see Setting Up AWS Security Hub (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
3180// in the AWS Security Hub User Guide.
3181//
3182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3183// with awserr.Error's Code and Message methods to get detailed information about
3184// the error.
3185//
3186// See the AWS API reference guide for AWS SecurityHub's
3187// API operation EnableSecurityHub for usage and error information.
3188//
3189// Returned Error Types:
3190//   * InternalException
3191//   Internal server error.
3192//
3193//   * LimitExceededException
3194//   The request was rejected because it attempted to create resources beyond
3195//   the current AWS account or throttling limits. The error code describes the
3196//   limit exceeded.
3197//
3198//   * InvalidAccessException
3199//   There is an issue with the account used to make the request. Either Security
3200//   Hub is not enabled for the account, or the account does not have permission
3201//   to perform this action.
3202//
3203//   * ResourceConflictException
3204//   The resource specified in the request conflicts with an existing resource.
3205//
3206//   * AccessDeniedException
3207//   You don't have permission to perform the action specified in the request.
3208//
3209// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3210func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
3211	req, out := c.EnableSecurityHubRequest(input)
3212	return out, req.Send()
3213}
3214
3215// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
3216// the ability to pass a context and additional request options.
3217//
3218// See EnableSecurityHub for details on how to use this API operation.
3219//
3220// The context must be non-nil and will be used for request cancellation. If
3221// the context is nil a panic will occur. In the future the SDK may create
3222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3223// for more information on using Contexts.
3224func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
3225	req, out := c.EnableSecurityHubRequest(input)
3226	req.SetContext(ctx)
3227	req.ApplyOptions(opts...)
3228	return out, req.Send()
3229}
3230
3231const opGetAdministratorAccount = "GetAdministratorAccount"
3232
3233// GetAdministratorAccountRequest generates a "aws/request.Request" representing the
3234// client's request for the GetAdministratorAccount operation. The "output" return
3235// value will be populated with the request's response once the request completes
3236// successfully.
3237//
3238// Use "Send" method on the returned Request to send the API call to the service.
3239// the "output" return value is not valid until after Send returns without error.
3240//
3241// See GetAdministratorAccount for more information on using the GetAdministratorAccount
3242// API call, and error handling.
3243//
3244// This method is useful when you want to inject custom logic or configuration
3245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3246//
3247//
3248//    // Example sending a request using the GetAdministratorAccountRequest method.
3249//    req, resp := client.GetAdministratorAccountRequest(params)
3250//
3251//    err := req.Send()
3252//    if err == nil { // resp is now filled
3253//        fmt.Println(resp)
3254//    }
3255//
3256// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3257func (c *SecurityHub) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
3258	op := &request.Operation{
3259		Name:       opGetAdministratorAccount,
3260		HTTPMethod: "GET",
3261		HTTPPath:   "/administrator",
3262	}
3263
3264	if input == nil {
3265		input = &GetAdministratorAccountInput{}
3266	}
3267
3268	output = &GetAdministratorAccountOutput{}
3269	req = c.newRequest(op, input, output)
3270	return
3271}
3272
3273// GetAdministratorAccount API operation for AWS SecurityHub.
3274//
3275// Provides the details for the Security Hub administrator account for the current
3276// member account.
3277//
3278// Can be used by both member accounts that are managed using Organizations
3279// and accounts that were invited manually.
3280//
3281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3282// with awserr.Error's Code and Message methods to get detailed information about
3283// the error.
3284//
3285// See the AWS API reference guide for AWS SecurityHub's
3286// API operation GetAdministratorAccount for usage and error information.
3287//
3288// Returned Error Types:
3289//   * InternalException
3290//   Internal server error.
3291//
3292//   * InvalidInputException
3293//   The request was rejected because you supplied an invalid or out-of-range
3294//   value for an input parameter.
3295//
3296//   * InvalidAccessException
3297//   There is an issue with the account used to make the request. Either Security
3298//   Hub is not enabled for the account, or the account does not have permission
3299//   to perform this action.
3300//
3301//   * LimitExceededException
3302//   The request was rejected because it attempted to create resources beyond
3303//   the current AWS account or throttling limits. The error code describes the
3304//   limit exceeded.
3305//
3306//   * ResourceNotFoundException
3307//   The request was rejected because we can't find the specified resource.
3308//
3309// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3310func (c *SecurityHub) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
3311	req, out := c.GetAdministratorAccountRequest(input)
3312	return out, req.Send()
3313}
3314
3315// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
3316// the ability to pass a context and additional request options.
3317//
3318// See GetAdministratorAccount for details on how to use this API operation.
3319//
3320// The context must be non-nil and will be used for request cancellation. If
3321// the context is nil a panic will occur. In the future the SDK may create
3322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3323// for more information on using Contexts.
3324func (c *SecurityHub) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
3325	req, out := c.GetAdministratorAccountRequest(input)
3326	req.SetContext(ctx)
3327	req.ApplyOptions(opts...)
3328	return out, req.Send()
3329}
3330
3331const opGetEnabledStandards = "GetEnabledStandards"
3332
3333// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
3334// client's request for the GetEnabledStandards operation. The "output" return
3335// value will be populated with the request's response once the request completes
3336// successfully.
3337//
3338// Use "Send" method on the returned Request to send the API call to the service.
3339// the "output" return value is not valid until after Send returns without error.
3340//
3341// See GetEnabledStandards for more information on using the GetEnabledStandards
3342// API call, and error handling.
3343//
3344// This method is useful when you want to inject custom logic or configuration
3345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3346//
3347//
3348//    // Example sending a request using the GetEnabledStandardsRequest method.
3349//    req, resp := client.GetEnabledStandardsRequest(params)
3350//
3351//    err := req.Send()
3352//    if err == nil { // resp is now filled
3353//        fmt.Println(resp)
3354//    }
3355//
3356// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3357func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
3358	op := &request.Operation{
3359		Name:       opGetEnabledStandards,
3360		HTTPMethod: "POST",
3361		HTTPPath:   "/standards/get",
3362		Paginator: &request.Paginator{
3363			InputTokens:     []string{"NextToken"},
3364			OutputTokens:    []string{"NextToken"},
3365			LimitToken:      "MaxResults",
3366			TruncationToken: "",
3367		},
3368	}
3369
3370	if input == nil {
3371		input = &GetEnabledStandardsInput{}
3372	}
3373
3374	output = &GetEnabledStandardsOutput{}
3375	req = c.newRequest(op, input, output)
3376	return
3377}
3378
3379// GetEnabledStandards API operation for AWS SecurityHub.
3380//
3381// Returns a list of the standards that are currently enabled.
3382//
3383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3384// with awserr.Error's Code and Message methods to get detailed information about
3385// the error.
3386//
3387// See the AWS API reference guide for AWS SecurityHub's
3388// API operation GetEnabledStandards for usage and error information.
3389//
3390// Returned Error Types:
3391//   * InternalException
3392//   Internal server error.
3393//
3394//   * InvalidInputException
3395//   The request was rejected because you supplied an invalid or out-of-range
3396//   value for an input parameter.
3397//
3398//   * InvalidAccessException
3399//   There is an issue with the account used to make the request. Either Security
3400//   Hub is not enabled for the account, or the account does not have permission
3401//   to perform this action.
3402//
3403//   * LimitExceededException
3404//   The request was rejected because it attempted to create resources beyond
3405//   the current AWS account or throttling limits. The error code describes the
3406//   limit exceeded.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3409func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
3410	req, out := c.GetEnabledStandardsRequest(input)
3411	return out, req.Send()
3412}
3413
3414// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See GetEnabledStandards for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
3424	req, out := c.GetEnabledStandardsRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
3431// calling the "fn" function with the response data for each page. To stop
3432// iterating, return false from the fn function.
3433//
3434// See GetEnabledStandards method for more information on how to use this operation.
3435//
3436// Note: This operation can generate multiple requests to a service.
3437//
3438//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
3439//    pageNum := 0
3440//    err := client.GetEnabledStandardsPages(params,
3441//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
3442//            pageNum++
3443//            fmt.Println(page)
3444//            return pageNum <= 3
3445//        })
3446//
3447func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
3448	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
3449}
3450
3451// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
3452// it takes a Context and allows setting request options on the pages.
3453//
3454// The context must be non-nil and will be used for request cancellation. If
3455// the context is nil a panic will occur. In the future the SDK may create
3456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3457// for more information on using Contexts.
3458func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
3459	p := request.Pagination{
3460		NewRequest: func() (*request.Request, error) {
3461			var inCpy *GetEnabledStandardsInput
3462			if input != nil {
3463				tmp := *input
3464				inCpy = &tmp
3465			}
3466			req, _ := c.GetEnabledStandardsRequest(inCpy)
3467			req.SetContext(ctx)
3468			req.ApplyOptions(opts...)
3469			return req, nil
3470		},
3471	}
3472
3473	for p.Next() {
3474		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
3475			break
3476		}
3477	}
3478
3479	return p.Err()
3480}
3481
3482const opGetFindings = "GetFindings"
3483
3484// GetFindingsRequest generates a "aws/request.Request" representing the
3485// client's request for the GetFindings operation. The "output" return
3486// value will be populated with the request's response once the request completes
3487// successfully.
3488//
3489// Use "Send" method on the returned Request to send the API call to the service.
3490// the "output" return value is not valid until after Send returns without error.
3491//
3492// See GetFindings for more information on using the GetFindings
3493// API call, and error handling.
3494//
3495// This method is useful when you want to inject custom logic or configuration
3496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3497//
3498//
3499//    // Example sending a request using the GetFindingsRequest method.
3500//    req, resp := client.GetFindingsRequest(params)
3501//
3502//    err := req.Send()
3503//    if err == nil { // resp is now filled
3504//        fmt.Println(resp)
3505//    }
3506//
3507// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3508func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3509	op := &request.Operation{
3510		Name:       opGetFindings,
3511		HTTPMethod: "POST",
3512		HTTPPath:   "/findings",
3513		Paginator: &request.Paginator{
3514			InputTokens:     []string{"NextToken"},
3515			OutputTokens:    []string{"NextToken"},
3516			LimitToken:      "MaxResults",
3517			TruncationToken: "",
3518		},
3519	}
3520
3521	if input == nil {
3522		input = &GetFindingsInput{}
3523	}
3524
3525	output = &GetFindingsOutput{}
3526	req = c.newRequest(op, input, output)
3527	return
3528}
3529
3530// GetFindings API operation for AWS SecurityHub.
3531//
3532// Returns a list of findings that match the specified criteria.
3533//
3534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3535// with awserr.Error's Code and Message methods to get detailed information about
3536// the error.
3537//
3538// See the AWS API reference guide for AWS SecurityHub's
3539// API operation GetFindings for usage and error information.
3540//
3541// Returned Error Types:
3542//   * InternalException
3543//   Internal server error.
3544//
3545//   * InvalidInputException
3546//   The request was rejected because you supplied an invalid or out-of-range
3547//   value for an input parameter.
3548//
3549//   * InvalidAccessException
3550//   There is an issue with the account used to make the request. Either Security
3551//   Hub is not enabled for the account, or the account does not have permission
3552//   to perform this action.
3553//
3554//   * LimitExceededException
3555//   The request was rejected because it attempted to create resources beyond
3556//   the current AWS account or throttling limits. The error code describes the
3557//   limit exceeded.
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3560func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3561	req, out := c.GetFindingsRequest(input)
3562	return out, req.Send()
3563}
3564
3565// GetFindingsWithContext is the same as GetFindings with the addition of
3566// the ability to pass a context and additional request options.
3567//
3568// See GetFindings for details on how to use this API operation.
3569//
3570// The context must be non-nil and will be used for request cancellation. If
3571// the context is nil a panic will occur. In the future the SDK may create
3572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3573// for more information on using Contexts.
3574func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3575	req, out := c.GetFindingsRequest(input)
3576	req.SetContext(ctx)
3577	req.ApplyOptions(opts...)
3578	return out, req.Send()
3579}
3580
3581// GetFindingsPages iterates over the pages of a GetFindings operation,
3582// calling the "fn" function with the response data for each page. To stop
3583// iterating, return false from the fn function.
3584//
3585// See GetFindings method for more information on how to use this operation.
3586//
3587// Note: This operation can generate multiple requests to a service.
3588//
3589//    // Example iterating over at most 3 pages of a GetFindings operation.
3590//    pageNum := 0
3591//    err := client.GetFindingsPages(params,
3592//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
3593//            pageNum++
3594//            fmt.Println(page)
3595//            return pageNum <= 3
3596//        })
3597//
3598func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
3599	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3600}
3601
3602// GetFindingsPagesWithContext same as GetFindingsPages except
3603// it takes a Context and allows setting request options on the pages.
3604//
3605// The context must be non-nil and will be used for request cancellation. If
3606// the context is nil a panic will occur. In the future the SDK may create
3607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3608// for more information on using Contexts.
3609func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
3610	p := request.Pagination{
3611		NewRequest: func() (*request.Request, error) {
3612			var inCpy *GetFindingsInput
3613			if input != nil {
3614				tmp := *input
3615				inCpy = &tmp
3616			}
3617			req, _ := c.GetFindingsRequest(inCpy)
3618			req.SetContext(ctx)
3619			req.ApplyOptions(opts...)
3620			return req, nil
3621		},
3622	}
3623
3624	for p.Next() {
3625		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
3626			break
3627		}
3628	}
3629
3630	return p.Err()
3631}
3632
3633const opGetInsightResults = "GetInsightResults"
3634
3635// GetInsightResultsRequest generates a "aws/request.Request" representing the
3636// client's request for the GetInsightResults operation. The "output" return
3637// value will be populated with the request's response once the request completes
3638// successfully.
3639//
3640// Use "Send" method on the returned Request to send the API call to the service.
3641// the "output" return value is not valid until after Send returns without error.
3642//
3643// See GetInsightResults for more information on using the GetInsightResults
3644// API call, and error handling.
3645//
3646// This method is useful when you want to inject custom logic or configuration
3647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3648//
3649//
3650//    // Example sending a request using the GetInsightResultsRequest method.
3651//    req, resp := client.GetInsightResultsRequest(params)
3652//
3653//    err := req.Send()
3654//    if err == nil { // resp is now filled
3655//        fmt.Println(resp)
3656//    }
3657//
3658// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3659func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
3660	op := &request.Operation{
3661		Name:       opGetInsightResults,
3662		HTTPMethod: "GET",
3663		HTTPPath:   "/insights/results/{InsightArn+}",
3664	}
3665
3666	if input == nil {
3667		input = &GetInsightResultsInput{}
3668	}
3669
3670	output = &GetInsightResultsOutput{}
3671	req = c.newRequest(op, input, output)
3672	return
3673}
3674
3675// GetInsightResults API operation for AWS SecurityHub.
3676//
3677// Lists the results of the Security Hub insight specified by the insight ARN.
3678//
3679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3680// with awserr.Error's Code and Message methods to get detailed information about
3681// the error.
3682//
3683// See the AWS API reference guide for AWS SecurityHub's
3684// API operation GetInsightResults for usage and error information.
3685//
3686// Returned Error Types:
3687//   * InternalException
3688//   Internal server error.
3689//
3690//   * InvalidInputException
3691//   The request was rejected because you supplied an invalid or out-of-range
3692//   value for an input parameter.
3693//
3694//   * InvalidAccessException
3695//   There is an issue with the account used to make the request. Either Security
3696//   Hub is not enabled for the account, or the account does not have permission
3697//   to perform this action.
3698//
3699//   * LimitExceededException
3700//   The request was rejected because it attempted to create resources beyond
3701//   the current AWS account or throttling limits. The error code describes the
3702//   limit exceeded.
3703//
3704//   * ResourceNotFoundException
3705//   The request was rejected because we can't find the specified resource.
3706//
3707// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3708func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
3709	req, out := c.GetInsightResultsRequest(input)
3710	return out, req.Send()
3711}
3712
3713// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
3714// the ability to pass a context and additional request options.
3715//
3716// See GetInsightResults for details on how to use this API operation.
3717//
3718// The context must be non-nil and will be used for request cancellation. If
3719// the context is nil a panic will occur. In the future the SDK may create
3720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3721// for more information on using Contexts.
3722func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
3723	req, out := c.GetInsightResultsRequest(input)
3724	req.SetContext(ctx)
3725	req.ApplyOptions(opts...)
3726	return out, req.Send()
3727}
3728
3729const opGetInsights = "GetInsights"
3730
3731// GetInsightsRequest generates a "aws/request.Request" representing the
3732// client's request for the GetInsights operation. The "output" return
3733// value will be populated with the request's response once the request completes
3734// successfully.
3735//
3736// Use "Send" method on the returned Request to send the API call to the service.
3737// the "output" return value is not valid until after Send returns without error.
3738//
3739// See GetInsights for more information on using the GetInsights
3740// API call, and error handling.
3741//
3742// This method is useful when you want to inject custom logic or configuration
3743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3744//
3745//
3746//    // Example sending a request using the GetInsightsRequest method.
3747//    req, resp := client.GetInsightsRequest(params)
3748//
3749//    err := req.Send()
3750//    if err == nil { // resp is now filled
3751//        fmt.Println(resp)
3752//    }
3753//
3754// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3755func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
3756	op := &request.Operation{
3757		Name:       opGetInsights,
3758		HTTPMethod: "POST",
3759		HTTPPath:   "/insights/get",
3760		Paginator: &request.Paginator{
3761			InputTokens:     []string{"NextToken"},
3762			OutputTokens:    []string{"NextToken"},
3763			LimitToken:      "MaxResults",
3764			TruncationToken: "",
3765		},
3766	}
3767
3768	if input == nil {
3769		input = &GetInsightsInput{}
3770	}
3771
3772	output = &GetInsightsOutput{}
3773	req = c.newRequest(op, input, output)
3774	return
3775}
3776
3777// GetInsights API operation for AWS SecurityHub.
3778//
3779// Lists and describes insights for the specified insight ARNs.
3780//
3781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3782// with awserr.Error's Code and Message methods to get detailed information about
3783// the error.
3784//
3785// See the AWS API reference guide for AWS SecurityHub's
3786// API operation GetInsights for usage and error information.
3787//
3788// Returned Error Types:
3789//   * InternalException
3790//   Internal server error.
3791//
3792//   * InvalidInputException
3793//   The request was rejected because you supplied an invalid or out-of-range
3794//   value for an input parameter.
3795//
3796//   * InvalidAccessException
3797//   There is an issue with the account used to make the request. Either Security
3798//   Hub is not enabled for the account, or the account does not have permission
3799//   to perform this action.
3800//
3801//   * LimitExceededException
3802//   The request was rejected because it attempted to create resources beyond
3803//   the current AWS account or throttling limits. The error code describes the
3804//   limit exceeded.
3805//
3806//   * ResourceNotFoundException
3807//   The request was rejected because we can't find the specified resource.
3808//
3809// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3810func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
3811	req, out := c.GetInsightsRequest(input)
3812	return out, req.Send()
3813}
3814
3815// GetInsightsWithContext is the same as GetInsights with the addition of
3816// the ability to pass a context and additional request options.
3817//
3818// See GetInsights for details on how to use this API operation.
3819//
3820// The context must be non-nil and will be used for request cancellation. If
3821// the context is nil a panic will occur. In the future the SDK may create
3822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3823// for more information on using Contexts.
3824func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
3825	req, out := c.GetInsightsRequest(input)
3826	req.SetContext(ctx)
3827	req.ApplyOptions(opts...)
3828	return out, req.Send()
3829}
3830
3831// GetInsightsPages iterates over the pages of a GetInsights operation,
3832// calling the "fn" function with the response data for each page. To stop
3833// iterating, return false from the fn function.
3834//
3835// See GetInsights method for more information on how to use this operation.
3836//
3837// Note: This operation can generate multiple requests to a service.
3838//
3839//    // Example iterating over at most 3 pages of a GetInsights operation.
3840//    pageNum := 0
3841//    err := client.GetInsightsPages(params,
3842//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
3843//            pageNum++
3844//            fmt.Println(page)
3845//            return pageNum <= 3
3846//        })
3847//
3848func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
3849	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
3850}
3851
3852// GetInsightsPagesWithContext same as GetInsightsPages except
3853// it takes a Context and allows setting request options on the pages.
3854//
3855// The context must be non-nil and will be used for request cancellation. If
3856// the context is nil a panic will occur. In the future the SDK may create
3857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3858// for more information on using Contexts.
3859func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
3860	p := request.Pagination{
3861		NewRequest: func() (*request.Request, error) {
3862			var inCpy *GetInsightsInput
3863			if input != nil {
3864				tmp := *input
3865				inCpy = &tmp
3866			}
3867			req, _ := c.GetInsightsRequest(inCpy)
3868			req.SetContext(ctx)
3869			req.ApplyOptions(opts...)
3870			return req, nil
3871		},
3872	}
3873
3874	for p.Next() {
3875		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
3876			break
3877		}
3878	}
3879
3880	return p.Err()
3881}
3882
3883const opGetInvitationsCount = "GetInvitationsCount"
3884
3885// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3886// client's request for the GetInvitationsCount operation. The "output" return
3887// value will be populated with the request's response once the request completes
3888// successfully.
3889//
3890// Use "Send" method on the returned Request to send the API call to the service.
3891// the "output" return value is not valid until after Send returns without error.
3892//
3893// See GetInvitationsCount for more information on using the GetInvitationsCount
3894// API call, and error handling.
3895//
3896// This method is useful when you want to inject custom logic or configuration
3897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3898//
3899//
3900//    // Example sending a request using the GetInvitationsCountRequest method.
3901//    req, resp := client.GetInvitationsCountRequest(params)
3902//
3903//    err := req.Send()
3904//    if err == nil { // resp is now filled
3905//        fmt.Println(resp)
3906//    }
3907//
3908// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3909func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3910	op := &request.Operation{
3911		Name:       opGetInvitationsCount,
3912		HTTPMethod: "GET",
3913		HTTPPath:   "/invitations/count",
3914	}
3915
3916	if input == nil {
3917		input = &GetInvitationsCountInput{}
3918	}
3919
3920	output = &GetInvitationsCountOutput{}
3921	req = c.newRequest(op, input, output)
3922	return
3923}
3924
3925// GetInvitationsCount API operation for AWS SecurityHub.
3926//
3927// Returns the count of all Security Hub membership invitations that were sent
3928// to the current member account, not including the currently accepted invitation.
3929//
3930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3931// with awserr.Error's Code and Message methods to get detailed information about
3932// the error.
3933//
3934// See the AWS API reference guide for AWS SecurityHub's
3935// API operation GetInvitationsCount for usage and error information.
3936//
3937// Returned Error Types:
3938//   * InternalException
3939//   Internal server error.
3940//
3941//   * InvalidInputException
3942//   The request was rejected because you supplied an invalid or out-of-range
3943//   value for an input parameter.
3944//
3945//   * InvalidAccessException
3946//   There is an issue with the account used to make the request. Either Security
3947//   Hub is not enabled for the account, or the account does not have permission
3948//   to perform this action.
3949//
3950//   * LimitExceededException
3951//   The request was rejected because it attempted to create resources beyond
3952//   the current AWS account or throttling limits. The error code describes the
3953//   limit exceeded.
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3956func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3957	req, out := c.GetInvitationsCountRequest(input)
3958	return out, req.Send()
3959}
3960
3961// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3962// the ability to pass a context and additional request options.
3963//
3964// See GetInvitationsCount for details on how to use this API operation.
3965//
3966// The context must be non-nil and will be used for request cancellation. If
3967// the context is nil a panic will occur. In the future the SDK may create
3968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3969// for more information on using Contexts.
3970func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3971	req, out := c.GetInvitationsCountRequest(input)
3972	req.SetContext(ctx)
3973	req.ApplyOptions(opts...)
3974	return out, req.Send()
3975}
3976
3977const opGetMasterAccount = "GetMasterAccount"
3978
3979// GetMasterAccountRequest generates a "aws/request.Request" representing the
3980// client's request for the GetMasterAccount operation. The "output" return
3981// value will be populated with the request's response once the request completes
3982// successfully.
3983//
3984// Use "Send" method on the returned Request to send the API call to the service.
3985// the "output" return value is not valid until after Send returns without error.
3986//
3987// See GetMasterAccount for more information on using the GetMasterAccount
3988// API call, and error handling.
3989//
3990// This method is useful when you want to inject custom logic or configuration
3991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3992//
3993//
3994//    // Example sending a request using the GetMasterAccountRequest method.
3995//    req, resp := client.GetMasterAccountRequest(params)
3996//
3997//    err := req.Send()
3998//    if err == nil { // resp is now filled
3999//        fmt.Println(resp)
4000//    }
4001//
4002// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4003//
4004// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4005func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
4006	if c.Client.Config.Logger != nil {
4007		c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated")
4008	}
4009	op := &request.Operation{
4010		Name:       opGetMasterAccount,
4011		HTTPMethod: "GET",
4012		HTTPPath:   "/master",
4013	}
4014
4015	if input == nil {
4016		input = &GetMasterAccountInput{}
4017	}
4018
4019	output = &GetMasterAccountOutput{}
4020	req = c.newRequest(op, input, output)
4021	return
4022}
4023
4024// GetMasterAccount API operation for AWS SecurityHub.
4025//
4026// This method is deprecated. Instead, use GetAdministratorAccount.
4027//
4028// The Security Hub console continues to use GetMasterAccount. It will eventually
4029// change to use GetAdministratorAccount. Any IAM policies that specifically
4030// control access to this function must continue to use GetMasterAccount. You
4031// should also add GetAdministratorAccount to your policies to ensure that the
4032// correct permissions are in place after the console begins to use GetAdministratorAccount.
4033//
4034// Provides the details for the Security Hub administrator account for the current
4035// member account.
4036//
4037// Can be used by both member accounts that are managed using Organizations
4038// and accounts that were invited manually.
4039//
4040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4041// with awserr.Error's Code and Message methods to get detailed information about
4042// the error.
4043//
4044// See the AWS API reference guide for AWS SecurityHub's
4045// API operation GetMasterAccount for usage and error information.
4046//
4047// Returned Error Types:
4048//   * InternalException
4049//   Internal server error.
4050//
4051//   * InvalidInputException
4052//   The request was rejected because you supplied an invalid or out-of-range
4053//   value for an input parameter.
4054//
4055//   * InvalidAccessException
4056//   There is an issue with the account used to make the request. Either Security
4057//   Hub is not enabled for the account, or the account does not have permission
4058//   to perform this action.
4059//
4060//   * LimitExceededException
4061//   The request was rejected because it attempted to create resources beyond
4062//   the current AWS account or throttling limits. The error code describes the
4063//   limit exceeded.
4064//
4065//   * ResourceNotFoundException
4066//   The request was rejected because we can't find the specified resource.
4067//
4068// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4069//
4070// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4071func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
4072	req, out := c.GetMasterAccountRequest(input)
4073	return out, req.Send()
4074}
4075
4076// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
4077// the ability to pass a context and additional request options.
4078//
4079// See GetMasterAccount for details on how to use this API operation.
4080//
4081// The context must be non-nil and will be used for request cancellation. If
4082// the context is nil a panic will occur. In the future the SDK may create
4083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4084// for more information on using Contexts.
4085//
4086// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4087func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
4088	req, out := c.GetMasterAccountRequest(input)
4089	req.SetContext(ctx)
4090	req.ApplyOptions(opts...)
4091	return out, req.Send()
4092}
4093
4094const opGetMembers = "GetMembers"
4095
4096// GetMembersRequest generates a "aws/request.Request" representing the
4097// client's request for the GetMembers operation. The "output" return
4098// value will be populated with the request's response once the request completes
4099// successfully.
4100//
4101// Use "Send" method on the returned Request to send the API call to the service.
4102// the "output" return value is not valid until after Send returns without error.
4103//
4104// See GetMembers for more information on using the GetMembers
4105// API call, and error handling.
4106//
4107// This method is useful when you want to inject custom logic or configuration
4108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4109//
4110//
4111//    // Example sending a request using the GetMembersRequest method.
4112//    req, resp := client.GetMembersRequest(params)
4113//
4114//    err := req.Send()
4115//    if err == nil { // resp is now filled
4116//        fmt.Println(resp)
4117//    }
4118//
4119// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4120func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
4121	op := &request.Operation{
4122		Name:       opGetMembers,
4123		HTTPMethod: "POST",
4124		HTTPPath:   "/members/get",
4125	}
4126
4127	if input == nil {
4128		input = &GetMembersInput{}
4129	}
4130
4131	output = &GetMembersOutput{}
4132	req = c.newRequest(op, input, output)
4133	return
4134}
4135
4136// GetMembers API operation for AWS SecurityHub.
4137//
4138// Returns the details for the Security Hub member accounts for the specified
4139// account IDs.
4140//
4141// An administrator account can be either the delegated Security Hub administrator
4142// account for an organization or an administrator account that enabled Security
4143// Hub manually.
4144//
4145// The results include both member accounts that are managed using Organizations
4146// and accounts that were invited manually.
4147//
4148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4149// with awserr.Error's Code and Message methods to get detailed information about
4150// the error.
4151//
4152// See the AWS API reference guide for AWS SecurityHub's
4153// API operation GetMembers for usage and error information.
4154//
4155// Returned Error Types:
4156//   * InternalException
4157//   Internal server error.
4158//
4159//   * InvalidInputException
4160//   The request was rejected because you supplied an invalid or out-of-range
4161//   value for an input parameter.
4162//
4163//   * InvalidAccessException
4164//   There is an issue with the account used to make the request. Either Security
4165//   Hub is not enabled for the account, or the account does not have permission
4166//   to perform this action.
4167//
4168//   * LimitExceededException
4169//   The request was rejected because it attempted to create resources beyond
4170//   the current AWS account or throttling limits. The error code describes the
4171//   limit exceeded.
4172//
4173//   * ResourceNotFoundException
4174//   The request was rejected because we can't find the specified resource.
4175//
4176// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4177func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
4178	req, out := c.GetMembersRequest(input)
4179	return out, req.Send()
4180}
4181
4182// GetMembersWithContext is the same as GetMembers with the addition of
4183// the ability to pass a context and additional request options.
4184//
4185// See GetMembers for details on how to use this API operation.
4186//
4187// The context must be non-nil and will be used for request cancellation. If
4188// the context is nil a panic will occur. In the future the SDK may create
4189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4190// for more information on using Contexts.
4191func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
4192	req, out := c.GetMembersRequest(input)
4193	req.SetContext(ctx)
4194	req.ApplyOptions(opts...)
4195	return out, req.Send()
4196}
4197
4198const opInviteMembers = "InviteMembers"
4199
4200// InviteMembersRequest generates a "aws/request.Request" representing the
4201// client's request for the InviteMembers operation. The "output" return
4202// value will be populated with the request's response once the request completes
4203// successfully.
4204//
4205// Use "Send" method on the returned Request to send the API call to the service.
4206// the "output" return value is not valid until after Send returns without error.
4207//
4208// See InviteMembers for more information on using the InviteMembers
4209// API call, and error handling.
4210//
4211// This method is useful when you want to inject custom logic or configuration
4212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4213//
4214//
4215//    // Example sending a request using the InviteMembersRequest method.
4216//    req, resp := client.InviteMembersRequest(params)
4217//
4218//    err := req.Send()
4219//    if err == nil { // resp is now filled
4220//        fmt.Println(resp)
4221//    }
4222//
4223// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4224func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
4225	op := &request.Operation{
4226		Name:       opInviteMembers,
4227		HTTPMethod: "POST",
4228		HTTPPath:   "/members/invite",
4229	}
4230
4231	if input == nil {
4232		input = &InviteMembersInput{}
4233	}
4234
4235	output = &InviteMembersOutput{}
4236	req = c.newRequest(op, input, output)
4237	return
4238}
4239
4240// InviteMembers API operation for AWS SecurityHub.
4241//
4242// Invites other AWS accounts to become member accounts for the Security Hub
4243// administrator account that the invitation is sent from.
4244//
4245// This operation is only used to invite accounts that do not belong to an organization.
4246// Organization accounts do not receive invitations.
4247//
4248// Before you can use this action to invite a member, you must first use the
4249// CreateMembers action to create the member account in Security Hub.
4250//
4251// When the account owner enables Security Hub and accepts the invitation to
4252// become a member account, the administrator account can view the findings
4253// generated from the member account.
4254//
4255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4256// with awserr.Error's Code and Message methods to get detailed information about
4257// the error.
4258//
4259// See the AWS API reference guide for AWS SecurityHub's
4260// API operation InviteMembers for usage and error information.
4261//
4262// Returned Error Types:
4263//   * InternalException
4264//   Internal server error.
4265//
4266//   * InvalidInputException
4267//   The request was rejected because you supplied an invalid or out-of-range
4268//   value for an input parameter.
4269//
4270//   * InvalidAccessException
4271//   There is an issue with the account used to make the request. Either Security
4272//   Hub is not enabled for the account, or the account does not have permission
4273//   to perform this action.
4274//
4275//   * LimitExceededException
4276//   The request was rejected because it attempted to create resources beyond
4277//   the current AWS account or throttling limits. The error code describes the
4278//   limit exceeded.
4279//
4280//   * ResourceNotFoundException
4281//   The request was rejected because we can't find the specified resource.
4282//
4283// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4284func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
4285	req, out := c.InviteMembersRequest(input)
4286	return out, req.Send()
4287}
4288
4289// InviteMembersWithContext is the same as InviteMembers with the addition of
4290// the ability to pass a context and additional request options.
4291//
4292// See InviteMembers for details on how to use this API operation.
4293//
4294// The context must be non-nil and will be used for request cancellation. If
4295// the context is nil a panic will occur. In the future the SDK may create
4296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4297// for more information on using Contexts.
4298func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
4299	req, out := c.InviteMembersRequest(input)
4300	req.SetContext(ctx)
4301	req.ApplyOptions(opts...)
4302	return out, req.Send()
4303}
4304
4305const opListEnabledProductsForImport = "ListEnabledProductsForImport"
4306
4307// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
4308// client's request for the ListEnabledProductsForImport operation. The "output" return
4309// value will be populated with the request's response once the request completes
4310// successfully.
4311//
4312// Use "Send" method on the returned Request to send the API call to the service.
4313// the "output" return value is not valid until after Send returns without error.
4314//
4315// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
4316// API call, and error handling.
4317//
4318// This method is useful when you want to inject custom logic or configuration
4319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4320//
4321//
4322//    // Example sending a request using the ListEnabledProductsForImportRequest method.
4323//    req, resp := client.ListEnabledProductsForImportRequest(params)
4324//
4325//    err := req.Send()
4326//    if err == nil { // resp is now filled
4327//        fmt.Println(resp)
4328//    }
4329//
4330// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4331func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
4332	op := &request.Operation{
4333		Name:       opListEnabledProductsForImport,
4334		HTTPMethod: "GET",
4335		HTTPPath:   "/productSubscriptions",
4336		Paginator: &request.Paginator{
4337			InputTokens:     []string{"NextToken"},
4338			OutputTokens:    []string{"NextToken"},
4339			LimitToken:      "MaxResults",
4340			TruncationToken: "",
4341		},
4342	}
4343
4344	if input == nil {
4345		input = &ListEnabledProductsForImportInput{}
4346	}
4347
4348	output = &ListEnabledProductsForImportOutput{}
4349	req = c.newRequest(op, input, output)
4350	return
4351}
4352
4353// ListEnabledProductsForImport API operation for AWS SecurityHub.
4354//
4355// Lists all findings-generating solutions (products) that you are subscribed
4356// to receive findings from in Security Hub.
4357//
4358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4359// with awserr.Error's Code and Message methods to get detailed information about
4360// the error.
4361//
4362// See the AWS API reference guide for AWS SecurityHub's
4363// API operation ListEnabledProductsForImport for usage and error information.
4364//
4365// Returned Error Types:
4366//   * InternalException
4367//   Internal server error.
4368//
4369//   * LimitExceededException
4370//   The request was rejected because it attempted to create resources beyond
4371//   the current AWS account or throttling limits. The error code describes the
4372//   limit exceeded.
4373//
4374//   * InvalidAccessException
4375//   There is an issue with the account used to make the request. Either Security
4376//   Hub is not enabled for the account, or the account does not have permission
4377//   to perform this action.
4378//
4379// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4380func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
4381	req, out := c.ListEnabledProductsForImportRequest(input)
4382	return out, req.Send()
4383}
4384
4385// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
4386// the ability to pass a context and additional request options.
4387//
4388// See ListEnabledProductsForImport for details on how to use this API operation.
4389//
4390// The context must be non-nil and will be used for request cancellation. If
4391// the context is nil a panic will occur. In the future the SDK may create
4392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4393// for more information on using Contexts.
4394func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
4395	req, out := c.ListEnabledProductsForImportRequest(input)
4396	req.SetContext(ctx)
4397	req.ApplyOptions(opts...)
4398	return out, req.Send()
4399}
4400
4401// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
4402// calling the "fn" function with the response data for each page. To stop
4403// iterating, return false from the fn function.
4404//
4405// See ListEnabledProductsForImport method for more information on how to use this operation.
4406//
4407// Note: This operation can generate multiple requests to a service.
4408//
4409//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
4410//    pageNum := 0
4411//    err := client.ListEnabledProductsForImportPages(params,
4412//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
4413//            pageNum++
4414//            fmt.Println(page)
4415//            return pageNum <= 3
4416//        })
4417//
4418func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
4419	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
4420}
4421
4422// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
4423// it takes a Context and allows setting request options on the pages.
4424//
4425// The context must be non-nil and will be used for request cancellation. If
4426// the context is nil a panic will occur. In the future the SDK may create
4427// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4428// for more information on using Contexts.
4429func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
4430	p := request.Pagination{
4431		NewRequest: func() (*request.Request, error) {
4432			var inCpy *ListEnabledProductsForImportInput
4433			if input != nil {
4434				tmp := *input
4435				inCpy = &tmp
4436			}
4437			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
4438			req.SetContext(ctx)
4439			req.ApplyOptions(opts...)
4440			return req, nil
4441		},
4442	}
4443
4444	for p.Next() {
4445		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
4446			break
4447		}
4448	}
4449
4450	return p.Err()
4451}
4452
4453const opListInvitations = "ListInvitations"
4454
4455// ListInvitationsRequest generates a "aws/request.Request" representing the
4456// client's request for the ListInvitations operation. The "output" return
4457// value will be populated with the request's response once the request completes
4458// successfully.
4459//
4460// Use "Send" method on the returned Request to send the API call to the service.
4461// the "output" return value is not valid until after Send returns without error.
4462//
4463// See ListInvitations for more information on using the ListInvitations
4464// API call, and error handling.
4465//
4466// This method is useful when you want to inject custom logic or configuration
4467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4468//
4469//
4470//    // Example sending a request using the ListInvitationsRequest method.
4471//    req, resp := client.ListInvitationsRequest(params)
4472//
4473//    err := req.Send()
4474//    if err == nil { // resp is now filled
4475//        fmt.Println(resp)
4476//    }
4477//
4478// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4479func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4480	op := &request.Operation{
4481		Name:       opListInvitations,
4482		HTTPMethod: "GET",
4483		HTTPPath:   "/invitations",
4484		Paginator: &request.Paginator{
4485			InputTokens:     []string{"NextToken"},
4486			OutputTokens:    []string{"NextToken"},
4487			LimitToken:      "MaxResults",
4488			TruncationToken: "",
4489		},
4490	}
4491
4492	if input == nil {
4493		input = &ListInvitationsInput{}
4494	}
4495
4496	output = &ListInvitationsOutput{}
4497	req = c.newRequest(op, input, output)
4498	return
4499}
4500
4501// ListInvitations API operation for AWS SecurityHub.
4502//
4503// Lists all Security Hub membership invitations that were sent to the current
4504// AWS account.
4505//
4506// This operation is only used by accounts that are managed by invitation. Accounts
4507// that are managed using the integration with AWS Organizations do not receive
4508// invitations.
4509//
4510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4511// with awserr.Error's Code and Message methods to get detailed information about
4512// the error.
4513//
4514// See the AWS API reference guide for AWS SecurityHub's
4515// API operation ListInvitations for usage and error information.
4516//
4517// Returned Error Types:
4518//   * InternalException
4519//   Internal server error.
4520//
4521//   * InvalidInputException
4522//   The request was rejected because you supplied an invalid or out-of-range
4523//   value for an input parameter.
4524//
4525//   * InvalidAccessException
4526//   There is an issue with the account used to make the request. Either Security
4527//   Hub is not enabled for the account, or the account does not have permission
4528//   to perform this action.
4529//
4530//   * LimitExceededException
4531//   The request was rejected because it attempted to create resources beyond
4532//   the current AWS account or throttling limits. The error code describes the
4533//   limit exceeded.
4534//
4535// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4536func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
4537	req, out := c.ListInvitationsRequest(input)
4538	return out, req.Send()
4539}
4540
4541// ListInvitationsWithContext is the same as ListInvitations with the addition of
4542// the ability to pass a context and additional request options.
4543//
4544// See ListInvitations for details on how to use this API operation.
4545//
4546// The context must be non-nil and will be used for request cancellation. If
4547// the context is nil a panic will occur. In the future the SDK may create
4548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4549// for more information on using Contexts.
4550func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
4551	req, out := c.ListInvitationsRequest(input)
4552	req.SetContext(ctx)
4553	req.ApplyOptions(opts...)
4554	return out, req.Send()
4555}
4556
4557// ListInvitationsPages iterates over the pages of a ListInvitations operation,
4558// calling the "fn" function with the response data for each page. To stop
4559// iterating, return false from the fn function.
4560//
4561// See ListInvitations method for more information on how to use this operation.
4562//
4563// Note: This operation can generate multiple requests to a service.
4564//
4565//    // Example iterating over at most 3 pages of a ListInvitations operation.
4566//    pageNum := 0
4567//    err := client.ListInvitationsPages(params,
4568//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
4569//            pageNum++
4570//            fmt.Println(page)
4571//            return pageNum <= 3
4572//        })
4573//
4574func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
4575	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
4576}
4577
4578// ListInvitationsPagesWithContext same as ListInvitationsPages except
4579// it takes a Context and allows setting request options on the pages.
4580//
4581// The context must be non-nil and will be used for request cancellation. If
4582// the context is nil a panic will occur. In the future the SDK may create
4583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4584// for more information on using Contexts.
4585func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
4586	p := request.Pagination{
4587		NewRequest: func() (*request.Request, error) {
4588			var inCpy *ListInvitationsInput
4589			if input != nil {
4590				tmp := *input
4591				inCpy = &tmp
4592			}
4593			req, _ := c.ListInvitationsRequest(inCpy)
4594			req.SetContext(ctx)
4595			req.ApplyOptions(opts...)
4596			return req, nil
4597		},
4598	}
4599
4600	for p.Next() {
4601		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
4602			break
4603		}
4604	}
4605
4606	return p.Err()
4607}
4608
4609const opListMembers = "ListMembers"
4610
4611// ListMembersRequest generates a "aws/request.Request" representing the
4612// client's request for the ListMembers operation. The "output" return
4613// value will be populated with the request's response once the request completes
4614// successfully.
4615//
4616// Use "Send" method on the returned Request to send the API call to the service.
4617// the "output" return value is not valid until after Send returns without error.
4618//
4619// See ListMembers for more information on using the ListMembers
4620// API call, and error handling.
4621//
4622// This method is useful when you want to inject custom logic or configuration
4623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4624//
4625//
4626//    // Example sending a request using the ListMembersRequest method.
4627//    req, resp := client.ListMembersRequest(params)
4628//
4629//    err := req.Send()
4630//    if err == nil { // resp is now filled
4631//        fmt.Println(resp)
4632//    }
4633//
4634// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4635func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
4636	op := &request.Operation{
4637		Name:       opListMembers,
4638		HTTPMethod: "GET",
4639		HTTPPath:   "/members",
4640		Paginator: &request.Paginator{
4641			InputTokens:     []string{"NextToken"},
4642			OutputTokens:    []string{"NextToken"},
4643			LimitToken:      "MaxResults",
4644			TruncationToken: "",
4645		},
4646	}
4647
4648	if input == nil {
4649		input = &ListMembersInput{}
4650	}
4651
4652	output = &ListMembersOutput{}
4653	req = c.newRequest(op, input, output)
4654	return
4655}
4656
4657// ListMembers API operation for AWS SecurityHub.
4658//
4659// Lists details about all member accounts for the current Security Hub administrator
4660// account.
4661//
4662// The results include both member accounts that belong to an organization and
4663// member accounts that were invited manually.
4664//
4665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4666// with awserr.Error's Code and Message methods to get detailed information about
4667// the error.
4668//
4669// See the AWS API reference guide for AWS SecurityHub's
4670// API operation ListMembers for usage and error information.
4671//
4672// Returned Error Types:
4673//   * InternalException
4674//   Internal server error.
4675//
4676//   * InvalidInputException
4677//   The request was rejected because you supplied an invalid or out-of-range
4678//   value for an input parameter.
4679//
4680//   * InvalidAccessException
4681//   There is an issue with the account used to make the request. Either Security
4682//   Hub is not enabled for the account, or the account does not have permission
4683//   to perform this action.
4684//
4685//   * LimitExceededException
4686//   The request was rejected because it attempted to create resources beyond
4687//   the current AWS account or throttling limits. The error code describes the
4688//   limit exceeded.
4689//
4690// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4691func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
4692	req, out := c.ListMembersRequest(input)
4693	return out, req.Send()
4694}
4695
4696// ListMembersWithContext is the same as ListMembers with the addition of
4697// the ability to pass a context and additional request options.
4698//
4699// See ListMembers for details on how to use this API operation.
4700//
4701// The context must be non-nil and will be used for request cancellation. If
4702// the context is nil a panic will occur. In the future the SDK may create
4703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4704// for more information on using Contexts.
4705func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
4706	req, out := c.ListMembersRequest(input)
4707	req.SetContext(ctx)
4708	req.ApplyOptions(opts...)
4709	return out, req.Send()
4710}
4711
4712// ListMembersPages iterates over the pages of a ListMembers operation,
4713// calling the "fn" function with the response data for each page. To stop
4714// iterating, return false from the fn function.
4715//
4716// See ListMembers method for more information on how to use this operation.
4717//
4718// Note: This operation can generate multiple requests to a service.
4719//
4720//    // Example iterating over at most 3 pages of a ListMembers operation.
4721//    pageNum := 0
4722//    err := client.ListMembersPages(params,
4723//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
4724//            pageNum++
4725//            fmt.Println(page)
4726//            return pageNum <= 3
4727//        })
4728//
4729func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
4730	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
4731}
4732
4733// ListMembersPagesWithContext same as ListMembersPages except
4734// it takes a Context and allows setting request options on the pages.
4735//
4736// The context must be non-nil and will be used for request cancellation. If
4737// the context is nil a panic will occur. In the future the SDK may create
4738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4739// for more information on using Contexts.
4740func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
4741	p := request.Pagination{
4742		NewRequest: func() (*request.Request, error) {
4743			var inCpy *ListMembersInput
4744			if input != nil {
4745				tmp := *input
4746				inCpy = &tmp
4747			}
4748			req, _ := c.ListMembersRequest(inCpy)
4749			req.SetContext(ctx)
4750			req.ApplyOptions(opts...)
4751			return req, nil
4752		},
4753	}
4754
4755	for p.Next() {
4756		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
4757			break
4758		}
4759	}
4760
4761	return p.Err()
4762}
4763
4764const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
4765
4766// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
4767// client's request for the ListOrganizationAdminAccounts operation. The "output" return
4768// value will be populated with the request's response once the request completes
4769// successfully.
4770//
4771// Use "Send" method on the returned Request to send the API call to the service.
4772// the "output" return value is not valid until after Send returns without error.
4773//
4774// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
4775// API call, and error handling.
4776//
4777// This method is useful when you want to inject custom logic or configuration
4778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4779//
4780//
4781//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
4782//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
4783//
4784//    err := req.Send()
4785//    if err == nil { // resp is now filled
4786//        fmt.Println(resp)
4787//    }
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4790func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
4791	op := &request.Operation{
4792		Name:       opListOrganizationAdminAccounts,
4793		HTTPMethod: "GET",
4794		HTTPPath:   "/organization/admin",
4795		Paginator: &request.Paginator{
4796			InputTokens:     []string{"NextToken"},
4797			OutputTokens:    []string{"NextToken"},
4798			LimitToken:      "MaxResults",
4799			TruncationToken: "",
4800		},
4801	}
4802
4803	if input == nil {
4804		input = &ListOrganizationAdminAccountsInput{}
4805	}
4806
4807	output = &ListOrganizationAdminAccountsOutput{}
4808	req = c.newRequest(op, input, output)
4809	return
4810}
4811
4812// ListOrganizationAdminAccounts API operation for AWS SecurityHub.
4813//
4814// Lists the Security Hub administrator accounts. Can only be called by the
4815// organization management account.
4816//
4817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4818// with awserr.Error's Code and Message methods to get detailed information about
4819// the error.
4820//
4821// See the AWS API reference guide for AWS SecurityHub's
4822// API operation ListOrganizationAdminAccounts for usage and error information.
4823//
4824// Returned Error Types:
4825//   * InternalException
4826//   Internal server error.
4827//
4828//   * InvalidInputException
4829//   The request was rejected because you supplied an invalid or out-of-range
4830//   value for an input parameter.
4831//
4832//   * InvalidAccessException
4833//   There is an issue with the account used to make the request. Either Security
4834//   Hub is not enabled for the account, or the account does not have permission
4835//   to perform this action.
4836//
4837//   * LimitExceededException
4838//   The request was rejected because it attempted to create resources beyond
4839//   the current AWS account or throttling limits. The error code describes the
4840//   limit exceeded.
4841//
4842// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4843func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
4844	req, out := c.ListOrganizationAdminAccountsRequest(input)
4845	return out, req.Send()
4846}
4847
4848// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
4849// the ability to pass a context and additional request options.
4850//
4851// See ListOrganizationAdminAccounts for details on how to use this API operation.
4852//
4853// The context must be non-nil and will be used for request cancellation. If
4854// the context is nil a panic will occur. In the future the SDK may create
4855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4856// for more information on using Contexts.
4857func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
4858	req, out := c.ListOrganizationAdminAccountsRequest(input)
4859	req.SetContext(ctx)
4860	req.ApplyOptions(opts...)
4861	return out, req.Send()
4862}
4863
4864// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
4865// calling the "fn" function with the response data for each page. To stop
4866// iterating, return false from the fn function.
4867//
4868// See ListOrganizationAdminAccounts method for more information on how to use this operation.
4869//
4870// Note: This operation can generate multiple requests to a service.
4871//
4872//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
4873//    pageNum := 0
4874//    err := client.ListOrganizationAdminAccountsPages(params,
4875//        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
4876//            pageNum++
4877//            fmt.Println(page)
4878//            return pageNum <= 3
4879//        })
4880//
4881func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
4882	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
4883}
4884
4885// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
4886// it takes a Context and allows setting request options on the pages.
4887//
4888// The context must be non-nil and will be used for request cancellation. If
4889// the context is nil a panic will occur. In the future the SDK may create
4890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4891// for more information on using Contexts.
4892func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
4893	p := request.Pagination{
4894		NewRequest: func() (*request.Request, error) {
4895			var inCpy *ListOrganizationAdminAccountsInput
4896			if input != nil {
4897				tmp := *input
4898				inCpy = &tmp
4899			}
4900			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
4901			req.SetContext(ctx)
4902			req.ApplyOptions(opts...)
4903			return req, nil
4904		},
4905	}
4906
4907	for p.Next() {
4908		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
4909			break
4910		}
4911	}
4912
4913	return p.Err()
4914}
4915
4916const opListTagsForResource = "ListTagsForResource"
4917
4918// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4919// client's request for the ListTagsForResource operation. The "output" return
4920// value will be populated with the request's response once the request completes
4921// successfully.
4922//
4923// Use "Send" method on the returned Request to send the API call to the service.
4924// the "output" return value is not valid until after Send returns without error.
4925//
4926// See ListTagsForResource for more information on using the ListTagsForResource
4927// API call, and error handling.
4928//
4929// This method is useful when you want to inject custom logic or configuration
4930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4931//
4932//
4933//    // Example sending a request using the ListTagsForResourceRequest method.
4934//    req, resp := client.ListTagsForResourceRequest(params)
4935//
4936//    err := req.Send()
4937//    if err == nil { // resp is now filled
4938//        fmt.Println(resp)
4939//    }
4940//
4941// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4942func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4943	op := &request.Operation{
4944		Name:       opListTagsForResource,
4945		HTTPMethod: "GET",
4946		HTTPPath:   "/tags/{ResourceArn}",
4947	}
4948
4949	if input == nil {
4950		input = &ListTagsForResourceInput{}
4951	}
4952
4953	output = &ListTagsForResourceOutput{}
4954	req = c.newRequest(op, input, output)
4955	return
4956}
4957
4958// ListTagsForResource API operation for AWS SecurityHub.
4959//
4960// Returns a list of tags associated with a resource.
4961//
4962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4963// with awserr.Error's Code and Message methods to get detailed information about
4964// the error.
4965//
4966// See the AWS API reference guide for AWS SecurityHub's
4967// API operation ListTagsForResource for usage and error information.
4968//
4969// Returned Error Types:
4970//   * InternalException
4971//   Internal server error.
4972//
4973//   * InvalidInputException
4974//   The request was rejected because you supplied an invalid or out-of-range
4975//   value for an input parameter.
4976//
4977//   * ResourceNotFoundException
4978//   The request was rejected because we can't find the specified resource.
4979//
4980// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4981func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4982	req, out := c.ListTagsForResourceRequest(input)
4983	return out, req.Send()
4984}
4985
4986// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4987// the ability to pass a context and additional request options.
4988//
4989// See ListTagsForResource for details on how to use this API operation.
4990//
4991// The context must be non-nil and will be used for request cancellation. If
4992// the context is nil a panic will occur. In the future the SDK may create
4993// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4994// for more information on using Contexts.
4995func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4996	req, out := c.ListTagsForResourceRequest(input)
4997	req.SetContext(ctx)
4998	req.ApplyOptions(opts...)
4999	return out, req.Send()
5000}
5001
5002const opTagResource = "TagResource"
5003
5004// TagResourceRequest generates a "aws/request.Request" representing the
5005// client's request for the TagResource operation. The "output" return
5006// value will be populated with the request's response once the request completes
5007// successfully.
5008//
5009// Use "Send" method on the returned Request to send the API call to the service.
5010// the "output" return value is not valid until after Send returns without error.
5011//
5012// See TagResource for more information on using the TagResource
5013// API call, and error handling.
5014//
5015// This method is useful when you want to inject custom logic or configuration
5016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5017//
5018//
5019//    // Example sending a request using the TagResourceRequest method.
5020//    req, resp := client.TagResourceRequest(params)
5021//
5022//    err := req.Send()
5023//    if err == nil { // resp is now filled
5024//        fmt.Println(resp)
5025//    }
5026//
5027// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5028func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5029	op := &request.Operation{
5030		Name:       opTagResource,
5031		HTTPMethod: "POST",
5032		HTTPPath:   "/tags/{ResourceArn}",
5033	}
5034
5035	if input == nil {
5036		input = &TagResourceInput{}
5037	}
5038
5039	output = &TagResourceOutput{}
5040	req = c.newRequest(op, input, output)
5041	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5042	return
5043}
5044
5045// TagResource API operation for AWS SecurityHub.
5046//
5047// Adds one or more tags to a resource.
5048//
5049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5050// with awserr.Error's Code and Message methods to get detailed information about
5051// the error.
5052//
5053// See the AWS API reference guide for AWS SecurityHub's
5054// API operation TagResource for usage and error information.
5055//
5056// Returned Error Types:
5057//   * InternalException
5058//   Internal server error.
5059//
5060//   * InvalidInputException
5061//   The request was rejected because you supplied an invalid or out-of-range
5062//   value for an input parameter.
5063//
5064//   * ResourceNotFoundException
5065//   The request was rejected because we can't find the specified resource.
5066//
5067// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5068func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5069	req, out := c.TagResourceRequest(input)
5070	return out, req.Send()
5071}
5072
5073// TagResourceWithContext is the same as TagResource with the addition of
5074// the ability to pass a context and additional request options.
5075//
5076// See TagResource for details on how to use this API operation.
5077//
5078// The context must be non-nil and will be used for request cancellation. If
5079// the context is nil a panic will occur. In the future the SDK may create
5080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5081// for more information on using Contexts.
5082func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5083	req, out := c.TagResourceRequest(input)
5084	req.SetContext(ctx)
5085	req.ApplyOptions(opts...)
5086	return out, req.Send()
5087}
5088
5089const opUntagResource = "UntagResource"
5090
5091// UntagResourceRequest generates a "aws/request.Request" representing the
5092// client's request for the UntagResource operation. The "output" return
5093// value will be populated with the request's response once the request completes
5094// successfully.
5095//
5096// Use "Send" method on the returned Request to send the API call to the service.
5097// the "output" return value is not valid until after Send returns without error.
5098//
5099// See UntagResource for more information on using the UntagResource
5100// API call, and error handling.
5101//
5102// This method is useful when you want to inject custom logic or configuration
5103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5104//
5105//
5106//    // Example sending a request using the UntagResourceRequest method.
5107//    req, resp := client.UntagResourceRequest(params)
5108//
5109//    err := req.Send()
5110//    if err == nil { // resp is now filled
5111//        fmt.Println(resp)
5112//    }
5113//
5114// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5115func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5116	op := &request.Operation{
5117		Name:       opUntagResource,
5118		HTTPMethod: "DELETE",
5119		HTTPPath:   "/tags/{ResourceArn}",
5120	}
5121
5122	if input == nil {
5123		input = &UntagResourceInput{}
5124	}
5125
5126	output = &UntagResourceOutput{}
5127	req = c.newRequest(op, input, output)
5128	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5129	return
5130}
5131
5132// UntagResource API operation for AWS SecurityHub.
5133//
5134// Removes one or more tags from a resource.
5135//
5136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5137// with awserr.Error's Code and Message methods to get detailed information about
5138// the error.
5139//
5140// See the AWS API reference guide for AWS SecurityHub's
5141// API operation UntagResource for usage and error information.
5142//
5143// Returned Error Types:
5144//   * InternalException
5145//   Internal server error.
5146//
5147//   * InvalidInputException
5148//   The request was rejected because you supplied an invalid or out-of-range
5149//   value for an input parameter.
5150//
5151//   * ResourceNotFoundException
5152//   The request was rejected because we can't find the specified resource.
5153//
5154// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5155func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5156	req, out := c.UntagResourceRequest(input)
5157	return out, req.Send()
5158}
5159
5160// UntagResourceWithContext is the same as UntagResource with the addition of
5161// the ability to pass a context and additional request options.
5162//
5163// See UntagResource for details on how to use this API operation.
5164//
5165// The context must be non-nil and will be used for request cancellation. If
5166// the context is nil a panic will occur. In the future the SDK may create
5167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5168// for more information on using Contexts.
5169func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5170	req, out := c.UntagResourceRequest(input)
5171	req.SetContext(ctx)
5172	req.ApplyOptions(opts...)
5173	return out, req.Send()
5174}
5175
5176const opUpdateActionTarget = "UpdateActionTarget"
5177
5178// UpdateActionTargetRequest generates a "aws/request.Request" representing the
5179// client's request for the UpdateActionTarget operation. The "output" return
5180// value will be populated with the request's response once the request completes
5181// successfully.
5182//
5183// Use "Send" method on the returned Request to send the API call to the service.
5184// the "output" return value is not valid until after Send returns without error.
5185//
5186// See UpdateActionTarget for more information on using the UpdateActionTarget
5187// API call, and error handling.
5188//
5189// This method is useful when you want to inject custom logic or configuration
5190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5191//
5192//
5193//    // Example sending a request using the UpdateActionTargetRequest method.
5194//    req, resp := client.UpdateActionTargetRequest(params)
5195//
5196//    err := req.Send()
5197//    if err == nil { // resp is now filled
5198//        fmt.Println(resp)
5199//    }
5200//
5201// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5202func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
5203	op := &request.Operation{
5204		Name:       opUpdateActionTarget,
5205		HTTPMethod: "PATCH",
5206		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
5207	}
5208
5209	if input == nil {
5210		input = &UpdateActionTargetInput{}
5211	}
5212
5213	output = &UpdateActionTargetOutput{}
5214	req = c.newRequest(op, input, output)
5215	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5216	return
5217}
5218
5219// UpdateActionTarget API operation for AWS SecurityHub.
5220//
5221// Updates the name and description of a custom action target in Security Hub.
5222//
5223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5224// with awserr.Error's Code and Message methods to get detailed information about
5225// the error.
5226//
5227// See the AWS API reference guide for AWS SecurityHub's
5228// API operation UpdateActionTarget for usage and error information.
5229//
5230// Returned Error Types:
5231//   * InternalException
5232//   Internal server error.
5233//
5234//   * InvalidInputException
5235//   The request was rejected because you supplied an invalid or out-of-range
5236//   value for an input parameter.
5237//
5238//   * ResourceNotFoundException
5239//   The request was rejected because we can't find the specified resource.
5240//
5241//   * InvalidAccessException
5242//   There is an issue with the account used to make the request. Either Security
5243//   Hub is not enabled for the account, or the account does not have permission
5244//   to perform this action.
5245//
5246//   * ResourceNotFoundException
5247//   The request was rejected because we can't find the specified resource.
5248//
5249// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5250func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
5251	req, out := c.UpdateActionTargetRequest(input)
5252	return out, req.Send()
5253}
5254
5255// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
5256// the ability to pass a context and additional request options.
5257//
5258// See UpdateActionTarget for details on how to use this API operation.
5259//
5260// The context must be non-nil and will be used for request cancellation. If
5261// the context is nil a panic will occur. In the future the SDK may create
5262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5263// for more information on using Contexts.
5264func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
5265	req, out := c.UpdateActionTargetRequest(input)
5266	req.SetContext(ctx)
5267	req.ApplyOptions(opts...)
5268	return out, req.Send()
5269}
5270
5271const opUpdateFindings = "UpdateFindings"
5272
5273// UpdateFindingsRequest generates a "aws/request.Request" representing the
5274// client's request for the UpdateFindings operation. The "output" return
5275// value will be populated with the request's response once the request completes
5276// successfully.
5277//
5278// Use "Send" method on the returned Request to send the API call to the service.
5279// the "output" return value is not valid until after Send returns without error.
5280//
5281// See UpdateFindings for more information on using the UpdateFindings
5282// API call, and error handling.
5283//
5284// This method is useful when you want to inject custom logic or configuration
5285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5286//
5287//
5288//    // Example sending a request using the UpdateFindingsRequest method.
5289//    req, resp := client.UpdateFindingsRequest(params)
5290//
5291//    err := req.Send()
5292//    if err == nil { // resp is now filled
5293//        fmt.Println(resp)
5294//    }
5295//
5296// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5297func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
5298	op := &request.Operation{
5299		Name:       opUpdateFindings,
5300		HTTPMethod: "PATCH",
5301		HTTPPath:   "/findings",
5302	}
5303
5304	if input == nil {
5305		input = &UpdateFindingsInput{}
5306	}
5307
5308	output = &UpdateFindingsOutput{}
5309	req = c.newRequest(op, input, output)
5310	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5311	return
5312}
5313
5314// UpdateFindings API operation for AWS SecurityHub.
5315//
5316// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
5317//
5318// Updates the Note and RecordState of the Security Hub-aggregated findings
5319// that the filter attributes specify. Any member account that can view the
5320// finding also sees the update to the finding.
5321//
5322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5323// with awserr.Error's Code and Message methods to get detailed information about
5324// the error.
5325//
5326// See the AWS API reference guide for AWS SecurityHub's
5327// API operation UpdateFindings for usage and error information.
5328//
5329// Returned Error Types:
5330//   * InternalException
5331//   Internal server error.
5332//
5333//   * InvalidInputException
5334//   The request was rejected because you supplied an invalid or out-of-range
5335//   value for an input parameter.
5336//
5337//   * LimitExceededException
5338//   The request was rejected because it attempted to create resources beyond
5339//   the current AWS account or throttling limits. The error code describes the
5340//   limit exceeded.
5341//
5342//   * InvalidAccessException
5343//   There is an issue with the account used to make the request. Either Security
5344//   Hub is not enabled for the account, or the account does not have permission
5345//   to perform this action.
5346//
5347//   * ResourceNotFoundException
5348//   The request was rejected because we can't find the specified resource.
5349//
5350// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5351func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
5352	req, out := c.UpdateFindingsRequest(input)
5353	return out, req.Send()
5354}
5355
5356// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
5357// the ability to pass a context and additional request options.
5358//
5359// See UpdateFindings for details on how to use this API operation.
5360//
5361// The context must be non-nil and will be used for request cancellation. If
5362// the context is nil a panic will occur. In the future the SDK may create
5363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5364// for more information on using Contexts.
5365func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
5366	req, out := c.UpdateFindingsRequest(input)
5367	req.SetContext(ctx)
5368	req.ApplyOptions(opts...)
5369	return out, req.Send()
5370}
5371
5372const opUpdateInsight = "UpdateInsight"
5373
5374// UpdateInsightRequest generates a "aws/request.Request" representing the
5375// client's request for the UpdateInsight operation. The "output" return
5376// value will be populated with the request's response once the request completes
5377// successfully.
5378//
5379// Use "Send" method on the returned Request to send the API call to the service.
5380// the "output" return value is not valid until after Send returns without error.
5381//
5382// See UpdateInsight for more information on using the UpdateInsight
5383// API call, and error handling.
5384//
5385// This method is useful when you want to inject custom logic or configuration
5386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5387//
5388//
5389//    // Example sending a request using the UpdateInsightRequest method.
5390//    req, resp := client.UpdateInsightRequest(params)
5391//
5392//    err := req.Send()
5393//    if err == nil { // resp is now filled
5394//        fmt.Println(resp)
5395//    }
5396//
5397// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5398func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
5399	op := &request.Operation{
5400		Name:       opUpdateInsight,
5401		HTTPMethod: "PATCH",
5402		HTTPPath:   "/insights/{InsightArn+}",
5403	}
5404
5405	if input == nil {
5406		input = &UpdateInsightInput{}
5407	}
5408
5409	output = &UpdateInsightOutput{}
5410	req = c.newRequest(op, input, output)
5411	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5412	return
5413}
5414
5415// UpdateInsight API operation for AWS SecurityHub.
5416//
5417// Updates the Security Hub insight identified by the specified insight ARN.
5418//
5419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5420// with awserr.Error's Code and Message methods to get detailed information about
5421// the error.
5422//
5423// See the AWS API reference guide for AWS SecurityHub's
5424// API operation UpdateInsight for usage and error information.
5425//
5426// Returned Error Types:
5427//   * InternalException
5428//   Internal server error.
5429//
5430//   * InvalidInputException
5431//   The request was rejected because you supplied an invalid or out-of-range
5432//   value for an input parameter.
5433//
5434//   * InvalidAccessException
5435//   There is an issue with the account used to make the request. Either Security
5436//   Hub is not enabled for the account, or the account does not have permission
5437//   to perform this action.
5438//
5439//   * LimitExceededException
5440//   The request was rejected because it attempted to create resources beyond
5441//   the current AWS account or throttling limits. The error code describes the
5442//   limit exceeded.
5443//
5444//   * ResourceNotFoundException
5445//   The request was rejected because we can't find the specified resource.
5446//
5447// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5448func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
5449	req, out := c.UpdateInsightRequest(input)
5450	return out, req.Send()
5451}
5452
5453// UpdateInsightWithContext is the same as UpdateInsight with the addition of
5454// the ability to pass a context and additional request options.
5455//
5456// See UpdateInsight for details on how to use this API operation.
5457//
5458// The context must be non-nil and will be used for request cancellation. If
5459// the context is nil a panic will occur. In the future the SDK may create
5460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5461// for more information on using Contexts.
5462func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
5463	req, out := c.UpdateInsightRequest(input)
5464	req.SetContext(ctx)
5465	req.ApplyOptions(opts...)
5466	return out, req.Send()
5467}
5468
5469const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
5470
5471// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
5472// client's request for the UpdateOrganizationConfiguration operation. The "output" return
5473// value will be populated with the request's response once the request completes
5474// successfully.
5475//
5476// Use "Send" method on the returned Request to send the API call to the service.
5477// the "output" return value is not valid until after Send returns without error.
5478//
5479// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
5480// API call, and error handling.
5481//
5482// This method is useful when you want to inject custom logic or configuration
5483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5484//
5485//
5486//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
5487//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
5488//
5489//    err := req.Send()
5490//    if err == nil { // resp is now filled
5491//        fmt.Println(resp)
5492//    }
5493//
5494// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5495func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
5496	op := &request.Operation{
5497		Name:       opUpdateOrganizationConfiguration,
5498		HTTPMethod: "POST",
5499		HTTPPath:   "/organization/configuration",
5500	}
5501
5502	if input == nil {
5503		input = &UpdateOrganizationConfigurationInput{}
5504	}
5505
5506	output = &UpdateOrganizationConfigurationOutput{}
5507	req = c.newRequest(op, input, output)
5508	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5509	return
5510}
5511
5512// UpdateOrganizationConfiguration API operation for AWS SecurityHub.
5513//
5514// Used to update the configuration related to Organizations. Can only be called
5515// from a Security Hub administrator account.
5516//
5517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5518// with awserr.Error's Code and Message methods to get detailed information about
5519// the error.
5520//
5521// See the AWS API reference guide for AWS SecurityHub's
5522// API operation UpdateOrganizationConfiguration for usage and error information.
5523//
5524// Returned Error Types:
5525//   * InternalException
5526//   Internal server error.
5527//
5528//   * InvalidInputException
5529//   The request was rejected because you supplied an invalid or out-of-range
5530//   value for an input parameter.
5531//
5532//   * InvalidAccessException
5533//   There is an issue with the account used to make the request. Either Security
5534//   Hub is not enabled for the account, or the account does not have permission
5535//   to perform this action.
5536//
5537//   * LimitExceededException
5538//   The request was rejected because it attempted to create resources beyond
5539//   the current AWS account or throttling limits. The error code describes the
5540//   limit exceeded.
5541//
5542// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5543func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
5544	req, out := c.UpdateOrganizationConfigurationRequest(input)
5545	return out, req.Send()
5546}
5547
5548// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
5549// the ability to pass a context and additional request options.
5550//
5551// See UpdateOrganizationConfiguration for details on how to use this API operation.
5552//
5553// The context must be non-nil and will be used for request cancellation. If
5554// the context is nil a panic will occur. In the future the SDK may create
5555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5556// for more information on using Contexts.
5557func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
5558	req, out := c.UpdateOrganizationConfigurationRequest(input)
5559	req.SetContext(ctx)
5560	req.ApplyOptions(opts...)
5561	return out, req.Send()
5562}
5563
5564const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
5565
5566// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
5567// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
5568// value will be populated with the request's response once the request completes
5569// successfully.
5570//
5571// Use "Send" method on the returned Request to send the API call to the service.
5572// the "output" return value is not valid until after Send returns without error.
5573//
5574// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
5575// API call, and error handling.
5576//
5577// This method is useful when you want to inject custom logic or configuration
5578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5579//
5580//
5581//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
5582//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
5583//
5584//    err := req.Send()
5585//    if err == nil { // resp is now filled
5586//        fmt.Println(resp)
5587//    }
5588//
5589// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5590func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
5591	op := &request.Operation{
5592		Name:       opUpdateSecurityHubConfiguration,
5593		HTTPMethod: "PATCH",
5594		HTTPPath:   "/accounts",
5595	}
5596
5597	if input == nil {
5598		input = &UpdateSecurityHubConfigurationInput{}
5599	}
5600
5601	output = &UpdateSecurityHubConfigurationOutput{}
5602	req = c.newRequest(op, input, output)
5603	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5604	return
5605}
5606
5607// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
5608//
5609// Updates configuration options for Security Hub.
5610//
5611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5612// with awserr.Error's Code and Message methods to get detailed information about
5613// the error.
5614//
5615// See the AWS API reference guide for AWS SecurityHub's
5616// API operation UpdateSecurityHubConfiguration for usage and error information.
5617//
5618// Returned Error Types:
5619//   * InternalException
5620//   Internal server error.
5621//
5622//   * InvalidInputException
5623//   The request was rejected because you supplied an invalid or out-of-range
5624//   value for an input parameter.
5625//
5626//   * InvalidAccessException
5627//   There is an issue with the account used to make the request. Either Security
5628//   Hub is not enabled for the account, or the account does not have permission
5629//   to perform this action.
5630//
5631//   * LimitExceededException
5632//   The request was rejected because it attempted to create resources beyond
5633//   the current AWS account or throttling limits. The error code describes the
5634//   limit exceeded.
5635//
5636//   * ResourceNotFoundException
5637//   The request was rejected because we can't find the specified resource.
5638//
5639// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5640func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
5641	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5642	return out, req.Send()
5643}
5644
5645// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
5646// the ability to pass a context and additional request options.
5647//
5648// See UpdateSecurityHubConfiguration for details on how to use this API operation.
5649//
5650// The context must be non-nil and will be used for request cancellation. If
5651// the context is nil a panic will occur. In the future the SDK may create
5652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5653// for more information on using Contexts.
5654func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
5655	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5656	req.SetContext(ctx)
5657	req.ApplyOptions(opts...)
5658	return out, req.Send()
5659}
5660
5661const opUpdateStandardsControl = "UpdateStandardsControl"
5662
5663// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
5664// client's request for the UpdateStandardsControl operation. The "output" return
5665// value will be populated with the request's response once the request completes
5666// successfully.
5667//
5668// Use "Send" method on the returned Request to send the API call to the service.
5669// the "output" return value is not valid until after Send returns without error.
5670//
5671// See UpdateStandardsControl for more information on using the UpdateStandardsControl
5672// API call, and error handling.
5673//
5674// This method is useful when you want to inject custom logic or configuration
5675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5676//
5677//
5678//    // Example sending a request using the UpdateStandardsControlRequest method.
5679//    req, resp := client.UpdateStandardsControlRequest(params)
5680//
5681//    err := req.Send()
5682//    if err == nil { // resp is now filled
5683//        fmt.Println(resp)
5684//    }
5685//
5686// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5687func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
5688	op := &request.Operation{
5689		Name:       opUpdateStandardsControl,
5690		HTTPMethod: "PATCH",
5691		HTTPPath:   "/standards/control/{StandardsControlArn+}",
5692	}
5693
5694	if input == nil {
5695		input = &UpdateStandardsControlInput{}
5696	}
5697
5698	output = &UpdateStandardsControlOutput{}
5699	req = c.newRequest(op, input, output)
5700	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5701	return
5702}
5703
5704// UpdateStandardsControl API operation for AWS SecurityHub.
5705//
5706// Used to control whether an individual security standard control is enabled
5707// or disabled.
5708//
5709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5710// with awserr.Error's Code and Message methods to get detailed information about
5711// the error.
5712//
5713// See the AWS API reference guide for AWS SecurityHub's
5714// API operation UpdateStandardsControl for usage and error information.
5715//
5716// Returned Error Types:
5717//   * InternalException
5718//   Internal server error.
5719//
5720//   * InvalidInputException
5721//   The request was rejected because you supplied an invalid or out-of-range
5722//   value for an input parameter.
5723//
5724//   * InvalidAccessException
5725//   There is an issue with the account used to make the request. Either Security
5726//   Hub is not enabled for the account, or the account does not have permission
5727//   to perform this action.
5728//
5729//   * ResourceNotFoundException
5730//   The request was rejected because we can't find the specified resource.
5731//
5732// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5733func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
5734	req, out := c.UpdateStandardsControlRequest(input)
5735	return out, req.Send()
5736}
5737
5738// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
5739// the ability to pass a context and additional request options.
5740//
5741// See UpdateStandardsControl for details on how to use this API operation.
5742//
5743// The context must be non-nil and will be used for request cancellation. If
5744// the context is nil a panic will occur. In the future the SDK may create
5745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5746// for more information on using Contexts.
5747func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
5748	req, out := c.UpdateStandardsControlRequest(input)
5749	req.SetContext(ctx)
5750	req.ApplyOptions(opts...)
5751	return out, req.Send()
5752}
5753
5754type AcceptAdministratorInvitationInput struct {
5755	_ struct{} `type:"structure"`
5756
5757	// The account ID of the Security Hub administrator account that sent the invitation.
5758	//
5759	// AdministratorId is a required field
5760	AdministratorId *string `type:"string" required:"true"`
5761
5762	// The identifier of the invitation sent from the Security Hub administrator
5763	// account.
5764	//
5765	// InvitationId is a required field
5766	InvitationId *string `type:"string" required:"true"`
5767}
5768
5769// String returns the string representation
5770func (s AcceptAdministratorInvitationInput) String() string {
5771	return awsutil.Prettify(s)
5772}
5773
5774// GoString returns the string representation
5775func (s AcceptAdministratorInvitationInput) GoString() string {
5776	return s.String()
5777}
5778
5779// Validate inspects the fields of the type to determine if they are valid.
5780func (s *AcceptAdministratorInvitationInput) Validate() error {
5781	invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"}
5782	if s.AdministratorId == nil {
5783		invalidParams.Add(request.NewErrParamRequired("AdministratorId"))
5784	}
5785	if s.InvitationId == nil {
5786		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5787	}
5788
5789	if invalidParams.Len() > 0 {
5790		return invalidParams
5791	}
5792	return nil
5793}
5794
5795// SetAdministratorId sets the AdministratorId field's value.
5796func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput {
5797	s.AdministratorId = &v
5798	return s
5799}
5800
5801// SetInvitationId sets the InvitationId field's value.
5802func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput {
5803	s.InvitationId = &v
5804	return s
5805}
5806
5807type AcceptAdministratorInvitationOutput struct {
5808	_ struct{} `type:"structure"`
5809}
5810
5811// String returns the string representation
5812func (s AcceptAdministratorInvitationOutput) String() string {
5813	return awsutil.Prettify(s)
5814}
5815
5816// GoString returns the string representation
5817func (s AcceptAdministratorInvitationOutput) GoString() string {
5818	return s.String()
5819}
5820
5821type AcceptInvitationInput struct {
5822	_ struct{} `type:"structure"`
5823
5824	// The identifier of the invitation sent from the Security Hub administrator
5825	// account.
5826	//
5827	// InvitationId is a required field
5828	InvitationId *string `type:"string" required:"true"`
5829
5830	// The account ID of the Security Hub administrator account that sent the invitation.
5831	//
5832	// MasterId is a required field
5833	MasterId *string `type:"string" required:"true"`
5834}
5835
5836// String returns the string representation
5837func (s AcceptInvitationInput) String() string {
5838	return awsutil.Prettify(s)
5839}
5840
5841// GoString returns the string representation
5842func (s AcceptInvitationInput) GoString() string {
5843	return s.String()
5844}
5845
5846// Validate inspects the fields of the type to determine if they are valid.
5847func (s *AcceptInvitationInput) Validate() error {
5848	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5849	if s.InvitationId == nil {
5850		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5851	}
5852	if s.MasterId == nil {
5853		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5854	}
5855
5856	if invalidParams.Len() > 0 {
5857		return invalidParams
5858	}
5859	return nil
5860}
5861
5862// SetInvitationId sets the InvitationId field's value.
5863func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5864	s.InvitationId = &v
5865	return s
5866}
5867
5868// SetMasterId sets the MasterId field's value.
5869func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5870	s.MasterId = &v
5871	return s
5872}
5873
5874type AcceptInvitationOutput struct {
5875	_ struct{} `type:"structure"`
5876}
5877
5878// String returns the string representation
5879func (s AcceptInvitationOutput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s AcceptInvitationOutput) GoString() string {
5885	return s.String()
5886}
5887
5888// You don't have permission to perform the action specified in the request.
5889type AccessDeniedException struct {
5890	_            struct{}                  `type:"structure"`
5891	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5892
5893	Code_ *string `locationName:"Code" type:"string"`
5894
5895	Message_ *string `locationName:"Message" type:"string"`
5896}
5897
5898// String returns the string representation
5899func (s AccessDeniedException) String() string {
5900	return awsutil.Prettify(s)
5901}
5902
5903// GoString returns the string representation
5904func (s AccessDeniedException) GoString() string {
5905	return s.String()
5906}
5907
5908func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5909	return &AccessDeniedException{
5910		RespMetadata: v,
5911	}
5912}
5913
5914// Code returns the exception type name.
5915func (s *AccessDeniedException) Code() string {
5916	return "AccessDeniedException"
5917}
5918
5919// Message returns the exception's message.
5920func (s *AccessDeniedException) Message() string {
5921	if s.Message_ != nil {
5922		return *s.Message_
5923	}
5924	return ""
5925}
5926
5927// OrigErr always returns nil, satisfies awserr.Error interface.
5928func (s *AccessDeniedException) OrigErr() error {
5929	return nil
5930}
5931
5932func (s *AccessDeniedException) Error() string {
5933	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5934}
5935
5936// Status code returns the HTTP status code for the request's response error.
5937func (s *AccessDeniedException) StatusCode() int {
5938	return s.RespMetadata.StatusCode
5939}
5940
5941// RequestID returns the service's response RequestID for request.
5942func (s *AccessDeniedException) RequestID() string {
5943	return s.RespMetadata.RequestID
5944}
5945
5946// The details of an AWS account.
5947type AccountDetails struct {
5948	_ struct{} `type:"structure"`
5949
5950	// The ID of an AWS account.
5951	//
5952	// AccountId is a required field
5953	AccountId *string `type:"string" required:"true"`
5954
5955	// The email of an AWS account.
5956	Email *string `type:"string"`
5957}
5958
5959// String returns the string representation
5960func (s AccountDetails) String() string {
5961	return awsutil.Prettify(s)
5962}
5963
5964// GoString returns the string representation
5965func (s AccountDetails) GoString() string {
5966	return s.String()
5967}
5968
5969// Validate inspects the fields of the type to determine if they are valid.
5970func (s *AccountDetails) Validate() error {
5971	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
5972	if s.AccountId == nil {
5973		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5974	}
5975
5976	if invalidParams.Len() > 0 {
5977		return invalidParams
5978	}
5979	return nil
5980}
5981
5982// SetAccountId sets the AccountId field's value.
5983func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
5984	s.AccountId = &v
5985	return s
5986}
5987
5988// SetEmail sets the Email field's value.
5989func (s *AccountDetails) SetEmail(v string) *AccountDetails {
5990	s.Email = &v
5991	return s
5992}
5993
5994// Provides details about one of the following actions that affects or that
5995// was taken on a resource:
5996//
5997//    * A remote IP address issued an AWS API call
5998//
5999//    * A DNS request was received
6000//
6001//    * A remote IP address attempted to connect to an EC2 instance
6002//
6003//    * A remote IP address attempted a port probe on an EC2 instance
6004type Action struct {
6005	_ struct{} `type:"structure"`
6006
6007	// The type of action that was detected. The possible action types are:
6008	//
6009	//    * NETWORK_CONNECTION
6010	//
6011	//    * AWS_API_CALL
6012	//
6013	//    * DNS_REQUEST
6014	//
6015	//    * PORT_PROBE
6016	ActionType *string `type:"string"`
6017
6018	// Included if ActionType is AWS_API_CALL. Provides details about the API call
6019	// that was detected.
6020	AwsApiCallAction *AwsApiCallAction `type:"structure"`
6021
6022	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
6023	// that was detected.
6024	DnsRequestAction *DnsRequestAction `type:"structure"`
6025
6026	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
6027	// network connection that was detected.
6028	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
6029
6030	// Included if ActionType is PORT_PROBE. Provides details about the port probe
6031	// that was detected.
6032	PortProbeAction *PortProbeAction `type:"structure"`
6033}
6034
6035// String returns the string representation
6036func (s Action) String() string {
6037	return awsutil.Prettify(s)
6038}
6039
6040// GoString returns the string representation
6041func (s Action) GoString() string {
6042	return s.String()
6043}
6044
6045// SetActionType sets the ActionType field's value.
6046func (s *Action) SetActionType(v string) *Action {
6047	s.ActionType = &v
6048	return s
6049}
6050
6051// SetAwsApiCallAction sets the AwsApiCallAction field's value.
6052func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
6053	s.AwsApiCallAction = v
6054	return s
6055}
6056
6057// SetDnsRequestAction sets the DnsRequestAction field's value.
6058func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
6059	s.DnsRequestAction = v
6060	return s
6061}
6062
6063// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
6064func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
6065	s.NetworkConnectionAction = v
6066	return s
6067}
6068
6069// SetPortProbeAction sets the PortProbeAction field's value.
6070func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
6071	s.PortProbeAction = v
6072	return s
6073}
6074
6075// Provides information about the IP address where the scanned port is located.
6076type ActionLocalIpDetails struct {
6077	_ struct{} `type:"structure"`
6078
6079	// The IP address.
6080	IpAddressV4 *string `type:"string"`
6081}
6082
6083// String returns the string representation
6084func (s ActionLocalIpDetails) String() string {
6085	return awsutil.Prettify(s)
6086}
6087
6088// GoString returns the string representation
6089func (s ActionLocalIpDetails) GoString() string {
6090	return s.String()
6091}
6092
6093// SetIpAddressV4 sets the IpAddressV4 field's value.
6094func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
6095	s.IpAddressV4 = &v
6096	return s
6097}
6098
6099// For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
6100// information about the local port that was involved in the action.
6101type ActionLocalPortDetails struct {
6102	_ struct{} `type:"structure"`
6103
6104	// The number of the port.
6105	Port *int64 `type:"integer"`
6106
6107	// The port name of the local connection.
6108	PortName *string `type:"string"`
6109}
6110
6111// String returns the string representation
6112func (s ActionLocalPortDetails) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s ActionLocalPortDetails) GoString() string {
6118	return s.String()
6119}
6120
6121// SetPort sets the Port field's value.
6122func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
6123	s.Port = &v
6124	return s
6125}
6126
6127// SetPortName sets the PortName field's value.
6128func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
6129	s.PortName = &v
6130	return s
6131}
6132
6133// For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
6134// provides information about the remote IP address that was involved in the
6135// action.
6136type ActionRemoteIpDetails struct {
6137	_ struct{} `type:"structure"`
6138
6139	// The city where the remote IP address is located.
6140	City *City `type:"structure"`
6141
6142	// The country where the remote IP address is located.
6143	Country *Country `type:"structure"`
6144
6145	// The coordinates of the location of the remote IP address.
6146	GeoLocation *GeoLocation `type:"structure"`
6147
6148	// The IP address.
6149	IpAddressV4 *string `type:"string"`
6150
6151	// The internet service provider (ISP) organization associated with the remote
6152	// IP address.
6153	Organization *IpOrganizationDetails `type:"structure"`
6154}
6155
6156// String returns the string representation
6157func (s ActionRemoteIpDetails) String() string {
6158	return awsutil.Prettify(s)
6159}
6160
6161// GoString returns the string representation
6162func (s ActionRemoteIpDetails) GoString() string {
6163	return s.String()
6164}
6165
6166// SetCity sets the City field's value.
6167func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
6168	s.City = v
6169	return s
6170}
6171
6172// SetCountry sets the Country field's value.
6173func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
6174	s.Country = v
6175	return s
6176}
6177
6178// SetGeoLocation sets the GeoLocation field's value.
6179func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
6180	s.GeoLocation = v
6181	return s
6182}
6183
6184// SetIpAddressV4 sets the IpAddressV4 field's value.
6185func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
6186	s.IpAddressV4 = &v
6187	return s
6188}
6189
6190// SetOrganization sets the Organization field's value.
6191func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
6192	s.Organization = v
6193	return s
6194}
6195
6196// Provides information about the remote port that was involved in an attempted
6197// network connection.
6198type ActionRemotePortDetails struct {
6199	_ struct{} `type:"structure"`
6200
6201	// The number of the port.
6202	Port *int64 `type:"integer"`
6203
6204	// The port name of the remote connection.
6205	PortName *string `type:"string"`
6206}
6207
6208// String returns the string representation
6209func (s ActionRemotePortDetails) String() string {
6210	return awsutil.Prettify(s)
6211}
6212
6213// GoString returns the string representation
6214func (s ActionRemotePortDetails) GoString() string {
6215	return s.String()
6216}
6217
6218// SetPort sets the Port field's value.
6219func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
6220	s.Port = &v
6221	return s
6222}
6223
6224// SetPortName sets the PortName field's value.
6225func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
6226	s.PortName = &v
6227	return s
6228}
6229
6230// An ActionTarget object.
6231type ActionTarget struct {
6232	_ struct{} `type:"structure"`
6233
6234	// The ARN for the target action.
6235	//
6236	// ActionTargetArn is a required field
6237	ActionTargetArn *string `type:"string" required:"true"`
6238
6239	// The description of the target action.
6240	//
6241	// Description is a required field
6242	Description *string `type:"string" required:"true"`
6243
6244	// The name of the action target.
6245	//
6246	// Name is a required field
6247	Name *string `type:"string" required:"true"`
6248}
6249
6250// String returns the string representation
6251func (s ActionTarget) String() string {
6252	return awsutil.Prettify(s)
6253}
6254
6255// GoString returns the string representation
6256func (s ActionTarget) GoString() string {
6257	return s.String()
6258}
6259
6260// SetActionTargetArn sets the ActionTargetArn field's value.
6261func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
6262	s.ActionTargetArn = &v
6263	return s
6264}
6265
6266// SetDescription sets the Description field's value.
6267func (s *ActionTarget) SetDescription(v string) *ActionTarget {
6268	s.Description = &v
6269	return s
6270}
6271
6272// SetName sets the Name field's value.
6273func (s *ActionTarget) SetName(v string) *ActionTarget {
6274	s.Name = &v
6275	return s
6276}
6277
6278// Represents a Security Hub administrator account designated by an organization
6279// management account.
6280type AdminAccount struct {
6281	_ struct{} `type:"structure"`
6282
6283	// The AWS account identifier of the Security Hub administrator account.
6284	AccountId *string `type:"string"`
6285
6286	// The current status of the Security Hub administrator account. Indicates whether
6287	// the account is currently enabled as a Security Hub administrator.
6288	Status *string `type:"string" enum:"AdminStatus"`
6289}
6290
6291// String returns the string representation
6292func (s AdminAccount) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation
6297func (s AdminAccount) GoString() string {
6298	return s.String()
6299}
6300
6301// SetAccountId sets the AccountId field's value.
6302func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
6303	s.AccountId = &v
6304	return s
6305}
6306
6307// SetStatus sets the Status field's value.
6308func (s *AdminAccount) SetStatus(v string) *AdminAccount {
6309	s.Status = &v
6310	return s
6311}
6312
6313// Information about an Availability Zone.
6314type AvailabilityZone struct {
6315	_ struct{} `type:"structure"`
6316
6317	// The ID of the subnet. You can specify one subnet per Availability Zone.
6318	SubnetId *string `type:"string"`
6319
6320	// The name of the Availability Zone.
6321	ZoneName *string `type:"string"`
6322}
6323
6324// String returns the string representation
6325func (s AvailabilityZone) String() string {
6326	return awsutil.Prettify(s)
6327}
6328
6329// GoString returns the string representation
6330func (s AvailabilityZone) GoString() string {
6331	return s.String()
6332}
6333
6334// SetSubnetId sets the SubnetId field's value.
6335func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
6336	s.SubnetId = &v
6337	return s
6338}
6339
6340// SetZoneName sets the ZoneName field's value.
6341func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
6342	s.ZoneName = &v
6343	return s
6344}
6345
6346// Provided if ActionType is AWS_API_CALL. It provides details about the API
6347// call that was detected.
6348type AwsApiCallAction struct {
6349	_ struct{} `type:"structure"`
6350
6351	// Identifies the resources that were affected by the API call.
6352	AffectedResources map[string]*string `type:"map"`
6353
6354	// The name of the API method that was issued.
6355	Api *string `type:"string"`
6356
6357	// Indicates whether the API call originated from a remote IP address (remoteip)
6358	// or from a DNS domain (domain).
6359	CallerType *string `type:"string"`
6360
6361	// Provided if CallerType is domain. Provides information about the DNS domain
6362	// that the API call originated from.
6363	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
6364
6365	// An ISO8601-formatted timestamp that indicates when the API call was first
6366	// observed.
6367	FirstSeen *string `type:"string"`
6368
6369	// An ISO8601-formatted timestamp that indicates when the API call was most
6370	// recently observed.
6371	LastSeen *string `type:"string"`
6372
6373	// Provided if CallerType is remoteIp. Provides information about the remote
6374	// IP address that the API call originated from.
6375	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
6376
6377	// The name of the AWS service that the API method belongs to.
6378	ServiceName *string `type:"string"`
6379}
6380
6381// String returns the string representation
6382func (s AwsApiCallAction) String() string {
6383	return awsutil.Prettify(s)
6384}
6385
6386// GoString returns the string representation
6387func (s AwsApiCallAction) GoString() string {
6388	return s.String()
6389}
6390
6391// SetAffectedResources sets the AffectedResources field's value.
6392func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
6393	s.AffectedResources = v
6394	return s
6395}
6396
6397// SetApi sets the Api field's value.
6398func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
6399	s.Api = &v
6400	return s
6401}
6402
6403// SetCallerType sets the CallerType field's value.
6404func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
6405	s.CallerType = &v
6406	return s
6407}
6408
6409// SetDomainDetails sets the DomainDetails field's value.
6410func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
6411	s.DomainDetails = v
6412	return s
6413}
6414
6415// SetFirstSeen sets the FirstSeen field's value.
6416func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
6417	s.FirstSeen = &v
6418	return s
6419}
6420
6421// SetLastSeen sets the LastSeen field's value.
6422func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
6423	s.LastSeen = &v
6424	return s
6425}
6426
6427// SetRemoteIpDetails sets the RemoteIpDetails field's value.
6428func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
6429	s.RemoteIpDetails = v
6430	return s
6431}
6432
6433// SetServiceName sets the ServiceName field's value.
6434func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
6435	s.ServiceName = &v
6436	return s
6437}
6438
6439// Provided if CallerType is domain. It provides information about the DNS domain
6440// that issued the API call.
6441type AwsApiCallActionDomainDetails struct {
6442	_ struct{} `type:"structure"`
6443
6444	// The name of the DNS domain that issued the API call.
6445	Domain *string `type:"string"`
6446}
6447
6448// String returns the string representation
6449func (s AwsApiCallActionDomainDetails) String() string {
6450	return awsutil.Prettify(s)
6451}
6452
6453// GoString returns the string representation
6454func (s AwsApiCallActionDomainDetails) GoString() string {
6455	return s.String()
6456}
6457
6458// SetDomain sets the Domain field's value.
6459func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
6460	s.Domain = &v
6461	return s
6462}
6463
6464// Contains information about settings for logging access for the stage.
6465type AwsApiGatewayAccessLogSettings struct {
6466	_ struct{} `type:"structure"`
6467
6468	// The ARN of the CloudWatch Logs log group that receives the access logs.
6469	DestinationArn *string `type:"string"`
6470
6471	// A single-line format of the access logs of data, as specified by selected
6472	// $context variables. The format must include at least $context.requestId.
6473	Format *string `type:"string"`
6474}
6475
6476// String returns the string representation
6477func (s AwsApiGatewayAccessLogSettings) String() string {
6478	return awsutil.Prettify(s)
6479}
6480
6481// GoString returns the string representation
6482func (s AwsApiGatewayAccessLogSettings) GoString() string {
6483	return s.String()
6484}
6485
6486// SetDestinationArn sets the DestinationArn field's value.
6487func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
6488	s.DestinationArn = &v
6489	return s
6490}
6491
6492// SetFormat sets the Format field's value.
6493func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
6494	s.Format = &v
6495	return s
6496}
6497
6498// Contains information about settings for canary deployment in the stage.
6499type AwsApiGatewayCanarySettings struct {
6500	_ struct{} `type:"structure"`
6501
6502	// The deployment identifier for the canary deployment.
6503	DeploymentId *string `type:"string"`
6504
6505	// The percentage of traffic that is diverted to a canary deployment.
6506	PercentTraffic *float64 `type:"double"`
6507
6508	// Stage variables that are overridden in the canary release deployment. The
6509	// variables include new stage variables that are introduced in the canary.
6510	//
6511	// Each variable is represented as a string-to-string map between the stage
6512	// variable name and the variable value.
6513	StageVariableOverrides map[string]*string `type:"map"`
6514
6515	// Indicates whether the canary deployment uses the stage cache.
6516	UseStageCache *bool `type:"boolean"`
6517}
6518
6519// String returns the string representation
6520func (s AwsApiGatewayCanarySettings) String() string {
6521	return awsutil.Prettify(s)
6522}
6523
6524// GoString returns the string representation
6525func (s AwsApiGatewayCanarySettings) GoString() string {
6526	return s.String()
6527}
6528
6529// SetDeploymentId sets the DeploymentId field's value.
6530func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
6531	s.DeploymentId = &v
6532	return s
6533}
6534
6535// SetPercentTraffic sets the PercentTraffic field's value.
6536func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
6537	s.PercentTraffic = &v
6538	return s
6539}
6540
6541// SetStageVariableOverrides sets the StageVariableOverrides field's value.
6542func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
6543	s.StageVariableOverrides = v
6544	return s
6545}
6546
6547// SetUseStageCache sets the UseStageCache field's value.
6548func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
6549	s.UseStageCache = &v
6550	return s
6551}
6552
6553// Contains information about the endpoints for the API.
6554type AwsApiGatewayEndpointConfiguration struct {
6555	_ struct{} `type:"structure"`
6556
6557	// A list of endpoint types for the REST API.
6558	//
6559	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
6560	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
6561	Types []*string `type:"list"`
6562}
6563
6564// String returns the string representation
6565func (s AwsApiGatewayEndpointConfiguration) String() string {
6566	return awsutil.Prettify(s)
6567}
6568
6569// GoString returns the string representation
6570func (s AwsApiGatewayEndpointConfiguration) GoString() string {
6571	return s.String()
6572}
6573
6574// SetTypes sets the Types field's value.
6575func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
6576	s.Types = v
6577	return s
6578}
6579
6580// Defines settings for a method for the stage.
6581type AwsApiGatewayMethodSettings struct {
6582	_ struct{} `type:"structure"`
6583
6584	// Indicates whether the cached responses are encrypted.
6585	CacheDataEncrypted *bool `type:"boolean"`
6586
6587	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
6588	// the TTL, the longer the response is cached.
6589	CacheTtlInSeconds *int64 `type:"integer"`
6590
6591	// Indicates whether responses are cached and returned for requests. For responses
6592	// to be cached, a cache cluster must be enabled on the stage.
6593	CachingEnabled *bool `type:"boolean"`
6594
6595	// Indicates whether data trace logging is enabled for the method. Data trace
6596	// logging affects the log entries that are pushed to CloudWatch Logs.
6597	DataTraceEnabled *bool `type:"boolean"`
6598
6599	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
6600	// settings to multiple methods.
6601	HttpMethod *string `type:"string"`
6602
6603	// The logging level for this method. The logging level affects the log entries
6604	// that are pushed to CloudWatch Logs.
6605	//
6606	// If the logging level is ERROR, then the logs only include error-level entries.
6607	//
6608	// If the logging level is INFO, then the logs include both ERROR events and
6609	// extra informational events.
6610	//
6611	// Valid values: OFF | ERROR | INFO
6612	LoggingLevel *string `type:"string"`
6613
6614	// Indicates whether CloudWatch metrics are enabled for the method.
6615	MetricsEnabled *bool `type:"boolean"`
6616
6617	// Indicates whether authorization is required for a cache invalidation request.
6618	RequireAuthorizationForCacheControl *bool `type:"boolean"`
6619
6620	// The resource path for this method. Forward slashes (/) are encoded as ~1
6621	// . The initial slash must include a forward slash.
6622	//
6623	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
6624	//
6625	// To specify the root path, use only a slash (/). You can use an asterisk (*)
6626	// as a wildcard to apply method settings to multiple methods.
6627	ResourcePath *string `type:"string"`
6628
6629	// The throttling burst limit for the method.
6630	ThrottlingBurstLimit *int64 `type:"integer"`
6631
6632	// The throttling rate limit for the method.
6633	ThrottlingRateLimit *float64 `type:"double"`
6634
6635	// Indicates how to handle unauthorized requests for cache invalidation.
6636	//
6637	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
6638	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
6639}
6640
6641// String returns the string representation
6642func (s AwsApiGatewayMethodSettings) String() string {
6643	return awsutil.Prettify(s)
6644}
6645
6646// GoString returns the string representation
6647func (s AwsApiGatewayMethodSettings) GoString() string {
6648	return s.String()
6649}
6650
6651// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
6652func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
6653	s.CacheDataEncrypted = &v
6654	return s
6655}
6656
6657// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
6658func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
6659	s.CacheTtlInSeconds = &v
6660	return s
6661}
6662
6663// SetCachingEnabled sets the CachingEnabled field's value.
6664func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
6665	s.CachingEnabled = &v
6666	return s
6667}
6668
6669// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6670func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
6671	s.DataTraceEnabled = &v
6672	return s
6673}
6674
6675// SetHttpMethod sets the HttpMethod field's value.
6676func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
6677	s.HttpMethod = &v
6678	return s
6679}
6680
6681// SetLoggingLevel sets the LoggingLevel field's value.
6682func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
6683	s.LoggingLevel = &v
6684	return s
6685}
6686
6687// SetMetricsEnabled sets the MetricsEnabled field's value.
6688func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
6689	s.MetricsEnabled = &v
6690	return s
6691}
6692
6693// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
6694func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
6695	s.RequireAuthorizationForCacheControl = &v
6696	return s
6697}
6698
6699// SetResourcePath sets the ResourcePath field's value.
6700func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
6701	s.ResourcePath = &v
6702	return s
6703}
6704
6705// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6706func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
6707	s.ThrottlingBurstLimit = &v
6708	return s
6709}
6710
6711// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6712func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
6713	s.ThrottlingRateLimit = &v
6714	return s
6715}
6716
6717// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
6718func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
6719	s.UnauthorizedCacheControlHeaderStrategy = &v
6720	return s
6721}
6722
6723// Contains information about a REST API in version 1 of Amazon API Gateway.
6724type AwsApiGatewayRestApiDetails struct {
6725	_ struct{} `type:"structure"`
6726
6727	// The source of the API key for metering requests according to a usage plan.
6728	//
6729	// HEADER indicates whether to read the API key from the X-API-Key header of
6730	// a request.
6731	//
6732	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
6733	// from a custom authorizer.
6734	ApiKeySource *string `type:"string"`
6735
6736	// The list of binary media types supported by the REST API.
6737	BinaryMediaTypes []*string `type:"list"`
6738
6739	// Indicates when the API was created.
6740	//
6741	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6742	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6743	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6744	CreatedDate *string `type:"string"`
6745
6746	// A description of the REST API.
6747	Description *string `type:"string"`
6748
6749	// The endpoint configuration of the REST API.
6750	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
6751
6752	// The identifier of the REST API.
6753	Id *string `type:"string"`
6754
6755	// The minimum size in bytes of a payload before compression is enabled.
6756	//
6757	// If null, then compression is disabled.
6758	//
6759	// If 0, then all payloads are compressed.
6760	MinimumCompressionSize *int64 `type:"integer"`
6761
6762	// The name of the REST API.
6763	Name *string `type:"string"`
6764
6765	// The version identifier for the REST API.
6766	Version *string `type:"string"`
6767}
6768
6769// String returns the string representation
6770func (s AwsApiGatewayRestApiDetails) String() string {
6771	return awsutil.Prettify(s)
6772}
6773
6774// GoString returns the string representation
6775func (s AwsApiGatewayRestApiDetails) GoString() string {
6776	return s.String()
6777}
6778
6779// SetApiKeySource sets the ApiKeySource field's value.
6780func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
6781	s.ApiKeySource = &v
6782	return s
6783}
6784
6785// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
6786func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
6787	s.BinaryMediaTypes = v
6788	return s
6789}
6790
6791// SetCreatedDate sets the CreatedDate field's value.
6792func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
6793	s.CreatedDate = &v
6794	return s
6795}
6796
6797// SetDescription sets the Description field's value.
6798func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
6799	s.Description = &v
6800	return s
6801}
6802
6803// SetEndpointConfiguration sets the EndpointConfiguration field's value.
6804func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
6805	s.EndpointConfiguration = v
6806	return s
6807}
6808
6809// SetId sets the Id field's value.
6810func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
6811	s.Id = &v
6812	return s
6813}
6814
6815// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
6816func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
6817	s.MinimumCompressionSize = &v
6818	return s
6819}
6820
6821// SetName sets the Name field's value.
6822func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
6823	s.Name = &v
6824	return s
6825}
6826
6827// SetVersion sets the Version field's value.
6828func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
6829	s.Version = &v
6830	return s
6831}
6832
6833// Provides information about a version 1 Amazon API Gateway stage.
6834type AwsApiGatewayStageDetails struct {
6835	_ struct{} `type:"structure"`
6836
6837	// Settings for logging access for the stage.
6838	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6839
6840	// Indicates whether a cache cluster is enabled for the stage.
6841	CacheClusterEnabled *bool `type:"boolean"`
6842
6843	// If a cache cluster is enabled, the size of the cache cluster.
6844	CacheClusterSize *string `type:"string"`
6845
6846	// If a cache cluster is enabled, the status of the cache cluster.
6847	CacheClusterStatus *string `type:"string"`
6848
6849	// Information about settings for canary deployment in the stage.
6850	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
6851
6852	// The identifier of the client certificate for the stage.
6853	ClientCertificateId *string `type:"string"`
6854
6855	// Indicates when the stage was created.
6856	//
6857	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6858	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6859	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6860	CreatedDate *string `type:"string"`
6861
6862	// The identifier of the deployment that the stage points to.
6863	DeploymentId *string `type:"string"`
6864
6865	// A description of the stage.
6866	Description *string `type:"string"`
6867
6868	// The version of the API documentation that is associated with the stage.
6869	DocumentationVersion *string `type:"string"`
6870
6871	// Indicates when the stage was most recently updated.
6872	//
6873	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6874	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6875	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6876	LastUpdatedDate *string `type:"string"`
6877
6878	// Defines the method settings for the stage.
6879	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
6880
6881	// The name of the stage.
6882	StageName *string `type:"string"`
6883
6884	// Indicates whether active tracing with AWS X-Ray is enabled for the stage.
6885	TracingEnabled *bool `type:"boolean"`
6886
6887	// A map that defines the stage variables for the stage.
6888	//
6889	// Variable names can have alphanumeric and underscore characters.
6890	//
6891	// Variable values can contain the following characters:
6892	//
6893	//    * Uppercase and lowercase letters
6894	//
6895	//    * Numbers
6896	//
6897	//    * Special characters -._~:/?#&=,
6898	Variables map[string]*string `type:"map"`
6899
6900	// The ARN of the web ACL associated with the stage.
6901	WebAclArn *string `type:"string"`
6902}
6903
6904// String returns the string representation
6905func (s AwsApiGatewayStageDetails) String() string {
6906	return awsutil.Prettify(s)
6907}
6908
6909// GoString returns the string representation
6910func (s AwsApiGatewayStageDetails) GoString() string {
6911	return s.String()
6912}
6913
6914// SetAccessLogSettings sets the AccessLogSettings field's value.
6915func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
6916	s.AccessLogSettings = v
6917	return s
6918}
6919
6920// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
6921func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
6922	s.CacheClusterEnabled = &v
6923	return s
6924}
6925
6926// SetCacheClusterSize sets the CacheClusterSize field's value.
6927func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
6928	s.CacheClusterSize = &v
6929	return s
6930}
6931
6932// SetCacheClusterStatus sets the CacheClusterStatus field's value.
6933func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
6934	s.CacheClusterStatus = &v
6935	return s
6936}
6937
6938// SetCanarySettings sets the CanarySettings field's value.
6939func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
6940	s.CanarySettings = v
6941	return s
6942}
6943
6944// SetClientCertificateId sets the ClientCertificateId field's value.
6945func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
6946	s.ClientCertificateId = &v
6947	return s
6948}
6949
6950// SetCreatedDate sets the CreatedDate field's value.
6951func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
6952	s.CreatedDate = &v
6953	return s
6954}
6955
6956// SetDeploymentId sets the DeploymentId field's value.
6957func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
6958	s.DeploymentId = &v
6959	return s
6960}
6961
6962// SetDescription sets the Description field's value.
6963func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
6964	s.Description = &v
6965	return s
6966}
6967
6968// SetDocumentationVersion sets the DocumentationVersion field's value.
6969func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
6970	s.DocumentationVersion = &v
6971	return s
6972}
6973
6974// SetLastUpdatedDate sets the LastUpdatedDate field's value.
6975func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
6976	s.LastUpdatedDate = &v
6977	return s
6978}
6979
6980// SetMethodSettings sets the MethodSettings field's value.
6981func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
6982	s.MethodSettings = v
6983	return s
6984}
6985
6986// SetStageName sets the StageName field's value.
6987func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
6988	s.StageName = &v
6989	return s
6990}
6991
6992// SetTracingEnabled sets the TracingEnabled field's value.
6993func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
6994	s.TracingEnabled = &v
6995	return s
6996}
6997
6998// SetVariables sets the Variables field's value.
6999func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
7000	s.Variables = v
7001	return s
7002}
7003
7004// SetWebAclArn sets the WebAclArn field's value.
7005func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
7006	s.WebAclArn = &v
7007	return s
7008}
7009
7010// Contains information about a version 2 API in Amazon API Gateway.
7011type AwsApiGatewayV2ApiDetails struct {
7012	_ struct{} `type:"structure"`
7013
7014	// The URI of the API.
7015	//
7016	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
7017	//
7018	// The stage name is typically appended to the URI to form a complete path to
7019	// a deployed API stage.
7020	ApiEndpoint *string `type:"string"`
7021
7022	// The identifier of the API.
7023	ApiId *string `type:"string"`
7024
7025	// An API key selection expression. Supported only for WebSocket APIs.
7026	ApiKeySelectionExpression *string `type:"string"`
7027
7028	// A cross-origin resource sharing (CORS) configuration. Supported only for
7029	// HTTP APIs.
7030	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
7031
7032	// Indicates when the API was created.
7033	//
7034	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7035	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7036	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7037	CreatedDate *string `type:"string"`
7038
7039	// A description of the API.
7040	Description *string `type:"string"`
7041
7042	// The name of the API.
7043	Name *string `type:"string"`
7044
7045	// The API protocol for the API.
7046	//
7047	// Valid values: WEBSOCKET | HTTP
7048	ProtocolType *string `type:"string"`
7049
7050	// The route selection expression for the API.
7051	//
7052	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
7053	// value for HTTP APIs.
7054	//
7055	// For WebSocket APIs, there is no default value.
7056	RouteSelectionExpression *string `type:"string"`
7057
7058	// The version identifier for the API.
7059	Version *string `type:"string"`
7060}
7061
7062// String returns the string representation
7063func (s AwsApiGatewayV2ApiDetails) String() string {
7064	return awsutil.Prettify(s)
7065}
7066
7067// GoString returns the string representation
7068func (s AwsApiGatewayV2ApiDetails) GoString() string {
7069	return s.String()
7070}
7071
7072// SetApiEndpoint sets the ApiEndpoint field's value.
7073func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
7074	s.ApiEndpoint = &v
7075	return s
7076}
7077
7078// SetApiId sets the ApiId field's value.
7079func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
7080	s.ApiId = &v
7081	return s
7082}
7083
7084// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7085func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7086	s.ApiKeySelectionExpression = &v
7087	return s
7088}
7089
7090// SetCorsConfiguration sets the CorsConfiguration field's value.
7091func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
7092	s.CorsConfiguration = v
7093	return s
7094}
7095
7096// SetCreatedDate sets the CreatedDate field's value.
7097func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
7098	s.CreatedDate = &v
7099	return s
7100}
7101
7102// SetDescription sets the Description field's value.
7103func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
7104	s.Description = &v
7105	return s
7106}
7107
7108// SetName sets the Name field's value.
7109func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
7110	s.Name = &v
7111	return s
7112}
7113
7114// SetProtocolType sets the ProtocolType field's value.
7115func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
7116	s.ProtocolType = &v
7117	return s
7118}
7119
7120// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7121func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7122	s.RouteSelectionExpression = &v
7123	return s
7124}
7125
7126// SetVersion sets the Version field's value.
7127func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
7128	s.Version = &v
7129	return s
7130}
7131
7132// Contains route settings for a stage.
7133type AwsApiGatewayV2RouteSettings struct {
7134	_ struct{} `type:"structure"`
7135
7136	// Indicates whether data trace logging is enabled. Data trace logging affects
7137	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
7138	// APIs.
7139	DataTraceEnabled *bool `type:"boolean"`
7140
7141	// Indicates whether detailed metrics are enabled.
7142	DetailedMetricsEnabled *bool `type:"boolean"`
7143
7144	// The logging level. The logging level affects the log entries that are pushed
7145	// to CloudWatch Logs. Supported only for WebSocket APIs.
7146	//
7147	// If the logging level is ERROR, then the logs only include error-level entries.
7148	//
7149	// If the logging level is INFO, then the logs include both ERROR events and
7150	// extra informational events.
7151	//
7152	// Valid values: OFF | ERROR | INFO
7153	LoggingLevel *string `type:"string"`
7154
7155	// The throttling burst limit.
7156	ThrottlingBurstLimit *int64 `type:"integer"`
7157
7158	// The throttling rate limit.
7159	ThrottlingRateLimit *float64 `type:"double"`
7160}
7161
7162// String returns the string representation
7163func (s AwsApiGatewayV2RouteSettings) String() string {
7164	return awsutil.Prettify(s)
7165}
7166
7167// GoString returns the string representation
7168func (s AwsApiGatewayV2RouteSettings) GoString() string {
7169	return s.String()
7170}
7171
7172// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7173func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7174	s.DataTraceEnabled = &v
7175	return s
7176}
7177
7178// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
7179func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7180	s.DetailedMetricsEnabled = &v
7181	return s
7182}
7183
7184// SetLoggingLevel sets the LoggingLevel field's value.
7185func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
7186	s.LoggingLevel = &v
7187	return s
7188}
7189
7190// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
7191func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
7192	s.ThrottlingBurstLimit = &v
7193	return s
7194}
7195
7196// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
7197func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
7198	s.ThrottlingRateLimit = &v
7199	return s
7200}
7201
7202// Contains information about a version 2 stage for Amazon API Gateway.
7203type AwsApiGatewayV2StageDetails struct {
7204	_ struct{} `type:"structure"`
7205
7206	// Information about settings for logging access for the stage.
7207	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
7208
7209	// Indicates whether the stage is managed by API Gateway.
7210	ApiGatewayManaged *bool `type:"boolean"`
7211
7212	// Indicates whether updates to an API automatically trigger a new deployment.
7213	AutoDeploy *bool `type:"boolean"`
7214
7215	// The identifier of a client certificate for a stage. Supported only for WebSocket
7216	// API calls.
7217	ClientCertificateId *string `type:"string"`
7218
7219	// Indicates when the stage was created.
7220	//
7221	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7222	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7223	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7224	CreatedDate *string `type:"string"`
7225
7226	// Default route settings for the stage.
7227	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7228
7229	// The identifier of the deployment that the stage is associated with.
7230	DeploymentId *string `type:"string"`
7231
7232	// The description of the stage.
7233	Description *string `type:"string"`
7234
7235	// The status of the last deployment of a stage. Supported only if the stage
7236	// has automatic deployment enabled.
7237	LastDeploymentStatusMessage *string `type:"string"`
7238
7239	// Indicates when the stage was most recently updated.
7240	//
7241	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7242	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7243	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7244	LastUpdatedDate *string `type:"string"`
7245
7246	// The route settings for the stage.
7247	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7248
7249	// The name of the stage.
7250	StageName *string `type:"string"`
7251
7252	// A map that defines the stage variables for the stage.
7253	//
7254	// Variable names can have alphanumeric and underscore characters.
7255	//
7256	// Variable values can contain the following characters:
7257	//
7258	//    * Uppercase and lowercase letters
7259	//
7260	//    * Numbers
7261	//
7262	//    * Special characters -._~:/?#&=,
7263	StageVariables map[string]*string `type:"map"`
7264}
7265
7266// String returns the string representation
7267func (s AwsApiGatewayV2StageDetails) String() string {
7268	return awsutil.Prettify(s)
7269}
7270
7271// GoString returns the string representation
7272func (s AwsApiGatewayV2StageDetails) GoString() string {
7273	return s.String()
7274}
7275
7276// SetAccessLogSettings sets the AccessLogSettings field's value.
7277func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
7278	s.AccessLogSettings = v
7279	return s
7280}
7281
7282// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
7283func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
7284	s.ApiGatewayManaged = &v
7285	return s
7286}
7287
7288// SetAutoDeploy sets the AutoDeploy field's value.
7289func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
7290	s.AutoDeploy = &v
7291	return s
7292}
7293
7294// SetClientCertificateId sets the ClientCertificateId field's value.
7295func (s *AwsApiGatewayV2StageDetails) SetClientCertificateId(v string) *AwsApiGatewayV2StageDetails {
7296	s.ClientCertificateId = &v
7297	return s
7298}
7299
7300// SetCreatedDate sets the CreatedDate field's value.
7301func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
7302	s.CreatedDate = &v
7303	return s
7304}
7305
7306// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
7307func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7308	s.DefaultRouteSettings = v
7309	return s
7310}
7311
7312// SetDeploymentId sets the DeploymentId field's value.
7313func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
7314	s.DeploymentId = &v
7315	return s
7316}
7317
7318// SetDescription sets the Description field's value.
7319func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
7320	s.Description = &v
7321	return s
7322}
7323
7324// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
7325func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
7326	s.LastDeploymentStatusMessage = &v
7327	return s
7328}
7329
7330// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7331func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
7332	s.LastUpdatedDate = &v
7333	return s
7334}
7335
7336// SetRouteSettings sets the RouteSettings field's value.
7337func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7338	s.RouteSettings = v
7339	return s
7340}
7341
7342// SetStageName sets the StageName field's value.
7343func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
7344	s.StageName = &v
7345	return s
7346}
7347
7348// SetStageVariables sets the StageVariables field's value.
7349func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
7350	s.StageVariables = v
7351	return s
7352}
7353
7354// Provides details about an auto scaling group.
7355type AwsAutoScalingAutoScalingGroupDetails struct {
7356	_ struct{} `type:"structure"`
7357
7358	// Indicates when the auto scaling group was created.
7359	//
7360	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7361	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7362	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7363	CreatedTime *string `type:"string"`
7364
7365	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
7366	// it checks the health status of an EC2 instance that has come into service.
7367	HealthCheckGracePeriod *int64 `type:"integer"`
7368
7369	// The service to use for the health checks.
7370	HealthCheckType *string `type:"string"`
7371
7372	// The name of the launch configuration.
7373	LaunchConfigurationName *string `type:"string"`
7374
7375	// The list of load balancers associated with the group.
7376	LoadBalancerNames []*string `type:"list"`
7377}
7378
7379// String returns the string representation
7380func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
7381	return awsutil.Prettify(s)
7382}
7383
7384// GoString returns the string representation
7385func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
7386	return s.String()
7387}
7388
7389// SetCreatedTime sets the CreatedTime field's value.
7390func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
7391	s.CreatedTime = &v
7392	return s
7393}
7394
7395// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
7396func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
7397	s.HealthCheckGracePeriod = &v
7398	return s
7399}
7400
7401// SetHealthCheckType sets the HealthCheckType field's value.
7402func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
7403	s.HealthCheckType = &v
7404	return s
7405}
7406
7407// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
7408func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
7409	s.LaunchConfigurationName = &v
7410	return s
7411}
7412
7413// SetLoadBalancerNames sets the LoadBalancerNames field's value.
7414func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
7415	s.LoadBalancerNames = v
7416	return s
7417}
7418
7419// Provides details about an AWS Certificate Manager certificate.
7420type AwsCertificateManagerCertificateDetails struct {
7421	_ struct{} `type:"structure"`
7422
7423	// The ARN of the private certificate authority (CA) that will be used to issue
7424	// the certificate.
7425	CertificateAuthorityArn *string `type:"string"`
7426
7427	// Indicates when the certificate was requested.
7428	//
7429	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7430	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7431	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7432	CreatedAt *string `type:"string"`
7433
7434	// The fully qualified domain name (FQDN), such as www.example.com, that is
7435	// secured by the certificate.
7436	DomainName *string `type:"string"`
7437
7438	// Contains information about the initial validation of each domain name that
7439	// occurs as a result of the RequestCertificate request.
7440	//
7441	// Only provided if the certificate type is AMAZON_ISSUED.
7442	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7443
7444	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
7445	// specifies a purpose for which the certificate public key can be used and
7446	// consists of a name and an object identifier (OID).
7447	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
7448
7449	// For a failed certificate request, the reason for the failure.
7450	//
7451	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7452	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7453	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7454	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7455	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7456	FailureReason *string `type:"string"`
7457
7458	// Indicates when the certificate was imported. Provided if the certificate
7459	// type is IMPORTED.
7460	//
7461	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7462	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7463	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7464	ImportedAt *string `type:"string"`
7465
7466	// The list of ARNs for the AWS resources that use the certificate.
7467	InUseBy []*string `type:"list"`
7468
7469	// Indicates when the certificate was issued. Provided if the certificate type
7470	// is AMAZON_ISSUED.
7471	//
7472	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7473	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7474	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7475	IssuedAt *string `type:"string"`
7476
7477	// The name of the certificate authority that issued and signed the certificate.
7478	Issuer *string `type:"string"`
7479
7480	// The algorithm that was used to generate the public-private key pair.
7481	//
7482	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
7483	// | EC_secp521r1
7484	KeyAlgorithm *string `type:"string"`
7485
7486	// A list of key usage X.509 v3 extension objects.
7487	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
7488
7489	// The time after which the certificate becomes invalid.
7490	//
7491	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7492	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7493	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7494	NotAfter *string `type:"string"`
7495
7496	// The time before which the certificate is not valid.
7497	//
7498	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7499	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7500	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7501	NotBefore *string `type:"string"`
7502
7503	// Provides a value that specifies whether to add the certificate to a transparency
7504	// log.
7505	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
7506
7507	// Whether the certificate is eligible for renewal.
7508	//
7509	// Valid values: ELIGIBLE | INELIGIBLE
7510	RenewalEligibility *string `type:"string"`
7511
7512	// Information about the status of the AWS Certificate Manager managed renewal
7513	// for the certificate. Provided only when the certificate type is AMAZON_ISSUED.
7514	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
7515
7516	// The serial number of the certificate.
7517	Serial *string `type:"string"`
7518
7519	// The algorithm that was used to sign the certificate.
7520	SignatureAlgorithm *string `type:"string"`
7521
7522	// The status of the certificate.
7523	//
7524	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
7525	// | REVOKED | FAILED
7526	Status *string `type:"string"`
7527
7528	// The name of the entity that is associated with the public key contained in
7529	// the certificate.
7530	Subject *string `type:"string"`
7531
7532	// One or more domain names (subject alternative names) included in the certificate.
7533	// This list contains the domain names that are bound to the public key that
7534	// is contained in the certificate.
7535	//
7536	// The subject alternative names include the canonical domain name (CN) of the
7537	// certificate and additional domain names that can be used to connect to the
7538	// website.
7539	SubjectAlternativeNames []*string `type:"list"`
7540
7541	// The source of the certificate. For certificates that AWS Certificate Manager
7542	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
7543	// ImportCertificate, Type is IMPORTED.
7544	//
7545	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
7546	Type *string `type:"string"`
7547}
7548
7549// String returns the string representation
7550func (s AwsCertificateManagerCertificateDetails) String() string {
7551	return awsutil.Prettify(s)
7552}
7553
7554// GoString returns the string representation
7555func (s AwsCertificateManagerCertificateDetails) GoString() string {
7556	return s.String()
7557}
7558
7559// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
7560func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
7561	s.CertificateAuthorityArn = &v
7562	return s
7563}
7564
7565// SetCreatedAt sets the CreatedAt field's value.
7566func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
7567	s.CreatedAt = &v
7568	return s
7569}
7570
7571// SetDomainName sets the DomainName field's value.
7572func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
7573	s.DomainName = &v
7574	return s
7575}
7576
7577// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7578func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
7579	s.DomainValidationOptions = v
7580	return s
7581}
7582
7583// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
7584func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
7585	s.ExtendedKeyUsages = v
7586	return s
7587}
7588
7589// SetFailureReason sets the FailureReason field's value.
7590func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
7591	s.FailureReason = &v
7592	return s
7593}
7594
7595// SetImportedAt sets the ImportedAt field's value.
7596func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
7597	s.ImportedAt = &v
7598	return s
7599}
7600
7601// SetInUseBy sets the InUseBy field's value.
7602func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
7603	s.InUseBy = v
7604	return s
7605}
7606
7607// SetIssuedAt sets the IssuedAt field's value.
7608func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
7609	s.IssuedAt = &v
7610	return s
7611}
7612
7613// SetIssuer sets the Issuer field's value.
7614func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
7615	s.Issuer = &v
7616	return s
7617}
7618
7619// SetKeyAlgorithm sets the KeyAlgorithm field's value.
7620func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7621	s.KeyAlgorithm = &v
7622	return s
7623}
7624
7625// SetKeyUsages sets the KeyUsages field's value.
7626func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
7627	s.KeyUsages = v
7628	return s
7629}
7630
7631// SetNotAfter sets the NotAfter field's value.
7632func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
7633	s.NotAfter = &v
7634	return s
7635}
7636
7637// SetNotBefore sets the NotBefore field's value.
7638func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
7639	s.NotBefore = &v
7640	return s
7641}
7642
7643// SetOptions sets the Options field's value.
7644func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
7645	s.Options = v
7646	return s
7647}
7648
7649// SetRenewalEligibility sets the RenewalEligibility field's value.
7650func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
7651	s.RenewalEligibility = &v
7652	return s
7653}
7654
7655// SetRenewalSummary sets the RenewalSummary field's value.
7656func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
7657	s.RenewalSummary = v
7658	return s
7659}
7660
7661// SetSerial sets the Serial field's value.
7662func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
7663	s.Serial = &v
7664	return s
7665}
7666
7667// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
7668func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7669	s.SignatureAlgorithm = &v
7670	return s
7671}
7672
7673// SetStatus sets the Status field's value.
7674func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
7675	s.Status = &v
7676	return s
7677}
7678
7679// SetSubject sets the Subject field's value.
7680func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
7681	s.Subject = &v
7682	return s
7683}
7684
7685// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
7686func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
7687	s.SubjectAlternativeNames = v
7688	return s
7689}
7690
7691// SetType sets the Type field's value.
7692func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
7693	s.Type = &v
7694	return s
7695}
7696
7697// Contains information about one of the following:
7698//
7699//    * The initial validation of each domain name that occurs as a result of
7700//    the RequestCertificate request
7701//
7702//    * The validation of each domain name in the certificate, as it pertains
7703//    to AWS Certificate Manager managed renewal
7704type AwsCertificateManagerCertificateDomainValidationOption struct {
7705	_ struct{} `type:"structure"`
7706
7707	// A fully qualified domain name (FQDN) in the certificate.
7708	DomainName *string `type:"string"`
7709
7710	// The CNAME record that is added to the DNS database for domain validation.
7711	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
7712
7713	// The domain name that AWS Certificate Manager uses to send domain validation
7714	// emails.
7715	ValidationDomain *string `type:"string"`
7716
7717	// A list of email addresses that AWS Certificate Manager uses to send domain
7718	// validation emails.
7719	ValidationEmails []*string `type:"list"`
7720
7721	// The method used to validate the domain name.
7722	ValidationMethod *string `type:"string"`
7723
7724	// The validation status of the domain name.
7725	ValidationStatus *string `type:"string"`
7726}
7727
7728// String returns the string representation
7729func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
7730	return awsutil.Prettify(s)
7731}
7732
7733// GoString returns the string representation
7734func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
7735	return s.String()
7736}
7737
7738// SetDomainName sets the DomainName field's value.
7739func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7740	s.DomainName = &v
7741	return s
7742}
7743
7744// SetResourceRecord sets the ResourceRecord field's value.
7745func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
7746	s.ResourceRecord = v
7747	return s
7748}
7749
7750// SetValidationDomain sets the ValidationDomain field's value.
7751func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7752	s.ValidationDomain = &v
7753	return s
7754}
7755
7756// SetValidationEmails sets the ValidationEmails field's value.
7757func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
7758	s.ValidationEmails = v
7759	return s
7760}
7761
7762// SetValidationMethod sets the ValidationMethod field's value.
7763func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7764	s.ValidationMethod = &v
7765	return s
7766}
7767
7768// SetValidationStatus sets the ValidationStatus field's value.
7769func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7770	s.ValidationStatus = &v
7771	return s
7772}
7773
7774// Contains information about an extended key usage X.509 v3 extension object.
7775type AwsCertificateManagerCertificateExtendedKeyUsage struct {
7776	_ struct{} `type:"structure"`
7777
7778	// The name of an extension value. Indicates the purpose for which the certificate
7779	// public key can be used.
7780	Name *string `type:"string"`
7781
7782	// An object identifier (OID) for the extension value.
7783	//
7784	// The format is numbers separated by periods.
7785	OId *string `type:"string"`
7786}
7787
7788// String returns the string representation
7789func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
7790	return awsutil.Prettify(s)
7791}
7792
7793// GoString returns the string representation
7794func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
7795	return s.String()
7796}
7797
7798// SetName sets the Name field's value.
7799func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7800	s.Name = &v
7801	return s
7802}
7803
7804// SetOId sets the OId field's value.
7805func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7806	s.OId = &v
7807	return s
7808}
7809
7810// Contains information about a key usage X.509 v3 extension object.
7811type AwsCertificateManagerCertificateKeyUsage struct {
7812	_ struct{} `type:"structure"`
7813
7814	// The key usage extension name.
7815	Name *string `type:"string"`
7816}
7817
7818// String returns the string representation
7819func (s AwsCertificateManagerCertificateKeyUsage) String() string {
7820	return awsutil.Prettify(s)
7821}
7822
7823// GoString returns the string representation
7824func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
7825	return s.String()
7826}
7827
7828// SetName sets the Name field's value.
7829func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
7830	s.Name = &v
7831	return s
7832}
7833
7834// Contains other options for the certificate.
7835type AwsCertificateManagerCertificateOptions struct {
7836	_ struct{} `type:"structure"`
7837
7838	// Whether to add the certificate to a transparency log.
7839	//
7840	// Valid values: DISABLED | ENABLED
7841	CertificateTransparencyLoggingPreference *string `type:"string"`
7842}
7843
7844// String returns the string representation
7845func (s AwsCertificateManagerCertificateOptions) String() string {
7846	return awsutil.Prettify(s)
7847}
7848
7849// GoString returns the string representation
7850func (s AwsCertificateManagerCertificateOptions) GoString() string {
7851	return s.String()
7852}
7853
7854// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
7855func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
7856	s.CertificateTransparencyLoggingPreference = &v
7857	return s
7858}
7859
7860// Contains information about the AWS Certificate Manager managed renewal for
7861// an AMAZON_ISSUED certificate.
7862type AwsCertificateManagerCertificateRenewalSummary struct {
7863	_ struct{} `type:"structure"`
7864
7865	// Information about the validation of each domain name in the certificate,
7866	// as it pertains to AWS Certificate Manager managed renewal. Provided only
7867	// when the certificate type is AMAZON_ISSUED.
7868	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7869
7870	// The status of the AWS Certificate Manager managed renewal of the certificate.
7871	//
7872	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
7873	RenewalStatus *string `type:"string"`
7874
7875	// The reason that a renewal request was unsuccessful.
7876	//
7877	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7878	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7879	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7880	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7881	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7882	RenewalStatusReason *string `type:"string"`
7883
7884	// Indicates when the renewal summary was last updated.
7885	//
7886	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7887	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7888	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7889	UpdatedAt *string `type:"string"`
7890}
7891
7892// String returns the string representation
7893func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
7894	return awsutil.Prettify(s)
7895}
7896
7897// GoString returns the string representation
7898func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
7899	return s.String()
7900}
7901
7902// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7903func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
7904	s.DomainValidationOptions = v
7905	return s
7906}
7907
7908// SetRenewalStatus sets the RenewalStatus field's value.
7909func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
7910	s.RenewalStatus = &v
7911	return s
7912}
7913
7914// SetRenewalStatusReason sets the RenewalStatusReason field's value.
7915func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
7916	s.RenewalStatusReason = &v
7917	return s
7918}
7919
7920// SetUpdatedAt sets the UpdatedAt field's value.
7921func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
7922	s.UpdatedAt = &v
7923	return s
7924}
7925
7926// Provides details about the CNAME record that is added to the DNS database
7927// for domain validation.
7928type AwsCertificateManagerCertificateResourceRecord struct {
7929	_ struct{} `type:"structure"`
7930
7931	// The name of the resource.
7932	Name *string `type:"string"`
7933
7934	// The type of resource.
7935	Type *string `type:"string"`
7936
7937	// The value of the resource.
7938	Value *string `type:"string"`
7939}
7940
7941// String returns the string representation
7942func (s AwsCertificateManagerCertificateResourceRecord) String() string {
7943	return awsutil.Prettify(s)
7944}
7945
7946// GoString returns the string representation
7947func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
7948	return s.String()
7949}
7950
7951// SetName sets the Name field's value.
7952func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
7953	s.Name = &v
7954	return s
7955}
7956
7957// SetType sets the Type field's value.
7958func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
7959	s.Type = &v
7960	return s
7961}
7962
7963// SetValue sets the Value field's value.
7964func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
7965	s.Value = &v
7966	return s
7967}
7968
7969// Information about a cache behavior for the distribution.
7970type AwsCloudFrontDistributionCacheBehavior struct {
7971	_ struct{} `type:"structure"`
7972
7973	// The protocol that viewers can use to access the files in an origin. You can
7974	// specify the following options:
7975	//
7976	//    * allow-all - Viewers can use HTTP or HTTPS.
7977	//
7978	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
7979	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
7980	//    uses the new URL to resubmit.
7981	//
7982	//    * https-only - CloudFront responds to HTTP request with an HTTP status
7983	//    code of 403 (Forbidden).
7984	ViewerProtocolPolicy *string `type:"string"`
7985}
7986
7987// String returns the string representation
7988func (s AwsCloudFrontDistributionCacheBehavior) String() string {
7989	return awsutil.Prettify(s)
7990}
7991
7992// GoString returns the string representation
7993func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
7994	return s.String()
7995}
7996
7997// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
7998func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
7999	s.ViewerProtocolPolicy = &v
8000	return s
8001}
8002
8003// Provides information about caching for the distribution.
8004type AwsCloudFrontDistributionCacheBehaviors struct {
8005	_ struct{} `type:"structure"`
8006
8007	// The cache behaviors for the distribution.
8008	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
8009}
8010
8011// String returns the string representation
8012func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
8013	return awsutil.Prettify(s)
8014}
8015
8016// GoString returns the string representation
8017func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
8018	return s.String()
8019}
8020
8021// SetItems sets the Items field's value.
8022func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
8023	s.Items = v
8024	return s
8025}
8026
8027// Contains information about the default cache configuration for the distribution.
8028type AwsCloudFrontDistributionDefaultCacheBehavior struct {
8029	_ struct{} `type:"structure"`
8030
8031	// The protocol that viewers can use to access the files in an origin. You can
8032	// specify the following options:
8033	//
8034	//    * allow-all - Viewers can use HTTP or HTTPS.
8035	//
8036	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
8037	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
8038	//    uses the new URL to resubmit.
8039	//
8040	//    * https-only - CloudFront responds to HTTP request with an HTTP status
8041	//    code of 403 (Forbidden).
8042	ViewerProtocolPolicy *string `type:"string"`
8043}
8044
8045// String returns the string representation
8046func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
8047	return awsutil.Prettify(s)
8048}
8049
8050// GoString returns the string representation
8051func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
8052	return s.String()
8053}
8054
8055// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8056func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
8057	s.ViewerProtocolPolicy = &v
8058	return s
8059}
8060
8061// A distribution configuration.
8062type AwsCloudFrontDistributionDetails struct {
8063	_ struct{} `type:"structure"`
8064
8065	// Provides information about the cache configuration for the distribution.
8066	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
8067
8068	// The default cache behavior for the configuration.
8069	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
8070
8071	// The object that CloudFront sends in response to requests from the origin
8072	// (for example, index.html) when a viewer requests the root URL for the distribution
8073	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
8074	DefaultRootObject *string `type:"string"`
8075
8076	// The domain name corresponding to the distribution.
8077	DomainName *string `type:"string"`
8078
8079	// The entity tag is a hash of the object.
8080	ETag *string `type:"string"`
8081
8082	// Indicates when that the distribution was last modified.
8083	//
8084	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8085	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8086	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8087	LastModifiedTime *string `type:"string"`
8088
8089	// A complex type that controls whether access logs are written for the distribution.
8090	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
8091
8092	// Provides information about the origin groups in the distribution.
8093	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
8094
8095	// A complex type that contains information about origins for this distribution.
8096	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
8097
8098	// Indicates the current status of the distribution.
8099	Status *string `type:"string"`
8100
8101	// A unique identifier that specifies the AWS WAF web ACL, if any, to associate
8102	// with this distribution.
8103	WebAclId *string `type:"string"`
8104}
8105
8106// String returns the string representation
8107func (s AwsCloudFrontDistributionDetails) String() string {
8108	return awsutil.Prettify(s)
8109}
8110
8111// GoString returns the string representation
8112func (s AwsCloudFrontDistributionDetails) GoString() string {
8113	return s.String()
8114}
8115
8116// SetCacheBehaviors sets the CacheBehaviors field's value.
8117func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
8118	s.CacheBehaviors = v
8119	return s
8120}
8121
8122// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
8123func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
8124	s.DefaultCacheBehavior = v
8125	return s
8126}
8127
8128// SetDefaultRootObject sets the DefaultRootObject field's value.
8129func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
8130	s.DefaultRootObject = &v
8131	return s
8132}
8133
8134// SetDomainName sets the DomainName field's value.
8135func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
8136	s.DomainName = &v
8137	return s
8138}
8139
8140// SetETag sets the ETag field's value.
8141func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
8142	s.ETag = &v
8143	return s
8144}
8145
8146// SetLastModifiedTime sets the LastModifiedTime field's value.
8147func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
8148	s.LastModifiedTime = &v
8149	return s
8150}
8151
8152// SetLogging sets the Logging field's value.
8153func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
8154	s.Logging = v
8155	return s
8156}
8157
8158// SetOriginGroups sets the OriginGroups field's value.
8159func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
8160	s.OriginGroups = v
8161	return s
8162}
8163
8164// SetOrigins sets the Origins field's value.
8165func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
8166	s.Origins = v
8167	return s
8168}
8169
8170// SetStatus sets the Status field's value.
8171func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
8172	s.Status = &v
8173	return s
8174}
8175
8176// SetWebAclId sets the WebAclId field's value.
8177func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
8178	s.WebAclId = &v
8179	return s
8180}
8181
8182// A complex type that controls whether access logs are written for the distribution.
8183type AwsCloudFrontDistributionLogging struct {
8184	_ struct{} `type:"structure"`
8185
8186	// The Amazon S3 bucket to store the access logs in.
8187	Bucket *string `type:"string"`
8188
8189	// With this field, you can enable or disable the selected distribution.
8190	Enabled *bool `type:"boolean"`
8191
8192	// Specifies whether you want CloudFront to include cookies in access logs.
8193	IncludeCookies *bool `type:"boolean"`
8194
8195	// An optional string that you want CloudFront to use as a prefix to the access
8196	// log filenames for this distribution.
8197	Prefix *string `type:"string"`
8198}
8199
8200// String returns the string representation
8201func (s AwsCloudFrontDistributionLogging) String() string {
8202	return awsutil.Prettify(s)
8203}
8204
8205// GoString returns the string representation
8206func (s AwsCloudFrontDistributionLogging) GoString() string {
8207	return s.String()
8208}
8209
8210// SetBucket sets the Bucket field's value.
8211func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
8212	s.Bucket = &v
8213	return s
8214}
8215
8216// SetEnabled sets the Enabled field's value.
8217func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
8218	s.Enabled = &v
8219	return s
8220}
8221
8222// SetIncludeCookies sets the IncludeCookies field's value.
8223func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
8224	s.IncludeCookies = &v
8225	return s
8226}
8227
8228// SetPrefix sets the Prefix field's value.
8229func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
8230	s.Prefix = &v
8231	return s
8232}
8233
8234// Information about an origin group for the distribution.
8235type AwsCloudFrontDistributionOriginGroup struct {
8236	_ struct{} `type:"structure"`
8237
8238	// Provides the criteria for an origin group to fail over.
8239	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
8240}
8241
8242// String returns the string representation
8243func (s AwsCloudFrontDistributionOriginGroup) String() string {
8244	return awsutil.Prettify(s)
8245}
8246
8247// GoString returns the string representation
8248func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
8249	return s.String()
8250}
8251
8252// SetFailoverCriteria sets the FailoverCriteria field's value.
8253func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
8254	s.FailoverCriteria = v
8255	return s
8256}
8257
8258// Provides information about when an origin group fails over.
8259type AwsCloudFrontDistributionOriginGroupFailover struct {
8260	_ struct{} `type:"structure"`
8261
8262	// Information about the status codes that cause an origin group to fail over.
8263	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
8264}
8265
8266// String returns the string representation
8267func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
8268	return awsutil.Prettify(s)
8269}
8270
8271// GoString returns the string representation
8272func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
8273	return s.String()
8274}
8275
8276// SetStatusCodes sets the StatusCodes field's value.
8277func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
8278	s.StatusCodes = v
8279	return s
8280}
8281
8282// The status codes that cause an origin group to fail over.
8283type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
8284	_ struct{} `type:"structure"`
8285
8286	// The list of status code values that can cause a failover to the next origin.
8287	Items []*int64 `type:"list"`
8288
8289	// The number of status codes that can cause a failover.
8290	Quantity *int64 `type:"integer"`
8291}
8292
8293// String returns the string representation
8294func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
8295	return awsutil.Prettify(s)
8296}
8297
8298// GoString returns the string representation
8299func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
8300	return s.String()
8301}
8302
8303// SetItems sets the Items field's value.
8304func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8305	s.Items = v
8306	return s
8307}
8308
8309// SetQuantity sets the Quantity field's value.
8310func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8311	s.Quantity = &v
8312	return s
8313}
8314
8315// Provides information about origin groups that are associated with the distribution.
8316type AwsCloudFrontDistributionOriginGroups struct {
8317	_ struct{} `type:"structure"`
8318
8319	// The list of origin groups.
8320	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
8321}
8322
8323// String returns the string representation
8324func (s AwsCloudFrontDistributionOriginGroups) String() string {
8325	return awsutil.Prettify(s)
8326}
8327
8328// GoString returns the string representation
8329func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
8330	return s.String()
8331}
8332
8333// SetItems sets the Items field's value.
8334func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
8335	s.Items = v
8336	return s
8337}
8338
8339// A complex type that describes the Amazon S3 bucket, HTTP server (for example,
8340// a web server), Amazon Elemental MediaStore, or other server from which CloudFront
8341// gets your files.
8342type AwsCloudFrontDistributionOriginItem struct {
8343	_ struct{} `type:"structure"`
8344
8345	// Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want
8346	// CloudFront to get objects for this origin.
8347	DomainName *string `type:"string"`
8348
8349	// A unique identifier for the origin or origin group.
8350	Id *string `type:"string"`
8351
8352	// An optional element that causes CloudFront to request your content from a
8353	// directory in your Amazon S3 bucket or your custom origin.
8354	OriginPath *string `type:"string"`
8355
8356	// An origin that is an S3 bucket that is not configured with static website
8357	// hosting.
8358	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
8359}
8360
8361// String returns the string representation
8362func (s AwsCloudFrontDistributionOriginItem) String() string {
8363	return awsutil.Prettify(s)
8364}
8365
8366// GoString returns the string representation
8367func (s AwsCloudFrontDistributionOriginItem) GoString() string {
8368	return s.String()
8369}
8370
8371// SetDomainName sets the DomainName field's value.
8372func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
8373	s.DomainName = &v
8374	return s
8375}
8376
8377// SetId sets the Id field's value.
8378func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
8379	s.Id = &v
8380	return s
8381}
8382
8383// SetOriginPath sets the OriginPath field's value.
8384func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
8385	s.OriginPath = &v
8386	return s
8387}
8388
8389// SetS3OriginConfig sets the S3OriginConfig field's value.
8390func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
8391	s.S3OriginConfig = v
8392	return s
8393}
8394
8395// Information about an origin that is an S3 bucket that is not configured with
8396// static website hosting.
8397type AwsCloudFrontDistributionOriginS3OriginConfig struct {
8398	_ struct{} `type:"structure"`
8399
8400	// The CloudFront origin access identity to associate with the origin.
8401	OriginAccessIdentity *string `type:"string"`
8402}
8403
8404// String returns the string representation
8405func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
8406	return awsutil.Prettify(s)
8407}
8408
8409// GoString returns the string representation
8410func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
8411	return s.String()
8412}
8413
8414// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
8415func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
8416	s.OriginAccessIdentity = &v
8417	return s
8418}
8419
8420// A complex type that contains information about origins and origin groups
8421// for this distribution.
8422type AwsCloudFrontDistributionOrigins struct {
8423	_ struct{} `type:"structure"`
8424
8425	// A complex type that contains origins or origin groups for this distribution.
8426	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
8427}
8428
8429// String returns the string representation
8430func (s AwsCloudFrontDistributionOrigins) String() string {
8431	return awsutil.Prettify(s)
8432}
8433
8434// GoString returns the string representation
8435func (s AwsCloudFrontDistributionOrigins) GoString() string {
8436	return s.String()
8437}
8438
8439// SetItems sets the Items field's value.
8440func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
8441	s.Items = v
8442	return s
8443}
8444
8445// Provides details about a CloudTrail trail.
8446type AwsCloudTrailTrailDetails struct {
8447	_ struct{} `type:"structure"`
8448
8449	// The ARN of the log group that CloudTrail logs are delivered to.
8450	CloudWatchLogsLogGroupArn *string `type:"string"`
8451
8452	// The ARN of the role that the CloudWatch Logs endpoint assumes when it writes
8453	// to the log group.
8454	CloudWatchLogsRoleArn *string `type:"string"`
8455
8456	// Indicates whether the trail has custom event selectors.
8457	HasCustomEventSelectors *bool `type:"boolean"`
8458
8459	// The Region where the trail was created.
8460	HomeRegion *string `type:"string"`
8461
8462	// Indicates whether the trail publishes events from global services such as
8463	// IAM to the log files.
8464	IncludeGlobalServiceEvents *bool `type:"boolean"`
8465
8466	// Indicates whether the trail applies only to the current Region or to all
8467	// Regions.
8468	IsMultiRegionTrail *bool `type:"boolean"`
8469
8470	// Whether the trail is created for all accounts in an organization in AWS Organizations,
8471	// or only for the current AWS account.
8472	IsOrganizationTrail *bool `type:"boolean"`
8473
8474	// The AWS KMS key ID to use to encrypt the logs.
8475	KmsKeyId *string `type:"string"`
8476
8477	// Indicates whether CloudTrail log file validation is enabled.
8478	LogFileValidationEnabled *bool `type:"boolean"`
8479
8480	// The name of the trail.
8481	Name *string `type:"string"`
8482
8483	// The name of the S3 bucket where the log files are published.
8484	S3BucketName *string `type:"string"`
8485
8486	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
8487	// where the log files are published.
8488	S3KeyPrefix *string `type:"string"`
8489
8490	// The ARN of the SNS topic that is used for notifications of log file delivery.
8491	SnsTopicArn *string `type:"string"`
8492
8493	// The name of the SNS topic that is used for notifications of log file delivery.
8494	SnsTopicName *string `type:"string"`
8495
8496	// The ARN of the trail.
8497	TrailArn *string `type:"string"`
8498}
8499
8500// String returns the string representation
8501func (s AwsCloudTrailTrailDetails) String() string {
8502	return awsutil.Prettify(s)
8503}
8504
8505// GoString returns the string representation
8506func (s AwsCloudTrailTrailDetails) GoString() string {
8507	return s.String()
8508}
8509
8510// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8511func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
8512	s.CloudWatchLogsLogGroupArn = &v
8513	return s
8514}
8515
8516// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8517func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
8518	s.CloudWatchLogsRoleArn = &v
8519	return s
8520}
8521
8522// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
8523func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
8524	s.HasCustomEventSelectors = &v
8525	return s
8526}
8527
8528// SetHomeRegion sets the HomeRegion field's value.
8529func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
8530	s.HomeRegion = &v
8531	return s
8532}
8533
8534// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
8535func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
8536	s.IncludeGlobalServiceEvents = &v
8537	return s
8538}
8539
8540// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
8541func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
8542	s.IsMultiRegionTrail = &v
8543	return s
8544}
8545
8546// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
8547func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
8548	s.IsOrganizationTrail = &v
8549	return s
8550}
8551
8552// SetKmsKeyId sets the KmsKeyId field's value.
8553func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
8554	s.KmsKeyId = &v
8555	return s
8556}
8557
8558// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
8559func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
8560	s.LogFileValidationEnabled = &v
8561	return s
8562}
8563
8564// SetName sets the Name field's value.
8565func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
8566	s.Name = &v
8567	return s
8568}
8569
8570// SetS3BucketName sets the S3BucketName field's value.
8571func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
8572	s.S3BucketName = &v
8573	return s
8574}
8575
8576// SetS3KeyPrefix sets the S3KeyPrefix field's value.
8577func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
8578	s.S3KeyPrefix = &v
8579	return s
8580}
8581
8582// SetSnsTopicArn sets the SnsTopicArn field's value.
8583func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
8584	s.SnsTopicArn = &v
8585	return s
8586}
8587
8588// SetSnsTopicName sets the SnsTopicName field's value.
8589func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
8590	s.SnsTopicName = &v
8591	return s
8592}
8593
8594// SetTrailArn sets the TrailArn field's value.
8595func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
8596	s.TrailArn = &v
8597	return s
8598}
8599
8600// Information about an AWS CodeBuild project.
8601type AwsCodeBuildProjectDetails struct {
8602	_ struct{} `type:"structure"`
8603
8604	// The AWS Key Management Service (AWS KMS) customer master key (CMK) used to
8605	// encrypt the build output artifacts.
8606	//
8607	// You can specify either the ARN of the CMK or, if available, the CMK alias
8608	// (using the format alias/alias-name).
8609	EncryptionKey *string `type:"string"`
8610
8611	// Information about the build environment for this build project.
8612	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
8613
8614	// The name of the build project.
8615	Name *string `type:"string"`
8616
8617	// The ARN of the IAM role that enables AWS CodeBuild to interact with dependent
8618	// AWS services on behalf of the AWS account.
8619	ServiceRole *string `type:"string"`
8620
8621	// Information about the build input source code for this build project.
8622	Source *AwsCodeBuildProjectSource `type:"structure"`
8623
8624	// Information about the VPC configuration that AWS CodeBuild accesses.
8625	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
8626}
8627
8628// String returns the string representation
8629func (s AwsCodeBuildProjectDetails) String() string {
8630	return awsutil.Prettify(s)
8631}
8632
8633// GoString returns the string representation
8634func (s AwsCodeBuildProjectDetails) GoString() string {
8635	return s.String()
8636}
8637
8638// SetEncryptionKey sets the EncryptionKey field's value.
8639func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
8640	s.EncryptionKey = &v
8641	return s
8642}
8643
8644// SetEnvironment sets the Environment field's value.
8645func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
8646	s.Environment = v
8647	return s
8648}
8649
8650// SetName sets the Name field's value.
8651func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
8652	s.Name = &v
8653	return s
8654}
8655
8656// SetServiceRole sets the ServiceRole field's value.
8657func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
8658	s.ServiceRole = &v
8659	return s
8660}
8661
8662// SetSource sets the Source field's value.
8663func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
8664	s.Source = v
8665	return s
8666}
8667
8668// SetVpcConfig sets the VpcConfig field's value.
8669func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
8670	s.VpcConfig = v
8671	return s
8672}
8673
8674// Information about the build environment for this build project.
8675type AwsCodeBuildProjectEnvironment struct {
8676	_ struct{} `type:"structure"`
8677
8678	// The certificate to use with this build project.
8679	Certificate *string `type:"string"`
8680
8681	// The type of credentials AWS CodeBuild uses to pull images in your build.
8682	//
8683	// Valid values:
8684	//
8685	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
8686	//    requires that you modify your ECR repository policy to trust the AWS CodeBuild
8687	//    service principal.
8688	//
8689	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
8690	//    service role.
8691	//
8692	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
8693	// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD
8694	// credentials.
8695	ImagePullCredentialsType *string `type:"string"`
8696
8697	// The credentials for access to a private registry.
8698	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
8699
8700	// The type of build environment to use for related builds.
8701	//
8702	// The environment type ARM_CONTAINER is available only in Regions US East (N.
8703	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
8704	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
8705	//
8706	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
8707	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
8708	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
8709	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
8710	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
8711	//
8712	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
8713	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
8714	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
8715	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
8716	// (Beijing), and China (Ningxia).
8717	//
8718	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
8719	// ARM_CONTAINER
8720	Type *string `type:"string"`
8721}
8722
8723// String returns the string representation
8724func (s AwsCodeBuildProjectEnvironment) String() string {
8725	return awsutil.Prettify(s)
8726}
8727
8728// GoString returns the string representation
8729func (s AwsCodeBuildProjectEnvironment) GoString() string {
8730	return s.String()
8731}
8732
8733// SetCertificate sets the Certificate field's value.
8734func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
8735	s.Certificate = &v
8736	return s
8737}
8738
8739// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
8740func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
8741	s.ImagePullCredentialsType = &v
8742	return s
8743}
8744
8745// SetRegistryCredential sets the RegistryCredential field's value.
8746func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
8747	s.RegistryCredential = v
8748	return s
8749}
8750
8751// SetType sets the Type field's value.
8752func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
8753	s.Type = &v
8754	return s
8755}
8756
8757// The credentials for access to a private registry.
8758type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
8759	_ struct{} `type:"structure"`
8760
8761	// The ARN or name of credentials created using AWS Secrets Manager.
8762	//
8763	// The credential can use the name of the credentials only if they exist in
8764	// your current AWS Region.
8765	Credential *string `type:"string"`
8766
8767	// The service that created the credentials to access a private Docker registry.
8768	//
8769	// The valid value,SECRETS_MANAGER, is for AWS Secrets Manager.
8770	CredentialProvider *string `type:"string"`
8771}
8772
8773// String returns the string representation
8774func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
8775	return awsutil.Prettify(s)
8776}
8777
8778// GoString returns the string representation
8779func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
8780	return s.String()
8781}
8782
8783// SetCredential sets the Credential field's value.
8784func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8785	s.Credential = &v
8786	return s
8787}
8788
8789// SetCredentialProvider sets the CredentialProvider field's value.
8790func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8791	s.CredentialProvider = &v
8792	return s
8793}
8794
8795// Information about the build input source code for this build project.
8796type AwsCodeBuildProjectSource struct {
8797	_ struct{} `type:"structure"`
8798
8799	// Information about the Git clone depth for the build project.
8800	GitCloneDepth *int64 `type:"integer"`
8801
8802	// Whether to ignore SSL warnings while connecting to the project source code.
8803	InsecureSsl *bool `type:"boolean"`
8804
8805	// Information about the location of the source code to be built.
8806	//
8807	// Valid values include:
8808	//
8809	//    * For source code settings that are specified in the source action of
8810	//    a pipeline in AWS CodePipeline, location should not be specified. If it
8811	//    is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline
8812	//    uses the settings in a pipeline's source action instead of this value.
8813	//
8814	//    * For source code in an AWS CodeCommit repository, the HTTPS clone URL
8815	//    to the repository that contains the source code and the build spec file
8816	//    (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
8817	//    ).
8818	//
8819	//    * For source code in an S3 input bucket, one of the following. The path
8820	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
8821	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
8822	//
8823	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
8824	//    that contains the source and the build spec file.
8825	//
8826	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
8827	//    repository that contains the source and the build spec file.
8828	Location *string `type:"string"`
8829
8830	// The type of repository that contains the source code to be built. Valid values
8831	// are:
8832	//
8833	//    * BITBUCKET - The source code is in a Bitbucket repository.
8834	//
8835	//    * CODECOMMIT - The source code is in an AWS CodeCommit repository.
8836	//
8837	//    * CODEPIPELINE - The source code settings are specified in the source
8838	//    action of a pipeline in AWS CodePipeline.
8839	//
8840	//    * GITHUB - The source code is in a GitHub repository.
8841	//
8842	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
8843	//
8844	//    * NO_SOURCE - The project does not have input source code.
8845	//
8846	//    * S3 - The source code is in an S3 input bucket.
8847	Type *string `type:"string"`
8848}
8849
8850// String returns the string representation
8851func (s AwsCodeBuildProjectSource) String() string {
8852	return awsutil.Prettify(s)
8853}
8854
8855// GoString returns the string representation
8856func (s AwsCodeBuildProjectSource) GoString() string {
8857	return s.String()
8858}
8859
8860// SetGitCloneDepth sets the GitCloneDepth field's value.
8861func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
8862	s.GitCloneDepth = &v
8863	return s
8864}
8865
8866// SetInsecureSsl sets the InsecureSsl field's value.
8867func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
8868	s.InsecureSsl = &v
8869	return s
8870}
8871
8872// SetLocation sets the Location field's value.
8873func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
8874	s.Location = &v
8875	return s
8876}
8877
8878// SetType sets the Type field's value.
8879func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
8880	s.Type = &v
8881	return s
8882}
8883
8884// Information about the VPC configuration that AWS CodeBuild accesses.
8885type AwsCodeBuildProjectVpcConfig struct {
8886	_ struct{} `type:"structure"`
8887
8888	// A list of one or more security group IDs in your Amazon VPC.
8889	SecurityGroupIds []*string `type:"list"`
8890
8891	// A list of one or more subnet IDs in your Amazon VPC.
8892	Subnets []*string `type:"list"`
8893
8894	// The ID of the VPC.
8895	VpcId *string `type:"string"`
8896}
8897
8898// String returns the string representation
8899func (s AwsCodeBuildProjectVpcConfig) String() string {
8900	return awsutil.Prettify(s)
8901}
8902
8903// GoString returns the string representation
8904func (s AwsCodeBuildProjectVpcConfig) GoString() string {
8905	return s.String()
8906}
8907
8908// SetSecurityGroupIds sets the SecurityGroupIds field's value.
8909func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
8910	s.SecurityGroupIds = v
8911	return s
8912}
8913
8914// SetSubnets sets the Subnets field's value.
8915func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
8916	s.Subnets = v
8917	return s
8918}
8919
8920// SetVpcId sets the VpcId field's value.
8921func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
8922	s.VpcId = &v
8923	return s
8924}
8925
8926// Contains the cross-origin resource sharing (CORS) configuration for the API.
8927// CORS is only supported for HTTP APIs.
8928type AwsCorsConfiguration struct {
8929	_ struct{} `type:"structure"`
8930
8931	// Indicates whether the CORS request includes credentials.
8932	AllowCredentials *bool `type:"boolean"`
8933
8934	// The allowed headers for CORS requests.
8935	AllowHeaders []*string `type:"list"`
8936
8937	// The allowed methods for CORS requests.
8938	AllowMethods []*string `type:"list"`
8939
8940	// The allowed origins for CORS requests.
8941	AllowOrigins []*string `type:"list"`
8942
8943	// The exposed headers for CORS requests.
8944	ExposeHeaders []*string `type:"list"`
8945
8946	// The number of seconds for which the browser caches preflight request results.
8947	MaxAge *int64 `type:"integer"`
8948}
8949
8950// String returns the string representation
8951func (s AwsCorsConfiguration) String() string {
8952	return awsutil.Prettify(s)
8953}
8954
8955// GoString returns the string representation
8956func (s AwsCorsConfiguration) GoString() string {
8957	return s.String()
8958}
8959
8960// SetAllowCredentials sets the AllowCredentials field's value.
8961func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
8962	s.AllowCredentials = &v
8963	return s
8964}
8965
8966// SetAllowHeaders sets the AllowHeaders field's value.
8967func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
8968	s.AllowHeaders = v
8969	return s
8970}
8971
8972// SetAllowMethods sets the AllowMethods field's value.
8973func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
8974	s.AllowMethods = v
8975	return s
8976}
8977
8978// SetAllowOrigins sets the AllowOrigins field's value.
8979func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
8980	s.AllowOrigins = v
8981	return s
8982}
8983
8984// SetExposeHeaders sets the ExposeHeaders field's value.
8985func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
8986	s.ExposeHeaders = v
8987	return s
8988}
8989
8990// SetMaxAge sets the MaxAge field's value.
8991func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
8992	s.MaxAge = &v
8993	return s
8994}
8995
8996// Contains a definition of an attribute for the table.
8997type AwsDynamoDbTableAttributeDefinition struct {
8998	_ struct{} `type:"structure"`
8999
9000	// The name of the attribute.
9001	AttributeName *string `type:"string"`
9002
9003	// The type of the attribute.
9004	AttributeType *string `type:"string"`
9005}
9006
9007// String returns the string representation
9008func (s AwsDynamoDbTableAttributeDefinition) String() string {
9009	return awsutil.Prettify(s)
9010}
9011
9012// GoString returns the string representation
9013func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
9014	return s.String()
9015}
9016
9017// SetAttributeName sets the AttributeName field's value.
9018func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
9019	s.AttributeName = &v
9020	return s
9021}
9022
9023// SetAttributeType sets the AttributeType field's value.
9024func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
9025	s.AttributeType = &v
9026	return s
9027}
9028
9029// Provides information about the billing for read/write capacity on the table.
9030type AwsDynamoDbTableBillingModeSummary struct {
9031	_ struct{} `type:"structure"`
9032
9033	// The method used to charge for read and write throughput and to manage capacity.
9034	BillingMode *string `type:"string"`
9035
9036	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
9037	// set to that value.
9038	//
9039	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9040	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9041	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9042	LastUpdateToPayPerRequestDateTime *string `type:"string"`
9043}
9044
9045// String returns the string representation
9046func (s AwsDynamoDbTableBillingModeSummary) String() string {
9047	return awsutil.Prettify(s)
9048}
9049
9050// GoString returns the string representation
9051func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
9052	return s.String()
9053}
9054
9055// SetBillingMode sets the BillingMode field's value.
9056func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
9057	s.BillingMode = &v
9058	return s
9059}
9060
9061// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
9062func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
9063	s.LastUpdateToPayPerRequestDateTime = &v
9064	return s
9065}
9066
9067// Provides details about a DynamoDB table.
9068type AwsDynamoDbTableDetails struct {
9069	_ struct{} `type:"structure"`
9070
9071	// A list of attribute definitions for the table.
9072	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
9073
9074	// Information about the billing for read/write capacity on the table.
9075	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
9076
9077	// Indicates when the table was created.
9078	//
9079	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9080	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9081	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9082	CreationDateTime *string `type:"string"`
9083
9084	// List of global secondary indexes for the table.
9085	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
9086
9087	// The version of global tables being used.
9088	GlobalTableVersion *string `type:"string"`
9089
9090	// The number of items in the table.
9091	ItemCount *int64 `type:"integer"`
9092
9093	// The primary key structure for the table.
9094	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9095
9096	// The ARN of the latest stream for the table.
9097	LatestStreamArn *string `type:"string"`
9098
9099	// The label of the latest stream. The label is not a unique identifier.
9100	LatestStreamLabel *string `type:"string"`
9101
9102	// The list of local secondary indexes for the table.
9103	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
9104
9105	// Information about the provisioned throughput for the table.
9106	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9107
9108	// The list of replicas of this table.
9109	Replicas []*AwsDynamoDbTableReplica `type:"list"`
9110
9111	// Information about the restore for the table.
9112	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
9113
9114	// Information about the server-side encryption for the table.
9115	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
9116
9117	// The current DynamoDB Streams configuration for the table.
9118	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
9119
9120	// The identifier of the table.
9121	TableId *string `type:"string"`
9122
9123	// The name of the table.
9124	TableName *string `type:"string"`
9125
9126	// The total size of the table in bytes.
9127	TableSizeBytes *int64 `type:"long"`
9128
9129	// The current status of the table.
9130	TableStatus *string `type:"string"`
9131}
9132
9133// String returns the string representation
9134func (s AwsDynamoDbTableDetails) String() string {
9135	return awsutil.Prettify(s)
9136}
9137
9138// GoString returns the string representation
9139func (s AwsDynamoDbTableDetails) GoString() string {
9140	return s.String()
9141}
9142
9143// SetAttributeDefinitions sets the AttributeDefinitions field's value.
9144func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
9145	s.AttributeDefinitions = v
9146	return s
9147}
9148
9149// SetBillingModeSummary sets the BillingModeSummary field's value.
9150func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
9151	s.BillingModeSummary = v
9152	return s
9153}
9154
9155// SetCreationDateTime sets the CreationDateTime field's value.
9156func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
9157	s.CreationDateTime = &v
9158	return s
9159}
9160
9161// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9162func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
9163	s.GlobalSecondaryIndexes = v
9164	return s
9165}
9166
9167// SetGlobalTableVersion sets the GlobalTableVersion field's value.
9168func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
9169	s.GlobalTableVersion = &v
9170	return s
9171}
9172
9173// SetItemCount sets the ItemCount field's value.
9174func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
9175	s.ItemCount = &v
9176	return s
9177}
9178
9179// SetKeySchema sets the KeySchema field's value.
9180func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
9181	s.KeySchema = v
9182	return s
9183}
9184
9185// SetLatestStreamArn sets the LatestStreamArn field's value.
9186func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
9187	s.LatestStreamArn = &v
9188	return s
9189}
9190
9191// SetLatestStreamLabel sets the LatestStreamLabel field's value.
9192func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
9193	s.LatestStreamLabel = &v
9194	return s
9195}
9196
9197// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
9198func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
9199	s.LocalSecondaryIndexes = v
9200	return s
9201}
9202
9203// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9204func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
9205	s.ProvisionedThroughput = v
9206	return s
9207}
9208
9209// SetReplicas sets the Replicas field's value.
9210func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
9211	s.Replicas = v
9212	return s
9213}
9214
9215// SetRestoreSummary sets the RestoreSummary field's value.
9216func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
9217	s.RestoreSummary = v
9218	return s
9219}
9220
9221// SetSseDescription sets the SseDescription field's value.
9222func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
9223	s.SseDescription = v
9224	return s
9225}
9226
9227// SetStreamSpecification sets the StreamSpecification field's value.
9228func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
9229	s.StreamSpecification = v
9230	return s
9231}
9232
9233// SetTableId sets the TableId field's value.
9234func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
9235	s.TableId = &v
9236	return s
9237}
9238
9239// SetTableName sets the TableName field's value.
9240func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
9241	s.TableName = &v
9242	return s
9243}
9244
9245// SetTableSizeBytes sets the TableSizeBytes field's value.
9246func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
9247	s.TableSizeBytes = &v
9248	return s
9249}
9250
9251// SetTableStatus sets the TableStatus field's value.
9252func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
9253	s.TableStatus = &v
9254	return s
9255}
9256
9257// Information abut a global secondary index for the table.
9258type AwsDynamoDbTableGlobalSecondaryIndex struct {
9259	_ struct{} `type:"structure"`
9260
9261	// Whether the index is currently backfilling.
9262	Backfilling *bool `type:"boolean"`
9263
9264	// The ARN of the index.
9265	IndexArn *string `type:"string"`
9266
9267	// The name of the index.
9268	IndexName *string `type:"string"`
9269
9270	// The total size in bytes of the index.
9271	IndexSizeBytes *int64 `type:"long"`
9272
9273	// The current status of the index.
9274	IndexStatus *string `type:"string"`
9275
9276	// The number of items in the index.
9277	ItemCount *int64 `type:"integer"`
9278
9279	// The key schema for the index.
9280	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9281
9282	// Attributes that are copied from the table into an index.
9283	Projection *AwsDynamoDbTableProjection `type:"structure"`
9284
9285	// Information about the provisioned throughput settings for the indexes.
9286	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9287}
9288
9289// String returns the string representation
9290func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
9291	return awsutil.Prettify(s)
9292}
9293
9294// GoString returns the string representation
9295func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
9296	return s.String()
9297}
9298
9299// SetBackfilling sets the Backfilling field's value.
9300func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
9301	s.Backfilling = &v
9302	return s
9303}
9304
9305// SetIndexArn sets the IndexArn field's value.
9306func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9307	s.IndexArn = &v
9308	return s
9309}
9310
9311// SetIndexName sets the IndexName field's value.
9312func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9313	s.IndexName = &v
9314	return s
9315}
9316
9317// SetIndexSizeBytes sets the IndexSizeBytes field's value.
9318func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9319	s.IndexSizeBytes = &v
9320	return s
9321}
9322
9323// SetIndexStatus sets the IndexStatus field's value.
9324func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9325	s.IndexStatus = &v
9326	return s
9327}
9328
9329// SetItemCount sets the ItemCount field's value.
9330func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9331	s.ItemCount = &v
9332	return s
9333}
9334
9335// SetKeySchema sets the KeySchema field's value.
9336func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
9337	s.KeySchema = v
9338	return s
9339}
9340
9341// SetProjection sets the Projection field's value.
9342func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
9343	s.Projection = v
9344	return s
9345}
9346
9347// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9348func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
9349	s.ProvisionedThroughput = v
9350	return s
9351}
9352
9353// A component of the key schema for the DynamoDB table, a global secondary
9354// index, or a local secondary index.
9355type AwsDynamoDbTableKeySchema struct {
9356	_ struct{} `type:"structure"`
9357
9358	// The name of the key schema attribute.
9359	AttributeName *string `type:"string"`
9360
9361	// The type of key used for the key schema attribute.
9362	KeyType *string `type:"string"`
9363}
9364
9365// String returns the string representation
9366func (s AwsDynamoDbTableKeySchema) String() string {
9367	return awsutil.Prettify(s)
9368}
9369
9370// GoString returns the string representation
9371func (s AwsDynamoDbTableKeySchema) GoString() string {
9372	return s.String()
9373}
9374
9375// SetAttributeName sets the AttributeName field's value.
9376func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
9377	s.AttributeName = &v
9378	return s
9379}
9380
9381// SetKeyType sets the KeyType field's value.
9382func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
9383	s.KeyType = &v
9384	return s
9385}
9386
9387// Information about a local secondary index for a DynamoDB table.
9388type AwsDynamoDbTableLocalSecondaryIndex struct {
9389	_ struct{} `type:"structure"`
9390
9391	// The ARN of the index.
9392	IndexArn *string `type:"string"`
9393
9394	// The name of the index.
9395	IndexName *string `type:"string"`
9396
9397	// The complete key schema for the index.
9398	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9399
9400	// Attributes that are copied from the table into the index. These are in addition
9401	// to the primary key attributes and index key attributes, which are automatically
9402	// projected.
9403	Projection *AwsDynamoDbTableProjection `type:"structure"`
9404}
9405
9406// String returns the string representation
9407func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
9408	return awsutil.Prettify(s)
9409}
9410
9411// GoString returns the string representation
9412func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
9413	return s.String()
9414}
9415
9416// SetIndexArn sets the IndexArn field's value.
9417func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9418	s.IndexArn = &v
9419	return s
9420}
9421
9422// SetIndexName sets the IndexName field's value.
9423func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9424	s.IndexName = &v
9425	return s
9426}
9427
9428// SetKeySchema sets the KeySchema field's value.
9429func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
9430	s.KeySchema = v
9431	return s
9432}
9433
9434// SetProjection sets the Projection field's value.
9435func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
9436	s.Projection = v
9437	return s
9438}
9439
9440// For global and local secondary indexes, identifies the attributes that are
9441// copied from the table into the index.
9442type AwsDynamoDbTableProjection struct {
9443	_ struct{} `type:"structure"`
9444
9445	// The nonkey attributes that are projected into the index. For each attribute,
9446	// provide the attribute name.
9447	NonKeyAttributes []*string `type:"list"`
9448
9449	// The types of attributes that are projected into the index.
9450	ProjectionType *string `type:"string"`
9451}
9452
9453// String returns the string representation
9454func (s AwsDynamoDbTableProjection) String() string {
9455	return awsutil.Prettify(s)
9456}
9457
9458// GoString returns the string representation
9459func (s AwsDynamoDbTableProjection) GoString() string {
9460	return s.String()
9461}
9462
9463// SetNonKeyAttributes sets the NonKeyAttributes field's value.
9464func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
9465	s.NonKeyAttributes = v
9466	return s
9467}
9468
9469// SetProjectionType sets the ProjectionType field's value.
9470func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
9471	s.ProjectionType = &v
9472	return s
9473}
9474
9475// Information about the provisioned throughput for the table or for a global
9476// secondary index.
9477type AwsDynamoDbTableProvisionedThroughput struct {
9478	_ struct{} `type:"structure"`
9479
9480	// Indicates when the provisioned throughput was last decreased.
9481	//
9482	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9483	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9484	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9485	LastDecreaseDateTime *string `type:"string"`
9486
9487	// Indicates when the provisioned throughput was last increased.
9488	//
9489	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9490	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9491	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9492	LastIncreaseDateTime *string `type:"string"`
9493
9494	// The number of times during the current UTC calendar day that the provisioned
9495	// throughput was decreased.
9496	NumberOfDecreasesToday *int64 `type:"integer"`
9497
9498	// The maximum number of strongly consistent reads consumed per second before
9499	// DynamoDB returns a ThrottlingException.
9500	ReadCapacityUnits *int64 `type:"integer"`
9501
9502	// The maximum number of writes consumed per second before DynamoDB returns
9503	// a ThrottlingException.
9504	WriteCapacityUnits *int64 `type:"integer"`
9505}
9506
9507// String returns the string representation
9508func (s AwsDynamoDbTableProvisionedThroughput) String() string {
9509	return awsutil.Prettify(s)
9510}
9511
9512// GoString returns the string representation
9513func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
9514	return s.String()
9515}
9516
9517// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
9518func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9519	s.LastDecreaseDateTime = &v
9520	return s
9521}
9522
9523// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
9524func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9525	s.LastIncreaseDateTime = &v
9526	return s
9527}
9528
9529// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
9530func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
9531	s.NumberOfDecreasesToday = &v
9532	return s
9533}
9534
9535// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9536func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9537	s.ReadCapacityUnits = &v
9538	return s
9539}
9540
9541// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
9542func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9543	s.WriteCapacityUnits = &v
9544	return s
9545}
9546
9547// Replica-specific configuration for the provisioned throughput.
9548type AwsDynamoDbTableProvisionedThroughputOverride struct {
9549	_ struct{} `type:"structure"`
9550
9551	// The read capacity units for the replica.
9552	ReadCapacityUnits *int64 `type:"integer"`
9553}
9554
9555// String returns the string representation
9556func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
9557	return awsutil.Prettify(s)
9558}
9559
9560// GoString returns the string representation
9561func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
9562	return s.String()
9563}
9564
9565// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9566func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
9567	s.ReadCapacityUnits = &v
9568	return s
9569}
9570
9571// Information about a replica of a DynamoDB table.
9572type AwsDynamoDbTableReplica struct {
9573	_ struct{} `type:"structure"`
9574
9575	// List of global secondary indexes for the replica.
9576	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
9577
9578	// The identifier of the AWS KMS customer master key (CMK) that will be used
9579	// for AWS KMS encryption for the replica.
9580	KmsMasterKeyId *string `type:"string"`
9581
9582	// Replica-specific configuration for the provisioned throughput.
9583	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9584
9585	// The name of the Region where the replica is located.
9586	RegionName *string `type:"string"`
9587
9588	// The current status of the replica.
9589	ReplicaStatus *string `type:"string"`
9590
9591	// Detailed information about the replica status.
9592	ReplicaStatusDescription *string `type:"string"`
9593}
9594
9595// String returns the string representation
9596func (s AwsDynamoDbTableReplica) String() string {
9597	return awsutil.Prettify(s)
9598}
9599
9600// GoString returns the string representation
9601func (s AwsDynamoDbTableReplica) GoString() string {
9602	return s.String()
9603}
9604
9605// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9606func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
9607	s.GlobalSecondaryIndexes = v
9608	return s
9609}
9610
9611// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
9612func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
9613	s.KmsMasterKeyId = &v
9614	return s
9615}
9616
9617// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9618func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
9619	s.ProvisionedThroughputOverride = v
9620	return s
9621}
9622
9623// SetRegionName sets the RegionName field's value.
9624func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
9625	s.RegionName = &v
9626	return s
9627}
9628
9629// SetReplicaStatus sets the ReplicaStatus field's value.
9630func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
9631	s.ReplicaStatus = &v
9632	return s
9633}
9634
9635// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
9636func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
9637	s.ReplicaStatusDescription = &v
9638	return s
9639}
9640
9641// Information about a global secondary index for a DynamoDB table replica.
9642type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
9643	_ struct{} `type:"structure"`
9644
9645	// The name of the index.
9646	IndexName *string `type:"string"`
9647
9648	// Replica-specific configuration for the provisioned throughput for the index.
9649	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9650}
9651
9652// String returns the string representation
9653func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
9654	return awsutil.Prettify(s)
9655}
9656
9657// GoString returns the string representation
9658func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
9659	return s.String()
9660}
9661
9662// SetIndexName sets the IndexName field's value.
9663func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9664	s.IndexName = &v
9665	return s
9666}
9667
9668// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9669func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9670	s.ProvisionedThroughputOverride = v
9671	return s
9672}
9673
9674// Information about the restore for the table.
9675type AwsDynamoDbTableRestoreSummary struct {
9676	_ struct{} `type:"structure"`
9677
9678	// Indicates the point in time that the table was restored to.
9679	//
9680	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9681	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9682	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9683	RestoreDateTime *string `type:"string"`
9684
9685	// Whether a restore is currently in progress.
9686	RestoreInProgress *bool `type:"boolean"`
9687
9688	// The ARN of the source backup from which the table was restored.
9689	SourceBackupArn *string `type:"string"`
9690
9691	// The ARN of the source table for the backup.
9692	SourceTableArn *string `type:"string"`
9693}
9694
9695// String returns the string representation
9696func (s AwsDynamoDbTableRestoreSummary) String() string {
9697	return awsutil.Prettify(s)
9698}
9699
9700// GoString returns the string representation
9701func (s AwsDynamoDbTableRestoreSummary) GoString() string {
9702	return s.String()
9703}
9704
9705// SetRestoreDateTime sets the RestoreDateTime field's value.
9706func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
9707	s.RestoreDateTime = &v
9708	return s
9709}
9710
9711// SetRestoreInProgress sets the RestoreInProgress field's value.
9712func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
9713	s.RestoreInProgress = &v
9714	return s
9715}
9716
9717// SetSourceBackupArn sets the SourceBackupArn field's value.
9718func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
9719	s.SourceBackupArn = &v
9720	return s
9721}
9722
9723// SetSourceTableArn sets the SourceTableArn field's value.
9724func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
9725	s.SourceTableArn = &v
9726	return s
9727}
9728
9729// Information about the server-side encryption for the table.
9730type AwsDynamoDbTableSseDescription struct {
9731	_ struct{} `type:"structure"`
9732
9733	// If the key is inaccessible, the date and time when DynamoDB detected that
9734	// the key was inaccessible.
9735	//
9736	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9737	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9738	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9739	InaccessibleEncryptionDateTime *string `type:"string"`
9740
9741	// The ARN of the AWS KMS customer master key (CMK) that is used for the AWS
9742	// KMS encryption.
9743	KmsMasterKeyArn *string `type:"string"`
9744
9745	// The type of server-side encryption.
9746	SseType *string `type:"string"`
9747
9748	// The status of the server-side encryption.
9749	Status *string `type:"string"`
9750}
9751
9752// String returns the string representation
9753func (s AwsDynamoDbTableSseDescription) String() string {
9754	return awsutil.Prettify(s)
9755}
9756
9757// GoString returns the string representation
9758func (s AwsDynamoDbTableSseDescription) GoString() string {
9759	return s.String()
9760}
9761
9762// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
9763func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
9764	s.InaccessibleEncryptionDateTime = &v
9765	return s
9766}
9767
9768// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
9769func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
9770	s.KmsMasterKeyArn = &v
9771	return s
9772}
9773
9774// SetSseType sets the SseType field's value.
9775func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
9776	s.SseType = &v
9777	return s
9778}
9779
9780// SetStatus sets the Status field's value.
9781func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
9782	s.Status = &v
9783	return s
9784}
9785
9786// The current DynamoDB Streams configuration for the table.
9787type AwsDynamoDbTableStreamSpecification struct {
9788	_ struct{} `type:"structure"`
9789
9790	// Indicates whether DynamoDB Streams is enabled on the table.
9791	StreamEnabled *bool `type:"boolean"`
9792
9793	// Determines the information that is written to the table.
9794	StreamViewType *string `type:"string"`
9795}
9796
9797// String returns the string representation
9798func (s AwsDynamoDbTableStreamSpecification) String() string {
9799	return awsutil.Prettify(s)
9800}
9801
9802// GoString returns the string representation
9803func (s AwsDynamoDbTableStreamSpecification) GoString() string {
9804	return s.String()
9805}
9806
9807// SetStreamEnabled sets the StreamEnabled field's value.
9808func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
9809	s.StreamEnabled = &v
9810	return s
9811}
9812
9813// SetStreamViewType sets the StreamViewType field's value.
9814func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
9815	s.StreamViewType = &v
9816	return s
9817}
9818
9819// Information about an Elastic IP address.
9820type AwsEc2EipDetails struct {
9821	_ struct{} `type:"structure"`
9822
9823	// The identifier that AWS assigns to represent the allocation of the Elastic
9824	// IP address for use with Amazon VPC.
9825	AllocationId *string `type:"string"`
9826
9827	// The identifier that represents the association of the Elastic IP address
9828	// with an EC2 instance.
9829	AssociationId *string `type:"string"`
9830
9831	// The domain in which to allocate the address.
9832	//
9833	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
9834	// Otherwise, Domain is standard.
9835	Domain *string `type:"string"`
9836
9837	// The identifier of the EC2 instance.
9838	InstanceId *string `type:"string"`
9839
9840	// The name of the location from which the Elastic IP address is advertised.
9841	NetworkBorderGroup *string `type:"string"`
9842
9843	// The identifier of the network interface.
9844	NetworkInterfaceId *string `type:"string"`
9845
9846	// The AWS account ID of the owner of the network interface.
9847	NetworkInterfaceOwnerId *string `type:"string"`
9848
9849	// The private IP address that is associated with the Elastic IP address.
9850	PrivateIpAddress *string `type:"string"`
9851
9852	// A public IP address that is associated with the EC2 instance.
9853	PublicIp *string `type:"string"`
9854
9855	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
9856	// select an IP address from the address pool.
9857	PublicIpv4Pool *string `type:"string"`
9858}
9859
9860// String returns the string representation
9861func (s AwsEc2EipDetails) String() string {
9862	return awsutil.Prettify(s)
9863}
9864
9865// GoString returns the string representation
9866func (s AwsEc2EipDetails) GoString() string {
9867	return s.String()
9868}
9869
9870// SetAllocationId sets the AllocationId field's value.
9871func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
9872	s.AllocationId = &v
9873	return s
9874}
9875
9876// SetAssociationId sets the AssociationId field's value.
9877func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
9878	s.AssociationId = &v
9879	return s
9880}
9881
9882// SetDomain sets the Domain field's value.
9883func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
9884	s.Domain = &v
9885	return s
9886}
9887
9888// SetInstanceId sets the InstanceId field's value.
9889func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
9890	s.InstanceId = &v
9891	return s
9892}
9893
9894// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
9895func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
9896	s.NetworkBorderGroup = &v
9897	return s
9898}
9899
9900// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9901func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
9902	s.NetworkInterfaceId = &v
9903	return s
9904}
9905
9906// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
9907func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
9908	s.NetworkInterfaceOwnerId = &v
9909	return s
9910}
9911
9912// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9913func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
9914	s.PrivateIpAddress = &v
9915	return s
9916}
9917
9918// SetPublicIp sets the PublicIp field's value.
9919func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
9920	s.PublicIp = &v
9921	return s
9922}
9923
9924// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
9925func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
9926	s.PublicIpv4Pool = &v
9927	return s
9928}
9929
9930// The details of an EC2 instance.
9931type AwsEc2InstanceDetails struct {
9932	_ struct{} `type:"structure"`
9933
9934	// The IAM profile ARN of the instance.
9935	IamInstanceProfileArn *string `type:"string"`
9936
9937	// The Amazon Machine Image (AMI) ID of the instance.
9938	ImageId *string `type:"string"`
9939
9940	// The IPv4 addresses associated with the instance.
9941	IpV4Addresses []*string `type:"list"`
9942
9943	// The IPv6 addresses associated with the instance.
9944	IpV6Addresses []*string `type:"list"`
9945
9946	// The key name associated with the instance.
9947	KeyName *string `type:"string"`
9948
9949	// Indicates when the instance was launched.
9950	//
9951	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9952	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9953	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9954	LaunchedAt *string `type:"string"`
9955
9956	// The identifiers of the network interfaces for the EC2 instance. The details
9957	// for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails
9958	// object.
9959	NetworkInterfaces []*AwsEc2InstanceNetworkInterfacesDetails `type:"list"`
9960
9961	// The identifier of the subnet that the instance was launched in.
9962	SubnetId *string `type:"string"`
9963
9964	// The instance type of the instance.
9965	Type *string `type:"string"`
9966
9967	// The identifier of the VPC that the instance was launched in.
9968	VpcId *string `type:"string"`
9969}
9970
9971// String returns the string representation
9972func (s AwsEc2InstanceDetails) String() string {
9973	return awsutil.Prettify(s)
9974}
9975
9976// GoString returns the string representation
9977func (s AwsEc2InstanceDetails) GoString() string {
9978	return s.String()
9979}
9980
9981// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
9982func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
9983	s.IamInstanceProfileArn = &v
9984	return s
9985}
9986
9987// SetImageId sets the ImageId field's value.
9988func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
9989	s.ImageId = &v
9990	return s
9991}
9992
9993// SetIpV4Addresses sets the IpV4Addresses field's value.
9994func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
9995	s.IpV4Addresses = v
9996	return s
9997}
9998
9999// SetIpV6Addresses sets the IpV6Addresses field's value.
10000func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
10001	s.IpV6Addresses = v
10002	return s
10003}
10004
10005// SetKeyName sets the KeyName field's value.
10006func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
10007	s.KeyName = &v
10008	return s
10009}
10010
10011// SetLaunchedAt sets the LaunchedAt field's value.
10012func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
10013	s.LaunchedAt = &v
10014	return s
10015}
10016
10017// SetNetworkInterfaces sets the NetworkInterfaces field's value.
10018func (s *AwsEc2InstanceDetails) SetNetworkInterfaces(v []*AwsEc2InstanceNetworkInterfacesDetails) *AwsEc2InstanceDetails {
10019	s.NetworkInterfaces = v
10020	return s
10021}
10022
10023// SetSubnetId sets the SubnetId field's value.
10024func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
10025	s.SubnetId = &v
10026	return s
10027}
10028
10029// SetType sets the Type field's value.
10030func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
10031	s.Type = &v
10032	return s
10033}
10034
10035// SetVpcId sets the VpcId field's value.
10036func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
10037	s.VpcId = &v
10038	return s
10039}
10040
10041// Identifies a network interface for the EC2 instance.
10042type AwsEc2InstanceNetworkInterfacesDetails struct {
10043	_ struct{} `type:"structure"`
10044
10045	// The identifier of the network interface. The details are in a corresponding
10046	// AwsEc2NetworkInterfacesDetails object.
10047	NetworkInterfaceId *string `type:"string"`
10048}
10049
10050// String returns the string representation
10051func (s AwsEc2InstanceNetworkInterfacesDetails) String() string {
10052	return awsutil.Prettify(s)
10053}
10054
10055// GoString returns the string representation
10056func (s AwsEc2InstanceNetworkInterfacesDetails) GoString() string {
10057	return s.String()
10058}
10059
10060// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10061func (s *AwsEc2InstanceNetworkInterfacesDetails) SetNetworkInterfaceId(v string) *AwsEc2InstanceNetworkInterfacesDetails {
10062	s.NetworkInterfaceId = &v
10063	return s
10064}
10065
10066// An association between the network ACL and a subnet.
10067type AwsEc2NetworkAclAssociation struct {
10068	_ struct{} `type:"structure"`
10069
10070	// The identifier of the association between the network ACL and the subnet.
10071	NetworkAclAssociationId *string `type:"string"`
10072
10073	// The identifier of the network ACL.
10074	NetworkAclId *string `type:"string"`
10075
10076	// The identifier of the subnet that is associated with the network ACL.
10077	SubnetId *string `type:"string"`
10078}
10079
10080// String returns the string representation
10081func (s AwsEc2NetworkAclAssociation) String() string {
10082	return awsutil.Prettify(s)
10083}
10084
10085// GoString returns the string representation
10086func (s AwsEc2NetworkAclAssociation) GoString() string {
10087	return s.String()
10088}
10089
10090// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
10091func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
10092	s.NetworkAclAssociationId = &v
10093	return s
10094}
10095
10096// SetNetworkAclId sets the NetworkAclId field's value.
10097func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
10098	s.NetworkAclId = &v
10099	return s
10100}
10101
10102// SetSubnetId sets the SubnetId field's value.
10103func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
10104	s.SubnetId = &v
10105	return s
10106}
10107
10108// Contains details about an EC2 network access control list (ACL).
10109type AwsEc2NetworkAclDetails struct {
10110	_ struct{} `type:"structure"`
10111
10112	// Associations between the network ACL and subnets.
10113	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
10114
10115	// The set of rules in the network ACL.
10116	Entries []*AwsEc2NetworkAclEntry `type:"list"`
10117
10118	// Whether this is the default network ACL for the VPC.
10119	IsDefault *bool `type:"boolean"`
10120
10121	// The identifier of the network ACL.
10122	NetworkAclId *string `type:"string"`
10123
10124	// The identifier of the AWS account that owns the network ACL.
10125	OwnerId *string `type:"string"`
10126
10127	// The identifier of the VPC for the network ACL.
10128	VpcId *string `type:"string"`
10129}
10130
10131// String returns the string representation
10132func (s AwsEc2NetworkAclDetails) String() string {
10133	return awsutil.Prettify(s)
10134}
10135
10136// GoString returns the string representation
10137func (s AwsEc2NetworkAclDetails) GoString() string {
10138	return s.String()
10139}
10140
10141// SetAssociations sets the Associations field's value.
10142func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
10143	s.Associations = v
10144	return s
10145}
10146
10147// SetEntries sets the Entries field's value.
10148func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
10149	s.Entries = v
10150	return s
10151}
10152
10153// SetIsDefault sets the IsDefault field's value.
10154func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
10155	s.IsDefault = &v
10156	return s
10157}
10158
10159// SetNetworkAclId sets the NetworkAclId field's value.
10160func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
10161	s.NetworkAclId = &v
10162	return s
10163}
10164
10165// SetOwnerId sets the OwnerId field's value.
10166func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
10167	s.OwnerId = &v
10168	return s
10169}
10170
10171// SetVpcId sets the VpcId field's value.
10172func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
10173	s.VpcId = &v
10174	return s
10175}
10176
10177// A rule for the network ACL. Each rule allows or denies access based on the
10178// IP address, traffic direction, port, and protocol.
10179type AwsEc2NetworkAclEntry struct {
10180	_ struct{} `type:"structure"`
10181
10182	// The IPV4 network range for which to deny or allow access.
10183	CidrBlock *string `type:"string"`
10184
10185	// Whether the rule is an egress rule. An egress rule is a rule that applies
10186	// to traffic that leaves the subnet.
10187	Egress *bool `type:"boolean"`
10188
10189	// The Internet Control Message Protocol (ICMP) type and code for which to deny
10190	// or allow access.
10191	IcmpTypeCode *IcmpTypeCode `type:"structure"`
10192
10193	// The IPV6 network range for which to deny or allow access.
10194	Ipv6CidrBlock *string `type:"string"`
10195
10196	// For TCP or UDP protocols, the range of ports that the rule applies to.
10197	PortRange *PortRangeFromTo `type:"structure"`
10198
10199	// The protocol that the rule applies to. To deny or allow access to all protocols,
10200	// use the value -1.
10201	Protocol *string `type:"string"`
10202
10203	// Whether the rule is used to allow access or deny access.
10204	RuleAction *string `type:"string"`
10205
10206	// The rule number. The rules are processed in order by their number.
10207	RuleNumber *int64 `type:"integer"`
10208}
10209
10210// String returns the string representation
10211func (s AwsEc2NetworkAclEntry) String() string {
10212	return awsutil.Prettify(s)
10213}
10214
10215// GoString returns the string representation
10216func (s AwsEc2NetworkAclEntry) GoString() string {
10217	return s.String()
10218}
10219
10220// SetCidrBlock sets the CidrBlock field's value.
10221func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
10222	s.CidrBlock = &v
10223	return s
10224}
10225
10226// SetEgress sets the Egress field's value.
10227func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
10228	s.Egress = &v
10229	return s
10230}
10231
10232// SetIcmpTypeCode sets the IcmpTypeCode field's value.
10233func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
10234	s.IcmpTypeCode = v
10235	return s
10236}
10237
10238// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
10239func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
10240	s.Ipv6CidrBlock = &v
10241	return s
10242}
10243
10244// SetPortRange sets the PortRange field's value.
10245func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
10246	s.PortRange = v
10247	return s
10248}
10249
10250// SetProtocol sets the Protocol field's value.
10251func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
10252	s.Protocol = &v
10253	return s
10254}
10255
10256// SetRuleAction sets the RuleAction field's value.
10257func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
10258	s.RuleAction = &v
10259	return s
10260}
10261
10262// SetRuleNumber sets the RuleNumber field's value.
10263func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
10264	s.RuleNumber = &v
10265	return s
10266}
10267
10268// Information about the network interface attachment.
10269type AwsEc2NetworkInterfaceAttachment struct {
10270	_ struct{} `type:"structure"`
10271
10272	// Indicates when the attachment initiated.
10273	//
10274	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10275	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10276	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10277	AttachTime *string `type:"string"`
10278
10279	// The identifier of the network interface attachment
10280	AttachmentId *string `type:"string"`
10281
10282	// Indicates whether the network interface is deleted when the instance is terminated.
10283	DeleteOnTermination *bool `type:"boolean"`
10284
10285	// The device index of the network interface attachment on the instance.
10286	DeviceIndex *int64 `type:"integer"`
10287
10288	// The ID of the instance.
10289	InstanceId *string `type:"string"`
10290
10291	// The AWS account ID of the owner of the instance.
10292	InstanceOwnerId *string `type:"string"`
10293
10294	// The attachment state.
10295	//
10296	// Valid values: attaching | attached | detaching | detached
10297	Status *string `type:"string"`
10298}
10299
10300// String returns the string representation
10301func (s AwsEc2NetworkInterfaceAttachment) String() string {
10302	return awsutil.Prettify(s)
10303}
10304
10305// GoString returns the string representation
10306func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
10307	return s.String()
10308}
10309
10310// SetAttachTime sets the AttachTime field's value.
10311func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
10312	s.AttachTime = &v
10313	return s
10314}
10315
10316// SetAttachmentId sets the AttachmentId field's value.
10317func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
10318	s.AttachmentId = &v
10319	return s
10320}
10321
10322// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10323func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
10324	s.DeleteOnTermination = &v
10325	return s
10326}
10327
10328// SetDeviceIndex sets the DeviceIndex field's value.
10329func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
10330	s.DeviceIndex = &v
10331	return s
10332}
10333
10334// SetInstanceId sets the InstanceId field's value.
10335func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
10336	s.InstanceId = &v
10337	return s
10338}
10339
10340// SetInstanceOwnerId sets the InstanceOwnerId field's value.
10341func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
10342	s.InstanceOwnerId = &v
10343	return s
10344}
10345
10346// SetStatus sets the Status field's value.
10347func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
10348	s.Status = &v
10349	return s
10350}
10351
10352// Details about the network interface
10353type AwsEc2NetworkInterfaceDetails struct {
10354	_ struct{} `type:"structure"`
10355
10356	// The network interface attachment.
10357	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
10358
10359	// The IPv6 addresses associated with the network interface.
10360	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
10361
10362	// The ID of the network interface.
10363	NetworkInterfaceId *string `type:"string"`
10364
10365	// The private IPv4 addresses associated with the network interface.
10366	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
10367
10368	// The public DNS name of the network interface.
10369	PublicDnsName *string `type:"string"`
10370
10371	// The address of the Elastic IP address bound to the network interface.
10372	PublicIp *string `type:"string"`
10373
10374	// Security groups for the network interface.
10375	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
10376
10377	// Indicates whether traffic to or from the instance is validated.
10378	SourceDestCheck *bool `type:"boolean"`
10379}
10380
10381// String returns the string representation
10382func (s AwsEc2NetworkInterfaceDetails) String() string {
10383	return awsutil.Prettify(s)
10384}
10385
10386// GoString returns the string representation
10387func (s AwsEc2NetworkInterfaceDetails) GoString() string {
10388	return s.String()
10389}
10390
10391// SetAttachment sets the Attachment field's value.
10392func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
10393	s.Attachment = v
10394	return s
10395}
10396
10397// SetIpV6Addresses sets the IpV6Addresses field's value.
10398func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
10399	s.IpV6Addresses = v
10400	return s
10401}
10402
10403// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10404func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
10405	s.NetworkInterfaceId = &v
10406	return s
10407}
10408
10409// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
10410func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
10411	s.PrivateIpAddresses = v
10412	return s
10413}
10414
10415// SetPublicDnsName sets the PublicDnsName field's value.
10416func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
10417	s.PublicDnsName = &v
10418	return s
10419}
10420
10421// SetPublicIp sets the PublicIp field's value.
10422func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
10423	s.PublicIp = &v
10424	return s
10425}
10426
10427// SetSecurityGroups sets the SecurityGroups field's value.
10428func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
10429	s.SecurityGroups = v
10430	return s
10431}
10432
10433// SetSourceDestCheck sets the SourceDestCheck field's value.
10434func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
10435	s.SourceDestCheck = &v
10436	return s
10437}
10438
10439// Provides information about an IPV6 address that is associated with the network
10440// interface.
10441type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
10442	_ struct{} `type:"structure"`
10443
10444	// The IPV6 address.
10445	IpV6Address *string `type:"string"`
10446}
10447
10448// String returns the string representation
10449func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
10450	return awsutil.Prettify(s)
10451}
10452
10453// GoString returns the string representation
10454func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
10455	return s.String()
10456}
10457
10458// SetIpV6Address sets the IpV6Address field's value.
10459func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
10460	s.IpV6Address = &v
10461	return s
10462}
10463
10464// Provides information about a private IPv4 address that is with the network
10465// interface.
10466type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
10467	_ struct{} `type:"structure"`
10468
10469	// The private DNS name for the IP address.
10470	PrivateDnsName *string `type:"string"`
10471
10472	// The IP address.
10473	PrivateIpAddress *string `type:"string"`
10474}
10475
10476// String returns the string representation
10477func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation
10482func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
10483	return s.String()
10484}
10485
10486// SetPrivateDnsName sets the PrivateDnsName field's value.
10487func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10488	s.PrivateDnsName = &v
10489	return s
10490}
10491
10492// SetPrivateIpAddress sets the PrivateIpAddress field's value.
10493func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10494	s.PrivateIpAddress = &v
10495	return s
10496}
10497
10498// A security group associated with the network interface.
10499type AwsEc2NetworkInterfaceSecurityGroup struct {
10500	_ struct{} `type:"structure"`
10501
10502	// The ID of the security group.
10503	GroupId *string `type:"string"`
10504
10505	// The name of the security group.
10506	GroupName *string `type:"string"`
10507}
10508
10509// String returns the string representation
10510func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
10511	return awsutil.Prettify(s)
10512}
10513
10514// GoString returns the string representation
10515func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
10516	return s.String()
10517}
10518
10519// SetGroupId sets the GroupId field's value.
10520func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10521	s.GroupId = &v
10522	return s
10523}
10524
10525// SetGroupName sets the GroupName field's value.
10526func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10527	s.GroupName = &v
10528	return s
10529}
10530
10531// Details about an EC2 security group.
10532type AwsEc2SecurityGroupDetails struct {
10533	_ struct{} `type:"structure"`
10534
10535	// The ID of the security group.
10536	GroupId *string `type:"string"`
10537
10538	// The name of the security group.
10539	GroupName *string `type:"string"`
10540
10541	// The inbound rules associated with the security group.
10542	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
10543
10544	// [VPC only] The outbound rules associated with the security group.
10545	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
10546
10547	// The AWS account ID of the owner of the security group.
10548	OwnerId *string `type:"string"`
10549
10550	// [VPC only] The ID of the VPC for the security group.
10551	VpcId *string `type:"string"`
10552}
10553
10554// String returns the string representation
10555func (s AwsEc2SecurityGroupDetails) String() string {
10556	return awsutil.Prettify(s)
10557}
10558
10559// GoString returns the string representation
10560func (s AwsEc2SecurityGroupDetails) GoString() string {
10561	return s.String()
10562}
10563
10564// SetGroupId sets the GroupId field's value.
10565func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
10566	s.GroupId = &v
10567	return s
10568}
10569
10570// SetGroupName sets the GroupName field's value.
10571func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
10572	s.GroupName = &v
10573	return s
10574}
10575
10576// SetIpPermissions sets the IpPermissions field's value.
10577func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10578	s.IpPermissions = v
10579	return s
10580}
10581
10582// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
10583func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10584	s.IpPermissionsEgress = v
10585	return s
10586}
10587
10588// SetOwnerId sets the OwnerId field's value.
10589func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
10590	s.OwnerId = &v
10591	return s
10592}
10593
10594// SetVpcId sets the VpcId field's value.
10595func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
10596	s.VpcId = &v
10597	return s
10598}
10599
10600// An IP permission for an EC2 security group.
10601type AwsEc2SecurityGroupIpPermission struct {
10602	_ struct{} `type:"structure"`
10603
10604	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10605	// type number.
10606	//
10607	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
10608	// types, you must specify all codes.
10609	FromPort *int64 `type:"integer"`
10610
10611	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
10612	//
10613	// [VPC only] Use -1 to specify all protocols.
10614	//
10615	// When authorizing security group rules, specifying -1 or a protocol number
10616	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
10617	// of any port range you specify.
10618	//
10619	// For tcp, udp, and icmp, you must specify a port range.
10620	//
10621	// For icmpv6, the port range is optional. If you omit the port range, traffic
10622	// for all types and codes is allowed.
10623	IpProtocol *string `type:"string"`
10624
10625	// The IPv4 ranges.
10626	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
10627
10628	// The IPv6 ranges.
10629	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
10630
10631	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
10632	// is the AWS service to access through a VPC endpoint from instances associated
10633	// with the security group.
10634	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
10635
10636	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10637	// code.
10638	//
10639	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
10640	// types, you must specify all codes.
10641	ToPort *int64 `type:"integer"`
10642
10643	// The security group and AWS account ID pairs.
10644	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
10645}
10646
10647// String returns the string representation
10648func (s AwsEc2SecurityGroupIpPermission) String() string {
10649	return awsutil.Prettify(s)
10650}
10651
10652// GoString returns the string representation
10653func (s AwsEc2SecurityGroupIpPermission) GoString() string {
10654	return s.String()
10655}
10656
10657// SetFromPort sets the FromPort field's value.
10658func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
10659	s.FromPort = &v
10660	return s
10661}
10662
10663// SetIpProtocol sets the IpProtocol field's value.
10664func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
10665	s.IpProtocol = &v
10666	return s
10667}
10668
10669// SetIpRanges sets the IpRanges field's value.
10670func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
10671	s.IpRanges = v
10672	return s
10673}
10674
10675// SetIpv6Ranges sets the Ipv6Ranges field's value.
10676func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
10677	s.Ipv6Ranges = v
10678	return s
10679}
10680
10681// SetPrefixListIds sets the PrefixListIds field's value.
10682func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
10683	s.PrefixListIds = v
10684	return s
10685}
10686
10687// SetToPort sets the ToPort field's value.
10688func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
10689	s.ToPort = &v
10690	return s
10691}
10692
10693// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
10694func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
10695	s.UserIdGroupPairs = v
10696	return s
10697}
10698
10699// A range of IPv4 addresses.
10700type AwsEc2SecurityGroupIpRange struct {
10701	_ struct{} `type:"structure"`
10702
10703	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
10704	// group, but not both. To specify a single IPv4 address, use the /32 prefix
10705	// length.
10706	CidrIp *string `type:"string"`
10707}
10708
10709// String returns the string representation
10710func (s AwsEc2SecurityGroupIpRange) String() string {
10711	return awsutil.Prettify(s)
10712}
10713
10714// GoString returns the string representation
10715func (s AwsEc2SecurityGroupIpRange) GoString() string {
10716	return s.String()
10717}
10718
10719// SetCidrIp sets the CidrIp field's value.
10720func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
10721	s.CidrIp = &v
10722	return s
10723}
10724
10725// A range of IPv6 addresses.
10726type AwsEc2SecurityGroupIpv6Range struct {
10727	_ struct{} `type:"structure"`
10728
10729	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
10730	// group, but not both. To specify a single IPv6 address, use the /128 prefix
10731	// length.
10732	CidrIpv6 *string `type:"string"`
10733}
10734
10735// String returns the string representation
10736func (s AwsEc2SecurityGroupIpv6Range) String() string {
10737	return awsutil.Prettify(s)
10738}
10739
10740// GoString returns the string representation
10741func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
10742	return s.String()
10743}
10744
10745// SetCidrIpv6 sets the CidrIpv6 field's value.
10746func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
10747	s.CidrIpv6 = &v
10748	return s
10749}
10750
10751// A prefix list ID.
10752type AwsEc2SecurityGroupPrefixListId struct {
10753	_ struct{} `type:"structure"`
10754
10755	// The ID of the prefix.
10756	PrefixListId *string `type:"string"`
10757}
10758
10759// String returns the string representation
10760func (s AwsEc2SecurityGroupPrefixListId) String() string {
10761	return awsutil.Prettify(s)
10762}
10763
10764// GoString returns the string representation
10765func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
10766	return s.String()
10767}
10768
10769// SetPrefixListId sets the PrefixListId field's value.
10770func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
10771	s.PrefixListId = &v
10772	return s
10773}
10774
10775// A relationship between a security group and a user.
10776type AwsEc2SecurityGroupUserIdGroupPair struct {
10777	_ struct{} `type:"structure"`
10778
10779	// The ID of the security group.
10780	GroupId *string `type:"string"`
10781
10782	// The name of the security group.
10783	GroupName *string `type:"string"`
10784
10785	// The status of a VPC peering connection, if applicable.
10786	PeeringStatus *string `type:"string"`
10787
10788	// The ID of an AWS account.
10789	//
10790	// For a referenced security group in another VPC, the account ID of the referenced
10791	// security group is returned in the response. If the referenced security group
10792	// is deleted, this value is not returned.
10793	//
10794	// [EC2-Classic] Required when adding or removing rules that reference a security
10795	// group in another VPC.
10796	UserId *string `type:"string"`
10797
10798	// The ID of the VPC for the referenced security group, if applicable.
10799	VpcId *string `type:"string"`
10800
10801	// The ID of the VPC peering connection, if applicable.
10802	VpcPeeringConnectionId *string `type:"string"`
10803}
10804
10805// String returns the string representation
10806func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
10807	return awsutil.Prettify(s)
10808}
10809
10810// GoString returns the string representation
10811func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
10812	return s.String()
10813}
10814
10815// SetGroupId sets the GroupId field's value.
10816func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10817	s.GroupId = &v
10818	return s
10819}
10820
10821// SetGroupName sets the GroupName field's value.
10822func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10823	s.GroupName = &v
10824	return s
10825}
10826
10827// SetPeeringStatus sets the PeeringStatus field's value.
10828func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10829	s.PeeringStatus = &v
10830	return s
10831}
10832
10833// SetUserId sets the UserId field's value.
10834func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10835	s.UserId = &v
10836	return s
10837}
10838
10839// SetVpcId sets the VpcId field's value.
10840func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10841	s.VpcId = &v
10842	return s
10843}
10844
10845// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10846func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10847	s.VpcPeeringConnectionId = &v
10848	return s
10849}
10850
10851// Contains information about a subnet in EC2.
10852type AwsEc2SubnetDetails struct {
10853	_ struct{} `type:"structure"`
10854
10855	// Whether to assign an IPV6 address to a network interface that is created
10856	// in this subnet.
10857	AssignIpv6AddressOnCreation *bool `type:"boolean"`
10858
10859	// The Availability Zone for the subnet.
10860	AvailabilityZone *string `type:"string"`
10861
10862	// The identifier of the Availability Zone for the subnet.
10863	AvailabilityZoneId *string `type:"string"`
10864
10865	// The number of available IPV4 addresses in the subnet. Does not include addresses
10866	// for stopped instances.
10867	AvailableIpAddressCount *int64 `type:"integer"`
10868
10869	// The IPV4 CIDR block that is assigned to the subnet.
10870	CidrBlock *string `type:"string"`
10871
10872	// Whether this subnet is the default subnet for the Availability Zone.
10873	DefaultForAz *bool `type:"boolean"`
10874
10875	// The IPV6 CIDR blocks that are associated with the subnet.
10876	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
10877
10878	// Whether instances in this subnet receive a public IP address.
10879	MapPublicIpOnLaunch *bool `type:"boolean"`
10880
10881	// The identifier of the AWS account that owns the subnet.
10882	OwnerId *string `type:"string"`
10883
10884	// The current state of the subnet.
10885	State *string `type:"string"`
10886
10887	// The ARN of the subnet.
10888	SubnetArn *string `type:"string"`
10889
10890	// The identifier of the subnet.
10891	SubnetId *string `type:"string"`
10892
10893	// The identifier of the VPC that contains the subnet.
10894	VpcId *string `type:"string"`
10895}
10896
10897// String returns the string representation
10898func (s AwsEc2SubnetDetails) String() string {
10899	return awsutil.Prettify(s)
10900}
10901
10902// GoString returns the string representation
10903func (s AwsEc2SubnetDetails) GoString() string {
10904	return s.String()
10905}
10906
10907// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
10908func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
10909	s.AssignIpv6AddressOnCreation = &v
10910	return s
10911}
10912
10913// SetAvailabilityZone sets the AvailabilityZone field's value.
10914func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
10915	s.AvailabilityZone = &v
10916	return s
10917}
10918
10919// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
10920func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
10921	s.AvailabilityZoneId = &v
10922	return s
10923}
10924
10925// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
10926func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
10927	s.AvailableIpAddressCount = &v
10928	return s
10929}
10930
10931// SetCidrBlock sets the CidrBlock field's value.
10932func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
10933	s.CidrBlock = &v
10934	return s
10935}
10936
10937// SetDefaultForAz sets the DefaultForAz field's value.
10938func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
10939	s.DefaultForAz = &v
10940	return s
10941}
10942
10943// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
10944func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
10945	s.Ipv6CidrBlockAssociationSet = v
10946	return s
10947}
10948
10949// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
10950func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
10951	s.MapPublicIpOnLaunch = &v
10952	return s
10953}
10954
10955// SetOwnerId sets the OwnerId field's value.
10956func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
10957	s.OwnerId = &v
10958	return s
10959}
10960
10961// SetState sets the State field's value.
10962func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
10963	s.State = &v
10964	return s
10965}
10966
10967// SetSubnetArn sets the SubnetArn field's value.
10968func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
10969	s.SubnetArn = &v
10970	return s
10971}
10972
10973// SetSubnetId sets the SubnetId field's value.
10974func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
10975	s.SubnetId = &v
10976	return s
10977}
10978
10979// SetVpcId sets the VpcId field's value.
10980func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
10981	s.VpcId = &v
10982	return s
10983}
10984
10985// An attachment to an AWS EC2 volume.
10986type AwsEc2VolumeAttachment struct {
10987	_ struct{} `type:"structure"`
10988
10989	// The datetime when the attachment initiated.
10990	AttachTime *string `type:"string"`
10991
10992	// Whether the EBS volume is deleted when the EC2 instance is terminated.
10993	DeleteOnTermination *bool `type:"boolean"`
10994
10995	// The identifier of the EC2 instance.
10996	InstanceId *string `type:"string"`
10997
10998	// The attachment state of the volume.
10999	Status *string `type:"string"`
11000}
11001
11002// String returns the string representation
11003func (s AwsEc2VolumeAttachment) String() string {
11004	return awsutil.Prettify(s)
11005}
11006
11007// GoString returns the string representation
11008func (s AwsEc2VolumeAttachment) GoString() string {
11009	return s.String()
11010}
11011
11012// SetAttachTime sets the AttachTime field's value.
11013func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
11014	s.AttachTime = &v
11015	return s
11016}
11017
11018// SetDeleteOnTermination sets the DeleteOnTermination field's value.
11019func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
11020	s.DeleteOnTermination = &v
11021	return s
11022}
11023
11024// SetInstanceId sets the InstanceId field's value.
11025func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
11026	s.InstanceId = &v
11027	return s
11028}
11029
11030// SetStatus sets the Status field's value.
11031func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
11032	s.Status = &v
11033	return s
11034}
11035
11036// Details about an EC2 volume.
11037type AwsEc2VolumeDetails struct {
11038	_ struct{} `type:"structure"`
11039
11040	// The volume attachments.
11041	Attachments []*AwsEc2VolumeAttachment `type:"list"`
11042
11043	// Indicates when the volume was created.
11044	//
11045	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11046	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11047	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11048	CreateTime *string `type:"string"`
11049
11050	// Whether the volume is encrypted.
11051	Encrypted *bool `type:"boolean"`
11052
11053	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK)
11054	// that was used to protect the volume encryption key for the volume.
11055	KmsKeyId *string `type:"string"`
11056
11057	// The size of the volume, in GiBs.
11058	Size *int64 `type:"integer"`
11059
11060	// The snapshot from which the volume was created.
11061	SnapshotId *string `type:"string"`
11062
11063	// The volume state.
11064	Status *string `type:"string"`
11065}
11066
11067// String returns the string representation
11068func (s AwsEc2VolumeDetails) String() string {
11069	return awsutil.Prettify(s)
11070}
11071
11072// GoString returns the string representation
11073func (s AwsEc2VolumeDetails) GoString() string {
11074	return s.String()
11075}
11076
11077// SetAttachments sets the Attachments field's value.
11078func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
11079	s.Attachments = v
11080	return s
11081}
11082
11083// SetCreateTime sets the CreateTime field's value.
11084func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
11085	s.CreateTime = &v
11086	return s
11087}
11088
11089// SetEncrypted sets the Encrypted field's value.
11090func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
11091	s.Encrypted = &v
11092	return s
11093}
11094
11095// SetKmsKeyId sets the KmsKeyId field's value.
11096func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
11097	s.KmsKeyId = &v
11098	return s
11099}
11100
11101// SetSize sets the Size field's value.
11102func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
11103	s.Size = &v
11104	return s
11105}
11106
11107// SetSnapshotId sets the SnapshotId field's value.
11108func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
11109	s.SnapshotId = &v
11110	return s
11111}
11112
11113// SetStatus sets the Status field's value.
11114func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
11115	s.Status = &v
11116	return s
11117}
11118
11119// Details about an EC2 VPC.
11120type AwsEc2VpcDetails struct {
11121	_ struct{} `type:"structure"`
11122
11123	// Information about the IPv4 CIDR blocks associated with the VPC.
11124	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
11125
11126	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
11127	// that are associated with the VPC. If the default options are associated with
11128	// the VPC, then this is default.
11129	DhcpOptionsId *string `type:"string"`
11130
11131	// Information about the IPv6 CIDR blocks associated with the VPC.
11132	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
11133
11134	// The current state of the VPC.
11135	State *string `type:"string"`
11136}
11137
11138// String returns the string representation
11139func (s AwsEc2VpcDetails) String() string {
11140	return awsutil.Prettify(s)
11141}
11142
11143// GoString returns the string representation
11144func (s AwsEc2VpcDetails) GoString() string {
11145	return s.String()
11146}
11147
11148// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
11149func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
11150	s.CidrBlockAssociationSet = v
11151	return s
11152}
11153
11154// SetDhcpOptionsId sets the DhcpOptionsId field's value.
11155func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
11156	s.DhcpOptionsId = &v
11157	return s
11158}
11159
11160// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
11161func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
11162	s.Ipv6CidrBlockAssociationSet = v
11163	return s
11164}
11165
11166// SetState sets the State field's value.
11167func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
11168	s.State = &v
11169	return s
11170}
11171
11172// Indicates whether to enable CloudWatch Container Insights for the ECS cluster.
11173type AwsEcsClusterClusterSettingsDetails struct {
11174	_ struct{} `type:"structure"`
11175
11176	// The name of the setting.
11177	Name *string `type:"string"`
11178
11179	// The value of the setting.
11180	Value *string `type:"string"`
11181}
11182
11183// String returns the string representation
11184func (s AwsEcsClusterClusterSettingsDetails) String() string {
11185	return awsutil.Prettify(s)
11186}
11187
11188// GoString returns the string representation
11189func (s AwsEcsClusterClusterSettingsDetails) GoString() string {
11190	return s.String()
11191}
11192
11193// SetName sets the Name field's value.
11194func (s *AwsEcsClusterClusterSettingsDetails) SetName(v string) *AwsEcsClusterClusterSettingsDetails {
11195	s.Name = &v
11196	return s
11197}
11198
11199// SetValue sets the Value field's value.
11200func (s *AwsEcsClusterClusterSettingsDetails) SetValue(v string) *AwsEcsClusterClusterSettingsDetails {
11201	s.Value = &v
11202	return s
11203}
11204
11205// The run command configuration for the cluster.
11206type AwsEcsClusterConfigurationDetails struct {
11207	_ struct{} `type:"structure"`
11208
11209	// Contains the run command configuration for the cluster.
11210	ExecuteCommandConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails `type:"structure"`
11211}
11212
11213// String returns the string representation
11214func (s AwsEcsClusterConfigurationDetails) String() string {
11215	return awsutil.Prettify(s)
11216}
11217
11218// GoString returns the string representation
11219func (s AwsEcsClusterConfigurationDetails) GoString() string {
11220	return s.String()
11221}
11222
11223// SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value.
11224func (s *AwsEcsClusterConfigurationDetails) SetExecuteCommandConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) *AwsEcsClusterConfigurationDetails {
11225	s.ExecuteCommandConfiguration = v
11226	return s
11227}
11228
11229// Contains the run command configuration for the cluster.
11230type AwsEcsClusterConfigurationExecuteCommandConfigurationDetails struct {
11231	_ struct{} `type:"structure"`
11232
11233	// The identifier of the KMS key that is used to encrypt the data between the
11234	// local client and the container.
11235	KmsKeyId *string `type:"string"`
11236
11237	// The log configuration for the results of the run command actions. Required
11238	// if Logging is NONE.
11239	LogConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails `type:"structure"`
11240
11241	// The log setting to use for redirecting logs for run command results.
11242	Logging *string `type:"string"`
11243}
11244
11245// String returns the string representation
11246func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) String() string {
11247	return awsutil.Prettify(s)
11248}
11249
11250// GoString returns the string representation
11251func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) GoString() string {
11252	return s.String()
11253}
11254
11255// SetKmsKeyId sets the KmsKeyId field's value.
11256func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetKmsKeyId(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11257	s.KmsKeyId = &v
11258	return s
11259}
11260
11261// SetLogConfiguration sets the LogConfiguration field's value.
11262func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11263	s.LogConfiguration = v
11264	return s
11265}
11266
11267// SetLogging sets the Logging field's value.
11268func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogging(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11269	s.Logging = &v
11270	return s
11271}
11272
11273// The log configuration for the results of the run command actions.
11274type AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails struct {
11275	_ struct{} `type:"structure"`
11276
11277	// Whether to enable encryption on the CloudWatch logs.
11278	CloudWatchEncryptionEnabled *bool `type:"boolean"`
11279
11280	// The name of the CloudWatch log group to send the logs to.
11281	CloudWatchLogGroupName *string `type:"string"`
11282
11283	// The name of the S3 bucket to send logs to.
11284	S3BucketName *string `type:"string"`
11285
11286	// Whether to encrypt the logs that are sent to the S3 bucket.
11287	S3EncryptionEnabled *bool `type:"boolean"`
11288
11289	// Identifies the folder in the S3 bucket to send the logs to.
11290	S3KeyPrefix *string `type:"string"`
11291}
11292
11293// String returns the string representation
11294func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) String() string {
11295	return awsutil.Prettify(s)
11296}
11297
11298// GoString returns the string representation
11299func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) GoString() string {
11300	return s.String()
11301}
11302
11303// SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value.
11304func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchEncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11305	s.CloudWatchEncryptionEnabled = &v
11306	return s
11307}
11308
11309// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
11310func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchLogGroupName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11311	s.CloudWatchLogGroupName = &v
11312	return s
11313}
11314
11315// SetS3BucketName sets the S3BucketName field's value.
11316func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3BucketName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11317	s.S3BucketName = &v
11318	return s
11319}
11320
11321// SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value.
11322func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3EncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11323	s.S3EncryptionEnabled = &v
11324	return s
11325}
11326
11327// SetS3KeyPrefix sets the S3KeyPrefix field's value.
11328func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3KeyPrefix(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11329	s.S3KeyPrefix = &v
11330	return s
11331}
11332
11333// The default capacity provider strategy for the cluster. The default capacity
11334// provider strategy is used when services or tasks are run without a specified
11335// launch type or capacity provider strategy.
11336type AwsEcsClusterDefaultCapacityProviderStrategyDetails struct {
11337	_ struct{} `type:"structure"`
11338
11339	// The minimum number of tasks to run on the specified capacity provider.
11340	Base *int64 `type:"integer"`
11341
11342	// The name of the capacity provider.
11343	CapacityProvider *string `type:"string"`
11344
11345	// The relative percentage of the total number of tasks launched that should
11346	// use the capacity provider.
11347	Weight *int64 `type:"integer"`
11348}
11349
11350// String returns the string representation
11351func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) String() string {
11352	return awsutil.Prettify(s)
11353}
11354
11355// GoString returns the string representation
11356func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) GoString() string {
11357	return s.String()
11358}
11359
11360// SetBase sets the Base field's value.
11361func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11362	s.Base = &v
11363	return s
11364}
11365
11366// SetCapacityProvider sets the CapacityProvider field's value.
11367func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11368	s.CapacityProvider = &v
11369	return s
11370}
11371
11372// SetWeight sets the Weight field's value.
11373func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11374	s.Weight = &v
11375	return s
11376}
11377
11378// provides details about an ECS cluster.
11379type AwsEcsClusterDetails struct {
11380	_ struct{} `type:"structure"`
11381
11382	// The short name of one or more capacity providers to associate with the cluster.
11383	CapacityProviders []*string `type:"list"`
11384
11385	// The setting to use to create the cluster. Specifically used to configure
11386	// whether to enable CloudWatch Container Insights for the cluster.
11387	ClusterSettings []*AwsEcsClusterClusterSettingsDetails `type:"list"`
11388
11389	// The run command configuration for the cluster.
11390	Configuration *AwsEcsClusterConfigurationDetails `type:"structure"`
11391
11392	// The default capacity provider strategy for the cluster. The default capacity
11393	// provider strategy is used when services or tasks are run without a specified
11394	// launch type or capacity provider strategy.
11395	DefaultCapacityProviderStrategy []*AwsEcsClusterDefaultCapacityProviderStrategyDetails `type:"list"`
11396}
11397
11398// String returns the string representation
11399func (s AwsEcsClusterDetails) String() string {
11400	return awsutil.Prettify(s)
11401}
11402
11403// GoString returns the string representation
11404func (s AwsEcsClusterDetails) GoString() string {
11405	return s.String()
11406}
11407
11408// SetCapacityProviders sets the CapacityProviders field's value.
11409func (s *AwsEcsClusterDetails) SetCapacityProviders(v []*string) *AwsEcsClusterDetails {
11410	s.CapacityProviders = v
11411	return s
11412}
11413
11414// SetClusterSettings sets the ClusterSettings field's value.
11415func (s *AwsEcsClusterDetails) SetClusterSettings(v []*AwsEcsClusterClusterSettingsDetails) *AwsEcsClusterDetails {
11416	s.ClusterSettings = v
11417	return s
11418}
11419
11420// SetConfiguration sets the Configuration field's value.
11421func (s *AwsEcsClusterDetails) SetConfiguration(v *AwsEcsClusterConfigurationDetails) *AwsEcsClusterDetails {
11422	s.Configuration = v
11423	return s
11424}
11425
11426// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value.
11427func (s *AwsEcsClusterDetails) SetDefaultCapacityProviderStrategy(v []*AwsEcsClusterDefaultCapacityProviderStrategyDetails) *AwsEcsClusterDetails {
11428	s.DefaultCapacityProviderStrategy = v
11429	return s
11430}
11431
11432// A dependency that is defined for container startup and shutdown.
11433type AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails struct {
11434	_ struct{} `type:"structure"`
11435
11436	// The dependency condition of the dependent container. Indicates the required
11437	// status of the dependent container before the current container can start.
11438	Condition *string `type:"string"`
11439
11440	// The name of the dependent container.
11441	ContainerName *string `type:"string"`
11442}
11443
11444// String returns the string representation
11445func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) String() string {
11446	return awsutil.Prettify(s)
11447}
11448
11449// GoString returns the string representation
11450func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) GoString() string {
11451	return s.String()
11452}
11453
11454// SetCondition sets the Condition field's value.
11455func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetCondition(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
11456	s.Condition = &v
11457	return s
11458}
11459
11460// SetContainerName sets the ContainerName field's value.
11461func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetContainerName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
11462	s.ContainerName = &v
11463	return s
11464}
11465
11466// A container definition that describes a container in the task.
11467type AwsEcsTaskDefinitionContainerDefinitionsDetails struct {
11468	_ struct{} `type:"structure"`
11469
11470	// The command that is passed to the container.
11471	Command []*string `type:"list"`
11472
11473	// The number of CPU units reserved for the container.
11474	Cpu *int64 `type:"integer"`
11475
11476	// The dependencies that are defined for container startup and shutdown.
11477	DependsOn []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails `type:"list"`
11478
11479	// Whether to disable networking within the container.
11480	DisableNetworking *bool `type:"boolean"`
11481
11482	// A list of DNS search domains that are presented to the container.
11483	DnsSearchDomains []*string `type:"list"`
11484
11485	// A list of DNS servers that are presented to the container.
11486	DnsServers []*string `type:"list"`
11487
11488	// A key-value map of labels to add to the container.
11489	DockerLabels map[string]*string `type:"map"`
11490
11491	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
11492	// security systems.
11493	DockerSecurityOptions []*string `type:"list"`
11494
11495	// The entry point that is passed to the container.
11496	EntryPoint []*string `type:"list"`
11497
11498	// The environment variables to pass to a container.
11499	Environment []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails `type:"list"`
11500
11501	// A list of files containing the environment variables to pass to a container.
11502	EnvironmentFiles []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails `type:"list"`
11503
11504	// Whether the container is essential. All tasks must have at least one essential
11505	// container.
11506	Essential *bool `type:"boolean"`
11507
11508	// A list of hostnames and IP address mappings to append to the /etc/hosts file
11509	// on the container.
11510	ExtraHosts []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails `type:"list"`
11511
11512	// The FireLens configuration for the container. Specifies and configures a
11513	// log router for container logs.
11514	FirelensConfiguration *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails `type:"structure"`
11515
11516	// The container health check command and associated configuration parameters
11517	// for the container.
11518	HealthCheck *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails `type:"structure"`
11519
11520	// The hostname to use for the container.
11521	Hostname *string `type:"string"`
11522
11523	// The image used to start the container.
11524	Image *string `type:"string"`
11525
11526	// If set to true, then containerized applications can be deployed that require
11527	// stdin or a tty to be allocated.
11528	Interactive *bool `type:"boolean"`
11529
11530	// A list of links for the container in the form container_name:alias . Allows
11531	// containers to communicate with each other without the need for port mappings.
11532	Links []*string `type:"list"`
11533
11534	// Linux-specific modifications that are applied to the container, such as Linux
11535	// kernel capabilities.
11536	LinuxParameters *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails `type:"structure"`
11537
11538	// The log configuration specification for the container.
11539	LogConfiguration *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails `type:"structure"`
11540
11541	// The amount (in MiB) of memory to present to the container. If the container
11542	// attempts to exceed the memory specified here, the container is shut down.
11543	// The total amount of memory reserved for all containers within a task must
11544	// be lower than the task memory value, if one is specified.
11545	Memory *int64 `type:"integer"`
11546
11547	// The soft limit (in MiB) of memory to reserve for the container.
11548	MemoryReservation *int64 `type:"integer"`
11549
11550	// The mount points for the data volumes in the container.
11551	MountPoints []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails `type:"list"`
11552
11553	// The name of the container.
11554	Name *string `type:"string"`
11555
11556	// The list of port mappings for the container.
11557	PortMappings []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails `type:"list"`
11558
11559	// Whether the container is given elevated privileges on the host container
11560	// instance. The elevated privileges are similar to the root user.
11561	Privileged *bool `type:"boolean"`
11562
11563	// Whether to allocate a TTY to the container.
11564	PseudoTerminal *bool `type:"boolean"`
11565
11566	// Whether the container is given read-only access to its root file system.
11567	ReadonlyRootFilesystem *bool `type:"boolean"`
11568
11569	// The private repository authentication credentials to use.
11570	RepositoryCredentials *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails `type:"structure"`
11571
11572	// The type and amount of a resource to assign to a container. The only supported
11573	// resource is a GPU.
11574	ResourceRequirements []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails `type:"list"`
11575
11576	// The secrets to pass to the container.
11577	Secrets []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails `type:"list"`
11578
11579	// The number of seconds to wait before giving up on resolving dependencies
11580	// for a container.
11581	StartTimeout *int64 `type:"integer"`
11582
11583	// The number of seconds to wait before the container is stopped if it doesn't
11584	// shut down normally on its own.
11585	StopTimeout *int64 `type:"integer"`
11586
11587	// A list of namespaced kernel parameters to set in the container.
11588	SystemControls []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails `type:"list"`
11589
11590	// A list of ulimits to set in the container.
11591	Ulimits []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails `type:"list"`
11592
11593	// The user to use inside the container.
11594	//
11595	// The value can use one of the following formats.
11596	//
11597	//    * user
11598	//
11599	//    * user :group
11600	//
11601	//    * uid
11602	//
11603	//    * uid :gid
11604	//
11605	//    * user :gid
11606	//
11607	//    * uid :group
11608	User *string `type:"string"`
11609
11610	// Data volumes to mount from another container.
11611	VolumesFrom []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails `type:"list"`
11612
11613	// The working directory in which to run commands inside the container.
11614	WorkingDirectory *string `type:"string"`
11615}
11616
11617// String returns the string representation
11618func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) String() string {
11619	return awsutil.Prettify(s)
11620}
11621
11622// GoString returns the string representation
11623func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) GoString() string {
11624	return s.String()
11625}
11626
11627// SetCommand sets the Command field's value.
11628func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11629	s.Command = v
11630	return s
11631}
11632
11633// SetCpu sets the Cpu field's value.
11634func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCpu(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11635	s.Cpu = &v
11636	return s
11637}
11638
11639// SetDependsOn sets the DependsOn field's value.
11640func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDependsOn(v []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11641	s.DependsOn = v
11642	return s
11643}
11644
11645// SetDisableNetworking sets the DisableNetworking field's value.
11646func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDisableNetworking(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11647	s.DisableNetworking = &v
11648	return s
11649}
11650
11651// SetDnsSearchDomains sets the DnsSearchDomains field's value.
11652func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsSearchDomains(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11653	s.DnsSearchDomains = v
11654	return s
11655}
11656
11657// SetDnsServers sets the DnsServers field's value.
11658func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsServers(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11659	s.DnsServers = v
11660	return s
11661}
11662
11663// SetDockerLabels sets the DockerLabels field's value.
11664func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerLabels(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11665	s.DockerLabels = v
11666	return s
11667}
11668
11669// SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
11670func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerSecurityOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11671	s.DockerSecurityOptions = v
11672	return s
11673}
11674
11675// SetEntryPoint sets the EntryPoint field's value.
11676func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEntryPoint(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11677	s.EntryPoint = v
11678	return s
11679}
11680
11681// SetEnvironment sets the Environment field's value.
11682func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironment(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11683	s.Environment = v
11684	return s
11685}
11686
11687// SetEnvironmentFiles sets the EnvironmentFiles field's value.
11688func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironmentFiles(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11689	s.EnvironmentFiles = v
11690	return s
11691}
11692
11693// SetEssential sets the Essential field's value.
11694func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEssential(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11695	s.Essential = &v
11696	return s
11697}
11698
11699// SetExtraHosts sets the ExtraHosts field's value.
11700func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetExtraHosts(v []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11701	s.ExtraHosts = v
11702	return s
11703}
11704
11705// SetFirelensConfiguration sets the FirelensConfiguration field's value.
11706func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetFirelensConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11707	s.FirelensConfiguration = v
11708	return s
11709}
11710
11711// SetHealthCheck sets the HealthCheck field's value.
11712func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHealthCheck(v *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11713	s.HealthCheck = v
11714	return s
11715}
11716
11717// SetHostname sets the Hostname field's value.
11718func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11719	s.Hostname = &v
11720	return s
11721}
11722
11723// SetImage sets the Image field's value.
11724func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetImage(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11725	s.Image = &v
11726	return s
11727}
11728
11729// SetInteractive sets the Interactive field's value.
11730func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetInteractive(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11731	s.Interactive = &v
11732	return s
11733}
11734
11735// SetLinks sets the Links field's value.
11736func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinks(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11737	s.Links = v
11738	return s
11739}
11740
11741// SetLinuxParameters sets the LinuxParameters field's value.
11742func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinuxParameters(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11743	s.LinuxParameters = v
11744	return s
11745}
11746
11747// SetLogConfiguration sets the LogConfiguration field's value.
11748func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLogConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11749	s.LogConfiguration = v
11750	return s
11751}
11752
11753// SetMemory sets the Memory field's value.
11754func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemory(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11755	s.Memory = &v
11756	return s
11757}
11758
11759// SetMemoryReservation sets the MemoryReservation field's value.
11760func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemoryReservation(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11761	s.MemoryReservation = &v
11762	return s
11763}
11764
11765// SetMountPoints sets the MountPoints field's value.
11766func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMountPoints(v []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11767	s.MountPoints = v
11768	return s
11769}
11770
11771// SetName sets the Name field's value.
11772func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11773	s.Name = &v
11774	return s
11775}
11776
11777// SetPortMappings sets the PortMappings field's value.
11778func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPortMappings(v []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11779	s.PortMappings = v
11780	return s
11781}
11782
11783// SetPrivileged sets the Privileged field's value.
11784func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPrivileged(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11785	s.Privileged = &v
11786	return s
11787}
11788
11789// SetPseudoTerminal sets the PseudoTerminal field's value.
11790func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPseudoTerminal(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11791	s.PseudoTerminal = &v
11792	return s
11793}
11794
11795// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
11796func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetReadonlyRootFilesystem(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11797	s.ReadonlyRootFilesystem = &v
11798	return s
11799}
11800
11801// SetRepositoryCredentials sets the RepositoryCredentials field's value.
11802func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetRepositoryCredentials(v *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11803	s.RepositoryCredentials = v
11804	return s
11805}
11806
11807// SetResourceRequirements sets the ResourceRequirements field's value.
11808func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetResourceRequirements(v []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11809	s.ResourceRequirements = v
11810	return s
11811}
11812
11813// SetSecrets sets the Secrets field's value.
11814func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSecrets(v []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11815	s.Secrets = v
11816	return s
11817}
11818
11819// SetStartTimeout sets the StartTimeout field's value.
11820func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStartTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11821	s.StartTimeout = &v
11822	return s
11823}
11824
11825// SetStopTimeout sets the StopTimeout field's value.
11826func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStopTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11827	s.StopTimeout = &v
11828	return s
11829}
11830
11831// SetSystemControls sets the SystemControls field's value.
11832func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSystemControls(v []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11833	s.SystemControls = v
11834	return s
11835}
11836
11837// SetUlimits sets the Ulimits field's value.
11838func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUlimits(v []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11839	s.Ulimits = v
11840	return s
11841}
11842
11843// SetUser sets the User field's value.
11844func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUser(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11845	s.User = &v
11846	return s
11847}
11848
11849// SetVolumesFrom sets the VolumesFrom field's value.
11850func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetVolumesFrom(v []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11851	s.VolumesFrom = v
11852	return s
11853}
11854
11855// SetWorkingDirectory sets the WorkingDirectory field's value.
11856func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetWorkingDirectory(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
11857	s.WorkingDirectory = &v
11858	return s
11859}
11860
11861// An environment variable to pass to the container.
11862type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails struct {
11863	_ struct{} `type:"structure"`
11864
11865	// The name of the environment variable.
11866	Name *string `type:"string"`
11867
11868	// The value of the environment variable.
11869	Value *string `type:"string"`
11870}
11871
11872// String returns the string representation
11873func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) String() string {
11874	return awsutil.Prettify(s)
11875}
11876
11877// GoString returns the string representation
11878func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) GoString() string {
11879	return s.String()
11880}
11881
11882// SetName sets the Name field's value.
11883func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
11884	s.Name = &v
11885	return s
11886}
11887
11888// SetValue sets the Value field's value.
11889func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
11890	s.Value = &v
11891	return s
11892}
11893
11894// A file that contain environment variables to pass to a container.
11895type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails struct {
11896	_ struct{} `type:"structure"`
11897
11898	// The type of environment file.
11899	Type *string `type:"string"`
11900
11901	// The ARN of the S3 object that contains the environment variable file.
11902	Value *string `type:"string"`
11903}
11904
11905// String returns the string representation
11906func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) String() string {
11907	return awsutil.Prettify(s)
11908}
11909
11910// GoString returns the string representation
11911func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) GoString() string {
11912	return s.String()
11913}
11914
11915// SetType sets the Type field's value.
11916func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
11917	s.Type = &v
11918	return s
11919}
11920
11921// SetValue sets the Value field's value.
11922func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
11923	s.Value = &v
11924	return s
11925}
11926
11927// A hostname and IP address mapping to append to the /etc/hosts file on the
11928// container.
11929type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails struct {
11930	_ struct{} `type:"structure"`
11931
11932	// The hostname to use in the /etc/hosts entry.
11933	Hostname *string `type:"string"`
11934
11935	// The IP address to use in the /etc/hosts entry.
11936	IpAddress *string `type:"string"`
11937}
11938
11939// String returns the string representation
11940func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) String() string {
11941	return awsutil.Prettify(s)
11942}
11943
11944// GoString returns the string representation
11945func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) GoString() string {
11946	return s.String()
11947}
11948
11949// SetHostname sets the Hostname field's value.
11950func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
11951	s.Hostname = &v
11952	return s
11953}
11954
11955// SetIpAddress sets the IpAddress field's value.
11956func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetIpAddress(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
11957	s.IpAddress = &v
11958	return s
11959}
11960
11961// The FireLens configuration for the container. The configuration specifies
11962// and configures a log router for container logs.
11963type AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails struct {
11964	_ struct{} `type:"structure"`
11965
11966	// The options to use to configure the log router.
11967	//
11968	// The valid option keys are as follows:
11969	//
11970	//    * enable-ecs-log-metadata. The value can be true or false.
11971	//
11972	//    * config-file-type. The value can be s3 or file.
11973	//
11974	//    * config-file-value. The value is either an S3 ARN or a file path.
11975	Options map[string]*string `type:"map"`
11976
11977	// The log router to use.
11978	Type *string `type:"string"`
11979}
11980
11981// String returns the string representation
11982func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) String() string {
11983	return awsutil.Prettify(s)
11984}
11985
11986// GoString returns the string representation
11987func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) GoString() string {
11988	return s.String()
11989}
11990
11991// SetOptions sets the Options field's value.
11992func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
11993	s.Options = v
11994	return s
11995}
11996
11997// SetType sets the Type field's value.
11998func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
11999	s.Type = &v
12000	return s
12001}
12002
12003// The container health check command and associated configuration parameters
12004// for the container.
12005type AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails struct {
12006	_ struct{} `type:"structure"`
12007
12008	// The command that the container runs to determine whether it is healthy.
12009	Command []*string `type:"list"`
12010
12011	// The time period in seconds between each health check execution. The default
12012	// value is 30 seconds.
12013	Interval *int64 `type:"integer"`
12014
12015	// The number of times to retry a failed health check before the container is
12016	// considered unhealthy. The default value is 3.
12017	Retries *int64 `type:"integer"`
12018
12019	// The optional grace period in seconds that allows containers time to bootstrap
12020	// before failed health checks count towards the maximum number of retries.
12021	StartPeriod *int64 `type:"integer"`
12022
12023	// The time period in seconds to wait for a health check to succeed before it
12024	// is considered a failure. The default value is 5.
12025	Timeout *int64 `type:"integer"`
12026}
12027
12028// String returns the string representation
12029func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) String() string {
12030	return awsutil.Prettify(s)
12031}
12032
12033// GoString returns the string representation
12034func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) GoString() string {
12035	return s.String()
12036}
12037
12038// SetCommand sets the Command field's value.
12039func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12040	s.Command = v
12041	return s
12042}
12043
12044// SetInterval sets the Interval field's value.
12045func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetInterval(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12046	s.Interval = &v
12047	return s
12048}
12049
12050// SetRetries sets the Retries field's value.
12051func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetRetries(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12052	s.Retries = &v
12053	return s
12054}
12055
12056// SetStartPeriod sets the StartPeriod field's value.
12057func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetStartPeriod(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12058	s.StartPeriod = &v
12059	return s
12060}
12061
12062// SetTimeout sets the Timeout field's value.
12063func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12064	s.Timeout = &v
12065	return s
12066}
12067
12068// The Linux capabilities for the container that are added to or dropped from
12069// the default configuration provided by Docker.
12070type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails struct {
12071	_ struct{} `type:"structure"`
12072
12073	// The Linux capabilities for the container that are added to the default configuration
12074	// provided by Docker.
12075	Add []*string `type:"list"`
12076
12077	// The Linux capabilities for the container that are dropped from the default
12078	// configuration provided by Docker.
12079	Drop []*string `type:"list"`
12080}
12081
12082// String returns the string representation
12083func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) String() string {
12084	return awsutil.Prettify(s)
12085}
12086
12087// GoString returns the string representation
12088func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) GoString() string {
12089	return s.String()
12090}
12091
12092// SetAdd sets the Add field's value.
12093func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetAdd(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
12094	s.Add = v
12095	return s
12096}
12097
12098// SetDrop sets the Drop field's value.
12099func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetDrop(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
12100	s.Drop = v
12101	return s
12102}
12103
12104// >Linux-specific modifications that are applied to the container, such as
12105// Linux kernel capabilities.
12106type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails struct {
12107	_ struct{} `type:"structure"`
12108
12109	// The Linux capabilities for the container that are added to or dropped from
12110	// the default configuration provided by Docker.
12111	Capabilities *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails `type:"structure"`
12112
12113	// The host devices to expose to the container.
12114	Devices []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails `type:"list"`
12115
12116	// Whether to run an init process inside the container that forwards signals
12117	// and reaps processes.
12118	InitProcessEnabled *bool `type:"boolean"`
12119
12120	// The total amount of swap memory (in MiB) that a container can use.
12121	MaxSwap *int64 `type:"integer"`
12122
12123	// The value for the size (in MiB) of the /dev/shm volume.
12124	SharedMemorySize *int64 `type:"integer"`
12125
12126	// Configures the container's memory swappiness behavior. Determines how aggressively
12127	// pages are swapped. The higher the value, the more aggressive the swappiness.
12128	// The default is 60.
12129	Swappiness *int64 `type:"integer"`
12130
12131	// The container path, mount options, and size (in MiB) of the tmpfs mount.
12132	Tmpfs []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails `type:"list"`
12133}
12134
12135// String returns the string representation
12136func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) String() string {
12137	return awsutil.Prettify(s)
12138}
12139
12140// GoString returns the string representation
12141func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) GoString() string {
12142	return s.String()
12143}
12144
12145// SetCapabilities sets the Capabilities field's value.
12146func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetCapabilities(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12147	s.Capabilities = v
12148	return s
12149}
12150
12151// SetDevices sets the Devices field's value.
12152func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetDevices(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12153	s.Devices = v
12154	return s
12155}
12156
12157// SetInitProcessEnabled sets the InitProcessEnabled field's value.
12158func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetInitProcessEnabled(v bool) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12159	s.InitProcessEnabled = &v
12160	return s
12161}
12162
12163// SetMaxSwap sets the MaxSwap field's value.
12164func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetMaxSwap(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12165	s.MaxSwap = &v
12166	return s
12167}
12168
12169// SetSharedMemorySize sets the SharedMemorySize field's value.
12170func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSharedMemorySize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12171	s.SharedMemorySize = &v
12172	return s
12173}
12174
12175// SetSwappiness sets the Swappiness field's value.
12176func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSwappiness(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12177	s.Swappiness = &v
12178	return s
12179}
12180
12181// SetTmpfs sets the Tmpfs field's value.
12182func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetTmpfs(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12183	s.Tmpfs = v
12184	return s
12185}
12186
12187// A host device to expose to the container.
12188type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails struct {
12189	_ struct{} `type:"structure"`
12190
12191	// The path inside the container at which to expose the host device.
12192	ContainerPath *string `type:"string"`
12193
12194	// The path for the device on the host container instance.
12195	HostPath *string `type:"string"`
12196
12197	// The explicit permissions to provide to the container for the device. By default,
12198	// the container has permissions for read, write, and mknod for the device.
12199	Permissions []*string `type:"list"`
12200}
12201
12202// String returns the string representation
12203func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) String() string {
12204	return awsutil.Prettify(s)
12205}
12206
12207// GoString returns the string representation
12208func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) GoString() string {
12209	return s.String()
12210}
12211
12212// SetContainerPath sets the ContainerPath field's value.
12213func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12214	s.ContainerPath = &v
12215	return s
12216}
12217
12218// SetHostPath sets the HostPath field's value.
12219func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetHostPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12220	s.HostPath = &v
12221	return s
12222}
12223
12224// SetPermissions sets the Permissions field's value.
12225func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetPermissions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12226	s.Permissions = v
12227	return s
12228}
12229
12230// The container path, mount options, and size (in MiB) of a tmpfs mount.
12231type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails struct {
12232	_ struct{} `type:"structure"`
12233
12234	// The absolute file path where the tmpfs volume is to be mounted.
12235	ContainerPath *string `type:"string"`
12236
12237	// The list of tmpfs volume mount options.
12238	MountOptions []*string `type:"list"`
12239
12240	// The maximum size (in MiB) of the tmpfs volume.
12241	Size *int64 `type:"integer"`
12242}
12243
12244// String returns the string representation
12245func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) String() string {
12246	return awsutil.Prettify(s)
12247}
12248
12249// GoString returns the string representation
12250func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) GoString() string {
12251	return s.String()
12252}
12253
12254// SetContainerPath sets the ContainerPath field's value.
12255func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12256	s.ContainerPath = &v
12257	return s
12258}
12259
12260// SetMountOptions sets the MountOptions field's value.
12261func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetMountOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12262	s.MountOptions = v
12263	return s
12264}
12265
12266// SetSize sets the Size field's value.
12267func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetSize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12268	s.Size = &v
12269	return s
12270}
12271
12272// The log configuration specification for the container.
12273type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails struct {
12274	_ struct{} `type:"structure"`
12275
12276	// The log driver to use for the container.
12277	LogDriver *string `type:"string"`
12278
12279	// The configuration options to send to the log driver. Requires version 1.19
12280	// of the Docker Remote API or greater on your container instance.
12281	Options map[string]*string `type:"map"`
12282
12283	// The secrets to pass to the log configuration.
12284	SecretOptions []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails `type:"list"`
12285}
12286
12287// String returns the string representation
12288func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) String() string {
12289	return awsutil.Prettify(s)
12290}
12291
12292// GoString returns the string representation
12293func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) GoString() string {
12294	return s.String()
12295}
12296
12297// SetLogDriver sets the LogDriver field's value.
12298func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetLogDriver(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
12299	s.LogDriver = &v
12300	return s
12301}
12302
12303// SetOptions sets the Options field's value.
12304func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
12305	s.Options = v
12306	return s
12307}
12308
12309// SetSecretOptions sets the SecretOptions field's value.
12310func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetSecretOptions(v []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
12311	s.SecretOptions = v
12312	return s
12313}
12314
12315// A secret to pass to the log configuration.
12316type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails struct {
12317	_ struct{} `type:"structure"`
12318
12319	// The name of the secret.
12320	Name *string `type:"string"`
12321
12322	// The secret to expose to the container.
12323	//
12324	// The value is either the full ARN of the Secrets Manager secret or the full
12325	// ARN of the parameter in the Systems Manager Parameter Store.
12326	ValueFrom *string `type:"string"`
12327}
12328
12329// String returns the string representation
12330func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) String() string {
12331	return awsutil.Prettify(s)
12332}
12333
12334// GoString returns the string representation
12335func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) GoString() string {
12336	return s.String()
12337}
12338
12339// SetName sets the Name field's value.
12340func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
12341	s.Name = &v
12342	return s
12343}
12344
12345// SetValueFrom sets the ValueFrom field's value.
12346func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
12347	s.ValueFrom = &v
12348	return s
12349}
12350
12351// A mount point for the data volumes in the container.
12352type AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails struct {
12353	_ struct{} `type:"structure"`
12354
12355	// The path on the container to mount the host volume at.
12356	ContainerPath *string `type:"string"`
12357
12358	// Whether the container has read-only access to the volume.
12359	ReadOnly *bool `type:"boolean"`
12360
12361	// The name of the volume to mount. Must match the name of a volume listed in
12362	// VolumeDetails for the task definition.
12363	SourceVolume *string `type:"string"`
12364}
12365
12366// String returns the string representation
12367func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) String() string {
12368	return awsutil.Prettify(s)
12369}
12370
12371// GoString returns the string representation
12372func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) GoString() string {
12373	return s.String()
12374}
12375
12376// SetContainerPath sets the ContainerPath field's value.
12377func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
12378	s.ContainerPath = &v
12379	return s
12380}
12381
12382// SetReadOnly sets the ReadOnly field's value.
12383func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
12384	s.ReadOnly = &v
12385	return s
12386}
12387
12388// SetSourceVolume sets the SourceVolume field's value.
12389func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetSourceVolume(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
12390	s.SourceVolume = &v
12391	return s
12392}
12393
12394// A port mapping for the container.
12395type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails struct {
12396	_ struct{} `type:"structure"`
12397
12398	// The port number on the container that is bound to the user-specified or automatically
12399	// assigned host port.
12400	ContainerPort *int64 `type:"integer"`
12401
12402	// The port number on the container instance to reserve for the container.
12403	HostPort *int64 `type:"integer"`
12404
12405	// The protocol used for the port mapping. The default is tcp.
12406	Protocol *string `type:"string"`
12407}
12408
12409// String returns the string representation
12410func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) String() string {
12411	return awsutil.Prettify(s)
12412}
12413
12414// GoString returns the string representation
12415func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) GoString() string {
12416	return s.String()
12417}
12418
12419// SetContainerPort sets the ContainerPort field's value.
12420func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetContainerPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
12421	s.ContainerPort = &v
12422	return s
12423}
12424
12425// SetHostPort sets the HostPort field's value.
12426func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetHostPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
12427	s.HostPort = &v
12428	return s
12429}
12430
12431// SetProtocol sets the Protocol field's value.
12432func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetProtocol(v string) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
12433	s.Protocol = &v
12434	return s
12435}
12436
12437// The private repository authentication credentials to use.
12438type AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails struct {
12439	_ struct{} `type:"structure"`
12440
12441	// The ARN of the secret that contains the private repository credentials.
12442	CredentialsParameter *string `type:"string"`
12443}
12444
12445// String returns the string representation
12446func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) String() string {
12447	return awsutil.Prettify(s)
12448}
12449
12450// GoString returns the string representation
12451func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) GoString() string {
12452	return s.String()
12453}
12454
12455// SetCredentialsParameter sets the CredentialsParameter field's value.
12456func (s *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) SetCredentialsParameter(v string) *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
12457	s.CredentialsParameter = &v
12458	return s
12459}
12460
12461// A resource to assign to a container.
12462type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails struct {
12463	_ struct{} `type:"structure"`
12464
12465	// The type of resource to assign to a container.
12466	Type *string `type:"string"`
12467
12468	// The value for the specified resource type.
12469	//
12470	// For GPU, the value is the number of physical GPUs the Amazon ECS container
12471	// agent reserves for the container.
12472	//
12473	// For InferenceAccelerator, the value should match the DeviceName attribute
12474	// of an entry in InferenceAccelerators.
12475	Value *string `type:"string"`
12476}
12477
12478// String returns the string representation
12479func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) String() string {
12480	return awsutil.Prettify(s)
12481}
12482
12483// GoString returns the string representation
12484func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) GoString() string {
12485	return s.String()
12486}
12487
12488// SetType sets the Type field's value.
12489func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
12490	s.Type = &v
12491	return s
12492}
12493
12494// SetValue sets the Value field's value.
12495func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
12496	s.Value = &v
12497	return s
12498}
12499
12500// A secret to pass to the container.
12501type AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails struct {
12502	_ struct{} `type:"structure"`
12503
12504	// The name of the secret.
12505	Name *string `type:"string"`
12506
12507	// The secret to expose to the container. The value is either the full ARN of
12508	// the Secrets Manager secret or the full ARN of the parameter in the Systems
12509	// Manager Parameter Store.
12510	ValueFrom *string `type:"string"`
12511}
12512
12513// String returns the string representation
12514func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) String() string {
12515	return awsutil.Prettify(s)
12516}
12517
12518// GoString returns the string representation
12519func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) GoString() string {
12520	return s.String()
12521}
12522
12523// SetName sets the Name field's value.
12524func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
12525	s.Name = &v
12526	return s
12527}
12528
12529// SetValueFrom sets the ValueFrom field's value.
12530func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
12531	s.ValueFrom = &v
12532	return s
12533}
12534
12535// A namespaced kernel parameter to set in the container.
12536type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails struct {
12537	_ struct{} `type:"structure"`
12538
12539	// The namespaced kernel parameter for which to set a value.
12540	Namespace *string `type:"string"`
12541
12542	// The value of the parameter.
12543	Value *string `type:"string"`
12544}
12545
12546// String returns the string representation
12547func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) String() string {
12548	return awsutil.Prettify(s)
12549}
12550
12551// GoString returns the string representation
12552func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) GoString() string {
12553	return s.String()
12554}
12555
12556// SetNamespace sets the Namespace field's value.
12557func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetNamespace(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
12558	s.Namespace = &v
12559	return s
12560}
12561
12562// SetValue sets the Value field's value.
12563func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
12564	s.Value = &v
12565	return s
12566}
12567
12568// A ulimit to set in the container.
12569type AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails struct {
12570	_ struct{} `type:"structure"`
12571
12572	// The hard limit for the ulimit type.
12573	HardLimit *int64 `type:"integer"`
12574
12575	// The type of the ulimit.
12576	Name *string `type:"string"`
12577
12578	// The soft limit for the ulimit type.
12579	SoftLimit *int64 `type:"integer"`
12580}
12581
12582// String returns the string representation
12583func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) String() string {
12584	return awsutil.Prettify(s)
12585}
12586
12587// GoString returns the string representation
12588func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) GoString() string {
12589	return s.String()
12590}
12591
12592// SetHardLimit sets the HardLimit field's value.
12593func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetHardLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
12594	s.HardLimit = &v
12595	return s
12596}
12597
12598// SetName sets the Name field's value.
12599func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
12600	s.Name = &v
12601	return s
12602}
12603
12604// SetSoftLimit sets the SoftLimit field's value.
12605func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetSoftLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
12606	s.SoftLimit = &v
12607	return s
12608}
12609
12610// A data volume to mount from another container.
12611type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails struct {
12612	_ struct{} `type:"structure"`
12613
12614	// Whether the container has read-only access to the volume.
12615	ReadOnly *bool `type:"boolean"`
12616
12617	// The name of another container within the same task definition from which
12618	// to mount volumes.
12619	SourceContainer *string `type:"string"`
12620}
12621
12622// String returns the string representation
12623func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) String() string {
12624	return awsutil.Prettify(s)
12625}
12626
12627// GoString returns the string representation
12628func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) GoString() string {
12629	return s.String()
12630}
12631
12632// SetReadOnly sets the ReadOnly field's value.
12633func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
12634	s.ReadOnly = &v
12635	return s
12636}
12637
12638// SetSourceContainer sets the SourceContainer field's value.
12639func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetSourceContainer(v string) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
12640	s.SourceContainer = &v
12641	return s
12642}
12643
12644// details about a task definition. A task definition describes the container
12645// and volume definitions of an Amazon Elastic Container Service task.
12646type AwsEcsTaskDefinitionDetails struct {
12647	_ struct{} `type:"structure"`
12648
12649	// The container definitions that describe the containers that make up the task.
12650	ContainerDefinitions []*AwsEcsTaskDefinitionContainerDefinitionsDetails `type:"list"`
12651
12652	// The number of CPU units used by the task.
12653	Cpu *string `type:"string"`
12654
12655	// The ARN of the task execution role that grants the container agent permission
12656	// to make API calls on behalf of the container user.
12657	ExecutionRoleArn *string `type:"string"`
12658
12659	// The name of a family that this task definition is registered to.
12660	Family *string `type:"string"`
12661
12662	// The Elastic Inference accelerators to use for the containers in the task.
12663	InferenceAccelerators []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails `type:"list"`
12664
12665	// The IPC resource namespace to use for the containers in the task.
12666	IpcMode *string `type:"string"`
12667
12668	// The amount (in MiB) of memory used by the task.
12669	Memory *string `type:"string"`
12670
12671	// The Docker networking mode to use for the containers in the task.
12672	NetworkMode *string `type:"string"`
12673
12674	// The process namespace to use for the containers in the task.
12675	PidMode *string `type:"string"`
12676
12677	// The placement constraint objects to use for tasks.
12678	PlacementConstraints []*AwsEcsTaskDefinitionPlacementConstraintsDetails `type:"list"`
12679
12680	// The configuration details for the App Mesh proxy.
12681	ProxyConfiguration *AwsEcsTaskDefinitionProxyConfigurationDetails `type:"structure"`
12682
12683	// The task launch types that the task definition was validated against.
12684	RequiresCompatibilities []*string `type:"list"`
12685
12686	// The short name or ARN of the IAM role that grants containers in the task
12687	// permission to call AWS API operations on your behalf.
12688	TaskRoleArn *string `type:"string"`
12689
12690	// The data volume definitions for the task.
12691	Volumes []*AwsEcsTaskDefinitionVolumesDetails `type:"list"`
12692}
12693
12694// String returns the string representation
12695func (s AwsEcsTaskDefinitionDetails) String() string {
12696	return awsutil.Prettify(s)
12697}
12698
12699// GoString returns the string representation
12700func (s AwsEcsTaskDefinitionDetails) GoString() string {
12701	return s.String()
12702}
12703
12704// SetContainerDefinitions sets the ContainerDefinitions field's value.
12705func (s *AwsEcsTaskDefinitionDetails) SetContainerDefinitions(v []*AwsEcsTaskDefinitionContainerDefinitionsDetails) *AwsEcsTaskDefinitionDetails {
12706	s.ContainerDefinitions = v
12707	return s
12708}
12709
12710// SetCpu sets the Cpu field's value.
12711func (s *AwsEcsTaskDefinitionDetails) SetCpu(v string) *AwsEcsTaskDefinitionDetails {
12712	s.Cpu = &v
12713	return s
12714}
12715
12716// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
12717func (s *AwsEcsTaskDefinitionDetails) SetExecutionRoleArn(v string) *AwsEcsTaskDefinitionDetails {
12718	s.ExecutionRoleArn = &v
12719	return s
12720}
12721
12722// SetFamily sets the Family field's value.
12723func (s *AwsEcsTaskDefinitionDetails) SetFamily(v string) *AwsEcsTaskDefinitionDetails {
12724	s.Family = &v
12725	return s
12726}
12727
12728// SetInferenceAccelerators sets the InferenceAccelerators field's value.
12729func (s *AwsEcsTaskDefinitionDetails) SetInferenceAccelerators(v []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails) *AwsEcsTaskDefinitionDetails {
12730	s.InferenceAccelerators = v
12731	return s
12732}
12733
12734// SetIpcMode sets the IpcMode field's value.
12735func (s *AwsEcsTaskDefinitionDetails) SetIpcMode(v string) *AwsEcsTaskDefinitionDetails {
12736	s.IpcMode = &v
12737	return s
12738}
12739
12740// SetMemory sets the Memory field's value.
12741func (s *AwsEcsTaskDefinitionDetails) SetMemory(v string) *AwsEcsTaskDefinitionDetails {
12742	s.Memory = &v
12743	return s
12744}
12745
12746// SetNetworkMode sets the NetworkMode field's value.
12747func (s *AwsEcsTaskDefinitionDetails) SetNetworkMode(v string) *AwsEcsTaskDefinitionDetails {
12748	s.NetworkMode = &v
12749	return s
12750}
12751
12752// SetPidMode sets the PidMode field's value.
12753func (s *AwsEcsTaskDefinitionDetails) SetPidMode(v string) *AwsEcsTaskDefinitionDetails {
12754	s.PidMode = &v
12755	return s
12756}
12757
12758// SetPlacementConstraints sets the PlacementConstraints field's value.
12759func (s *AwsEcsTaskDefinitionDetails) SetPlacementConstraints(v []*AwsEcsTaskDefinitionPlacementConstraintsDetails) *AwsEcsTaskDefinitionDetails {
12760	s.PlacementConstraints = v
12761	return s
12762}
12763
12764// SetProxyConfiguration sets the ProxyConfiguration field's value.
12765func (s *AwsEcsTaskDefinitionDetails) SetProxyConfiguration(v *AwsEcsTaskDefinitionProxyConfigurationDetails) *AwsEcsTaskDefinitionDetails {
12766	s.ProxyConfiguration = v
12767	return s
12768}
12769
12770// SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
12771func (s *AwsEcsTaskDefinitionDetails) SetRequiresCompatibilities(v []*string) *AwsEcsTaskDefinitionDetails {
12772	s.RequiresCompatibilities = v
12773	return s
12774}
12775
12776// SetTaskRoleArn sets the TaskRoleArn field's value.
12777func (s *AwsEcsTaskDefinitionDetails) SetTaskRoleArn(v string) *AwsEcsTaskDefinitionDetails {
12778	s.TaskRoleArn = &v
12779	return s
12780}
12781
12782// SetVolumes sets the Volumes field's value.
12783func (s *AwsEcsTaskDefinitionDetails) SetVolumes(v []*AwsEcsTaskDefinitionVolumesDetails) *AwsEcsTaskDefinitionDetails {
12784	s.Volumes = v
12785	return s
12786}
12787
12788// An Elastic Inference accelerator to use for the containers in the task.
12789type AwsEcsTaskDefinitionInferenceAcceleratorsDetails struct {
12790	_ struct{} `type:"structure"`
12791
12792	// The Elastic Inference accelerator device name.
12793	DeviceName *string `type:"string"`
12794
12795	// The Elastic Inference accelerator type to use.
12796	DeviceType *string `type:"string"`
12797}
12798
12799// String returns the string representation
12800func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) String() string {
12801	return awsutil.Prettify(s)
12802}
12803
12804// GoString returns the string representation
12805func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) GoString() string {
12806	return s.String()
12807}
12808
12809// SetDeviceName sets the DeviceName field's value.
12810func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceName(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
12811	s.DeviceName = &v
12812	return s
12813}
12814
12815// SetDeviceType sets the DeviceType field's value.
12816func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceType(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
12817	s.DeviceType = &v
12818	return s
12819}
12820
12821// A placement constraint object to use for tasks.
12822type AwsEcsTaskDefinitionPlacementConstraintsDetails struct {
12823	_ struct{} `type:"structure"`
12824
12825	// A cluster query language expression to apply to the constraint.
12826	Expression *string `type:"string"`
12827
12828	// The type of constraint.
12829	Type *string `type:"string"`
12830}
12831
12832// String returns the string representation
12833func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) String() string {
12834	return awsutil.Prettify(s)
12835}
12836
12837// GoString returns the string representation
12838func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) GoString() string {
12839	return s.String()
12840}
12841
12842// SetExpression sets the Expression field's value.
12843func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetExpression(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
12844	s.Expression = &v
12845	return s
12846}
12847
12848// SetType sets the Type field's value.
12849func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetType(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
12850	s.Type = &v
12851	return s
12852}
12853
12854// The configuration details for the App Mesh proxy.
12855type AwsEcsTaskDefinitionProxyConfigurationDetails struct {
12856	_ struct{} `type:"structure"`
12857
12858	// The name of the container that will serve as the App Mesh proxy.
12859	ContainerName *string `type:"string"`
12860
12861	// The set of network configuration parameters to provide to the Container Network
12862	// Interface (CNI) plugin, specified as key-value pairs.
12863	ProxyConfigurationProperties []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails `type:"list"`
12864
12865	// The proxy type.
12866	Type *string `type:"string"`
12867}
12868
12869// String returns the string representation
12870func (s AwsEcsTaskDefinitionProxyConfigurationDetails) String() string {
12871	return awsutil.Prettify(s)
12872}
12873
12874// GoString returns the string representation
12875func (s AwsEcsTaskDefinitionProxyConfigurationDetails) GoString() string {
12876	return s.String()
12877}
12878
12879// SetContainerName sets the ContainerName field's value.
12880func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetContainerName(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
12881	s.ContainerName = &v
12882	return s
12883}
12884
12885// SetProxyConfigurationProperties sets the ProxyConfigurationProperties field's value.
12886func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetProxyConfigurationProperties(v []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) *AwsEcsTaskDefinitionProxyConfigurationDetails {
12887	s.ProxyConfigurationProperties = v
12888	return s
12889}
12890
12891// SetType sets the Type field's value.
12892func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
12893	s.Type = &v
12894	return s
12895}
12896
12897// A network configuration parameter to provide to the Container Network Interface
12898// (CNI) plugin.
12899type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails struct {
12900	_ struct{} `type:"structure"`
12901
12902	// The name of the property.
12903	Name *string `type:"string"`
12904
12905	// The value of the property.
12906	Value *string `type:"string"`
12907}
12908
12909// String returns the string representation
12910func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) String() string {
12911	return awsutil.Prettify(s)
12912}
12913
12914// GoString returns the string representation
12915func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) GoString() string {
12916	return s.String()
12917}
12918
12919// SetName sets the Name field's value.
12920func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetName(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
12921	s.Name = &v
12922	return s
12923}
12924
12925// SetValue sets the Value field's value.
12926func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetValue(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
12927	s.Value = &v
12928	return s
12929}
12930
12931// A data volume to mount from another container.
12932type AwsEcsTaskDefinitionVolumesDetails struct {
12933	_ struct{} `type:"structure"`
12934
12935	// Information about a Docker volume.
12936	DockerVolumeConfiguration *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails `type:"structure"`
12937
12938	// Information about the Amazon Elastic File System file system that is used
12939	// for task storage.
12940	EfsVolumeConfiguration *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails `type:"structure"`
12941
12942	// Information about a bind mount host volume.
12943	Host *AwsEcsTaskDefinitionVolumesHostDetails `type:"structure"`
12944
12945	// The name of the data volume.
12946	Name *string `type:"string"`
12947}
12948
12949// String returns the string representation
12950func (s AwsEcsTaskDefinitionVolumesDetails) String() string {
12951	return awsutil.Prettify(s)
12952}
12953
12954// GoString returns the string representation
12955func (s AwsEcsTaskDefinitionVolumesDetails) GoString() string {
12956	return s.String()
12957}
12958
12959// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
12960func (s *AwsEcsTaskDefinitionVolumesDetails) SetDockerVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
12961	s.DockerVolumeConfiguration = v
12962	return s
12963}
12964
12965// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.
12966func (s *AwsEcsTaskDefinitionVolumesDetails) SetEfsVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
12967	s.EfsVolumeConfiguration = v
12968	return s
12969}
12970
12971// SetHost sets the Host field's value.
12972func (s *AwsEcsTaskDefinitionVolumesDetails) SetHost(v *AwsEcsTaskDefinitionVolumesHostDetails) *AwsEcsTaskDefinitionVolumesDetails {
12973	s.Host = v
12974	return s
12975}
12976
12977// SetName sets the Name field's value.
12978func (s *AwsEcsTaskDefinitionVolumesDetails) SetName(v string) *AwsEcsTaskDefinitionVolumesDetails {
12979	s.Name = &v
12980	return s
12981}
12982
12983// Information about a Docker volume.
12984type AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails struct {
12985	_ struct{} `type:"structure"`
12986
12987	// Whether to create the Docker volume automatically if it does not already
12988	// exist.
12989	Autoprovision *bool `type:"boolean"`
12990
12991	// The Docker volume driver to use.
12992	Driver *string `type:"string"`
12993
12994	// A map of Docker driver-specific options that are passed through.
12995	DriverOpts map[string]*string `type:"map"`
12996
12997	// Custom metadata to add to the Docker volume.
12998	Labels map[string]*string `type:"map"`
12999
13000	// The scope for the Docker volume that determines its lifecycle. Docker volumes
13001	// that are scoped to a task are provisioned automatically when the task starts
13002	// and destroyed when the task stops. Docker volumes that are shared persist
13003	// after the task stops.
13004	Scope *string `type:"string"`
13005}
13006
13007// String returns the string representation
13008func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) String() string {
13009	return awsutil.Prettify(s)
13010}
13011
13012// GoString returns the string representation
13013func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) GoString() string {
13014	return s.String()
13015}
13016
13017// SetAutoprovision sets the Autoprovision field's value.
13018func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetAutoprovision(v bool) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13019	s.Autoprovision = &v
13020	return s
13021}
13022
13023// SetDriver sets the Driver field's value.
13024func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriver(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13025	s.Driver = &v
13026	return s
13027}
13028
13029// SetDriverOpts sets the DriverOpts field's value.
13030func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriverOpts(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13031	s.DriverOpts = v
13032	return s
13033}
13034
13035// SetLabels sets the Labels field's value.
13036func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetLabels(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13037	s.Labels = v
13038	return s
13039}
13040
13041// SetScope sets the Scope field's value.
13042func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetScope(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13043	s.Scope = &v
13044	return s
13045}
13046
13047type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails struct {
13048	_ struct{} `type:"structure"`
13049
13050	// The Amazon EFS access point identifier to use.
13051	AccessPointId *string `type:"string"`
13052
13053	// Whether to use the Amazon ECS task IAM role defined in a task definition
13054	// when mounting the Amazon EFS file system.
13055	Iam *string `type:"string"`
13056}
13057
13058// String returns the string representation
13059func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) String() string {
13060	return awsutil.Prettify(s)
13061}
13062
13063// GoString returns the string representation
13064func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) GoString() string {
13065	return s.String()
13066}
13067
13068// SetAccessPointId sets the AccessPointId field's value.
13069func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetAccessPointId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
13070	s.AccessPointId = &v
13071	return s
13072}
13073
13074// SetIam sets the Iam field's value.
13075func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetIam(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
13076	s.Iam = &v
13077	return s
13078}
13079
13080// Information about the Amazon Elastic File System file system that is used
13081// for task storage.
13082type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails struct {
13083	_ struct{} `type:"structure"`
13084
13085	// The authorization configuration details for the Amazon EFS file system.
13086	AuthorizationConfig *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails `type:"structure"`
13087
13088	// The Amazon EFS file system identifier to use.
13089	FilesystemId *string `type:"string"`
13090
13091	// The directory within the Amazon EFS file system to mount as the root directory
13092	// inside the host.
13093	RootDirectory *string `type:"string"`
13094
13095	// Whether to enable encryption for Amazon EFS data in transit between the Amazon
13096	// ECS host and the Amazon EFS server.
13097	TransitEncryption *string `type:"string"`
13098
13099	// The port to use when sending encrypted data between the Amazon ECS host and
13100	// the Amazon EFS server.
13101	TransitEncryptionPort *int64 `type:"integer"`
13102}
13103
13104// String returns the string representation
13105func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) String() string {
13106	return awsutil.Prettify(s)
13107}
13108
13109// GoString returns the string representation
13110func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) GoString() string {
13111	return s.String()
13112}
13113
13114// SetAuthorizationConfig sets the AuthorizationConfig field's value.
13115func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetAuthorizationConfig(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13116	s.AuthorizationConfig = v
13117	return s
13118}
13119
13120// SetFilesystemId sets the FilesystemId field's value.
13121func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetFilesystemId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13122	s.FilesystemId = &v
13123	return s
13124}
13125
13126// SetRootDirectory sets the RootDirectory field's value.
13127func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetRootDirectory(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13128	s.RootDirectory = &v
13129	return s
13130}
13131
13132// SetTransitEncryption sets the TransitEncryption field's value.
13133func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryption(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13134	s.TransitEncryption = &v
13135	return s
13136}
13137
13138// SetTransitEncryptionPort sets the TransitEncryptionPort field's value.
13139func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryptionPort(v int64) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13140	s.TransitEncryptionPort = &v
13141	return s
13142}
13143
13144// Information about a bind mount host volume.
13145type AwsEcsTaskDefinitionVolumesHostDetails struct {
13146	_ struct{} `type:"structure"`
13147
13148	// The path on the host container instance that is presented to the container.
13149	SourcePath *string `type:"string"`
13150}
13151
13152// String returns the string representation
13153func (s AwsEcsTaskDefinitionVolumesHostDetails) String() string {
13154	return awsutil.Prettify(s)
13155}
13156
13157// GoString returns the string representation
13158func (s AwsEcsTaskDefinitionVolumesHostDetails) GoString() string {
13159	return s.String()
13160}
13161
13162// SetSourcePath sets the SourcePath field's value.
13163func (s *AwsEcsTaskDefinitionVolumesHostDetails) SetSourcePath(v string) *AwsEcsTaskDefinitionVolumesHostDetails {
13164	s.SourcePath = &v
13165	return s
13166}
13167
13168// Contains details about an Elastic Beanstalk environment.
13169type AwsElasticBeanstalkEnvironmentDetails struct {
13170	_ struct{} `type:"structure"`
13171
13172	// The name of the application that is associated with the environment.
13173	ApplicationName *string `type:"string"`
13174
13175	// The URL to the CNAME for this environment.
13176	Cname *string `type:"string"`
13177
13178	// The creation date for this environment.
13179	DateCreated *string `type:"string"`
13180
13181	// The date when this environment was last modified.
13182	DateUpdated *string `type:"string"`
13183
13184	// A description of the environment.
13185	Description *string `type:"string"`
13186
13187	// For load-balanced, autoscaling environments, the URL to the load balancer.
13188	// For single-instance environments, the IP address of the instance.
13189	EndpointUrl *string `type:"string"`
13190
13191	// The ARN of the environment.
13192	EnvironmentArn *string `type:"string"`
13193
13194	// The identifier of the environment.
13195	EnvironmentId *string `type:"string"`
13196
13197	// Links to other environments in the same group.
13198	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
13199
13200	// The name of the environment.
13201	EnvironmentName *string `type:"string"`
13202
13203	// The configuration setting for the environment.
13204	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
13205
13206	// The ARN of the platform version for the environment.
13207	PlatformArn *string `type:"string"`
13208
13209	// The name of the solution stack that is deployed with the environment.
13210	SolutionStackName *string `type:"string"`
13211
13212	// The current operational status of the environment.
13213	Status *string `type:"string"`
13214
13215	// The tier of the environment.
13216	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
13217
13218	// The application version of the environment.
13219	VersionLabel *string `type:"string"`
13220}
13221
13222// String returns the string representation
13223func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
13224	return awsutil.Prettify(s)
13225}
13226
13227// GoString returns the string representation
13228func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
13229	return s.String()
13230}
13231
13232// SetApplicationName sets the ApplicationName field's value.
13233func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
13234	s.ApplicationName = &v
13235	return s
13236}
13237
13238// SetCname sets the Cname field's value.
13239func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
13240	s.Cname = &v
13241	return s
13242}
13243
13244// SetDateCreated sets the DateCreated field's value.
13245func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
13246	s.DateCreated = &v
13247	return s
13248}
13249
13250// SetDateUpdated sets the DateUpdated field's value.
13251func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
13252	s.DateUpdated = &v
13253	return s
13254}
13255
13256// SetDescription sets the Description field's value.
13257func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
13258	s.Description = &v
13259	return s
13260}
13261
13262// SetEndpointUrl sets the EndpointUrl field's value.
13263func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
13264	s.EndpointUrl = &v
13265	return s
13266}
13267
13268// SetEnvironmentArn sets the EnvironmentArn field's value.
13269func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
13270	s.EnvironmentArn = &v
13271	return s
13272}
13273
13274// SetEnvironmentId sets the EnvironmentId field's value.
13275func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
13276	s.EnvironmentId = &v
13277	return s
13278}
13279
13280// SetEnvironmentLinks sets the EnvironmentLinks field's value.
13281func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
13282	s.EnvironmentLinks = v
13283	return s
13284}
13285
13286// SetEnvironmentName sets the EnvironmentName field's value.
13287func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
13288	s.EnvironmentName = &v
13289	return s
13290}
13291
13292// SetOptionSettings sets the OptionSettings field's value.
13293func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
13294	s.OptionSettings = v
13295	return s
13296}
13297
13298// SetPlatformArn sets the PlatformArn field's value.
13299func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
13300	s.PlatformArn = &v
13301	return s
13302}
13303
13304// SetSolutionStackName sets the SolutionStackName field's value.
13305func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
13306	s.SolutionStackName = &v
13307	return s
13308}
13309
13310// SetStatus sets the Status field's value.
13311func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
13312	s.Status = &v
13313	return s
13314}
13315
13316// SetTier sets the Tier field's value.
13317func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
13318	s.Tier = v
13319	return s
13320}
13321
13322// SetVersionLabel sets the VersionLabel field's value.
13323func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
13324	s.VersionLabel = &v
13325	return s
13326}
13327
13328// Contains information about a link to another environment that is in the same
13329// group.
13330type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
13331	_ struct{} `type:"structure"`
13332
13333	// The name of the linked environment.
13334	EnvironmentName *string `type:"string"`
13335
13336	// The name of the environment link.
13337	LinkName *string `type:"string"`
13338}
13339
13340// String returns the string representation
13341func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
13342	return awsutil.Prettify(s)
13343}
13344
13345// GoString returns the string representation
13346func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
13347	return s.String()
13348}
13349
13350// SetEnvironmentName sets the EnvironmentName field's value.
13351func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
13352	s.EnvironmentName = &v
13353	return s
13354}
13355
13356// SetLinkName sets the LinkName field's value.
13357func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
13358	s.LinkName = &v
13359	return s
13360}
13361
13362// A configuration option setting for the environment.
13363type AwsElasticBeanstalkEnvironmentOptionSetting struct {
13364	_ struct{} `type:"structure"`
13365
13366	// The type of resource that the configuration option is associated with.
13367	Namespace *string `type:"string"`
13368
13369	// The name of the option.
13370	OptionName *string `type:"string"`
13371
13372	// The name of the resource.
13373	ResourceName *string `type:"string"`
13374
13375	// The value of the configuration setting.
13376	Value *string `type:"string"`
13377}
13378
13379// String returns the string representation
13380func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
13381	return awsutil.Prettify(s)
13382}
13383
13384// GoString returns the string representation
13385func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
13386	return s.String()
13387}
13388
13389// SetNamespace sets the Namespace field's value.
13390func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
13391	s.Namespace = &v
13392	return s
13393}
13394
13395// SetOptionName sets the OptionName field's value.
13396func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
13397	s.OptionName = &v
13398	return s
13399}
13400
13401// SetResourceName sets the ResourceName field's value.
13402func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
13403	s.ResourceName = &v
13404	return s
13405}
13406
13407// SetValue sets the Value field's value.
13408func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
13409	s.Value = &v
13410	return s
13411}
13412
13413// Contains information about the tier of the environment.
13414type AwsElasticBeanstalkEnvironmentTier struct {
13415	_ struct{} `type:"structure"`
13416
13417	// The name of the environment tier.
13418	Name *string `type:"string"`
13419
13420	// The type of environment tier.
13421	Type *string `type:"string"`
13422
13423	// The version of the environment tier.
13424	Version *string `type:"string"`
13425}
13426
13427// String returns the string representation
13428func (s AwsElasticBeanstalkEnvironmentTier) String() string {
13429	return awsutil.Prettify(s)
13430}
13431
13432// GoString returns the string representation
13433func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
13434	return s.String()
13435}
13436
13437// SetName sets the Name field's value.
13438func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
13439	s.Name = &v
13440	return s
13441}
13442
13443// SetType sets the Type field's value.
13444func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
13445	s.Type = &v
13446	return s
13447}
13448
13449// SetVersion sets the Version field's value.
13450func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
13451	s.Version = &v
13452	return s
13453}
13454
13455// Information about an Elasticsearch domain.
13456type AwsElasticsearchDomainDetails struct {
13457	_ struct{} `type:"structure"`
13458
13459	// IAM policy document specifying the access policies for the new Amazon ES
13460	// domain.
13461	AccessPolicies *string `type:"string"`
13462
13463	// Additional options for the domain endpoint.
13464	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
13465
13466	// Unique identifier for an Amazon ES domain.
13467	DomainId *string `type:"string"`
13468
13469	// Name of an Amazon ES domain.
13470	//
13471	// Domain names are unique across all domains owned by the same account within
13472	// an AWS Region.
13473	//
13474	// Domain names must start with a lowercase letter and must be between 3 and
13475	// 28 characters.
13476	//
13477	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
13478	DomainName *string `type:"string"`
13479
13480	// Elasticsearch version.
13481	ElasticsearchVersion *string `type:"string"`
13482
13483	// Details about the configuration for encryption at rest.
13484	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
13485
13486	// Domain-specific endpoint used to submit index, search, and data upload requests
13487	// to an Amazon ES domain.
13488	//
13489	// The endpoint is a service URL.
13490	Endpoint *string `type:"string"`
13491
13492	// The key-value pair that exists if the Amazon ES domain uses VPC endpoints.
13493	Endpoints map[string]*string `type:"map"`
13494
13495	// Configures the CloudWatch Logs to publish for the Elasticsearch domain.
13496	LogPublishingOptions *AwsElasticsearchDomainLogPublishingOptions `type:"structure"`
13497
13498	// Details about the configuration for node-to-node encryption.
13499	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
13500
13501	// Information about the status of a domain relative to the latest service software.
13502	ServiceSoftwareOptions *AwsElasticsearchDomainServiceSoftwareOptions `type:"structure"`
13503
13504	// Information that Amazon ES derives based on VPCOptions for the domain.
13505	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
13506}
13507
13508// String returns the string representation
13509func (s AwsElasticsearchDomainDetails) String() string {
13510	return awsutil.Prettify(s)
13511}
13512
13513// GoString returns the string representation
13514func (s AwsElasticsearchDomainDetails) GoString() string {
13515	return s.String()
13516}
13517
13518// SetAccessPolicies sets the AccessPolicies field's value.
13519func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
13520	s.AccessPolicies = &v
13521	return s
13522}
13523
13524// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
13525func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
13526	s.DomainEndpointOptions = v
13527	return s
13528}
13529
13530// SetDomainId sets the DomainId field's value.
13531func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
13532	s.DomainId = &v
13533	return s
13534}
13535
13536// SetDomainName sets the DomainName field's value.
13537func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
13538	s.DomainName = &v
13539	return s
13540}
13541
13542// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
13543func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
13544	s.ElasticsearchVersion = &v
13545	return s
13546}
13547
13548// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
13549func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
13550	s.EncryptionAtRestOptions = v
13551	return s
13552}
13553
13554// SetEndpoint sets the Endpoint field's value.
13555func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
13556	s.Endpoint = &v
13557	return s
13558}
13559
13560// SetEndpoints sets the Endpoints field's value.
13561func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
13562	s.Endpoints = v
13563	return s
13564}
13565
13566// SetLogPublishingOptions sets the LogPublishingOptions field's value.
13567func (s *AwsElasticsearchDomainDetails) SetLogPublishingOptions(v *AwsElasticsearchDomainLogPublishingOptions) *AwsElasticsearchDomainDetails {
13568	s.LogPublishingOptions = v
13569	return s
13570}
13571
13572// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
13573func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
13574	s.NodeToNodeEncryptionOptions = v
13575	return s
13576}
13577
13578// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
13579func (s *AwsElasticsearchDomainDetails) SetServiceSoftwareOptions(v *AwsElasticsearchDomainServiceSoftwareOptions) *AwsElasticsearchDomainDetails {
13580	s.ServiceSoftwareOptions = v
13581	return s
13582}
13583
13584// SetVPCOptions sets the VPCOptions field's value.
13585func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
13586	s.VPCOptions = v
13587	return s
13588}
13589
13590// Additional options for the domain endpoint, such as whether to require HTTPS
13591// for all traffic.
13592type AwsElasticsearchDomainDomainEndpointOptions struct {
13593	_ struct{} `type:"structure"`
13594
13595	// Whether to require that all traffic to the domain arrive over HTTPS.
13596	EnforceHTTPS *bool `type:"boolean"`
13597
13598	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
13599	// domain.
13600	//
13601	// Valid values:
13602	//
13603	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
13604	//
13605	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
13606	TLSSecurityPolicy *string `type:"string"`
13607}
13608
13609// String returns the string representation
13610func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
13611	return awsutil.Prettify(s)
13612}
13613
13614// GoString returns the string representation
13615func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
13616	return s.String()
13617}
13618
13619// SetEnforceHTTPS sets the EnforceHTTPS field's value.
13620func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
13621	s.EnforceHTTPS = &v
13622	return s
13623}
13624
13625// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
13626func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
13627	s.TLSSecurityPolicy = &v
13628	return s
13629}
13630
13631// Details about the configuration for encryption at rest.
13632type AwsElasticsearchDomainEncryptionAtRestOptions struct {
13633	_ struct{} `type:"structure"`
13634
13635	// Whether encryption at rest is enabled.
13636	Enabled *bool `type:"boolean"`
13637
13638	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
13639	KmsKeyId *string `type:"string"`
13640}
13641
13642// String returns the string representation
13643func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
13644	return awsutil.Prettify(s)
13645}
13646
13647// GoString returns the string representation
13648func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
13649	return s.String()
13650}
13651
13652// SetEnabled sets the Enabled field's value.
13653func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
13654	s.Enabled = &v
13655	return s
13656}
13657
13658// SetKmsKeyId sets the KmsKeyId field's value.
13659func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
13660	s.KmsKeyId = &v
13661	return s
13662}
13663
13664// configures the CloudWatch Logs to publish for the Elasticsearch domain.
13665type AwsElasticsearchDomainLogPublishingOptions struct {
13666	_ struct{} `type:"structure"`
13667
13668	// Configures the Elasticsearch index logs publishing.
13669	IndexSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
13670
13671	// Configures the Elasticsearch search slow log publishing.
13672	SearchSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
13673}
13674
13675// String returns the string representation
13676func (s AwsElasticsearchDomainLogPublishingOptions) String() string {
13677	return awsutil.Prettify(s)
13678}
13679
13680// GoString returns the string representation
13681func (s AwsElasticsearchDomainLogPublishingOptions) GoString() string {
13682	return s.String()
13683}
13684
13685// SetIndexSlowLogs sets the IndexSlowLogs field's value.
13686func (s *AwsElasticsearchDomainLogPublishingOptions) SetIndexSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
13687	s.IndexSlowLogs = v
13688	return s
13689}
13690
13691// SetSearchSlowLogs sets the SearchSlowLogs field's value.
13692func (s *AwsElasticsearchDomainLogPublishingOptions) SetSearchSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
13693	s.SearchSlowLogs = v
13694	return s
13695}
13696
13697// The log configuration.
13698type AwsElasticsearchDomainLogPublishingOptionsLogConfig struct {
13699	_ struct{} `type:"structure"`
13700
13701	// The ARN of the CloudWatch Logs group to publish the logs to.
13702	CloudWatchLogsLogGroupArn *string `type:"string"`
13703
13704	// Whether the log publishing is enabled.
13705	Enabled *bool `type:"boolean"`
13706}
13707
13708// String returns the string representation
13709func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) String() string {
13710	return awsutil.Prettify(s)
13711}
13712
13713// GoString returns the string representation
13714func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) GoString() string {
13715	return s.String()
13716}
13717
13718// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
13719func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetCloudWatchLogsLogGroupArn(v string) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
13720	s.CloudWatchLogsLogGroupArn = &v
13721	return s
13722}
13723
13724// SetEnabled sets the Enabled field's value.
13725func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetEnabled(v bool) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
13726	s.Enabled = &v
13727	return s
13728}
13729
13730// Details about the configuration for node-to-node encryption.
13731type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
13732	_ struct{} `type:"structure"`
13733
13734	// Whether node-to-node encryption is enabled.
13735	Enabled *bool `type:"boolean"`
13736}
13737
13738// String returns the string representation
13739func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
13740	return awsutil.Prettify(s)
13741}
13742
13743// GoString returns the string representation
13744func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
13745	return s.String()
13746}
13747
13748// SetEnabled sets the Enabled field's value.
13749func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
13750	s.Enabled = &v
13751	return s
13752}
13753
13754// Information about the state of the domain relative to the latest service
13755// software.
13756type AwsElasticsearchDomainServiceSoftwareOptions struct {
13757	_ struct{} `type:"structure"`
13758
13759	// The epoch time when the deployment window closes for required updates. After
13760	// this time, Amazon Elasticsearch Service schedules the software upgrade automatically.
13761	AutomatedUpdateDate *string `type:"string"`
13762
13763	// Whether a request to update the domain can be canceled.
13764	Cancellable *bool `type:"boolean"`
13765
13766	// The version of the service software that is currently installed on the domain.
13767	CurrentVersion *string `type:"string"`
13768
13769	// A more detailed description of the service software status.
13770	Description *string `type:"string"`
13771
13772	// The most recent version of the service software.
13773	NewVersion *string `type:"string"`
13774
13775	// Whether a service software update is available for the domain.
13776	UpdateAvailable *bool `type:"boolean"`
13777
13778	// The status of the service software update.
13779	UpdateStatus *string `type:"string"`
13780}
13781
13782// String returns the string representation
13783func (s AwsElasticsearchDomainServiceSoftwareOptions) String() string {
13784	return awsutil.Prettify(s)
13785}
13786
13787// GoString returns the string representation
13788func (s AwsElasticsearchDomainServiceSoftwareOptions) GoString() string {
13789	return s.String()
13790}
13791
13792// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
13793func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetAutomatedUpdateDate(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
13794	s.AutomatedUpdateDate = &v
13795	return s
13796}
13797
13798// SetCancellable sets the Cancellable field's value.
13799func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCancellable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
13800	s.Cancellable = &v
13801	return s
13802}
13803
13804// SetCurrentVersion sets the CurrentVersion field's value.
13805func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCurrentVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
13806	s.CurrentVersion = &v
13807	return s
13808}
13809
13810// SetDescription sets the Description field's value.
13811func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetDescription(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
13812	s.Description = &v
13813	return s
13814}
13815
13816// SetNewVersion sets the NewVersion field's value.
13817func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetNewVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
13818	s.NewVersion = &v
13819	return s
13820}
13821
13822// SetUpdateAvailable sets the UpdateAvailable field's value.
13823func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateAvailable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
13824	s.UpdateAvailable = &v
13825	return s
13826}
13827
13828// SetUpdateStatus sets the UpdateStatus field's value.
13829func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateStatus(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
13830	s.UpdateStatus = &v
13831	return s
13832}
13833
13834// Information that Amazon ES derives based on VPCOptions for the domain.
13835type AwsElasticsearchDomainVPCOptions struct {
13836	_ struct{} `type:"structure"`
13837
13838	// The list of Availability Zones associated with the VPC subnets.
13839	AvailabilityZones []*string `type:"list"`
13840
13841	// The list of security group IDs associated with the VPC endpoints for the
13842	// domain.
13843	SecurityGroupIds []*string `type:"list"`
13844
13845	// A list of subnet IDs associated with the VPC endpoints for the domain.
13846	SubnetIds []*string `type:"list"`
13847
13848	// ID for the VPC.
13849	VPCId *string `type:"string"`
13850}
13851
13852// String returns the string representation
13853func (s AwsElasticsearchDomainVPCOptions) String() string {
13854	return awsutil.Prettify(s)
13855}
13856
13857// GoString returns the string representation
13858func (s AwsElasticsearchDomainVPCOptions) GoString() string {
13859	return s.String()
13860}
13861
13862// SetAvailabilityZones sets the AvailabilityZones field's value.
13863func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
13864	s.AvailabilityZones = v
13865	return s
13866}
13867
13868// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13869func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
13870	s.SecurityGroupIds = v
13871	return s
13872}
13873
13874// SetSubnetIds sets the SubnetIds field's value.
13875func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
13876	s.SubnetIds = v
13877	return s
13878}
13879
13880// SetVPCId sets the VPCId field's value.
13881func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
13882	s.VPCId = &v
13883	return s
13884}
13885
13886// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
13887type AwsElbAppCookieStickinessPolicy struct {
13888	_ struct{} `type:"structure"`
13889
13890	// The name of the application cookie used for stickiness.
13891	CookieName *string `type:"string"`
13892
13893	// The mnemonic name for the policy being created. The name must be unique within
13894	// the set of policies for the load balancer.
13895	PolicyName *string `type:"string"`
13896}
13897
13898// String returns the string representation
13899func (s AwsElbAppCookieStickinessPolicy) String() string {
13900	return awsutil.Prettify(s)
13901}
13902
13903// GoString returns the string representation
13904func (s AwsElbAppCookieStickinessPolicy) GoString() string {
13905	return s.String()
13906}
13907
13908// SetCookieName sets the CookieName field's value.
13909func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
13910	s.CookieName = &v
13911	return s
13912}
13913
13914// SetPolicyName sets the PolicyName field's value.
13915func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
13916	s.PolicyName = &v
13917	return s
13918}
13919
13920// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
13921type AwsElbLbCookieStickinessPolicy struct {
13922	_ struct{} `type:"structure"`
13923
13924	// The amount of time, in seconds, after which the cookie is considered stale.
13925	// If an expiration period is not specified, the stickiness session lasts for
13926	// the duration of the browser session.
13927	CookieExpirationPeriod *int64 `type:"long"`
13928
13929	// The name of the policy. The name must be unique within the set of policies
13930	// for the load balancer.
13931	PolicyName *string `type:"string"`
13932}
13933
13934// String returns the string representation
13935func (s AwsElbLbCookieStickinessPolicy) String() string {
13936	return awsutil.Prettify(s)
13937}
13938
13939// GoString returns the string representation
13940func (s AwsElbLbCookieStickinessPolicy) GoString() string {
13941	return s.String()
13942}
13943
13944// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
13945func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
13946	s.CookieExpirationPeriod = &v
13947	return s
13948}
13949
13950// SetPolicyName sets the PolicyName field's value.
13951func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
13952	s.PolicyName = &v
13953	return s
13954}
13955
13956// Contains information about the access log configuration for the load balancer.
13957type AwsElbLoadBalancerAccessLog struct {
13958	_ struct{} `type:"structure"`
13959
13960	// The interval in minutes for publishing the access logs.
13961	//
13962	// You can publish access logs either every 5 minutes or every 60 minutes.
13963	EmitInterval *int64 `type:"integer"`
13964
13965	// Indicates whether access logs are enabled for the load balancer.
13966	Enabled *bool `type:"boolean"`
13967
13968	// The name of the S3 bucket where the access logs are stored.
13969	S3BucketName *string `type:"string"`
13970
13971	// The logical hierarchy that was created for the S3 bucket.
13972	//
13973	// If a prefix is not provided, the log is placed at the root level of the bucket.
13974	S3BucketPrefix *string `type:"string"`
13975}
13976
13977// String returns the string representation
13978func (s AwsElbLoadBalancerAccessLog) String() string {
13979	return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation
13983func (s AwsElbLoadBalancerAccessLog) GoString() string {
13984	return s.String()
13985}
13986
13987// SetEmitInterval sets the EmitInterval field's value.
13988func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
13989	s.EmitInterval = &v
13990	return s
13991}
13992
13993// SetEnabled sets the Enabled field's value.
13994func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
13995	s.Enabled = &v
13996	return s
13997}
13998
13999// SetS3BucketName sets the S3BucketName field's value.
14000func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
14001	s.S3BucketName = &v
14002	return s
14003}
14004
14005// SetS3BucketPrefix sets the S3BucketPrefix field's value.
14006func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
14007	s.S3BucketPrefix = &v
14008	return s
14009}
14010
14011// Contains attributes for the load balancer.
14012type AwsElbLoadBalancerAttributes struct {
14013	_ struct{} `type:"structure"`
14014
14015	// Information about the access log configuration for the load balancer.
14016	//
14017	// If the access log is enabled, the load balancer captures detailed information
14018	// about all requests. It delivers the information to a specified S3 bucket.
14019	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
14020
14021	// Information about the connection draining configuration for the load balancer.
14022	//
14023	// If connection draining is enabled, the load balancer allows existing requests
14024	// to complete before it shifts traffic away from a deregistered or unhealthy
14025	// instance.
14026	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
14027
14028	// Connection settings for the load balancer.
14029	//
14030	// If an idle timeout is configured, the load balancer allows connections to
14031	// remain idle for the specified duration. When a connection is idle, no data
14032	// is sent over the connection.
14033	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
14034
14035	// Cross-zone load balancing settings for the load balancer.
14036	//
14037	// If cross-zone load balancing is enabled, the load balancer routes the request
14038	// traffic evenly across all instances regardless of the Availability Zones.
14039	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
14040}
14041
14042// String returns the string representation
14043func (s AwsElbLoadBalancerAttributes) String() string {
14044	return awsutil.Prettify(s)
14045}
14046
14047// GoString returns the string representation
14048func (s AwsElbLoadBalancerAttributes) GoString() string {
14049	return s.String()
14050}
14051
14052// SetAccessLog sets the AccessLog field's value.
14053func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
14054	s.AccessLog = v
14055	return s
14056}
14057
14058// SetConnectionDraining sets the ConnectionDraining field's value.
14059func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
14060	s.ConnectionDraining = v
14061	return s
14062}
14063
14064// SetConnectionSettings sets the ConnectionSettings field's value.
14065func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
14066	s.ConnectionSettings = v
14067	return s
14068}
14069
14070// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
14071func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
14072	s.CrossZoneLoadBalancing = v
14073	return s
14074}
14075
14076// Provides information about the configuration of an EC2 instance for the load
14077// balancer.
14078type AwsElbLoadBalancerBackendServerDescription struct {
14079	_ struct{} `type:"structure"`
14080
14081	// The port on which the EC2 instance is listening.
14082	InstancePort *int64 `type:"integer"`
14083
14084	// The names of the policies that are enabled for the EC2 instance.
14085	PolicyNames []*string `type:"list"`
14086}
14087
14088// String returns the string representation
14089func (s AwsElbLoadBalancerBackendServerDescription) String() string {
14090	return awsutil.Prettify(s)
14091}
14092
14093// GoString returns the string representation
14094func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
14095	return s.String()
14096}
14097
14098// SetInstancePort sets the InstancePort field's value.
14099func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
14100	s.InstancePort = &v
14101	return s
14102}
14103
14104// SetPolicyNames sets the PolicyNames field's value.
14105func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
14106	s.PolicyNames = v
14107	return s
14108}
14109
14110// Contains information about the connection draining configuration for the
14111// load balancer.
14112type AwsElbLoadBalancerConnectionDraining struct {
14113	_ struct{} `type:"structure"`
14114
14115	// Indicates whether connection draining is enabled for the load balancer.
14116	Enabled *bool `type:"boolean"`
14117
14118	// The maximum time, in seconds, to keep the existing connections open before
14119	// deregistering the instances.
14120	Timeout *int64 `type:"integer"`
14121}
14122
14123// String returns the string representation
14124func (s AwsElbLoadBalancerConnectionDraining) String() string {
14125	return awsutil.Prettify(s)
14126}
14127
14128// GoString returns the string representation
14129func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
14130	return s.String()
14131}
14132
14133// SetEnabled sets the Enabled field's value.
14134func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
14135	s.Enabled = &v
14136	return s
14137}
14138
14139// SetTimeout sets the Timeout field's value.
14140func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
14141	s.Timeout = &v
14142	return s
14143}
14144
14145// Contains connection settings for the load balancer.
14146type AwsElbLoadBalancerConnectionSettings struct {
14147	_ struct{} `type:"structure"`
14148
14149	// The time, in seconds, that the connection can be idle (no data is sent over
14150	// the connection) before it is closed by the load balancer.
14151	IdleTimeout *int64 `type:"integer"`
14152}
14153
14154// String returns the string representation
14155func (s AwsElbLoadBalancerConnectionSettings) String() string {
14156	return awsutil.Prettify(s)
14157}
14158
14159// GoString returns the string representation
14160func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
14161	return s.String()
14162}
14163
14164// SetIdleTimeout sets the IdleTimeout field's value.
14165func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
14166	s.IdleTimeout = &v
14167	return s
14168}
14169
14170// Contains cross-zone load balancing settings for the load balancer.
14171type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
14172	_ struct{} `type:"structure"`
14173
14174	// Indicates whether cross-zone load balancing is enabled for the load balancer.
14175	Enabled *bool `type:"boolean"`
14176}
14177
14178// String returns the string representation
14179func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
14180	return awsutil.Prettify(s)
14181}
14182
14183// GoString returns the string representation
14184func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
14185	return s.String()
14186}
14187
14188// SetEnabled sets the Enabled field's value.
14189func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
14190	s.Enabled = &v
14191	return s
14192}
14193
14194// Contains details about a Classic Load Balancer.
14195type AwsElbLoadBalancerDetails struct {
14196	_ struct{} `type:"structure"`
14197
14198	// The list of Availability Zones for the load balancer.
14199	AvailabilityZones []*string `type:"list"`
14200
14201	// Information about the configuration of the EC2 instances.
14202	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
14203
14204	// The name of the Amazon Route 53 hosted zone for the load balancer.
14205	CanonicalHostedZoneName *string `type:"string"`
14206
14207	// The ID of the Amazon Route 53 hosted zone for the load balancer.
14208	CanonicalHostedZoneNameID *string `type:"string"`
14209
14210	// Indicates when the load balancer was created.
14211	//
14212	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14213	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14214	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14215	CreatedTime *string `type:"string"`
14216
14217	// The DNS name of the load balancer.
14218	DnsName *string `type:"string"`
14219
14220	// Information about the health checks that are conducted on the load balancer.
14221	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
14222
14223	// List of EC2 instances for the load balancer.
14224	Instances []*AwsElbLoadBalancerInstance `type:"list"`
14225
14226	// The policies that are enabled for the load balancer listeners.
14227	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
14228
14229	// The attributes for a load balancer.
14230	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
14231
14232	// The name of the load balancer.
14233	LoadBalancerName *string `type:"string"`
14234
14235	// The policies for a load balancer.
14236	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
14237
14238	// The type of load balancer. Only provided if the load balancer is in a VPC.
14239	//
14240	// If Scheme is internet-facing, the load balancer has a public DNS name that
14241	// resolves to a public IP address.
14242	//
14243	// If Scheme is internal, the load balancer has a public DNS name that resolves
14244	// to a private IP address.
14245	Scheme *string `type:"string"`
14246
14247	// The security groups for the load balancer. Only provided if the load balancer
14248	// is in a VPC.
14249	SecurityGroups []*string `type:"list"`
14250
14251	// Information about the security group for the load balancer. This is the security
14252	// group that is used for inbound rules.
14253	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
14254
14255	// The list of subnet identifiers for the load balancer.
14256	Subnets []*string `type:"list"`
14257
14258	// The identifier of the VPC for the load balancer.
14259	VpcId *string `type:"string"`
14260}
14261
14262// String returns the string representation
14263func (s AwsElbLoadBalancerDetails) String() string {
14264	return awsutil.Prettify(s)
14265}
14266
14267// GoString returns the string representation
14268func (s AwsElbLoadBalancerDetails) GoString() string {
14269	return s.String()
14270}
14271
14272// SetAvailabilityZones sets the AvailabilityZones field's value.
14273func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
14274	s.AvailabilityZones = v
14275	return s
14276}
14277
14278// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
14279func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
14280	s.BackendServerDescriptions = v
14281	return s
14282}
14283
14284// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
14285func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
14286	s.CanonicalHostedZoneName = &v
14287	return s
14288}
14289
14290// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
14291func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
14292	s.CanonicalHostedZoneNameID = &v
14293	return s
14294}
14295
14296// SetCreatedTime sets the CreatedTime field's value.
14297func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
14298	s.CreatedTime = &v
14299	return s
14300}
14301
14302// SetDnsName sets the DnsName field's value.
14303func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
14304	s.DnsName = &v
14305	return s
14306}
14307
14308// SetHealthCheck sets the HealthCheck field's value.
14309func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
14310	s.HealthCheck = v
14311	return s
14312}
14313
14314// SetInstances sets the Instances field's value.
14315func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
14316	s.Instances = v
14317	return s
14318}
14319
14320// SetListenerDescriptions sets the ListenerDescriptions field's value.
14321func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
14322	s.ListenerDescriptions = v
14323	return s
14324}
14325
14326// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
14327func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
14328	s.LoadBalancerAttributes = v
14329	return s
14330}
14331
14332// SetLoadBalancerName sets the LoadBalancerName field's value.
14333func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
14334	s.LoadBalancerName = &v
14335	return s
14336}
14337
14338// SetPolicies sets the Policies field's value.
14339func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
14340	s.Policies = v
14341	return s
14342}
14343
14344// SetScheme sets the Scheme field's value.
14345func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
14346	s.Scheme = &v
14347	return s
14348}
14349
14350// SetSecurityGroups sets the SecurityGroups field's value.
14351func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
14352	s.SecurityGroups = v
14353	return s
14354}
14355
14356// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
14357func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
14358	s.SourceSecurityGroup = v
14359	return s
14360}
14361
14362// SetSubnets sets the Subnets field's value.
14363func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
14364	s.Subnets = v
14365	return s
14366}
14367
14368// SetVpcId sets the VpcId field's value.
14369func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
14370	s.VpcId = &v
14371	return s
14372}
14373
14374// Contains information about the health checks that are conducted on the load
14375// balancer.
14376type AwsElbLoadBalancerHealthCheck struct {
14377	_ struct{} `type:"structure"`
14378
14379	// The number of consecutive health check successes required before the instance
14380	// is moved to the Healthy state.
14381	HealthyThreshold *int64 `type:"integer"`
14382
14383	// The approximate interval, in seconds, between health checks of an individual
14384	// instance.
14385	Interval *int64 `type:"integer"`
14386
14387	// The instance that is being checked. The target specifies the protocol and
14388	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
14389	// valid ports is 1 through 65535.
14390	//
14391	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
14392	//
14393	// For the TCP protocol, the target is specified as TCP: <port> .
14394	//
14395	// For the SSL protocol, the target is specified as SSL.<port> .
14396	//
14397	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
14398	// to ping> .
14399	Target *string `type:"string"`
14400
14401	// The amount of time, in seconds, during which no response means a failed health
14402	// check.
14403	Timeout *int64 `type:"integer"`
14404
14405	// The number of consecutive health check failures that must occur before the
14406	// instance is moved to the Unhealthy state.
14407	UnhealthyThreshold *int64 `type:"integer"`
14408}
14409
14410// String returns the string representation
14411func (s AwsElbLoadBalancerHealthCheck) String() string {
14412	return awsutil.Prettify(s)
14413}
14414
14415// GoString returns the string representation
14416func (s AwsElbLoadBalancerHealthCheck) GoString() string {
14417	return s.String()
14418}
14419
14420// SetHealthyThreshold sets the HealthyThreshold field's value.
14421func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
14422	s.HealthyThreshold = &v
14423	return s
14424}
14425
14426// SetInterval sets the Interval field's value.
14427func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
14428	s.Interval = &v
14429	return s
14430}
14431
14432// SetTarget sets the Target field's value.
14433func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
14434	s.Target = &v
14435	return s
14436}
14437
14438// SetTimeout sets the Timeout field's value.
14439func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
14440	s.Timeout = &v
14441	return s
14442}
14443
14444// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
14445func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
14446	s.UnhealthyThreshold = &v
14447	return s
14448}
14449
14450// Provides information about an EC2 instance for a load balancer.
14451type AwsElbLoadBalancerInstance struct {
14452	_ struct{} `type:"structure"`
14453
14454	// The instance identifier.
14455	InstanceId *string `type:"string"`
14456}
14457
14458// String returns the string representation
14459func (s AwsElbLoadBalancerInstance) String() string {
14460	return awsutil.Prettify(s)
14461}
14462
14463// GoString returns the string representation
14464func (s AwsElbLoadBalancerInstance) GoString() string {
14465	return s.String()
14466}
14467
14468// SetInstanceId sets the InstanceId field's value.
14469func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
14470	s.InstanceId = &v
14471	return s
14472}
14473
14474// Information about a load balancer listener.
14475type AwsElbLoadBalancerListener struct {
14476	_ struct{} `type:"structure"`
14477
14478	// The port on which the instance is listening.
14479	InstancePort *int64 `type:"integer"`
14480
14481	// The protocol to use to route traffic to instances.
14482	//
14483	// Valid values: HTTP | HTTPS | TCP | SSL
14484	InstanceProtocol *string `type:"string"`
14485
14486	// The port on which the load balancer is listening.
14487	//
14488	// On EC2-VPC, you can specify any port from the range 1-65535.
14489	//
14490	// On EC2-Classic, you can specify any port from the following list: 25, 80,
14491	// 443, 465, 587, 1024-65535.
14492	LoadBalancerPort *int64 `type:"integer"`
14493
14494	// The load balancer transport protocol to use for routing.
14495	//
14496	// Valid values: HTTP | HTTPS | TCP | SSL
14497	Protocol *string `type:"string"`
14498
14499	// The ARN of the server certificate.
14500	SslCertificateId *string `type:"string"`
14501}
14502
14503// String returns the string representation
14504func (s AwsElbLoadBalancerListener) String() string {
14505	return awsutil.Prettify(s)
14506}
14507
14508// GoString returns the string representation
14509func (s AwsElbLoadBalancerListener) GoString() string {
14510	return s.String()
14511}
14512
14513// SetInstancePort sets the InstancePort field's value.
14514func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
14515	s.InstancePort = &v
14516	return s
14517}
14518
14519// SetInstanceProtocol sets the InstanceProtocol field's value.
14520func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
14521	s.InstanceProtocol = &v
14522	return s
14523}
14524
14525// SetLoadBalancerPort sets the LoadBalancerPort field's value.
14526func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
14527	s.LoadBalancerPort = &v
14528	return s
14529}
14530
14531// SetProtocol sets the Protocol field's value.
14532func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
14533	s.Protocol = &v
14534	return s
14535}
14536
14537// SetSslCertificateId sets the SslCertificateId field's value.
14538func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
14539	s.SslCertificateId = &v
14540	return s
14541}
14542
14543// Lists the policies that are enabled for a load balancer listener.
14544type AwsElbLoadBalancerListenerDescription struct {
14545	_ struct{} `type:"structure"`
14546
14547	// Information about the listener.
14548	Listener *AwsElbLoadBalancerListener `type:"structure"`
14549
14550	// The policies enabled for the listener.
14551	PolicyNames []*string `type:"list"`
14552}
14553
14554// String returns the string representation
14555func (s AwsElbLoadBalancerListenerDescription) String() string {
14556	return awsutil.Prettify(s)
14557}
14558
14559// GoString returns the string representation
14560func (s AwsElbLoadBalancerListenerDescription) GoString() string {
14561	return s.String()
14562}
14563
14564// SetListener sets the Listener field's value.
14565func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
14566	s.Listener = v
14567	return s
14568}
14569
14570// SetPolicyNames sets the PolicyNames field's value.
14571func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
14572	s.PolicyNames = v
14573	return s
14574}
14575
14576// Contains information about the policies for a load balancer.
14577type AwsElbLoadBalancerPolicies struct {
14578	_ struct{} `type:"structure"`
14579
14580	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
14581	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
14582
14583	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
14584	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
14585
14586	// The policies other than the stickiness policies.
14587	OtherPolicies []*string `type:"list"`
14588}
14589
14590// String returns the string representation
14591func (s AwsElbLoadBalancerPolicies) String() string {
14592	return awsutil.Prettify(s)
14593}
14594
14595// GoString returns the string representation
14596func (s AwsElbLoadBalancerPolicies) GoString() string {
14597	return s.String()
14598}
14599
14600// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
14601func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
14602	s.AppCookieStickinessPolicies = v
14603	return s
14604}
14605
14606// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
14607func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
14608	s.LbCookieStickinessPolicies = v
14609	return s
14610}
14611
14612// SetOtherPolicies sets the OtherPolicies field's value.
14613func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
14614	s.OtherPolicies = v
14615	return s
14616}
14617
14618// Contains information about the security group for the load balancer.
14619type AwsElbLoadBalancerSourceSecurityGroup struct {
14620	_ struct{} `type:"structure"`
14621
14622	// The name of the security group.
14623	GroupName *string `type:"string"`
14624
14625	// The owner of the security group.
14626	OwnerAlias *string `type:"string"`
14627}
14628
14629// String returns the string representation
14630func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
14631	return awsutil.Prettify(s)
14632}
14633
14634// GoString returns the string representation
14635func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
14636	return s.String()
14637}
14638
14639// SetGroupName sets the GroupName field's value.
14640func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
14641	s.GroupName = &v
14642	return s
14643}
14644
14645// SetOwnerAlias sets the OwnerAlias field's value.
14646func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
14647	s.OwnerAlias = &v
14648	return s
14649}
14650
14651// Information about a load balancer.
14652type AwsElbv2LoadBalancerDetails struct {
14653	_ struct{} `type:"structure"`
14654
14655	// The Availability Zones for the load balancer.
14656	AvailabilityZones []*AvailabilityZone `type:"list"`
14657
14658	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
14659	CanonicalHostedZoneId *string `type:"string"`
14660
14661	// Indicates when the load balancer was created.
14662	//
14663	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14664	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14665	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14666	CreatedTime *string `type:"string"`
14667
14668	// The public DNS name of the load balancer.
14669	DNSName *string `type:"string"`
14670
14671	// The type of IP addresses used by the subnets for your load balancer. The
14672	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
14673	// IPv6 addresses).
14674	IpAddressType *string `type:"string"`
14675
14676	// The nodes of an Internet-facing load balancer have public IP addresses.
14677	Scheme *string `type:"string"`
14678
14679	// The IDs of the security groups for the load balancer.
14680	SecurityGroups []*string `type:"list"`
14681
14682	// The state of the load balancer.
14683	State *LoadBalancerState `type:"structure"`
14684
14685	// The type of load balancer.
14686	Type *string `type:"string"`
14687
14688	// The ID of the VPC for the load balancer.
14689	VpcId *string `type:"string"`
14690}
14691
14692// String returns the string representation
14693func (s AwsElbv2LoadBalancerDetails) String() string {
14694	return awsutil.Prettify(s)
14695}
14696
14697// GoString returns the string representation
14698func (s AwsElbv2LoadBalancerDetails) GoString() string {
14699	return s.String()
14700}
14701
14702// SetAvailabilityZones sets the AvailabilityZones field's value.
14703func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
14704	s.AvailabilityZones = v
14705	return s
14706}
14707
14708// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
14709func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
14710	s.CanonicalHostedZoneId = &v
14711	return s
14712}
14713
14714// SetCreatedTime sets the CreatedTime field's value.
14715func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
14716	s.CreatedTime = &v
14717	return s
14718}
14719
14720// SetDNSName sets the DNSName field's value.
14721func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
14722	s.DNSName = &v
14723	return s
14724}
14725
14726// SetIpAddressType sets the IpAddressType field's value.
14727func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
14728	s.IpAddressType = &v
14729	return s
14730}
14731
14732// SetScheme sets the Scheme field's value.
14733func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
14734	s.Scheme = &v
14735	return s
14736}
14737
14738// SetSecurityGroups sets the SecurityGroups field's value.
14739func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
14740	s.SecurityGroups = v
14741	return s
14742}
14743
14744// SetState sets the State field's value.
14745func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
14746	s.State = v
14747	return s
14748}
14749
14750// SetType sets the Type field's value.
14751func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
14752	s.Type = &v
14753	return s
14754}
14755
14756// SetVpcId sets the VpcId field's value.
14757func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
14758	s.VpcId = &v
14759	return s
14760}
14761
14762// IAM access key details related to a finding.
14763type AwsIamAccessKeyDetails struct {
14764	_ struct{} `type:"structure"`
14765
14766	// The identifier of the access key.
14767	AccessKeyId *string `type:"string"`
14768
14769	// The AWS account ID of the account for the key.
14770	AccountId *string `type:"string"`
14771
14772	// Indicates when the IAM access key was created.
14773	//
14774	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14775	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14776	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14777	CreatedAt *string `type:"string"`
14778
14779	// The ID of the principal associated with an access key.
14780	PrincipalId *string `type:"string"`
14781
14782	// The name of the principal.
14783	PrincipalName *string `type:"string"`
14784
14785	// The type of principal associated with an access key.
14786	PrincipalType *string `type:"string"`
14787
14788	// Information about the session that the key was used for.
14789	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
14790
14791	// The status of the IAM access key related to a finding.
14792	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
14793
14794	// The user associated with the IAM access key related to a finding.
14795	//
14796	// The UserName parameter has been replaced with the PrincipalName parameter
14797	// because access keys can also be assigned to principals that are not IAM users.
14798	//
14799	// Deprecated: This filter is deprecated. Instead, use PrincipalName.
14800	UserName *string `deprecated:"true" type:"string"`
14801}
14802
14803// String returns the string representation
14804func (s AwsIamAccessKeyDetails) String() string {
14805	return awsutil.Prettify(s)
14806}
14807
14808// GoString returns the string representation
14809func (s AwsIamAccessKeyDetails) GoString() string {
14810	return s.String()
14811}
14812
14813// SetAccessKeyId sets the AccessKeyId field's value.
14814func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
14815	s.AccessKeyId = &v
14816	return s
14817}
14818
14819// SetAccountId sets the AccountId field's value.
14820func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
14821	s.AccountId = &v
14822	return s
14823}
14824
14825// SetCreatedAt sets the CreatedAt field's value.
14826func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
14827	s.CreatedAt = &v
14828	return s
14829}
14830
14831// SetPrincipalId sets the PrincipalId field's value.
14832func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
14833	s.PrincipalId = &v
14834	return s
14835}
14836
14837// SetPrincipalName sets the PrincipalName field's value.
14838func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
14839	s.PrincipalName = &v
14840	return s
14841}
14842
14843// SetPrincipalType sets the PrincipalType field's value.
14844func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
14845	s.PrincipalType = &v
14846	return s
14847}
14848
14849// SetSessionContext sets the SessionContext field's value.
14850func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
14851	s.SessionContext = v
14852	return s
14853}
14854
14855// SetStatus sets the Status field's value.
14856func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
14857	s.Status = &v
14858	return s
14859}
14860
14861// SetUserName sets the UserName field's value.
14862func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
14863	s.UserName = &v
14864	return s
14865}
14866
14867// Provides information about the session that the key was used for.
14868type AwsIamAccessKeySessionContext struct {
14869	_ struct{} `type:"structure"`
14870
14871	// Attributes of the session that the key was used for.
14872	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
14873
14874	// Information about the entity that created the session.
14875	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
14876}
14877
14878// String returns the string representation
14879func (s AwsIamAccessKeySessionContext) String() string {
14880	return awsutil.Prettify(s)
14881}
14882
14883// GoString returns the string representation
14884func (s AwsIamAccessKeySessionContext) GoString() string {
14885	return s.String()
14886}
14887
14888// SetAttributes sets the Attributes field's value.
14889func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
14890	s.Attributes = v
14891	return s
14892}
14893
14894// SetSessionIssuer sets the SessionIssuer field's value.
14895func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
14896	s.SessionIssuer = v
14897	return s
14898}
14899
14900// Attributes of the session that the key was used for.
14901type AwsIamAccessKeySessionContextAttributes struct {
14902	_ struct{} `type:"structure"`
14903
14904	// Indicates when the session was created.
14905	//
14906	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14907	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14908	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14909	CreationDate *string `type:"string"`
14910
14911	// Indicates whether the session used multi-factor authentication (MFA).
14912	MfaAuthenticated *bool `type:"boolean"`
14913}
14914
14915// String returns the string representation
14916func (s AwsIamAccessKeySessionContextAttributes) String() string {
14917	return awsutil.Prettify(s)
14918}
14919
14920// GoString returns the string representation
14921func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
14922	return s.String()
14923}
14924
14925// SetCreationDate sets the CreationDate field's value.
14926func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
14927	s.CreationDate = &v
14928	return s
14929}
14930
14931// SetMfaAuthenticated sets the MfaAuthenticated field's value.
14932func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
14933	s.MfaAuthenticated = &v
14934	return s
14935}
14936
14937// Information about the entity that created the session.
14938type AwsIamAccessKeySessionContextSessionIssuer struct {
14939	_ struct{} `type:"structure"`
14940
14941	// The identifier of the AWS account that created the session.
14942	AccountId *string `type:"string"`
14943
14944	// The ARN of the session.
14945	Arn *string `type:"string"`
14946
14947	// The principal ID of the principal (user, role, or group) that created the
14948	// session.
14949	PrincipalId *string `type:"string"`
14950
14951	// The type of principal (user, role, or group) that created the session.
14952	Type *string `type:"string"`
14953
14954	// The name of the principal that created the session.
14955	UserName *string `type:"string"`
14956}
14957
14958// String returns the string representation
14959func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
14960	return awsutil.Prettify(s)
14961}
14962
14963// GoString returns the string representation
14964func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
14965	return s.String()
14966}
14967
14968// SetAccountId sets the AccountId field's value.
14969func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
14970	s.AccountId = &v
14971	return s
14972}
14973
14974// SetArn sets the Arn field's value.
14975func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
14976	s.Arn = &v
14977	return s
14978}
14979
14980// SetPrincipalId sets the PrincipalId field's value.
14981func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
14982	s.PrincipalId = &v
14983	return s
14984}
14985
14986// SetType sets the Type field's value.
14987func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
14988	s.Type = &v
14989	return s
14990}
14991
14992// SetUserName sets the UserName field's value.
14993func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
14994	s.UserName = &v
14995	return s
14996}
14997
14998// A managed policy that is attached to an IAM principal.
14999type AwsIamAttachedManagedPolicy struct {
15000	_ struct{} `type:"structure"`
15001
15002	// The ARN of the policy.
15003	PolicyArn *string `type:"string"`
15004
15005	// The name of the policy.
15006	PolicyName *string `type:"string"`
15007}
15008
15009// String returns the string representation
15010func (s AwsIamAttachedManagedPolicy) String() string {
15011	return awsutil.Prettify(s)
15012}
15013
15014// GoString returns the string representation
15015func (s AwsIamAttachedManagedPolicy) GoString() string {
15016	return s.String()
15017}
15018
15019// SetPolicyArn sets the PolicyArn field's value.
15020func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
15021	s.PolicyArn = &v
15022	return s
15023}
15024
15025// SetPolicyName sets the PolicyName field's value.
15026func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
15027	s.PolicyName = &v
15028	return s
15029}
15030
15031// Contains details about an IAM group.
15032type AwsIamGroupDetails struct {
15033	_ struct{} `type:"structure"`
15034
15035	// A list of the managed policies that are attached to the IAM group.
15036	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
15037
15038	// Indicates when the IAM group was created.
15039	//
15040	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15041	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15042	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15043	CreateDate *string `type:"string"`
15044
15045	// The identifier of the IAM group.
15046	GroupId *string `type:"string"`
15047
15048	// The name of the IAM group.
15049	GroupName *string `type:"string"`
15050
15051	// The list of inline policies that are embedded in the group.
15052	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
15053
15054	// The path to the group.
15055	Path *string `type:"string"`
15056}
15057
15058// String returns the string representation
15059func (s AwsIamGroupDetails) String() string {
15060	return awsutil.Prettify(s)
15061}
15062
15063// GoString returns the string representation
15064func (s AwsIamGroupDetails) GoString() string {
15065	return s.String()
15066}
15067
15068// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
15069func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
15070	s.AttachedManagedPolicies = v
15071	return s
15072}
15073
15074// SetCreateDate sets the CreateDate field's value.
15075func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
15076	s.CreateDate = &v
15077	return s
15078}
15079
15080// SetGroupId sets the GroupId field's value.
15081func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
15082	s.GroupId = &v
15083	return s
15084}
15085
15086// SetGroupName sets the GroupName field's value.
15087func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
15088	s.GroupName = &v
15089	return s
15090}
15091
15092// SetGroupPolicyList sets the GroupPolicyList field's value.
15093func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
15094	s.GroupPolicyList = v
15095	return s
15096}
15097
15098// SetPath sets the Path field's value.
15099func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
15100	s.Path = &v
15101	return s
15102}
15103
15104// A managed policy that is attached to the IAM group.
15105type AwsIamGroupPolicy struct {
15106	_ struct{} `type:"structure"`
15107
15108	// The name of the policy.
15109	PolicyName *string `type:"string"`
15110}
15111
15112// String returns the string representation
15113func (s AwsIamGroupPolicy) String() string {
15114	return awsutil.Prettify(s)
15115}
15116
15117// GoString returns the string representation
15118func (s AwsIamGroupPolicy) GoString() string {
15119	return s.String()
15120}
15121
15122// SetPolicyName sets the PolicyName field's value.
15123func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
15124	s.PolicyName = &v
15125	return s
15126}
15127
15128// Information about an instance profile.
15129type AwsIamInstanceProfile struct {
15130	_ struct{} `type:"structure"`
15131
15132	// The ARN of the instance profile.
15133	Arn *string `type:"string"`
15134
15135	// Indicates when the instance profile was created.
15136	//
15137	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15138	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15139	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15140	CreateDate *string `type:"string"`
15141
15142	// The identifier of the instance profile.
15143	InstanceProfileId *string `type:"string"`
15144
15145	// The name of the instance profile.
15146	InstanceProfileName *string `type:"string"`
15147
15148	// The path to the instance profile.
15149	Path *string `type:"string"`
15150
15151	// The roles associated with the instance profile.
15152	Roles []*AwsIamInstanceProfileRole `type:"list"`
15153}
15154
15155// String returns the string representation
15156func (s AwsIamInstanceProfile) String() string {
15157	return awsutil.Prettify(s)
15158}
15159
15160// GoString returns the string representation
15161func (s AwsIamInstanceProfile) GoString() string {
15162	return s.String()
15163}
15164
15165// Validate inspects the fields of the type to determine if they are valid.
15166func (s *AwsIamInstanceProfile) Validate() error {
15167	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
15168	if s.Roles != nil {
15169		for i, v := range s.Roles {
15170			if v == nil {
15171				continue
15172			}
15173			if err := v.Validate(); err != nil {
15174				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
15175			}
15176		}
15177	}
15178
15179	if invalidParams.Len() > 0 {
15180		return invalidParams
15181	}
15182	return nil
15183}
15184
15185// SetArn sets the Arn field's value.
15186func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
15187	s.Arn = &v
15188	return s
15189}
15190
15191// SetCreateDate sets the CreateDate field's value.
15192func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
15193	s.CreateDate = &v
15194	return s
15195}
15196
15197// SetInstanceProfileId sets the InstanceProfileId field's value.
15198func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
15199	s.InstanceProfileId = &v
15200	return s
15201}
15202
15203// SetInstanceProfileName sets the InstanceProfileName field's value.
15204func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
15205	s.InstanceProfileName = &v
15206	return s
15207}
15208
15209// SetPath sets the Path field's value.
15210func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
15211	s.Path = &v
15212	return s
15213}
15214
15215// SetRoles sets the Roles field's value.
15216func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
15217	s.Roles = v
15218	return s
15219}
15220
15221// Information about a role associated with an instance profile.
15222type AwsIamInstanceProfileRole struct {
15223	_ struct{} `type:"structure"`
15224
15225	// The ARN of the role.
15226	Arn *string `type:"string"`
15227
15228	// The policy that grants an entity permission to assume the role.
15229	AssumeRolePolicyDocument *string `min:"1" type:"string"`
15230
15231	// Indicates when the role was created.
15232	//
15233	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15234	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15235	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15236	CreateDate *string `type:"string"`
15237
15238	// The path to the role.
15239	Path *string `type:"string"`
15240
15241	// The identifier of the role.
15242	RoleId *string `type:"string"`
15243
15244	// The name of the role.
15245	RoleName *string `type:"string"`
15246}
15247
15248// String returns the string representation
15249func (s AwsIamInstanceProfileRole) String() string {
15250	return awsutil.Prettify(s)
15251}
15252
15253// GoString returns the string representation
15254func (s AwsIamInstanceProfileRole) GoString() string {
15255	return s.String()
15256}
15257
15258// Validate inspects the fields of the type to determine if they are valid.
15259func (s *AwsIamInstanceProfileRole) Validate() error {
15260	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
15261	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
15262		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
15263	}
15264
15265	if invalidParams.Len() > 0 {
15266		return invalidParams
15267	}
15268	return nil
15269}
15270
15271// SetArn sets the Arn field's value.
15272func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
15273	s.Arn = &v
15274	return s
15275}
15276
15277// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
15278func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
15279	s.AssumeRolePolicyDocument = &v
15280	return s
15281}
15282
15283// SetCreateDate sets the CreateDate field's value.
15284func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
15285	s.CreateDate = &v
15286	return s
15287}
15288
15289// SetPath sets the Path field's value.
15290func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
15291	s.Path = &v
15292	return s
15293}
15294
15295// SetRoleId sets the RoleId field's value.
15296func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
15297	s.RoleId = &v
15298	return s
15299}
15300
15301// SetRoleName sets the RoleName field's value.
15302func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
15303	s.RoleName = &v
15304	return s
15305}
15306
15307// Information about the policy used to set the permissions boundary for an
15308// IAM principal.
15309type AwsIamPermissionsBoundary struct {
15310	_ struct{} `type:"structure"`
15311
15312	// The ARN of the policy used to set the permissions boundary.
15313	PermissionsBoundaryArn *string `type:"string"`
15314
15315	// The usage type for the permissions boundary.
15316	PermissionsBoundaryType *string `type:"string"`
15317}
15318
15319// String returns the string representation
15320func (s AwsIamPermissionsBoundary) String() string {
15321	return awsutil.Prettify(s)
15322}
15323
15324// GoString returns the string representation
15325func (s AwsIamPermissionsBoundary) GoString() string {
15326	return s.String()
15327}
15328
15329// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
15330func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
15331	s.PermissionsBoundaryArn = &v
15332	return s
15333}
15334
15335// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
15336func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
15337	s.PermissionsBoundaryType = &v
15338	return s
15339}
15340
15341// Represents an IAM permissions policy.
15342type AwsIamPolicyDetails struct {
15343	_ struct{} `type:"structure"`
15344
15345	// The number of users, groups, and roles that the policy is attached to.
15346	AttachmentCount *int64 `type:"integer"`
15347
15348	// When the policy was created.
15349	//
15350	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15351	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15352	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15353	CreateDate *string `type:"string"`
15354
15355	// The identifier of the default version of the policy.
15356	DefaultVersionId *string `type:"string"`
15357
15358	// A description of the policy.
15359	Description *string `type:"string"`
15360
15361	// Whether the policy can be attached to a user, group, or role.
15362	IsAttachable *bool `type:"boolean"`
15363
15364	// The path to the policy.
15365	Path *string `type:"string"`
15366
15367	// The number of users and roles that use the policy to set the permissions
15368	// boundary.
15369	PermissionsBoundaryUsageCount *int64 `type:"integer"`
15370
15371	// The unique identifier of the policy.
15372	PolicyId *string `type:"string"`
15373
15374	// The name of the policy.
15375	PolicyName *string `type:"string"`
15376
15377	// List of versions of the policy.
15378	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
15379
15380	// When the policy was most recently updated.
15381	//
15382	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15383	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15384	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15385	UpdateDate *string `type:"string"`
15386}
15387
15388// String returns the string representation
15389func (s AwsIamPolicyDetails) String() string {
15390	return awsutil.Prettify(s)
15391}
15392
15393// GoString returns the string representation
15394func (s AwsIamPolicyDetails) GoString() string {
15395	return s.String()
15396}
15397
15398// SetAttachmentCount sets the AttachmentCount field's value.
15399func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
15400	s.AttachmentCount = &v
15401	return s
15402}
15403
15404// SetCreateDate sets the CreateDate field's value.
15405func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
15406	s.CreateDate = &v
15407	return s
15408}
15409
15410// SetDefaultVersionId sets the DefaultVersionId field's value.
15411func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
15412	s.DefaultVersionId = &v
15413	return s
15414}
15415
15416// SetDescription sets the Description field's value.
15417func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
15418	s.Description = &v
15419	return s
15420}
15421
15422// SetIsAttachable sets the IsAttachable field's value.
15423func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
15424	s.IsAttachable = &v
15425	return s
15426}
15427
15428// SetPath sets the Path field's value.
15429func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
15430	s.Path = &v
15431	return s
15432}
15433
15434// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
15435func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
15436	s.PermissionsBoundaryUsageCount = &v
15437	return s
15438}
15439
15440// SetPolicyId sets the PolicyId field's value.
15441func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
15442	s.PolicyId = &v
15443	return s
15444}
15445
15446// SetPolicyName sets the PolicyName field's value.
15447func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
15448	s.PolicyName = &v
15449	return s
15450}
15451
15452// SetPolicyVersionList sets the PolicyVersionList field's value.
15453func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
15454	s.PolicyVersionList = v
15455	return s
15456}
15457
15458// SetUpdateDate sets the UpdateDate field's value.
15459func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
15460	s.UpdateDate = &v
15461	return s
15462}
15463
15464// A version of an IAM policy.
15465type AwsIamPolicyVersion struct {
15466	_ struct{} `type:"structure"`
15467
15468	// Indicates when the version was created.
15469	//
15470	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15471	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15472	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15473	CreateDate *string `type:"string"`
15474
15475	// Whether the version is the default version.
15476	IsDefaultVersion *bool `type:"boolean"`
15477
15478	// The identifier of the policy version.
15479	VersionId *string `type:"string"`
15480}
15481
15482// String returns the string representation
15483func (s AwsIamPolicyVersion) String() string {
15484	return awsutil.Prettify(s)
15485}
15486
15487// GoString returns the string representation
15488func (s AwsIamPolicyVersion) GoString() string {
15489	return s.String()
15490}
15491
15492// SetCreateDate sets the CreateDate field's value.
15493func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
15494	s.CreateDate = &v
15495	return s
15496}
15497
15498// SetIsDefaultVersion sets the IsDefaultVersion field's value.
15499func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
15500	s.IsDefaultVersion = &v
15501	return s
15502}
15503
15504// SetVersionId sets the VersionId field's value.
15505func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
15506	s.VersionId = &v
15507	return s
15508}
15509
15510// Contains information about an IAM role, including all of the role's policies.
15511type AwsIamRoleDetails struct {
15512	_ struct{} `type:"structure"`
15513
15514	// The trust policy that grants permission to assume the role.
15515	AssumeRolePolicyDocument *string `min:"1" type:"string"`
15516
15517	// The list of the managed policies that are attached to the role.
15518	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
15519
15520	// Indicates when the role was created.
15521	//
15522	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15523	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15524	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15525	CreateDate *string `type:"string"`
15526
15527	// The list of instance profiles that contain this role.
15528	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
15529
15530	// The maximum session duration (in seconds) that you want to set for the specified
15531	// role.
15532	MaxSessionDuration *int64 `type:"integer"`
15533
15534	// The path to the role.
15535	Path *string `type:"string"`
15536
15537	// Information about the policy used to set the permissions boundary for an
15538	// IAM principal.
15539	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
15540
15541	// The stable and unique string identifying the role.
15542	RoleId *string `type:"string"`
15543
15544	// The friendly name that identifies the role.
15545	RoleName *string `type:"string"`
15546
15547	// The list of inline policies that are embedded in the role.
15548	RolePolicyList []*AwsIamRolePolicy `type:"list"`
15549}
15550
15551// String returns the string representation
15552func (s AwsIamRoleDetails) String() string {
15553	return awsutil.Prettify(s)
15554}
15555
15556// GoString returns the string representation
15557func (s AwsIamRoleDetails) GoString() string {
15558	return s.String()
15559}
15560
15561// Validate inspects the fields of the type to determine if they are valid.
15562func (s *AwsIamRoleDetails) Validate() error {
15563	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
15564	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
15565		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
15566	}
15567	if s.InstanceProfileList != nil {
15568		for i, v := range s.InstanceProfileList {
15569			if v == nil {
15570				continue
15571			}
15572			if err := v.Validate(); err != nil {
15573				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
15574			}
15575		}
15576	}
15577
15578	if invalidParams.Len() > 0 {
15579		return invalidParams
15580	}
15581	return nil
15582}
15583
15584// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
15585func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
15586	s.AssumeRolePolicyDocument = &v
15587	return s
15588}
15589
15590// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
15591func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
15592	s.AttachedManagedPolicies = v
15593	return s
15594}
15595
15596// SetCreateDate sets the CreateDate field's value.
15597func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
15598	s.CreateDate = &v
15599	return s
15600}
15601
15602// SetInstanceProfileList sets the InstanceProfileList field's value.
15603func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
15604	s.InstanceProfileList = v
15605	return s
15606}
15607
15608// SetMaxSessionDuration sets the MaxSessionDuration field's value.
15609func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
15610	s.MaxSessionDuration = &v
15611	return s
15612}
15613
15614// SetPath sets the Path field's value.
15615func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
15616	s.Path = &v
15617	return s
15618}
15619
15620// SetPermissionsBoundary sets the PermissionsBoundary field's value.
15621func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
15622	s.PermissionsBoundary = v
15623	return s
15624}
15625
15626// SetRoleId sets the RoleId field's value.
15627func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
15628	s.RoleId = &v
15629	return s
15630}
15631
15632// SetRoleName sets the RoleName field's value.
15633func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
15634	s.RoleName = &v
15635	return s
15636}
15637
15638// SetRolePolicyList sets the RolePolicyList field's value.
15639func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
15640	s.RolePolicyList = v
15641	return s
15642}
15643
15644// An inline policy that is embedded in the role.
15645type AwsIamRolePolicy struct {
15646	_ struct{} `type:"structure"`
15647
15648	// The name of the policy.
15649	PolicyName *string `type:"string"`
15650}
15651
15652// String returns the string representation
15653func (s AwsIamRolePolicy) String() string {
15654	return awsutil.Prettify(s)
15655}
15656
15657// GoString returns the string representation
15658func (s AwsIamRolePolicy) GoString() string {
15659	return s.String()
15660}
15661
15662// SetPolicyName sets the PolicyName field's value.
15663func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
15664	s.PolicyName = &v
15665	return s
15666}
15667
15668// Information about an IAM user.
15669type AwsIamUserDetails struct {
15670	_ struct{} `type:"structure"`
15671
15672	// A list of the managed policies that are attached to the user.
15673	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
15674
15675	// Indicates when the user was created.
15676	//
15677	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15678	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15679	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15680	CreateDate *string `type:"string"`
15681
15682	// A list of IAM groups that the user belongs to.
15683	GroupList []*string `type:"list"`
15684
15685	// The path to the user.
15686	Path *string `type:"string"`
15687
15688	// The permissions boundary for the user.
15689	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
15690
15691	// The unique identifier for the user.
15692	UserId *string `type:"string"`
15693
15694	// The name of the user.
15695	UserName *string `type:"string"`
15696
15697	// The list of inline policies that are embedded in the user.
15698	UserPolicyList []*AwsIamUserPolicy `type:"list"`
15699}
15700
15701// String returns the string representation
15702func (s AwsIamUserDetails) String() string {
15703	return awsutil.Prettify(s)
15704}
15705
15706// GoString returns the string representation
15707func (s AwsIamUserDetails) GoString() string {
15708	return s.String()
15709}
15710
15711// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
15712func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
15713	s.AttachedManagedPolicies = v
15714	return s
15715}
15716
15717// SetCreateDate sets the CreateDate field's value.
15718func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
15719	s.CreateDate = &v
15720	return s
15721}
15722
15723// SetGroupList sets the GroupList field's value.
15724func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
15725	s.GroupList = v
15726	return s
15727}
15728
15729// SetPath sets the Path field's value.
15730func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
15731	s.Path = &v
15732	return s
15733}
15734
15735// SetPermissionsBoundary sets the PermissionsBoundary field's value.
15736func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
15737	s.PermissionsBoundary = v
15738	return s
15739}
15740
15741// SetUserId sets the UserId field's value.
15742func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
15743	s.UserId = &v
15744	return s
15745}
15746
15747// SetUserName sets the UserName field's value.
15748func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
15749	s.UserName = &v
15750	return s
15751}
15752
15753// SetUserPolicyList sets the UserPolicyList field's value.
15754func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
15755	s.UserPolicyList = v
15756	return s
15757}
15758
15759// Information about an inline policy that is embedded in the user.
15760type AwsIamUserPolicy struct {
15761	_ struct{} `type:"structure"`
15762
15763	// The name of the policy.
15764	PolicyName *string `type:"string"`
15765}
15766
15767// String returns the string representation
15768func (s AwsIamUserPolicy) String() string {
15769	return awsutil.Prettify(s)
15770}
15771
15772// GoString returns the string representation
15773func (s AwsIamUserPolicy) GoString() string {
15774	return s.String()
15775}
15776
15777// SetPolicyName sets the PolicyName field's value.
15778func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
15779	s.PolicyName = &v
15780	return s
15781}
15782
15783// Contains metadata about a customer master key (CMK).
15784type AwsKmsKeyDetails struct {
15785	_ struct{} `type:"structure"`
15786
15787	// The twelve-digit account ID of the AWS account that owns the CMK.
15788	AWSAccountId *string `type:"string"`
15789
15790	// Indicates when the CMK was created.
15791	//
15792	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15793	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15794	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15795	CreationDate *float64 `type:"double"`
15796
15797	// A description of the key.
15798	Description *string `type:"string"`
15799
15800	// The globally unique identifier for the CMK.
15801	KeyId *string `type:"string"`
15802
15803	// The manager of the CMK. CMKs in your AWS account are either customer managed
15804	// or AWS managed.
15805	KeyManager *string `type:"string"`
15806
15807	// The state of the CMK.
15808	KeyState *string `type:"string"`
15809
15810	// The source of the CMK's key material.
15811	//
15812	// When this value is AWS_KMS, AWS KMS created the key material.
15813	//
15814	// When this value is EXTERNAL, the key material was imported from your existing
15815	// key management infrastructure or the CMK lacks key material.
15816	//
15817	// When this value is AWS_CLOUDHSM, the key material was created in the AWS
15818	// CloudHSM cluster associated with a custom key store.
15819	Origin *string `type:"string"`
15820}
15821
15822// String returns the string representation
15823func (s AwsKmsKeyDetails) String() string {
15824	return awsutil.Prettify(s)
15825}
15826
15827// GoString returns the string representation
15828func (s AwsKmsKeyDetails) GoString() string {
15829	return s.String()
15830}
15831
15832// SetAWSAccountId sets the AWSAccountId field's value.
15833func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
15834	s.AWSAccountId = &v
15835	return s
15836}
15837
15838// SetCreationDate sets the CreationDate field's value.
15839func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
15840	s.CreationDate = &v
15841	return s
15842}
15843
15844// SetDescription sets the Description field's value.
15845func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
15846	s.Description = &v
15847	return s
15848}
15849
15850// SetKeyId sets the KeyId field's value.
15851func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
15852	s.KeyId = &v
15853	return s
15854}
15855
15856// SetKeyManager sets the KeyManager field's value.
15857func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
15858	s.KeyManager = &v
15859	return s
15860}
15861
15862// SetKeyState sets the KeyState field's value.
15863func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
15864	s.KeyState = &v
15865	return s
15866}
15867
15868// SetOrigin sets the Origin field's value.
15869func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
15870	s.Origin = &v
15871	return s
15872}
15873
15874// The code for the Lambda function. You can specify either an object in Amazon
15875// S3, or upload a deployment package directly.
15876type AwsLambdaFunctionCode struct {
15877	_ struct{} `type:"structure"`
15878
15879	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
15880	// be in a different AWS account.
15881	S3Bucket *string `type:"string"`
15882
15883	// The Amazon S3 key of the deployment package.
15884	S3Key *string `type:"string"`
15885
15886	// For versioned objects, the version of the deployment package object to use.
15887	S3ObjectVersion *string `type:"string"`
15888
15889	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
15890	// clients handle the encoding for you.
15891	ZipFile *string `type:"string"`
15892}
15893
15894// String returns the string representation
15895func (s AwsLambdaFunctionCode) String() string {
15896	return awsutil.Prettify(s)
15897}
15898
15899// GoString returns the string representation
15900func (s AwsLambdaFunctionCode) GoString() string {
15901	return s.String()
15902}
15903
15904// SetS3Bucket sets the S3Bucket field's value.
15905func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
15906	s.S3Bucket = &v
15907	return s
15908}
15909
15910// SetS3Key sets the S3Key field's value.
15911func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
15912	s.S3Key = &v
15913	return s
15914}
15915
15916// SetS3ObjectVersion sets the S3ObjectVersion field's value.
15917func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
15918	s.S3ObjectVersion = &v
15919	return s
15920}
15921
15922// SetZipFile sets the ZipFile field's value.
15923func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
15924	s.ZipFile = &v
15925	return s
15926}
15927
15928// The dead-letter queue for failed asynchronous invocations.
15929type AwsLambdaFunctionDeadLetterConfig struct {
15930	_ struct{} `type:"structure"`
15931
15932	// The ARN of an Amazon SQS queue or Amazon SNS topic.
15933	TargetArn *string `type:"string"`
15934}
15935
15936// String returns the string representation
15937func (s AwsLambdaFunctionDeadLetterConfig) String() string {
15938	return awsutil.Prettify(s)
15939}
15940
15941// GoString returns the string representation
15942func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
15943	return s.String()
15944}
15945
15946// SetTargetArn sets the TargetArn field's value.
15947func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
15948	s.TargetArn = &v
15949	return s
15950}
15951
15952// Details about a function's configuration.
15953type AwsLambdaFunctionDetails struct {
15954	_ struct{} `type:"structure"`
15955
15956	// An AwsLambdaFunctionCode object.
15957	Code *AwsLambdaFunctionCode `type:"structure"`
15958
15959	// The SHA256 hash of the function's deployment package.
15960	CodeSha256 *string `type:"string"`
15961
15962	// The function's dead letter queue.
15963	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
15964
15965	// The function's environment variables.
15966	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
15967
15968	// The name of the function.
15969	FunctionName *string `type:"string"`
15970
15971	// The function that Lambda calls to begin executing your function.
15972	Handler *string `type:"string"`
15973
15974	// The KMS key that's used to encrypt the function's environment variables.
15975	// This key is only returned if you've configured a customer managed CMK.
15976	KmsKeyArn *string `type:"string"`
15977
15978	// Indicates when the function was last updated.
15979	//
15980	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15981	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15982	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15983	LastModified *string `type:"string"`
15984
15985	// The function's layers.
15986	Layers []*AwsLambdaFunctionLayer `type:"list"`
15987
15988	// For Lambda@Edge functions, the ARN of the master function.
15989	MasterArn *string `type:"string"`
15990
15991	// The memory that is allocated to the function.
15992	MemorySize *int64 `type:"integer"`
15993
15994	// The latest updated revision of the function or alias.
15995	RevisionId *string `type:"string"`
15996
15997	// The function's execution role.
15998	Role *string `type:"string"`
15999
16000	// The runtime environment for the Lambda function.
16001	Runtime *string `type:"string"`
16002
16003	// The amount of time that Lambda allows a function to run before stopping it.
16004	Timeout *int64 `type:"integer"`
16005
16006	// The function's AWS X-Ray tracing configuration.
16007	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
16008
16009	// The version of the Lambda function.
16010	Version *string `type:"string"`
16011
16012	// The function's networking configuration.
16013	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
16014}
16015
16016// String returns the string representation
16017func (s AwsLambdaFunctionDetails) String() string {
16018	return awsutil.Prettify(s)
16019}
16020
16021// GoString returns the string representation
16022func (s AwsLambdaFunctionDetails) GoString() string {
16023	return s.String()
16024}
16025
16026// SetCode sets the Code field's value.
16027func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
16028	s.Code = v
16029	return s
16030}
16031
16032// SetCodeSha256 sets the CodeSha256 field's value.
16033func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
16034	s.CodeSha256 = &v
16035	return s
16036}
16037
16038// SetDeadLetterConfig sets the DeadLetterConfig field's value.
16039func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
16040	s.DeadLetterConfig = v
16041	return s
16042}
16043
16044// SetEnvironment sets the Environment field's value.
16045func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
16046	s.Environment = v
16047	return s
16048}
16049
16050// SetFunctionName sets the FunctionName field's value.
16051func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
16052	s.FunctionName = &v
16053	return s
16054}
16055
16056// SetHandler sets the Handler field's value.
16057func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
16058	s.Handler = &v
16059	return s
16060}
16061
16062// SetKmsKeyArn sets the KmsKeyArn field's value.
16063func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
16064	s.KmsKeyArn = &v
16065	return s
16066}
16067
16068// SetLastModified sets the LastModified field's value.
16069func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
16070	s.LastModified = &v
16071	return s
16072}
16073
16074// SetLayers sets the Layers field's value.
16075func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
16076	s.Layers = v
16077	return s
16078}
16079
16080// SetMasterArn sets the MasterArn field's value.
16081func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
16082	s.MasterArn = &v
16083	return s
16084}
16085
16086// SetMemorySize sets the MemorySize field's value.
16087func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
16088	s.MemorySize = &v
16089	return s
16090}
16091
16092// SetRevisionId sets the RevisionId field's value.
16093func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
16094	s.RevisionId = &v
16095	return s
16096}
16097
16098// SetRole sets the Role field's value.
16099func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
16100	s.Role = &v
16101	return s
16102}
16103
16104// SetRuntime sets the Runtime field's value.
16105func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
16106	s.Runtime = &v
16107	return s
16108}
16109
16110// SetTimeout sets the Timeout field's value.
16111func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
16112	s.Timeout = &v
16113	return s
16114}
16115
16116// SetTracingConfig sets the TracingConfig field's value.
16117func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
16118	s.TracingConfig = v
16119	return s
16120}
16121
16122// SetVersion sets the Version field's value.
16123func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
16124	s.Version = &v
16125	return s
16126}
16127
16128// SetVpcConfig sets the VpcConfig field's value.
16129func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
16130	s.VpcConfig = v
16131	return s
16132}
16133
16134// A function's environment variable settings.
16135type AwsLambdaFunctionEnvironment struct {
16136	_ struct{} `type:"structure"`
16137
16138	// An AwsLambdaFunctionEnvironmentError object.
16139	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
16140
16141	// Environment variable key-value pairs.
16142	Variables map[string]*string `type:"map"`
16143}
16144
16145// String returns the string representation
16146func (s AwsLambdaFunctionEnvironment) String() string {
16147	return awsutil.Prettify(s)
16148}
16149
16150// GoString returns the string representation
16151func (s AwsLambdaFunctionEnvironment) GoString() string {
16152	return s.String()
16153}
16154
16155// SetError sets the Error field's value.
16156func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
16157	s.Error = v
16158	return s
16159}
16160
16161// SetVariables sets the Variables field's value.
16162func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
16163	s.Variables = v
16164	return s
16165}
16166
16167// Error messages for environment variables that could not be applied.
16168type AwsLambdaFunctionEnvironmentError struct {
16169	_ struct{} `type:"structure"`
16170
16171	// The error code.
16172	ErrorCode *string `type:"string"`
16173
16174	// The error message.
16175	Message *string `type:"string"`
16176}
16177
16178// String returns the string representation
16179func (s AwsLambdaFunctionEnvironmentError) String() string {
16180	return awsutil.Prettify(s)
16181}
16182
16183// GoString returns the string representation
16184func (s AwsLambdaFunctionEnvironmentError) GoString() string {
16185	return s.String()
16186}
16187
16188// SetErrorCode sets the ErrorCode field's value.
16189func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
16190	s.ErrorCode = &v
16191	return s
16192}
16193
16194// SetMessage sets the Message field's value.
16195func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
16196	s.Message = &v
16197	return s
16198}
16199
16200// An AWS Lambda layer.
16201type AwsLambdaFunctionLayer struct {
16202	_ struct{} `type:"structure"`
16203
16204	// The ARN of the function layer.
16205	Arn *string `type:"string"`
16206
16207	// The size of the layer archive in bytes.
16208	CodeSize *int64 `type:"integer"`
16209}
16210
16211// String returns the string representation
16212func (s AwsLambdaFunctionLayer) String() string {
16213	return awsutil.Prettify(s)
16214}
16215
16216// GoString returns the string representation
16217func (s AwsLambdaFunctionLayer) GoString() string {
16218	return s.String()
16219}
16220
16221// SetArn sets the Arn field's value.
16222func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
16223	s.Arn = &v
16224	return s
16225}
16226
16227// SetCodeSize sets the CodeSize field's value.
16228func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
16229	s.CodeSize = &v
16230	return s
16231}
16232
16233// The function's AWS X-Ray tracing configuration.
16234type AwsLambdaFunctionTracingConfig struct {
16235	_ struct{} `type:"structure"`
16236
16237	// The tracing mode.
16238	Mode *string `type:"string"`
16239}
16240
16241// String returns the string representation
16242func (s AwsLambdaFunctionTracingConfig) String() string {
16243	return awsutil.Prettify(s)
16244}
16245
16246// GoString returns the string representation
16247func (s AwsLambdaFunctionTracingConfig) GoString() string {
16248	return s.String()
16249}
16250
16251// SetMode sets the Mode field's value.
16252func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
16253	s.Mode = &v
16254	return s
16255}
16256
16257// The VPC security groups and subnets that are attached to a Lambda function.
16258type AwsLambdaFunctionVpcConfig struct {
16259	_ struct{} `type:"structure"`
16260
16261	// A list of VPC security groups IDs.
16262	SecurityGroupIds []*string `type:"list"`
16263
16264	// A list of VPC subnet IDs.
16265	SubnetIds []*string `type:"list"`
16266
16267	// The ID of the VPC.
16268	VpcId *string `type:"string"`
16269}
16270
16271// String returns the string representation
16272func (s AwsLambdaFunctionVpcConfig) String() string {
16273	return awsutil.Prettify(s)
16274}
16275
16276// GoString returns the string representation
16277func (s AwsLambdaFunctionVpcConfig) GoString() string {
16278	return s.String()
16279}
16280
16281// SetSecurityGroupIds sets the SecurityGroupIds field's value.
16282func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
16283	s.SecurityGroupIds = v
16284	return s
16285}
16286
16287// SetSubnetIds sets the SubnetIds field's value.
16288func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
16289	s.SubnetIds = v
16290	return s
16291}
16292
16293// SetVpcId sets the VpcId field's value.
16294func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
16295	s.VpcId = &v
16296	return s
16297}
16298
16299// Details about a Lambda layer version.
16300type AwsLambdaLayerVersionDetails struct {
16301	_ struct{} `type:"structure"`
16302
16303	// The layer's compatible runtimes. Maximum number of five items.
16304	//
16305	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
16306	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
16307	// | provided
16308	CompatibleRuntimes []*string `type:"list"`
16309
16310	// Indicates when the version was created.
16311	//
16312	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16313	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16314	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16315	CreatedDate *string `type:"string"`
16316
16317	// The version number.
16318	Version *int64 `type:"long"`
16319}
16320
16321// String returns the string representation
16322func (s AwsLambdaLayerVersionDetails) String() string {
16323	return awsutil.Prettify(s)
16324}
16325
16326// GoString returns the string representation
16327func (s AwsLambdaLayerVersionDetails) GoString() string {
16328	return s.String()
16329}
16330
16331// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
16332func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
16333	s.CompatibleRuntimes = v
16334	return s
16335}
16336
16337// SetCreatedDate sets the CreatedDate field's value.
16338func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
16339	s.CreatedDate = &v
16340	return s
16341}
16342
16343// SetVersion sets the Version field's value.
16344func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
16345	s.Version = &v
16346	return s
16347}
16348
16349// An IAM role that is associated with the Amazon RDS DB cluster.
16350type AwsRdsDbClusterAssociatedRole struct {
16351	_ struct{} `type:"structure"`
16352
16353	// The ARN of the IAM role.
16354	RoleArn *string `type:"string"`
16355
16356	// The status of the association between the IAM role and the DB cluster.
16357	Status *string `type:"string"`
16358}
16359
16360// String returns the string representation
16361func (s AwsRdsDbClusterAssociatedRole) String() string {
16362	return awsutil.Prettify(s)
16363}
16364
16365// GoString returns the string representation
16366func (s AwsRdsDbClusterAssociatedRole) GoString() string {
16367	return s.String()
16368}
16369
16370// SetRoleArn sets the RoleArn field's value.
16371func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
16372	s.RoleArn = &v
16373	return s
16374}
16375
16376// SetStatus sets the Status field's value.
16377func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
16378	s.Status = &v
16379	return s
16380}
16381
16382// Information about an Amazon RDS DB cluster.
16383type AwsRdsDbClusterDetails struct {
16384	_ struct{} `type:"structure"`
16385
16386	// The status of the database activity stream.
16387	ActivityStreamStatus *string `type:"string"`
16388
16389	// For all database engines except Aurora, specifies the allocated storage size
16390	// in gibibytes (GiB).
16391	AllocatedStorage *int64 `type:"integer"`
16392
16393	// A list of the IAM roles that are associated with the DB cluster.
16394	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
16395
16396	// A list of Availability Zones (AZs) where instances in the DB cluster can
16397	// be created.
16398	AvailabilityZones []*string `type:"list"`
16399
16400	// The number of days for which automated backups are retained.
16401	BackupRetentionPeriod *int64 `type:"integer"`
16402
16403	// Indicates when the DB cluster was created, in Universal Coordinated Time
16404	// (UTC).
16405	//
16406	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16407	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16408	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16409	ClusterCreateTime *string `type:"string"`
16410
16411	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
16412	CopyTagsToSnapshot *bool `type:"boolean"`
16413
16414	// Whether the DB cluster is a clone of a DB cluster owned by a different AWS
16415	// account.
16416	CrossAccountClone *bool `type:"boolean"`
16417
16418	// A list of custom endpoints for the DB cluster.
16419	CustomEndpoints []*string `type:"list"`
16420
16421	// The name of the database.
16422	DatabaseName *string `type:"string"`
16423
16424	// The DB cluster identifier that the user assigned to the cluster. This identifier
16425	// is the unique key that identifies a DB cluster.
16426	DbClusterIdentifier *string `type:"string"`
16427
16428	// The list of instances that make up the DB cluster.
16429	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
16430
16431	// The list of option group memberships for this DB cluster.
16432	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
16433
16434	// The name of the DB cluster parameter group for the DB cluster.
16435	DbClusterParameterGroup *string `type:"string"`
16436
16437	// The identifier of the DB cluster. The identifier must be unique within each
16438	// AWS Region and is immutable.
16439	DbClusterResourceId *string `type:"string"`
16440
16441	// The subnet group that is associated with the DB cluster, including the name,
16442	// description, and subnets in the subnet group.
16443	DbSubnetGroup *string `type:"string"`
16444
16445	// Whether the DB cluster has deletion protection enabled.
16446	DeletionProtection *bool `type:"boolean"`
16447
16448	// The Active Directory domain membership records that are associated with the
16449	// DB cluster.
16450	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
16451
16452	// A list of log types that this DB cluster is configured to export to CloudWatch
16453	// Logs.
16454	EnabledCloudWatchLogsExports []*string `type:"list"`
16455
16456	// The connection endpoint for the primary instance of the DB cluster.
16457	Endpoint *string `type:"string"`
16458
16459	// The name of the database engine to use for this DB cluster.
16460	Engine *string `type:"string"`
16461
16462	// The database engine mode of the DB cluster.
16463	EngineMode *string `type:"string"`
16464
16465	// The version number of the database engine to use.
16466	EngineVersion *string `type:"string"`
16467
16468	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
16469	// zone.
16470	HostedZoneId *string `type:"string"`
16471
16472	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
16473	HttpEndpointEnabled *bool `type:"boolean"`
16474
16475	// Whether the mapping of IAM accounts to database accounts is enabled.
16476	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
16477
16478	// The ARN of the AWS KMS master key that is used to encrypt the database instances
16479	// in the DB cluster.
16480	KmsKeyId *string `type:"string"`
16481
16482	// The name of the master user for the DB cluster.
16483	MasterUsername *string `type:"string"`
16484
16485	// Whether the DB cluster has instances in multiple Availability Zones.
16486	MultiAz *bool `type:"boolean"`
16487
16488	// The port number on which the DB instances in the DB cluster accept connections.
16489	Port *int64 `type:"integer"`
16490
16491	// The range of time each day when automated backups are created, if automated
16492	// backups are enabled.
16493	//
16494	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
16495	PreferredBackupWindow *string `type:"string"`
16496
16497	// The weekly time range during which system maintenance can occur, in Universal
16498	// Coordinated Time (UTC).
16499	//
16500	// Uses the format <day>:HH:MM-<day>:HH:MM.
16501	//
16502	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
16503	//
16504	// For example, sun:09:32-sun:10:02.
16505	PreferredMaintenanceWindow *string `type:"string"`
16506
16507	// The identifiers of the read replicas that are associated with this DB cluster.
16508	ReadReplicaIdentifiers []*string `type:"list"`
16509
16510	// The reader endpoint for the DB cluster.
16511	ReaderEndpoint *string `type:"string"`
16512
16513	// The current status of this DB cluster.
16514	Status *string `type:"string"`
16515
16516	// Whether the DB cluster is encrypted.
16517	StorageEncrypted *bool `type:"boolean"`
16518
16519	// A list of VPC security groups that the DB cluster belongs to.
16520	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
16521}
16522
16523// String returns the string representation
16524func (s AwsRdsDbClusterDetails) String() string {
16525	return awsutil.Prettify(s)
16526}
16527
16528// GoString returns the string representation
16529func (s AwsRdsDbClusterDetails) GoString() string {
16530	return s.String()
16531}
16532
16533// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
16534func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
16535	s.ActivityStreamStatus = &v
16536	return s
16537}
16538
16539// SetAllocatedStorage sets the AllocatedStorage field's value.
16540func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
16541	s.AllocatedStorage = &v
16542	return s
16543}
16544
16545// SetAssociatedRoles sets the AssociatedRoles field's value.
16546func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
16547	s.AssociatedRoles = v
16548	return s
16549}
16550
16551// SetAvailabilityZones sets the AvailabilityZones field's value.
16552func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
16553	s.AvailabilityZones = v
16554	return s
16555}
16556
16557// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16558func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
16559	s.BackupRetentionPeriod = &v
16560	return s
16561}
16562
16563// SetClusterCreateTime sets the ClusterCreateTime field's value.
16564func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
16565	s.ClusterCreateTime = &v
16566	return s
16567}
16568
16569// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
16570func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
16571	s.CopyTagsToSnapshot = &v
16572	return s
16573}
16574
16575// SetCrossAccountClone sets the CrossAccountClone field's value.
16576func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
16577	s.CrossAccountClone = &v
16578	return s
16579}
16580
16581// SetCustomEndpoints sets the CustomEndpoints field's value.
16582func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
16583	s.CustomEndpoints = v
16584	return s
16585}
16586
16587// SetDatabaseName sets the DatabaseName field's value.
16588func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
16589	s.DatabaseName = &v
16590	return s
16591}
16592
16593// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
16594func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
16595	s.DbClusterIdentifier = &v
16596	return s
16597}
16598
16599// SetDbClusterMembers sets the DbClusterMembers field's value.
16600func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
16601	s.DbClusterMembers = v
16602	return s
16603}
16604
16605// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
16606func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
16607	s.DbClusterOptionGroupMemberships = v
16608	return s
16609}
16610
16611// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
16612func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
16613	s.DbClusterParameterGroup = &v
16614	return s
16615}
16616
16617// SetDbClusterResourceId sets the DbClusterResourceId field's value.
16618func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
16619	s.DbClusterResourceId = &v
16620	return s
16621}
16622
16623// SetDbSubnetGroup sets the DbSubnetGroup field's value.
16624func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
16625	s.DbSubnetGroup = &v
16626	return s
16627}
16628
16629// SetDeletionProtection sets the DeletionProtection field's value.
16630func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
16631	s.DeletionProtection = &v
16632	return s
16633}
16634
16635// SetDomainMemberships sets the DomainMemberships field's value.
16636func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
16637	s.DomainMemberships = v
16638	return s
16639}
16640
16641// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
16642func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
16643	s.EnabledCloudWatchLogsExports = v
16644	return s
16645}
16646
16647// SetEndpoint sets the Endpoint field's value.
16648func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
16649	s.Endpoint = &v
16650	return s
16651}
16652
16653// SetEngine sets the Engine field's value.
16654func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
16655	s.Engine = &v
16656	return s
16657}
16658
16659// SetEngineMode sets the EngineMode field's value.
16660func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
16661	s.EngineMode = &v
16662	return s
16663}
16664
16665// SetEngineVersion sets the EngineVersion field's value.
16666func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
16667	s.EngineVersion = &v
16668	return s
16669}
16670
16671// SetHostedZoneId sets the HostedZoneId field's value.
16672func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
16673	s.HostedZoneId = &v
16674	return s
16675}
16676
16677// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
16678func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
16679	s.HttpEndpointEnabled = &v
16680	return s
16681}
16682
16683// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
16684func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
16685	s.IamDatabaseAuthenticationEnabled = &v
16686	return s
16687}
16688
16689// SetKmsKeyId sets the KmsKeyId field's value.
16690func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
16691	s.KmsKeyId = &v
16692	return s
16693}
16694
16695// SetMasterUsername sets the MasterUsername field's value.
16696func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
16697	s.MasterUsername = &v
16698	return s
16699}
16700
16701// SetMultiAz sets the MultiAz field's value.
16702func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
16703	s.MultiAz = &v
16704	return s
16705}
16706
16707// SetPort sets the Port field's value.
16708func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
16709	s.Port = &v
16710	return s
16711}
16712
16713// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
16714func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
16715	s.PreferredBackupWindow = &v
16716	return s
16717}
16718
16719// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
16720func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
16721	s.PreferredMaintenanceWindow = &v
16722	return s
16723}
16724
16725// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
16726func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
16727	s.ReadReplicaIdentifiers = v
16728	return s
16729}
16730
16731// SetReaderEndpoint sets the ReaderEndpoint field's value.
16732func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
16733	s.ReaderEndpoint = &v
16734	return s
16735}
16736
16737// SetStatus sets the Status field's value.
16738func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
16739	s.Status = &v
16740	return s
16741}
16742
16743// SetStorageEncrypted sets the StorageEncrypted field's value.
16744func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
16745	s.StorageEncrypted = &v
16746	return s
16747}
16748
16749// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
16750func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
16751	s.VpcSecurityGroups = v
16752	return s
16753}
16754
16755// Information about an instance in the DB cluster.
16756type AwsRdsDbClusterMember struct {
16757	_ struct{} `type:"structure"`
16758
16759	// The status of the DB cluster parameter group for this member of the DB cluster.
16760	DbClusterParameterGroupStatus *string `type:"string"`
16761
16762	// The instance identifier for this member of the DB cluster.
16763	DbInstanceIdentifier *string `type:"string"`
16764
16765	// Whether the cluster member is the primary instance for the DB cluster.
16766	IsClusterWriter *bool `type:"boolean"`
16767
16768	// Specifies the order in which an Aurora replica is promoted to the primary
16769	// instance when the existing primary instance fails.
16770	PromotionTier *int64 `type:"integer"`
16771}
16772
16773// String returns the string representation
16774func (s AwsRdsDbClusterMember) String() string {
16775	return awsutil.Prettify(s)
16776}
16777
16778// GoString returns the string representation
16779func (s AwsRdsDbClusterMember) GoString() string {
16780	return s.String()
16781}
16782
16783// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
16784func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
16785	s.DbClusterParameterGroupStatus = &v
16786	return s
16787}
16788
16789// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
16790func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
16791	s.DbInstanceIdentifier = &v
16792	return s
16793}
16794
16795// SetIsClusterWriter sets the IsClusterWriter field's value.
16796func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
16797	s.IsClusterWriter = &v
16798	return s
16799}
16800
16801// SetPromotionTier sets the PromotionTier field's value.
16802func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
16803	s.PromotionTier = &v
16804	return s
16805}
16806
16807// Information about an option group membership for a DB cluster.
16808type AwsRdsDbClusterOptionGroupMembership struct {
16809	_ struct{} `type:"structure"`
16810
16811	// The name of the DB cluster option group.
16812	DbClusterOptionGroupName *string `type:"string"`
16813
16814	// The status of the DB cluster option group.
16815	Status *string `type:"string"`
16816}
16817
16818// String returns the string representation
16819func (s AwsRdsDbClusterOptionGroupMembership) String() string {
16820	return awsutil.Prettify(s)
16821}
16822
16823// GoString returns the string representation
16824func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
16825	return s.String()
16826}
16827
16828// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
16829func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
16830	s.DbClusterOptionGroupName = &v
16831	return s
16832}
16833
16834// SetStatus sets the Status field's value.
16835func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
16836	s.Status = &v
16837	return s
16838}
16839
16840// Information about an Amazon RDS DB cluster snapshot.
16841type AwsRdsDbClusterSnapshotDetails struct {
16842	_ struct{} `type:"structure"`
16843
16844	// Specifies the allocated storage size in gibibytes (GiB).
16845	AllocatedStorage *int64 `type:"integer"`
16846
16847	// A list of Availability Zones where instances in the DB cluster can be created.
16848	AvailabilityZones []*string `type:"list"`
16849
16850	// Indicates when the DB cluster was created, in Universal Coordinated Time
16851	// (UTC).
16852	//
16853	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16854	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16855	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16856	ClusterCreateTime *string `type:"string"`
16857
16858	// The DB cluster identifier.
16859	DbClusterIdentifier *string `type:"string"`
16860
16861	// The identifier of the DB cluster snapshot.
16862	DbClusterSnapshotIdentifier *string `type:"string"`
16863
16864	// The name of the database engine that you want to use for this DB instance.
16865	Engine *string `type:"string"`
16866
16867	// The version of the database engine to use.
16868	EngineVersion *string `type:"string"`
16869
16870	// Whether mapping of IAM accounts to database accounts is enabled.
16871	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
16872
16873	// The ARN of the AWS KMS master key that is used to encrypt the database instances
16874	// in the DB cluster.
16875	KmsKeyId *string `type:"string"`
16876
16877	// The license model information for this DB cluster snapshot.
16878	LicenseModel *string `type:"string"`
16879
16880	// The name of the master user for the DB cluster.
16881	MasterUsername *string `type:"string"`
16882
16883	// Specifies the percentage of the estimated data that has been transferred.
16884	PercentProgress *int64 `type:"integer"`
16885
16886	// The port number on which the DB instances in the DB cluster accept connections.
16887	Port *int64 `type:"integer"`
16888
16889	// Indicates when the snapshot was taken.
16890	//
16891	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16892	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16893	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16894	SnapshotCreateTime *string `type:"string"`
16895
16896	// The type of DB cluster snapshot.
16897	SnapshotType *string `type:"string"`
16898
16899	// The status of this DB cluster snapshot.
16900	Status *string `type:"string"`
16901
16902	// Whether the DB cluster is encrypted.
16903	StorageEncrypted *bool `type:"boolean"`
16904
16905	// The VPC ID that is associated with the DB cluster snapshot.
16906	VpcId *string `type:"string"`
16907}
16908
16909// String returns the string representation
16910func (s AwsRdsDbClusterSnapshotDetails) String() string {
16911	return awsutil.Prettify(s)
16912}
16913
16914// GoString returns the string representation
16915func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
16916	return s.String()
16917}
16918
16919// SetAllocatedStorage sets the AllocatedStorage field's value.
16920func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
16921	s.AllocatedStorage = &v
16922	return s
16923}
16924
16925// SetAvailabilityZones sets the AvailabilityZones field's value.
16926func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
16927	s.AvailabilityZones = v
16928	return s
16929}
16930
16931// SetClusterCreateTime sets the ClusterCreateTime field's value.
16932func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
16933	s.ClusterCreateTime = &v
16934	return s
16935}
16936
16937// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
16938func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
16939	s.DbClusterIdentifier = &v
16940	return s
16941}
16942
16943// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
16944func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
16945	s.DbClusterSnapshotIdentifier = &v
16946	return s
16947}
16948
16949// SetEngine sets the Engine field's value.
16950func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
16951	s.Engine = &v
16952	return s
16953}
16954
16955// SetEngineVersion sets the EngineVersion field's value.
16956func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
16957	s.EngineVersion = &v
16958	return s
16959}
16960
16961// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
16962func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
16963	s.IamDatabaseAuthenticationEnabled = &v
16964	return s
16965}
16966
16967// SetKmsKeyId sets the KmsKeyId field's value.
16968func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
16969	s.KmsKeyId = &v
16970	return s
16971}
16972
16973// SetLicenseModel sets the LicenseModel field's value.
16974func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
16975	s.LicenseModel = &v
16976	return s
16977}
16978
16979// SetMasterUsername sets the MasterUsername field's value.
16980func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
16981	s.MasterUsername = &v
16982	return s
16983}
16984
16985// SetPercentProgress sets the PercentProgress field's value.
16986func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
16987	s.PercentProgress = &v
16988	return s
16989}
16990
16991// SetPort sets the Port field's value.
16992func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
16993	s.Port = &v
16994	return s
16995}
16996
16997// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
16998func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
16999	s.SnapshotCreateTime = &v
17000	return s
17001}
17002
17003// SetSnapshotType sets the SnapshotType field's value.
17004func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
17005	s.SnapshotType = &v
17006	return s
17007}
17008
17009// SetStatus sets the Status field's value.
17010func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
17011	s.Status = &v
17012	return s
17013}
17014
17015// SetStorageEncrypted sets the StorageEncrypted field's value.
17016func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
17017	s.StorageEncrypted = &v
17018	return s
17019}
17020
17021// SetVpcId sets the VpcId field's value.
17022func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
17023	s.VpcId = &v
17024	return s
17025}
17026
17027// Information about an Active Directory domain membership record associated
17028// with the DB instance.
17029type AwsRdsDbDomainMembership struct {
17030	_ struct{} `type:"structure"`
17031
17032	// The identifier of the Active Directory domain.
17033	Domain *string `type:"string"`
17034
17035	// The fully qualified domain name of the Active Directory domain.
17036	Fqdn *string `type:"string"`
17037
17038	// The name of the IAM role to use when making API calls to the Directory Service.
17039	IamRoleName *string `type:"string"`
17040
17041	// The status of the Active Directory Domain membership for the DB instance.
17042	Status *string `type:"string"`
17043}
17044
17045// String returns the string representation
17046func (s AwsRdsDbDomainMembership) String() string {
17047	return awsutil.Prettify(s)
17048}
17049
17050// GoString returns the string representation
17051func (s AwsRdsDbDomainMembership) GoString() string {
17052	return s.String()
17053}
17054
17055// SetDomain sets the Domain field's value.
17056func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
17057	s.Domain = &v
17058	return s
17059}
17060
17061// SetFqdn sets the Fqdn field's value.
17062func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
17063	s.Fqdn = &v
17064	return s
17065}
17066
17067// SetIamRoleName sets the IamRoleName field's value.
17068func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
17069	s.IamRoleName = &v
17070	return s
17071}
17072
17073// SetStatus sets the Status field's value.
17074func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
17075	s.Status = &v
17076	return s
17077}
17078
17079// An AWS Identity and Access Management (IAM) role associated with the DB instance.
17080type AwsRdsDbInstanceAssociatedRole struct {
17081	_ struct{} `type:"structure"`
17082
17083	// The name of the feature associated with the IAM)role.
17084	FeatureName *string `type:"string"`
17085
17086	// The ARN of the IAM role that is associated with the DB instance.
17087	RoleArn *string `type:"string"`
17088
17089	// Describes the state of the association between the IAM role and the DB instance.
17090	// The Status property returns one of the following values:
17091	//
17092	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
17093	//    be used to access other AWS services on your behalf.
17094	//
17095	//    * PENDING - The IAM role ARN is being associated with the DB instance.
17096	//
17097	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
17098	//    DB instance is unable to assume the IAM role in order to access other
17099	//    AWS services on your behalf.
17100	Status *string `type:"string"`
17101}
17102
17103// String returns the string representation
17104func (s AwsRdsDbInstanceAssociatedRole) String() string {
17105	return awsutil.Prettify(s)
17106}
17107
17108// GoString returns the string representation
17109func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
17110	return s.String()
17111}
17112
17113// SetFeatureName sets the FeatureName field's value.
17114func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
17115	s.FeatureName = &v
17116	return s
17117}
17118
17119// SetRoleArn sets the RoleArn field's value.
17120func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
17121	s.RoleArn = &v
17122	return s
17123}
17124
17125// SetStatus sets the Status field's value.
17126func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
17127	s.Status = &v
17128	return s
17129}
17130
17131// Contains the details of an Amazon RDS DB instance.
17132type AwsRdsDbInstanceDetails struct {
17133	_ struct{} `type:"structure"`
17134
17135	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
17136	AllocatedStorage *int64 `type:"integer"`
17137
17138	// The AWS Identity and Access Management (IAM) roles associated with the DB
17139	// instance.
17140	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
17141
17142	// Indicates whether minor version patches are applied automatically.
17143	AutoMinorVersionUpgrade *bool `type:"boolean"`
17144
17145	// The Availability Zone where the DB instance will be created.
17146	AvailabilityZone *string `type:"string"`
17147
17148	// The number of days for which to retain automated backups.
17149	BackupRetentionPeriod *int64 `type:"integer"`
17150
17151	// The identifier of the CA certificate for this DB instance.
17152	CACertificateIdentifier *string `type:"string"`
17153
17154	// The name of the character set that this DB instance is associated with.
17155	CharacterSetName *string `type:"string"`
17156
17157	// Whether to copy resource tags to snapshots of the DB instance.
17158	CopyTagsToSnapshot *bool `type:"boolean"`
17159
17160	// If the DB instance is a member of a DB cluster, contains the name of the
17161	// DB cluster that the DB instance is a member of.
17162	DBClusterIdentifier *string `type:"string"`
17163
17164	// Contains the name of the compute and memory capacity class of the DB instance.
17165	DBInstanceClass *string `type:"string"`
17166
17167	// Contains a user-supplied database identifier. This identifier is the unique
17168	// key that identifies a DB instance.
17169	DBInstanceIdentifier *string `type:"string"`
17170
17171	// The meaning of this parameter differs according to the database engine you
17172	// use.
17173	//
17174	// MySQL, MariaDB, SQL Server, PostgreSQL
17175	//
17176	// Contains the name of the initial database of this instance that was provided
17177	// at create time, if one was specified when the DB instance was created. This
17178	// same name is returned for the life of the DB instance.
17179	//
17180	// Oracle
17181	//
17182	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
17183	// when the returned parameters do not apply to an Oracle DB instance.
17184	DBName *string `type:"string"`
17185
17186	// Specifies the port that the DB instance listens on. If the DB instance is
17187	// part of a DB cluster, this can be a different port than the DB cluster port.
17188	DbInstancePort *int64 `type:"integer"`
17189
17190	// The current status of the DB instance.
17191	DbInstanceStatus *string `type:"string"`
17192
17193	// A list of the DB parameter groups to assign to the DB instance.
17194	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
17195
17196	// A list of the DB security groups to assign to the DB instance.
17197	DbSecurityGroups []*string `type:"list"`
17198
17199	// Information about the subnet group that is associated with the DB instance.
17200	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
17201
17202	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
17203	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
17204	// instance is accessed.
17205	DbiResourceId *string `type:"string"`
17206
17207	// Indicates whether the DB instance has deletion protection enabled.
17208	//
17209	// When deletion protection is enabled, the database cannot be deleted.
17210	DeletionProtection *bool `type:"boolean"`
17211
17212	// The Active Directory domain membership records associated with the DB instance.
17213	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
17214
17215	// A list of log types that this DB instance is configured to export to CloudWatch
17216	// Logs.
17217	EnabledCloudWatchLogsExports []*string `type:"list"`
17218
17219	// Specifies the connection endpoint.
17220	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
17221
17222	// Provides the name of the database engine to use for this DB instance.
17223	Engine *string `type:"string"`
17224
17225	// Indicates the database engine version.
17226	EngineVersion *string `type:"string"`
17227
17228	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
17229	// metrics data for the DB instance.
17230	EnhancedMonitoringResourceArn *string `type:"string"`
17231
17232	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
17233	// accounts is enabled, and otherwise false.
17234	//
17235	// IAM database authentication can be enabled for the following database engines.
17236	//
17237	//    * For MySQL 5.6, minor version 5.6.34 or higher
17238	//
17239	//    * For MySQL 5.7, minor version 5.7.16 or higher
17240	//
17241	//    * Aurora 5.6 or higher
17242	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
17243
17244	// Indicates when the DB instance was created.
17245	//
17246	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17247	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17248	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17249	InstanceCreateTime *string `type:"string"`
17250
17251	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
17252	Iops *int64 `type:"integer"`
17253
17254	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
17255	// DB instance.
17256	KmsKeyId *string `type:"string"`
17257
17258	// Specifies the latest time to which a database can be restored with point-in-time
17259	// restore.
17260	//
17261	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17262	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17263	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17264	LatestRestorableTime *string `type:"string"`
17265
17266	// License model information for this DB instance.
17267	LicenseModel *string `type:"string"`
17268
17269	// Specifies the connection endpoint.
17270	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
17271
17272	// The master user name of the DB instance.
17273	MasterUsername *string `type:"string"`
17274
17275	// The upper limit to which Amazon RDS can automatically scale the storage of
17276	// the DB instance.
17277	MaxAllocatedStorage *int64 `type:"integer"`
17278
17279	// The interval, in seconds, between points when enhanced monitoring metrics
17280	// are collected for the DB instance.
17281	MonitoringInterval *int64 `type:"integer"`
17282
17283	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
17284	// metrics to CloudWatch Logs.
17285	MonitoringRoleArn *string `type:"string"`
17286
17287	// Whether the DB instance is a multiple Availability Zone deployment.
17288	MultiAz *bool `type:"boolean"`
17289
17290	// The list of option group memberships for this DB instance.
17291	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
17292
17293	// Changes to the DB instance that are currently pending.
17294	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
17295
17296	// Indicates whether Performance Insights is enabled for the DB instance.
17297	PerformanceInsightsEnabled *bool `type:"boolean"`
17298
17299	// The identifier of the AWS KMS key used to encrypt the Performance Insights
17300	// data.
17301	PerformanceInsightsKmsKeyId *string `type:"string"`
17302
17303	// The number of days to retain Performance Insights data.
17304	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
17305
17306	// The range of time each day when automated backups are created, if automated
17307	// backups are enabled.
17308	//
17309	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
17310	PreferredBackupWindow *string `type:"string"`
17311
17312	// The weekly time range during which system maintenance can occur, in Universal
17313	// Coordinated Time (UTC).
17314	//
17315	// Uses the format <day>:HH:MM-<day>:HH:MM.
17316	//
17317	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
17318	//
17319	// For example, sun:09:32-sun:10:02.
17320	PreferredMaintenanceWindow *string `type:"string"`
17321
17322	// The number of CPU cores and the number of threads per core for the DB instance
17323	// class of the DB instance.
17324	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
17325
17326	// The order in which to promote an Aurora replica to the primary instance after
17327	// a failure of the existing primary instance.
17328	PromotionTier *int64 `type:"integer"`
17329
17330	// Specifies the accessibility options for the DB instance.
17331	//
17332	// A value of true specifies an Internet-facing instance with a publicly resolvable
17333	// DNS name, which resolves to a public IP address.
17334	//
17335	// A value of false specifies an internal instance with a DNS name that resolves
17336	// to a private IP address.
17337	PubliclyAccessible *bool `type:"boolean"`
17338
17339	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
17340	// replicated as a read replica.
17341	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
17342
17343	// List of identifiers of the read replicas associated with this DB instance.
17344	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
17345
17346	// If this DB instance is a read replica, contains the identifier of the source
17347	// DB instance.
17348	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
17349
17350	// For a DB instance with multi-Availability Zone support, the name of the secondary
17351	// Availability Zone.
17352	SecondaryAvailabilityZone *string `type:"string"`
17353
17354	// The status of a read replica. If the instance isn't a read replica, this
17355	// is empty.
17356	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
17357
17358	// Specifies whether the DB instance is encrypted.
17359	StorageEncrypted *bool `type:"boolean"`
17360
17361	// The storage type for the DB instance.
17362	StorageType *string `type:"string"`
17363
17364	// The ARN from the key store with which the instance is associated for TDE
17365	// encryption.
17366	TdeCredentialArn *string `type:"string"`
17367
17368	// The time zone of the DB instance.
17369	Timezone *string `type:"string"`
17370
17371	// A list of VPC security groups that the DB instance belongs to.
17372	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
17373}
17374
17375// String returns the string representation
17376func (s AwsRdsDbInstanceDetails) String() string {
17377	return awsutil.Prettify(s)
17378}
17379
17380// GoString returns the string representation
17381func (s AwsRdsDbInstanceDetails) GoString() string {
17382	return s.String()
17383}
17384
17385// SetAllocatedStorage sets the AllocatedStorage field's value.
17386func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
17387	s.AllocatedStorage = &v
17388	return s
17389}
17390
17391// SetAssociatedRoles sets the AssociatedRoles field's value.
17392func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
17393	s.AssociatedRoles = v
17394	return s
17395}
17396
17397// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
17398func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
17399	s.AutoMinorVersionUpgrade = &v
17400	return s
17401}
17402
17403// SetAvailabilityZone sets the AvailabilityZone field's value.
17404func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
17405	s.AvailabilityZone = &v
17406	return s
17407}
17408
17409// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
17410func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
17411	s.BackupRetentionPeriod = &v
17412	return s
17413}
17414
17415// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
17416func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
17417	s.CACertificateIdentifier = &v
17418	return s
17419}
17420
17421// SetCharacterSetName sets the CharacterSetName field's value.
17422func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
17423	s.CharacterSetName = &v
17424	return s
17425}
17426
17427// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
17428func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
17429	s.CopyTagsToSnapshot = &v
17430	return s
17431}
17432
17433// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17434func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
17435	s.DBClusterIdentifier = &v
17436	return s
17437}
17438
17439// SetDBInstanceClass sets the DBInstanceClass field's value.
17440func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
17441	s.DBInstanceClass = &v
17442	return s
17443}
17444
17445// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
17446func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
17447	s.DBInstanceIdentifier = &v
17448	return s
17449}
17450
17451// SetDBName sets the DBName field's value.
17452func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
17453	s.DBName = &v
17454	return s
17455}
17456
17457// SetDbInstancePort sets the DbInstancePort field's value.
17458func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
17459	s.DbInstancePort = &v
17460	return s
17461}
17462
17463// SetDbInstanceStatus sets the DbInstanceStatus field's value.
17464func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
17465	s.DbInstanceStatus = &v
17466	return s
17467}
17468
17469// SetDbParameterGroups sets the DbParameterGroups field's value.
17470func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
17471	s.DbParameterGroups = v
17472	return s
17473}
17474
17475// SetDbSecurityGroups sets the DbSecurityGroups field's value.
17476func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
17477	s.DbSecurityGroups = v
17478	return s
17479}
17480
17481// SetDbSubnetGroup sets the DbSubnetGroup field's value.
17482func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
17483	s.DbSubnetGroup = v
17484	return s
17485}
17486
17487// SetDbiResourceId sets the DbiResourceId field's value.
17488func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
17489	s.DbiResourceId = &v
17490	return s
17491}
17492
17493// SetDeletionProtection sets the DeletionProtection field's value.
17494func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
17495	s.DeletionProtection = &v
17496	return s
17497}
17498
17499// SetDomainMemberships sets the DomainMemberships field's value.
17500func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
17501	s.DomainMemberships = v
17502	return s
17503}
17504
17505// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
17506func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
17507	s.EnabledCloudWatchLogsExports = v
17508	return s
17509}
17510
17511// SetEndpoint sets the Endpoint field's value.
17512func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
17513	s.Endpoint = v
17514	return s
17515}
17516
17517// SetEngine sets the Engine field's value.
17518func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
17519	s.Engine = &v
17520	return s
17521}
17522
17523// SetEngineVersion sets the EngineVersion field's value.
17524func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
17525	s.EngineVersion = &v
17526	return s
17527}
17528
17529// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
17530func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
17531	s.EnhancedMonitoringResourceArn = &v
17532	return s
17533}
17534
17535// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
17536func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
17537	s.IAMDatabaseAuthenticationEnabled = &v
17538	return s
17539}
17540
17541// SetInstanceCreateTime sets the InstanceCreateTime field's value.
17542func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
17543	s.InstanceCreateTime = &v
17544	return s
17545}
17546
17547// SetIops sets the Iops field's value.
17548func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
17549	s.Iops = &v
17550	return s
17551}
17552
17553// SetKmsKeyId sets the KmsKeyId field's value.
17554func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
17555	s.KmsKeyId = &v
17556	return s
17557}
17558
17559// SetLatestRestorableTime sets the LatestRestorableTime field's value.
17560func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
17561	s.LatestRestorableTime = &v
17562	return s
17563}
17564
17565// SetLicenseModel sets the LicenseModel field's value.
17566func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
17567	s.LicenseModel = &v
17568	return s
17569}
17570
17571// SetListenerEndpoint sets the ListenerEndpoint field's value.
17572func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
17573	s.ListenerEndpoint = v
17574	return s
17575}
17576
17577// SetMasterUsername sets the MasterUsername field's value.
17578func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
17579	s.MasterUsername = &v
17580	return s
17581}
17582
17583// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
17584func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
17585	s.MaxAllocatedStorage = &v
17586	return s
17587}
17588
17589// SetMonitoringInterval sets the MonitoringInterval field's value.
17590func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
17591	s.MonitoringInterval = &v
17592	return s
17593}
17594
17595// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
17596func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
17597	s.MonitoringRoleArn = &v
17598	return s
17599}
17600
17601// SetMultiAz sets the MultiAz field's value.
17602func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
17603	s.MultiAz = &v
17604	return s
17605}
17606
17607// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
17608func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
17609	s.OptionGroupMemberships = v
17610	return s
17611}
17612
17613// SetPendingModifiedValues sets the PendingModifiedValues field's value.
17614func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
17615	s.PendingModifiedValues = v
17616	return s
17617}
17618
17619// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
17620func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
17621	s.PerformanceInsightsEnabled = &v
17622	return s
17623}
17624
17625// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
17626func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
17627	s.PerformanceInsightsKmsKeyId = &v
17628	return s
17629}
17630
17631// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
17632func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
17633	s.PerformanceInsightsRetentionPeriod = &v
17634	return s
17635}
17636
17637// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
17638func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
17639	s.PreferredBackupWindow = &v
17640	return s
17641}
17642
17643// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17644func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
17645	s.PreferredMaintenanceWindow = &v
17646	return s
17647}
17648
17649// SetProcessorFeatures sets the ProcessorFeatures field's value.
17650func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
17651	s.ProcessorFeatures = v
17652	return s
17653}
17654
17655// SetPromotionTier sets the PromotionTier field's value.
17656func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
17657	s.PromotionTier = &v
17658	return s
17659}
17660
17661// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17662func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
17663	s.PubliclyAccessible = &v
17664	return s
17665}
17666
17667// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
17668func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
17669	s.ReadReplicaDBClusterIdentifiers = v
17670	return s
17671}
17672
17673// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
17674func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
17675	s.ReadReplicaDBInstanceIdentifiers = v
17676	return s
17677}
17678
17679// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
17680func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
17681	s.ReadReplicaSourceDBInstanceIdentifier = &v
17682	return s
17683}
17684
17685// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
17686func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
17687	s.SecondaryAvailabilityZone = &v
17688	return s
17689}
17690
17691// SetStatusInfos sets the StatusInfos field's value.
17692func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
17693	s.StatusInfos = v
17694	return s
17695}
17696
17697// SetStorageEncrypted sets the StorageEncrypted field's value.
17698func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
17699	s.StorageEncrypted = &v
17700	return s
17701}
17702
17703// SetStorageType sets the StorageType field's value.
17704func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
17705	s.StorageType = &v
17706	return s
17707}
17708
17709// SetTdeCredentialArn sets the TdeCredentialArn field's value.
17710func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
17711	s.TdeCredentialArn = &v
17712	return s
17713}
17714
17715// SetTimezone sets the Timezone field's value.
17716func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
17717	s.Timezone = &v
17718	return s
17719}
17720
17721// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
17722func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
17723	s.VpcSecurityGroups = v
17724	return s
17725}
17726
17727// Specifies the connection endpoint.
17728type AwsRdsDbInstanceEndpoint struct {
17729	_ struct{} `type:"structure"`
17730
17731	// Specifies the DNS address of the DB instance.
17732	Address *string `type:"string"`
17733
17734	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
17735	HostedZoneId *string `type:"string"`
17736
17737	// Specifies the port that the database engine is listening on.
17738	Port *int64 `type:"integer"`
17739}
17740
17741// String returns the string representation
17742func (s AwsRdsDbInstanceEndpoint) String() string {
17743	return awsutil.Prettify(s)
17744}
17745
17746// GoString returns the string representation
17747func (s AwsRdsDbInstanceEndpoint) GoString() string {
17748	return s.String()
17749}
17750
17751// SetAddress sets the Address field's value.
17752func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
17753	s.Address = &v
17754	return s
17755}
17756
17757// SetHostedZoneId sets the HostedZoneId field's value.
17758func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
17759	s.HostedZoneId = &v
17760	return s
17761}
17762
17763// SetPort sets the Port field's value.
17764func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
17765	s.Port = &v
17766	return s
17767}
17768
17769// A VPC security groups that the DB instance belongs to.
17770type AwsRdsDbInstanceVpcSecurityGroup struct {
17771	_ struct{} `type:"structure"`
17772
17773	// The status of the VPC security group.
17774	Status *string `type:"string"`
17775
17776	// The name of the VPC security group.
17777	VpcSecurityGroupId *string `type:"string"`
17778}
17779
17780// String returns the string representation
17781func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
17782	return awsutil.Prettify(s)
17783}
17784
17785// GoString returns the string representation
17786func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
17787	return s.String()
17788}
17789
17790// SetStatus sets the Status field's value.
17791func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
17792	s.Status = &v
17793	return s
17794}
17795
17796// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
17797func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
17798	s.VpcSecurityGroupId = &v
17799	return s
17800}
17801
17802// An option group membership.
17803type AwsRdsDbOptionGroupMembership struct {
17804	_ struct{} `type:"structure"`
17805
17806	// The name of the option group.
17807	OptionGroupName *string `type:"string"`
17808
17809	// The status of the option group membership.
17810	Status *string `type:"string"`
17811}
17812
17813// String returns the string representation
17814func (s AwsRdsDbOptionGroupMembership) String() string {
17815	return awsutil.Prettify(s)
17816}
17817
17818// GoString returns the string representation
17819func (s AwsRdsDbOptionGroupMembership) GoString() string {
17820	return s.String()
17821}
17822
17823// SetOptionGroupName sets the OptionGroupName field's value.
17824func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
17825	s.OptionGroupName = &v
17826	return s
17827}
17828
17829// SetStatus sets the Status field's value.
17830func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
17831	s.Status = &v
17832	return s
17833}
17834
17835// Provides information about a parameter group for a DB instance.
17836type AwsRdsDbParameterGroup struct {
17837	_ struct{} `type:"structure"`
17838
17839	// The name of the parameter group.
17840	DbParameterGroupName *string `type:"string"`
17841
17842	// The status of parameter updates.
17843	ParameterApplyStatus *string `type:"string"`
17844}
17845
17846// String returns the string representation
17847func (s AwsRdsDbParameterGroup) String() string {
17848	return awsutil.Prettify(s)
17849}
17850
17851// GoString returns the string representation
17852func (s AwsRdsDbParameterGroup) GoString() string {
17853	return s.String()
17854}
17855
17856// SetDbParameterGroupName sets the DbParameterGroupName field's value.
17857func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
17858	s.DbParameterGroupName = &v
17859	return s
17860}
17861
17862// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
17863func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
17864	s.ParameterApplyStatus = &v
17865	return s
17866}
17867
17868// Changes to a DB instance that are currently pending.
17869type AwsRdsDbPendingModifiedValues struct {
17870	_ struct{} `type:"structure"`
17871
17872	// The new value of the allocated storage for the DB instance.
17873	AllocatedStorage *int64 `type:"integer"`
17874
17875	// The new backup retention period for the DB instance.
17876	BackupRetentionPeriod *int64 `type:"integer"`
17877
17878	// The new CA certificate identifier for the DB instance.
17879	CaCertificateIdentifier *string `type:"string"`
17880
17881	// The new DB instance class for the DB instance.
17882	DbInstanceClass *string `type:"string"`
17883
17884	// The new DB instance identifier for the DB instance.
17885	DbInstanceIdentifier *string `type:"string"`
17886
17887	// The name of the new subnet group for the DB instance.
17888	DbSubnetGroupName *string `type:"string"`
17889
17890	// The new engine version for the DB instance.
17891	EngineVersion *string `type:"string"`
17892
17893	// The new provisioned IOPS value for the DB instance.
17894	Iops *int64 `type:"integer"`
17895
17896	// The new license model value for the DB instance.
17897	LicenseModel *string `type:"string"`
17898
17899	// The new master user password for the DB instance.
17900	MasterUserPassword *string `type:"string"`
17901
17902	// Indicates that a single Availability Zone DB instance is changing to a multiple
17903	// Availability Zone deployment.
17904	MultiAZ *bool `type:"boolean"`
17905
17906	// A list of log types that are being enabled or disabled.
17907	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
17908
17909	// The new port for the DB instance.
17910	Port *int64 `type:"integer"`
17911
17912	// Processor features that are being updated.
17913	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
17914
17915	// The new storage type for the DB instance.
17916	StorageType *string `type:"string"`
17917}
17918
17919// String returns the string representation
17920func (s AwsRdsDbPendingModifiedValues) String() string {
17921	return awsutil.Prettify(s)
17922}
17923
17924// GoString returns the string representation
17925func (s AwsRdsDbPendingModifiedValues) GoString() string {
17926	return s.String()
17927}
17928
17929// SetAllocatedStorage sets the AllocatedStorage field's value.
17930func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
17931	s.AllocatedStorage = &v
17932	return s
17933}
17934
17935// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
17936func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
17937	s.BackupRetentionPeriod = &v
17938	return s
17939}
17940
17941// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
17942func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
17943	s.CaCertificateIdentifier = &v
17944	return s
17945}
17946
17947// SetDbInstanceClass sets the DbInstanceClass field's value.
17948func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
17949	s.DbInstanceClass = &v
17950	return s
17951}
17952
17953// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
17954func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
17955	s.DbInstanceIdentifier = &v
17956	return s
17957}
17958
17959// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
17960func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
17961	s.DbSubnetGroupName = &v
17962	return s
17963}
17964
17965// SetEngineVersion sets the EngineVersion field's value.
17966func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
17967	s.EngineVersion = &v
17968	return s
17969}
17970
17971// SetIops sets the Iops field's value.
17972func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
17973	s.Iops = &v
17974	return s
17975}
17976
17977// SetLicenseModel sets the LicenseModel field's value.
17978func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
17979	s.LicenseModel = &v
17980	return s
17981}
17982
17983// SetMasterUserPassword sets the MasterUserPassword field's value.
17984func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
17985	s.MasterUserPassword = &v
17986	return s
17987}
17988
17989// SetMultiAZ sets the MultiAZ field's value.
17990func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
17991	s.MultiAZ = &v
17992	return s
17993}
17994
17995// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
17996func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
17997	s.PendingCloudWatchLogsExports = v
17998	return s
17999}
18000
18001// SetPort sets the Port field's value.
18002func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
18003	s.Port = &v
18004	return s
18005}
18006
18007// SetProcessorFeatures sets the ProcessorFeatures field's value.
18008func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
18009	s.ProcessorFeatures = v
18010	return s
18011}
18012
18013// SetStorageType sets the StorageType field's value.
18014func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
18015	s.StorageType = &v
18016	return s
18017}
18018
18019// A processor feature.
18020type AwsRdsDbProcessorFeature struct {
18021	_ struct{} `type:"structure"`
18022
18023	// The name of the processor feature.
18024	Name *string `type:"string"`
18025
18026	// The value of the processor feature.
18027	Value *string `type:"string"`
18028}
18029
18030// String returns the string representation
18031func (s AwsRdsDbProcessorFeature) String() string {
18032	return awsutil.Prettify(s)
18033}
18034
18035// GoString returns the string representation
18036func (s AwsRdsDbProcessorFeature) GoString() string {
18037	return s.String()
18038}
18039
18040// SetName sets the Name field's value.
18041func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
18042	s.Name = &v
18043	return s
18044}
18045
18046// SetValue sets the Value field's value.
18047func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
18048	s.Value = &v
18049	return s
18050}
18051
18052// Provides details about an Amazon RDS DB cluster snapshot.
18053type AwsRdsDbSnapshotDetails struct {
18054	_ struct{} `type:"structure"`
18055
18056	// The amount of storage (in gigabytes) to be initially allocated for the database
18057	// instance.
18058	AllocatedStorage *int64 `type:"integer"`
18059
18060	// Specifies the name of the Availability Zone in which the DB instance was
18061	// located at the time of the DB snapshot.
18062	AvailabilityZone *string `type:"string"`
18063
18064	// A name for the DB instance.
18065	DbInstanceIdentifier *string `type:"string"`
18066
18067	// The name or ARN of the DB snapshot that is used to restore the DB instance.
18068	DbSnapshotIdentifier *string `type:"string"`
18069
18070	// The identifier for the source DB instance.
18071	DbiResourceId *string `type:"string"`
18072
18073	// Whether the DB snapshot is encrypted.
18074	Encrypted *bool `type:"boolean"`
18075
18076	// The name of the database engine to use for this DB instance.
18077	Engine *string `type:"string"`
18078
18079	// The version of the database engine.
18080	EngineVersion *string `type:"string"`
18081
18082	// Whether mapping of IAM accounts to database accounts is enabled.
18083	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
18084
18085	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
18086	// from which the snapshot was taken, was created.
18087	InstanceCreateTime *string `type:"string"`
18088
18089	// The provisioned IOPS (I/O operations per second) value of the DB instance
18090	// at the time of the snapshot.
18091	Iops *int64 `type:"integer"`
18092
18093	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
18094	KmsKeyId *string `type:"string"`
18095
18096	// License model information for the restored DB instance.
18097	LicenseModel *string `type:"string"`
18098
18099	// The master user name for the DB snapshot.
18100	MasterUsername *string `type:"string"`
18101
18102	// The option group name for the DB snapshot.
18103	OptionGroupName *string `type:"string"`
18104
18105	// The percentage of the estimated data that has been transferred.
18106	PercentProgress *int64 `type:"integer"`
18107
18108	// The port that the database engine was listening on at the time of the snapshot.
18109	Port *int64 `type:"integer"`
18110
18111	// The number of CPU cores and the number of threads per core for the DB instance
18112	// class of the DB instance.
18113	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
18114
18115	// When the snapshot was taken in Coordinated Universal Time (UTC).
18116	SnapshotCreateTime *string `type:"string"`
18117
18118	// The type of the DB snapshot.
18119	SnapshotType *string `type:"string"`
18120
18121	// The DB snapshot ARN that the DB snapshot was copied from.
18122	SourceDbSnapshotIdentifier *string `type:"string"`
18123
18124	// The AWS Region that the DB snapshot was created in or copied from.
18125	SourceRegion *string `type:"string"`
18126
18127	// The status of this DB snapshot.
18128	Status *string `type:"string"`
18129
18130	// The storage type associated with the DB snapshot.
18131	StorageType *string `type:"string"`
18132
18133	// The ARN from the key store with which to associate the instance for TDE encryption.
18134	TdeCredentialArn *string `type:"string"`
18135
18136	// The time zone of the DB snapshot.
18137	Timezone *string `type:"string"`
18138
18139	// The VPC ID associated with the DB snapshot.
18140	VpcId *string `type:"string"`
18141}
18142
18143// String returns the string representation
18144func (s AwsRdsDbSnapshotDetails) String() string {
18145	return awsutil.Prettify(s)
18146}
18147
18148// GoString returns the string representation
18149func (s AwsRdsDbSnapshotDetails) GoString() string {
18150	return s.String()
18151}
18152
18153// SetAllocatedStorage sets the AllocatedStorage field's value.
18154func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
18155	s.AllocatedStorage = &v
18156	return s
18157}
18158
18159// SetAvailabilityZone sets the AvailabilityZone field's value.
18160func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
18161	s.AvailabilityZone = &v
18162	return s
18163}
18164
18165// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
18166func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
18167	s.DbInstanceIdentifier = &v
18168	return s
18169}
18170
18171// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
18172func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
18173	s.DbSnapshotIdentifier = &v
18174	return s
18175}
18176
18177// SetDbiResourceId sets the DbiResourceId field's value.
18178func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
18179	s.DbiResourceId = &v
18180	return s
18181}
18182
18183// SetEncrypted sets the Encrypted field's value.
18184func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
18185	s.Encrypted = &v
18186	return s
18187}
18188
18189// SetEngine sets the Engine field's value.
18190func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
18191	s.Engine = &v
18192	return s
18193}
18194
18195// SetEngineVersion sets the EngineVersion field's value.
18196func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
18197	s.EngineVersion = &v
18198	return s
18199}
18200
18201// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
18202func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
18203	s.IamDatabaseAuthenticationEnabled = &v
18204	return s
18205}
18206
18207// SetInstanceCreateTime sets the InstanceCreateTime field's value.
18208func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
18209	s.InstanceCreateTime = &v
18210	return s
18211}
18212
18213// SetIops sets the Iops field's value.
18214func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
18215	s.Iops = &v
18216	return s
18217}
18218
18219// SetKmsKeyId sets the KmsKeyId field's value.
18220func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
18221	s.KmsKeyId = &v
18222	return s
18223}
18224
18225// SetLicenseModel sets the LicenseModel field's value.
18226func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
18227	s.LicenseModel = &v
18228	return s
18229}
18230
18231// SetMasterUsername sets the MasterUsername field's value.
18232func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
18233	s.MasterUsername = &v
18234	return s
18235}
18236
18237// SetOptionGroupName sets the OptionGroupName field's value.
18238func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
18239	s.OptionGroupName = &v
18240	return s
18241}
18242
18243// SetPercentProgress sets the PercentProgress field's value.
18244func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
18245	s.PercentProgress = &v
18246	return s
18247}
18248
18249// SetPort sets the Port field's value.
18250func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
18251	s.Port = &v
18252	return s
18253}
18254
18255// SetProcessorFeatures sets the ProcessorFeatures field's value.
18256func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
18257	s.ProcessorFeatures = v
18258	return s
18259}
18260
18261// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
18262func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
18263	s.SnapshotCreateTime = &v
18264	return s
18265}
18266
18267// SetSnapshotType sets the SnapshotType field's value.
18268func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
18269	s.SnapshotType = &v
18270	return s
18271}
18272
18273// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
18274func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
18275	s.SourceDbSnapshotIdentifier = &v
18276	return s
18277}
18278
18279// SetSourceRegion sets the SourceRegion field's value.
18280func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
18281	s.SourceRegion = &v
18282	return s
18283}
18284
18285// SetStatus sets the Status field's value.
18286func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
18287	s.Status = &v
18288	return s
18289}
18290
18291// SetStorageType sets the StorageType field's value.
18292func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
18293	s.StorageType = &v
18294	return s
18295}
18296
18297// SetTdeCredentialArn sets the TdeCredentialArn field's value.
18298func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
18299	s.TdeCredentialArn = &v
18300	return s
18301}
18302
18303// SetTimezone sets the Timezone field's value.
18304func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
18305	s.Timezone = &v
18306	return s
18307}
18308
18309// SetVpcId sets the VpcId field's value.
18310func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
18311	s.VpcId = &v
18312	return s
18313}
18314
18315// Information about the status of a read replica.
18316type AwsRdsDbStatusInfo struct {
18317	_ struct{} `type:"structure"`
18318
18319	// If the read replica is currently in an error state, provides the error details.
18320	Message *string `type:"string"`
18321
18322	// Whether the read replica instance is operating normally.
18323	Normal *bool `type:"boolean"`
18324
18325	// The status of the read replica instance.
18326	Status *string `type:"string"`
18327
18328	// The type of status. For a read replica, the status type is read replication.
18329	StatusType *string `type:"string"`
18330}
18331
18332// String returns the string representation
18333func (s AwsRdsDbStatusInfo) String() string {
18334	return awsutil.Prettify(s)
18335}
18336
18337// GoString returns the string representation
18338func (s AwsRdsDbStatusInfo) GoString() string {
18339	return s.String()
18340}
18341
18342// SetMessage sets the Message field's value.
18343func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
18344	s.Message = &v
18345	return s
18346}
18347
18348// SetNormal sets the Normal field's value.
18349func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
18350	s.Normal = &v
18351	return s
18352}
18353
18354// SetStatus sets the Status field's value.
18355func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
18356	s.Status = &v
18357	return s
18358}
18359
18360// SetStatusType sets the StatusType field's value.
18361func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
18362	s.StatusType = &v
18363	return s
18364}
18365
18366// Information about the subnet group for the database instance.
18367type AwsRdsDbSubnetGroup struct {
18368	_ struct{} `type:"structure"`
18369
18370	// The ARN of the subnet group.
18371	DbSubnetGroupArn *string `type:"string"`
18372
18373	// The description of the subnet group.
18374	DbSubnetGroupDescription *string `type:"string"`
18375
18376	// The name of the subnet group.
18377	DbSubnetGroupName *string `type:"string"`
18378
18379	// The status of the subnet group.
18380	SubnetGroupStatus *string `type:"string"`
18381
18382	// A list of subnets in the subnet group.
18383	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
18384
18385	// The VPC ID of the subnet group.
18386	VpcId *string `type:"string"`
18387}
18388
18389// String returns the string representation
18390func (s AwsRdsDbSubnetGroup) String() string {
18391	return awsutil.Prettify(s)
18392}
18393
18394// GoString returns the string representation
18395func (s AwsRdsDbSubnetGroup) GoString() string {
18396	return s.String()
18397}
18398
18399// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
18400func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
18401	s.DbSubnetGroupArn = &v
18402	return s
18403}
18404
18405// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
18406func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
18407	s.DbSubnetGroupDescription = &v
18408	return s
18409}
18410
18411// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
18412func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
18413	s.DbSubnetGroupName = &v
18414	return s
18415}
18416
18417// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
18418func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
18419	s.SubnetGroupStatus = &v
18420	return s
18421}
18422
18423// SetSubnets sets the Subnets field's value.
18424func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
18425	s.Subnets = v
18426	return s
18427}
18428
18429// SetVpcId sets the VpcId field's value.
18430func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
18431	s.VpcId = &v
18432	return s
18433}
18434
18435// Information about a subnet in a subnet group.
18436type AwsRdsDbSubnetGroupSubnet struct {
18437	_ struct{} `type:"structure"`
18438
18439	// Information about the Availability Zone for a subnet in the subnet group.
18440	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
18441
18442	// The identifier of a subnet in the subnet group.
18443	SubnetIdentifier *string `type:"string"`
18444
18445	// The status of a subnet in the subnet group.
18446	SubnetStatus *string `type:"string"`
18447}
18448
18449// String returns the string representation
18450func (s AwsRdsDbSubnetGroupSubnet) String() string {
18451	return awsutil.Prettify(s)
18452}
18453
18454// GoString returns the string representation
18455func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
18456	return s.String()
18457}
18458
18459// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
18460func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
18461	s.SubnetAvailabilityZone = v
18462	return s
18463}
18464
18465// SetSubnetIdentifier sets the SubnetIdentifier field's value.
18466func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
18467	s.SubnetIdentifier = &v
18468	return s
18469}
18470
18471// SetSubnetStatus sets the SubnetStatus field's value.
18472func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
18473	s.SubnetStatus = &v
18474	return s
18475}
18476
18477// An Availability Zone for a subnet in a subnet group.
18478type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
18479	_ struct{} `type:"structure"`
18480
18481	// The name of the Availability Zone for a subnet in the subnet group.
18482	Name *string `type:"string"`
18483}
18484
18485// String returns the string representation
18486func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
18487	return awsutil.Prettify(s)
18488}
18489
18490// GoString returns the string representation
18491func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
18492	return s.String()
18493}
18494
18495// SetName sets the Name field's value.
18496func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
18497	s.Name = &v
18498	return s
18499}
18500
18501// Identifies the log types to enable and disable.
18502type AwsRdsPendingCloudWatchLogsExports struct {
18503	_ struct{} `type:"structure"`
18504
18505	// A list of log types that are being disabled.
18506	LogTypesToDisable []*string `type:"list"`
18507
18508	// A list of log types that are being enabled.
18509	LogTypesToEnable []*string `type:"list"`
18510}
18511
18512// String returns the string representation
18513func (s AwsRdsPendingCloudWatchLogsExports) String() string {
18514	return awsutil.Prettify(s)
18515}
18516
18517// GoString returns the string representation
18518func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
18519	return s.String()
18520}
18521
18522// SetLogTypesToDisable sets the LogTypesToDisable field's value.
18523func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
18524	s.LogTypesToDisable = v
18525	return s
18526}
18527
18528// SetLogTypesToEnable sets the LogTypesToEnable field's value.
18529func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
18530	s.LogTypesToEnable = v
18531	return s
18532}
18533
18534// A node in an Amazon Redshift cluster.
18535type AwsRedshiftClusterClusterNode struct {
18536	_ struct{} `type:"structure"`
18537
18538	// The role of the node. A node might be a leader node or a compute node.
18539	NodeRole *string `type:"string"`
18540
18541	// The private IP address of the node.
18542	PrivateIpAddress *string `type:"string"`
18543
18544	// The public IP address of the node.
18545	PublicIpAddress *string `type:"string"`
18546}
18547
18548// String returns the string representation
18549func (s AwsRedshiftClusterClusterNode) String() string {
18550	return awsutil.Prettify(s)
18551}
18552
18553// GoString returns the string representation
18554func (s AwsRedshiftClusterClusterNode) GoString() string {
18555	return s.String()
18556}
18557
18558// SetNodeRole sets the NodeRole field's value.
18559func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
18560	s.NodeRole = &v
18561	return s
18562}
18563
18564// SetPrivateIpAddress sets the PrivateIpAddress field's value.
18565func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
18566	s.PrivateIpAddress = &v
18567	return s
18568}
18569
18570// SetPublicIpAddress sets the PublicIpAddress field's value.
18571func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
18572	s.PublicIpAddress = &v
18573	return s
18574}
18575
18576// A cluster parameter group that is associated with an Amazon Redshift cluster.
18577type AwsRedshiftClusterClusterParameterGroup struct {
18578	_ struct{} `type:"structure"`
18579
18580	// The list of parameter statuses.
18581	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
18582
18583	// The status of updates to the parameters.
18584	ParameterApplyStatus *string `type:"string"`
18585
18586	// The name of the parameter group.
18587	ParameterGroupName *string `type:"string"`
18588}
18589
18590// String returns the string representation
18591func (s AwsRedshiftClusterClusterParameterGroup) String() string {
18592	return awsutil.Prettify(s)
18593}
18594
18595// GoString returns the string representation
18596func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
18597	return s.String()
18598}
18599
18600// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
18601func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
18602	s.ClusterParameterStatusList = v
18603	return s
18604}
18605
18606// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
18607func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
18608	s.ParameterApplyStatus = &v
18609	return s
18610}
18611
18612// SetParameterGroupName sets the ParameterGroupName field's value.
18613func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
18614	s.ParameterGroupName = &v
18615	return s
18616}
18617
18618// The status of a parameter in a cluster parameter group for an Amazon Redshift
18619// cluster.
18620type AwsRedshiftClusterClusterParameterStatus struct {
18621	_ struct{} `type:"structure"`
18622
18623	// The error that prevented the parameter from being applied to the database.
18624	ParameterApplyErrorDescription *string `type:"string"`
18625
18626	// The status of the parameter. Indicates whether the parameter is in sync with
18627	// the database, waiting for a cluster reboot, or encountered an error when
18628	// it was applied.
18629	//
18630	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
18631	// | apply-error | unknown-error
18632	ParameterApplyStatus *string `type:"string"`
18633
18634	// The name of the parameter.
18635	ParameterName *string `type:"string"`
18636}
18637
18638// String returns the string representation
18639func (s AwsRedshiftClusterClusterParameterStatus) String() string {
18640	return awsutil.Prettify(s)
18641}
18642
18643// GoString returns the string representation
18644func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
18645	return s.String()
18646}
18647
18648// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
18649func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
18650	s.ParameterApplyErrorDescription = &v
18651	return s
18652}
18653
18654// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
18655func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
18656	s.ParameterApplyStatus = &v
18657	return s
18658}
18659
18660// SetParameterName sets the ParameterName field's value.
18661func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
18662	s.ParameterName = &v
18663	return s
18664}
18665
18666// A security group that is associated with the cluster.
18667type AwsRedshiftClusterClusterSecurityGroup struct {
18668	_ struct{} `type:"structure"`
18669
18670	// The name of the cluster security group.
18671	ClusterSecurityGroupName *string `type:"string"`
18672
18673	// The status of the cluster security group.
18674	Status *string `type:"string"`
18675}
18676
18677// String returns the string representation
18678func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
18679	return awsutil.Prettify(s)
18680}
18681
18682// GoString returns the string representation
18683func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
18684	return s.String()
18685}
18686
18687// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
18688func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
18689	s.ClusterSecurityGroupName = &v
18690	return s
18691}
18692
18693// SetStatus sets the Status field's value.
18694func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
18695	s.Status = &v
18696	return s
18697}
18698
18699// Information about a cross-Region snapshot copy.
18700type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
18701	_ struct{} `type:"structure"`
18702
18703	// The destination Region that snapshots are automatically copied to when cross-Region
18704	// snapshot copy is enabled.
18705	DestinationRegion *string `type:"string"`
18706
18707	// The number of days that manual snapshots are retained in the destination
18708	// region after they are copied from a source region.
18709	//
18710	// If the value is -1, then the manual snapshot is retained indefinitely.
18711	//
18712	// Valid values: Either -1 or an integer between 1 and 3,653
18713	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
18714
18715	// The number of days to retain automated snapshots in the destination Region
18716	// after they are copied from a source Region.
18717	RetentionPeriod *int64 `type:"integer"`
18718
18719	// The name of the snapshot copy grant.
18720	SnapshotCopyGrantName *string `type:"string"`
18721}
18722
18723// String returns the string representation
18724func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
18725	return awsutil.Prettify(s)
18726}
18727
18728// GoString returns the string representation
18729func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
18730	return s.String()
18731}
18732
18733// SetDestinationRegion sets the DestinationRegion field's value.
18734func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
18735	s.DestinationRegion = &v
18736	return s
18737}
18738
18739// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
18740func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
18741	s.ManualSnapshotRetentionPeriod = &v
18742	return s
18743}
18744
18745// SetRetentionPeriod sets the RetentionPeriod field's value.
18746func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
18747	s.RetentionPeriod = &v
18748	return s
18749}
18750
18751// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
18752func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
18753	s.SnapshotCopyGrantName = &v
18754	return s
18755}
18756
18757// A time windows during which maintenance was deferred for an Amazon Redshift
18758// cluster.
18759type AwsRedshiftClusterDeferredMaintenanceWindow struct {
18760	_ struct{} `type:"structure"`
18761
18762	// The end of the time window for which maintenance was deferred.
18763	//
18764	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18765	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18766	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18767	DeferMaintenanceEndTime *string `type:"string"`
18768
18769	// The identifier of the maintenance window.
18770	DeferMaintenanceIdentifier *string `type:"string"`
18771
18772	// The start of the time window for which maintenance was deferred.
18773	//
18774	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18775	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18776	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18777	DeferMaintenanceStartTime *string `type:"string"`
18778}
18779
18780// String returns the string representation
18781func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
18782	return awsutil.Prettify(s)
18783}
18784
18785// GoString returns the string representation
18786func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
18787	return s.String()
18788}
18789
18790// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
18791func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
18792	s.DeferMaintenanceEndTime = &v
18793	return s
18794}
18795
18796// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
18797func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
18798	s.DeferMaintenanceIdentifier = &v
18799	return s
18800}
18801
18802// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
18803func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
18804	s.DeferMaintenanceStartTime = &v
18805	return s
18806}
18807
18808// Details about an Amazon Redshift cluster.
18809type AwsRedshiftClusterDetails struct {
18810	_ struct{} `type:"structure"`
18811
18812	// Indicates whether major version upgrades are applied automatically to the
18813	// cluster during the maintenance window.
18814	AllowVersionUpgrade *bool `type:"boolean"`
18815
18816	// The number of days that automatic cluster snapshots are retained.
18817	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
18818
18819	// The name of the Availability Zone in which the cluster is located.
18820	AvailabilityZone *string `type:"string"`
18821
18822	// The availability status of the cluster for queries. Possible values are the
18823	// following:
18824	//
18825	//    * Available - The cluster is available for queries.
18826	//
18827	//    * Unavailable - The cluster is not available for queries.
18828	//
18829	//    * Maintenance - The cluster is intermittently available for queries due
18830	//    to maintenance activities.
18831	//
18832	//    * Modifying -The cluster is intermittently available for queries due to
18833	//    changes that modify the cluster.
18834	//
18835	//    * Failed - The cluster failed and is not available for queries.
18836	ClusterAvailabilityStatus *string `type:"string"`
18837
18838	// Indicates when the cluster was created.
18839	//
18840	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18841	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18842	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18843	ClusterCreateTime *string `type:"string"`
18844
18845	// The unique identifier of the cluster.
18846	ClusterIdentifier *string `type:"string"`
18847
18848	// The nodes in the cluster.
18849	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
18850
18851	// The list of cluster parameter groups that are associated with this cluster.
18852	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
18853
18854	// The public key for the cluster.
18855	ClusterPublicKey *string `type:"string"`
18856
18857	// The specific revision number of the database in the cluster.
18858	ClusterRevisionNumber *string `type:"string"`
18859
18860	// A list of cluster security groups that are associated with the cluster.
18861	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
18862
18863	// Information about the destination Region and retention period for the cross-Region
18864	// snapshot copy.
18865	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
18866
18867	// The current status of the cluster.
18868	//
18869	// Valid values: available | available, prep-for-resize | available, resize-cleanup
18870	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
18871	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
18872	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
18873	// storage-full | updating-hsm
18874	ClusterStatus *string `type:"string"`
18875
18876	// The name of the subnet group that is associated with the cluster. This parameter
18877	// is valid only when the cluster is in a VPC.
18878	ClusterSubnetGroupName *string `type:"string"`
18879
18880	// The version ID of the Amazon Redshift engine that runs on the cluster.
18881	ClusterVersion *string `type:"string"`
18882
18883	// The name of the initial database that was created when the cluster was created.
18884	//
18885	// The same name is returned for the life of the cluster.
18886	//
18887	// If an initial database is not specified, a database named devdev is created
18888	// by default.
18889	DBName *string `type:"string"`
18890
18891	// List of time windows during which maintenance was deferred.
18892	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
18893
18894	// Information about the status of the Elastic IP (EIP) address.
18895	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
18896
18897	// The number of nodes that you can use the elastic resize method to resize
18898	// the cluster to.
18899	ElasticResizeNumberOfNodeOptions *string `type:"string"`
18900
18901	// Indicates whether the data in the cluster is encrypted at rest.
18902	Encrypted *bool `type:"boolean"`
18903
18904	// The connection endpoint.
18905	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
18906
18907	// Indicates whether to create the cluster with enhanced VPC routing enabled.
18908	EnhancedVpcRouting *bool `type:"boolean"`
18909
18910	// Indicates when the next snapshot is expected to be taken. The cluster must
18911	// have a valid snapshot schedule and have backups enabled.
18912	//
18913	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18914	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18915	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18916	ExpectedNextSnapshotScheduleTime *string `type:"string"`
18917
18918	// The status of the next expected snapshot.
18919	//
18920	// Valid values: OnTrack | Pending
18921	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
18922
18923	// Information about whether the Amazon Redshift cluster finished applying any
18924	// changes to hardware security module (HSM) settings that were specified in
18925	// a modify cluster command.
18926	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
18927
18928	// A list of IAM roles that the cluster can use to access other AWS services.
18929	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
18930
18931	// The identifier of the AWS KMS encryption key that is used to encrypt data
18932	// in the cluster.
18933	KmsKeyId *string `type:"string"`
18934
18935	// The name of the maintenance track for the cluster.
18936	MaintenanceTrackName *string `type:"string"`
18937
18938	// The default number of days to retain a manual snapshot.
18939	//
18940	// If the value is -1, the snapshot is retained indefinitely.
18941	//
18942	// This setting doesn't change the retention period of existing snapshots.
18943	//
18944	// Valid values: Either -1 or an integer between 1 and 3,653
18945	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
18946
18947	// The master user name for the cluster. This name is used to connect to the
18948	// database that is specified in as the value of DBName.
18949	MasterUsername *string `type:"string"`
18950
18951	// Indicates the start of the next maintenance window.
18952	//
18953	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18954	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18955	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18956	NextMaintenanceWindowStartTime *string `type:"string"`
18957
18958	// The node type for the nodes in the cluster.
18959	NodeType *string `type:"string"`
18960
18961	// The number of compute nodes in the cluster.
18962	NumberOfNodes *int64 `type:"integer"`
18963
18964	// A list of cluster operations that are waiting to start.
18965	PendingActions []*string `type:"list"`
18966
18967	// A list of changes to the cluster that are currently pending.
18968	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
18969
18970	// The weekly time range, in Universal Coordinated Time (UTC), during which
18971	// system maintenance can occur.
18972	//
18973	// Format: <day>:HH:MM-<day>:HH:MM
18974	//
18975	// For the day values, use mon | tue | wed | thu | fri | sat | sun
18976	//
18977	// For example, sun:09:32-sun:10:02
18978	PreferredMaintenanceWindow *string `type:"string"`
18979
18980	// Whether the cluster can be accessed from a public network.
18981	PubliclyAccessible *bool `type:"boolean"`
18982
18983	// Information about the resize operation for the cluster.
18984	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
18985
18986	// Information about the status of a cluster restore action. Only applies to
18987	// a cluster that was created by restoring a snapshot.
18988	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
18989
18990	// A unique identifier for the cluster snapshot schedule.
18991	SnapshotScheduleIdentifier *string `type:"string"`
18992
18993	// The current state of the cluster snapshot schedule.
18994	//
18995	// Valid values: MODIFYING | ACTIVE | FAILED
18996	SnapshotScheduleState *string `type:"string"`
18997
18998	// The identifier of the VPC that the cluster is in, if the cluster is in a
18999	// VPC.
19000	VpcId *string `type:"string"`
19001
19002	// The list of VPC security groups that the cluster belongs to, if the cluster
19003	// is in a VPC.
19004	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
19005}
19006
19007// String returns the string representation
19008func (s AwsRedshiftClusterDetails) String() string {
19009	return awsutil.Prettify(s)
19010}
19011
19012// GoString returns the string representation
19013func (s AwsRedshiftClusterDetails) GoString() string {
19014	return s.String()
19015}
19016
19017// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
19018func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
19019	s.AllowVersionUpgrade = &v
19020	return s
19021}
19022
19023// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
19024func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
19025	s.AutomatedSnapshotRetentionPeriod = &v
19026	return s
19027}
19028
19029// SetAvailabilityZone sets the AvailabilityZone field's value.
19030func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
19031	s.AvailabilityZone = &v
19032	return s
19033}
19034
19035// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
19036func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
19037	s.ClusterAvailabilityStatus = &v
19038	return s
19039}
19040
19041// SetClusterCreateTime sets the ClusterCreateTime field's value.
19042func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
19043	s.ClusterCreateTime = &v
19044	return s
19045}
19046
19047// SetClusterIdentifier sets the ClusterIdentifier field's value.
19048func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
19049	s.ClusterIdentifier = &v
19050	return s
19051}
19052
19053// SetClusterNodes sets the ClusterNodes field's value.
19054func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
19055	s.ClusterNodes = v
19056	return s
19057}
19058
19059// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
19060func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
19061	s.ClusterParameterGroups = v
19062	return s
19063}
19064
19065// SetClusterPublicKey sets the ClusterPublicKey field's value.
19066func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
19067	s.ClusterPublicKey = &v
19068	return s
19069}
19070
19071// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
19072func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
19073	s.ClusterRevisionNumber = &v
19074	return s
19075}
19076
19077// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
19078func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
19079	s.ClusterSecurityGroups = v
19080	return s
19081}
19082
19083// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
19084func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
19085	s.ClusterSnapshotCopyStatus = v
19086	return s
19087}
19088
19089// SetClusterStatus sets the ClusterStatus field's value.
19090func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
19091	s.ClusterStatus = &v
19092	return s
19093}
19094
19095// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
19096func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
19097	s.ClusterSubnetGroupName = &v
19098	return s
19099}
19100
19101// SetClusterVersion sets the ClusterVersion field's value.
19102func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
19103	s.ClusterVersion = &v
19104	return s
19105}
19106
19107// SetDBName sets the DBName field's value.
19108func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
19109	s.DBName = &v
19110	return s
19111}
19112
19113// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
19114func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
19115	s.DeferredMaintenanceWindows = v
19116	return s
19117}
19118
19119// SetElasticIpStatus sets the ElasticIpStatus field's value.
19120func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
19121	s.ElasticIpStatus = v
19122	return s
19123}
19124
19125// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
19126func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
19127	s.ElasticResizeNumberOfNodeOptions = &v
19128	return s
19129}
19130
19131// SetEncrypted sets the Encrypted field's value.
19132func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
19133	s.Encrypted = &v
19134	return s
19135}
19136
19137// SetEndpoint sets the Endpoint field's value.
19138func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
19139	s.Endpoint = v
19140	return s
19141}
19142
19143// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
19144func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
19145	s.EnhancedVpcRouting = &v
19146	return s
19147}
19148
19149// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
19150func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
19151	s.ExpectedNextSnapshotScheduleTime = &v
19152	return s
19153}
19154
19155// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
19156func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
19157	s.ExpectedNextSnapshotScheduleTimeStatus = &v
19158	return s
19159}
19160
19161// SetHsmStatus sets the HsmStatus field's value.
19162func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
19163	s.HsmStatus = v
19164	return s
19165}
19166
19167// SetIamRoles sets the IamRoles field's value.
19168func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
19169	s.IamRoles = v
19170	return s
19171}
19172
19173// SetKmsKeyId sets the KmsKeyId field's value.
19174func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
19175	s.KmsKeyId = &v
19176	return s
19177}
19178
19179// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
19180func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
19181	s.MaintenanceTrackName = &v
19182	return s
19183}
19184
19185// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
19186func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
19187	s.ManualSnapshotRetentionPeriod = &v
19188	return s
19189}
19190
19191// SetMasterUsername sets the MasterUsername field's value.
19192func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
19193	s.MasterUsername = &v
19194	return s
19195}
19196
19197// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
19198func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
19199	s.NextMaintenanceWindowStartTime = &v
19200	return s
19201}
19202
19203// SetNodeType sets the NodeType field's value.
19204func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
19205	s.NodeType = &v
19206	return s
19207}
19208
19209// SetNumberOfNodes sets the NumberOfNodes field's value.
19210func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
19211	s.NumberOfNodes = &v
19212	return s
19213}
19214
19215// SetPendingActions sets the PendingActions field's value.
19216func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
19217	s.PendingActions = v
19218	return s
19219}
19220
19221// SetPendingModifiedValues sets the PendingModifiedValues field's value.
19222func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
19223	s.PendingModifiedValues = v
19224	return s
19225}
19226
19227// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
19228func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
19229	s.PreferredMaintenanceWindow = &v
19230	return s
19231}
19232
19233// SetPubliclyAccessible sets the PubliclyAccessible field's value.
19234func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
19235	s.PubliclyAccessible = &v
19236	return s
19237}
19238
19239// SetResizeInfo sets the ResizeInfo field's value.
19240func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
19241	s.ResizeInfo = v
19242	return s
19243}
19244
19245// SetRestoreStatus sets the RestoreStatus field's value.
19246func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
19247	s.RestoreStatus = v
19248	return s
19249}
19250
19251// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
19252func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
19253	s.SnapshotScheduleIdentifier = &v
19254	return s
19255}
19256
19257// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
19258func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
19259	s.SnapshotScheduleState = &v
19260	return s
19261}
19262
19263// SetVpcId sets the VpcId field's value.
19264func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
19265	s.VpcId = &v
19266	return s
19267}
19268
19269// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
19270func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
19271	s.VpcSecurityGroups = v
19272	return s
19273}
19274
19275// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
19276type AwsRedshiftClusterElasticIpStatus struct {
19277	_ struct{} `type:"structure"`
19278
19279	// The elastic IP address for the cluster.
19280	ElasticIp *string `type:"string"`
19281
19282	// The status of the elastic IP address.
19283	Status *string `type:"string"`
19284}
19285
19286// String returns the string representation
19287func (s AwsRedshiftClusterElasticIpStatus) String() string {
19288	return awsutil.Prettify(s)
19289}
19290
19291// GoString returns the string representation
19292func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
19293	return s.String()
19294}
19295
19296// SetElasticIp sets the ElasticIp field's value.
19297func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
19298	s.ElasticIp = &v
19299	return s
19300}
19301
19302// SetStatus sets the Status field's value.
19303func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
19304	s.Status = &v
19305	return s
19306}
19307
19308// The connection endpoint for an Amazon Redshift cluster.
19309type AwsRedshiftClusterEndpoint struct {
19310	_ struct{} `type:"structure"`
19311
19312	// The DNS address of the cluster.
19313	Address *string `type:"string"`
19314
19315	// The port that the database engine listens on.
19316	Port *int64 `type:"integer"`
19317}
19318
19319// String returns the string representation
19320func (s AwsRedshiftClusterEndpoint) String() string {
19321	return awsutil.Prettify(s)
19322}
19323
19324// GoString returns the string representation
19325func (s AwsRedshiftClusterEndpoint) GoString() string {
19326	return s.String()
19327}
19328
19329// SetAddress sets the Address field's value.
19330func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
19331	s.Address = &v
19332	return s
19333}
19334
19335// SetPort sets the Port field's value.
19336func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
19337	s.Port = &v
19338	return s
19339}
19340
19341// Information about whether an Amazon Redshift cluster finished applying any
19342// hardware changes to security module (HSM) settings that were specified in
19343// a modify cluster command.
19344type AwsRedshiftClusterHsmStatus struct {
19345	_ struct{} `type:"structure"`
19346
19347	// The name of the HSM client certificate that the Amazon Redshift cluster uses
19348	// to retrieve the data encryption keys that are stored in an HSM.
19349	HsmClientCertificateIdentifier *string `type:"string"`
19350
19351	// The name of the HSM configuration that contains the information that the
19352	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
19353	HsmConfigurationIdentifier *string `type:"string"`
19354
19355	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
19356	// settings changes specified in a modify cluster command.
19357	//
19358	// Type: String
19359	//
19360	// Valid values: active | applying
19361	Status *string `type:"string"`
19362}
19363
19364// String returns the string representation
19365func (s AwsRedshiftClusterHsmStatus) String() string {
19366	return awsutil.Prettify(s)
19367}
19368
19369// GoString returns the string representation
19370func (s AwsRedshiftClusterHsmStatus) GoString() string {
19371	return s.String()
19372}
19373
19374// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
19375func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
19376	s.HsmClientCertificateIdentifier = &v
19377	return s
19378}
19379
19380// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
19381func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
19382	s.HsmConfigurationIdentifier = &v
19383	return s
19384}
19385
19386// SetStatus sets the Status field's value.
19387func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
19388	s.Status = &v
19389	return s
19390}
19391
19392// An IAM role that the cluster can use to access other AWS services.
19393type AwsRedshiftClusterIamRole struct {
19394	_ struct{} `type:"structure"`
19395
19396	// The status of the IAM role's association with the cluster.
19397	//
19398	// Valid values: in-sync | adding | removing
19399	ApplyStatus *string `type:"string"`
19400
19401	// The ARN of the IAM role.
19402	IamRoleArn *string `type:"string"`
19403}
19404
19405// String returns the string representation
19406func (s AwsRedshiftClusterIamRole) String() string {
19407	return awsutil.Prettify(s)
19408}
19409
19410// GoString returns the string representation
19411func (s AwsRedshiftClusterIamRole) GoString() string {
19412	return s.String()
19413}
19414
19415// SetApplyStatus sets the ApplyStatus field's value.
19416func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
19417	s.ApplyStatus = &v
19418	return s
19419}
19420
19421// SetIamRoleArn sets the IamRoleArn field's value.
19422func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
19423	s.IamRoleArn = &v
19424	return s
19425}
19426
19427// Changes to the Amazon Redshift cluster that are currently pending.
19428type AwsRedshiftClusterPendingModifiedValues struct {
19429	_ struct{} `type:"structure"`
19430
19431	// The pending or in-progress change to the automated snapshot retention period.
19432	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
19433
19434	// The pending or in-progress change to the identifier for the cluster.
19435	ClusterIdentifier *string `type:"string"`
19436
19437	// The pending or in-progress change to the cluster type.
19438	ClusterType *string `type:"string"`
19439
19440	// The pending or in-progress change to the service version.
19441	ClusterVersion *string `type:"string"`
19442
19443	// The encryption type for a cluster.
19444	EncryptionType *string `type:"string"`
19445
19446	// Indicates whether to create the cluster with enhanced VPC routing enabled.
19447	EnhancedVpcRouting *bool `type:"boolean"`
19448
19449	// The name of the maintenance track that the cluster changes to during the
19450	// next maintenance window.
19451	MaintenanceTrackName *string `type:"string"`
19452
19453	// The pending or in-progress change to the master user password for the cluster.
19454	MasterUserPassword *string `type:"string"`
19455
19456	// The pending or in-progress change to the cluster's node type.
19457	NodeType *string `type:"string"`
19458
19459	// The pending or in-progress change to the number of nodes in the cluster.
19460	NumberOfNodes *int64 `type:"integer"`
19461
19462	// The pending or in-progress change to whether the cluster can be connected
19463	// to from the public network.
19464	PubliclyAccessible *bool `type:"boolean"`
19465}
19466
19467// String returns the string representation
19468func (s AwsRedshiftClusterPendingModifiedValues) String() string {
19469	return awsutil.Prettify(s)
19470}
19471
19472// GoString returns the string representation
19473func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
19474	return s.String()
19475}
19476
19477// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
19478func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
19479	s.AutomatedSnapshotRetentionPeriod = &v
19480	return s
19481}
19482
19483// SetClusterIdentifier sets the ClusterIdentifier field's value.
19484func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
19485	s.ClusterIdentifier = &v
19486	return s
19487}
19488
19489// SetClusterType sets the ClusterType field's value.
19490func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
19491	s.ClusterType = &v
19492	return s
19493}
19494
19495// SetClusterVersion sets the ClusterVersion field's value.
19496func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
19497	s.ClusterVersion = &v
19498	return s
19499}
19500
19501// SetEncryptionType sets the EncryptionType field's value.
19502func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
19503	s.EncryptionType = &v
19504	return s
19505}
19506
19507// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
19508func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
19509	s.EnhancedVpcRouting = &v
19510	return s
19511}
19512
19513// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
19514func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
19515	s.MaintenanceTrackName = &v
19516	return s
19517}
19518
19519// SetMasterUserPassword sets the MasterUserPassword field's value.
19520func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
19521	s.MasterUserPassword = &v
19522	return s
19523}
19524
19525// SetNodeType sets the NodeType field's value.
19526func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
19527	s.NodeType = &v
19528	return s
19529}
19530
19531// SetNumberOfNodes sets the NumberOfNodes field's value.
19532func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
19533	s.NumberOfNodes = &v
19534	return s
19535}
19536
19537// SetPubliclyAccessible sets the PubliclyAccessible field's value.
19538func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
19539	s.PubliclyAccessible = &v
19540	return s
19541}
19542
19543// Information about the resize operation for the cluster.
19544type AwsRedshiftClusterResizeInfo struct {
19545	_ struct{} `type:"structure"`
19546
19547	// Indicates whether the resize operation can be canceled.
19548	AllowCancelResize *bool `type:"boolean"`
19549
19550	// The type of resize operation.
19551	//
19552	// Valid values: ClassicResize
19553	ResizeType *string `type:"string"`
19554}
19555
19556// String returns the string representation
19557func (s AwsRedshiftClusterResizeInfo) String() string {
19558	return awsutil.Prettify(s)
19559}
19560
19561// GoString returns the string representation
19562func (s AwsRedshiftClusterResizeInfo) GoString() string {
19563	return s.String()
19564}
19565
19566// SetAllowCancelResize sets the AllowCancelResize field's value.
19567func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
19568	s.AllowCancelResize = &v
19569	return s
19570}
19571
19572// SetResizeType sets the ResizeType field's value.
19573func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
19574	s.ResizeType = &v
19575	return s
19576}
19577
19578// Information about the status of a cluster restore action. It only applies
19579// if the cluster was created by restoring a snapshot.
19580type AwsRedshiftClusterRestoreStatus struct {
19581	_ struct{} `type:"structure"`
19582
19583	// The number of megabytes per second being transferred from the backup storage.
19584	// Returns the average rate for a completed backup.
19585	//
19586	// This field is only updated when you restore to DC2 and DS2 node types.
19587	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
19588
19589	// The amount of time an in-progress restore has been running, or the amount
19590	// of time it took a completed restore to finish.
19591	//
19592	// This field is only updated when you restore to DC2 and DS2 node types.
19593	ElapsedTimeInSeconds *int64 `type:"long"`
19594
19595	// The estimate of the time remaining before the restore is complete. Returns
19596	// 0 for a completed restore.
19597	//
19598	// This field is only updated when you restore to DC2 and DS2 node types.
19599	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
19600
19601	// The number of megabytes that were transferred from snapshot storage.
19602	//
19603	// This field is only updated when you restore to DC2 and DS2 node types.
19604	ProgressInMegaBytes *int64 `type:"long"`
19605
19606	// The size of the set of snapshot data that was used to restore the cluster.
19607	//
19608	// This field is only updated when you restore to DC2 and DS2 node types.
19609	SnapshotSizeInMegaBytes *int64 `type:"long"`
19610
19611	// The status of the restore action.
19612	//
19613	// Valid values: starting | restoring | completed | failed
19614	Status *string `type:"string"`
19615}
19616
19617// String returns the string representation
19618func (s AwsRedshiftClusterRestoreStatus) String() string {
19619	return awsutil.Prettify(s)
19620}
19621
19622// GoString returns the string representation
19623func (s AwsRedshiftClusterRestoreStatus) GoString() string {
19624	return s.String()
19625}
19626
19627// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
19628func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
19629	s.CurrentRestoreRateInMegaBytesPerSecond = &v
19630	return s
19631}
19632
19633// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
19634func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
19635	s.ElapsedTimeInSeconds = &v
19636	return s
19637}
19638
19639// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
19640func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
19641	s.EstimatedTimeToCompletionInSeconds = &v
19642	return s
19643}
19644
19645// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
19646func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
19647	s.ProgressInMegaBytes = &v
19648	return s
19649}
19650
19651// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
19652func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
19653	s.SnapshotSizeInMegaBytes = &v
19654	return s
19655}
19656
19657// SetStatus sets the Status field's value.
19658func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
19659	s.Status = &v
19660	return s
19661}
19662
19663// A VPC security group that the cluster belongs to, if the cluster is in a
19664// VPC.
19665type AwsRedshiftClusterVpcSecurityGroup struct {
19666	_ struct{} `type:"structure"`
19667
19668	// The status of the VPC security group.
19669	Status *string `type:"string"`
19670
19671	// The identifier of the VPC security group.
19672	VpcSecurityGroupId *string `type:"string"`
19673}
19674
19675// String returns the string representation
19676func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
19677	return awsutil.Prettify(s)
19678}
19679
19680// GoString returns the string representation
19681func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
19682	return s.String()
19683}
19684
19685// SetStatus sets the Status field's value.
19686func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
19687	s.Status = &v
19688	return s
19689}
19690
19691// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
19692func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
19693	s.VpcSecurityGroupId = &v
19694	return s
19695}
19696
19697// provides information about the Amazon S3 Public Access Block configuration
19698// for accounts.
19699type AwsS3AccountPublicAccessBlockDetails struct {
19700	_ struct{} `type:"structure"`
19701
19702	// Indicates whether to reject calls to update an S3 bucket if the calls include
19703	// a public access control list (ACL).
19704	BlockPublicAcls *bool `type:"boolean"`
19705
19706	// Indicates whether to reject calls to update the access policy for an S3 bucket
19707	// or access point if the policy allows public access.
19708	BlockPublicPolicy *bool `type:"boolean"`
19709
19710	// Indicates whether Amazon S3 ignores public ACLs that are associated with
19711	// an S3 bucket.
19712	IgnorePublicAcls *bool `type:"boolean"`
19713
19714	// Indicates whether to restrict access to an access point or S3 bucket that
19715	// has a public policy to only AWS service principals and authorized users within
19716	// the S3 bucket owner's account.
19717	RestrictPublicBuckets *bool `type:"boolean"`
19718}
19719
19720// String returns the string representation
19721func (s AwsS3AccountPublicAccessBlockDetails) String() string {
19722	return awsutil.Prettify(s)
19723}
19724
19725// GoString returns the string representation
19726func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
19727	return s.String()
19728}
19729
19730// SetBlockPublicAcls sets the BlockPublicAcls field's value.
19731func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
19732	s.BlockPublicAcls = &v
19733	return s
19734}
19735
19736// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
19737func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
19738	s.BlockPublicPolicy = &v
19739	return s
19740}
19741
19742// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
19743func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
19744	s.IgnorePublicAcls = &v
19745	return s
19746}
19747
19748// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
19749func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
19750	s.RestrictPublicBuckets = &v
19751	return s
19752}
19753
19754// The lifecycle configuration for the objects in the S3 bucket.
19755type AwsS3BucketBucketLifecycleConfigurationDetails struct {
19756	_ struct{} `type:"structure"`
19757
19758	// The lifecycle rules.
19759	Rules []*AwsS3BucketBucketLifecycleConfigurationRulesDetails `type:"list"`
19760}
19761
19762// String returns the string representation
19763func (s AwsS3BucketBucketLifecycleConfigurationDetails) String() string {
19764	return awsutil.Prettify(s)
19765}
19766
19767// GoString returns the string representation
19768func (s AwsS3BucketBucketLifecycleConfigurationDetails) GoString() string {
19769	return s.String()
19770}
19771
19772// SetRules sets the Rules field's value.
19773func (s *AwsS3BucketBucketLifecycleConfigurationDetails) SetRules(v []*AwsS3BucketBucketLifecycleConfigurationRulesDetails) *AwsS3BucketBucketLifecycleConfigurationDetails {
19774	s.Rules = v
19775	return s
19776}
19777
19778// Information about what Amazon S3 does when a multipart upload is incomplete.
19779type AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails struct {
19780	_ struct{} `type:"structure"`
19781
19782	// The number of days after which Amazon S3 cancels an incomplete multipart
19783	// upload.
19784	DaysAfterInitiation *int64 `type:"integer"`
19785}
19786
19787// String returns the string representation
19788func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) String() string {
19789	return awsutil.Prettify(s)
19790}
19791
19792// GoString returns the string representation
19793func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) GoString() string {
19794	return s.String()
19795}
19796
19797// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
19798func (s *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) SetDaysAfterInitiation(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
19799	s.DaysAfterInitiation = &v
19800	return s
19801}
19802
19803// Configuration for a lifecycle rule.
19804type AwsS3BucketBucketLifecycleConfigurationRulesDetails struct {
19805	_ struct{} `type:"structure"`
19806
19807	// How Amazon S3 responds when a multipart upload is incomplete. Specifically,
19808	// provides a number of days before Amazon S3 cancels the entire upload.
19809	AbortIncompleteMultipartUpload *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails `type:"structure"`
19810
19811	// The date when objects are moved or deleted.
19812	//
19813	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19814	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19815	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19816	ExpirationDate *string `type:"string"`
19817
19818	// The length in days of the lifetime for objects that are subject to the rule.
19819	ExpirationInDays *int64 `type:"integer"`
19820
19821	// Whether Amazon S3 removes a delete marker that has no noncurrent versions.
19822	// If set to true, the delete marker is expired. If set to false, the policy
19823	// takes no action.
19824	//
19825	// If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays
19826	// or ExpirationDate.
19827	ExpiredObjectDeleteMarker *bool `type:"boolean"`
19828
19829	// Identifies the objects that a rule applies to.
19830	Filter *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails `type:"structure"`
19831
19832	// The unique identifier of the rule.
19833	ID *string `type:"string"`
19834
19835	// The number of days that an object is noncurrent before Amazon S3 can perform
19836	// the associated action.
19837	NoncurrentVersionExpirationInDays *int64 `type:"integer"`
19838
19839	// Transition rules that describe when noncurrent objects transition to a specified
19840	// storage class.
19841	NoncurrentVersionTransitions []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails `type:"list"`
19842
19843	// A prefix that identifies one or more objects that the rule applies to.
19844	Prefix *string `type:"string"`
19845
19846	// The current status of the rule. Indicates whether the rule is currently being
19847	// applied.
19848	Status *string `type:"string"`
19849
19850	// Transition rules that indicate when objects transition to a specified storage
19851	// class.
19852	Transitions []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails `type:"list"`
19853}
19854
19855// String returns the string representation
19856func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) String() string {
19857	return awsutil.Prettify(s)
19858}
19859
19860// GoString returns the string representation
19861func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) GoString() string {
19862	return s.String()
19863}
19864
19865// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
19866func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetAbortIncompleteMultipartUpload(v *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19867	s.AbortIncompleteMultipartUpload = v
19868	return s
19869}
19870
19871// SetExpirationDate sets the ExpirationDate field's value.
19872func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19873	s.ExpirationDate = &v
19874	return s
19875}
19876
19877// SetExpirationInDays sets the ExpirationInDays field's value.
19878func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19879	s.ExpirationInDays = &v
19880	return s
19881}
19882
19883// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
19884func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpiredObjectDeleteMarker(v bool) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19885	s.ExpiredObjectDeleteMarker = &v
19886	return s
19887}
19888
19889// SetFilter sets the Filter field's value.
19890func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetFilter(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19891	s.Filter = v
19892	return s
19893}
19894
19895// SetID sets the ID field's value.
19896func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetID(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19897	s.ID = &v
19898	return s
19899}
19900
19901// SetNoncurrentVersionExpirationInDays sets the NoncurrentVersionExpirationInDays field's value.
19902func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19903	s.NoncurrentVersionExpirationInDays = &v
19904	return s
19905}
19906
19907// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
19908func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19909	s.NoncurrentVersionTransitions = v
19910	return s
19911}
19912
19913// SetPrefix sets the Prefix field's value.
19914func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19915	s.Prefix = &v
19916	return s
19917}
19918
19919// SetStatus sets the Status field's value.
19920func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetStatus(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19921	s.Status = &v
19922	return s
19923}
19924
19925// SetTransitions sets the Transitions field's value.
19926func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
19927	s.Transitions = v
19928	return s
19929}
19930
19931// Identifies the objects that a rule applies to.
19932type AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails struct {
19933	_ struct{} `type:"structure"`
19934
19935	// The configuration for the filter.
19936	Predicate *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails `type:"structure"`
19937}
19938
19939// String returns the string representation
19940func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) String() string {
19941	return awsutil.Prettify(s)
19942}
19943
19944// GoString returns the string representation
19945func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) GoString() string {
19946	return s.String()
19947}
19948
19949// SetPredicate sets the Predicate field's value.
19950func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) SetPredicate(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
19951	s.Predicate = v
19952	return s
19953}
19954
19955// The configuration for the filter.
19956type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails struct {
19957	_ struct{} `type:"structure"`
19958
19959	// The values to use for the filter.
19960	Operands []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails `type:"list"`
19961
19962	// A prefix filter.
19963	Prefix *string `type:"string"`
19964
19965	// A tag filter.
19966	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails `type:"structure"`
19967
19968	// Whether to use AND or OR to join the operands.
19969	Type *string `type:"string"`
19970}
19971
19972// String returns the string representation
19973func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) String() string {
19974	return awsutil.Prettify(s)
19975}
19976
19977// GoString returns the string representation
19978func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) GoString() string {
19979	return s.String()
19980}
19981
19982// SetOperands sets the Operands field's value.
19983func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetOperands(v []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
19984	s.Operands = v
19985	return s
19986}
19987
19988// SetPrefix sets the Prefix field's value.
19989func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
19990	s.Prefix = &v
19991	return s
19992}
19993
19994// SetTag sets the Tag field's value.
19995func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
19996	s.Tag = v
19997	return s
19998}
19999
20000// SetType sets the Type field's value.
20001func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
20002	s.Type = &v
20003	return s
20004}
20005
20006// A value to use for the filter.
20007type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails struct {
20008	_ struct{} `type:"structure"`
20009
20010	// Prefix text for matching objects.
20011	Prefix *string `type:"string"`
20012
20013	// A tag that is assigned to matching objects.
20014	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails `type:"structure"`
20015
20016	// The type of filter value.
20017	Type *string `type:"string"`
20018}
20019
20020// String returns the string representation
20021func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) String() string {
20022	return awsutil.Prettify(s)
20023}
20024
20025// GoString returns the string representation
20026func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) GoString() string {
20027	return s.String()
20028}
20029
20030// SetPrefix sets the Prefix field's value.
20031func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
20032	s.Prefix = &v
20033	return s
20034}
20035
20036// SetTag sets the Tag field's value.
20037func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
20038	s.Tag = v
20039	return s
20040}
20041
20042// SetType sets the Type field's value.
20043func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
20044	s.Type = &v
20045	return s
20046}
20047
20048// A tag that is assigned to matching objects.
20049type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails struct {
20050	_ struct{} `type:"structure"`
20051
20052	// The tag key.
20053	Key *string `type:"string"`
20054
20055	// The tag value.
20056	Value *string `type:"string"`
20057}
20058
20059// String returns the string representation
20060func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) String() string {
20061	return awsutil.Prettify(s)
20062}
20063
20064// GoString returns the string representation
20065func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) GoString() string {
20066	return s.String()
20067}
20068
20069// SetKey sets the Key field's value.
20070func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
20071	s.Key = &v
20072	return s
20073}
20074
20075// SetValue sets the Value field's value.
20076func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
20077	s.Value = &v
20078	return s
20079}
20080
20081// A tag filter.
20082type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails struct {
20083	_ struct{} `type:"structure"`
20084
20085	// The tag key.
20086	Key *string `type:"string"`
20087
20088	// The tag value
20089	Value *string `type:"string"`
20090}
20091
20092// String returns the string representation
20093func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) String() string {
20094	return awsutil.Prettify(s)
20095}
20096
20097// GoString returns the string representation
20098func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) GoString() string {
20099	return s.String()
20100}
20101
20102// SetKey sets the Key field's value.
20103func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
20104	s.Key = &v
20105	return s
20106}
20107
20108// SetValue sets the Value field's value.
20109func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
20110	s.Value = &v
20111	return s
20112}
20113
20114// A transition rule that describes when noncurrent objects transition to a
20115// specified storage class.
20116type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails struct {
20117	_ struct{} `type:"structure"`
20118
20119	// The number of days that an object is noncurrent before Amazon S3 can perform
20120	// the associated action.
20121	Days *int64 `type:"integer"`
20122
20123	// The class of storage to change the object to after the object is noncurrent
20124	// for the specified number of days.
20125	StorageClass *string `type:"string"`
20126}
20127
20128// String returns the string representation
20129func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) String() string {
20130	return awsutil.Prettify(s)
20131}
20132
20133// GoString returns the string representation
20134func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) GoString() string {
20135	return s.String()
20136}
20137
20138// SetDays sets the Days field's value.
20139func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
20140	s.Days = &v
20141	return s
20142}
20143
20144// SetStorageClass sets the StorageClass field's value.
20145func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
20146	s.StorageClass = &v
20147	return s
20148}
20149
20150// A rule for when objects transition to specific storage classes.
20151type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails struct {
20152	_ struct{} `type:"structure"`
20153
20154	// A date on which to transition objects to the specified storage class. If
20155	// you provide Date, you cannot provide Days.
20156	//
20157	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20158	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20159	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20160	Date *string `type:"string"`
20161
20162	// The number of days after which to transition the object to the specified
20163	// storage class. If you provide Days, you cannot provide Date.
20164	Days *int64 `type:"integer"`
20165
20166	// The storage class to transition the object to.
20167	StorageClass *string `type:"string"`
20168}
20169
20170// String returns the string representation
20171func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) String() string {
20172	return awsutil.Prettify(s)
20173}
20174
20175// GoString returns the string representation
20176func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) GoString() string {
20177	return s.String()
20178}
20179
20180// SetDate sets the Date field's value.
20181func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
20182	s.Date = &v
20183	return s
20184}
20185
20186// SetDays sets the Days field's value.
20187func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
20188	s.Days = &v
20189	return s
20190}
20191
20192// SetStorageClass sets the StorageClass field's value.
20193func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
20194	s.StorageClass = &v
20195	return s
20196}
20197
20198// The details of an Amazon S3 bucket.
20199type AwsS3BucketDetails struct {
20200	_ struct{} `type:"structure"`
20201
20202	// The lifecycle configuration for objects in the S3 bucket.
20203	BucketLifecycleConfiguration *AwsS3BucketBucketLifecycleConfigurationDetails `type:"structure"`
20204
20205	// Indicates when the S3 bucket was created.
20206	//
20207	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20208	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20209	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20210	CreatedAt *string `type:"string"`
20211
20212	// The canonical user ID of the owner of the S3 bucket.
20213	OwnerId *string `type:"string"`
20214
20215	// The display name of the owner of the S3 bucket.
20216	OwnerName *string `type:"string"`
20217
20218	// Provides information about the Amazon S3 Public Access Block configuration
20219	// for the S3 bucket.
20220	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
20221
20222	// The encryption rules that are applied to the S3 bucket.
20223	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
20224}
20225
20226// String returns the string representation
20227func (s AwsS3BucketDetails) String() string {
20228	return awsutil.Prettify(s)
20229}
20230
20231// GoString returns the string representation
20232func (s AwsS3BucketDetails) GoString() string {
20233	return s.String()
20234}
20235
20236// SetBucketLifecycleConfiguration sets the BucketLifecycleConfiguration field's value.
20237func (s *AwsS3BucketDetails) SetBucketLifecycleConfiguration(v *AwsS3BucketBucketLifecycleConfigurationDetails) *AwsS3BucketDetails {
20238	s.BucketLifecycleConfiguration = v
20239	return s
20240}
20241
20242// SetCreatedAt sets the CreatedAt field's value.
20243func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
20244	s.CreatedAt = &v
20245	return s
20246}
20247
20248// SetOwnerId sets the OwnerId field's value.
20249func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
20250	s.OwnerId = &v
20251	return s
20252}
20253
20254// SetOwnerName sets the OwnerName field's value.
20255func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
20256	s.OwnerName = &v
20257	return s
20258}
20259
20260// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
20261func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
20262	s.PublicAccessBlockConfiguration = v
20263	return s
20264}
20265
20266// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
20267func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
20268	s.ServerSideEncryptionConfiguration = v
20269	return s
20270}
20271
20272// Specifies the default server-side encryption to apply to new objects in the
20273// bucket.
20274type AwsS3BucketServerSideEncryptionByDefault struct {
20275	_ struct{} `type:"structure"`
20276
20277	// AWS KMS customer master key (CMK) ID to use for the default encryption.
20278	KMSMasterKeyID *string `type:"string"`
20279
20280	// Server-side encryption algorithm to use for the default encryption.
20281	SSEAlgorithm *string `type:"string"`
20282}
20283
20284// String returns the string representation
20285func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
20286	return awsutil.Prettify(s)
20287}
20288
20289// GoString returns the string representation
20290func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
20291	return s.String()
20292}
20293
20294// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
20295func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
20296	s.KMSMasterKeyID = &v
20297	return s
20298}
20299
20300// SetSSEAlgorithm sets the SSEAlgorithm field's value.
20301func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
20302	s.SSEAlgorithm = &v
20303	return s
20304}
20305
20306// The encryption configuration for the S3 bucket.
20307type AwsS3BucketServerSideEncryptionConfiguration struct {
20308	_ struct{} `type:"structure"`
20309
20310	// The encryption rules that are applied to the S3 bucket.
20311	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
20312}
20313
20314// String returns the string representation
20315func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
20316	return awsutil.Prettify(s)
20317}
20318
20319// GoString returns the string representation
20320func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
20321	return s.String()
20322}
20323
20324// SetRules sets the Rules field's value.
20325func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
20326	s.Rules = v
20327	return s
20328}
20329
20330// An encryption rule to apply to the S3 bucket.
20331type AwsS3BucketServerSideEncryptionRule struct {
20332	_ struct{} `type:"structure"`
20333
20334	// Specifies the default server-side encryption to apply to new objects in the
20335	// bucket. If a PUT object request doesn't specify any server-side encryption,
20336	// this default encryption is applied.
20337	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
20338}
20339
20340// String returns the string representation
20341func (s AwsS3BucketServerSideEncryptionRule) String() string {
20342	return awsutil.Prettify(s)
20343}
20344
20345// GoString returns the string representation
20346func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
20347	return s.String()
20348}
20349
20350// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
20351func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
20352	s.ApplyServerSideEncryptionByDefault = v
20353	return s
20354}
20355
20356// Details about an Amazon S3 object.
20357type AwsS3ObjectDetails struct {
20358	_ struct{} `type:"structure"`
20359
20360	// A standard MIME type describing the format of the object data.
20361	ContentType *string `type:"string"`
20362
20363	// The opaque identifier assigned by a web server to a specific version of a
20364	// resource found at a URL.
20365	ETag *string `type:"string"`
20366
20367	// Indicates when the object was last modified.
20368	//
20369	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20370	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20371	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20372	LastModified *string `type:"string"`
20373
20374	// The identifier of the AWS Key Management Service (AWS KMS) symmetric customer
20375	// managed customer master key (CMK) that was used for the object.
20376	SSEKMSKeyId *string `type:"string"`
20377
20378	// If the object is stored using server-side encryption, the value of the server-side
20379	// encryption algorithm used when storing this object in Amazon S3.
20380	ServerSideEncryption *string `type:"string"`
20381
20382	// The version of the object.
20383	VersionId *string `type:"string"`
20384}
20385
20386// String returns the string representation
20387func (s AwsS3ObjectDetails) String() string {
20388	return awsutil.Prettify(s)
20389}
20390
20391// GoString returns the string representation
20392func (s AwsS3ObjectDetails) GoString() string {
20393	return s.String()
20394}
20395
20396// SetContentType sets the ContentType field's value.
20397func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
20398	s.ContentType = &v
20399	return s
20400}
20401
20402// SetETag sets the ETag field's value.
20403func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
20404	s.ETag = &v
20405	return s
20406}
20407
20408// SetLastModified sets the LastModified field's value.
20409func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
20410	s.LastModified = &v
20411	return s
20412}
20413
20414// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
20415func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
20416	s.SSEKMSKeyId = &v
20417	return s
20418}
20419
20420// SetServerSideEncryption sets the ServerSideEncryption field's value.
20421func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
20422	s.ServerSideEncryption = &v
20423	return s
20424}
20425
20426// SetVersionId sets the VersionId field's value.
20427func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
20428	s.VersionId = &v
20429	return s
20430}
20431
20432// Details about an AWS Secrets Manager secret.
20433type AwsSecretsManagerSecretDetails struct {
20434	_ struct{} `type:"structure"`
20435
20436	// Whether the secret is deleted.
20437	Deleted *bool `type:"boolean"`
20438
20439	// The user-provided description of the secret.
20440	Description *string `type:"string"`
20441
20442	// The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to
20443	// encrypt the SecretString or SecretBinary values for versions of this secret.
20444	KmsKeyId *string `type:"string"`
20445
20446	// The name of the secret.
20447	Name *string `type:"string"`
20448
20449	// Whether rotation is enabled.
20450	RotationEnabled *bool `type:"boolean"`
20451
20452	// The ARN of the Lambda function that rotates the secret.
20453	RotationLambdaArn *string `type:"string"`
20454
20455	// Whether the rotation occurred within the specified rotation frequency.
20456	RotationOccurredWithinFrequency *bool `type:"boolean"`
20457
20458	// Defines the rotation schedule for the secret.
20459	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
20460}
20461
20462// String returns the string representation
20463func (s AwsSecretsManagerSecretDetails) String() string {
20464	return awsutil.Prettify(s)
20465}
20466
20467// GoString returns the string representation
20468func (s AwsSecretsManagerSecretDetails) GoString() string {
20469	return s.String()
20470}
20471
20472// SetDeleted sets the Deleted field's value.
20473func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
20474	s.Deleted = &v
20475	return s
20476}
20477
20478// SetDescription sets the Description field's value.
20479func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
20480	s.Description = &v
20481	return s
20482}
20483
20484// SetKmsKeyId sets the KmsKeyId field's value.
20485func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
20486	s.KmsKeyId = &v
20487	return s
20488}
20489
20490// SetName sets the Name field's value.
20491func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
20492	s.Name = &v
20493	return s
20494}
20495
20496// SetRotationEnabled sets the RotationEnabled field's value.
20497func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
20498	s.RotationEnabled = &v
20499	return s
20500}
20501
20502// SetRotationLambdaArn sets the RotationLambdaArn field's value.
20503func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
20504	s.RotationLambdaArn = &v
20505	return s
20506}
20507
20508// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
20509func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
20510	s.RotationOccurredWithinFrequency = &v
20511	return s
20512}
20513
20514// SetRotationRules sets the RotationRules field's value.
20515func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
20516	s.RotationRules = v
20517	return s
20518}
20519
20520// Defines the rotation schedule for the secret.
20521type AwsSecretsManagerSecretRotationRules struct {
20522	_ struct{} `type:"structure"`
20523
20524	// The number of days after the previous rotation to rotate the secret.
20525	AutomaticallyAfterDays *int64 `type:"integer"`
20526}
20527
20528// String returns the string representation
20529func (s AwsSecretsManagerSecretRotationRules) String() string {
20530	return awsutil.Prettify(s)
20531}
20532
20533// GoString returns the string representation
20534func (s AwsSecretsManagerSecretRotationRules) GoString() string {
20535	return s.String()
20536}
20537
20538// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
20539func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
20540	s.AutomaticallyAfterDays = &v
20541	return s
20542}
20543
20544// Provides consistent format for the contents of the Security Hub-aggregated
20545// findings. AwsSecurityFinding format enables you to share findings between
20546// AWS security services and third-party solutions, and security standards checks.
20547//
20548// A finding is a potential security issue generated either by AWS services
20549// (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated
20550// third-party solutions and standards checks.
20551type AwsSecurityFinding struct {
20552	_ struct{} `type:"structure"`
20553
20554	// Provides details about an action that affects or that was taken on a resource.
20555	Action *Action `type:"structure"`
20556
20557	// The AWS account ID that a finding is generated in.
20558	//
20559	// AwsAccountId is a required field
20560	AwsAccountId *string `type:"string" required:"true"`
20561
20562	// This data type is exclusive to findings that are generated as the result
20563	// of a check run against a specific rule in a supported security standard,
20564	// such as CIS AWS Foundations. Contains security standard-related finding details.
20565	Compliance *Compliance `type:"structure"`
20566
20567	// A finding's confidence. Confidence is defined as the likelihood that a finding
20568	// accurately identifies the behavior or issue that it was intended to identify.
20569	//
20570	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
20571	// zero percent confidence and 100 means 100 percent confidence.
20572	Confidence *int64 `type:"integer"`
20573
20574	// Indicates when the security-findings provider created the potential security
20575	// issue that a finding captured.
20576	//
20577	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20578	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20579	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20580	//
20581	// CreatedAt is a required field
20582	CreatedAt *string `type:"string" required:"true"`
20583
20584	// The level of importance assigned to the resources associated with the finding.
20585	//
20586	// A score of 0 means that the underlying resources have no criticality, and
20587	// a score of 100 is reserved for the most critical resources.
20588	Criticality *int64 `type:"integer"`
20589
20590	// A finding's description.
20591	//
20592	// In this release, Description is a required property.
20593	//
20594	// Description is a required field
20595	Description *string `type:"string" required:"true"`
20596
20597	// In a BatchImportFindings request, finding providers use FindingProviderFields
20598	// to provide and update their own values for confidence, criticality, related
20599	// findings, severity, and types.
20600	FindingProviderFields *FindingProviderFields `type:"structure"`
20601
20602	// Indicates when the security-findings provider first observed the potential
20603	// security issue that a finding captured.
20604	//
20605	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20606	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20607	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20608	FirstObservedAt *string `type:"string"`
20609
20610	// The identifier for the solution-specific component (a discrete unit of logic)
20611	// that generated a finding. In various security-findings providers' solutions,
20612	// this generator can be called a rule, a check, a detector, a plugin, etc.
20613	//
20614	// GeneratorId is a required field
20615	GeneratorId *string `type:"string" required:"true"`
20616
20617	// The security findings provider-specific identifier for a finding.
20618	//
20619	// Id is a required field
20620	Id *string `type:"string" required:"true"`
20621
20622	// Indicates when the security-findings provider most recently observed the
20623	// potential security issue that a finding captured.
20624	//
20625	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20626	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20627	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20628	LastObservedAt *string `type:"string"`
20629
20630	// A list of malware related to a finding.
20631	Malware []*Malware `type:"list"`
20632
20633	// The details of network-related information about a finding.
20634	Network *Network `type:"structure"`
20635
20636	// Provides information about a network path that is relevant to a finding.
20637	// Each entry under NetworkPath represents a component of that path.
20638	NetworkPath []*NetworkPathComponent `type:"list"`
20639
20640	// A user-defined note added to a finding.
20641	Note *Note `type:"structure"`
20642
20643	// Provides an overview of the patch compliance status for an instance against
20644	// a selected compliance standard.
20645	PatchSummary *PatchSummary `type:"structure"`
20646
20647	// The details of process-related information about a finding.
20648	Process *ProcessDetails `type:"structure"`
20649
20650	// The ARN generated by Security Hub that uniquely identifies a product that
20651	// generates findings. This can be the ARN for a third-party product that is
20652	// integrated with Security Hub, or the ARN for a custom integration.
20653	//
20654	// ProductArn is a required field
20655	ProductArn *string `type:"string" required:"true"`
20656
20657	// A data type where security-findings providers can include additional solution-specific
20658	// details that aren't part of the defined AwsSecurityFinding format.
20659	ProductFields map[string]*string `type:"map"`
20660
20661	// The record state of a finding.
20662	RecordState *string `type:"string" enum:"RecordState"`
20663
20664	// A list of related findings.
20665	RelatedFindings []*RelatedFinding `type:"list"`
20666
20667	// A data type that describes the remediation options for a finding.
20668	Remediation *Remediation `type:"structure"`
20669
20670	// A set of resource data types that describe the resources that the finding
20671	// refers to.
20672	//
20673	// Resources is a required field
20674	Resources []*Resource `type:"list" required:"true"`
20675
20676	// The schema version that a finding is formatted for.
20677	//
20678	// SchemaVersion is a required field
20679	SchemaVersion *string `type:"string" required:"true"`
20680
20681	// A finding's severity.
20682	Severity *Severity `type:"structure"`
20683
20684	// A URL that links to a page about the current finding in the security-findings
20685	// provider's solution.
20686	SourceUrl *string `type:"string"`
20687
20688	// Threat intelligence details related to a finding.
20689	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
20690
20691	// A finding's title.
20692	//
20693	// In this release, Title is a required property.
20694	//
20695	// Title is a required field
20696	Title *string `type:"string" required:"true"`
20697
20698	// One or more finding types in the format of namespace/category/classifier
20699	// that classify a finding.
20700	//
20701	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
20702	// | Unusual Behaviors | Sensitive Data Identifications
20703	Types []*string `type:"list"`
20704
20705	// Indicates when the security-findings provider last updated the finding record.
20706	//
20707	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20708	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20709	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20710	//
20711	// UpdatedAt is a required field
20712	UpdatedAt *string `type:"string" required:"true"`
20713
20714	// A list of name/value string pairs associated with the finding. These are
20715	// custom, user-defined fields added to a finding.
20716	UserDefinedFields map[string]*string `type:"map"`
20717
20718	// Indicates the veracity of a finding.
20719	VerificationState *string `type:"string" enum:"VerificationState"`
20720
20721	// Provides a list of vulnerabilities associated with the findings.
20722	Vulnerabilities []*Vulnerability `type:"list"`
20723
20724	// Provides information about the status of the investigation into a finding.
20725	Workflow *Workflow `type:"structure"`
20726
20727	// The workflow state of a finding.
20728	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
20729}
20730
20731// String returns the string representation
20732func (s AwsSecurityFinding) String() string {
20733	return awsutil.Prettify(s)
20734}
20735
20736// GoString returns the string representation
20737func (s AwsSecurityFinding) GoString() string {
20738	return s.String()
20739}
20740
20741// Validate inspects the fields of the type to determine if they are valid.
20742func (s *AwsSecurityFinding) Validate() error {
20743	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
20744	if s.AwsAccountId == nil {
20745		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
20746	}
20747	if s.CreatedAt == nil {
20748		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
20749	}
20750	if s.Description == nil {
20751		invalidParams.Add(request.NewErrParamRequired("Description"))
20752	}
20753	if s.GeneratorId == nil {
20754		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
20755	}
20756	if s.Id == nil {
20757		invalidParams.Add(request.NewErrParamRequired("Id"))
20758	}
20759	if s.ProductArn == nil {
20760		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
20761	}
20762	if s.Resources == nil {
20763		invalidParams.Add(request.NewErrParamRequired("Resources"))
20764	}
20765	if s.SchemaVersion == nil {
20766		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
20767	}
20768	if s.Title == nil {
20769		invalidParams.Add(request.NewErrParamRequired("Title"))
20770	}
20771	if s.UpdatedAt == nil {
20772		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
20773	}
20774	if s.Compliance != nil {
20775		if err := s.Compliance.Validate(); err != nil {
20776			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
20777		}
20778	}
20779	if s.FindingProviderFields != nil {
20780		if err := s.FindingProviderFields.Validate(); err != nil {
20781			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
20782		}
20783	}
20784	if s.Malware != nil {
20785		for i, v := range s.Malware {
20786			if v == nil {
20787				continue
20788			}
20789			if err := v.Validate(); err != nil {
20790				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
20791			}
20792		}
20793	}
20794	if s.Note != nil {
20795		if err := s.Note.Validate(); err != nil {
20796			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
20797		}
20798	}
20799	if s.PatchSummary != nil {
20800		if err := s.PatchSummary.Validate(); err != nil {
20801			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
20802		}
20803	}
20804	if s.RelatedFindings != nil {
20805		for i, v := range s.RelatedFindings {
20806			if v == nil {
20807				continue
20808			}
20809			if err := v.Validate(); err != nil {
20810				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
20811			}
20812		}
20813	}
20814	if s.Resources != nil {
20815		for i, v := range s.Resources {
20816			if v == nil {
20817				continue
20818			}
20819			if err := v.Validate(); err != nil {
20820				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
20821			}
20822		}
20823	}
20824	if s.Vulnerabilities != nil {
20825		for i, v := range s.Vulnerabilities {
20826			if v == nil {
20827				continue
20828			}
20829			if err := v.Validate(); err != nil {
20830				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
20831			}
20832		}
20833	}
20834
20835	if invalidParams.Len() > 0 {
20836		return invalidParams
20837	}
20838	return nil
20839}
20840
20841// SetAction sets the Action field's value.
20842func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
20843	s.Action = v
20844	return s
20845}
20846
20847// SetAwsAccountId sets the AwsAccountId field's value.
20848func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
20849	s.AwsAccountId = &v
20850	return s
20851}
20852
20853// SetCompliance sets the Compliance field's value.
20854func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
20855	s.Compliance = v
20856	return s
20857}
20858
20859// SetConfidence sets the Confidence field's value.
20860func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
20861	s.Confidence = &v
20862	return s
20863}
20864
20865// SetCreatedAt sets the CreatedAt field's value.
20866func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
20867	s.CreatedAt = &v
20868	return s
20869}
20870
20871// SetCriticality sets the Criticality field's value.
20872func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
20873	s.Criticality = &v
20874	return s
20875}
20876
20877// SetDescription sets the Description field's value.
20878func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
20879	s.Description = &v
20880	return s
20881}
20882
20883// SetFindingProviderFields sets the FindingProviderFields field's value.
20884func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
20885	s.FindingProviderFields = v
20886	return s
20887}
20888
20889// SetFirstObservedAt sets the FirstObservedAt field's value.
20890func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
20891	s.FirstObservedAt = &v
20892	return s
20893}
20894
20895// SetGeneratorId sets the GeneratorId field's value.
20896func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
20897	s.GeneratorId = &v
20898	return s
20899}
20900
20901// SetId sets the Id field's value.
20902func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
20903	s.Id = &v
20904	return s
20905}
20906
20907// SetLastObservedAt sets the LastObservedAt field's value.
20908func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
20909	s.LastObservedAt = &v
20910	return s
20911}
20912
20913// SetMalware sets the Malware field's value.
20914func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
20915	s.Malware = v
20916	return s
20917}
20918
20919// SetNetwork sets the Network field's value.
20920func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
20921	s.Network = v
20922	return s
20923}
20924
20925// SetNetworkPath sets the NetworkPath field's value.
20926func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
20927	s.NetworkPath = v
20928	return s
20929}
20930
20931// SetNote sets the Note field's value.
20932func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
20933	s.Note = v
20934	return s
20935}
20936
20937// SetPatchSummary sets the PatchSummary field's value.
20938func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
20939	s.PatchSummary = v
20940	return s
20941}
20942
20943// SetProcess sets the Process field's value.
20944func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
20945	s.Process = v
20946	return s
20947}
20948
20949// SetProductArn sets the ProductArn field's value.
20950func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
20951	s.ProductArn = &v
20952	return s
20953}
20954
20955// SetProductFields sets the ProductFields field's value.
20956func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
20957	s.ProductFields = v
20958	return s
20959}
20960
20961// SetRecordState sets the RecordState field's value.
20962func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
20963	s.RecordState = &v
20964	return s
20965}
20966
20967// SetRelatedFindings sets the RelatedFindings field's value.
20968func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
20969	s.RelatedFindings = v
20970	return s
20971}
20972
20973// SetRemediation sets the Remediation field's value.
20974func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
20975	s.Remediation = v
20976	return s
20977}
20978
20979// SetResources sets the Resources field's value.
20980func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
20981	s.Resources = v
20982	return s
20983}
20984
20985// SetSchemaVersion sets the SchemaVersion field's value.
20986func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
20987	s.SchemaVersion = &v
20988	return s
20989}
20990
20991// SetSeverity sets the Severity field's value.
20992func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
20993	s.Severity = v
20994	return s
20995}
20996
20997// SetSourceUrl sets the SourceUrl field's value.
20998func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
20999	s.SourceUrl = &v
21000	return s
21001}
21002
21003// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
21004func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
21005	s.ThreatIntelIndicators = v
21006	return s
21007}
21008
21009// SetTitle sets the Title field's value.
21010func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
21011	s.Title = &v
21012	return s
21013}
21014
21015// SetTypes sets the Types field's value.
21016func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
21017	s.Types = v
21018	return s
21019}
21020
21021// SetUpdatedAt sets the UpdatedAt field's value.
21022func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
21023	s.UpdatedAt = &v
21024	return s
21025}
21026
21027// SetUserDefinedFields sets the UserDefinedFields field's value.
21028func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
21029	s.UserDefinedFields = v
21030	return s
21031}
21032
21033// SetVerificationState sets the VerificationState field's value.
21034func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
21035	s.VerificationState = &v
21036	return s
21037}
21038
21039// SetVulnerabilities sets the Vulnerabilities field's value.
21040func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
21041	s.Vulnerabilities = v
21042	return s
21043}
21044
21045// SetWorkflow sets the Workflow field's value.
21046func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
21047	s.Workflow = v
21048	return s
21049}
21050
21051// SetWorkflowState sets the WorkflowState field's value.
21052func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
21053	s.WorkflowState = &v
21054	return s
21055}
21056
21057// A collection of attributes that are applied to all active Security Hub-aggregated
21058// findings and that result in a subset of findings that are included in this
21059// insight.
21060//
21061// You can filter by up to 10 finding attributes. For each attribute, you can
21062// provide up to 20 filter values.
21063type AwsSecurityFindingFilters struct {
21064	_ struct{} `type:"structure"`
21065
21066	// The AWS account ID that a finding is generated in.
21067	AwsAccountId []*StringFilter `type:"list"`
21068
21069	// The name of the findings provider (company) that owns the solution (product)
21070	// that generates findings.
21071	CompanyName []*StringFilter `type:"list"`
21072
21073	// Exclusive to findings that are generated as the result of a check run against
21074	// a specific rule in a supported standard, such as CIS AWS Foundations. Contains
21075	// security standard-related finding details.
21076	ComplianceStatus []*StringFilter `type:"list"`
21077
21078	// A finding's confidence. Confidence is defined as the likelihood that a finding
21079	// accurately identifies the behavior or issue that it was intended to identify.
21080	//
21081	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
21082	// zero percent confidence and 100 means 100 percent confidence.
21083	Confidence []*NumberFilter `type:"list"`
21084
21085	// An ISO8601-formatted timestamp that indicates when the security-findings
21086	// provider captured the potential security issue that a finding captured.
21087	CreatedAt []*DateFilter `type:"list"`
21088
21089	// The level of importance assigned to the resources associated with the finding.
21090	//
21091	// A score of 0 means that the underlying resources have no criticality, and
21092	// a score of 100 is reserved for the most critical resources.
21093	Criticality []*NumberFilter `type:"list"`
21094
21095	// A finding's description.
21096	Description []*StringFilter `type:"list"`
21097
21098	// The finding provider value for the finding confidence. Confidence is defined
21099	// as the likelihood that a finding accurately identifies the behavior or issue
21100	// that it was intended to identify.
21101	//
21102	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
21103	// zero percent confidence and 100 means 100 percent confidence.
21104	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
21105
21106	// The finding provider value for the level of importance assigned to the resources
21107	// associated with the findings.
21108	//
21109	// A score of 0 means that the underlying resources have no criticality, and
21110	// a score of 100 is reserved for the most critical resources.
21111	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
21112
21113	// The finding identifier of a related finding that is identified by the finding
21114	// provider.
21115	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
21116
21117	// The ARN of the solution that generated a related finding that is identified
21118	// by the finding provider.
21119	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
21120
21121	// The finding provider value for the severity label.
21122	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
21123
21124	// The finding provider's original value for the severity.
21125	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
21126
21127	// One or more finding types that the finding provider assigned to the finding.
21128	// Uses the format of namespace/category/classifier that classify a finding.
21129	//
21130	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
21131	// | Unusual Behaviors | Sensitive Data Identifications
21132	FindingProviderFieldsTypes []*StringFilter `type:"list"`
21133
21134	// An ISO8601-formatted timestamp that indicates when the security-findings
21135	// provider first observed the potential security issue that a finding captured.
21136	FirstObservedAt []*DateFilter `type:"list"`
21137
21138	// The identifier for the solution-specific component (a discrete unit of logic)
21139	// that generated a finding. In various security-findings providers' solutions,
21140	// this generator can be called a rule, a check, a detector, a plugin, etc.
21141	GeneratorId []*StringFilter `type:"list"`
21142
21143	// The security findings provider-specific identifier for a finding.
21144	Id []*StringFilter `type:"list"`
21145
21146	// A keyword for a finding.
21147	//
21148	// Deprecated: The Keyword property is deprecated.
21149	Keyword []*KeywordFilter `deprecated:"true" type:"list"`
21150
21151	// An ISO8601-formatted timestamp that indicates when the security-findings
21152	// provider most recently observed the potential security issue that a finding
21153	// captured.
21154	LastObservedAt []*DateFilter `type:"list"`
21155
21156	// The name of the malware that was observed.
21157	MalwareName []*StringFilter `type:"list"`
21158
21159	// The filesystem path of the malware that was observed.
21160	MalwarePath []*StringFilter `type:"list"`
21161
21162	// The state of the malware that was observed.
21163	MalwareState []*StringFilter `type:"list"`
21164
21165	// The type of the malware that was observed.
21166	MalwareType []*StringFilter `type:"list"`
21167
21168	// The destination domain of network-related information about a finding.
21169	NetworkDestinationDomain []*StringFilter `type:"list"`
21170
21171	// The destination IPv4 address of network-related information about a finding.
21172	NetworkDestinationIpV4 []*IpFilter `type:"list"`
21173
21174	// The destination IPv6 address of network-related information about a finding.
21175	NetworkDestinationIpV6 []*IpFilter `type:"list"`
21176
21177	// The destination port of network-related information about a finding.
21178	NetworkDestinationPort []*NumberFilter `type:"list"`
21179
21180	// Indicates the direction of network traffic associated with a finding.
21181	NetworkDirection []*StringFilter `type:"list"`
21182
21183	// The protocol of network-related information about a finding.
21184	NetworkProtocol []*StringFilter `type:"list"`
21185
21186	// The source domain of network-related information about a finding.
21187	NetworkSourceDomain []*StringFilter `type:"list"`
21188
21189	// The source IPv4 address of network-related information about a finding.
21190	NetworkSourceIpV4 []*IpFilter `type:"list"`
21191
21192	// The source IPv6 address of network-related information about a finding.
21193	NetworkSourceIpV6 []*IpFilter `type:"list"`
21194
21195	// The source media access control (MAC) address of network-related information
21196	// about a finding.
21197	NetworkSourceMac []*StringFilter `type:"list"`
21198
21199	// The source port of network-related information about a finding.
21200	NetworkSourcePort []*NumberFilter `type:"list"`
21201
21202	// The text of a note.
21203	NoteText []*StringFilter `type:"list"`
21204
21205	// The timestamp of when the note was updated.
21206	NoteUpdatedAt []*DateFilter `type:"list"`
21207
21208	// The principal that created a note.
21209	NoteUpdatedBy []*StringFilter `type:"list"`
21210
21211	// The date/time that the process was launched.
21212	ProcessLaunchedAt []*DateFilter `type:"list"`
21213
21214	// The name of the process.
21215	ProcessName []*StringFilter `type:"list"`
21216
21217	// The parent process ID.
21218	ProcessParentPid []*NumberFilter `type:"list"`
21219
21220	// The path to the process executable.
21221	ProcessPath []*StringFilter `type:"list"`
21222
21223	// The process ID.
21224	ProcessPid []*NumberFilter `type:"list"`
21225
21226	// The date/time that the process was terminated.
21227	ProcessTerminatedAt []*DateFilter `type:"list"`
21228
21229	// The ARN generated by Security Hub that uniquely identifies a third-party
21230	// company (security findings provider) after this provider's product (solution
21231	// that generates findings) is registered with Security Hub.
21232	ProductArn []*StringFilter `type:"list"`
21233
21234	// A data type where security-findings providers can include additional solution-specific
21235	// details that aren't part of the defined AwsSecurityFinding format.
21236	ProductFields []*MapFilter `type:"list"`
21237
21238	// The name of the solution (product) that generates findings.
21239	ProductName []*StringFilter `type:"list"`
21240
21241	// The recommendation of what to do about the issue described in a finding.
21242	RecommendationText []*StringFilter `type:"list"`
21243
21244	// The updated record state for the finding.
21245	RecordState []*StringFilter `type:"list"`
21246
21247	// The solution-generated identifier for a related finding.
21248	RelatedFindingsId []*StringFilter `type:"list"`
21249
21250	// The ARN of the solution that generated a related finding.
21251	RelatedFindingsProductArn []*StringFilter `type:"list"`
21252
21253	// The IAM profile ARN of the instance.
21254	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
21255
21256	// The Amazon Machine Image (AMI) ID of the instance.
21257	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
21258
21259	// The IPv4 addresses associated with the instance.
21260	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
21261
21262	// The IPv6 addresses associated with the instance.
21263	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
21264
21265	// The key name associated with the instance.
21266	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
21267
21268	// The date and time the instance was launched.
21269	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
21270
21271	// The identifier of the subnet that the instance was launched in.
21272	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
21273
21274	// The instance type of the instance.
21275	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
21276
21277	// The identifier of the VPC that the instance was launched in.
21278	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
21279
21280	// The creation date/time of the IAM access key related to a finding.
21281	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
21282
21283	// The status of the IAM access key related to a finding.
21284	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
21285
21286	// The user associated with the IAM access key related to a finding.
21287	ResourceAwsIamAccessKeyUserName []*StringFilter `type:"list"`
21288
21289	// The canonical user ID of the owner of the S3 bucket.
21290	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
21291
21292	// The display name of the owner of the S3 bucket.
21293	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
21294
21295	// The identifier of the image related to a finding.
21296	ResourceContainerImageId []*StringFilter `type:"list"`
21297
21298	// The name of the image related to a finding.
21299	ResourceContainerImageName []*StringFilter `type:"list"`
21300
21301	// The date/time that the container was started.
21302	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
21303
21304	// The name of the container related to a finding.
21305	ResourceContainerName []*StringFilter `type:"list"`
21306
21307	// The details of a resource that doesn't have a specific subfield for the resource
21308	// type defined.
21309	ResourceDetailsOther []*MapFilter `type:"list"`
21310
21311	// The canonical identifier for the given resource type.
21312	ResourceId []*StringFilter `type:"list"`
21313
21314	// The canonical AWS partition name that the Region is assigned to.
21315	ResourcePartition []*StringFilter `type:"list"`
21316
21317	// The canonical AWS external Region name where this resource is located.
21318	ResourceRegion []*StringFilter `type:"list"`
21319
21320	// A list of AWS tags associated with a resource at the time the finding was
21321	// processed.
21322	ResourceTags []*MapFilter `type:"list"`
21323
21324	// Specifies the type of the resource that details are provided for.
21325	ResourceType []*StringFilter `type:"list"`
21326
21327	// The label of a finding's severity.
21328	SeverityLabel []*StringFilter `type:"list"`
21329
21330	// The normalized severity of a finding.
21331	//
21332	// Deprecated: This filter is deprecated, use SeverityLabel or FindingProviderFieldsSeverityLabel instead.
21333	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
21334
21335	// The native severity as defined by the security-findings provider's solution
21336	// that generated the finding.
21337	//
21338	// Deprecated: This filter is deprecated, use FindingProviiltersSeverityOriginal instead.
21339	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
21340
21341	// A URL that links to a page about the current finding in the security-findings
21342	// provider's solution.
21343	SourceUrl []*StringFilter `type:"list"`
21344
21345	// The category of a threat intelligence indicator.
21346	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
21347
21348	// The date/time of the last observation of a threat intelligence indicator.
21349	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
21350
21351	// The source of the threat intelligence.
21352	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
21353
21354	// The URL for more details from the source of the threat intelligence.
21355	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
21356
21357	// The type of a threat intelligence indicator.
21358	ThreatIntelIndicatorType []*StringFilter `type:"list"`
21359
21360	// The value of a threat intelligence indicator.
21361	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
21362
21363	// A finding's title.
21364	Title []*StringFilter `type:"list"`
21365
21366	// A finding type in the format of namespace/category/classifier that classifies
21367	// a finding.
21368	Type []*StringFilter `type:"list"`
21369
21370	// An ISO8601-formatted timestamp that indicates when the security-findings
21371	// provider last updated the finding record.
21372	UpdatedAt []*DateFilter `type:"list"`
21373
21374	// A list of name/value string pairs associated with the finding. These are
21375	// custom, user-defined fields added to a finding.
21376	UserDefinedFields []*MapFilter `type:"list"`
21377
21378	// The veracity of a finding.
21379	VerificationState []*StringFilter `type:"list"`
21380
21381	// The workflow state of a finding.
21382	//
21383	// Note that this field is deprecated. To search for a finding based on its
21384	// workflow status, use WorkflowStatus.
21385	WorkflowState []*StringFilter `type:"list"`
21386
21387	// The status of the investigation into a finding. Allowed values are the following.
21388	//
21389	//    * NEW - The initial state of a finding, before it is reviewed. Security
21390	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
21391	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
21392	//    The compliance status changes from PASSED to either WARNING, FAILED, or
21393	//    NOT_AVAILABLE.
21394	//
21395	//    * NOTIFIED - Indicates that the resource owner has been notified about
21396	//    the security issue. Used when the initial reviewer is not the resource
21397	//    owner, and needs intervention from the resource owner.
21398	//
21399	//    * SUPPRESSED - The finding will not be reviewed again and will not be
21400	//    acted upon.
21401	//
21402	//    * RESOLVED - The finding was reviewed and remediated and is now considered
21403	//    resolved.
21404	WorkflowStatus []*StringFilter `type:"list"`
21405}
21406
21407// String returns the string representation
21408func (s AwsSecurityFindingFilters) String() string {
21409	return awsutil.Prettify(s)
21410}
21411
21412// GoString returns the string representation
21413func (s AwsSecurityFindingFilters) GoString() string {
21414	return s.String()
21415}
21416
21417// SetAwsAccountId sets the AwsAccountId field's value.
21418func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
21419	s.AwsAccountId = v
21420	return s
21421}
21422
21423// SetCompanyName sets the CompanyName field's value.
21424func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
21425	s.CompanyName = v
21426	return s
21427}
21428
21429// SetComplianceStatus sets the ComplianceStatus field's value.
21430func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
21431	s.ComplianceStatus = v
21432	return s
21433}
21434
21435// SetConfidence sets the Confidence field's value.
21436func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
21437	s.Confidence = v
21438	return s
21439}
21440
21441// SetCreatedAt sets the CreatedAt field's value.
21442func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21443	s.CreatedAt = v
21444	return s
21445}
21446
21447// SetCriticality sets the Criticality field's value.
21448func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
21449	s.Criticality = v
21450	return s
21451}
21452
21453// SetDescription sets the Description field's value.
21454func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
21455	s.Description = v
21456	return s
21457}
21458
21459// SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
21460func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
21461	s.FindingProviderFieldsConfidence = v
21462	return s
21463}
21464
21465// SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
21466func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
21467	s.FindingProviderFieldsCriticality = v
21468	return s
21469}
21470
21471// SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
21472func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
21473	s.FindingProviderFieldsRelatedFindingsId = v
21474	return s
21475}
21476
21477// SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
21478func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
21479	s.FindingProviderFieldsRelatedFindingsProductArn = v
21480	return s
21481}
21482
21483// SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
21484func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
21485	s.FindingProviderFieldsSeverityLabel = v
21486	return s
21487}
21488
21489// SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
21490func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
21491	s.FindingProviderFieldsSeverityOriginal = v
21492	return s
21493}
21494
21495// SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
21496func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
21497	s.FindingProviderFieldsTypes = v
21498	return s
21499}
21500
21501// SetFirstObservedAt sets the FirstObservedAt field's value.
21502func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21503	s.FirstObservedAt = v
21504	return s
21505}
21506
21507// SetGeneratorId sets the GeneratorId field's value.
21508func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
21509	s.GeneratorId = v
21510	return s
21511}
21512
21513// SetId sets the Id field's value.
21514func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
21515	s.Id = v
21516	return s
21517}
21518
21519// SetKeyword sets the Keyword field's value.
21520func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
21521	s.Keyword = v
21522	return s
21523}
21524
21525// SetLastObservedAt sets the LastObservedAt field's value.
21526func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21527	s.LastObservedAt = v
21528	return s
21529}
21530
21531// SetMalwareName sets the MalwareName field's value.
21532func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
21533	s.MalwareName = v
21534	return s
21535}
21536
21537// SetMalwarePath sets the MalwarePath field's value.
21538func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
21539	s.MalwarePath = v
21540	return s
21541}
21542
21543// SetMalwareState sets the MalwareState field's value.
21544func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
21545	s.MalwareState = v
21546	return s
21547}
21548
21549// SetMalwareType sets the MalwareType field's value.
21550func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
21551	s.MalwareType = v
21552	return s
21553}
21554
21555// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
21556func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
21557	s.NetworkDestinationDomain = v
21558	return s
21559}
21560
21561// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
21562func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
21563	s.NetworkDestinationIpV4 = v
21564	return s
21565}
21566
21567// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
21568func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
21569	s.NetworkDestinationIpV6 = v
21570	return s
21571}
21572
21573// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
21574func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
21575	s.NetworkDestinationPort = v
21576	return s
21577}
21578
21579// SetNetworkDirection sets the NetworkDirection field's value.
21580func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
21581	s.NetworkDirection = v
21582	return s
21583}
21584
21585// SetNetworkProtocol sets the NetworkProtocol field's value.
21586func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
21587	s.NetworkProtocol = v
21588	return s
21589}
21590
21591// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
21592func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
21593	s.NetworkSourceDomain = v
21594	return s
21595}
21596
21597// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
21598func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
21599	s.NetworkSourceIpV4 = v
21600	return s
21601}
21602
21603// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
21604func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
21605	s.NetworkSourceIpV6 = v
21606	return s
21607}
21608
21609// SetNetworkSourceMac sets the NetworkSourceMac field's value.
21610func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
21611	s.NetworkSourceMac = v
21612	return s
21613}
21614
21615// SetNetworkSourcePort sets the NetworkSourcePort field's value.
21616func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
21617	s.NetworkSourcePort = v
21618	return s
21619}
21620
21621// SetNoteText sets the NoteText field's value.
21622func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
21623	s.NoteText = v
21624	return s
21625}
21626
21627// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
21628func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21629	s.NoteUpdatedAt = v
21630	return s
21631}
21632
21633// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
21634func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
21635	s.NoteUpdatedBy = v
21636	return s
21637}
21638
21639// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
21640func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21641	s.ProcessLaunchedAt = v
21642	return s
21643}
21644
21645// SetProcessName sets the ProcessName field's value.
21646func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
21647	s.ProcessName = v
21648	return s
21649}
21650
21651// SetProcessParentPid sets the ProcessParentPid field's value.
21652func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
21653	s.ProcessParentPid = v
21654	return s
21655}
21656
21657// SetProcessPath sets the ProcessPath field's value.
21658func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
21659	s.ProcessPath = v
21660	return s
21661}
21662
21663// SetProcessPid sets the ProcessPid field's value.
21664func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
21665	s.ProcessPid = v
21666	return s
21667}
21668
21669// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
21670func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21671	s.ProcessTerminatedAt = v
21672	return s
21673}
21674
21675// SetProductArn sets the ProductArn field's value.
21676func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
21677	s.ProductArn = v
21678	return s
21679}
21680
21681// SetProductFields sets the ProductFields field's value.
21682func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
21683	s.ProductFields = v
21684	return s
21685}
21686
21687// SetProductName sets the ProductName field's value.
21688func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
21689	s.ProductName = v
21690	return s
21691}
21692
21693// SetRecommendationText sets the RecommendationText field's value.
21694func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
21695	s.RecommendationText = v
21696	return s
21697}
21698
21699// SetRecordState sets the RecordState field's value.
21700func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
21701	s.RecordState = v
21702	return s
21703}
21704
21705// SetRelatedFindingsId sets the RelatedFindingsId field's value.
21706func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
21707	s.RelatedFindingsId = v
21708	return s
21709}
21710
21711// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
21712func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
21713	s.RelatedFindingsProductArn = v
21714	return s
21715}
21716
21717// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
21718func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
21719	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
21720	return s
21721}
21722
21723// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
21724func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
21725	s.ResourceAwsEc2InstanceImageId = v
21726	return s
21727}
21728
21729// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
21730func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
21731	s.ResourceAwsEc2InstanceIpV4Addresses = v
21732	return s
21733}
21734
21735// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
21736func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
21737	s.ResourceAwsEc2InstanceIpV6Addresses = v
21738	return s
21739}
21740
21741// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
21742func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
21743	s.ResourceAwsEc2InstanceKeyName = v
21744	return s
21745}
21746
21747// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
21748func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21749	s.ResourceAwsEc2InstanceLaunchedAt = v
21750	return s
21751}
21752
21753// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
21754func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
21755	s.ResourceAwsEc2InstanceSubnetId = v
21756	return s
21757}
21758
21759// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
21760func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
21761	s.ResourceAwsEc2InstanceType = v
21762	return s
21763}
21764
21765// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
21766func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
21767	s.ResourceAwsEc2InstanceVpcId = v
21768	return s
21769}
21770
21771// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
21772func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21773	s.ResourceAwsIamAccessKeyCreatedAt = v
21774	return s
21775}
21776
21777// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
21778func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
21779	s.ResourceAwsIamAccessKeyStatus = v
21780	return s
21781}
21782
21783// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
21784func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
21785	s.ResourceAwsIamAccessKeyUserName = v
21786	return s
21787}
21788
21789// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
21790func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
21791	s.ResourceAwsS3BucketOwnerId = v
21792	return s
21793}
21794
21795// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
21796func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
21797	s.ResourceAwsS3BucketOwnerName = v
21798	return s
21799}
21800
21801// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
21802func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
21803	s.ResourceContainerImageId = v
21804	return s
21805}
21806
21807// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
21808func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
21809	s.ResourceContainerImageName = v
21810	return s
21811}
21812
21813// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
21814func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21815	s.ResourceContainerLaunchedAt = v
21816	return s
21817}
21818
21819// SetResourceContainerName sets the ResourceContainerName field's value.
21820func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
21821	s.ResourceContainerName = v
21822	return s
21823}
21824
21825// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
21826func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
21827	s.ResourceDetailsOther = v
21828	return s
21829}
21830
21831// SetResourceId sets the ResourceId field's value.
21832func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
21833	s.ResourceId = v
21834	return s
21835}
21836
21837// SetResourcePartition sets the ResourcePartition field's value.
21838func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
21839	s.ResourcePartition = v
21840	return s
21841}
21842
21843// SetResourceRegion sets the ResourceRegion field's value.
21844func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
21845	s.ResourceRegion = v
21846	return s
21847}
21848
21849// SetResourceTags sets the ResourceTags field's value.
21850func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
21851	s.ResourceTags = v
21852	return s
21853}
21854
21855// SetResourceType sets the ResourceType field's value.
21856func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
21857	s.ResourceType = v
21858	return s
21859}
21860
21861// SetSeverityLabel sets the SeverityLabel field's value.
21862func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
21863	s.SeverityLabel = v
21864	return s
21865}
21866
21867// SetSeverityNormalized sets the SeverityNormalized field's value.
21868func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
21869	s.SeverityNormalized = v
21870	return s
21871}
21872
21873// SetSeverityProduct sets the SeverityProduct field's value.
21874func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
21875	s.SeverityProduct = v
21876	return s
21877}
21878
21879// SetSourceUrl sets the SourceUrl field's value.
21880func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
21881	s.SourceUrl = v
21882	return s
21883}
21884
21885// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
21886func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
21887	s.ThreatIntelIndicatorCategory = v
21888	return s
21889}
21890
21891// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
21892func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21893	s.ThreatIntelIndicatorLastObservedAt = v
21894	return s
21895}
21896
21897// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
21898func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
21899	s.ThreatIntelIndicatorSource = v
21900	return s
21901}
21902
21903// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
21904func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
21905	s.ThreatIntelIndicatorSourceUrl = v
21906	return s
21907}
21908
21909// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
21910func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
21911	s.ThreatIntelIndicatorType = v
21912	return s
21913}
21914
21915// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
21916func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
21917	s.ThreatIntelIndicatorValue = v
21918	return s
21919}
21920
21921// SetTitle sets the Title field's value.
21922func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
21923	s.Title = v
21924	return s
21925}
21926
21927// SetType sets the Type field's value.
21928func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
21929	s.Type = v
21930	return s
21931}
21932
21933// SetUpdatedAt sets the UpdatedAt field's value.
21934func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
21935	s.UpdatedAt = v
21936	return s
21937}
21938
21939// SetUserDefinedFields sets the UserDefinedFields field's value.
21940func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
21941	s.UserDefinedFields = v
21942	return s
21943}
21944
21945// SetVerificationState sets the VerificationState field's value.
21946func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
21947	s.VerificationState = v
21948	return s
21949}
21950
21951// SetWorkflowState sets the WorkflowState field's value.
21952func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
21953	s.WorkflowState = v
21954	return s
21955}
21956
21957// SetWorkflowStatus sets the WorkflowStatus field's value.
21958func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
21959	s.WorkflowStatus = v
21960	return s
21961}
21962
21963// Identifies a finding to update using BatchUpdateFindings.
21964type AwsSecurityFindingIdentifier struct {
21965	_ struct{} `type:"structure"`
21966
21967	// The identifier of the finding that was specified by the finding provider.
21968	//
21969	// Id is a required field
21970	Id *string `type:"string" required:"true"`
21971
21972	// The ARN generated by Security Hub that uniquely identifies a product that
21973	// generates findings. This can be the ARN for a third-party product that is
21974	// integrated with Security Hub, or the ARN for a custom integration.
21975	//
21976	// ProductArn is a required field
21977	ProductArn *string `type:"string" required:"true"`
21978}
21979
21980// String returns the string representation
21981func (s AwsSecurityFindingIdentifier) String() string {
21982	return awsutil.Prettify(s)
21983}
21984
21985// GoString returns the string representation
21986func (s AwsSecurityFindingIdentifier) GoString() string {
21987	return s.String()
21988}
21989
21990// Validate inspects the fields of the type to determine if they are valid.
21991func (s *AwsSecurityFindingIdentifier) Validate() error {
21992	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
21993	if s.Id == nil {
21994		invalidParams.Add(request.NewErrParamRequired("Id"))
21995	}
21996	if s.ProductArn == nil {
21997		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
21998	}
21999
22000	if invalidParams.Len() > 0 {
22001		return invalidParams
22002	}
22003	return nil
22004}
22005
22006// SetId sets the Id field's value.
22007func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
22008	s.Id = &v
22009	return s
22010}
22011
22012// SetProductArn sets the ProductArn field's value.
22013func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
22014	s.ProductArn = &v
22015	return s
22016}
22017
22018// A wrapper type for the topic's ARN.
22019type AwsSnsTopicDetails struct {
22020	_ struct{} `type:"structure"`
22021
22022	// The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom
22023	// CMK.
22024	KmsMasterKeyId *string `type:"string"`
22025
22026	// The subscription's owner.
22027	Owner *string `type:"string"`
22028
22029	// Subscription is an embedded property that describes the subscription endpoints
22030	// of an Amazon SNS topic.
22031	Subscription []*AwsSnsTopicSubscription `type:"list"`
22032
22033	// The name of the topic.
22034	TopicName *string `type:"string"`
22035}
22036
22037// String returns the string representation
22038func (s AwsSnsTopicDetails) String() string {
22039	return awsutil.Prettify(s)
22040}
22041
22042// GoString returns the string representation
22043func (s AwsSnsTopicDetails) GoString() string {
22044	return s.String()
22045}
22046
22047// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
22048func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
22049	s.KmsMasterKeyId = &v
22050	return s
22051}
22052
22053// SetOwner sets the Owner field's value.
22054func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
22055	s.Owner = &v
22056	return s
22057}
22058
22059// SetSubscription sets the Subscription field's value.
22060func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
22061	s.Subscription = v
22062	return s
22063}
22064
22065// SetTopicName sets the TopicName field's value.
22066func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
22067	s.TopicName = &v
22068	return s
22069}
22070
22071// A wrapper type for the attributes of an Amazon SNS subscription.
22072type AwsSnsTopicSubscription struct {
22073	_ struct{} `type:"structure"`
22074
22075	// The subscription's endpoint (format depends on the protocol).
22076	Endpoint *string `type:"string"`
22077
22078	// The subscription's protocol.
22079	Protocol *string `type:"string"`
22080}
22081
22082// String returns the string representation
22083func (s AwsSnsTopicSubscription) String() string {
22084	return awsutil.Prettify(s)
22085}
22086
22087// GoString returns the string representation
22088func (s AwsSnsTopicSubscription) GoString() string {
22089	return s.String()
22090}
22091
22092// SetEndpoint sets the Endpoint field's value.
22093func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
22094	s.Endpoint = &v
22095	return s
22096}
22097
22098// SetProtocol sets the Protocol field's value.
22099func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
22100	s.Protocol = &v
22101	return s
22102}
22103
22104// Data about a queue.
22105type AwsSqsQueueDetails struct {
22106	_ struct{} `type:"structure"`
22107
22108	// The ARN of the dead-letter queue to which Amazon SQS moves messages after
22109	// the value of maxReceiveCount is exceeded.
22110	DeadLetterTargetArn *string `type:"string"`
22111
22112	// The length of time, in seconds, for which Amazon SQS can reuse a data key
22113	// to encrypt or decrypt messages before calling AWS KMS again.
22114	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
22115
22116	// The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom
22117	// CMK.
22118	KmsMasterKeyId *string `type:"string"`
22119
22120	// The name of the new queue.
22121	QueueName *string `type:"string"`
22122}
22123
22124// String returns the string representation
22125func (s AwsSqsQueueDetails) String() string {
22126	return awsutil.Prettify(s)
22127}
22128
22129// GoString returns the string representation
22130func (s AwsSqsQueueDetails) GoString() string {
22131	return s.String()
22132}
22133
22134// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
22135func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
22136	s.DeadLetterTargetArn = &v
22137	return s
22138}
22139
22140// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
22141func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
22142	s.KmsDataKeyReusePeriodSeconds = &v
22143	return s
22144}
22145
22146// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
22147func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
22148	s.KmsMasterKeyId = &v
22149	return s
22150}
22151
22152// SetQueueName sets the QueueName field's value.
22153func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
22154	s.QueueName = &v
22155	return s
22156}
22157
22158// Provides the details about the compliance status for a patch.
22159type AwsSsmComplianceSummary struct {
22160	_ struct{} `type:"structure"`
22161
22162	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
22163	// ComplianceType is Patch.
22164	ComplianceType *string `type:"string"`
22165
22166	// For the patches that are compliant, the number that have a severity of CRITICAL.
22167	CompliantCriticalCount *int64 `type:"integer"`
22168
22169	// For the patches that are compliant, the number that have a severity of HIGH.
22170	CompliantHighCount *int64 `type:"integer"`
22171
22172	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
22173	CompliantInformationalCount *int64 `type:"integer"`
22174
22175	// For the patches that are compliant, the number that have a severity of LOW.
22176	CompliantLowCount *int64 `type:"integer"`
22177
22178	// For the patches that are compliant, the number that have a severity of MEDIUM.
22179	CompliantMediumCount *int64 `type:"integer"`
22180
22181	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
22182	CompliantUnspecifiedCount *int64 `type:"integer"`
22183
22184	// The type of execution that was used determine compliance.
22185	ExecutionType *string `type:"string"`
22186
22187	// For the patch items that are noncompliant, the number of items that have
22188	// a severity of CRITICAL.
22189	NonCompliantCriticalCount *int64 `type:"integer"`
22190
22191	// For the patches that are noncompliant, the number that have a severity of
22192	// HIGH.
22193	NonCompliantHighCount *int64 `type:"integer"`
22194
22195	// For the patches that are noncompliant, the number that have a severity of
22196	// INFORMATIONAL.
22197	NonCompliantInformationalCount *int64 `type:"integer"`
22198
22199	// For the patches that are noncompliant, the number that have a severity of
22200	// LOW.
22201	NonCompliantLowCount *int64 `type:"integer"`
22202
22203	// For the patches that are noncompliant, the number that have a severity of
22204	// MEDIUM.
22205	NonCompliantMediumCount *int64 `type:"integer"`
22206
22207	// For the patches that are noncompliant, the number that have a severity of
22208	// UNSPECIFIED.
22209	NonCompliantUnspecifiedCount *int64 `type:"integer"`
22210
22211	// The highest severity for the patches.
22212	OverallSeverity *string `type:"string"`
22213
22214	// The identifier of the patch baseline. The patch baseline lists the patches
22215	// that are approved for installation.
22216	PatchBaselineId *string `type:"string"`
22217
22218	// The identifier of the patch group for which compliance was determined. A
22219	// patch group uses tags to group EC2 instances that should have the same patch
22220	// compliance.
22221	PatchGroup *string `type:"string"`
22222
22223	// The current patch compliance status.
22224	//
22225	// The possible status values are:
22226	//
22227	//    * COMPLIANT
22228	//
22229	//    * NON_COMPLIANT
22230	//
22231	//    * UNSPECIFIED_DATA
22232	Status *string `type:"string"`
22233}
22234
22235// String returns the string representation
22236func (s AwsSsmComplianceSummary) String() string {
22237	return awsutil.Prettify(s)
22238}
22239
22240// GoString returns the string representation
22241func (s AwsSsmComplianceSummary) GoString() string {
22242	return s.String()
22243}
22244
22245// SetComplianceType sets the ComplianceType field's value.
22246func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
22247	s.ComplianceType = &v
22248	return s
22249}
22250
22251// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
22252func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
22253	s.CompliantCriticalCount = &v
22254	return s
22255}
22256
22257// SetCompliantHighCount sets the CompliantHighCount field's value.
22258func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
22259	s.CompliantHighCount = &v
22260	return s
22261}
22262
22263// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
22264func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
22265	s.CompliantInformationalCount = &v
22266	return s
22267}
22268
22269// SetCompliantLowCount sets the CompliantLowCount field's value.
22270func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
22271	s.CompliantLowCount = &v
22272	return s
22273}
22274
22275// SetCompliantMediumCount sets the CompliantMediumCount field's value.
22276func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
22277	s.CompliantMediumCount = &v
22278	return s
22279}
22280
22281// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
22282func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
22283	s.CompliantUnspecifiedCount = &v
22284	return s
22285}
22286
22287// SetExecutionType sets the ExecutionType field's value.
22288func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
22289	s.ExecutionType = &v
22290	return s
22291}
22292
22293// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
22294func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
22295	s.NonCompliantCriticalCount = &v
22296	return s
22297}
22298
22299// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
22300func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
22301	s.NonCompliantHighCount = &v
22302	return s
22303}
22304
22305// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
22306func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
22307	s.NonCompliantInformationalCount = &v
22308	return s
22309}
22310
22311// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
22312func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
22313	s.NonCompliantLowCount = &v
22314	return s
22315}
22316
22317// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
22318func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
22319	s.NonCompliantMediumCount = &v
22320	return s
22321}
22322
22323// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
22324func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
22325	s.NonCompliantUnspecifiedCount = &v
22326	return s
22327}
22328
22329// SetOverallSeverity sets the OverallSeverity field's value.
22330func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
22331	s.OverallSeverity = &v
22332	return s
22333}
22334
22335// SetPatchBaselineId sets the PatchBaselineId field's value.
22336func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
22337	s.PatchBaselineId = &v
22338	return s
22339}
22340
22341// SetPatchGroup sets the PatchGroup field's value.
22342func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
22343	s.PatchGroup = &v
22344	return s
22345}
22346
22347// SetStatus sets the Status field's value.
22348func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
22349	s.Status = &v
22350	return s
22351}
22352
22353// Provides details about the compliance for a patch.
22354type AwsSsmPatch struct {
22355	_ struct{} `type:"structure"`
22356
22357	// The compliance status details for the patch.
22358	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
22359}
22360
22361// String returns the string representation
22362func (s AwsSsmPatch) String() string {
22363	return awsutil.Prettify(s)
22364}
22365
22366// GoString returns the string representation
22367func (s AwsSsmPatch) GoString() string {
22368	return s.String()
22369}
22370
22371// SetComplianceSummary sets the ComplianceSummary field's value.
22372func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
22373	s.ComplianceSummary = v
22374	return s
22375}
22376
22377// Provides information about the state of a patch on an instance based on the
22378// patch baseline that was used to patch the instance.
22379type AwsSsmPatchComplianceDetails struct {
22380	_ struct{} `type:"structure"`
22381
22382	// Information about the status of a patch.
22383	Patch *AwsSsmPatch `type:"structure"`
22384}
22385
22386// String returns the string representation
22387func (s AwsSsmPatchComplianceDetails) String() string {
22388	return awsutil.Prettify(s)
22389}
22390
22391// GoString returns the string representation
22392func (s AwsSsmPatchComplianceDetails) GoString() string {
22393	return s.String()
22394}
22395
22396// SetPatch sets the Patch field's value.
22397func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
22398	s.Patch = v
22399	return s
22400}
22401
22402// Details about a WAF WebACL.
22403type AwsWafWebAclDetails struct {
22404	_ struct{} `type:"structure"`
22405
22406	// The action to perform if none of the rules contained in the WebACL match.
22407	DefaultAction *string `type:"string"`
22408
22409	// A friendly name or description of the WebACL. You can't change the name of
22410	// a WebACL after you create it.
22411	Name *string `type:"string"`
22412
22413	// An array that contains the action for each rule in a WebACL, the priority
22414	// of the rule, and the ID of the rule.
22415	Rules []*AwsWafWebAclRule `type:"list"`
22416
22417	// A unique identifier for a WebACL.
22418	WebAclId *string `type:"string"`
22419}
22420
22421// String returns the string representation
22422func (s AwsWafWebAclDetails) String() string {
22423	return awsutil.Prettify(s)
22424}
22425
22426// GoString returns the string representation
22427func (s AwsWafWebAclDetails) GoString() string {
22428	return s.String()
22429}
22430
22431// SetDefaultAction sets the DefaultAction field's value.
22432func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
22433	s.DefaultAction = &v
22434	return s
22435}
22436
22437// SetName sets the Name field's value.
22438func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
22439	s.Name = &v
22440	return s
22441}
22442
22443// SetRules sets the Rules field's value.
22444func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
22445	s.Rules = v
22446	return s
22447}
22448
22449// SetWebAclId sets the WebAclId field's value.
22450func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
22451	s.WebAclId = &v
22452	return s
22453}
22454
22455// Details for a rule in a WAF WebACL.
22456type AwsWafWebAclRule struct {
22457	_ struct{} `type:"structure"`
22458
22459	// Specifies the action that CloudFront or AWS WAF takes when a web request
22460	// matches the conditions in the rule.
22461	Action *WafAction `type:"structure"`
22462
22463	// Rules to exclude from a rule group.
22464	ExcludedRules []*WafExcludedRule `type:"list"`
22465
22466	// Use the OverrideAction to test your RuleGroup.
22467	//
22468	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
22469	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
22470	// matches the request and is configured to block that request.
22471	//
22472	// However, if you first want to test the RuleGroup, set the OverrideAction
22473	// to Count. The RuleGroup then overrides any block action specified by individual
22474	// rules contained within the group. Instead of blocking matching requests,
22475	// those requests are counted.
22476	//
22477	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
22478	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
22479	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
22480	OverrideAction *WafOverrideAction `type:"structure"`
22481
22482	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
22483	// a lower value for Priority are evaluated before rules with a higher value.
22484	// The value must be a unique integer. If you add multiple rules to a WebACL,
22485	// the values do not need to be consecutive.
22486	Priority *int64 `type:"integer"`
22487
22488	// The identifier for a rule.
22489	RuleId *string `type:"string"`
22490
22491	// The rule type.
22492	//
22493	// Valid values: REGULAR | RATE_BASED | GROUP
22494	//
22495	// The default is REGULAR.
22496	Type *string `type:"string"`
22497}
22498
22499// String returns the string representation
22500func (s AwsWafWebAclRule) String() string {
22501	return awsutil.Prettify(s)
22502}
22503
22504// GoString returns the string representation
22505func (s AwsWafWebAclRule) GoString() string {
22506	return s.String()
22507}
22508
22509// SetAction sets the Action field's value.
22510func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
22511	s.Action = v
22512	return s
22513}
22514
22515// SetExcludedRules sets the ExcludedRules field's value.
22516func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
22517	s.ExcludedRules = v
22518	return s
22519}
22520
22521// SetOverrideAction sets the OverrideAction field's value.
22522func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
22523	s.OverrideAction = v
22524	return s
22525}
22526
22527// SetPriority sets the Priority field's value.
22528func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
22529	s.Priority = &v
22530	return s
22531}
22532
22533// SetRuleId sets the RuleId field's value.
22534func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
22535	s.RuleId = &v
22536	return s
22537}
22538
22539// SetType sets the Type field's value.
22540func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
22541	s.Type = &v
22542	return s
22543}
22544
22545type BatchDisableStandardsInput struct {
22546	_ struct{} `type:"structure"`
22547
22548	// The ARNs of the standards subscriptions to disable.
22549	//
22550	// StandardsSubscriptionArns is a required field
22551	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
22552}
22553
22554// String returns the string representation
22555func (s BatchDisableStandardsInput) String() string {
22556	return awsutil.Prettify(s)
22557}
22558
22559// GoString returns the string representation
22560func (s BatchDisableStandardsInput) GoString() string {
22561	return s.String()
22562}
22563
22564// Validate inspects the fields of the type to determine if they are valid.
22565func (s *BatchDisableStandardsInput) Validate() error {
22566	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
22567	if s.StandardsSubscriptionArns == nil {
22568		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
22569	}
22570	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
22571		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
22572	}
22573
22574	if invalidParams.Len() > 0 {
22575		return invalidParams
22576	}
22577	return nil
22578}
22579
22580// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
22581func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
22582	s.StandardsSubscriptionArns = v
22583	return s
22584}
22585
22586type BatchDisableStandardsOutput struct {
22587	_ struct{} `type:"structure"`
22588
22589	// The details of the standards subscriptions that were disabled.
22590	StandardsSubscriptions []*StandardsSubscription `type:"list"`
22591}
22592
22593// String returns the string representation
22594func (s BatchDisableStandardsOutput) String() string {
22595	return awsutil.Prettify(s)
22596}
22597
22598// GoString returns the string representation
22599func (s BatchDisableStandardsOutput) GoString() string {
22600	return s.String()
22601}
22602
22603// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
22604func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
22605	s.StandardsSubscriptions = v
22606	return s
22607}
22608
22609type BatchEnableStandardsInput struct {
22610	_ struct{} `type:"structure"`
22611
22612	// The list of standards checks to enable.
22613	//
22614	// StandardsSubscriptionRequests is a required field
22615	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
22616}
22617
22618// String returns the string representation
22619func (s BatchEnableStandardsInput) String() string {
22620	return awsutil.Prettify(s)
22621}
22622
22623// GoString returns the string representation
22624func (s BatchEnableStandardsInput) GoString() string {
22625	return s.String()
22626}
22627
22628// Validate inspects the fields of the type to determine if they are valid.
22629func (s *BatchEnableStandardsInput) Validate() error {
22630	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
22631	if s.StandardsSubscriptionRequests == nil {
22632		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
22633	}
22634	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
22635		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
22636	}
22637	if s.StandardsSubscriptionRequests != nil {
22638		for i, v := range s.StandardsSubscriptionRequests {
22639			if v == nil {
22640				continue
22641			}
22642			if err := v.Validate(); err != nil {
22643				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
22644			}
22645		}
22646	}
22647
22648	if invalidParams.Len() > 0 {
22649		return invalidParams
22650	}
22651	return nil
22652}
22653
22654// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
22655func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
22656	s.StandardsSubscriptionRequests = v
22657	return s
22658}
22659
22660type BatchEnableStandardsOutput struct {
22661	_ struct{} `type:"structure"`
22662
22663	// The details of the standards subscriptions that were enabled.
22664	StandardsSubscriptions []*StandardsSubscription `type:"list"`
22665}
22666
22667// String returns the string representation
22668func (s BatchEnableStandardsOutput) String() string {
22669	return awsutil.Prettify(s)
22670}
22671
22672// GoString returns the string representation
22673func (s BatchEnableStandardsOutput) GoString() string {
22674	return s.String()
22675}
22676
22677// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
22678func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
22679	s.StandardsSubscriptions = v
22680	return s
22681}
22682
22683type BatchImportFindingsInput struct {
22684	_ struct{} `type:"structure"`
22685
22686	// A list of findings to import. To successfully import a finding, it must follow
22687	// the AWS Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
22688	// Maximum of 100 findings per request.
22689	//
22690	// Findings is a required field
22691	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
22692}
22693
22694// String returns the string representation
22695func (s BatchImportFindingsInput) String() string {
22696	return awsutil.Prettify(s)
22697}
22698
22699// GoString returns the string representation
22700func (s BatchImportFindingsInput) GoString() string {
22701	return s.String()
22702}
22703
22704// Validate inspects the fields of the type to determine if they are valid.
22705func (s *BatchImportFindingsInput) Validate() error {
22706	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
22707	if s.Findings == nil {
22708		invalidParams.Add(request.NewErrParamRequired("Findings"))
22709	}
22710	if s.Findings != nil && len(s.Findings) < 1 {
22711		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
22712	}
22713	if s.Findings != nil {
22714		for i, v := range s.Findings {
22715			if v == nil {
22716				continue
22717			}
22718			if err := v.Validate(); err != nil {
22719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
22720			}
22721		}
22722	}
22723
22724	if invalidParams.Len() > 0 {
22725		return invalidParams
22726	}
22727	return nil
22728}
22729
22730// SetFindings sets the Findings field's value.
22731func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
22732	s.Findings = v
22733	return s
22734}
22735
22736type BatchImportFindingsOutput struct {
22737	_ struct{} `type:"structure"`
22738
22739	// The number of findings that failed to import.
22740	//
22741	// FailedCount is a required field
22742	FailedCount *int64 `type:"integer" required:"true"`
22743
22744	// The list of findings that failed to import.
22745	FailedFindings []*ImportFindingsError `type:"list"`
22746
22747	// The number of findings that were successfully imported.
22748	//
22749	// SuccessCount is a required field
22750	SuccessCount *int64 `type:"integer" required:"true"`
22751}
22752
22753// String returns the string representation
22754func (s BatchImportFindingsOutput) String() string {
22755	return awsutil.Prettify(s)
22756}
22757
22758// GoString returns the string representation
22759func (s BatchImportFindingsOutput) GoString() string {
22760	return s.String()
22761}
22762
22763// SetFailedCount sets the FailedCount field's value.
22764func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
22765	s.FailedCount = &v
22766	return s
22767}
22768
22769// SetFailedFindings sets the FailedFindings field's value.
22770func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
22771	s.FailedFindings = v
22772	return s
22773}
22774
22775// SetSuccessCount sets the SuccessCount field's value.
22776func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
22777	s.SuccessCount = &v
22778	return s
22779}
22780
22781type BatchUpdateFindingsInput struct {
22782	_ struct{} `type:"structure"`
22783
22784	// The updated value for the finding confidence. Confidence is defined as the
22785	// likelihood that a finding accurately identifies the behavior or issue that
22786	// it was intended to identify.
22787	//
22788	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
22789	// zero percent confidence and 100 means 100 percent confidence.
22790	Confidence *int64 `type:"integer"`
22791
22792	// The updated value for the level of importance assigned to the resources associated
22793	// with the findings.
22794	//
22795	// A score of 0 means that the underlying resources have no criticality, and
22796	// a score of 100 is reserved for the most critical resources.
22797	Criticality *int64 `type:"integer"`
22798
22799	// The list of findings to update. BatchUpdateFindings can be used to update
22800	// up to 100 findings at a time.
22801	//
22802	// For each finding, the list provides the finding identifier and the ARN of
22803	// the finding provider.
22804	//
22805	// FindingIdentifiers is a required field
22806	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
22807
22808	// The updated note.
22809	Note *NoteUpdate `type:"structure"`
22810
22811	// A list of findings that are related to the updated findings.
22812	RelatedFindings []*RelatedFinding `type:"list"`
22813
22814	// Used to update the finding severity.
22815	Severity *SeverityUpdate `type:"structure"`
22816
22817	// One or more finding types in the format of namespace/category/classifier
22818	// that classify a finding.
22819	//
22820	// Valid namespace values are as follows.
22821	//
22822	//    * Software and Configuration Checks
22823	//
22824	//    * TTPs
22825	//
22826	//    * Effects
22827	//
22828	//    * Unusual Behaviors
22829	//
22830	//    * Sensitive Data Identifications
22831	Types []*string `type:"list"`
22832
22833	// A list of name/value string pairs associated with the finding. These are
22834	// custom, user-defined fields added to a finding.
22835	UserDefinedFields map[string]*string `type:"map"`
22836
22837	// Indicates the veracity of a finding.
22838	//
22839	// The available values for VerificationState are as follows.
22840	//
22841	//    * UNKNOWN – The default disposition of a security finding
22842	//
22843	//    * TRUE_POSITIVE – The security finding is confirmed
22844	//
22845	//    * FALSE_POSITIVE – The security finding was determined to be a false
22846	//    alarm
22847	//
22848	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
22849	//    doesn't pose any threat, is expected, or both
22850	VerificationState *string `type:"string" enum:"VerificationState"`
22851
22852	// Used to update the workflow status of a finding.
22853	//
22854	// The workflow status indicates the progress of the investigation into the
22855	// finding.
22856	Workflow *WorkflowUpdate `type:"structure"`
22857}
22858
22859// String returns the string representation
22860func (s BatchUpdateFindingsInput) String() string {
22861	return awsutil.Prettify(s)
22862}
22863
22864// GoString returns the string representation
22865func (s BatchUpdateFindingsInput) GoString() string {
22866	return s.String()
22867}
22868
22869// Validate inspects the fields of the type to determine if they are valid.
22870func (s *BatchUpdateFindingsInput) Validate() error {
22871	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
22872	if s.FindingIdentifiers == nil {
22873		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
22874	}
22875	if s.FindingIdentifiers != nil {
22876		for i, v := range s.FindingIdentifiers {
22877			if v == nil {
22878				continue
22879			}
22880			if err := v.Validate(); err != nil {
22881				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
22882			}
22883		}
22884	}
22885	if s.Note != nil {
22886		if err := s.Note.Validate(); err != nil {
22887			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
22888		}
22889	}
22890	if s.RelatedFindings != nil {
22891		for i, v := range s.RelatedFindings {
22892			if v == nil {
22893				continue
22894			}
22895			if err := v.Validate(); err != nil {
22896				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
22897			}
22898		}
22899	}
22900
22901	if invalidParams.Len() > 0 {
22902		return invalidParams
22903	}
22904	return nil
22905}
22906
22907// SetConfidence sets the Confidence field's value.
22908func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
22909	s.Confidence = &v
22910	return s
22911}
22912
22913// SetCriticality sets the Criticality field's value.
22914func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
22915	s.Criticality = &v
22916	return s
22917}
22918
22919// SetFindingIdentifiers sets the FindingIdentifiers field's value.
22920func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
22921	s.FindingIdentifiers = v
22922	return s
22923}
22924
22925// SetNote sets the Note field's value.
22926func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
22927	s.Note = v
22928	return s
22929}
22930
22931// SetRelatedFindings sets the RelatedFindings field's value.
22932func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
22933	s.RelatedFindings = v
22934	return s
22935}
22936
22937// SetSeverity sets the Severity field's value.
22938func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
22939	s.Severity = v
22940	return s
22941}
22942
22943// SetTypes sets the Types field's value.
22944func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
22945	s.Types = v
22946	return s
22947}
22948
22949// SetUserDefinedFields sets the UserDefinedFields field's value.
22950func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
22951	s.UserDefinedFields = v
22952	return s
22953}
22954
22955// SetVerificationState sets the VerificationState field's value.
22956func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
22957	s.VerificationState = &v
22958	return s
22959}
22960
22961// SetWorkflow sets the Workflow field's value.
22962func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
22963	s.Workflow = v
22964	return s
22965}
22966
22967type BatchUpdateFindingsOutput struct {
22968	_ struct{} `type:"structure"`
22969
22970	// The list of findings that were updated successfully.
22971	//
22972	// ProcessedFindings is a required field
22973	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
22974
22975	// The list of findings that were not updated.
22976	//
22977	// UnprocessedFindings is a required field
22978	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
22979}
22980
22981// String returns the string representation
22982func (s BatchUpdateFindingsOutput) String() string {
22983	return awsutil.Prettify(s)
22984}
22985
22986// GoString returns the string representation
22987func (s BatchUpdateFindingsOutput) GoString() string {
22988	return s.String()
22989}
22990
22991// SetProcessedFindings sets the ProcessedFindings field's value.
22992func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
22993	s.ProcessedFindings = v
22994	return s
22995}
22996
22997// SetUnprocessedFindings sets the UnprocessedFindings field's value.
22998func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
22999	s.UnprocessedFindings = v
23000	return s
23001}
23002
23003// A finding from a BatchUpdateFindings request that Security Hub was unable
23004// to update.
23005type BatchUpdateFindingsUnprocessedFinding struct {
23006	_ struct{} `type:"structure"`
23007
23008	// The code associated with the error.
23009	//
23010	// ErrorCode is a required field
23011	ErrorCode *string `type:"string" required:"true"`
23012
23013	// The message associated with the error.
23014	//
23015	// ErrorMessage is a required field
23016	ErrorMessage *string `type:"string" required:"true"`
23017
23018	// The identifier of the finding that was not updated.
23019	//
23020	// FindingIdentifier is a required field
23021	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
23022}
23023
23024// String returns the string representation
23025func (s BatchUpdateFindingsUnprocessedFinding) String() string {
23026	return awsutil.Prettify(s)
23027}
23028
23029// GoString returns the string representation
23030func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
23031	return s.String()
23032}
23033
23034// SetErrorCode sets the ErrorCode field's value.
23035func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
23036	s.ErrorCode = &v
23037	return s
23038}
23039
23040// SetErrorMessage sets the ErrorMessage field's value.
23041func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
23042	s.ErrorMessage = &v
23043	return s
23044}
23045
23046// SetFindingIdentifier sets the FindingIdentifier field's value.
23047func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
23048	s.FindingIdentifier = v
23049	return s
23050}
23051
23052// An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
23053// value (CSV) file, or tab-separated value (TSV) file.
23054type Cell struct {
23055	_ struct{} `type:"structure"`
23056
23057	// For a Microsoft Excel workbook, provides the location of the cell, as an
23058	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
23059	// cell C5 on Sheet2.
23060	CellReference *string `type:"string"`
23061
23062	// The column number of the column that contains the data. For a Microsoft Excel
23063	// workbook, the column number corresponds to the alphabetical column identifiers.
23064	// For example, a value of 1 for Column corresponds to the A column in the workbook.
23065	Column *int64 `type:"long"`
23066
23067	// The name of the column that contains the data.
23068	ColumnName *string `type:"string"`
23069
23070	// The row number of the row that contains the data.
23071	Row *int64 `type:"long"`
23072}
23073
23074// String returns the string representation
23075func (s Cell) String() string {
23076	return awsutil.Prettify(s)
23077}
23078
23079// GoString returns the string representation
23080func (s Cell) GoString() string {
23081	return s.String()
23082}
23083
23084// SetCellReference sets the CellReference field's value.
23085func (s *Cell) SetCellReference(v string) *Cell {
23086	s.CellReference = &v
23087	return s
23088}
23089
23090// SetColumn sets the Column field's value.
23091func (s *Cell) SetColumn(v int64) *Cell {
23092	s.Column = &v
23093	return s
23094}
23095
23096// SetColumnName sets the ColumnName field's value.
23097func (s *Cell) SetColumnName(v string) *Cell {
23098	s.ColumnName = &v
23099	return s
23100}
23101
23102// SetRow sets the Row field's value.
23103func (s *Cell) SetRow(v int64) *Cell {
23104	s.Row = &v
23105	return s
23106}
23107
23108// An IPv4 CIDR block association.
23109type CidrBlockAssociation struct {
23110	_ struct{} `type:"structure"`
23111
23112	// The association ID for the IPv4 CIDR block.
23113	AssociationId *string `type:"string"`
23114
23115	// The IPv4 CIDR block.
23116	CidrBlock *string `type:"string"`
23117
23118	// Information about the state of the IPv4 CIDR block.
23119	CidrBlockState *string `type:"string"`
23120}
23121
23122// String returns the string representation
23123func (s CidrBlockAssociation) String() string {
23124	return awsutil.Prettify(s)
23125}
23126
23127// GoString returns the string representation
23128func (s CidrBlockAssociation) GoString() string {
23129	return s.String()
23130}
23131
23132// SetAssociationId sets the AssociationId field's value.
23133func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
23134	s.AssociationId = &v
23135	return s
23136}
23137
23138// SetCidrBlock sets the CidrBlock field's value.
23139func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
23140	s.CidrBlock = &v
23141	return s
23142}
23143
23144// SetCidrBlockState sets the CidrBlockState field's value.
23145func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
23146	s.CidrBlockState = &v
23147	return s
23148}
23149
23150// Information about a city.
23151type City struct {
23152	_ struct{} `type:"structure"`
23153
23154	// The name of the city.
23155	CityName *string `type:"string"`
23156}
23157
23158// String returns the string representation
23159func (s City) String() string {
23160	return awsutil.Prettify(s)
23161}
23162
23163// GoString returns the string representation
23164func (s City) GoString() string {
23165	return s.String()
23166}
23167
23168// SetCityName sets the CityName field's value.
23169func (s *City) SetCityName(v string) *City {
23170	s.CityName = &v
23171	return s
23172}
23173
23174// Details about the sensitive data that was detected on the resource.
23175type ClassificationResult struct {
23176	_ struct{} `type:"structure"`
23177
23178	// Indicates whether there are additional occurrences of sensitive data that
23179	// are not included in the finding. This occurs when the number of occurrences
23180	// exceeds the maximum that can be included.
23181	AdditionalOccurrences *bool `type:"boolean"`
23182
23183	// Provides details about sensitive data that was identified based on customer-defined
23184	// configuration.
23185	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
23186
23187	// The type of content that the finding applies to.
23188	MimeType *string `type:"string"`
23189
23190	// Provides details about sensitive data that was identified based on built-in
23191	// configuration.
23192	SensitiveData []*SensitiveDataResult `type:"list"`
23193
23194	// The total size in bytes of the affected data.
23195	SizeClassified *int64 `type:"long"`
23196
23197	// The current status of the sensitive data detection.
23198	Status *ClassificationStatus `type:"structure"`
23199}
23200
23201// String returns the string representation
23202func (s ClassificationResult) String() string {
23203	return awsutil.Prettify(s)
23204}
23205
23206// GoString returns the string representation
23207func (s ClassificationResult) GoString() string {
23208	return s.String()
23209}
23210
23211// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
23212func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
23213	s.AdditionalOccurrences = &v
23214	return s
23215}
23216
23217// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
23218func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
23219	s.CustomDataIdentifiers = v
23220	return s
23221}
23222
23223// SetMimeType sets the MimeType field's value.
23224func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
23225	s.MimeType = &v
23226	return s
23227}
23228
23229// SetSensitiveData sets the SensitiveData field's value.
23230func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
23231	s.SensitiveData = v
23232	return s
23233}
23234
23235// SetSizeClassified sets the SizeClassified field's value.
23236func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
23237	s.SizeClassified = &v
23238	return s
23239}
23240
23241// SetStatus sets the Status field's value.
23242func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
23243	s.Status = v
23244	return s
23245}
23246
23247// Provides details about the current status of the sensitive data detection.
23248type ClassificationStatus struct {
23249	_ struct{} `type:"structure"`
23250
23251	// The code that represents the status of the sensitive data detection.
23252	Code *string `type:"string"`
23253
23254	// A longer description of the current status of the sensitive data detection.
23255	Reason *string `type:"string"`
23256}
23257
23258// String returns the string representation
23259func (s ClassificationStatus) String() string {
23260	return awsutil.Prettify(s)
23261}
23262
23263// GoString returns the string representation
23264func (s ClassificationStatus) GoString() string {
23265	return s.String()
23266}
23267
23268// SetCode sets the Code field's value.
23269func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
23270	s.Code = &v
23271	return s
23272}
23273
23274// SetReason sets the Reason field's value.
23275func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
23276	s.Reason = &v
23277	return s
23278}
23279
23280// Contains finding details that are specific to control-based findings. Only
23281// returned for findings generated from controls.
23282type Compliance struct {
23283	_ struct{} `type:"structure"`
23284
23285	// For a control, the industry or regulatory framework requirements that are
23286	// related to the control. The check for that control is aligned with these
23287	// requirements.
23288	RelatedRequirements []*string `type:"list"`
23289
23290	// The result of a standards check.
23291	//
23292	// The valid values for Status are as follows.
23293	//
23294	//    * PASSED - Standards check passed for all evaluated resources. WARNING
23295	//    - Some information is missing or this check is not supported for your
23296	//    configuration. FAILED - Standards check failed for at least one evaluated
23297	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
23298	//    outage, API error, or because the result of the AWS Config evaluation
23299	//    was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE,
23300	//    then after 3 days, Security Hub automatically archives the finding.
23301	Status *string `type:"string" enum:"ComplianceStatus"`
23302
23303	// For findings generated from controls, a list of reasons behind the value
23304	// of Status. For the list of status reason codes and their meanings, see Standards-related
23305	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
23306	// in the AWS Security Hub User Guide.
23307	StatusReasons []*StatusReason `type:"list"`
23308}
23309
23310// String returns the string representation
23311func (s Compliance) String() string {
23312	return awsutil.Prettify(s)
23313}
23314
23315// GoString returns the string representation
23316func (s Compliance) GoString() string {
23317	return s.String()
23318}
23319
23320// Validate inspects the fields of the type to determine if they are valid.
23321func (s *Compliance) Validate() error {
23322	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
23323	if s.StatusReasons != nil {
23324		for i, v := range s.StatusReasons {
23325			if v == nil {
23326				continue
23327			}
23328			if err := v.Validate(); err != nil {
23329				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
23330			}
23331		}
23332	}
23333
23334	if invalidParams.Len() > 0 {
23335		return invalidParams
23336	}
23337	return nil
23338}
23339
23340// SetRelatedRequirements sets the RelatedRequirements field's value.
23341func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
23342	s.RelatedRequirements = v
23343	return s
23344}
23345
23346// SetStatus sets the Status field's value.
23347func (s *Compliance) SetStatus(v string) *Compliance {
23348	s.Status = &v
23349	return s
23350}
23351
23352// SetStatusReasons sets the StatusReasons field's value.
23353func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
23354	s.StatusReasons = v
23355	return s
23356}
23357
23358// Container details related to a finding.
23359type ContainerDetails struct {
23360	_ struct{} `type:"structure"`
23361
23362	// The identifier of the image related to a finding.
23363	ImageId *string `type:"string"`
23364
23365	// The name of the image related to a finding.
23366	ImageName *string `type:"string"`
23367
23368	// Indicates when the container started.
23369	//
23370	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23371	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23372	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23373	LaunchedAt *string `type:"string"`
23374
23375	// The name of the container related to a finding.
23376	Name *string `type:"string"`
23377}
23378
23379// String returns the string representation
23380func (s ContainerDetails) String() string {
23381	return awsutil.Prettify(s)
23382}
23383
23384// GoString returns the string representation
23385func (s ContainerDetails) GoString() string {
23386	return s.String()
23387}
23388
23389// SetImageId sets the ImageId field's value.
23390func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
23391	s.ImageId = &v
23392	return s
23393}
23394
23395// SetImageName sets the ImageName field's value.
23396func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
23397	s.ImageName = &v
23398	return s
23399}
23400
23401// SetLaunchedAt sets the LaunchedAt field's value.
23402func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
23403	s.LaunchedAt = &v
23404	return s
23405}
23406
23407// SetName sets the Name field's value.
23408func (s *ContainerDetails) SetName(v string) *ContainerDetails {
23409	s.Name = &v
23410	return s
23411}
23412
23413// Information about a country.
23414type Country struct {
23415	_ struct{} `type:"structure"`
23416
23417	// The 2-letter ISO 3166 country code for the country.
23418	CountryCode *string `type:"string"`
23419
23420	// The name of the country.
23421	CountryName *string `type:"string"`
23422}
23423
23424// String returns the string representation
23425func (s Country) String() string {
23426	return awsutil.Prettify(s)
23427}
23428
23429// GoString returns the string representation
23430func (s Country) GoString() string {
23431	return s.String()
23432}
23433
23434// SetCountryCode sets the CountryCode field's value.
23435func (s *Country) SetCountryCode(v string) *Country {
23436	s.CountryCode = &v
23437	return s
23438}
23439
23440// SetCountryName sets the CountryName field's value.
23441func (s *Country) SetCountryName(v string) *Country {
23442	s.CountryName = &v
23443	return s
23444}
23445
23446type CreateActionTargetInput struct {
23447	_ struct{} `type:"structure"`
23448
23449	// The description for the custom action target.
23450	//
23451	// Description is a required field
23452	Description *string `type:"string" required:"true"`
23453
23454	// The ID for the custom action target. Can contain up to 20 alphanumeric characters.
23455	//
23456	// Id is a required field
23457	Id *string `type:"string" required:"true"`
23458
23459	// The name of the custom action target. Can contain up to 20 characters.
23460	//
23461	// Name is a required field
23462	Name *string `type:"string" required:"true"`
23463}
23464
23465// String returns the string representation
23466func (s CreateActionTargetInput) String() string {
23467	return awsutil.Prettify(s)
23468}
23469
23470// GoString returns the string representation
23471func (s CreateActionTargetInput) GoString() string {
23472	return s.String()
23473}
23474
23475// Validate inspects the fields of the type to determine if they are valid.
23476func (s *CreateActionTargetInput) Validate() error {
23477	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
23478	if s.Description == nil {
23479		invalidParams.Add(request.NewErrParamRequired("Description"))
23480	}
23481	if s.Id == nil {
23482		invalidParams.Add(request.NewErrParamRequired("Id"))
23483	}
23484	if s.Name == nil {
23485		invalidParams.Add(request.NewErrParamRequired("Name"))
23486	}
23487
23488	if invalidParams.Len() > 0 {
23489		return invalidParams
23490	}
23491	return nil
23492}
23493
23494// SetDescription sets the Description field's value.
23495func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
23496	s.Description = &v
23497	return s
23498}
23499
23500// SetId sets the Id field's value.
23501func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
23502	s.Id = &v
23503	return s
23504}
23505
23506// SetName sets the Name field's value.
23507func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
23508	s.Name = &v
23509	return s
23510}
23511
23512type CreateActionTargetOutput struct {
23513	_ struct{} `type:"structure"`
23514
23515	// The ARN for the custom action target.
23516	//
23517	// ActionTargetArn is a required field
23518	ActionTargetArn *string `type:"string" required:"true"`
23519}
23520
23521// String returns the string representation
23522func (s CreateActionTargetOutput) String() string {
23523	return awsutil.Prettify(s)
23524}
23525
23526// GoString returns the string representation
23527func (s CreateActionTargetOutput) GoString() string {
23528	return s.String()
23529}
23530
23531// SetActionTargetArn sets the ActionTargetArn field's value.
23532func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
23533	s.ActionTargetArn = &v
23534	return s
23535}
23536
23537type CreateInsightInput struct {
23538	_ struct{} `type:"structure"`
23539
23540	// One or more attributes used to filter the findings included in the insight.
23541	// The insight only includes findings that match the criteria defined in the
23542	// filters.
23543	//
23544	// Filters is a required field
23545	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
23546
23547	// The attribute used to group the findings for the insight. The grouping attribute
23548	// identifies the type of item that the insight applies to. For example, if
23549	// an insight is grouped by resource identifier, then the insight produces a
23550	// list of resource identifiers.
23551	//
23552	// GroupByAttribute is a required field
23553	GroupByAttribute *string `type:"string" required:"true"`
23554
23555	// The name of the custom insight to create.
23556	//
23557	// Name is a required field
23558	Name *string `type:"string" required:"true"`
23559}
23560
23561// String returns the string representation
23562func (s CreateInsightInput) String() string {
23563	return awsutil.Prettify(s)
23564}
23565
23566// GoString returns the string representation
23567func (s CreateInsightInput) GoString() string {
23568	return s.String()
23569}
23570
23571// Validate inspects the fields of the type to determine if they are valid.
23572func (s *CreateInsightInput) Validate() error {
23573	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
23574	if s.Filters == nil {
23575		invalidParams.Add(request.NewErrParamRequired("Filters"))
23576	}
23577	if s.GroupByAttribute == nil {
23578		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
23579	}
23580	if s.Name == nil {
23581		invalidParams.Add(request.NewErrParamRequired("Name"))
23582	}
23583
23584	if invalidParams.Len() > 0 {
23585		return invalidParams
23586	}
23587	return nil
23588}
23589
23590// SetFilters sets the Filters field's value.
23591func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
23592	s.Filters = v
23593	return s
23594}
23595
23596// SetGroupByAttribute sets the GroupByAttribute field's value.
23597func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
23598	s.GroupByAttribute = &v
23599	return s
23600}
23601
23602// SetName sets the Name field's value.
23603func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
23604	s.Name = &v
23605	return s
23606}
23607
23608type CreateInsightOutput struct {
23609	_ struct{} `type:"structure"`
23610
23611	// The ARN of the insight created.
23612	//
23613	// InsightArn is a required field
23614	InsightArn *string `type:"string" required:"true"`
23615}
23616
23617// String returns the string representation
23618func (s CreateInsightOutput) String() string {
23619	return awsutil.Prettify(s)
23620}
23621
23622// GoString returns the string representation
23623func (s CreateInsightOutput) GoString() string {
23624	return s.String()
23625}
23626
23627// SetInsightArn sets the InsightArn field's value.
23628func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
23629	s.InsightArn = &v
23630	return s
23631}
23632
23633type CreateMembersInput struct {
23634	_ struct{} `type:"structure"`
23635
23636	// The list of accounts to associate with the Security Hub administrator account.
23637	// For each account, the list includes the account ID and optionally the email
23638	// address.
23639	//
23640	// AccountDetails is a required field
23641	AccountDetails []*AccountDetails `type:"list" required:"true"`
23642}
23643
23644// String returns the string representation
23645func (s CreateMembersInput) String() string {
23646	return awsutil.Prettify(s)
23647}
23648
23649// GoString returns the string representation
23650func (s CreateMembersInput) GoString() string {
23651	return s.String()
23652}
23653
23654// Validate inspects the fields of the type to determine if they are valid.
23655func (s *CreateMembersInput) Validate() error {
23656	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
23657	if s.AccountDetails == nil {
23658		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
23659	}
23660	if s.AccountDetails != nil {
23661		for i, v := range s.AccountDetails {
23662			if v == nil {
23663				continue
23664			}
23665			if err := v.Validate(); err != nil {
23666				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
23667			}
23668		}
23669	}
23670
23671	if invalidParams.Len() > 0 {
23672		return invalidParams
23673	}
23674	return nil
23675}
23676
23677// SetAccountDetails sets the AccountDetails field's value.
23678func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
23679	s.AccountDetails = v
23680	return s
23681}
23682
23683type CreateMembersOutput struct {
23684	_ struct{} `type:"structure"`
23685
23686	// The list of AWS accounts that were not processed. For each account, the list
23687	// includes the account ID and the email address.
23688	UnprocessedAccounts []*Result `type:"list"`
23689}
23690
23691// String returns the string representation
23692func (s CreateMembersOutput) String() string {
23693	return awsutil.Prettify(s)
23694}
23695
23696// GoString returns the string representation
23697func (s CreateMembersOutput) GoString() string {
23698	return s.String()
23699}
23700
23701// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
23702func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
23703	s.UnprocessedAccounts = v
23704	return s
23705}
23706
23707// The list of detected instances of sensitive data.
23708type CustomDataIdentifiersDetections struct {
23709	_ struct{} `type:"structure"`
23710
23711	// The ARN of the custom identifier that was used to detect the sensitive data.
23712	Arn *string `type:"string"`
23713
23714	// The total number of occurrences of sensitive data that were detected.
23715	Count *int64 `type:"long"`
23716
23717	// he name of the custom identifier that detected the sensitive data.
23718	Name *string `type:"string"`
23719
23720	// Details about the sensitive data that was detected.
23721	Occurrences *Occurrences `type:"structure"`
23722}
23723
23724// String returns the string representation
23725func (s CustomDataIdentifiersDetections) String() string {
23726	return awsutil.Prettify(s)
23727}
23728
23729// GoString returns the string representation
23730func (s CustomDataIdentifiersDetections) GoString() string {
23731	return s.String()
23732}
23733
23734// SetArn sets the Arn field's value.
23735func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
23736	s.Arn = &v
23737	return s
23738}
23739
23740// SetCount sets the Count field's value.
23741func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
23742	s.Count = &v
23743	return s
23744}
23745
23746// SetName sets the Name field's value.
23747func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
23748	s.Name = &v
23749	return s
23750}
23751
23752// SetOccurrences sets the Occurrences field's value.
23753func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
23754	s.Occurrences = v
23755	return s
23756}
23757
23758// Contains an instance of sensitive data that was detected by a customer-defined
23759// identifier.
23760type CustomDataIdentifiersResult struct {
23761	_ struct{} `type:"structure"`
23762
23763	// The list of detected instances of sensitive data.
23764	Detections []*CustomDataIdentifiersDetections `type:"list"`
23765
23766	// The total number of occurrences of sensitive data.
23767	TotalCount *int64 `type:"long"`
23768}
23769
23770// String returns the string representation
23771func (s CustomDataIdentifiersResult) String() string {
23772	return awsutil.Prettify(s)
23773}
23774
23775// GoString returns the string representation
23776func (s CustomDataIdentifiersResult) GoString() string {
23777	return s.String()
23778}
23779
23780// SetDetections sets the Detections field's value.
23781func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
23782	s.Detections = v
23783	return s
23784}
23785
23786// SetTotalCount sets the TotalCount field's value.
23787func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
23788	s.TotalCount = &v
23789	return s
23790}
23791
23792// CVSS scores from the advisory related to the vulnerability.
23793type Cvss struct {
23794	_ struct{} `type:"structure"`
23795
23796	// The base CVSS score.
23797	BaseScore *float64 `type:"double"`
23798
23799	// The base scoring vector for the CVSS score.
23800	BaseVector *string `type:"string"`
23801
23802	// The version of CVSS for the CVSS score.
23803	Version *string `type:"string"`
23804}
23805
23806// String returns the string representation
23807func (s Cvss) String() string {
23808	return awsutil.Prettify(s)
23809}
23810
23811// GoString returns the string representation
23812func (s Cvss) GoString() string {
23813	return s.String()
23814}
23815
23816// SetBaseScore sets the BaseScore field's value.
23817func (s *Cvss) SetBaseScore(v float64) *Cvss {
23818	s.BaseScore = &v
23819	return s
23820}
23821
23822// SetBaseVector sets the BaseVector field's value.
23823func (s *Cvss) SetBaseVector(v string) *Cvss {
23824	s.BaseVector = &v
23825	return s
23826}
23827
23828// SetVersion sets the Version field's value.
23829func (s *Cvss) SetVersion(v string) *Cvss {
23830	s.Version = &v
23831	return s
23832}
23833
23834// Provides details about sensitive data that was detected on a resource.
23835type DataClassificationDetails struct {
23836	_ struct{} `type:"structure"`
23837
23838	// The path to the folder or file that contains the sensitive data.
23839	DetailedResultsLocation *string `type:"string"`
23840
23841	// The details about the sensitive data that was detected on the resource.
23842	Result *ClassificationResult `type:"structure"`
23843}
23844
23845// String returns the string representation
23846func (s DataClassificationDetails) String() string {
23847	return awsutil.Prettify(s)
23848}
23849
23850// GoString returns the string representation
23851func (s DataClassificationDetails) GoString() string {
23852	return s.String()
23853}
23854
23855// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
23856func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
23857	s.DetailedResultsLocation = &v
23858	return s
23859}
23860
23861// SetResult sets the Result field's value.
23862func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
23863	s.Result = v
23864	return s
23865}
23866
23867// A date filter for querying findings.
23868type DateFilter struct {
23869	_ struct{} `type:"structure"`
23870
23871	// A date range for the date filter.
23872	DateRange *DateRange `type:"structure"`
23873
23874	// An end date for the date filter.
23875	End *string `type:"string"`
23876
23877	// A start date for the date filter.
23878	Start *string `type:"string"`
23879}
23880
23881// String returns the string representation
23882func (s DateFilter) String() string {
23883	return awsutil.Prettify(s)
23884}
23885
23886// GoString returns the string representation
23887func (s DateFilter) GoString() string {
23888	return s.String()
23889}
23890
23891// SetDateRange sets the DateRange field's value.
23892func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
23893	s.DateRange = v
23894	return s
23895}
23896
23897// SetEnd sets the End field's value.
23898func (s *DateFilter) SetEnd(v string) *DateFilter {
23899	s.End = &v
23900	return s
23901}
23902
23903// SetStart sets the Start field's value.
23904func (s *DateFilter) SetStart(v string) *DateFilter {
23905	s.Start = &v
23906	return s
23907}
23908
23909// A date range for the date filter.
23910type DateRange struct {
23911	_ struct{} `type:"structure"`
23912
23913	// A date range unit for the date filter.
23914	Unit *string `type:"string" enum:"DateRangeUnit"`
23915
23916	// A date range value for the date filter.
23917	Value *int64 `type:"integer"`
23918}
23919
23920// String returns the string representation
23921func (s DateRange) String() string {
23922	return awsutil.Prettify(s)
23923}
23924
23925// GoString returns the string representation
23926func (s DateRange) GoString() string {
23927	return s.String()
23928}
23929
23930// SetUnit sets the Unit field's value.
23931func (s *DateRange) SetUnit(v string) *DateRange {
23932	s.Unit = &v
23933	return s
23934}
23935
23936// SetValue sets the Value field's value.
23937func (s *DateRange) SetValue(v int64) *DateRange {
23938	s.Value = &v
23939	return s
23940}
23941
23942type DeclineInvitationsInput struct {
23943	_ struct{} `type:"structure"`
23944
23945	// The list of account IDs for the accounts from which to decline the invitations
23946	// to Security Hub.
23947	//
23948	// AccountIds is a required field
23949	AccountIds []*string `type:"list" required:"true"`
23950}
23951
23952// String returns the string representation
23953func (s DeclineInvitationsInput) String() string {
23954	return awsutil.Prettify(s)
23955}
23956
23957// GoString returns the string representation
23958func (s DeclineInvitationsInput) GoString() string {
23959	return s.String()
23960}
23961
23962// Validate inspects the fields of the type to determine if they are valid.
23963func (s *DeclineInvitationsInput) Validate() error {
23964	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
23965	if s.AccountIds == nil {
23966		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
23967	}
23968
23969	if invalidParams.Len() > 0 {
23970		return invalidParams
23971	}
23972	return nil
23973}
23974
23975// SetAccountIds sets the AccountIds field's value.
23976func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
23977	s.AccountIds = v
23978	return s
23979}
23980
23981type DeclineInvitationsOutput struct {
23982	_ struct{} `type:"structure"`
23983
23984	// The list of AWS accounts that were not processed. For each account, the list
23985	// includes the account ID and the email address.
23986	UnprocessedAccounts []*Result `type:"list"`
23987}
23988
23989// String returns the string representation
23990func (s DeclineInvitationsOutput) String() string {
23991	return awsutil.Prettify(s)
23992}
23993
23994// GoString returns the string representation
23995func (s DeclineInvitationsOutput) GoString() string {
23996	return s.String()
23997}
23998
23999// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
24000func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
24001	s.UnprocessedAccounts = v
24002	return s
24003}
24004
24005type DeleteActionTargetInput struct {
24006	_ struct{} `type:"structure"`
24007
24008	// The ARN of the custom action target to delete.
24009	//
24010	// ActionTargetArn is a required field
24011	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
24012}
24013
24014// String returns the string representation
24015func (s DeleteActionTargetInput) String() string {
24016	return awsutil.Prettify(s)
24017}
24018
24019// GoString returns the string representation
24020func (s DeleteActionTargetInput) GoString() string {
24021	return s.String()
24022}
24023
24024// Validate inspects the fields of the type to determine if they are valid.
24025func (s *DeleteActionTargetInput) Validate() error {
24026	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
24027	if s.ActionTargetArn == nil {
24028		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
24029	}
24030	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
24031		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
24032	}
24033
24034	if invalidParams.Len() > 0 {
24035		return invalidParams
24036	}
24037	return nil
24038}
24039
24040// SetActionTargetArn sets the ActionTargetArn field's value.
24041func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
24042	s.ActionTargetArn = &v
24043	return s
24044}
24045
24046type DeleteActionTargetOutput struct {
24047	_ struct{} `type:"structure"`
24048
24049	// The ARN of the custom action target that was deleted.
24050	//
24051	// ActionTargetArn is a required field
24052	ActionTargetArn *string `type:"string" required:"true"`
24053}
24054
24055// String returns the string representation
24056func (s DeleteActionTargetOutput) String() string {
24057	return awsutil.Prettify(s)
24058}
24059
24060// GoString returns the string representation
24061func (s DeleteActionTargetOutput) GoString() string {
24062	return s.String()
24063}
24064
24065// SetActionTargetArn sets the ActionTargetArn field's value.
24066func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
24067	s.ActionTargetArn = &v
24068	return s
24069}
24070
24071type DeleteInsightInput struct {
24072	_ struct{} `type:"structure"`
24073
24074	// The ARN of the insight to delete.
24075	//
24076	// InsightArn is a required field
24077	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
24078}
24079
24080// String returns the string representation
24081func (s DeleteInsightInput) String() string {
24082	return awsutil.Prettify(s)
24083}
24084
24085// GoString returns the string representation
24086func (s DeleteInsightInput) GoString() string {
24087	return s.String()
24088}
24089
24090// Validate inspects the fields of the type to determine if they are valid.
24091func (s *DeleteInsightInput) Validate() error {
24092	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
24093	if s.InsightArn == nil {
24094		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
24095	}
24096	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
24097		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
24098	}
24099
24100	if invalidParams.Len() > 0 {
24101		return invalidParams
24102	}
24103	return nil
24104}
24105
24106// SetInsightArn sets the InsightArn field's value.
24107func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
24108	s.InsightArn = &v
24109	return s
24110}
24111
24112type DeleteInsightOutput struct {
24113	_ struct{} `type:"structure"`
24114
24115	// The ARN of the insight that was deleted.
24116	//
24117	// InsightArn is a required field
24118	InsightArn *string `type:"string" required:"true"`
24119}
24120
24121// String returns the string representation
24122func (s DeleteInsightOutput) String() string {
24123	return awsutil.Prettify(s)
24124}
24125
24126// GoString returns the string representation
24127func (s DeleteInsightOutput) GoString() string {
24128	return s.String()
24129}
24130
24131// SetInsightArn sets the InsightArn field's value.
24132func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
24133	s.InsightArn = &v
24134	return s
24135}
24136
24137type DeleteInvitationsInput struct {
24138	_ struct{} `type:"structure"`
24139
24140	// The list of the account IDs that sent the invitations to delete.
24141	//
24142	// AccountIds is a required field
24143	AccountIds []*string `type:"list" required:"true"`
24144}
24145
24146// String returns the string representation
24147func (s DeleteInvitationsInput) String() string {
24148	return awsutil.Prettify(s)
24149}
24150
24151// GoString returns the string representation
24152func (s DeleteInvitationsInput) GoString() string {
24153	return s.String()
24154}
24155
24156// Validate inspects the fields of the type to determine if they are valid.
24157func (s *DeleteInvitationsInput) Validate() error {
24158	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
24159	if s.AccountIds == nil {
24160		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
24161	}
24162
24163	if invalidParams.Len() > 0 {
24164		return invalidParams
24165	}
24166	return nil
24167}
24168
24169// SetAccountIds sets the AccountIds field's value.
24170func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
24171	s.AccountIds = v
24172	return s
24173}
24174
24175type DeleteInvitationsOutput struct {
24176	_ struct{} `type:"structure"`
24177
24178	// The list of AWS accounts for which the invitations were not deleted. For
24179	// each account, the list includes the account ID and the email address.
24180	UnprocessedAccounts []*Result `type:"list"`
24181}
24182
24183// String returns the string representation
24184func (s DeleteInvitationsOutput) String() string {
24185	return awsutil.Prettify(s)
24186}
24187
24188// GoString returns the string representation
24189func (s DeleteInvitationsOutput) GoString() string {
24190	return s.String()
24191}
24192
24193// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
24194func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
24195	s.UnprocessedAccounts = v
24196	return s
24197}
24198
24199type DeleteMembersInput struct {
24200	_ struct{} `type:"structure"`
24201
24202	// The list of account IDs for the member accounts to delete.
24203	//
24204	// AccountIds is a required field
24205	AccountIds []*string `type:"list" required:"true"`
24206}
24207
24208// String returns the string representation
24209func (s DeleteMembersInput) String() string {
24210	return awsutil.Prettify(s)
24211}
24212
24213// GoString returns the string representation
24214func (s DeleteMembersInput) GoString() string {
24215	return s.String()
24216}
24217
24218// Validate inspects the fields of the type to determine if they are valid.
24219func (s *DeleteMembersInput) Validate() error {
24220	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
24221	if s.AccountIds == nil {
24222		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
24223	}
24224
24225	if invalidParams.Len() > 0 {
24226		return invalidParams
24227	}
24228	return nil
24229}
24230
24231// SetAccountIds sets the AccountIds field's value.
24232func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
24233	s.AccountIds = v
24234	return s
24235}
24236
24237type DeleteMembersOutput struct {
24238	_ struct{} `type:"structure"`
24239
24240	// The list of AWS accounts that were not deleted. For each account, the list
24241	// includes the account ID and the email address.
24242	UnprocessedAccounts []*Result `type:"list"`
24243}
24244
24245// String returns the string representation
24246func (s DeleteMembersOutput) String() string {
24247	return awsutil.Prettify(s)
24248}
24249
24250// GoString returns the string representation
24251func (s DeleteMembersOutput) GoString() string {
24252	return s.String()
24253}
24254
24255// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
24256func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
24257	s.UnprocessedAccounts = v
24258	return s
24259}
24260
24261type DescribeActionTargetsInput struct {
24262	_ struct{} `type:"structure"`
24263
24264	// A list of custom action target ARNs for the custom action targets to retrieve.
24265	ActionTargetArns []*string `type:"list"`
24266
24267	// The maximum number of results to return.
24268	MaxResults *int64 `min:"1" type:"integer"`
24269
24270	// The token that is required for pagination. On your first call to the DescribeActionTargets
24271	// operation, set the value of this parameter to NULL.
24272	//
24273	// For subsequent calls to the operation, to continue listing data, set the
24274	// value of this parameter to the value returned from the previous response.
24275	NextToken *string `type:"string"`
24276}
24277
24278// String returns the string representation
24279func (s DescribeActionTargetsInput) String() string {
24280	return awsutil.Prettify(s)
24281}
24282
24283// GoString returns the string representation
24284func (s DescribeActionTargetsInput) GoString() string {
24285	return s.String()
24286}
24287
24288// Validate inspects the fields of the type to determine if they are valid.
24289func (s *DescribeActionTargetsInput) Validate() error {
24290	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
24291	if s.MaxResults != nil && *s.MaxResults < 1 {
24292		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24293	}
24294
24295	if invalidParams.Len() > 0 {
24296		return invalidParams
24297	}
24298	return nil
24299}
24300
24301// SetActionTargetArns sets the ActionTargetArns field's value.
24302func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
24303	s.ActionTargetArns = v
24304	return s
24305}
24306
24307// SetMaxResults sets the MaxResults field's value.
24308func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
24309	s.MaxResults = &v
24310	return s
24311}
24312
24313// SetNextToken sets the NextToken field's value.
24314func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
24315	s.NextToken = &v
24316	return s
24317}
24318
24319type DescribeActionTargetsOutput struct {
24320	_ struct{} `type:"structure"`
24321
24322	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
24323	// Description, and Name of a custom action target available in Security Hub.
24324	//
24325	// ActionTargets is a required field
24326	ActionTargets []*ActionTarget `type:"list" required:"true"`
24327
24328	// The pagination token to use to request the next page of results.
24329	NextToken *string `type:"string"`
24330}
24331
24332// String returns the string representation
24333func (s DescribeActionTargetsOutput) String() string {
24334	return awsutil.Prettify(s)
24335}
24336
24337// GoString returns the string representation
24338func (s DescribeActionTargetsOutput) GoString() string {
24339	return s.String()
24340}
24341
24342// SetActionTargets sets the ActionTargets field's value.
24343func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
24344	s.ActionTargets = v
24345	return s
24346}
24347
24348// SetNextToken sets the NextToken field's value.
24349func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
24350	s.NextToken = &v
24351	return s
24352}
24353
24354type DescribeHubInput struct {
24355	_ struct{} `type:"structure"`
24356
24357	// The ARN of the Hub resource to retrieve.
24358	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
24359}
24360
24361// String returns the string representation
24362func (s DescribeHubInput) String() string {
24363	return awsutil.Prettify(s)
24364}
24365
24366// GoString returns the string representation
24367func (s DescribeHubInput) GoString() string {
24368	return s.String()
24369}
24370
24371// SetHubArn sets the HubArn field's value.
24372func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
24373	s.HubArn = &v
24374	return s
24375}
24376
24377type DescribeHubOutput struct {
24378	_ struct{} `type:"structure"`
24379
24380	// Whether to automatically enable new controls when they are added to standards
24381	// that are enabled.
24382	//
24383	// If set to true, then new controls for enabled standards are enabled automatically.
24384	// If set to false, then new controls are not enabled.
24385	AutoEnableControls *bool `type:"boolean"`
24386
24387	// The ARN of the Hub resource that was retrieved.
24388	HubArn *string `type:"string"`
24389
24390	// The date and time when Security Hub was enabled in the account.
24391	SubscribedAt *string `type:"string"`
24392}
24393
24394// String returns the string representation
24395func (s DescribeHubOutput) String() string {
24396	return awsutil.Prettify(s)
24397}
24398
24399// GoString returns the string representation
24400func (s DescribeHubOutput) GoString() string {
24401	return s.String()
24402}
24403
24404// SetAutoEnableControls sets the AutoEnableControls field's value.
24405func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
24406	s.AutoEnableControls = &v
24407	return s
24408}
24409
24410// SetHubArn sets the HubArn field's value.
24411func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
24412	s.HubArn = &v
24413	return s
24414}
24415
24416// SetSubscribedAt sets the SubscribedAt field's value.
24417func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
24418	s.SubscribedAt = &v
24419	return s
24420}
24421
24422type DescribeOrganizationConfigurationInput struct {
24423	_ struct{} `type:"structure"`
24424}
24425
24426// String returns the string representation
24427func (s DescribeOrganizationConfigurationInput) String() string {
24428	return awsutil.Prettify(s)
24429}
24430
24431// GoString returns the string representation
24432func (s DescribeOrganizationConfigurationInput) GoString() string {
24433	return s.String()
24434}
24435
24436type DescribeOrganizationConfigurationOutput struct {
24437	_ struct{} `type:"structure"`
24438
24439	// Whether to automatically enable Security Hub for new accounts in the organization.
24440	//
24441	// If set to true, then Security Hub is enabled for new accounts. If set to
24442	// false, then new accounts are not added automatically.
24443	AutoEnable *bool `type:"boolean"`
24444
24445	// Whether the maximum number of allowed member accounts are already associated
24446	// with the Security Hub administrator account.
24447	MemberAccountLimitReached *bool `type:"boolean"`
24448}
24449
24450// String returns the string representation
24451func (s DescribeOrganizationConfigurationOutput) String() string {
24452	return awsutil.Prettify(s)
24453}
24454
24455// GoString returns the string representation
24456func (s DescribeOrganizationConfigurationOutput) GoString() string {
24457	return s.String()
24458}
24459
24460// SetAutoEnable sets the AutoEnable field's value.
24461func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
24462	s.AutoEnable = &v
24463	return s
24464}
24465
24466// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
24467func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
24468	s.MemberAccountLimitReached = &v
24469	return s
24470}
24471
24472type DescribeProductsInput struct {
24473	_ struct{} `type:"structure"`
24474
24475	// The maximum number of results to return.
24476	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24477
24478	// The token that is required for pagination. On your first call to the DescribeProducts
24479	// operation, set the value of this parameter to NULL.
24480	//
24481	// For subsequent calls to the operation, to continue listing data, set the
24482	// value of this parameter to the value returned from the previous response.
24483	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24484
24485	// The ARN of the integration to return.
24486	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
24487}
24488
24489// String returns the string representation
24490func (s DescribeProductsInput) String() string {
24491	return awsutil.Prettify(s)
24492}
24493
24494// GoString returns the string representation
24495func (s DescribeProductsInput) GoString() string {
24496	return s.String()
24497}
24498
24499// Validate inspects the fields of the type to determine if they are valid.
24500func (s *DescribeProductsInput) Validate() error {
24501	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
24502	if s.MaxResults != nil && *s.MaxResults < 1 {
24503		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24504	}
24505
24506	if invalidParams.Len() > 0 {
24507		return invalidParams
24508	}
24509	return nil
24510}
24511
24512// SetMaxResults sets the MaxResults field's value.
24513func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
24514	s.MaxResults = &v
24515	return s
24516}
24517
24518// SetNextToken sets the NextToken field's value.
24519func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
24520	s.NextToken = &v
24521	return s
24522}
24523
24524// SetProductArn sets the ProductArn field's value.
24525func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
24526	s.ProductArn = &v
24527	return s
24528}
24529
24530type DescribeProductsOutput struct {
24531	_ struct{} `type:"structure"`
24532
24533	// The pagination token to use to request the next page of results.
24534	NextToken *string `type:"string"`
24535
24536	// A list of products, including details for each product.
24537	//
24538	// Products is a required field
24539	Products []*Product `type:"list" required:"true"`
24540}
24541
24542// String returns the string representation
24543func (s DescribeProductsOutput) String() string {
24544	return awsutil.Prettify(s)
24545}
24546
24547// GoString returns the string representation
24548func (s DescribeProductsOutput) GoString() string {
24549	return s.String()
24550}
24551
24552// SetNextToken sets the NextToken field's value.
24553func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
24554	s.NextToken = &v
24555	return s
24556}
24557
24558// SetProducts sets the Products field's value.
24559func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
24560	s.Products = v
24561	return s
24562}
24563
24564type DescribeStandardsControlsInput struct {
24565	_ struct{} `type:"structure"`
24566
24567	// The maximum number of security standard controls to return.
24568	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24569
24570	// The token that is required for pagination. On your first call to the DescribeStandardsControls
24571	// operation, set the value of this parameter to NULL.
24572	//
24573	// For subsequent calls to the operation, to continue listing data, set the
24574	// value of this parameter to the value returned from the previous response.
24575	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24576
24577	// The ARN of a resource that represents your subscription to a supported standard.
24578	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
24579	// operation.
24580	//
24581	// StandardsSubscriptionArn is a required field
24582	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
24583}
24584
24585// String returns the string representation
24586func (s DescribeStandardsControlsInput) String() string {
24587	return awsutil.Prettify(s)
24588}
24589
24590// GoString returns the string representation
24591func (s DescribeStandardsControlsInput) GoString() string {
24592	return s.String()
24593}
24594
24595// Validate inspects the fields of the type to determine if they are valid.
24596func (s *DescribeStandardsControlsInput) Validate() error {
24597	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
24598	if s.MaxResults != nil && *s.MaxResults < 1 {
24599		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24600	}
24601	if s.StandardsSubscriptionArn == nil {
24602		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
24603	}
24604	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
24605		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
24606	}
24607
24608	if invalidParams.Len() > 0 {
24609		return invalidParams
24610	}
24611	return nil
24612}
24613
24614// SetMaxResults sets the MaxResults field's value.
24615func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
24616	s.MaxResults = &v
24617	return s
24618}
24619
24620// SetNextToken sets the NextToken field's value.
24621func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
24622	s.NextToken = &v
24623	return s
24624}
24625
24626// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
24627func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
24628	s.StandardsSubscriptionArn = &v
24629	return s
24630}
24631
24632type DescribeStandardsControlsOutput struct {
24633	_ struct{} `type:"structure"`
24634
24635	// A list of security standards controls.
24636	Controls []*StandardsControl `type:"list"`
24637
24638	// The pagination token to use to request the next page of results.
24639	NextToken *string `type:"string"`
24640}
24641
24642// String returns the string representation
24643func (s DescribeStandardsControlsOutput) String() string {
24644	return awsutil.Prettify(s)
24645}
24646
24647// GoString returns the string representation
24648func (s DescribeStandardsControlsOutput) GoString() string {
24649	return s.String()
24650}
24651
24652// SetControls sets the Controls field's value.
24653func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
24654	s.Controls = v
24655	return s
24656}
24657
24658// SetNextToken sets the NextToken field's value.
24659func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
24660	s.NextToken = &v
24661	return s
24662}
24663
24664type DescribeStandardsInput struct {
24665	_ struct{} `type:"structure"`
24666
24667	// The maximum number of standards to return.
24668	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24669
24670	// The token that is required for pagination. On your first call to the DescribeStandards
24671	// operation, set the value of this parameter to NULL.
24672	//
24673	// For subsequent calls to the operation, to continue listing data, set the
24674	// value of this parameter to the value returned from the previous response.
24675	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24676}
24677
24678// String returns the string representation
24679func (s DescribeStandardsInput) String() string {
24680	return awsutil.Prettify(s)
24681}
24682
24683// GoString returns the string representation
24684func (s DescribeStandardsInput) GoString() string {
24685	return s.String()
24686}
24687
24688// Validate inspects the fields of the type to determine if they are valid.
24689func (s *DescribeStandardsInput) Validate() error {
24690	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
24691	if s.MaxResults != nil && *s.MaxResults < 1 {
24692		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24693	}
24694
24695	if invalidParams.Len() > 0 {
24696		return invalidParams
24697	}
24698	return nil
24699}
24700
24701// SetMaxResults sets the MaxResults field's value.
24702func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
24703	s.MaxResults = &v
24704	return s
24705}
24706
24707// SetNextToken sets the NextToken field's value.
24708func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
24709	s.NextToken = &v
24710	return s
24711}
24712
24713type DescribeStandardsOutput struct {
24714	_ struct{} `type:"structure"`
24715
24716	// The pagination token to use to request the next page of results.
24717	NextToken *string `type:"string"`
24718
24719	// A list of available standards.
24720	Standards []*Standard `type:"list"`
24721}
24722
24723// String returns the string representation
24724func (s DescribeStandardsOutput) String() string {
24725	return awsutil.Prettify(s)
24726}
24727
24728// GoString returns the string representation
24729func (s DescribeStandardsOutput) GoString() string {
24730	return s.String()
24731}
24732
24733// SetNextToken sets the NextToken field's value.
24734func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
24735	s.NextToken = &v
24736	return s
24737}
24738
24739// SetStandards sets the Standards field's value.
24740func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
24741	s.Standards = v
24742	return s
24743}
24744
24745type DisableImportFindingsForProductInput struct {
24746	_ struct{} `type:"structure"`
24747
24748	// The ARN of the integrated product to disable the integration for.
24749	//
24750	// ProductSubscriptionArn is a required field
24751	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
24752}
24753
24754// String returns the string representation
24755func (s DisableImportFindingsForProductInput) String() string {
24756	return awsutil.Prettify(s)
24757}
24758
24759// GoString returns the string representation
24760func (s DisableImportFindingsForProductInput) GoString() string {
24761	return s.String()
24762}
24763
24764// Validate inspects the fields of the type to determine if they are valid.
24765func (s *DisableImportFindingsForProductInput) Validate() error {
24766	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
24767	if s.ProductSubscriptionArn == nil {
24768		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
24769	}
24770	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
24771		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
24772	}
24773
24774	if invalidParams.Len() > 0 {
24775		return invalidParams
24776	}
24777	return nil
24778}
24779
24780// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
24781func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
24782	s.ProductSubscriptionArn = &v
24783	return s
24784}
24785
24786type DisableImportFindingsForProductOutput struct {
24787	_ struct{} `type:"structure"`
24788}
24789
24790// String returns the string representation
24791func (s DisableImportFindingsForProductOutput) String() string {
24792	return awsutil.Prettify(s)
24793}
24794
24795// GoString returns the string representation
24796func (s DisableImportFindingsForProductOutput) GoString() string {
24797	return s.String()
24798}
24799
24800type DisableOrganizationAdminAccountInput struct {
24801	_ struct{} `type:"structure"`
24802
24803	// The AWS account identifier of the Security Hub administrator account.
24804	//
24805	// AdminAccountId is a required field
24806	AdminAccountId *string `type:"string" required:"true"`
24807}
24808
24809// String returns the string representation
24810func (s DisableOrganizationAdminAccountInput) String() string {
24811	return awsutil.Prettify(s)
24812}
24813
24814// GoString returns the string representation
24815func (s DisableOrganizationAdminAccountInput) GoString() string {
24816	return s.String()
24817}
24818
24819// Validate inspects the fields of the type to determine if they are valid.
24820func (s *DisableOrganizationAdminAccountInput) Validate() error {
24821	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
24822	if s.AdminAccountId == nil {
24823		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
24824	}
24825
24826	if invalidParams.Len() > 0 {
24827		return invalidParams
24828	}
24829	return nil
24830}
24831
24832// SetAdminAccountId sets the AdminAccountId field's value.
24833func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
24834	s.AdminAccountId = &v
24835	return s
24836}
24837
24838type DisableOrganizationAdminAccountOutput struct {
24839	_ struct{} `type:"structure"`
24840}
24841
24842// String returns the string representation
24843func (s DisableOrganizationAdminAccountOutput) String() string {
24844	return awsutil.Prettify(s)
24845}
24846
24847// GoString returns the string representation
24848func (s DisableOrganizationAdminAccountOutput) GoString() string {
24849	return s.String()
24850}
24851
24852type DisableSecurityHubInput struct {
24853	_ struct{} `type:"structure"`
24854}
24855
24856// String returns the string representation
24857func (s DisableSecurityHubInput) String() string {
24858	return awsutil.Prettify(s)
24859}
24860
24861// GoString returns the string representation
24862func (s DisableSecurityHubInput) GoString() string {
24863	return s.String()
24864}
24865
24866type DisableSecurityHubOutput struct {
24867	_ struct{} `type:"structure"`
24868}
24869
24870// String returns the string representation
24871func (s DisableSecurityHubOutput) String() string {
24872	return awsutil.Prettify(s)
24873}
24874
24875// GoString returns the string representation
24876func (s DisableSecurityHubOutput) GoString() string {
24877	return s.String()
24878}
24879
24880type DisassociateFromAdministratorAccountInput struct {
24881	_ struct{} `type:"structure"`
24882}
24883
24884// String returns the string representation
24885func (s DisassociateFromAdministratorAccountInput) String() string {
24886	return awsutil.Prettify(s)
24887}
24888
24889// GoString returns the string representation
24890func (s DisassociateFromAdministratorAccountInput) GoString() string {
24891	return s.String()
24892}
24893
24894type DisassociateFromAdministratorAccountOutput struct {
24895	_ struct{} `type:"structure"`
24896}
24897
24898// String returns the string representation
24899func (s DisassociateFromAdministratorAccountOutput) String() string {
24900	return awsutil.Prettify(s)
24901}
24902
24903// GoString returns the string representation
24904func (s DisassociateFromAdministratorAccountOutput) GoString() string {
24905	return s.String()
24906}
24907
24908type DisassociateFromMasterAccountInput struct {
24909	_ struct{} `type:"structure"`
24910}
24911
24912// String returns the string representation
24913func (s DisassociateFromMasterAccountInput) String() string {
24914	return awsutil.Prettify(s)
24915}
24916
24917// GoString returns the string representation
24918func (s DisassociateFromMasterAccountInput) GoString() string {
24919	return s.String()
24920}
24921
24922type DisassociateFromMasterAccountOutput struct {
24923	_ struct{} `type:"structure"`
24924}
24925
24926// String returns the string representation
24927func (s DisassociateFromMasterAccountOutput) String() string {
24928	return awsutil.Prettify(s)
24929}
24930
24931// GoString returns the string representation
24932func (s DisassociateFromMasterAccountOutput) GoString() string {
24933	return s.String()
24934}
24935
24936type DisassociateMembersInput struct {
24937	_ struct{} `type:"structure"`
24938
24939	// The account IDs of the member accounts to disassociate from the administrator
24940	// account.
24941	//
24942	// AccountIds is a required field
24943	AccountIds []*string `type:"list" required:"true"`
24944}
24945
24946// String returns the string representation
24947func (s DisassociateMembersInput) String() string {
24948	return awsutil.Prettify(s)
24949}
24950
24951// GoString returns the string representation
24952func (s DisassociateMembersInput) GoString() string {
24953	return s.String()
24954}
24955
24956// Validate inspects the fields of the type to determine if they are valid.
24957func (s *DisassociateMembersInput) Validate() error {
24958	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
24959	if s.AccountIds == nil {
24960		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
24961	}
24962
24963	if invalidParams.Len() > 0 {
24964		return invalidParams
24965	}
24966	return nil
24967}
24968
24969// SetAccountIds sets the AccountIds field's value.
24970func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
24971	s.AccountIds = v
24972	return s
24973}
24974
24975type DisassociateMembersOutput struct {
24976	_ struct{} `type:"structure"`
24977}
24978
24979// String returns the string representation
24980func (s DisassociateMembersOutput) String() string {
24981	return awsutil.Prettify(s)
24982}
24983
24984// GoString returns the string representation
24985func (s DisassociateMembersOutput) GoString() string {
24986	return s.String()
24987}
24988
24989// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
24990// request that was detected.
24991type DnsRequestAction struct {
24992	_ struct{} `type:"structure"`
24993
24994	// Indicates whether the DNS request was blocked.
24995	Blocked *bool `type:"boolean"`
24996
24997	// The DNS domain that is associated with the DNS request.
24998	Domain *string `type:"string"`
24999
25000	// The protocol that was used for the DNS request.
25001	Protocol *string `type:"string"`
25002}
25003
25004// String returns the string representation
25005func (s DnsRequestAction) String() string {
25006	return awsutil.Prettify(s)
25007}
25008
25009// GoString returns the string representation
25010func (s DnsRequestAction) GoString() string {
25011	return s.String()
25012}
25013
25014// SetBlocked sets the Blocked field's value.
25015func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
25016	s.Blocked = &v
25017	return s
25018}
25019
25020// SetDomain sets the Domain field's value.
25021func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
25022	s.Domain = &v
25023	return s
25024}
25025
25026// SetProtocol sets the Protocol field's value.
25027func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
25028	s.Protocol = &v
25029	return s
25030}
25031
25032type EnableImportFindingsForProductInput struct {
25033	_ struct{} `type:"structure"`
25034
25035	// The ARN of the product to enable the integration for.
25036	//
25037	// ProductArn is a required field
25038	ProductArn *string `type:"string" required:"true"`
25039}
25040
25041// String returns the string representation
25042func (s EnableImportFindingsForProductInput) String() string {
25043	return awsutil.Prettify(s)
25044}
25045
25046// GoString returns the string representation
25047func (s EnableImportFindingsForProductInput) GoString() string {
25048	return s.String()
25049}
25050
25051// Validate inspects the fields of the type to determine if they are valid.
25052func (s *EnableImportFindingsForProductInput) Validate() error {
25053	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
25054	if s.ProductArn == nil {
25055		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
25056	}
25057
25058	if invalidParams.Len() > 0 {
25059		return invalidParams
25060	}
25061	return nil
25062}
25063
25064// SetProductArn sets the ProductArn field's value.
25065func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
25066	s.ProductArn = &v
25067	return s
25068}
25069
25070type EnableImportFindingsForProductOutput struct {
25071	_ struct{} `type:"structure"`
25072
25073	// The ARN of your subscription to the product to enable integrations for.
25074	ProductSubscriptionArn *string `type:"string"`
25075}
25076
25077// String returns the string representation
25078func (s EnableImportFindingsForProductOutput) String() string {
25079	return awsutil.Prettify(s)
25080}
25081
25082// GoString returns the string representation
25083func (s EnableImportFindingsForProductOutput) GoString() string {
25084	return s.String()
25085}
25086
25087// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
25088func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
25089	s.ProductSubscriptionArn = &v
25090	return s
25091}
25092
25093type EnableOrganizationAdminAccountInput struct {
25094	_ struct{} `type:"structure"`
25095
25096	// The AWS account identifier of the account to designate as the Security Hub
25097	// administrator account.
25098	//
25099	// AdminAccountId is a required field
25100	AdminAccountId *string `type:"string" required:"true"`
25101}
25102
25103// String returns the string representation
25104func (s EnableOrganizationAdminAccountInput) String() string {
25105	return awsutil.Prettify(s)
25106}
25107
25108// GoString returns the string representation
25109func (s EnableOrganizationAdminAccountInput) GoString() string {
25110	return s.String()
25111}
25112
25113// Validate inspects the fields of the type to determine if they are valid.
25114func (s *EnableOrganizationAdminAccountInput) Validate() error {
25115	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
25116	if s.AdminAccountId == nil {
25117		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
25118	}
25119
25120	if invalidParams.Len() > 0 {
25121		return invalidParams
25122	}
25123	return nil
25124}
25125
25126// SetAdminAccountId sets the AdminAccountId field's value.
25127func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
25128	s.AdminAccountId = &v
25129	return s
25130}
25131
25132type EnableOrganizationAdminAccountOutput struct {
25133	_ struct{} `type:"structure"`
25134}
25135
25136// String returns the string representation
25137func (s EnableOrganizationAdminAccountOutput) String() string {
25138	return awsutil.Prettify(s)
25139}
25140
25141// GoString returns the string representation
25142func (s EnableOrganizationAdminAccountOutput) GoString() string {
25143	return s.String()
25144}
25145
25146type EnableSecurityHubInput struct {
25147	_ struct{} `type:"structure"`
25148
25149	// Whether to enable the security standards that Security Hub has designated
25150	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
25151	// it is set to true. To not enable the automatically enabled standards, set
25152	// EnableDefaultStandards to false.
25153	EnableDefaultStandards *bool `type:"boolean"`
25154
25155	// The tags to add to the hub resource when you enable Security Hub.
25156	Tags map[string]*string `min:"1" type:"map"`
25157}
25158
25159// String returns the string representation
25160func (s EnableSecurityHubInput) String() string {
25161	return awsutil.Prettify(s)
25162}
25163
25164// GoString returns the string representation
25165func (s EnableSecurityHubInput) GoString() string {
25166	return s.String()
25167}
25168
25169// Validate inspects the fields of the type to determine if they are valid.
25170func (s *EnableSecurityHubInput) Validate() error {
25171	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
25172	if s.Tags != nil && len(s.Tags) < 1 {
25173		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
25174	}
25175
25176	if invalidParams.Len() > 0 {
25177		return invalidParams
25178	}
25179	return nil
25180}
25181
25182// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
25183func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
25184	s.EnableDefaultStandards = &v
25185	return s
25186}
25187
25188// SetTags sets the Tags field's value.
25189func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
25190	s.Tags = v
25191	return s
25192}
25193
25194type EnableSecurityHubOutput struct {
25195	_ struct{} `type:"structure"`
25196}
25197
25198// String returns the string representation
25199func (s EnableSecurityHubOutput) String() string {
25200	return awsutil.Prettify(s)
25201}
25202
25203// GoString returns the string representation
25204func (s EnableSecurityHubOutput) GoString() string {
25205	return s.String()
25206}
25207
25208// In a BatchImportFindings request, finding providers use FindingProviderFields
25209// to provide and update values for confidence, criticality, related findings,
25210// severity, and types.
25211type FindingProviderFields struct {
25212	_ struct{} `type:"structure"`
25213
25214	// A finding's confidence. Confidence is defined as the likelihood that a finding
25215	// accurately identifies the behavior or issue that it was intended to identify.
25216	//
25217	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
25218	// zero percent confidence and 100 means 100 percent confidence.
25219	Confidence *int64 `type:"integer"`
25220
25221	// The level of importance assigned to the resources associated with the finding.
25222	//
25223	// A score of 0 means that the underlying resources have no criticality, and
25224	// a score of 100 is reserved for the most critical resources.
25225	Criticality *int64 `type:"integer"`
25226
25227	// A list of findings that are related to the current finding.
25228	RelatedFindings []*RelatedFinding `type:"list"`
25229
25230	// The severity of a finding.
25231	Severity *FindingProviderSeverity `type:"structure"`
25232
25233	// One or more finding types in the format of namespace/category/classifier
25234	// that classify a finding.
25235	//
25236	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
25237	// | Unusual Behaviors | Sensitive Data Identifications
25238	Types []*string `type:"list"`
25239}
25240
25241// String returns the string representation
25242func (s FindingProviderFields) String() string {
25243	return awsutil.Prettify(s)
25244}
25245
25246// GoString returns the string representation
25247func (s FindingProviderFields) GoString() string {
25248	return s.String()
25249}
25250
25251// Validate inspects the fields of the type to determine if they are valid.
25252func (s *FindingProviderFields) Validate() error {
25253	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
25254	if s.RelatedFindings != nil {
25255		for i, v := range s.RelatedFindings {
25256			if v == nil {
25257				continue
25258			}
25259			if err := v.Validate(); err != nil {
25260				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
25261			}
25262		}
25263	}
25264
25265	if invalidParams.Len() > 0 {
25266		return invalidParams
25267	}
25268	return nil
25269}
25270
25271// SetConfidence sets the Confidence field's value.
25272func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
25273	s.Confidence = &v
25274	return s
25275}
25276
25277// SetCriticality sets the Criticality field's value.
25278func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
25279	s.Criticality = &v
25280	return s
25281}
25282
25283// SetRelatedFindings sets the RelatedFindings field's value.
25284func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
25285	s.RelatedFindings = v
25286	return s
25287}
25288
25289// SetSeverity sets the Severity field's value.
25290func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
25291	s.Severity = v
25292	return s
25293}
25294
25295// SetTypes sets the Types field's value.
25296func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
25297	s.Types = v
25298	return s
25299}
25300
25301// The severity assigned to the finding by the finding provider.
25302type FindingProviderSeverity struct {
25303	_ struct{} `type:"structure"`
25304
25305	// The severity label assigned to the finding by the finding provider.
25306	Label *string `type:"string" enum:"SeverityLabel"`
25307
25308	// The finding provider's original value for the severity.
25309	Original *string `type:"string"`
25310}
25311
25312// String returns the string representation
25313func (s FindingProviderSeverity) String() string {
25314	return awsutil.Prettify(s)
25315}
25316
25317// GoString returns the string representation
25318func (s FindingProviderSeverity) GoString() string {
25319	return s.String()
25320}
25321
25322// SetLabel sets the Label field's value.
25323func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
25324	s.Label = &v
25325	return s
25326}
25327
25328// SetOriginal sets the Original field's value.
25329func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
25330	s.Original = &v
25331	return s
25332}
25333
25334// Provides the latitude and longitude coordinates of a location.
25335type GeoLocation struct {
25336	_ struct{} `type:"structure"`
25337
25338	// The latitude of the location.
25339	Lat *float64 `type:"double"`
25340
25341	// The longitude of the location.
25342	Lon *float64 `type:"double"`
25343}
25344
25345// String returns the string representation
25346func (s GeoLocation) String() string {
25347	return awsutil.Prettify(s)
25348}
25349
25350// GoString returns the string representation
25351func (s GeoLocation) GoString() string {
25352	return s.String()
25353}
25354
25355// SetLat sets the Lat field's value.
25356func (s *GeoLocation) SetLat(v float64) *GeoLocation {
25357	s.Lat = &v
25358	return s
25359}
25360
25361// SetLon sets the Lon field's value.
25362func (s *GeoLocation) SetLon(v float64) *GeoLocation {
25363	s.Lon = &v
25364	return s
25365}
25366
25367type GetAdministratorAccountInput struct {
25368	_ struct{} `type:"structure"`
25369}
25370
25371// String returns the string representation
25372func (s GetAdministratorAccountInput) String() string {
25373	return awsutil.Prettify(s)
25374}
25375
25376// GoString returns the string representation
25377func (s GetAdministratorAccountInput) GoString() string {
25378	return s.String()
25379}
25380
25381type GetAdministratorAccountOutput struct {
25382	_ struct{} `type:"structure"`
25383
25384	// Details about an invitation.
25385	Administrator *Invitation `type:"structure"`
25386}
25387
25388// String returns the string representation
25389func (s GetAdministratorAccountOutput) String() string {
25390	return awsutil.Prettify(s)
25391}
25392
25393// GoString returns the string representation
25394func (s GetAdministratorAccountOutput) GoString() string {
25395	return s.String()
25396}
25397
25398// SetAdministrator sets the Administrator field's value.
25399func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
25400	s.Administrator = v
25401	return s
25402}
25403
25404type GetEnabledStandardsInput struct {
25405	_ struct{} `type:"structure"`
25406
25407	// The maximum number of results to return in the response.
25408	MaxResults *int64 `min:"1" type:"integer"`
25409
25410	// The token that is required for pagination. On your first call to the GetEnabledStandards
25411	// operation, set the value of this parameter to NULL.
25412	//
25413	// For subsequent calls to the operation, to continue listing data, set the
25414	// value of this parameter to the value returned from the previous response.
25415	NextToken *string `type:"string"`
25416
25417	// The list of the standards subscription ARNs for the standards to retrieve.
25418	StandardsSubscriptionArns []*string `min:"1" type:"list"`
25419}
25420
25421// String returns the string representation
25422func (s GetEnabledStandardsInput) String() string {
25423	return awsutil.Prettify(s)
25424}
25425
25426// GoString returns the string representation
25427func (s GetEnabledStandardsInput) GoString() string {
25428	return s.String()
25429}
25430
25431// Validate inspects the fields of the type to determine if they are valid.
25432func (s *GetEnabledStandardsInput) Validate() error {
25433	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
25434	if s.MaxResults != nil && *s.MaxResults < 1 {
25435		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25436	}
25437	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
25438		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
25439	}
25440
25441	if invalidParams.Len() > 0 {
25442		return invalidParams
25443	}
25444	return nil
25445}
25446
25447// SetMaxResults sets the MaxResults field's value.
25448func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
25449	s.MaxResults = &v
25450	return s
25451}
25452
25453// SetNextToken sets the NextToken field's value.
25454func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
25455	s.NextToken = &v
25456	return s
25457}
25458
25459// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
25460func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
25461	s.StandardsSubscriptionArns = v
25462	return s
25463}
25464
25465type GetEnabledStandardsOutput struct {
25466	_ struct{} `type:"structure"`
25467
25468	// The pagination token to use to request the next page of results.
25469	NextToken *string `type:"string"`
25470
25471	// The list of StandardsSubscriptions objects that include information about
25472	// the enabled standards.
25473	StandardsSubscriptions []*StandardsSubscription `type:"list"`
25474}
25475
25476// String returns the string representation
25477func (s GetEnabledStandardsOutput) String() string {
25478	return awsutil.Prettify(s)
25479}
25480
25481// GoString returns the string representation
25482func (s GetEnabledStandardsOutput) GoString() string {
25483	return s.String()
25484}
25485
25486// SetNextToken sets the NextToken field's value.
25487func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
25488	s.NextToken = &v
25489	return s
25490}
25491
25492// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
25493func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
25494	s.StandardsSubscriptions = v
25495	return s
25496}
25497
25498type GetFindingsInput struct {
25499	_ struct{} `type:"structure"`
25500
25501	// The finding attributes used to define a condition to filter the returned
25502	// findings.
25503	//
25504	// You can filter by up to 10 finding attributes. For each attribute, you can
25505	// provide up to 20 filter values.
25506	//
25507	// Note that in the available filter fields, WorkflowState is deprecated. To
25508	// search for a finding based on its workflow status, use WorkflowStatus.
25509	Filters *AwsSecurityFindingFilters `type:"structure"`
25510
25511	// The maximum number of findings to return.
25512	MaxResults *int64 `min:"1" type:"integer"`
25513
25514	// The token that is required for pagination. On your first call to the GetFindings
25515	// operation, set the value of this parameter to NULL.
25516	//
25517	// For subsequent calls to the operation, to continue listing data, set the
25518	// value of this parameter to the value returned from the previous response.
25519	NextToken *string `type:"string"`
25520
25521	// The finding attributes used to sort the list of returned findings.
25522	SortCriteria []*SortCriterion `type:"list"`
25523}
25524
25525// String returns the string representation
25526func (s GetFindingsInput) String() string {
25527	return awsutil.Prettify(s)
25528}
25529
25530// GoString returns the string representation
25531func (s GetFindingsInput) GoString() string {
25532	return s.String()
25533}
25534
25535// Validate inspects the fields of the type to determine if they are valid.
25536func (s *GetFindingsInput) Validate() error {
25537	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
25538	if s.MaxResults != nil && *s.MaxResults < 1 {
25539		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25540	}
25541
25542	if invalidParams.Len() > 0 {
25543		return invalidParams
25544	}
25545	return nil
25546}
25547
25548// SetFilters sets the Filters field's value.
25549func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
25550	s.Filters = v
25551	return s
25552}
25553
25554// SetMaxResults sets the MaxResults field's value.
25555func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
25556	s.MaxResults = &v
25557	return s
25558}
25559
25560// SetNextToken sets the NextToken field's value.
25561func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
25562	s.NextToken = &v
25563	return s
25564}
25565
25566// SetSortCriteria sets the SortCriteria field's value.
25567func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
25568	s.SortCriteria = v
25569	return s
25570}
25571
25572type GetFindingsOutput struct {
25573	_ struct{} `type:"structure"`
25574
25575	// The findings that matched the filters specified in the request.
25576	//
25577	// Findings is a required field
25578	Findings []*AwsSecurityFinding `type:"list" required:"true"`
25579
25580	// The pagination token to use to request the next page of results.
25581	NextToken *string `type:"string"`
25582}
25583
25584// String returns the string representation
25585func (s GetFindingsOutput) String() string {
25586	return awsutil.Prettify(s)
25587}
25588
25589// GoString returns the string representation
25590func (s GetFindingsOutput) GoString() string {
25591	return s.String()
25592}
25593
25594// SetFindings sets the Findings field's value.
25595func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
25596	s.Findings = v
25597	return s
25598}
25599
25600// SetNextToken sets the NextToken field's value.
25601func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
25602	s.NextToken = &v
25603	return s
25604}
25605
25606type GetInsightResultsInput struct {
25607	_ struct{} `type:"structure"`
25608
25609	// The ARN of the insight for which to return results.
25610	//
25611	// InsightArn is a required field
25612	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
25613}
25614
25615// String returns the string representation
25616func (s GetInsightResultsInput) String() string {
25617	return awsutil.Prettify(s)
25618}
25619
25620// GoString returns the string representation
25621func (s GetInsightResultsInput) GoString() string {
25622	return s.String()
25623}
25624
25625// Validate inspects the fields of the type to determine if they are valid.
25626func (s *GetInsightResultsInput) Validate() error {
25627	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
25628	if s.InsightArn == nil {
25629		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
25630	}
25631	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
25632		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
25633	}
25634
25635	if invalidParams.Len() > 0 {
25636		return invalidParams
25637	}
25638	return nil
25639}
25640
25641// SetInsightArn sets the InsightArn field's value.
25642func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
25643	s.InsightArn = &v
25644	return s
25645}
25646
25647type GetInsightResultsOutput struct {
25648	_ struct{} `type:"structure"`
25649
25650	// The insight results returned by the operation.
25651	//
25652	// InsightResults is a required field
25653	InsightResults *InsightResults `type:"structure" required:"true"`
25654}
25655
25656// String returns the string representation
25657func (s GetInsightResultsOutput) String() string {
25658	return awsutil.Prettify(s)
25659}
25660
25661// GoString returns the string representation
25662func (s GetInsightResultsOutput) GoString() string {
25663	return s.String()
25664}
25665
25666// SetInsightResults sets the InsightResults field's value.
25667func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
25668	s.InsightResults = v
25669	return s
25670}
25671
25672type GetInsightsInput struct {
25673	_ struct{} `type:"structure"`
25674
25675	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
25676	// then GetInsights returns all of your custom insights. It does not return
25677	// any managed insights.
25678	InsightArns []*string `type:"list"`
25679
25680	// The maximum number of items to return in the response.
25681	MaxResults *int64 `min:"1" type:"integer"`
25682
25683	// The token that is required for pagination. On your first call to the GetInsights
25684	// operation, set the value of this parameter to NULL.
25685	//
25686	// For subsequent calls to the operation, to continue listing data, set the
25687	// value of this parameter to the value returned from the previous response.
25688	NextToken *string `type:"string"`
25689}
25690
25691// String returns the string representation
25692func (s GetInsightsInput) String() string {
25693	return awsutil.Prettify(s)
25694}
25695
25696// GoString returns the string representation
25697func (s GetInsightsInput) GoString() string {
25698	return s.String()
25699}
25700
25701// Validate inspects the fields of the type to determine if they are valid.
25702func (s *GetInsightsInput) Validate() error {
25703	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
25704	if s.MaxResults != nil && *s.MaxResults < 1 {
25705		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25706	}
25707
25708	if invalidParams.Len() > 0 {
25709		return invalidParams
25710	}
25711	return nil
25712}
25713
25714// SetInsightArns sets the InsightArns field's value.
25715func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
25716	s.InsightArns = v
25717	return s
25718}
25719
25720// SetMaxResults sets the MaxResults field's value.
25721func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
25722	s.MaxResults = &v
25723	return s
25724}
25725
25726// SetNextToken sets the NextToken field's value.
25727func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
25728	s.NextToken = &v
25729	return s
25730}
25731
25732type GetInsightsOutput struct {
25733	_ struct{} `type:"structure"`
25734
25735	// The insights returned by the operation.
25736	//
25737	// Insights is a required field
25738	Insights []*Insight `type:"list" required:"true"`
25739
25740	// The pagination token to use to request the next page of results.
25741	NextToken *string `type:"string"`
25742}
25743
25744// String returns the string representation
25745func (s GetInsightsOutput) String() string {
25746	return awsutil.Prettify(s)
25747}
25748
25749// GoString returns the string representation
25750func (s GetInsightsOutput) GoString() string {
25751	return s.String()
25752}
25753
25754// SetInsights sets the Insights field's value.
25755func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
25756	s.Insights = v
25757	return s
25758}
25759
25760// SetNextToken sets the NextToken field's value.
25761func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
25762	s.NextToken = &v
25763	return s
25764}
25765
25766type GetInvitationsCountInput struct {
25767	_ struct{} `type:"structure"`
25768}
25769
25770// String returns the string representation
25771func (s GetInvitationsCountInput) String() string {
25772	return awsutil.Prettify(s)
25773}
25774
25775// GoString returns the string representation
25776func (s GetInvitationsCountInput) GoString() string {
25777	return s.String()
25778}
25779
25780type GetInvitationsCountOutput struct {
25781	_ struct{} `type:"structure"`
25782
25783	// The number of all membership invitations sent to this Security Hub member
25784	// account, not including the currently accepted invitation.
25785	InvitationsCount *int64 `type:"integer"`
25786}
25787
25788// String returns the string representation
25789func (s GetInvitationsCountOutput) String() string {
25790	return awsutil.Prettify(s)
25791}
25792
25793// GoString returns the string representation
25794func (s GetInvitationsCountOutput) GoString() string {
25795	return s.String()
25796}
25797
25798// SetInvitationsCount sets the InvitationsCount field's value.
25799func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
25800	s.InvitationsCount = &v
25801	return s
25802}
25803
25804type GetMasterAccountInput struct {
25805	_ struct{} `type:"structure"`
25806}
25807
25808// String returns the string representation
25809func (s GetMasterAccountInput) String() string {
25810	return awsutil.Prettify(s)
25811}
25812
25813// GoString returns the string representation
25814func (s GetMasterAccountInput) GoString() string {
25815	return s.String()
25816}
25817
25818type GetMasterAccountOutput struct {
25819	_ struct{} `type:"structure"`
25820
25821	// A list of details about the Security Hub administrator account for the current
25822	// member account.
25823	Master *Invitation `type:"structure"`
25824}
25825
25826// String returns the string representation
25827func (s GetMasterAccountOutput) String() string {
25828	return awsutil.Prettify(s)
25829}
25830
25831// GoString returns the string representation
25832func (s GetMasterAccountOutput) GoString() string {
25833	return s.String()
25834}
25835
25836// SetMaster sets the Master field's value.
25837func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
25838	s.Master = v
25839	return s
25840}
25841
25842type GetMembersInput struct {
25843	_ struct{} `type:"structure"`
25844
25845	// The list of account IDs for the Security Hub member accounts to return the
25846	// details for.
25847	//
25848	// AccountIds is a required field
25849	AccountIds []*string `type:"list" required:"true"`
25850}
25851
25852// String returns the string representation
25853func (s GetMembersInput) String() string {
25854	return awsutil.Prettify(s)
25855}
25856
25857// GoString returns the string representation
25858func (s GetMembersInput) GoString() string {
25859	return s.String()
25860}
25861
25862// Validate inspects the fields of the type to determine if they are valid.
25863func (s *GetMembersInput) Validate() error {
25864	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
25865	if s.AccountIds == nil {
25866		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
25867	}
25868
25869	if invalidParams.Len() > 0 {
25870		return invalidParams
25871	}
25872	return nil
25873}
25874
25875// SetAccountIds sets the AccountIds field's value.
25876func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
25877	s.AccountIds = v
25878	return s
25879}
25880
25881type GetMembersOutput struct {
25882	_ struct{} `type:"structure"`
25883
25884	// The list of details about the Security Hub member accounts.
25885	Members []*Member `type:"list"`
25886
25887	// The list of AWS accounts that could not be processed. For each account, the
25888	// list includes the account ID and the email address.
25889	UnprocessedAccounts []*Result `type:"list"`
25890}
25891
25892// String returns the string representation
25893func (s GetMembersOutput) String() string {
25894	return awsutil.Prettify(s)
25895}
25896
25897// GoString returns the string representation
25898func (s GetMembersOutput) GoString() string {
25899	return s.String()
25900}
25901
25902// SetMembers sets the Members field's value.
25903func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
25904	s.Members = v
25905	return s
25906}
25907
25908// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
25909func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
25910	s.UnprocessedAccounts = v
25911	return s
25912}
25913
25914// An Internet Control Message Protocol (ICMP) type and code.
25915type IcmpTypeCode struct {
25916	_ struct{} `type:"structure"`
25917
25918	// The ICMP code for which to deny or allow access. To deny or allow all codes,
25919	// use the value -1.
25920	Code *int64 `type:"integer"`
25921
25922	// The ICMP type for which to deny or allow access. To deny or allow all types,
25923	// use the value -1.
25924	Type *int64 `type:"integer"`
25925}
25926
25927// String returns the string representation
25928func (s IcmpTypeCode) String() string {
25929	return awsutil.Prettify(s)
25930}
25931
25932// GoString returns the string representation
25933func (s IcmpTypeCode) GoString() string {
25934	return s.String()
25935}
25936
25937// SetCode sets the Code field's value.
25938func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
25939	s.Code = &v
25940	return s
25941}
25942
25943// SetType sets the Type field's value.
25944func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
25945	s.Type = &v
25946	return s
25947}
25948
25949// The list of the findings that cannot be imported. For each finding, the list
25950// provides the error.
25951type ImportFindingsError struct {
25952	_ struct{} `type:"structure"`
25953
25954	// The code of the error returned by the BatchImportFindings operation.
25955	//
25956	// ErrorCode is a required field
25957	ErrorCode *string `type:"string" required:"true"`
25958
25959	// The message of the error returned by the BatchImportFindings operation.
25960	//
25961	// ErrorMessage is a required field
25962	ErrorMessage *string `type:"string" required:"true"`
25963
25964	// The identifier of the finding that could not be updated.
25965	//
25966	// Id is a required field
25967	Id *string `type:"string" required:"true"`
25968}
25969
25970// String returns the string representation
25971func (s ImportFindingsError) String() string {
25972	return awsutil.Prettify(s)
25973}
25974
25975// GoString returns the string representation
25976func (s ImportFindingsError) GoString() string {
25977	return s.String()
25978}
25979
25980// SetErrorCode sets the ErrorCode field's value.
25981func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
25982	s.ErrorCode = &v
25983	return s
25984}
25985
25986// SetErrorMessage sets the ErrorMessage field's value.
25987func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
25988	s.ErrorMessage = &v
25989	return s
25990}
25991
25992// SetId sets the Id field's value.
25993func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
25994	s.Id = &v
25995	return s
25996}
25997
25998// Contains information about a Security Hub insight.
25999type Insight struct {
26000	_ struct{} `type:"structure"`
26001
26002	// One or more attributes used to filter the findings included in the insight.
26003	// The insight only includes findings that match the criteria defined in the
26004	// filters.
26005	//
26006	// Filters is a required field
26007	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
26008
26009	// The grouping attribute for the insight's findings. Indicates how to group
26010	// the matching findings, and identifies the type of item that the insight applies
26011	// to. For example, if an insight is grouped by resource identifier, then the
26012	// insight produces a list of resource identifiers.
26013	//
26014	// GroupByAttribute is a required field
26015	GroupByAttribute *string `type:"string" required:"true"`
26016
26017	// The ARN of a Security Hub insight.
26018	//
26019	// InsightArn is a required field
26020	InsightArn *string `type:"string" required:"true"`
26021
26022	// The name of a Security Hub insight.
26023	//
26024	// Name is a required field
26025	Name *string `type:"string" required:"true"`
26026}
26027
26028// String returns the string representation
26029func (s Insight) String() string {
26030	return awsutil.Prettify(s)
26031}
26032
26033// GoString returns the string representation
26034func (s Insight) GoString() string {
26035	return s.String()
26036}
26037
26038// SetFilters sets the Filters field's value.
26039func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
26040	s.Filters = v
26041	return s
26042}
26043
26044// SetGroupByAttribute sets the GroupByAttribute field's value.
26045func (s *Insight) SetGroupByAttribute(v string) *Insight {
26046	s.GroupByAttribute = &v
26047	return s
26048}
26049
26050// SetInsightArn sets the InsightArn field's value.
26051func (s *Insight) SetInsightArn(v string) *Insight {
26052	s.InsightArn = &v
26053	return s
26054}
26055
26056// SetName sets the Name field's value.
26057func (s *Insight) SetName(v string) *Insight {
26058	s.Name = &v
26059	return s
26060}
26061
26062// The insight result values returned by the GetInsightResults operation.
26063type InsightResultValue struct {
26064	_ struct{} `type:"structure"`
26065
26066	// The number of findings returned for each GroupByAttributeValue.
26067	//
26068	// Count is a required field
26069	Count *int64 `type:"integer" required:"true"`
26070
26071	// The value of the attribute that the findings are grouped by for the insight
26072	// whose results are returned by the GetInsightResults operation.
26073	//
26074	// GroupByAttributeValue is a required field
26075	GroupByAttributeValue *string `type:"string" required:"true"`
26076}
26077
26078// String returns the string representation
26079func (s InsightResultValue) String() string {
26080	return awsutil.Prettify(s)
26081}
26082
26083// GoString returns the string representation
26084func (s InsightResultValue) GoString() string {
26085	return s.String()
26086}
26087
26088// SetCount sets the Count field's value.
26089func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
26090	s.Count = &v
26091	return s
26092}
26093
26094// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
26095func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
26096	s.GroupByAttributeValue = &v
26097	return s
26098}
26099
26100// The insight results returned by the GetInsightResults operation.
26101type InsightResults struct {
26102	_ struct{} `type:"structure"`
26103
26104	// The attribute that the findings are grouped by for the insight whose results
26105	// are returned by the GetInsightResults operation.
26106	//
26107	// GroupByAttribute is a required field
26108	GroupByAttribute *string `type:"string" required:"true"`
26109
26110	// The ARN of the insight whose results are returned by the GetInsightResults
26111	// operation.
26112	//
26113	// InsightArn is a required field
26114	InsightArn *string `type:"string" required:"true"`
26115
26116	// The list of insight result values returned by the GetInsightResults operation.
26117	//
26118	// ResultValues is a required field
26119	ResultValues []*InsightResultValue `type:"list" required:"true"`
26120}
26121
26122// String returns the string representation
26123func (s InsightResults) String() string {
26124	return awsutil.Prettify(s)
26125}
26126
26127// GoString returns the string representation
26128func (s InsightResults) GoString() string {
26129	return s.String()
26130}
26131
26132// SetGroupByAttribute sets the GroupByAttribute field's value.
26133func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
26134	s.GroupByAttribute = &v
26135	return s
26136}
26137
26138// SetInsightArn sets the InsightArn field's value.
26139func (s *InsightResults) SetInsightArn(v string) *InsightResults {
26140	s.InsightArn = &v
26141	return s
26142}
26143
26144// SetResultValues sets the ResultValues field's value.
26145func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
26146	s.ResultValues = v
26147	return s
26148}
26149
26150// Internal server error.
26151type InternalException struct {
26152	_            struct{}                  `type:"structure"`
26153	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26154
26155	Code_ *string `locationName:"Code" type:"string"`
26156
26157	Message_ *string `locationName:"Message" type:"string"`
26158}
26159
26160// String returns the string representation
26161func (s InternalException) String() string {
26162	return awsutil.Prettify(s)
26163}
26164
26165// GoString returns the string representation
26166func (s InternalException) GoString() string {
26167	return s.String()
26168}
26169
26170func newErrorInternalException(v protocol.ResponseMetadata) error {
26171	return &InternalException{
26172		RespMetadata: v,
26173	}
26174}
26175
26176// Code returns the exception type name.
26177func (s *InternalException) Code() string {
26178	return "InternalException"
26179}
26180
26181// Message returns the exception's message.
26182func (s *InternalException) Message() string {
26183	if s.Message_ != nil {
26184		return *s.Message_
26185	}
26186	return ""
26187}
26188
26189// OrigErr always returns nil, satisfies awserr.Error interface.
26190func (s *InternalException) OrigErr() error {
26191	return nil
26192}
26193
26194func (s *InternalException) Error() string {
26195	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26196}
26197
26198// Status code returns the HTTP status code for the request's response error.
26199func (s *InternalException) StatusCode() int {
26200	return s.RespMetadata.StatusCode
26201}
26202
26203// RequestID returns the service's response RequestID for request.
26204func (s *InternalException) RequestID() string {
26205	return s.RespMetadata.RequestID
26206}
26207
26208// There is an issue with the account used to make the request. Either Security
26209// Hub is not enabled for the account, or the account does not have permission
26210// to perform this action.
26211type InvalidAccessException struct {
26212	_            struct{}                  `type:"structure"`
26213	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26214
26215	Code_ *string `locationName:"Code" type:"string"`
26216
26217	Message_ *string `locationName:"Message" type:"string"`
26218}
26219
26220// String returns the string representation
26221func (s InvalidAccessException) String() string {
26222	return awsutil.Prettify(s)
26223}
26224
26225// GoString returns the string representation
26226func (s InvalidAccessException) GoString() string {
26227	return s.String()
26228}
26229
26230func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
26231	return &InvalidAccessException{
26232		RespMetadata: v,
26233	}
26234}
26235
26236// Code returns the exception type name.
26237func (s *InvalidAccessException) Code() string {
26238	return "InvalidAccessException"
26239}
26240
26241// Message returns the exception's message.
26242func (s *InvalidAccessException) Message() string {
26243	if s.Message_ != nil {
26244		return *s.Message_
26245	}
26246	return ""
26247}
26248
26249// OrigErr always returns nil, satisfies awserr.Error interface.
26250func (s *InvalidAccessException) OrigErr() error {
26251	return nil
26252}
26253
26254func (s *InvalidAccessException) Error() string {
26255	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26256}
26257
26258// Status code returns the HTTP status code for the request's response error.
26259func (s *InvalidAccessException) StatusCode() int {
26260	return s.RespMetadata.StatusCode
26261}
26262
26263// RequestID returns the service's response RequestID for request.
26264func (s *InvalidAccessException) RequestID() string {
26265	return s.RespMetadata.RequestID
26266}
26267
26268// The request was rejected because you supplied an invalid or out-of-range
26269// value for an input parameter.
26270type InvalidInputException struct {
26271	_            struct{}                  `type:"structure"`
26272	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26273
26274	Code_ *string `locationName:"Code" type:"string"`
26275
26276	Message_ *string `locationName:"Message" type:"string"`
26277}
26278
26279// String returns the string representation
26280func (s InvalidInputException) String() string {
26281	return awsutil.Prettify(s)
26282}
26283
26284// GoString returns the string representation
26285func (s InvalidInputException) GoString() string {
26286	return s.String()
26287}
26288
26289func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
26290	return &InvalidInputException{
26291		RespMetadata: v,
26292	}
26293}
26294
26295// Code returns the exception type name.
26296func (s *InvalidInputException) Code() string {
26297	return "InvalidInputException"
26298}
26299
26300// Message returns the exception's message.
26301func (s *InvalidInputException) Message() string {
26302	if s.Message_ != nil {
26303		return *s.Message_
26304	}
26305	return ""
26306}
26307
26308// OrigErr always returns nil, satisfies awserr.Error interface.
26309func (s *InvalidInputException) OrigErr() error {
26310	return nil
26311}
26312
26313func (s *InvalidInputException) Error() string {
26314	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26315}
26316
26317// Status code returns the HTTP status code for the request's response error.
26318func (s *InvalidInputException) StatusCode() int {
26319	return s.RespMetadata.StatusCode
26320}
26321
26322// RequestID returns the service's response RequestID for request.
26323func (s *InvalidInputException) RequestID() string {
26324	return s.RespMetadata.RequestID
26325}
26326
26327// Details about an invitation.
26328type Invitation struct {
26329	_ struct{} `type:"structure"`
26330
26331	// The account ID of the Security Hub administrator account that the invitation
26332	// was sent from.
26333	AccountId *string `type:"string"`
26334
26335	// The ID of the invitation sent to the member account.
26336	InvitationId *string `type:"string"`
26337
26338	// The timestamp of when the invitation was sent.
26339	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
26340
26341	// The current status of the association between the member and administrator
26342	// accounts.
26343	MemberStatus *string `type:"string"`
26344}
26345
26346// String returns the string representation
26347func (s Invitation) String() string {
26348	return awsutil.Prettify(s)
26349}
26350
26351// GoString returns the string representation
26352func (s Invitation) GoString() string {
26353	return s.String()
26354}
26355
26356// SetAccountId sets the AccountId field's value.
26357func (s *Invitation) SetAccountId(v string) *Invitation {
26358	s.AccountId = &v
26359	return s
26360}
26361
26362// SetInvitationId sets the InvitationId field's value.
26363func (s *Invitation) SetInvitationId(v string) *Invitation {
26364	s.InvitationId = &v
26365	return s
26366}
26367
26368// SetInvitedAt sets the InvitedAt field's value.
26369func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
26370	s.InvitedAt = &v
26371	return s
26372}
26373
26374// SetMemberStatus sets the MemberStatus field's value.
26375func (s *Invitation) SetMemberStatus(v string) *Invitation {
26376	s.MemberStatus = &v
26377	return s
26378}
26379
26380type InviteMembersInput struct {
26381	_ struct{} `type:"structure"`
26382
26383	// The list of account IDs of the AWS accounts to invite to Security Hub as
26384	// members.
26385	//
26386	// AccountIds is a required field
26387	AccountIds []*string `type:"list" required:"true"`
26388}
26389
26390// String returns the string representation
26391func (s InviteMembersInput) String() string {
26392	return awsutil.Prettify(s)
26393}
26394
26395// GoString returns the string representation
26396func (s InviteMembersInput) GoString() string {
26397	return s.String()
26398}
26399
26400// Validate inspects the fields of the type to determine if they are valid.
26401func (s *InviteMembersInput) Validate() error {
26402	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
26403	if s.AccountIds == nil {
26404		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26405	}
26406
26407	if invalidParams.Len() > 0 {
26408		return invalidParams
26409	}
26410	return nil
26411}
26412
26413// SetAccountIds sets the AccountIds field's value.
26414func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
26415	s.AccountIds = v
26416	return s
26417}
26418
26419type InviteMembersOutput struct {
26420	_ struct{} `type:"structure"`
26421
26422	// The list of AWS accounts that could not be processed. For each account, the
26423	// list includes the account ID and the email address.
26424	UnprocessedAccounts []*Result `type:"list"`
26425}
26426
26427// String returns the string representation
26428func (s InviteMembersOutput) String() string {
26429	return awsutil.Prettify(s)
26430}
26431
26432// GoString returns the string representation
26433func (s InviteMembersOutput) GoString() string {
26434	return s.String()
26435}
26436
26437// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26438func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
26439	s.UnprocessedAccounts = v
26440	return s
26441}
26442
26443// The IP filter for querying findings.
26444type IpFilter struct {
26445	_ struct{} `type:"structure"`
26446
26447	// A finding's CIDR value.
26448	Cidr *string `type:"string"`
26449}
26450
26451// String returns the string representation
26452func (s IpFilter) String() string {
26453	return awsutil.Prettify(s)
26454}
26455
26456// GoString returns the string representation
26457func (s IpFilter) GoString() string {
26458	return s.String()
26459}
26460
26461// SetCidr sets the Cidr field's value.
26462func (s *IpFilter) SetCidr(v string) *IpFilter {
26463	s.Cidr = &v
26464	return s
26465}
26466
26467// Provides information about an internet provider.
26468type IpOrganizationDetails struct {
26469	_ struct{} `type:"structure"`
26470
26471	// The Autonomous System Number (ASN) of the internet provider
26472	Asn *int64 `type:"integer"`
26473
26474	// The name of the organization that registered the ASN.
26475	AsnOrg *string `type:"string"`
26476
26477	// The ISP information for the internet provider.
26478	Isp *string `type:"string"`
26479
26480	// The name of the internet provider.
26481	Org *string `type:"string"`
26482}
26483
26484// String returns the string representation
26485func (s IpOrganizationDetails) String() string {
26486	return awsutil.Prettify(s)
26487}
26488
26489// GoString returns the string representation
26490func (s IpOrganizationDetails) GoString() string {
26491	return s.String()
26492}
26493
26494// SetAsn sets the Asn field's value.
26495func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
26496	s.Asn = &v
26497	return s
26498}
26499
26500// SetAsnOrg sets the AsnOrg field's value.
26501func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
26502	s.AsnOrg = &v
26503	return s
26504}
26505
26506// SetIsp sets the Isp field's value.
26507func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
26508	s.Isp = &v
26509	return s
26510}
26511
26512// SetOrg sets the Org field's value.
26513func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
26514	s.Org = &v
26515	return s
26516}
26517
26518// An IPV6 CIDR block association.
26519type Ipv6CidrBlockAssociation struct {
26520	_ struct{} `type:"structure"`
26521
26522	// The association ID for the IPv6 CIDR block.
26523	AssociationId *string `type:"string"`
26524
26525	// Information about the state of the CIDR block.
26526	CidrBlockState *string `type:"string"`
26527
26528	// The IPv6 CIDR block.
26529	Ipv6CidrBlock *string `type:"string"`
26530}
26531
26532// String returns the string representation
26533func (s Ipv6CidrBlockAssociation) String() string {
26534	return awsutil.Prettify(s)
26535}
26536
26537// GoString returns the string representation
26538func (s Ipv6CidrBlockAssociation) GoString() string {
26539	return s.String()
26540}
26541
26542// SetAssociationId sets the AssociationId field's value.
26543func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
26544	s.AssociationId = &v
26545	return s
26546}
26547
26548// SetCidrBlockState sets the CidrBlockState field's value.
26549func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
26550	s.CidrBlockState = &v
26551	return s
26552}
26553
26554// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
26555func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
26556	s.Ipv6CidrBlock = &v
26557	return s
26558}
26559
26560// A keyword filter for querying findings.
26561type KeywordFilter struct {
26562	_ struct{} `type:"structure"`
26563
26564	// A value for the keyword.
26565	Value *string `type:"string"`
26566}
26567
26568// String returns the string representation
26569func (s KeywordFilter) String() string {
26570	return awsutil.Prettify(s)
26571}
26572
26573// GoString returns the string representation
26574func (s KeywordFilter) GoString() string {
26575	return s.String()
26576}
26577
26578// SetValue sets the Value field's value.
26579func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
26580	s.Value = &v
26581	return s
26582}
26583
26584// The request was rejected because it attempted to create resources beyond
26585// the current AWS account or throttling limits. The error code describes the
26586// limit exceeded.
26587type LimitExceededException struct {
26588	_            struct{}                  `type:"structure"`
26589	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26590
26591	Code_ *string `locationName:"Code" type:"string"`
26592
26593	Message_ *string `locationName:"Message" type:"string"`
26594}
26595
26596// String returns the string representation
26597func (s LimitExceededException) String() string {
26598	return awsutil.Prettify(s)
26599}
26600
26601// GoString returns the string representation
26602func (s LimitExceededException) GoString() string {
26603	return s.String()
26604}
26605
26606func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
26607	return &LimitExceededException{
26608		RespMetadata: v,
26609	}
26610}
26611
26612// Code returns the exception type name.
26613func (s *LimitExceededException) Code() string {
26614	return "LimitExceededException"
26615}
26616
26617// Message returns the exception's message.
26618func (s *LimitExceededException) Message() string {
26619	if s.Message_ != nil {
26620		return *s.Message_
26621	}
26622	return ""
26623}
26624
26625// OrigErr always returns nil, satisfies awserr.Error interface.
26626func (s *LimitExceededException) OrigErr() error {
26627	return nil
26628}
26629
26630func (s *LimitExceededException) Error() string {
26631	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26632}
26633
26634// Status code returns the HTTP status code for the request's response error.
26635func (s *LimitExceededException) StatusCode() int {
26636	return s.RespMetadata.StatusCode
26637}
26638
26639// RequestID returns the service's response RequestID for request.
26640func (s *LimitExceededException) RequestID() string {
26641	return s.RespMetadata.RequestID
26642}
26643
26644type ListEnabledProductsForImportInput struct {
26645	_ struct{} `type:"structure"`
26646
26647	// The maximum number of items to return in the response.
26648	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
26649
26650	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
26651	// operation, set the value of this parameter to NULL.
26652	//
26653	// For subsequent calls to the operation, to continue listing data, set the
26654	// value of this parameter to the value returned from the previous response.
26655	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
26656}
26657
26658// String returns the string representation
26659func (s ListEnabledProductsForImportInput) String() string {
26660	return awsutil.Prettify(s)
26661}
26662
26663// GoString returns the string representation
26664func (s ListEnabledProductsForImportInput) GoString() string {
26665	return s.String()
26666}
26667
26668// Validate inspects the fields of the type to determine if they are valid.
26669func (s *ListEnabledProductsForImportInput) Validate() error {
26670	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
26671	if s.MaxResults != nil && *s.MaxResults < 1 {
26672		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26673	}
26674
26675	if invalidParams.Len() > 0 {
26676		return invalidParams
26677	}
26678	return nil
26679}
26680
26681// SetMaxResults sets the MaxResults field's value.
26682func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
26683	s.MaxResults = &v
26684	return s
26685}
26686
26687// SetNextToken sets the NextToken field's value.
26688func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
26689	s.NextToken = &v
26690	return s
26691}
26692
26693type ListEnabledProductsForImportOutput struct {
26694	_ struct{} `type:"structure"`
26695
26696	// The pagination token to use to request the next page of results.
26697	NextToken *string `type:"string"`
26698
26699	// The list of ARNs for the resources that represent your subscriptions to products.
26700	ProductSubscriptions []*string `type:"list"`
26701}
26702
26703// String returns the string representation
26704func (s ListEnabledProductsForImportOutput) String() string {
26705	return awsutil.Prettify(s)
26706}
26707
26708// GoString returns the string representation
26709func (s ListEnabledProductsForImportOutput) GoString() string {
26710	return s.String()
26711}
26712
26713// SetNextToken sets the NextToken field's value.
26714func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
26715	s.NextToken = &v
26716	return s
26717}
26718
26719// SetProductSubscriptions sets the ProductSubscriptions field's value.
26720func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
26721	s.ProductSubscriptions = v
26722	return s
26723}
26724
26725type ListInvitationsInput struct {
26726	_ struct{} `type:"structure"`
26727
26728	// The maximum number of items to return in the response.
26729	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
26730
26731	// The token that is required for pagination. On your first call to the ListInvitations
26732	// operation, set the value of this parameter to NULL.
26733	//
26734	// For subsequent calls to the operation, to continue listing data, set the
26735	// value of this parameter to the value returned from the previous response.
26736	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
26737}
26738
26739// String returns the string representation
26740func (s ListInvitationsInput) String() string {
26741	return awsutil.Prettify(s)
26742}
26743
26744// GoString returns the string representation
26745func (s ListInvitationsInput) GoString() string {
26746	return s.String()
26747}
26748
26749// Validate inspects the fields of the type to determine if they are valid.
26750func (s *ListInvitationsInput) Validate() error {
26751	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
26752	if s.MaxResults != nil && *s.MaxResults < 1 {
26753		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26754	}
26755
26756	if invalidParams.Len() > 0 {
26757		return invalidParams
26758	}
26759	return nil
26760}
26761
26762// SetMaxResults sets the MaxResults field's value.
26763func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
26764	s.MaxResults = &v
26765	return s
26766}
26767
26768// SetNextToken sets the NextToken field's value.
26769func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
26770	s.NextToken = &v
26771	return s
26772}
26773
26774type ListInvitationsOutput struct {
26775	_ struct{} `type:"structure"`
26776
26777	// The details of the invitations returned by the operation.
26778	Invitations []*Invitation `type:"list"`
26779
26780	// The pagination token to use to request the next page of results.
26781	NextToken *string `type:"string"`
26782}
26783
26784// String returns the string representation
26785func (s ListInvitationsOutput) String() string {
26786	return awsutil.Prettify(s)
26787}
26788
26789// GoString returns the string representation
26790func (s ListInvitationsOutput) GoString() string {
26791	return s.String()
26792}
26793
26794// SetInvitations sets the Invitations field's value.
26795func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
26796	s.Invitations = v
26797	return s
26798}
26799
26800// SetNextToken sets the NextToken field's value.
26801func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
26802	s.NextToken = &v
26803	return s
26804}
26805
26806type ListMembersInput struct {
26807	_ struct{} `type:"structure"`
26808
26809	// The maximum number of items to return in the response.
26810	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
26811
26812	// The token that is required for pagination. On your first call to the ListMembers
26813	// operation, set the value of this parameter to NULL.
26814	//
26815	// For subsequent calls to the operation, to continue listing data, set the
26816	// value of this parameter to the value returned from the previous response.
26817	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
26818
26819	// Specifies which member accounts to include in the response based on their
26820	// relationship status with the administrator account. The default value is
26821	// TRUE.
26822	//
26823	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
26824	// relationship status with the administrator account is set to ENABLED.
26825	//
26826	// If OnlyAssociated is set to FALSE, the response includes all existing member
26827	// accounts.
26828	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
26829}
26830
26831// String returns the string representation
26832func (s ListMembersInput) String() string {
26833	return awsutil.Prettify(s)
26834}
26835
26836// GoString returns the string representation
26837func (s ListMembersInput) GoString() string {
26838	return s.String()
26839}
26840
26841// Validate inspects the fields of the type to determine if they are valid.
26842func (s *ListMembersInput) Validate() error {
26843	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
26844	if s.MaxResults != nil && *s.MaxResults < 1 {
26845		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26846	}
26847
26848	if invalidParams.Len() > 0 {
26849		return invalidParams
26850	}
26851	return nil
26852}
26853
26854// SetMaxResults sets the MaxResults field's value.
26855func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
26856	s.MaxResults = &v
26857	return s
26858}
26859
26860// SetNextToken sets the NextToken field's value.
26861func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
26862	s.NextToken = &v
26863	return s
26864}
26865
26866// SetOnlyAssociated sets the OnlyAssociated field's value.
26867func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
26868	s.OnlyAssociated = &v
26869	return s
26870}
26871
26872type ListMembersOutput struct {
26873	_ struct{} `type:"structure"`
26874
26875	// Member details returned by the operation.
26876	Members []*Member `type:"list"`
26877
26878	// The pagination token to use to request the next page of results.
26879	NextToken *string `type:"string"`
26880}
26881
26882// String returns the string representation
26883func (s ListMembersOutput) String() string {
26884	return awsutil.Prettify(s)
26885}
26886
26887// GoString returns the string representation
26888func (s ListMembersOutput) GoString() string {
26889	return s.String()
26890}
26891
26892// SetMembers sets the Members field's value.
26893func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
26894	s.Members = v
26895	return s
26896}
26897
26898// SetNextToken sets the NextToken field's value.
26899func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
26900	s.NextToken = &v
26901	return s
26902}
26903
26904type ListOrganizationAdminAccountsInput struct {
26905	_ struct{} `type:"structure"`
26906
26907	// The maximum number of items to return in the response.
26908	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
26909
26910	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
26911	// operation, set the value of this parameter to NULL. For subsequent calls
26912	// to the operation, to continue listing data, set the value of this parameter
26913	// to the value returned from the previous response.
26914	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
26915}
26916
26917// String returns the string representation
26918func (s ListOrganizationAdminAccountsInput) String() string {
26919	return awsutil.Prettify(s)
26920}
26921
26922// GoString returns the string representation
26923func (s ListOrganizationAdminAccountsInput) GoString() string {
26924	return s.String()
26925}
26926
26927// Validate inspects the fields of the type to determine if they are valid.
26928func (s *ListOrganizationAdminAccountsInput) Validate() error {
26929	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
26930	if s.MaxResults != nil && *s.MaxResults < 1 {
26931		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26932	}
26933
26934	if invalidParams.Len() > 0 {
26935		return invalidParams
26936	}
26937	return nil
26938}
26939
26940// SetMaxResults sets the MaxResults field's value.
26941func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
26942	s.MaxResults = &v
26943	return s
26944}
26945
26946// SetNextToken sets the NextToken field's value.
26947func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
26948	s.NextToken = &v
26949	return s
26950}
26951
26952type ListOrganizationAdminAccountsOutput struct {
26953	_ struct{} `type:"structure"`
26954
26955	// The list of Security Hub administrator accounts.
26956	AdminAccounts []*AdminAccount `type:"list"`
26957
26958	// The pagination token to use to request the next page of results.
26959	NextToken *string `type:"string"`
26960}
26961
26962// String returns the string representation
26963func (s ListOrganizationAdminAccountsOutput) String() string {
26964	return awsutil.Prettify(s)
26965}
26966
26967// GoString returns the string representation
26968func (s ListOrganizationAdminAccountsOutput) GoString() string {
26969	return s.String()
26970}
26971
26972// SetAdminAccounts sets the AdminAccounts field's value.
26973func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
26974	s.AdminAccounts = v
26975	return s
26976}
26977
26978// SetNextToken sets the NextToken field's value.
26979func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
26980	s.NextToken = &v
26981	return s
26982}
26983
26984type ListTagsForResourceInput struct {
26985	_ struct{} `type:"structure"`
26986
26987	// The ARN of the resource to retrieve tags for.
26988	//
26989	// ResourceArn is a required field
26990	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
26991}
26992
26993// String returns the string representation
26994func (s ListTagsForResourceInput) String() string {
26995	return awsutil.Prettify(s)
26996}
26997
26998// GoString returns the string representation
26999func (s ListTagsForResourceInput) GoString() string {
27000	return s.String()
27001}
27002
27003// Validate inspects the fields of the type to determine if they are valid.
27004func (s *ListTagsForResourceInput) Validate() error {
27005	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
27006	if s.ResourceArn == nil {
27007		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
27008	}
27009	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
27010		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
27011	}
27012
27013	if invalidParams.Len() > 0 {
27014		return invalidParams
27015	}
27016	return nil
27017}
27018
27019// SetResourceArn sets the ResourceArn field's value.
27020func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
27021	s.ResourceArn = &v
27022	return s
27023}
27024
27025type ListTagsForResourceOutput struct {
27026	_ struct{} `type:"structure"`
27027
27028	// The tags associated with a resource.
27029	Tags map[string]*string `min:"1" type:"map"`
27030}
27031
27032// String returns the string representation
27033func (s ListTagsForResourceOutput) String() string {
27034	return awsutil.Prettify(s)
27035}
27036
27037// GoString returns the string representation
27038func (s ListTagsForResourceOutput) GoString() string {
27039	return s.String()
27040}
27041
27042// SetTags sets the Tags field's value.
27043func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
27044	s.Tags = v
27045	return s
27046}
27047
27048// Information about the state of the load balancer.
27049type LoadBalancerState struct {
27050	_ struct{} `type:"structure"`
27051
27052	// The state code. The initial state of the load balancer is provisioning.
27053	//
27054	// After the load balancer is fully set up and ready to route traffic, its state
27055	// is active.
27056	//
27057	// If the load balancer could not be set up, its state is failed.
27058	Code *string `type:"string"`
27059
27060	// A description of the state.
27061	Reason *string `type:"string"`
27062}
27063
27064// String returns the string representation
27065func (s LoadBalancerState) String() string {
27066	return awsutil.Prettify(s)
27067}
27068
27069// GoString returns the string representation
27070func (s LoadBalancerState) GoString() string {
27071	return s.String()
27072}
27073
27074// SetCode sets the Code field's value.
27075func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
27076	s.Code = &v
27077	return s
27078}
27079
27080// SetReason sets the Reason field's value.
27081func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
27082	s.Reason = &v
27083	return s
27084}
27085
27086// A list of malware related to a finding.
27087type Malware struct {
27088	_ struct{} `type:"structure"`
27089
27090	// The name of the malware that was observed.
27091	//
27092	// Name is a required field
27093	Name *string `type:"string" required:"true"`
27094
27095	// The file system path of the malware that was observed.
27096	Path *string `type:"string"`
27097
27098	// The state of the malware that was observed.
27099	State *string `type:"string" enum:"MalwareState"`
27100
27101	// The type of the malware that was observed.
27102	Type *string `type:"string" enum:"MalwareType"`
27103}
27104
27105// String returns the string representation
27106func (s Malware) String() string {
27107	return awsutil.Prettify(s)
27108}
27109
27110// GoString returns the string representation
27111func (s Malware) GoString() string {
27112	return s.String()
27113}
27114
27115// Validate inspects the fields of the type to determine if they are valid.
27116func (s *Malware) Validate() error {
27117	invalidParams := request.ErrInvalidParams{Context: "Malware"}
27118	if s.Name == nil {
27119		invalidParams.Add(request.NewErrParamRequired("Name"))
27120	}
27121
27122	if invalidParams.Len() > 0 {
27123		return invalidParams
27124	}
27125	return nil
27126}
27127
27128// SetName sets the Name field's value.
27129func (s *Malware) SetName(v string) *Malware {
27130	s.Name = &v
27131	return s
27132}
27133
27134// SetPath sets the Path field's value.
27135func (s *Malware) SetPath(v string) *Malware {
27136	s.Path = &v
27137	return s
27138}
27139
27140// SetState sets the State field's value.
27141func (s *Malware) SetState(v string) *Malware {
27142	s.State = &v
27143	return s
27144}
27145
27146// SetType sets the Type field's value.
27147func (s *Malware) SetType(v string) *Malware {
27148	s.Type = &v
27149	return s
27150}
27151
27152// A map filter for querying findings. Each map filter provides the field to
27153// check, the value to look for, and the comparison operator.
27154type MapFilter struct {
27155	_ struct{} `type:"structure"`
27156
27157	// The condition to apply to the key value when querying for findings with a
27158	// map filter.
27159	//
27160	// To search for values that exactly match the filter value, use EQUALS. For
27161	// example, for the ResourceTags field, the filter Department EQUALS Security
27162	// matches findings that have the value Security for the tag Department.
27163	//
27164	// To search for values other than the filter value, use NOT_EQUALS. For example,
27165	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
27166	// findings that do not have the value Finance for the tag Department.
27167	//
27168	// EQUALS filters on the same field are joined by OR. A finding matches if it
27169	// matches any one of those filters.
27170	//
27171	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
27172	// only if it matches all of those filters.
27173	//
27174	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
27175	// field.
27176	Comparison *string `type:"string" enum:"MapFilterComparison"`
27177
27178	// The key of the map filter. For example, for ResourceTags, Key identifies
27179	// the name of the tag. For UserDefinedFields, Key is the name of the field.
27180	Key *string `type:"string"`
27181
27182	// The value for the key in the map filter. Filter values are case sensitive.
27183	// For example, one of the values for a tag called Department might be Security.
27184	// If you provide security as the filter value, then there is no match.
27185	Value *string `type:"string"`
27186}
27187
27188// String returns the string representation
27189func (s MapFilter) String() string {
27190	return awsutil.Prettify(s)
27191}
27192
27193// GoString returns the string representation
27194func (s MapFilter) GoString() string {
27195	return s.String()
27196}
27197
27198// SetComparison sets the Comparison field's value.
27199func (s *MapFilter) SetComparison(v string) *MapFilter {
27200	s.Comparison = &v
27201	return s
27202}
27203
27204// SetKey sets the Key field's value.
27205func (s *MapFilter) SetKey(v string) *MapFilter {
27206	s.Key = &v
27207	return s
27208}
27209
27210// SetValue sets the Value field's value.
27211func (s *MapFilter) SetValue(v string) *MapFilter {
27212	s.Value = &v
27213	return s
27214}
27215
27216// The details about a member account.
27217type Member struct {
27218	_ struct{} `type:"structure"`
27219
27220	// The AWS account ID of the member account.
27221	AccountId *string `type:"string"`
27222
27223	// The AWS account ID of the Security Hub administrator account associated with
27224	// this member account.
27225	AdministratorId *string `type:"string"`
27226
27227	// The email address of the member account.
27228	Email *string `type:"string"`
27229
27230	// A timestamp for the date and time when the invitation was sent to the member
27231	// account.
27232	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
27233
27234	// This is replaced by AdministratorID.
27235	//
27236	// The AWS account ID of the Security Hub administrator account associated with
27237	// this member account.
27238	//
27239	// Deprecated: This field is deprecated, use AdministratorId instead.
27240	MasterId *string `deprecated:"true" type:"string"`
27241
27242	// The status of the relationship between the member account and its administrator
27243	// account.
27244	//
27245	// The status can have one of the following values:
27246	//
27247	//    * CREATED - Indicates that the administrator account added the member
27248	//    account, but has not yet invited the member account.
27249	//
27250	//    * INVITED - Indicates that the administrator account invited the member
27251	//    account. The member account has not yet responded to the invitation.
27252	//
27253	//    * ENABLED - Indicates that the member account is currently active. For
27254	//    manually invited member accounts, indicates that the member account accepted
27255	//    the invitation.
27256	//
27257	//    * REMOVED - Indicates that the administrator account disassociated the
27258	//    member account.
27259	//
27260	//    * RESIGNED - Indicates that the member account disassociated themselves
27261	//    from the administrator account.
27262	//
27263	//    * DELETED - Indicates that the administrator account deleted the member
27264	//    account.
27265	MemberStatus *string `type:"string"`
27266
27267	// The timestamp for the date and time when the member account was updated.
27268	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
27269}
27270
27271// String returns the string representation
27272func (s Member) String() string {
27273	return awsutil.Prettify(s)
27274}
27275
27276// GoString returns the string representation
27277func (s Member) GoString() string {
27278	return s.String()
27279}
27280
27281// SetAccountId sets the AccountId field's value.
27282func (s *Member) SetAccountId(v string) *Member {
27283	s.AccountId = &v
27284	return s
27285}
27286
27287// SetAdministratorId sets the AdministratorId field's value.
27288func (s *Member) SetAdministratorId(v string) *Member {
27289	s.AdministratorId = &v
27290	return s
27291}
27292
27293// SetEmail sets the Email field's value.
27294func (s *Member) SetEmail(v string) *Member {
27295	s.Email = &v
27296	return s
27297}
27298
27299// SetInvitedAt sets the InvitedAt field's value.
27300func (s *Member) SetInvitedAt(v time.Time) *Member {
27301	s.InvitedAt = &v
27302	return s
27303}
27304
27305// SetMasterId sets the MasterId field's value.
27306func (s *Member) SetMasterId(v string) *Member {
27307	s.MasterId = &v
27308	return s
27309}
27310
27311// SetMemberStatus sets the MemberStatus field's value.
27312func (s *Member) SetMemberStatus(v string) *Member {
27313	s.MemberStatus = &v
27314	return s
27315}
27316
27317// SetUpdatedAt sets the UpdatedAt field's value.
27318func (s *Member) SetUpdatedAt(v time.Time) *Member {
27319	s.UpdatedAt = &v
27320	return s
27321}
27322
27323// The details of network-related information about a finding.
27324type Network struct {
27325	_ struct{} `type:"structure"`
27326
27327	// The destination domain of network-related information about a finding.
27328	DestinationDomain *string `type:"string"`
27329
27330	// The destination IPv4 address of network-related information about a finding.
27331	DestinationIpV4 *string `type:"string"`
27332
27333	// The destination IPv6 address of network-related information about a finding.
27334	DestinationIpV6 *string `type:"string"`
27335
27336	// The destination port of network-related information about a finding.
27337	DestinationPort *int64 `type:"integer"`
27338
27339	// The direction of network traffic associated with a finding.
27340	Direction *string `type:"string" enum:"NetworkDirection"`
27341
27342	// The range of open ports that is present on the network.
27343	OpenPortRange *PortRange `type:"structure"`
27344
27345	// The protocol of network-related information about a finding.
27346	Protocol *string `type:"string"`
27347
27348	// The source domain of network-related information about a finding.
27349	SourceDomain *string `type:"string"`
27350
27351	// The source IPv4 address of network-related information about a finding.
27352	SourceIpV4 *string `type:"string"`
27353
27354	// The source IPv6 address of network-related information about a finding.
27355	SourceIpV6 *string `type:"string"`
27356
27357	// The source media access control (MAC) address of network-related information
27358	// about a finding.
27359	SourceMac *string `type:"string"`
27360
27361	// The source port of network-related information about a finding.
27362	SourcePort *int64 `type:"integer"`
27363}
27364
27365// String returns the string representation
27366func (s Network) String() string {
27367	return awsutil.Prettify(s)
27368}
27369
27370// GoString returns the string representation
27371func (s Network) GoString() string {
27372	return s.String()
27373}
27374
27375// SetDestinationDomain sets the DestinationDomain field's value.
27376func (s *Network) SetDestinationDomain(v string) *Network {
27377	s.DestinationDomain = &v
27378	return s
27379}
27380
27381// SetDestinationIpV4 sets the DestinationIpV4 field's value.
27382func (s *Network) SetDestinationIpV4(v string) *Network {
27383	s.DestinationIpV4 = &v
27384	return s
27385}
27386
27387// SetDestinationIpV6 sets the DestinationIpV6 field's value.
27388func (s *Network) SetDestinationIpV6(v string) *Network {
27389	s.DestinationIpV6 = &v
27390	return s
27391}
27392
27393// SetDestinationPort sets the DestinationPort field's value.
27394func (s *Network) SetDestinationPort(v int64) *Network {
27395	s.DestinationPort = &v
27396	return s
27397}
27398
27399// SetDirection sets the Direction field's value.
27400func (s *Network) SetDirection(v string) *Network {
27401	s.Direction = &v
27402	return s
27403}
27404
27405// SetOpenPortRange sets the OpenPortRange field's value.
27406func (s *Network) SetOpenPortRange(v *PortRange) *Network {
27407	s.OpenPortRange = v
27408	return s
27409}
27410
27411// SetProtocol sets the Protocol field's value.
27412func (s *Network) SetProtocol(v string) *Network {
27413	s.Protocol = &v
27414	return s
27415}
27416
27417// SetSourceDomain sets the SourceDomain field's value.
27418func (s *Network) SetSourceDomain(v string) *Network {
27419	s.SourceDomain = &v
27420	return s
27421}
27422
27423// SetSourceIpV4 sets the SourceIpV4 field's value.
27424func (s *Network) SetSourceIpV4(v string) *Network {
27425	s.SourceIpV4 = &v
27426	return s
27427}
27428
27429// SetSourceIpV6 sets the SourceIpV6 field's value.
27430func (s *Network) SetSourceIpV6(v string) *Network {
27431	s.SourceIpV6 = &v
27432	return s
27433}
27434
27435// SetSourceMac sets the SourceMac field's value.
27436func (s *Network) SetSourceMac(v string) *Network {
27437	s.SourceMac = &v
27438	return s
27439}
27440
27441// SetSourcePort sets the SourcePort field's value.
27442func (s *Network) SetSourcePort(v int64) *Network {
27443	s.SourcePort = &v
27444	return s
27445}
27446
27447// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
27448// attempted network connection that was detected.
27449type NetworkConnectionAction struct {
27450	_ struct{} `type:"structure"`
27451
27452	// Indicates whether the network connection attempt was blocked.
27453	Blocked *bool `type:"boolean"`
27454
27455	// The direction of the network connection request (IN or OUT).
27456	ConnectionDirection *string `type:"string"`
27457
27458	// Information about the port on the EC2 instance.
27459	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
27460
27461	// The protocol used to make the network connection request.
27462	Protocol *string `type:"string"`
27463
27464	// Information about the remote IP address that issued the network connection
27465	// request.
27466	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
27467
27468	// Information about the port on the remote IP address.
27469	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
27470}
27471
27472// String returns the string representation
27473func (s NetworkConnectionAction) String() string {
27474	return awsutil.Prettify(s)
27475}
27476
27477// GoString returns the string representation
27478func (s NetworkConnectionAction) GoString() string {
27479	return s.String()
27480}
27481
27482// SetBlocked sets the Blocked field's value.
27483func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
27484	s.Blocked = &v
27485	return s
27486}
27487
27488// SetConnectionDirection sets the ConnectionDirection field's value.
27489func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
27490	s.ConnectionDirection = &v
27491	return s
27492}
27493
27494// SetLocalPortDetails sets the LocalPortDetails field's value.
27495func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
27496	s.LocalPortDetails = v
27497	return s
27498}
27499
27500// SetProtocol sets the Protocol field's value.
27501func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
27502	s.Protocol = &v
27503	return s
27504}
27505
27506// SetRemoteIpDetails sets the RemoteIpDetails field's value.
27507func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
27508	s.RemoteIpDetails = v
27509	return s
27510}
27511
27512// SetRemotePortDetails sets the RemotePortDetails field's value.
27513func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
27514	s.RemotePortDetails = v
27515	return s
27516}
27517
27518// Details about a network path component that occurs before or after the current
27519// component.
27520type NetworkHeader struct {
27521	_ struct{} `type:"structure"`
27522
27523	// Information about the destination of the component.
27524	Destination *NetworkPathComponentDetails `type:"structure"`
27525
27526	// The protocol used for the component.
27527	Protocol *string `type:"string"`
27528
27529	// Information about the origin of the component.
27530	Source *NetworkPathComponentDetails `type:"structure"`
27531}
27532
27533// String returns the string representation
27534func (s NetworkHeader) String() string {
27535	return awsutil.Prettify(s)
27536}
27537
27538// GoString returns the string representation
27539func (s NetworkHeader) GoString() string {
27540	return s.String()
27541}
27542
27543// SetDestination sets the Destination field's value.
27544func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
27545	s.Destination = v
27546	return s
27547}
27548
27549// SetProtocol sets the Protocol field's value.
27550func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
27551	s.Protocol = &v
27552	return s
27553}
27554
27555// SetSource sets the Source field's value.
27556func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
27557	s.Source = v
27558	return s
27559}
27560
27561// Information about a network path component.
27562type NetworkPathComponent struct {
27563	_ struct{} `type:"structure"`
27564
27565	// The identifier of a component in the network path.
27566	ComponentId *string `type:"string"`
27567
27568	// The type of component.
27569	ComponentType *string `type:"string"`
27570
27571	// Information about the component that comes after the current component in
27572	// the network path.
27573	Egress *NetworkHeader `type:"structure"`
27574
27575	// Information about the component that comes before the current node in the
27576	// network path.
27577	Ingress *NetworkHeader `type:"structure"`
27578}
27579
27580// String returns the string representation
27581func (s NetworkPathComponent) String() string {
27582	return awsutil.Prettify(s)
27583}
27584
27585// GoString returns the string representation
27586func (s NetworkPathComponent) GoString() string {
27587	return s.String()
27588}
27589
27590// SetComponentId sets the ComponentId field's value.
27591func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
27592	s.ComponentId = &v
27593	return s
27594}
27595
27596// SetComponentType sets the ComponentType field's value.
27597func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
27598	s.ComponentType = &v
27599	return s
27600}
27601
27602// SetEgress sets the Egress field's value.
27603func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
27604	s.Egress = v
27605	return s
27606}
27607
27608// SetIngress sets the Ingress field's value.
27609func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
27610	s.Ingress = v
27611	return s
27612}
27613
27614// Information about the destination of the next component in the network path.
27615type NetworkPathComponentDetails struct {
27616	_ struct{} `type:"structure"`
27617
27618	// The IP addresses of the destination.
27619	Address []*string `type:"list"`
27620
27621	// A list of port ranges for the destination.
27622	PortRanges []*PortRange `type:"list"`
27623}
27624
27625// String returns the string representation
27626func (s NetworkPathComponentDetails) String() string {
27627	return awsutil.Prettify(s)
27628}
27629
27630// GoString returns the string representation
27631func (s NetworkPathComponentDetails) GoString() string {
27632	return s.String()
27633}
27634
27635// SetAddress sets the Address field's value.
27636func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
27637	s.Address = v
27638	return s
27639}
27640
27641// SetPortRanges sets the PortRanges field's value.
27642func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
27643	s.PortRanges = v
27644	return s
27645}
27646
27647// A user-defined note added to a finding.
27648type Note struct {
27649	_ struct{} `type:"structure"`
27650
27651	// The text of a note.
27652	//
27653	// Text is a required field
27654	Text *string `type:"string" required:"true"`
27655
27656	// The timestamp of when the note was updated.
27657	//
27658	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27659	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27660	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27661	//
27662	// UpdatedAt is a required field
27663	UpdatedAt *string `type:"string" required:"true"`
27664
27665	// The principal that created a note.
27666	//
27667	// UpdatedBy is a required field
27668	UpdatedBy *string `type:"string" required:"true"`
27669}
27670
27671// String returns the string representation
27672func (s Note) String() string {
27673	return awsutil.Prettify(s)
27674}
27675
27676// GoString returns the string representation
27677func (s Note) GoString() string {
27678	return s.String()
27679}
27680
27681// Validate inspects the fields of the type to determine if they are valid.
27682func (s *Note) Validate() error {
27683	invalidParams := request.ErrInvalidParams{Context: "Note"}
27684	if s.Text == nil {
27685		invalidParams.Add(request.NewErrParamRequired("Text"))
27686	}
27687	if s.UpdatedAt == nil {
27688		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
27689	}
27690	if s.UpdatedBy == nil {
27691		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
27692	}
27693
27694	if invalidParams.Len() > 0 {
27695		return invalidParams
27696	}
27697	return nil
27698}
27699
27700// SetText sets the Text field's value.
27701func (s *Note) SetText(v string) *Note {
27702	s.Text = &v
27703	return s
27704}
27705
27706// SetUpdatedAt sets the UpdatedAt field's value.
27707func (s *Note) SetUpdatedAt(v string) *Note {
27708	s.UpdatedAt = &v
27709	return s
27710}
27711
27712// SetUpdatedBy sets the UpdatedBy field's value.
27713func (s *Note) SetUpdatedBy(v string) *Note {
27714	s.UpdatedBy = &v
27715	return s
27716}
27717
27718// The updated note.
27719type NoteUpdate struct {
27720	_ struct{} `type:"structure"`
27721
27722	// The updated note text.
27723	//
27724	// Text is a required field
27725	Text *string `type:"string" required:"true"`
27726
27727	// The principal that updated the note.
27728	//
27729	// UpdatedBy is a required field
27730	UpdatedBy *string `type:"string" required:"true"`
27731}
27732
27733// String returns the string representation
27734func (s NoteUpdate) String() string {
27735	return awsutil.Prettify(s)
27736}
27737
27738// GoString returns the string representation
27739func (s NoteUpdate) GoString() string {
27740	return s.String()
27741}
27742
27743// Validate inspects the fields of the type to determine if they are valid.
27744func (s *NoteUpdate) Validate() error {
27745	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
27746	if s.Text == nil {
27747		invalidParams.Add(request.NewErrParamRequired("Text"))
27748	}
27749	if s.UpdatedBy == nil {
27750		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
27751	}
27752
27753	if invalidParams.Len() > 0 {
27754		return invalidParams
27755	}
27756	return nil
27757}
27758
27759// SetText sets the Text field's value.
27760func (s *NoteUpdate) SetText(v string) *NoteUpdate {
27761	s.Text = &v
27762	return s
27763}
27764
27765// SetUpdatedBy sets the UpdatedBy field's value.
27766func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
27767	s.UpdatedBy = &v
27768	return s
27769}
27770
27771// A number filter for querying findings.
27772type NumberFilter struct {
27773	_ struct{} `type:"structure"`
27774
27775	// The equal-to condition to be applied to a single field when querying for
27776	// findings.
27777	Eq *float64 `type:"double"`
27778
27779	// The greater-than-equal condition to be applied to a single field when querying
27780	// for findings.
27781	Gte *float64 `type:"double"`
27782
27783	// The less-than-equal condition to be applied to a single field when querying
27784	// for findings.
27785	Lte *float64 `type:"double"`
27786}
27787
27788// String returns the string representation
27789func (s NumberFilter) String() string {
27790	return awsutil.Prettify(s)
27791}
27792
27793// GoString returns the string representation
27794func (s NumberFilter) GoString() string {
27795	return s.String()
27796}
27797
27798// SetEq sets the Eq field's value.
27799func (s *NumberFilter) SetEq(v float64) *NumberFilter {
27800	s.Eq = &v
27801	return s
27802}
27803
27804// SetGte sets the Gte field's value.
27805func (s *NumberFilter) SetGte(v float64) *NumberFilter {
27806	s.Gte = &v
27807	return s
27808}
27809
27810// SetLte sets the Lte field's value.
27811func (s *NumberFilter) SetLte(v float64) *NumberFilter {
27812	s.Lte = &v
27813	return s
27814}
27815
27816// The detected occurrences of sensitive data.
27817type Occurrences struct {
27818	_ struct{} `type:"structure"`
27819
27820	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
27821	// value (CSV) files, or tab-separated value (TSV) files.
27822	Cells []*Cell `type:"list"`
27823
27824	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
27825	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
27826	// TXT files.
27827	LineRanges []*Range `type:"list"`
27828
27829	// Occurrences of sensitive data detected in a binary text file.
27830	OffsetRanges []*Range `type:"list"`
27831
27832	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
27833	// file.
27834	Pages []*Page `type:"list"`
27835
27836	// Occurrences of sensitive data in an Apache Avro object container or an Apache
27837	// Parquet file.
27838	Records []*Record `type:"list"`
27839}
27840
27841// String returns the string representation
27842func (s Occurrences) String() string {
27843	return awsutil.Prettify(s)
27844}
27845
27846// GoString returns the string representation
27847func (s Occurrences) GoString() string {
27848	return s.String()
27849}
27850
27851// SetCells sets the Cells field's value.
27852func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
27853	s.Cells = v
27854	return s
27855}
27856
27857// SetLineRanges sets the LineRanges field's value.
27858func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
27859	s.LineRanges = v
27860	return s
27861}
27862
27863// SetOffsetRanges sets the OffsetRanges field's value.
27864func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
27865	s.OffsetRanges = v
27866	return s
27867}
27868
27869// SetPages sets the Pages field's value.
27870func (s *Occurrences) SetPages(v []*Page) *Occurrences {
27871	s.Pages = v
27872	return s
27873}
27874
27875// SetRecords sets the Records field's value.
27876func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
27877	s.Records = v
27878	return s
27879}
27880
27881// An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
27882// file.
27883type Page struct {
27884	_ struct{} `type:"structure"`
27885
27886	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
27887	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
27888	// TXT files.
27889	LineRange *Range `type:"structure"`
27890
27891	// An occurrence of sensitive data detected in a binary text file.
27892	OffsetRange *Range `type:"structure"`
27893
27894	// The page number of the page that contains the sensitive data.
27895	PageNumber *int64 `type:"long"`
27896}
27897
27898// String returns the string representation
27899func (s Page) String() string {
27900	return awsutil.Prettify(s)
27901}
27902
27903// GoString returns the string representation
27904func (s Page) GoString() string {
27905	return s.String()
27906}
27907
27908// SetLineRange sets the LineRange field's value.
27909func (s *Page) SetLineRange(v *Range) *Page {
27910	s.LineRange = v
27911	return s
27912}
27913
27914// SetOffsetRange sets the OffsetRange field's value.
27915func (s *Page) SetOffsetRange(v *Range) *Page {
27916	s.OffsetRange = v
27917	return s
27918}
27919
27920// SetPageNumber sets the PageNumber field's value.
27921func (s *Page) SetPageNumber(v int64) *Page {
27922	s.PageNumber = &v
27923	return s
27924}
27925
27926// Provides an overview of the patch compliance status for an instance against
27927// a selected compliance standard.
27928type PatchSummary struct {
27929	_ struct{} `type:"structure"`
27930
27931	// The number of patches from the compliance standard that failed to install.
27932	FailedCount *int64 `type:"integer"`
27933
27934	// The identifier of the compliance standard that was used to determine the
27935	// patch compliance status.
27936	//
27937	// Id is a required field
27938	Id *string `type:"string" required:"true"`
27939
27940	// The number of patches from the compliance standard that were installed successfully.
27941	InstalledCount *int64 `type:"integer"`
27942
27943	// The number of installed patches that are not part of the compliance standard.
27944	InstalledOtherCount *int64 `type:"integer"`
27945
27946	// The number of patches that were applied, but that require the instance to
27947	// be rebooted in order to be marked as installed.
27948	InstalledPendingReboot *int64 `type:"integer"`
27949
27950	// The number of patches that are installed but are also on a list of patches
27951	// that the customer rejected.
27952	InstalledRejectedCount *int64 `type:"integer"`
27953
27954	// The number of patches that are part of the compliance standard but are not
27955	// installed. The count includes patches that failed to install.
27956	MissingCount *int64 `type:"integer"`
27957
27958	// The type of patch operation performed. For Patch Manager, the values are
27959	// SCAN and INSTALL.
27960	Operation *string `type:"string"`
27961
27962	// Indicates when the operation completed.
27963	//
27964	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27965	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27966	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27967	OperationEndTime *string `type:"string"`
27968
27969	// Indicates when the operation started.
27970	//
27971	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27972	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27973	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27974	OperationStartTime *string `type:"string"`
27975
27976	// The reboot option specified for the instance.
27977	RebootOption *string `type:"string"`
27978}
27979
27980// String returns the string representation
27981func (s PatchSummary) String() string {
27982	return awsutil.Prettify(s)
27983}
27984
27985// GoString returns the string representation
27986func (s PatchSummary) GoString() string {
27987	return s.String()
27988}
27989
27990// Validate inspects the fields of the type to determine if they are valid.
27991func (s *PatchSummary) Validate() error {
27992	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
27993	if s.Id == nil {
27994		invalidParams.Add(request.NewErrParamRequired("Id"))
27995	}
27996
27997	if invalidParams.Len() > 0 {
27998		return invalidParams
27999	}
28000	return nil
28001}
28002
28003// SetFailedCount sets the FailedCount field's value.
28004func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
28005	s.FailedCount = &v
28006	return s
28007}
28008
28009// SetId sets the Id field's value.
28010func (s *PatchSummary) SetId(v string) *PatchSummary {
28011	s.Id = &v
28012	return s
28013}
28014
28015// SetInstalledCount sets the InstalledCount field's value.
28016func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
28017	s.InstalledCount = &v
28018	return s
28019}
28020
28021// SetInstalledOtherCount sets the InstalledOtherCount field's value.
28022func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
28023	s.InstalledOtherCount = &v
28024	return s
28025}
28026
28027// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
28028func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
28029	s.InstalledPendingReboot = &v
28030	return s
28031}
28032
28033// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
28034func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
28035	s.InstalledRejectedCount = &v
28036	return s
28037}
28038
28039// SetMissingCount sets the MissingCount field's value.
28040func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
28041	s.MissingCount = &v
28042	return s
28043}
28044
28045// SetOperation sets the Operation field's value.
28046func (s *PatchSummary) SetOperation(v string) *PatchSummary {
28047	s.Operation = &v
28048	return s
28049}
28050
28051// SetOperationEndTime sets the OperationEndTime field's value.
28052func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
28053	s.OperationEndTime = &v
28054	return s
28055}
28056
28057// SetOperationStartTime sets the OperationStartTime field's value.
28058func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
28059	s.OperationStartTime = &v
28060	return s
28061}
28062
28063// SetRebootOption sets the RebootOption field's value.
28064func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
28065	s.RebootOption = &v
28066	return s
28067}
28068
28069// Provided if ActionType is PORT_PROBE. It provides details about the attempted
28070// port probe that was detected.
28071type PortProbeAction struct {
28072	_ struct{} `type:"structure"`
28073
28074	// Indicates whether the port probe was blocked.
28075	Blocked *bool `type:"boolean"`
28076
28077	// Information about the ports affected by the port probe.
28078	PortProbeDetails []*PortProbeDetail `type:"list"`
28079}
28080
28081// String returns the string representation
28082func (s PortProbeAction) String() string {
28083	return awsutil.Prettify(s)
28084}
28085
28086// GoString returns the string representation
28087func (s PortProbeAction) GoString() string {
28088	return s.String()
28089}
28090
28091// SetBlocked sets the Blocked field's value.
28092func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
28093	s.Blocked = &v
28094	return s
28095}
28096
28097// SetPortProbeDetails sets the PortProbeDetails field's value.
28098func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
28099	s.PortProbeDetails = v
28100	return s
28101}
28102
28103// A port scan that was part of the port probe. For each scan, PortProbeDetails
28104// provides information about the local IP address and port that were scanned,
28105// and the remote IP address that the scan originated from.
28106type PortProbeDetail struct {
28107	_ struct{} `type:"structure"`
28108
28109	// Provides information about the IP address where the scanned port is located.
28110	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
28111
28112	// Provides information about the port that was scanned.
28113	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
28114
28115	// Provides information about the remote IP address that performed the scan.
28116	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
28117}
28118
28119// String returns the string representation
28120func (s PortProbeDetail) String() string {
28121	return awsutil.Prettify(s)
28122}
28123
28124// GoString returns the string representation
28125func (s PortProbeDetail) GoString() string {
28126	return s.String()
28127}
28128
28129// SetLocalIpDetails sets the LocalIpDetails field's value.
28130func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
28131	s.LocalIpDetails = v
28132	return s
28133}
28134
28135// SetLocalPortDetails sets the LocalPortDetails field's value.
28136func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
28137	s.LocalPortDetails = v
28138	return s
28139}
28140
28141// SetRemoteIpDetails sets the RemoteIpDetails field's value.
28142func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
28143	s.RemoteIpDetails = v
28144	return s
28145}
28146
28147// A range of ports.
28148type PortRange struct {
28149	_ struct{} `type:"structure"`
28150
28151	// The first port in the port range.
28152	Begin *int64 `type:"integer"`
28153
28154	// The last port in the port range.
28155	End *int64 `type:"integer"`
28156}
28157
28158// String returns the string representation
28159func (s PortRange) String() string {
28160	return awsutil.Prettify(s)
28161}
28162
28163// GoString returns the string representation
28164func (s PortRange) GoString() string {
28165	return s.String()
28166}
28167
28168// SetBegin sets the Begin field's value.
28169func (s *PortRange) SetBegin(v int64) *PortRange {
28170	s.Begin = &v
28171	return s
28172}
28173
28174// SetEnd sets the End field's value.
28175func (s *PortRange) SetEnd(v int64) *PortRange {
28176	s.End = &v
28177	return s
28178}
28179
28180// A range of ports.
28181type PortRangeFromTo struct {
28182	_ struct{} `type:"structure"`
28183
28184	// The first port in the port range.
28185	From *int64 `type:"integer"`
28186
28187	// The last port in the port range.
28188	To *int64 `type:"integer"`
28189}
28190
28191// String returns the string representation
28192func (s PortRangeFromTo) String() string {
28193	return awsutil.Prettify(s)
28194}
28195
28196// GoString returns the string representation
28197func (s PortRangeFromTo) GoString() string {
28198	return s.String()
28199}
28200
28201// SetFrom sets the From field's value.
28202func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
28203	s.From = &v
28204	return s
28205}
28206
28207// SetTo sets the To field's value.
28208func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
28209	s.To = &v
28210	return s
28211}
28212
28213// The details of process-related information about a finding.
28214type ProcessDetails struct {
28215	_ struct{} `type:"structure"`
28216
28217	// Indicates when the process was launched.
28218	//
28219	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
28220	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
28221	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
28222	LaunchedAt *string `type:"string"`
28223
28224	// The name of the process.
28225	Name *string `type:"string"`
28226
28227	// The parent process ID.
28228	ParentPid *int64 `type:"integer"`
28229
28230	// The path to the process executable.
28231	Path *string `type:"string"`
28232
28233	// The process ID.
28234	Pid *int64 `type:"integer"`
28235
28236	// Indicates when the process was terminated.
28237	//
28238	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
28239	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
28240	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
28241	TerminatedAt *string `type:"string"`
28242}
28243
28244// String returns the string representation
28245func (s ProcessDetails) String() string {
28246	return awsutil.Prettify(s)
28247}
28248
28249// GoString returns the string representation
28250func (s ProcessDetails) GoString() string {
28251	return s.String()
28252}
28253
28254// SetLaunchedAt sets the LaunchedAt field's value.
28255func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
28256	s.LaunchedAt = &v
28257	return s
28258}
28259
28260// SetName sets the Name field's value.
28261func (s *ProcessDetails) SetName(v string) *ProcessDetails {
28262	s.Name = &v
28263	return s
28264}
28265
28266// SetParentPid sets the ParentPid field's value.
28267func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
28268	s.ParentPid = &v
28269	return s
28270}
28271
28272// SetPath sets the Path field's value.
28273func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
28274	s.Path = &v
28275	return s
28276}
28277
28278// SetPid sets the Pid field's value.
28279func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
28280	s.Pid = &v
28281	return s
28282}
28283
28284// SetTerminatedAt sets the TerminatedAt field's value.
28285func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
28286	s.TerminatedAt = &v
28287	return s
28288}
28289
28290// Contains details about a product.
28291type Product struct {
28292	_ struct{} `type:"structure"`
28293
28294	// The URL to the service or product documentation about the integration with
28295	// Security Hub, including how to activate the integration.
28296	ActivationUrl *string `type:"string"`
28297
28298	// The categories assigned to the product.
28299	Categories []*string `type:"list"`
28300
28301	// The name of the company that provides the product.
28302	CompanyName *string `type:"string"`
28303
28304	// A description of the product.
28305	Description *string `type:"string"`
28306
28307	// The types of integration that the product supports. Available values are
28308	// the following.
28309	//
28310	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
28311	//    Hub.
28312	//
28313	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
28314	//    from Security Hub.
28315	//
28316	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
28317	//    findings to Security Hub, but does make updates to the findings that it
28318	//    receives from Security Hub.
28319	IntegrationTypes []*string `type:"list"`
28320
28321	// For integrations with AWS services, the AWS Console URL from which to activate
28322	// the service.
28323	//
28324	// For integrations with third-party products, the AWS Marketplace URL from
28325	// which to subscribe to or purchase the product.
28326	MarketplaceUrl *string `type:"string"`
28327
28328	// The ARN assigned to the product.
28329	//
28330	// ProductArn is a required field
28331	ProductArn *string `type:"string" required:"true"`
28332
28333	// The name of the product.
28334	ProductName *string `type:"string"`
28335
28336	// The resource policy associated with the product.
28337	ProductSubscriptionResourcePolicy *string `type:"string"`
28338}
28339
28340// String returns the string representation
28341func (s Product) String() string {
28342	return awsutil.Prettify(s)
28343}
28344
28345// GoString returns the string representation
28346func (s Product) GoString() string {
28347	return s.String()
28348}
28349
28350// SetActivationUrl sets the ActivationUrl field's value.
28351func (s *Product) SetActivationUrl(v string) *Product {
28352	s.ActivationUrl = &v
28353	return s
28354}
28355
28356// SetCategories sets the Categories field's value.
28357func (s *Product) SetCategories(v []*string) *Product {
28358	s.Categories = v
28359	return s
28360}
28361
28362// SetCompanyName sets the CompanyName field's value.
28363func (s *Product) SetCompanyName(v string) *Product {
28364	s.CompanyName = &v
28365	return s
28366}
28367
28368// SetDescription sets the Description field's value.
28369func (s *Product) SetDescription(v string) *Product {
28370	s.Description = &v
28371	return s
28372}
28373
28374// SetIntegrationTypes sets the IntegrationTypes field's value.
28375func (s *Product) SetIntegrationTypes(v []*string) *Product {
28376	s.IntegrationTypes = v
28377	return s
28378}
28379
28380// SetMarketplaceUrl sets the MarketplaceUrl field's value.
28381func (s *Product) SetMarketplaceUrl(v string) *Product {
28382	s.MarketplaceUrl = &v
28383	return s
28384}
28385
28386// SetProductArn sets the ProductArn field's value.
28387func (s *Product) SetProductArn(v string) *Product {
28388	s.ProductArn = &v
28389	return s
28390}
28391
28392// SetProductName sets the ProductName field's value.
28393func (s *Product) SetProductName(v string) *Product {
28394	s.ProductName = &v
28395	return s
28396}
28397
28398// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
28399func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
28400	s.ProductSubscriptionResourcePolicy = &v
28401	return s
28402}
28403
28404// Identifies where the sensitive data begins and ends.
28405type Range struct {
28406	_ struct{} `type:"structure"`
28407
28408	// The number of lines (for a line range) or characters (for an offset range)
28409	// from the beginning of the file to the end of the sensitive data.
28410	End *int64 `type:"long"`
28411
28412	// The number of lines (for a line range) or characters (for an offset range)
28413	// from the beginning of the file to the end of the sensitive data.
28414	Start *int64 `type:"long"`
28415
28416	// In the line where the sensitive data starts, the column within the line where
28417	// the sensitive data starts.
28418	StartColumn *int64 `type:"long"`
28419}
28420
28421// String returns the string representation
28422func (s Range) String() string {
28423	return awsutil.Prettify(s)
28424}
28425
28426// GoString returns the string representation
28427func (s Range) GoString() string {
28428	return s.String()
28429}
28430
28431// SetEnd sets the End field's value.
28432func (s *Range) SetEnd(v int64) *Range {
28433	s.End = &v
28434	return s
28435}
28436
28437// SetStart sets the Start field's value.
28438func (s *Range) SetStart(v int64) *Range {
28439	s.Start = &v
28440	return s
28441}
28442
28443// SetStartColumn sets the StartColumn field's value.
28444func (s *Range) SetStartColumn(v int64) *Range {
28445	s.StartColumn = &v
28446	return s
28447}
28448
28449// A recommendation on how to remediate the issue identified in a finding.
28450type Recommendation struct {
28451	_ struct{} `type:"structure"`
28452
28453	// Describes the recommended steps to take to remediate an issue identified
28454	// in a finding.
28455	Text *string `type:"string"`
28456
28457	// A URL to a page or site that contains information about how to remediate
28458	// a finding.
28459	Url *string `type:"string"`
28460}
28461
28462// String returns the string representation
28463func (s Recommendation) String() string {
28464	return awsutil.Prettify(s)
28465}
28466
28467// GoString returns the string representation
28468func (s Recommendation) GoString() string {
28469	return s.String()
28470}
28471
28472// SetText sets the Text field's value.
28473func (s *Recommendation) SetText(v string) *Recommendation {
28474	s.Text = &v
28475	return s
28476}
28477
28478// SetUrl sets the Url field's value.
28479func (s *Recommendation) SetUrl(v string) *Recommendation {
28480	s.Url = &v
28481	return s
28482}
28483
28484// An occurrence of sensitive data in an Apache Avro object container or an
28485// Apache Parquet file.
28486type Record struct {
28487	_ struct{} `type:"structure"`
28488
28489	// The path, as a JSONPath expression, to the field in the record that contains
28490	// the data. If the field name is longer than 20 characters, it is truncated.
28491	// If the path is longer than 250 characters, it is truncated.
28492	JsonPath *string `type:"string"`
28493
28494	// The record index, starting from 0, for the record that contains the data.
28495	RecordIndex *int64 `type:"long"`
28496}
28497
28498// String returns the string representation
28499func (s Record) String() string {
28500	return awsutil.Prettify(s)
28501}
28502
28503// GoString returns the string representation
28504func (s Record) GoString() string {
28505	return s.String()
28506}
28507
28508// SetJsonPath sets the JsonPath field's value.
28509func (s *Record) SetJsonPath(v string) *Record {
28510	s.JsonPath = &v
28511	return s
28512}
28513
28514// SetRecordIndex sets the RecordIndex field's value.
28515func (s *Record) SetRecordIndex(v int64) *Record {
28516	s.RecordIndex = &v
28517	return s
28518}
28519
28520// Details about a related finding.
28521type RelatedFinding struct {
28522	_ struct{} `type:"structure"`
28523
28524	// The product-generated identifier for a related finding.
28525	//
28526	// Id is a required field
28527	Id *string `type:"string" required:"true"`
28528
28529	// The ARN of the product that generated a related finding.
28530	//
28531	// ProductArn is a required field
28532	ProductArn *string `type:"string" required:"true"`
28533}
28534
28535// String returns the string representation
28536func (s RelatedFinding) String() string {
28537	return awsutil.Prettify(s)
28538}
28539
28540// GoString returns the string representation
28541func (s RelatedFinding) GoString() string {
28542	return s.String()
28543}
28544
28545// Validate inspects the fields of the type to determine if they are valid.
28546func (s *RelatedFinding) Validate() error {
28547	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
28548	if s.Id == nil {
28549		invalidParams.Add(request.NewErrParamRequired("Id"))
28550	}
28551	if s.ProductArn == nil {
28552		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
28553	}
28554
28555	if invalidParams.Len() > 0 {
28556		return invalidParams
28557	}
28558	return nil
28559}
28560
28561// SetId sets the Id field's value.
28562func (s *RelatedFinding) SetId(v string) *RelatedFinding {
28563	s.Id = &v
28564	return s
28565}
28566
28567// SetProductArn sets the ProductArn field's value.
28568func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
28569	s.ProductArn = &v
28570	return s
28571}
28572
28573// Details about the remediation steps for a finding.
28574type Remediation struct {
28575	_ struct{} `type:"structure"`
28576
28577	// A recommendation on the steps to take to remediate the issue identified by
28578	// a finding.
28579	Recommendation *Recommendation `type:"structure"`
28580}
28581
28582// String returns the string representation
28583func (s Remediation) String() string {
28584	return awsutil.Prettify(s)
28585}
28586
28587// GoString returns the string representation
28588func (s Remediation) GoString() string {
28589	return s.String()
28590}
28591
28592// SetRecommendation sets the Recommendation field's value.
28593func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
28594	s.Recommendation = v
28595	return s
28596}
28597
28598// A resource related to a finding.
28599type Resource struct {
28600	_ struct{} `type:"structure"`
28601
28602	// Contains information about sensitive data that was detected on the resource.
28603	DataClassification *DataClassificationDetails `type:"structure"`
28604
28605	// Additional details about the resource related to a finding.
28606	Details *ResourceDetails `type:"structure"`
28607
28608	// The canonical identifier for the given resource type.
28609	//
28610	// Id is a required field
28611	Id *string `type:"string" required:"true"`
28612
28613	// The canonical AWS partition name that the Region is assigned to.
28614	Partition *string `type:"string" enum:"Partition"`
28615
28616	// The canonical AWS external Region name where this resource is located.
28617	Region *string `type:"string"`
28618
28619	// Identifies the role of the resource in the finding. A resource is either
28620	// the actor or target of the finding activity,
28621	ResourceRole *string `type:"string"`
28622
28623	// A list of AWS tags associated with a resource at the time the finding was
28624	// processed.
28625	Tags map[string]*string `type:"map"`
28626
28627	// The type of the resource that details are provided for. If possible, set
28628	// Type to one of the supported resource types. For example, if the resource
28629	// is an EC2 instance, then set Type to AwsEc2Instance.
28630	//
28631	// If the resource does not match any of the provided types, then set Type to
28632	// Other.
28633	//
28634	// Type is a required field
28635	Type *string `type:"string" required:"true"`
28636}
28637
28638// String returns the string representation
28639func (s Resource) String() string {
28640	return awsutil.Prettify(s)
28641}
28642
28643// GoString returns the string representation
28644func (s Resource) GoString() string {
28645	return s.String()
28646}
28647
28648// Validate inspects the fields of the type to determine if they are valid.
28649func (s *Resource) Validate() error {
28650	invalidParams := request.ErrInvalidParams{Context: "Resource"}
28651	if s.Id == nil {
28652		invalidParams.Add(request.NewErrParamRequired("Id"))
28653	}
28654	if s.Type == nil {
28655		invalidParams.Add(request.NewErrParamRequired("Type"))
28656	}
28657	if s.Details != nil {
28658		if err := s.Details.Validate(); err != nil {
28659			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
28660		}
28661	}
28662
28663	if invalidParams.Len() > 0 {
28664		return invalidParams
28665	}
28666	return nil
28667}
28668
28669// SetDataClassification sets the DataClassification field's value.
28670func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
28671	s.DataClassification = v
28672	return s
28673}
28674
28675// SetDetails sets the Details field's value.
28676func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
28677	s.Details = v
28678	return s
28679}
28680
28681// SetId sets the Id field's value.
28682func (s *Resource) SetId(v string) *Resource {
28683	s.Id = &v
28684	return s
28685}
28686
28687// SetPartition sets the Partition field's value.
28688func (s *Resource) SetPartition(v string) *Resource {
28689	s.Partition = &v
28690	return s
28691}
28692
28693// SetRegion sets the Region field's value.
28694func (s *Resource) SetRegion(v string) *Resource {
28695	s.Region = &v
28696	return s
28697}
28698
28699// SetResourceRole sets the ResourceRole field's value.
28700func (s *Resource) SetResourceRole(v string) *Resource {
28701	s.ResourceRole = &v
28702	return s
28703}
28704
28705// SetTags sets the Tags field's value.
28706func (s *Resource) SetTags(v map[string]*string) *Resource {
28707	s.Tags = v
28708	return s
28709}
28710
28711// SetType sets the Type field's value.
28712func (s *Resource) SetType(v string) *Resource {
28713	s.Type = &v
28714	return s
28715}
28716
28717// The resource specified in the request conflicts with an existing resource.
28718type ResourceConflictException struct {
28719	_            struct{}                  `type:"structure"`
28720	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28721
28722	Code_ *string `locationName:"Code" type:"string"`
28723
28724	Message_ *string `locationName:"Message" type:"string"`
28725}
28726
28727// String returns the string representation
28728func (s ResourceConflictException) String() string {
28729	return awsutil.Prettify(s)
28730}
28731
28732// GoString returns the string representation
28733func (s ResourceConflictException) GoString() string {
28734	return s.String()
28735}
28736
28737func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
28738	return &ResourceConflictException{
28739		RespMetadata: v,
28740	}
28741}
28742
28743// Code returns the exception type name.
28744func (s *ResourceConflictException) Code() string {
28745	return "ResourceConflictException"
28746}
28747
28748// Message returns the exception's message.
28749func (s *ResourceConflictException) Message() string {
28750	if s.Message_ != nil {
28751		return *s.Message_
28752	}
28753	return ""
28754}
28755
28756// OrigErr always returns nil, satisfies awserr.Error interface.
28757func (s *ResourceConflictException) OrigErr() error {
28758	return nil
28759}
28760
28761func (s *ResourceConflictException) Error() string {
28762	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28763}
28764
28765// Status code returns the HTTP status code for the request's response error.
28766func (s *ResourceConflictException) StatusCode() int {
28767	return s.RespMetadata.StatusCode
28768}
28769
28770// RequestID returns the service's response RequestID for request.
28771func (s *ResourceConflictException) RequestID() string {
28772	return s.RespMetadata.RequestID
28773}
28774
28775// Additional details about a resource related to a finding.
28776//
28777// To provide the details, use the object that corresponds to the resource type.
28778// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
28779// object to provide the details.
28780//
28781// If the type-specific object does not contain all of the fields you want to
28782// populate, then you use the Other object to populate those additional fields.
28783//
28784// You also use the Other object to populate the details when the selected type
28785// does not have a corresponding object.
28786type ResourceDetails struct {
28787	_ struct{} `type:"structure"`
28788
28789	// Provides information about a REST API in version 1 of Amazon API Gateway.
28790	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
28791
28792	// Provides information about a version 1 Amazon API Gateway stage.
28793	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
28794
28795	// Provides information about a version 2 API in Amazon API Gateway.
28796	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
28797
28798	// Provides information about a version 2 stage for Amazon API Gateway.
28799	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
28800
28801	// Details for an autoscaling group.
28802	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
28803
28804	// Provides details about an AWS Certificate Manager (ACM) certificate.
28805	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
28806
28807	// Details about a CloudFront distribution.
28808	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
28809
28810	// Provides details about a CloudTrail trail.
28811	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
28812
28813	// Details for an AWS CodeBuild project.
28814	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
28815
28816	// Details about a DynamoDB table.
28817	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
28818
28819	// Details about an Elastic IP address.
28820	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
28821
28822	// Details about an EC2 instance related to a finding.
28823	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
28824
28825	// Details about an EC2 network access control list (ACL).
28826	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
28827
28828	// Details for an Amazon EC2 network interface.
28829	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
28830
28831	// Details for an EC2 security group.
28832	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
28833
28834	// Details about a subnet in EC2.
28835	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
28836
28837	// Details for an EC2 volume.
28838	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
28839
28840	// Details for an EC2 VPC.
28841	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
28842
28843	// Details about an ECS cluster.
28844	AwsEcsCluster *AwsEcsClusterDetails `type:"structure"`
28845
28846	// Details about a task definition. A task definition describes the container
28847	// and volume definitions of an Amazon Elastic Container Service task.
28848	AwsEcsTaskDefinition *AwsEcsTaskDefinitionDetails `type:"structure"`
28849
28850	// Details about an Elastic Beanstalk environment.
28851	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
28852
28853	// Details for an Elasticsearch domain.
28854	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
28855
28856	// contains details about a Classic Load Balancer.
28857	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
28858
28859	// Details about a load balancer.
28860	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
28861
28862	// Details about an IAM access key related to a finding.
28863	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
28864
28865	// Contains details about an IAM group.
28866	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
28867
28868	// Details about an IAM permissions policy.
28869	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
28870
28871	// Details about an IAM role.
28872	AwsIamRole *AwsIamRoleDetails `type:"structure"`
28873
28874	// Details about an IAM user.
28875	AwsIamUser *AwsIamUserDetails `type:"structure"`
28876
28877	// Details about a KMS key.
28878	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
28879
28880	// Details about a Lambda function.
28881	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
28882
28883	// Details for a Lambda layer version.
28884	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
28885
28886	// Details about an Amazon RDS database cluster.
28887	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
28888
28889	// Details about an Amazon RDS database cluster snapshot.
28890	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
28891
28892	// Details about an Amazon RDS database instance.
28893	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
28894
28895	// Details about an Amazon RDS database snapshot.
28896	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
28897
28898	// Contains details about an Amazon Redshift cluster.
28899	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
28900
28901	// Details about the Amazon S3 Public Access Block configuration for an account.
28902	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
28903
28904	// Details about an Amazon S3 bucket related to a finding.
28905	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
28906
28907	// Details about an Amazon S3 object related to a finding.
28908	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
28909
28910	// Details about a Secrets Manager secret.
28911	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
28912
28913	// Details about an SNS topic.
28914	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
28915
28916	// Details about an SQS queue.
28917	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
28918
28919	// Provides information about the state of a patch on an instance based on the
28920	// patch baseline that was used to patch the instance.
28921	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
28922
28923	// Details for a WAF WebACL.
28924	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
28925
28926	// Details about a container resource related to a finding.
28927	Container *ContainerDetails `type:"structure"`
28928
28929	// Details about a resource that are not available in a type-specific details
28930	// object. Use the Other object in the following cases.
28931	//
28932	//    * The type-specific object does not contain all of the fields that you
28933	//    want to populate. In this case, first use the type-specific object to
28934	//    populate those fields. Use the Other object to populate the fields that
28935	//    are missing from the type-specific object.
28936	//
28937	//    * The resource type does not have a corresponding object. This includes
28938	//    resources for which the type is Other.
28939	Other map[string]*string `type:"map"`
28940}
28941
28942// String returns the string representation
28943func (s ResourceDetails) String() string {
28944	return awsutil.Prettify(s)
28945}
28946
28947// GoString returns the string representation
28948func (s ResourceDetails) GoString() string {
28949	return s.String()
28950}
28951
28952// Validate inspects the fields of the type to determine if they are valid.
28953func (s *ResourceDetails) Validate() error {
28954	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
28955	if s.AwsIamRole != nil {
28956		if err := s.AwsIamRole.Validate(); err != nil {
28957			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
28958		}
28959	}
28960
28961	if invalidParams.Len() > 0 {
28962		return invalidParams
28963	}
28964	return nil
28965}
28966
28967// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
28968func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
28969	s.AwsApiGatewayRestApi = v
28970	return s
28971}
28972
28973// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
28974func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
28975	s.AwsApiGatewayStage = v
28976	return s
28977}
28978
28979// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
28980func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
28981	s.AwsApiGatewayV2Api = v
28982	return s
28983}
28984
28985// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
28986func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
28987	s.AwsApiGatewayV2Stage = v
28988	return s
28989}
28990
28991// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
28992func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
28993	s.AwsAutoScalingAutoScalingGroup = v
28994	return s
28995}
28996
28997// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
28998func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
28999	s.AwsCertificateManagerCertificate = v
29000	return s
29001}
29002
29003// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
29004func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
29005	s.AwsCloudFrontDistribution = v
29006	return s
29007}
29008
29009// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
29010func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
29011	s.AwsCloudTrailTrail = v
29012	return s
29013}
29014
29015// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
29016func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
29017	s.AwsCodeBuildProject = v
29018	return s
29019}
29020
29021// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
29022func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
29023	s.AwsDynamoDbTable = v
29024	return s
29025}
29026
29027// SetAwsEc2Eip sets the AwsEc2Eip field's value.
29028func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
29029	s.AwsEc2Eip = v
29030	return s
29031}
29032
29033// SetAwsEc2Instance sets the AwsEc2Instance field's value.
29034func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
29035	s.AwsEc2Instance = v
29036	return s
29037}
29038
29039// SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
29040func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
29041	s.AwsEc2NetworkAcl = v
29042	return s
29043}
29044
29045// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
29046func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
29047	s.AwsEc2NetworkInterface = v
29048	return s
29049}
29050
29051// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
29052func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
29053	s.AwsEc2SecurityGroup = v
29054	return s
29055}
29056
29057// SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
29058func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
29059	s.AwsEc2Subnet = v
29060	return s
29061}
29062
29063// SetAwsEc2Volume sets the AwsEc2Volume field's value.
29064func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
29065	s.AwsEc2Volume = v
29066	return s
29067}
29068
29069// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
29070func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
29071	s.AwsEc2Vpc = v
29072	return s
29073}
29074
29075// SetAwsEcsCluster sets the AwsEcsCluster field's value.
29076func (s *ResourceDetails) SetAwsEcsCluster(v *AwsEcsClusterDetails) *ResourceDetails {
29077	s.AwsEcsCluster = v
29078	return s
29079}
29080
29081// SetAwsEcsTaskDefinition sets the AwsEcsTaskDefinition field's value.
29082func (s *ResourceDetails) SetAwsEcsTaskDefinition(v *AwsEcsTaskDefinitionDetails) *ResourceDetails {
29083	s.AwsEcsTaskDefinition = v
29084	return s
29085}
29086
29087// SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
29088func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
29089	s.AwsElasticBeanstalkEnvironment = v
29090	return s
29091}
29092
29093// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
29094func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
29095	s.AwsElasticsearchDomain = v
29096	return s
29097}
29098
29099// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
29100func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
29101	s.AwsElbLoadBalancer = v
29102	return s
29103}
29104
29105// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
29106func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
29107	s.AwsElbv2LoadBalancer = v
29108	return s
29109}
29110
29111// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
29112func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
29113	s.AwsIamAccessKey = v
29114	return s
29115}
29116
29117// SetAwsIamGroup sets the AwsIamGroup field's value.
29118func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
29119	s.AwsIamGroup = v
29120	return s
29121}
29122
29123// SetAwsIamPolicy sets the AwsIamPolicy field's value.
29124func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
29125	s.AwsIamPolicy = v
29126	return s
29127}
29128
29129// SetAwsIamRole sets the AwsIamRole field's value.
29130func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
29131	s.AwsIamRole = v
29132	return s
29133}
29134
29135// SetAwsIamUser sets the AwsIamUser field's value.
29136func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
29137	s.AwsIamUser = v
29138	return s
29139}
29140
29141// SetAwsKmsKey sets the AwsKmsKey field's value.
29142func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
29143	s.AwsKmsKey = v
29144	return s
29145}
29146
29147// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
29148func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
29149	s.AwsLambdaFunction = v
29150	return s
29151}
29152
29153// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
29154func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
29155	s.AwsLambdaLayerVersion = v
29156	return s
29157}
29158
29159// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
29160func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
29161	s.AwsRdsDbCluster = v
29162	return s
29163}
29164
29165// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
29166func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
29167	s.AwsRdsDbClusterSnapshot = v
29168	return s
29169}
29170
29171// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
29172func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
29173	s.AwsRdsDbInstance = v
29174	return s
29175}
29176
29177// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
29178func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
29179	s.AwsRdsDbSnapshot = v
29180	return s
29181}
29182
29183// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
29184func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
29185	s.AwsRedshiftCluster = v
29186	return s
29187}
29188
29189// SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
29190func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
29191	s.AwsS3AccountPublicAccessBlock = v
29192	return s
29193}
29194
29195// SetAwsS3Bucket sets the AwsS3Bucket field's value.
29196func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
29197	s.AwsS3Bucket = v
29198	return s
29199}
29200
29201// SetAwsS3Object sets the AwsS3Object field's value.
29202func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
29203	s.AwsS3Object = v
29204	return s
29205}
29206
29207// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
29208func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
29209	s.AwsSecretsManagerSecret = v
29210	return s
29211}
29212
29213// SetAwsSnsTopic sets the AwsSnsTopic field's value.
29214func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
29215	s.AwsSnsTopic = v
29216	return s
29217}
29218
29219// SetAwsSqsQueue sets the AwsSqsQueue field's value.
29220func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
29221	s.AwsSqsQueue = v
29222	return s
29223}
29224
29225// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
29226func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
29227	s.AwsSsmPatchCompliance = v
29228	return s
29229}
29230
29231// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
29232func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
29233	s.AwsWafWebAcl = v
29234	return s
29235}
29236
29237// SetContainer sets the Container field's value.
29238func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
29239	s.Container = v
29240	return s
29241}
29242
29243// SetOther sets the Other field's value.
29244func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
29245	s.Other = v
29246	return s
29247}
29248
29249// The request was rejected because we can't find the specified resource.
29250type ResourceNotFoundException struct {
29251	_            struct{}                  `type:"structure"`
29252	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29253
29254	Code_ *string `locationName:"Code" type:"string"`
29255
29256	Message_ *string `locationName:"Message" type:"string"`
29257}
29258
29259// String returns the string representation
29260func (s ResourceNotFoundException) String() string {
29261	return awsutil.Prettify(s)
29262}
29263
29264// GoString returns the string representation
29265func (s ResourceNotFoundException) GoString() string {
29266	return s.String()
29267}
29268
29269func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
29270	return &ResourceNotFoundException{
29271		RespMetadata: v,
29272	}
29273}
29274
29275// Code returns the exception type name.
29276func (s *ResourceNotFoundException) Code() string {
29277	return "ResourceNotFoundException"
29278}
29279
29280// Message returns the exception's message.
29281func (s *ResourceNotFoundException) Message() string {
29282	if s.Message_ != nil {
29283		return *s.Message_
29284	}
29285	return ""
29286}
29287
29288// OrigErr always returns nil, satisfies awserr.Error interface.
29289func (s *ResourceNotFoundException) OrigErr() error {
29290	return nil
29291}
29292
29293func (s *ResourceNotFoundException) Error() string {
29294	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
29295}
29296
29297// Status code returns the HTTP status code for the request's response error.
29298func (s *ResourceNotFoundException) StatusCode() int {
29299	return s.RespMetadata.StatusCode
29300}
29301
29302// RequestID returns the service's response RequestID for request.
29303func (s *ResourceNotFoundException) RequestID() string {
29304	return s.RespMetadata.RequestID
29305}
29306
29307// Details about the account that was not processed.
29308type Result struct {
29309	_ struct{} `type:"structure"`
29310
29311	// An AWS account ID of the account that was not processed.
29312	AccountId *string `type:"string"`
29313
29314	// The reason that the account was not processed.
29315	ProcessingResult *string `type:"string"`
29316}
29317
29318// String returns the string representation
29319func (s Result) String() string {
29320	return awsutil.Prettify(s)
29321}
29322
29323// GoString returns the string representation
29324func (s Result) GoString() string {
29325	return s.String()
29326}
29327
29328// SetAccountId sets the AccountId field's value.
29329func (s *Result) SetAccountId(v string) *Result {
29330	s.AccountId = &v
29331	return s
29332}
29333
29334// SetProcessingResult sets the ProcessingResult field's value.
29335func (s *Result) SetProcessingResult(v string) *Result {
29336	s.ProcessingResult = &v
29337	return s
29338}
29339
29340// The list of detected instances of sensitive data.
29341type SensitiveDataDetections struct {
29342	_ struct{} `type:"structure"`
29343
29344	// The total number of occurrences of sensitive data that were detected.
29345	Count *int64 `type:"long"`
29346
29347	// Details about the sensitive data that was detected.
29348	Occurrences *Occurrences `type:"structure"`
29349
29350	// The type of sensitive data that was detected. For example, the type might
29351	// indicate that the data is an email address.
29352	Type *string `type:"string"`
29353}
29354
29355// String returns the string representation
29356func (s SensitiveDataDetections) String() string {
29357	return awsutil.Prettify(s)
29358}
29359
29360// GoString returns the string representation
29361func (s SensitiveDataDetections) GoString() string {
29362	return s.String()
29363}
29364
29365// SetCount sets the Count field's value.
29366func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
29367	s.Count = &v
29368	return s
29369}
29370
29371// SetOccurrences sets the Occurrences field's value.
29372func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
29373	s.Occurrences = v
29374	return s
29375}
29376
29377// SetType sets the Type field's value.
29378func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
29379	s.Type = &v
29380	return s
29381}
29382
29383// Contains a detected instance of sensitive data that are based on built-in
29384// identifiers.
29385type SensitiveDataResult struct {
29386	_ struct{} `type:"structure"`
29387
29388	// The category of sensitive data that was detected. For example, the category
29389	// can indicate that the sensitive data involved credentials, financial information,
29390	// or personal information.
29391	Category *string `type:"string"`
29392
29393	// The list of detected instances of sensitive data.
29394	Detections []*SensitiveDataDetections `type:"list"`
29395
29396	// The total number of occurrences of sensitive data.
29397	TotalCount *int64 `type:"long"`
29398}
29399
29400// String returns the string representation
29401func (s SensitiveDataResult) String() string {
29402	return awsutil.Prettify(s)
29403}
29404
29405// GoString returns the string representation
29406func (s SensitiveDataResult) GoString() string {
29407	return s.String()
29408}
29409
29410// SetCategory sets the Category field's value.
29411func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
29412	s.Category = &v
29413	return s
29414}
29415
29416// SetDetections sets the Detections field's value.
29417func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
29418	s.Detections = v
29419	return s
29420}
29421
29422// SetTotalCount sets the TotalCount field's value.
29423func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
29424	s.TotalCount = &v
29425	return s
29426}
29427
29428// The severity of the finding.
29429//
29430// The finding provider can provide the initial severity. The finding provider
29431// can only update the severity if it has not been updated using BatchUpdateFindings.
29432//
29433// The finding must have either Label or Normalized populated. If only one of
29434// these attributes is populated, then Security Hub automatically populates
29435// the other one. If neither attribute is populated, then the finding is invalid.
29436// Label is the preferred attribute.
29437type Severity struct {
29438	_ struct{} `type:"structure"`
29439
29440	// The severity value of the finding. The allowed values are the following.
29441	//
29442	//    * INFORMATIONAL - No issue was found.
29443	//
29444	//    * LOW - The issue does not require action on its own.
29445	//
29446	//    * MEDIUM - The issue must be addressed but not urgently.
29447	//
29448	//    * HIGH - The issue must be addressed as a priority.
29449	//
29450	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
29451	//
29452	// If you provide Normalized and do not provide Label, then Label is set automatically
29453	// as follows.
29454	//
29455	//    * 0 - INFORMATIONAL
29456	//
29457	//    * 1–39 - LOW
29458	//
29459	//    * 40–69 - MEDIUM
29460	//
29461	//    * 70–89 - HIGH
29462	//
29463	//    * 90–100 - CRITICAL
29464	Label *string `type:"string" enum:"SeverityLabel"`
29465
29466	// Deprecated. The normalized severity of a finding. This attribute is being
29467	// deprecated. Instead of providing Normalized, provide Label.
29468	//
29469	// If you provide Label and do not provide Normalized, then Normalized is set
29470	// automatically as follows.
29471	//
29472	//    * INFORMATIONAL - 0
29473	//
29474	//    * LOW - 1
29475	//
29476	//    * MEDIUM - 40
29477	//
29478	//    * HIGH - 70
29479	//
29480	//    * CRITICAL - 90
29481	Normalized *int64 `type:"integer"`
29482
29483	// The native severity from the finding product that generated the finding.
29484	Original *string `type:"string"`
29485
29486	// Deprecated. This attribute is being deprecated. Instead of providing Product,
29487	// provide Original.
29488	//
29489	// The native severity as defined by the AWS service or integrated partner product
29490	// that generated the finding.
29491	Product *float64 `type:"double"`
29492}
29493
29494// String returns the string representation
29495func (s Severity) String() string {
29496	return awsutil.Prettify(s)
29497}
29498
29499// GoString returns the string representation
29500func (s Severity) GoString() string {
29501	return s.String()
29502}
29503
29504// SetLabel sets the Label field's value.
29505func (s *Severity) SetLabel(v string) *Severity {
29506	s.Label = &v
29507	return s
29508}
29509
29510// SetNormalized sets the Normalized field's value.
29511func (s *Severity) SetNormalized(v int64) *Severity {
29512	s.Normalized = &v
29513	return s
29514}
29515
29516// SetOriginal sets the Original field's value.
29517func (s *Severity) SetOriginal(v string) *Severity {
29518	s.Original = &v
29519	return s
29520}
29521
29522// SetProduct sets the Product field's value.
29523func (s *Severity) SetProduct(v float64) *Severity {
29524	s.Product = &v
29525	return s
29526}
29527
29528// Updates to the severity information for a finding.
29529type SeverityUpdate struct {
29530	_ struct{} `type:"structure"`
29531
29532	// The severity value of the finding. The allowed values are the following.
29533	//
29534	//    * INFORMATIONAL - No issue was found.
29535	//
29536	//    * LOW - The issue does not require action on its own.
29537	//
29538	//    * MEDIUM - The issue must be addressed but not urgently.
29539	//
29540	//    * HIGH - The issue must be addressed as a priority.
29541	//
29542	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
29543	Label *string `type:"string" enum:"SeverityLabel"`
29544
29545	// The normalized severity for the finding. This attribute is to be deprecated
29546	// in favor of Label.
29547	//
29548	// If you provide Normalized and do not provide Label, Label is set automatically
29549	// as follows.
29550	//
29551	//    * 0 - INFORMATIONAL
29552	//
29553	//    * 1–39 - LOW
29554	//
29555	//    * 40–69 - MEDIUM
29556	//
29557	//    * 70–89 - HIGH
29558	//
29559	//    * 90–100 - CRITICAL
29560	Normalized *int64 `type:"integer"`
29561
29562	// The native severity as defined by the AWS service or integrated partner product
29563	// that generated the finding.
29564	Product *float64 `type:"double"`
29565}
29566
29567// String returns the string representation
29568func (s SeverityUpdate) String() string {
29569	return awsutil.Prettify(s)
29570}
29571
29572// GoString returns the string representation
29573func (s SeverityUpdate) GoString() string {
29574	return s.String()
29575}
29576
29577// SetLabel sets the Label field's value.
29578func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
29579	s.Label = &v
29580	return s
29581}
29582
29583// SetNormalized sets the Normalized field's value.
29584func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
29585	s.Normalized = &v
29586	return s
29587}
29588
29589// SetProduct sets the Product field's value.
29590func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
29591	s.Product = &v
29592	return s
29593}
29594
29595// Information about a software package.
29596type SoftwarePackage struct {
29597	_ struct{} `type:"structure"`
29598
29599	// The architecture used for the software package.
29600	Architecture *string `type:"string"`
29601
29602	// The epoch of the software package.
29603	Epoch *string `type:"string"`
29604
29605	// The name of the software package.
29606	Name *string `type:"string"`
29607
29608	// The release of the software package.
29609	Release *string `type:"string"`
29610
29611	// The version of the software package.
29612	Version *string `type:"string"`
29613}
29614
29615// String returns the string representation
29616func (s SoftwarePackage) String() string {
29617	return awsutil.Prettify(s)
29618}
29619
29620// GoString returns the string representation
29621func (s SoftwarePackage) GoString() string {
29622	return s.String()
29623}
29624
29625// SetArchitecture sets the Architecture field's value.
29626func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
29627	s.Architecture = &v
29628	return s
29629}
29630
29631// SetEpoch sets the Epoch field's value.
29632func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
29633	s.Epoch = &v
29634	return s
29635}
29636
29637// SetName sets the Name field's value.
29638func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
29639	s.Name = &v
29640	return s
29641}
29642
29643// SetRelease sets the Release field's value.
29644func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
29645	s.Release = &v
29646	return s
29647}
29648
29649// SetVersion sets the Version field's value.
29650func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
29651	s.Version = &v
29652	return s
29653}
29654
29655// A collection of finding attributes used to sort findings.
29656type SortCriterion struct {
29657	_ struct{} `type:"structure"`
29658
29659	// The finding attribute used to sort findings.
29660	Field *string `type:"string"`
29661
29662	// The order used to sort findings.
29663	SortOrder *string `type:"string" enum:"SortOrder"`
29664}
29665
29666// String returns the string representation
29667func (s SortCriterion) String() string {
29668	return awsutil.Prettify(s)
29669}
29670
29671// GoString returns the string representation
29672func (s SortCriterion) GoString() string {
29673	return s.String()
29674}
29675
29676// SetField sets the Field field's value.
29677func (s *SortCriterion) SetField(v string) *SortCriterion {
29678	s.Field = &v
29679	return s
29680}
29681
29682// SetSortOrder sets the SortOrder field's value.
29683func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
29684	s.SortOrder = &v
29685	return s
29686}
29687
29688// Provides information about a specific standard.
29689type Standard struct {
29690	_ struct{} `type:"structure"`
29691
29692	// A description of the standard.
29693	Description *string `type:"string"`
29694
29695	// Whether the standard is enabled by default. When Security Hub is enabled
29696	// from the console, if a standard is enabled by default, the check box for
29697	// that standard is selected by default.
29698	//
29699	// When Security Hub is enabled using the EnableSecurityHub API operation, the
29700	// standard is enabled by default unless EnableDefaultStandards is set to false.
29701	EnabledByDefault *bool `type:"boolean"`
29702
29703	// The name of the standard.
29704	Name *string `type:"string"`
29705
29706	// The ARN of a standard.
29707	StandardsArn *string `type:"string"`
29708}
29709
29710// String returns the string representation
29711func (s Standard) String() string {
29712	return awsutil.Prettify(s)
29713}
29714
29715// GoString returns the string representation
29716func (s Standard) GoString() string {
29717	return s.String()
29718}
29719
29720// SetDescription sets the Description field's value.
29721func (s *Standard) SetDescription(v string) *Standard {
29722	s.Description = &v
29723	return s
29724}
29725
29726// SetEnabledByDefault sets the EnabledByDefault field's value.
29727func (s *Standard) SetEnabledByDefault(v bool) *Standard {
29728	s.EnabledByDefault = &v
29729	return s
29730}
29731
29732// SetName sets the Name field's value.
29733func (s *Standard) SetName(v string) *Standard {
29734	s.Name = &v
29735	return s
29736}
29737
29738// SetStandardsArn sets the StandardsArn field's value.
29739func (s *Standard) SetStandardsArn(v string) *Standard {
29740	s.StandardsArn = &v
29741	return s
29742}
29743
29744// Details for an individual security standard control.
29745type StandardsControl struct {
29746	_ struct{} `type:"structure"`
29747
29748	// The identifier of the security standard control.
29749	ControlId *string `type:"string"`
29750
29751	// The current status of the security standard control. Indicates whether the
29752	// control is enabled or disabled. Security Hub does not check against disabled
29753	// controls.
29754	ControlStatus *string `type:"string" enum:"ControlStatus"`
29755
29756	// The date and time that the status of the security standard control was most
29757	// recently updated.
29758	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
29759
29760	// The longer description of the security standard control. Provides information
29761	// about what the control is checking for.
29762	Description *string `type:"string"`
29763
29764	// The reason provided for the most recent change in status for the control.
29765	DisabledReason *string `type:"string"`
29766
29767	// The list of requirements that are related to this control.
29768	RelatedRequirements []*string `type:"list"`
29769
29770	// A link to remediation information for the control in the Security Hub user
29771	// documentation.
29772	RemediationUrl *string `type:"string"`
29773
29774	// The severity of findings generated from this security standard control.
29775	//
29776	// The finding severity is based on an assessment of how easy it would be to
29777	// compromise AWS resources if the issue is detected.
29778	SeverityRating *string `type:"string" enum:"SeverityRating"`
29779
29780	// The ARN of the security standard control.
29781	StandardsControlArn *string `type:"string"`
29782
29783	// The title of the security standard control.
29784	Title *string `type:"string"`
29785}
29786
29787// String returns the string representation
29788func (s StandardsControl) String() string {
29789	return awsutil.Prettify(s)
29790}
29791
29792// GoString returns the string representation
29793func (s StandardsControl) GoString() string {
29794	return s.String()
29795}
29796
29797// SetControlId sets the ControlId field's value.
29798func (s *StandardsControl) SetControlId(v string) *StandardsControl {
29799	s.ControlId = &v
29800	return s
29801}
29802
29803// SetControlStatus sets the ControlStatus field's value.
29804func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
29805	s.ControlStatus = &v
29806	return s
29807}
29808
29809// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
29810func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
29811	s.ControlStatusUpdatedAt = &v
29812	return s
29813}
29814
29815// SetDescription sets the Description field's value.
29816func (s *StandardsControl) SetDescription(v string) *StandardsControl {
29817	s.Description = &v
29818	return s
29819}
29820
29821// SetDisabledReason sets the DisabledReason field's value.
29822func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
29823	s.DisabledReason = &v
29824	return s
29825}
29826
29827// SetRelatedRequirements sets the RelatedRequirements field's value.
29828func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
29829	s.RelatedRequirements = v
29830	return s
29831}
29832
29833// SetRemediationUrl sets the RemediationUrl field's value.
29834func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
29835	s.RemediationUrl = &v
29836	return s
29837}
29838
29839// SetSeverityRating sets the SeverityRating field's value.
29840func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
29841	s.SeverityRating = &v
29842	return s
29843}
29844
29845// SetStandardsControlArn sets the StandardsControlArn field's value.
29846func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
29847	s.StandardsControlArn = &v
29848	return s
29849}
29850
29851// SetTitle sets the Title field's value.
29852func (s *StandardsControl) SetTitle(v string) *StandardsControl {
29853	s.Title = &v
29854	return s
29855}
29856
29857// A resource that represents your subscription to a supported standard.
29858type StandardsSubscription struct {
29859	_ struct{} `type:"structure"`
29860
29861	// The ARN of a standard.
29862	//
29863	// StandardsArn is a required field
29864	StandardsArn *string `type:"string" required:"true"`
29865
29866	// A key-value pair of input for the standard.
29867	//
29868	// StandardsInput is a required field
29869	StandardsInput map[string]*string `type:"map" required:"true"`
29870
29871	// The status of the standard subscription.
29872	//
29873	// The status values are as follows:
29874	//
29875	//    * PENDING - Standard is in the process of being enabled.
29876	//
29877	//    * READY - Standard is enabled.
29878	//
29879	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
29880	//    may not be available.
29881	//
29882	//    * DELETING - Standard is in the process of being disabled.
29883	//
29884	//    * FAILED - Standard could not be disabled.
29885	//
29886	// StandardsStatus is a required field
29887	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
29888
29889	// The ARN of a resource that represents your subscription to a supported standard.
29890	//
29891	// StandardsSubscriptionArn is a required field
29892	StandardsSubscriptionArn *string `type:"string" required:"true"`
29893}
29894
29895// String returns the string representation
29896func (s StandardsSubscription) String() string {
29897	return awsutil.Prettify(s)
29898}
29899
29900// GoString returns the string representation
29901func (s StandardsSubscription) GoString() string {
29902	return s.String()
29903}
29904
29905// SetStandardsArn sets the StandardsArn field's value.
29906func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
29907	s.StandardsArn = &v
29908	return s
29909}
29910
29911// SetStandardsInput sets the StandardsInput field's value.
29912func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
29913	s.StandardsInput = v
29914	return s
29915}
29916
29917// SetStandardsStatus sets the StandardsStatus field's value.
29918func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
29919	s.StandardsStatus = &v
29920	return s
29921}
29922
29923// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
29924func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
29925	s.StandardsSubscriptionArn = &v
29926	return s
29927}
29928
29929// The standard that you want to enable.
29930type StandardsSubscriptionRequest struct {
29931	_ struct{} `type:"structure"`
29932
29933	// The ARN of the standard that you want to enable. To view the list of available
29934	// standards and their ARNs, use the DescribeStandards operation.
29935	//
29936	// StandardsArn is a required field
29937	StandardsArn *string `type:"string" required:"true"`
29938
29939	// A key-value pair of input for the standard.
29940	StandardsInput map[string]*string `type:"map"`
29941}
29942
29943// String returns the string representation
29944func (s StandardsSubscriptionRequest) String() string {
29945	return awsutil.Prettify(s)
29946}
29947
29948// GoString returns the string representation
29949func (s StandardsSubscriptionRequest) GoString() string {
29950	return s.String()
29951}
29952
29953// Validate inspects the fields of the type to determine if they are valid.
29954func (s *StandardsSubscriptionRequest) Validate() error {
29955	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
29956	if s.StandardsArn == nil {
29957		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
29958	}
29959
29960	if invalidParams.Len() > 0 {
29961		return invalidParams
29962	}
29963	return nil
29964}
29965
29966// SetStandardsArn sets the StandardsArn field's value.
29967func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
29968	s.StandardsArn = &v
29969	return s
29970}
29971
29972// SetStandardsInput sets the StandardsInput field's value.
29973func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
29974	s.StandardsInput = v
29975	return s
29976}
29977
29978// Provides additional context for the value of Compliance.Status.
29979type StatusReason struct {
29980	_ struct{} `type:"structure"`
29981
29982	// The corresponding description for the status reason code.
29983	Description *string `type:"string"`
29984
29985	// A code that represents a reason for the control status. For the list of status
29986	// reason codes and their meanings, see Standards-related information in the
29987	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
29988	// in the AWS Security Hub User Guide.
29989	//
29990	// ReasonCode is a required field
29991	ReasonCode *string `type:"string" required:"true"`
29992}
29993
29994// String returns the string representation
29995func (s StatusReason) String() string {
29996	return awsutil.Prettify(s)
29997}
29998
29999// GoString returns the string representation
30000func (s StatusReason) GoString() string {
30001	return s.String()
30002}
30003
30004// Validate inspects the fields of the type to determine if they are valid.
30005func (s *StatusReason) Validate() error {
30006	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
30007	if s.ReasonCode == nil {
30008		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
30009	}
30010
30011	if invalidParams.Len() > 0 {
30012		return invalidParams
30013	}
30014	return nil
30015}
30016
30017// SetDescription sets the Description field's value.
30018func (s *StatusReason) SetDescription(v string) *StatusReason {
30019	s.Description = &v
30020	return s
30021}
30022
30023// SetReasonCode sets the ReasonCode field's value.
30024func (s *StatusReason) SetReasonCode(v string) *StatusReason {
30025	s.ReasonCode = &v
30026	return s
30027}
30028
30029// A string filter for querying findings.
30030type StringFilter struct {
30031	_ struct{} `type:"structure"`
30032
30033	// The condition to apply to a string value when querying for findings. To search
30034	// for values that contain the filter criteria value, use one of the following
30035	// comparison operators:
30036	//
30037	//    * To search for values that exactly match the filter value, use EQUALS.
30038	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
30039	//    findings that have a resource type of AwsEc2SecurityGroup.
30040	//
30041	//    * To search for values that start with the filter value, use PREFIX. For
30042	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
30043	//    a resource type that starts with AwsIam. Findings with a resource type
30044	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
30045	//
30046	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
30047	// if it matches any one of those filters.
30048	//
30049	// To search for values that do not contain the filter criteria value, use one
30050	// of the following comparison operators:
30051	//
30052	//    * To search for values that do not exactly match the filter value, use
30053	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
30054	//    matches findings that have a resource type other than AwsIamPolicy.
30055	//
30056	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
30057	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
30058	//    findings that have a resource type that does not start with AwsIam. Findings
30059	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
30060	//    all be excluded from the results.
30061	//
30062	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
30063	// AND. A finding matches only if it matches all of those filters.
30064	//
30065	// For filters on the same field, you cannot provide both an EQUALS filter and
30066	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
30067	// returns an error, even if the provided filter values would return valid results.
30068	//
30069	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
30070	// for the same field. Security Hub first processes the PREFIX filters, then
30071	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
30072	//
30073	// For example, for the following filter, Security Hub first identifies findings
30074	// that have resource types that start with either AwsIAM or AwsEc2. It then
30075	// excludes findings that have a resource type of AwsIamPolicy and findings
30076	// that have a resource type of AwsEc2NetworkInterface.
30077	//
30078	//    * ResourceType PREFIX AwsIam
30079	//
30080	//    * ResourceType PREFIX AwsEc2
30081	//
30082	//    * ResourceType NOT_EQUALS AwsIamPolicy
30083	//
30084	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
30085	Comparison *string `type:"string" enum:"StringFilterComparison"`
30086
30087	// The string filter value. Filter values are case sensitive. For example, the
30088	// product name for control-based findings is Security Hub. If you provide security
30089	// hub as the filter text, then there is no match.
30090	Value *string `type:"string"`
30091}
30092
30093// String returns the string representation
30094func (s StringFilter) String() string {
30095	return awsutil.Prettify(s)
30096}
30097
30098// GoString returns the string representation
30099func (s StringFilter) GoString() string {
30100	return s.String()
30101}
30102
30103// SetComparison sets the Comparison field's value.
30104func (s *StringFilter) SetComparison(v string) *StringFilter {
30105	s.Comparison = &v
30106	return s
30107}
30108
30109// SetValue sets the Value field's value.
30110func (s *StringFilter) SetValue(v string) *StringFilter {
30111	s.Value = &v
30112	return s
30113}
30114
30115type TagResourceInput struct {
30116	_ struct{} `type:"structure"`
30117
30118	// The ARN of the resource to apply the tags to.
30119	//
30120	// ResourceArn is a required field
30121	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
30122
30123	// The tags to add to the resource. You can add up to 50 tags at a time. The
30124	// tag keys can be no longer than 128 characters. The tag values can be no longer
30125	// than 256 characters.
30126	//
30127	// Tags is a required field
30128	Tags map[string]*string `min:"1" type:"map" required:"true"`
30129}
30130
30131// String returns the string representation
30132func (s TagResourceInput) String() string {
30133	return awsutil.Prettify(s)
30134}
30135
30136// GoString returns the string representation
30137func (s TagResourceInput) GoString() string {
30138	return s.String()
30139}
30140
30141// Validate inspects the fields of the type to determine if they are valid.
30142func (s *TagResourceInput) Validate() error {
30143	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
30144	if s.ResourceArn == nil {
30145		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
30146	}
30147	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
30148		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
30149	}
30150	if s.Tags == nil {
30151		invalidParams.Add(request.NewErrParamRequired("Tags"))
30152	}
30153	if s.Tags != nil && len(s.Tags) < 1 {
30154		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
30155	}
30156
30157	if invalidParams.Len() > 0 {
30158		return invalidParams
30159	}
30160	return nil
30161}
30162
30163// SetResourceArn sets the ResourceArn field's value.
30164func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
30165	s.ResourceArn = &v
30166	return s
30167}
30168
30169// SetTags sets the Tags field's value.
30170func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
30171	s.Tags = v
30172	return s
30173}
30174
30175type TagResourceOutput struct {
30176	_ struct{} `type:"structure"`
30177}
30178
30179// String returns the string representation
30180func (s TagResourceOutput) String() string {
30181	return awsutil.Prettify(s)
30182}
30183
30184// GoString returns the string representation
30185func (s TagResourceOutput) GoString() string {
30186	return s.String()
30187}
30188
30189// Details about the threat intelligence related to a finding.
30190type ThreatIntelIndicator struct {
30191	_ struct{} `type:"structure"`
30192
30193	// The category of a threat intelligence indicator.
30194	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
30195
30196	// Indicates when the most recent instance of a threat intelligence indicator
30197	// was observed.
30198	//
30199	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30200	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30201	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30202	LastObservedAt *string `type:"string"`
30203
30204	// The source of the threat intelligence indicator.
30205	Source *string `type:"string"`
30206
30207	// The URL to the page or site where you can get more information about the
30208	// threat intelligence indicator.
30209	SourceUrl *string `type:"string"`
30210
30211	// The type of threat intelligence indicator.
30212	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
30213
30214	// The value of a threat intelligence indicator.
30215	Value *string `type:"string"`
30216}
30217
30218// String returns the string representation
30219func (s ThreatIntelIndicator) String() string {
30220	return awsutil.Prettify(s)
30221}
30222
30223// GoString returns the string representation
30224func (s ThreatIntelIndicator) GoString() string {
30225	return s.String()
30226}
30227
30228// SetCategory sets the Category field's value.
30229func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
30230	s.Category = &v
30231	return s
30232}
30233
30234// SetLastObservedAt sets the LastObservedAt field's value.
30235func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
30236	s.LastObservedAt = &v
30237	return s
30238}
30239
30240// SetSource sets the Source field's value.
30241func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
30242	s.Source = &v
30243	return s
30244}
30245
30246// SetSourceUrl sets the SourceUrl field's value.
30247func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
30248	s.SourceUrl = &v
30249	return s
30250}
30251
30252// SetType sets the Type field's value.
30253func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
30254	s.Type = &v
30255	return s
30256}
30257
30258// SetValue sets the Value field's value.
30259func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
30260	s.Value = &v
30261	return s
30262}
30263
30264type UntagResourceInput struct {
30265	_ struct{} `type:"structure"`
30266
30267	// The ARN of the resource to remove the tags from.
30268	//
30269	// ResourceArn is a required field
30270	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
30271
30272	// The tag keys associated with the tags to remove from the resource. You can
30273	// remove up to 50 tags at a time.
30274	//
30275	// TagKeys is a required field
30276	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
30277}
30278
30279// String returns the string representation
30280func (s UntagResourceInput) String() string {
30281	return awsutil.Prettify(s)
30282}
30283
30284// GoString returns the string representation
30285func (s UntagResourceInput) GoString() string {
30286	return s.String()
30287}
30288
30289// Validate inspects the fields of the type to determine if they are valid.
30290func (s *UntagResourceInput) Validate() error {
30291	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
30292	if s.ResourceArn == nil {
30293		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
30294	}
30295	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
30296		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
30297	}
30298	if s.TagKeys == nil {
30299		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
30300	}
30301	if s.TagKeys != nil && len(s.TagKeys) < 1 {
30302		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
30303	}
30304
30305	if invalidParams.Len() > 0 {
30306		return invalidParams
30307	}
30308	return nil
30309}
30310
30311// SetResourceArn sets the ResourceArn field's value.
30312func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
30313	s.ResourceArn = &v
30314	return s
30315}
30316
30317// SetTagKeys sets the TagKeys field's value.
30318func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
30319	s.TagKeys = v
30320	return s
30321}
30322
30323type UntagResourceOutput struct {
30324	_ struct{} `type:"structure"`
30325}
30326
30327// String returns the string representation
30328func (s UntagResourceOutput) String() string {
30329	return awsutil.Prettify(s)
30330}
30331
30332// GoString returns the string representation
30333func (s UntagResourceOutput) GoString() string {
30334	return s.String()
30335}
30336
30337type UpdateActionTargetInput struct {
30338	_ struct{} `type:"structure"`
30339
30340	// The ARN of the custom action target to update.
30341	//
30342	// ActionTargetArn is a required field
30343	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
30344
30345	// The updated description for the custom action target.
30346	Description *string `type:"string"`
30347
30348	// The updated name of the custom action target.
30349	Name *string `type:"string"`
30350}
30351
30352// String returns the string representation
30353func (s UpdateActionTargetInput) String() string {
30354	return awsutil.Prettify(s)
30355}
30356
30357// GoString returns the string representation
30358func (s UpdateActionTargetInput) GoString() string {
30359	return s.String()
30360}
30361
30362// Validate inspects the fields of the type to determine if they are valid.
30363func (s *UpdateActionTargetInput) Validate() error {
30364	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
30365	if s.ActionTargetArn == nil {
30366		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
30367	}
30368	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
30369		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
30370	}
30371
30372	if invalidParams.Len() > 0 {
30373		return invalidParams
30374	}
30375	return nil
30376}
30377
30378// SetActionTargetArn sets the ActionTargetArn field's value.
30379func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
30380	s.ActionTargetArn = &v
30381	return s
30382}
30383
30384// SetDescription sets the Description field's value.
30385func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
30386	s.Description = &v
30387	return s
30388}
30389
30390// SetName sets the Name field's value.
30391func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
30392	s.Name = &v
30393	return s
30394}
30395
30396type UpdateActionTargetOutput struct {
30397	_ struct{} `type:"structure"`
30398}
30399
30400// String returns the string representation
30401func (s UpdateActionTargetOutput) String() string {
30402	return awsutil.Prettify(s)
30403}
30404
30405// GoString returns the string representation
30406func (s UpdateActionTargetOutput) GoString() string {
30407	return s.String()
30408}
30409
30410type UpdateFindingsInput struct {
30411	_ struct{} `type:"structure"`
30412
30413	// A collection of attributes that specify which findings you want to update.
30414	//
30415	// Filters is a required field
30416	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
30417
30418	// The updated note for the finding.
30419	Note *NoteUpdate `type:"structure"`
30420
30421	// The updated record state for the finding.
30422	RecordState *string `type:"string" enum:"RecordState"`
30423}
30424
30425// String returns the string representation
30426func (s UpdateFindingsInput) String() string {
30427	return awsutil.Prettify(s)
30428}
30429
30430// GoString returns the string representation
30431func (s UpdateFindingsInput) GoString() string {
30432	return s.String()
30433}
30434
30435// Validate inspects the fields of the type to determine if they are valid.
30436func (s *UpdateFindingsInput) Validate() error {
30437	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
30438	if s.Filters == nil {
30439		invalidParams.Add(request.NewErrParamRequired("Filters"))
30440	}
30441	if s.Note != nil {
30442		if err := s.Note.Validate(); err != nil {
30443			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
30444		}
30445	}
30446
30447	if invalidParams.Len() > 0 {
30448		return invalidParams
30449	}
30450	return nil
30451}
30452
30453// SetFilters sets the Filters field's value.
30454func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
30455	s.Filters = v
30456	return s
30457}
30458
30459// SetNote sets the Note field's value.
30460func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
30461	s.Note = v
30462	return s
30463}
30464
30465// SetRecordState sets the RecordState field's value.
30466func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
30467	s.RecordState = &v
30468	return s
30469}
30470
30471type UpdateFindingsOutput struct {
30472	_ struct{} `type:"structure"`
30473}
30474
30475// String returns the string representation
30476func (s UpdateFindingsOutput) String() string {
30477	return awsutil.Prettify(s)
30478}
30479
30480// GoString returns the string representation
30481func (s UpdateFindingsOutput) GoString() string {
30482	return s.String()
30483}
30484
30485type UpdateInsightInput struct {
30486	_ struct{} `type:"structure"`
30487
30488	// The updated filters that define this insight.
30489	Filters *AwsSecurityFindingFilters `type:"structure"`
30490
30491	// The updated GroupBy attribute that defines this insight.
30492	GroupByAttribute *string `type:"string"`
30493
30494	// The ARN of the insight that you want to update.
30495	//
30496	// InsightArn is a required field
30497	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
30498
30499	// The updated name for the insight.
30500	Name *string `type:"string"`
30501}
30502
30503// String returns the string representation
30504func (s UpdateInsightInput) String() string {
30505	return awsutil.Prettify(s)
30506}
30507
30508// GoString returns the string representation
30509func (s UpdateInsightInput) GoString() string {
30510	return s.String()
30511}
30512
30513// Validate inspects the fields of the type to determine if they are valid.
30514func (s *UpdateInsightInput) Validate() error {
30515	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
30516	if s.InsightArn == nil {
30517		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
30518	}
30519	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
30520		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
30521	}
30522
30523	if invalidParams.Len() > 0 {
30524		return invalidParams
30525	}
30526	return nil
30527}
30528
30529// SetFilters sets the Filters field's value.
30530func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
30531	s.Filters = v
30532	return s
30533}
30534
30535// SetGroupByAttribute sets the GroupByAttribute field's value.
30536func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
30537	s.GroupByAttribute = &v
30538	return s
30539}
30540
30541// SetInsightArn sets the InsightArn field's value.
30542func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
30543	s.InsightArn = &v
30544	return s
30545}
30546
30547// SetName sets the Name field's value.
30548func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
30549	s.Name = &v
30550	return s
30551}
30552
30553type UpdateInsightOutput struct {
30554	_ struct{} `type:"structure"`
30555}
30556
30557// String returns the string representation
30558func (s UpdateInsightOutput) String() string {
30559	return awsutil.Prettify(s)
30560}
30561
30562// GoString returns the string representation
30563func (s UpdateInsightOutput) GoString() string {
30564	return s.String()
30565}
30566
30567type UpdateOrganizationConfigurationInput struct {
30568	_ struct{} `type:"structure"`
30569
30570	// Whether to automatically enable Security Hub for new accounts in the organization.
30571	//
30572	// By default, this is false, and new accounts are not added automatically.
30573	//
30574	// To automatically enable Security Hub for new accounts, set this to true.
30575	//
30576	// AutoEnable is a required field
30577	AutoEnable *bool `type:"boolean" required:"true"`
30578}
30579
30580// String returns the string representation
30581func (s UpdateOrganizationConfigurationInput) String() string {
30582	return awsutil.Prettify(s)
30583}
30584
30585// GoString returns the string representation
30586func (s UpdateOrganizationConfigurationInput) GoString() string {
30587	return s.String()
30588}
30589
30590// Validate inspects the fields of the type to determine if they are valid.
30591func (s *UpdateOrganizationConfigurationInput) Validate() error {
30592	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
30593	if s.AutoEnable == nil {
30594		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
30595	}
30596
30597	if invalidParams.Len() > 0 {
30598		return invalidParams
30599	}
30600	return nil
30601}
30602
30603// SetAutoEnable sets the AutoEnable field's value.
30604func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
30605	s.AutoEnable = &v
30606	return s
30607}
30608
30609type UpdateOrganizationConfigurationOutput struct {
30610	_ struct{} `type:"structure"`
30611}
30612
30613// String returns the string representation
30614func (s UpdateOrganizationConfigurationOutput) String() string {
30615	return awsutil.Prettify(s)
30616}
30617
30618// GoString returns the string representation
30619func (s UpdateOrganizationConfigurationOutput) GoString() string {
30620	return s.String()
30621}
30622
30623type UpdateSecurityHubConfigurationInput struct {
30624	_ struct{} `type:"structure"`
30625
30626	// Whether to automatically enable new controls when they are added to standards
30627	// that are enabled.
30628	//
30629	// By default, this is set to true, and new controls are enabled automatically.
30630	// To not automatically enable new controls, set this to false.
30631	AutoEnableControls *bool `type:"boolean"`
30632}
30633
30634// String returns the string representation
30635func (s UpdateSecurityHubConfigurationInput) String() string {
30636	return awsutil.Prettify(s)
30637}
30638
30639// GoString returns the string representation
30640func (s UpdateSecurityHubConfigurationInput) GoString() string {
30641	return s.String()
30642}
30643
30644// SetAutoEnableControls sets the AutoEnableControls field's value.
30645func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
30646	s.AutoEnableControls = &v
30647	return s
30648}
30649
30650type UpdateSecurityHubConfigurationOutput struct {
30651	_ struct{} `type:"structure"`
30652}
30653
30654// String returns the string representation
30655func (s UpdateSecurityHubConfigurationOutput) String() string {
30656	return awsutil.Prettify(s)
30657}
30658
30659// GoString returns the string representation
30660func (s UpdateSecurityHubConfigurationOutput) GoString() string {
30661	return s.String()
30662}
30663
30664type UpdateStandardsControlInput struct {
30665	_ struct{} `type:"structure"`
30666
30667	// The updated status of the security standard control.
30668	ControlStatus *string `type:"string" enum:"ControlStatus"`
30669
30670	// A description of the reason why you are disabling a security standard control.
30671	// If you are disabling a control, then this is required.
30672	DisabledReason *string `type:"string"`
30673
30674	// The ARN of the security standard control to enable or disable.
30675	//
30676	// StandardsControlArn is a required field
30677	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
30678}
30679
30680// String returns the string representation
30681func (s UpdateStandardsControlInput) String() string {
30682	return awsutil.Prettify(s)
30683}
30684
30685// GoString returns the string representation
30686func (s UpdateStandardsControlInput) GoString() string {
30687	return s.String()
30688}
30689
30690// Validate inspects the fields of the type to determine if they are valid.
30691func (s *UpdateStandardsControlInput) Validate() error {
30692	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
30693	if s.StandardsControlArn == nil {
30694		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
30695	}
30696	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
30697		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
30698	}
30699
30700	if invalidParams.Len() > 0 {
30701		return invalidParams
30702	}
30703	return nil
30704}
30705
30706// SetControlStatus sets the ControlStatus field's value.
30707func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
30708	s.ControlStatus = &v
30709	return s
30710}
30711
30712// SetDisabledReason sets the DisabledReason field's value.
30713func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
30714	s.DisabledReason = &v
30715	return s
30716}
30717
30718// SetStandardsControlArn sets the StandardsControlArn field's value.
30719func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
30720	s.StandardsControlArn = &v
30721	return s
30722}
30723
30724type UpdateStandardsControlOutput struct {
30725	_ struct{} `type:"structure"`
30726}
30727
30728// String returns the string representation
30729func (s UpdateStandardsControlOutput) String() string {
30730	return awsutil.Prettify(s)
30731}
30732
30733// GoString returns the string representation
30734func (s UpdateStandardsControlOutput) GoString() string {
30735	return s.String()
30736}
30737
30738// A vulnerability associated with a finding.
30739type Vulnerability struct {
30740	_ struct{} `type:"structure"`
30741
30742	// CVSS scores from the advisory related to the vulnerability.
30743	Cvss []*Cvss `type:"list"`
30744
30745	// The identifier of the vulnerability.
30746	//
30747	// Id is a required field
30748	Id *string `type:"string" required:"true"`
30749
30750	// A list of URLs that provide additional information about the vulnerability.
30751	ReferenceUrls []*string `type:"list"`
30752
30753	// List of vulnerabilities that are related to this vulnerability.
30754	RelatedVulnerabilities []*string `type:"list"`
30755
30756	// Information about the vendor that generates the vulnerability report.
30757	Vendor *VulnerabilityVendor `type:"structure"`
30758
30759	// List of software packages that have the vulnerability.
30760	VulnerablePackages []*SoftwarePackage `type:"list"`
30761}
30762
30763// String returns the string representation
30764func (s Vulnerability) String() string {
30765	return awsutil.Prettify(s)
30766}
30767
30768// GoString returns the string representation
30769func (s Vulnerability) GoString() string {
30770	return s.String()
30771}
30772
30773// Validate inspects the fields of the type to determine if they are valid.
30774func (s *Vulnerability) Validate() error {
30775	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
30776	if s.Id == nil {
30777		invalidParams.Add(request.NewErrParamRequired("Id"))
30778	}
30779	if s.Vendor != nil {
30780		if err := s.Vendor.Validate(); err != nil {
30781			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
30782		}
30783	}
30784
30785	if invalidParams.Len() > 0 {
30786		return invalidParams
30787	}
30788	return nil
30789}
30790
30791// SetCvss sets the Cvss field's value.
30792func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
30793	s.Cvss = v
30794	return s
30795}
30796
30797// SetId sets the Id field's value.
30798func (s *Vulnerability) SetId(v string) *Vulnerability {
30799	s.Id = &v
30800	return s
30801}
30802
30803// SetReferenceUrls sets the ReferenceUrls field's value.
30804func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
30805	s.ReferenceUrls = v
30806	return s
30807}
30808
30809// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
30810func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
30811	s.RelatedVulnerabilities = v
30812	return s
30813}
30814
30815// SetVendor sets the Vendor field's value.
30816func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
30817	s.Vendor = v
30818	return s
30819}
30820
30821// SetVulnerablePackages sets the VulnerablePackages field's value.
30822func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
30823	s.VulnerablePackages = v
30824	return s
30825}
30826
30827// A vendor that generates a vulnerability report.
30828type VulnerabilityVendor struct {
30829	_ struct{} `type:"structure"`
30830
30831	// The name of the vendor.
30832	//
30833	// Name is a required field
30834	Name *string `type:"string" required:"true"`
30835
30836	// The URL of the vulnerability advisory.
30837	Url *string `type:"string"`
30838
30839	// Indicates when the vulnerability advisory was created.
30840	//
30841	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30842	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30843	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30844	VendorCreatedAt *string `type:"string"`
30845
30846	// The severity that the vendor assigned to the vulnerability.
30847	VendorSeverity *string `type:"string"`
30848
30849	// Indicates when the vulnerability advisory was last updated.
30850	//
30851	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30852	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30853	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30854	VendorUpdatedAt *string `type:"string"`
30855}
30856
30857// String returns the string representation
30858func (s VulnerabilityVendor) String() string {
30859	return awsutil.Prettify(s)
30860}
30861
30862// GoString returns the string representation
30863func (s VulnerabilityVendor) GoString() string {
30864	return s.String()
30865}
30866
30867// Validate inspects the fields of the type to determine if they are valid.
30868func (s *VulnerabilityVendor) Validate() error {
30869	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
30870	if s.Name == nil {
30871		invalidParams.Add(request.NewErrParamRequired("Name"))
30872	}
30873
30874	if invalidParams.Len() > 0 {
30875		return invalidParams
30876	}
30877	return nil
30878}
30879
30880// SetName sets the Name field's value.
30881func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
30882	s.Name = &v
30883	return s
30884}
30885
30886// SetUrl sets the Url field's value.
30887func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
30888	s.Url = &v
30889	return s
30890}
30891
30892// SetVendorCreatedAt sets the VendorCreatedAt field's value.
30893func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
30894	s.VendorCreatedAt = &v
30895	return s
30896}
30897
30898// SetVendorSeverity sets the VendorSeverity field's value.
30899func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
30900	s.VendorSeverity = &v
30901	return s
30902}
30903
30904// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
30905func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
30906	s.VendorUpdatedAt = &v
30907	return s
30908}
30909
30910// Details about the action that CloudFront or AWS WAF takes when a web request
30911// matches the conditions in the rule.
30912type WafAction struct {
30913	_ struct{} `type:"structure"`
30914
30915	// Specifies how you want AWS WAF to respond to requests that match the settings
30916	// in a rule.
30917	//
30918	// Valid settings include the following:
30919	//
30920	//    * ALLOW - AWS WAF allows requests
30921	//
30922	//    * BLOCK - AWS WAF blocks requests
30923	//
30924	//    * COUNT - AWS WAF increments a counter of the requests that match all
30925	//    of the conditions in the rule. AWS WAF then continues to inspect the web
30926	//    request based on the remaining rules in the web ACL. You can't specify
30927	//    COUNT for the default action for a WebACL.
30928	Type *string `type:"string"`
30929}
30930
30931// String returns the string representation
30932func (s WafAction) String() string {
30933	return awsutil.Prettify(s)
30934}
30935
30936// GoString returns the string representation
30937func (s WafAction) GoString() string {
30938	return s.String()
30939}
30940
30941// SetType sets the Type field's value.
30942func (s *WafAction) SetType(v string) *WafAction {
30943	s.Type = &v
30944	return s
30945}
30946
30947// Details about a rule to exclude from a rule group.
30948type WafExcludedRule struct {
30949	_ struct{} `type:"structure"`
30950
30951	// The unique identifier for the rule to exclude from the rule group.
30952	RuleId *string `type:"string"`
30953}
30954
30955// String returns the string representation
30956func (s WafExcludedRule) String() string {
30957	return awsutil.Prettify(s)
30958}
30959
30960// GoString returns the string representation
30961func (s WafExcludedRule) GoString() string {
30962	return s.String()
30963}
30964
30965// SetRuleId sets the RuleId field's value.
30966func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
30967	s.RuleId = &v
30968	return s
30969}
30970
30971// Details about an override action for a rule.
30972type WafOverrideAction struct {
30973	_ struct{} `type:"structure"`
30974
30975	// COUNT overrides the action specified by the individual rule within a RuleGroup .
30976	//
30977	// If set to NONE, the rule's action takes place.
30978	Type *string `type:"string"`
30979}
30980
30981// String returns the string representation
30982func (s WafOverrideAction) String() string {
30983	return awsutil.Prettify(s)
30984}
30985
30986// GoString returns the string representation
30987func (s WafOverrideAction) GoString() string {
30988	return s.String()
30989}
30990
30991// SetType sets the Type field's value.
30992func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
30993	s.Type = &v
30994	return s
30995}
30996
30997// Provides information about the status of the investigation into a finding.
30998type Workflow struct {
30999	_ struct{} `type:"structure"`
31000
31001	// The status of the investigation into the finding. The allowed values are
31002	// the following.
31003	//
31004	//    * NEW - The initial state of a finding, before it is reviewed. Security
31005	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
31006	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
31007	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
31008	//
31009	//    * NOTIFIED - Indicates that you notified the resource owner about the
31010	//    security issue. Used when the initial reviewer is not the resource owner,
31011	//    and needs intervention from the resource owner.
31012	//
31013	//    * SUPPRESSED - The finding will not be reviewed again and will not be
31014	//    acted upon.
31015	//
31016	//    * RESOLVED - The finding was reviewed and remediated and is now considered
31017	//    resolved.
31018	Status *string `type:"string" enum:"WorkflowStatus"`
31019}
31020
31021// String returns the string representation
31022func (s Workflow) String() string {
31023	return awsutil.Prettify(s)
31024}
31025
31026// GoString returns the string representation
31027func (s Workflow) GoString() string {
31028	return s.String()
31029}
31030
31031// SetStatus sets the Status field's value.
31032func (s *Workflow) SetStatus(v string) *Workflow {
31033	s.Status = &v
31034	return s
31035}
31036
31037// Used to update information about the investigation into the finding.
31038type WorkflowUpdate struct {
31039	_ struct{} `type:"structure"`
31040
31041	// The status of the investigation into the finding. The allowed values are
31042	// the following.
31043	//
31044	//    * NEW - The initial state of a finding, before it is reviewed. Security
31045	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
31046	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
31047	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
31048	//
31049	//    * NOTIFIED - Indicates that you notified the resource owner about the
31050	//    security issue. Used when the initial reviewer is not the resource owner,
31051	//    and needs intervention from the resource owner.
31052	//
31053	//    * RESOLVED - The finding was reviewed and remediated and is now considered
31054	//    resolved.
31055	//
31056	//    * SUPPRESSED - The finding will not be reviewed again and will not be
31057	//    acted upon.
31058	Status *string `type:"string" enum:"WorkflowStatus"`
31059}
31060
31061// String returns the string representation
31062func (s WorkflowUpdate) String() string {
31063	return awsutil.Prettify(s)
31064}
31065
31066// GoString returns the string representation
31067func (s WorkflowUpdate) GoString() string {
31068	return s.String()
31069}
31070
31071// SetStatus sets the Status field's value.
31072func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
31073	s.Status = &v
31074	return s
31075}
31076
31077const (
31078	// AdminStatusEnabled is a AdminStatus enum value
31079	AdminStatusEnabled = "ENABLED"
31080
31081	// AdminStatusDisableInProgress is a AdminStatus enum value
31082	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
31083)
31084
31085// AdminStatus_Values returns all elements of the AdminStatus enum
31086func AdminStatus_Values() []string {
31087	return []string{
31088		AdminStatusEnabled,
31089		AdminStatusDisableInProgress,
31090	}
31091}
31092
31093const (
31094	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
31095	AwsIamAccessKeyStatusActive = "Active"
31096
31097	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
31098	AwsIamAccessKeyStatusInactive = "Inactive"
31099)
31100
31101// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
31102func AwsIamAccessKeyStatus_Values() []string {
31103	return []string{
31104		AwsIamAccessKeyStatusActive,
31105		AwsIamAccessKeyStatusInactive,
31106	}
31107}
31108
31109const (
31110	// ComplianceStatusPassed is a ComplianceStatus enum value
31111	ComplianceStatusPassed = "PASSED"
31112
31113	// ComplianceStatusWarning is a ComplianceStatus enum value
31114	ComplianceStatusWarning = "WARNING"
31115
31116	// ComplianceStatusFailed is a ComplianceStatus enum value
31117	ComplianceStatusFailed = "FAILED"
31118
31119	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
31120	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
31121)
31122
31123// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
31124func ComplianceStatus_Values() []string {
31125	return []string{
31126		ComplianceStatusPassed,
31127		ComplianceStatusWarning,
31128		ComplianceStatusFailed,
31129		ComplianceStatusNotAvailable,
31130	}
31131}
31132
31133const (
31134	// ControlStatusEnabled is a ControlStatus enum value
31135	ControlStatusEnabled = "ENABLED"
31136
31137	// ControlStatusDisabled is a ControlStatus enum value
31138	ControlStatusDisabled = "DISABLED"
31139)
31140
31141// ControlStatus_Values returns all elements of the ControlStatus enum
31142func ControlStatus_Values() []string {
31143	return []string{
31144		ControlStatusEnabled,
31145		ControlStatusDisabled,
31146	}
31147}
31148
31149const (
31150	// DateRangeUnitDays is a DateRangeUnit enum value
31151	DateRangeUnitDays = "DAYS"
31152)
31153
31154// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
31155func DateRangeUnit_Values() []string {
31156	return []string{
31157		DateRangeUnitDays,
31158	}
31159}
31160
31161const (
31162	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
31163	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
31164
31165	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
31166	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
31167
31168	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
31169	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
31170)
31171
31172// IntegrationType_Values returns all elements of the IntegrationType enum
31173func IntegrationType_Values() []string {
31174	return []string{
31175		IntegrationTypeSendFindingsToSecurityHub,
31176		IntegrationTypeReceiveFindingsFromSecurityHub,
31177		IntegrationTypeUpdateFindingsInSecurityHub,
31178	}
31179}
31180
31181const (
31182	// MalwareStateObserved is a MalwareState enum value
31183	MalwareStateObserved = "OBSERVED"
31184
31185	// MalwareStateRemovalFailed is a MalwareState enum value
31186	MalwareStateRemovalFailed = "REMOVAL_FAILED"
31187
31188	// MalwareStateRemoved is a MalwareState enum value
31189	MalwareStateRemoved = "REMOVED"
31190)
31191
31192// MalwareState_Values returns all elements of the MalwareState enum
31193func MalwareState_Values() []string {
31194	return []string{
31195		MalwareStateObserved,
31196		MalwareStateRemovalFailed,
31197		MalwareStateRemoved,
31198	}
31199}
31200
31201const (
31202	// MalwareTypeAdware is a MalwareType enum value
31203	MalwareTypeAdware = "ADWARE"
31204
31205	// MalwareTypeBlendedThreat is a MalwareType enum value
31206	MalwareTypeBlendedThreat = "BLENDED_THREAT"
31207
31208	// MalwareTypeBotnetAgent is a MalwareType enum value
31209	MalwareTypeBotnetAgent = "BOTNET_AGENT"
31210
31211	// MalwareTypeCoinMiner is a MalwareType enum value
31212	MalwareTypeCoinMiner = "COIN_MINER"
31213
31214	// MalwareTypeExploitKit is a MalwareType enum value
31215	MalwareTypeExploitKit = "EXPLOIT_KIT"
31216
31217	// MalwareTypeKeylogger is a MalwareType enum value
31218	MalwareTypeKeylogger = "KEYLOGGER"
31219
31220	// MalwareTypeMacro is a MalwareType enum value
31221	MalwareTypeMacro = "MACRO"
31222
31223	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
31224	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
31225
31226	// MalwareTypeSpyware is a MalwareType enum value
31227	MalwareTypeSpyware = "SPYWARE"
31228
31229	// MalwareTypeRansomware is a MalwareType enum value
31230	MalwareTypeRansomware = "RANSOMWARE"
31231
31232	// MalwareTypeRemoteAccess is a MalwareType enum value
31233	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
31234
31235	// MalwareTypeRootkit is a MalwareType enum value
31236	MalwareTypeRootkit = "ROOTKIT"
31237
31238	// MalwareTypeTrojan is a MalwareType enum value
31239	MalwareTypeTrojan = "TROJAN"
31240
31241	// MalwareTypeVirus is a MalwareType enum value
31242	MalwareTypeVirus = "VIRUS"
31243
31244	// MalwareTypeWorm is a MalwareType enum value
31245	MalwareTypeWorm = "WORM"
31246)
31247
31248// MalwareType_Values returns all elements of the MalwareType enum
31249func MalwareType_Values() []string {
31250	return []string{
31251		MalwareTypeAdware,
31252		MalwareTypeBlendedThreat,
31253		MalwareTypeBotnetAgent,
31254		MalwareTypeCoinMiner,
31255		MalwareTypeExploitKit,
31256		MalwareTypeKeylogger,
31257		MalwareTypeMacro,
31258		MalwareTypePotentiallyUnwanted,
31259		MalwareTypeSpyware,
31260		MalwareTypeRansomware,
31261		MalwareTypeRemoteAccess,
31262		MalwareTypeRootkit,
31263		MalwareTypeTrojan,
31264		MalwareTypeVirus,
31265		MalwareTypeWorm,
31266	}
31267}
31268
31269const (
31270	// MapFilterComparisonEquals is a MapFilterComparison enum value
31271	MapFilterComparisonEquals = "EQUALS"
31272
31273	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
31274	MapFilterComparisonNotEquals = "NOT_EQUALS"
31275)
31276
31277// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
31278func MapFilterComparison_Values() []string {
31279	return []string{
31280		MapFilterComparisonEquals,
31281		MapFilterComparisonNotEquals,
31282	}
31283}
31284
31285const (
31286	// NetworkDirectionIn is a NetworkDirection enum value
31287	NetworkDirectionIn = "IN"
31288
31289	// NetworkDirectionOut is a NetworkDirection enum value
31290	NetworkDirectionOut = "OUT"
31291)
31292
31293// NetworkDirection_Values returns all elements of the NetworkDirection enum
31294func NetworkDirection_Values() []string {
31295	return []string{
31296		NetworkDirectionIn,
31297		NetworkDirectionOut,
31298	}
31299}
31300
31301const (
31302	// PartitionAws is a Partition enum value
31303	PartitionAws = "aws"
31304
31305	// PartitionAwsCn is a Partition enum value
31306	PartitionAwsCn = "aws-cn"
31307
31308	// PartitionAwsUsGov is a Partition enum value
31309	PartitionAwsUsGov = "aws-us-gov"
31310)
31311
31312// Partition_Values returns all elements of the Partition enum
31313func Partition_Values() []string {
31314	return []string{
31315		PartitionAws,
31316		PartitionAwsCn,
31317		PartitionAwsUsGov,
31318	}
31319}
31320
31321const (
31322	// RecordStateActive is a RecordState enum value
31323	RecordStateActive = "ACTIVE"
31324
31325	// RecordStateArchived is a RecordState enum value
31326	RecordStateArchived = "ARCHIVED"
31327)
31328
31329// RecordState_Values returns all elements of the RecordState enum
31330func RecordState_Values() []string {
31331	return []string{
31332		RecordStateActive,
31333		RecordStateArchived,
31334	}
31335}
31336
31337const (
31338	// SeverityLabelInformational is a SeverityLabel enum value
31339	SeverityLabelInformational = "INFORMATIONAL"
31340
31341	// SeverityLabelLow is a SeverityLabel enum value
31342	SeverityLabelLow = "LOW"
31343
31344	// SeverityLabelMedium is a SeverityLabel enum value
31345	SeverityLabelMedium = "MEDIUM"
31346
31347	// SeverityLabelHigh is a SeverityLabel enum value
31348	SeverityLabelHigh = "HIGH"
31349
31350	// SeverityLabelCritical is a SeverityLabel enum value
31351	SeverityLabelCritical = "CRITICAL"
31352)
31353
31354// SeverityLabel_Values returns all elements of the SeverityLabel enum
31355func SeverityLabel_Values() []string {
31356	return []string{
31357		SeverityLabelInformational,
31358		SeverityLabelLow,
31359		SeverityLabelMedium,
31360		SeverityLabelHigh,
31361		SeverityLabelCritical,
31362	}
31363}
31364
31365const (
31366	// SeverityRatingLow is a SeverityRating enum value
31367	SeverityRatingLow = "LOW"
31368
31369	// SeverityRatingMedium is a SeverityRating enum value
31370	SeverityRatingMedium = "MEDIUM"
31371
31372	// SeverityRatingHigh is a SeverityRating enum value
31373	SeverityRatingHigh = "HIGH"
31374
31375	// SeverityRatingCritical is a SeverityRating enum value
31376	SeverityRatingCritical = "CRITICAL"
31377)
31378
31379// SeverityRating_Values returns all elements of the SeverityRating enum
31380func SeverityRating_Values() []string {
31381	return []string{
31382		SeverityRatingLow,
31383		SeverityRatingMedium,
31384		SeverityRatingHigh,
31385		SeverityRatingCritical,
31386	}
31387}
31388
31389const (
31390	// SortOrderAsc is a SortOrder enum value
31391	SortOrderAsc = "asc"
31392
31393	// SortOrderDesc is a SortOrder enum value
31394	SortOrderDesc = "desc"
31395)
31396
31397// SortOrder_Values returns all elements of the SortOrder enum
31398func SortOrder_Values() []string {
31399	return []string{
31400		SortOrderAsc,
31401		SortOrderDesc,
31402	}
31403}
31404
31405const (
31406	// StandardsStatusPending is a StandardsStatus enum value
31407	StandardsStatusPending = "PENDING"
31408
31409	// StandardsStatusReady is a StandardsStatus enum value
31410	StandardsStatusReady = "READY"
31411
31412	// StandardsStatusFailed is a StandardsStatus enum value
31413	StandardsStatusFailed = "FAILED"
31414
31415	// StandardsStatusDeleting is a StandardsStatus enum value
31416	StandardsStatusDeleting = "DELETING"
31417
31418	// StandardsStatusIncomplete is a StandardsStatus enum value
31419	StandardsStatusIncomplete = "INCOMPLETE"
31420)
31421
31422// StandardsStatus_Values returns all elements of the StandardsStatus enum
31423func StandardsStatus_Values() []string {
31424	return []string{
31425		StandardsStatusPending,
31426		StandardsStatusReady,
31427		StandardsStatusFailed,
31428		StandardsStatusDeleting,
31429		StandardsStatusIncomplete,
31430	}
31431}
31432
31433const (
31434	// StringFilterComparisonEquals is a StringFilterComparison enum value
31435	StringFilterComparisonEquals = "EQUALS"
31436
31437	// StringFilterComparisonPrefix is a StringFilterComparison enum value
31438	StringFilterComparisonPrefix = "PREFIX"
31439
31440	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
31441	StringFilterComparisonNotEquals = "NOT_EQUALS"
31442
31443	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
31444	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
31445)
31446
31447// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
31448func StringFilterComparison_Values() []string {
31449	return []string{
31450		StringFilterComparisonEquals,
31451		StringFilterComparisonPrefix,
31452		StringFilterComparisonNotEquals,
31453		StringFilterComparisonPrefixNotEquals,
31454	}
31455}
31456
31457const (
31458	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
31459	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
31460
31461	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
31462	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
31463
31464	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
31465	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
31466
31467	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
31468	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
31469
31470	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
31471	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
31472
31473	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
31474	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
31475)
31476
31477// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
31478func ThreatIntelIndicatorCategory_Values() []string {
31479	return []string{
31480		ThreatIntelIndicatorCategoryBackdoor,
31481		ThreatIntelIndicatorCategoryCardStealer,
31482		ThreatIntelIndicatorCategoryCommandAndControl,
31483		ThreatIntelIndicatorCategoryDropSite,
31484		ThreatIntelIndicatorCategoryExploitSite,
31485		ThreatIntelIndicatorCategoryKeylogger,
31486	}
31487}
31488
31489const (
31490	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
31491	ThreatIntelIndicatorTypeDomain = "DOMAIN"
31492
31493	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
31494	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
31495
31496	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
31497	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
31498
31499	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
31500	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
31501
31502	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
31503	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
31504
31505	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
31506	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
31507
31508	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
31509	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
31510
31511	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
31512	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
31513
31514	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
31515	ThreatIntelIndicatorTypeMutex = "MUTEX"
31516
31517	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
31518	ThreatIntelIndicatorTypeProcess = "PROCESS"
31519
31520	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
31521	ThreatIntelIndicatorTypeUrl = "URL"
31522)
31523
31524// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
31525func ThreatIntelIndicatorType_Values() []string {
31526	return []string{
31527		ThreatIntelIndicatorTypeDomain,
31528		ThreatIntelIndicatorTypeEmailAddress,
31529		ThreatIntelIndicatorTypeHashMd5,
31530		ThreatIntelIndicatorTypeHashSha1,
31531		ThreatIntelIndicatorTypeHashSha256,
31532		ThreatIntelIndicatorTypeHashSha512,
31533		ThreatIntelIndicatorTypeIpv4Address,
31534		ThreatIntelIndicatorTypeIpv6Address,
31535		ThreatIntelIndicatorTypeMutex,
31536		ThreatIntelIndicatorTypeProcess,
31537		ThreatIntelIndicatorTypeUrl,
31538	}
31539}
31540
31541const (
31542	// VerificationStateUnknown is a VerificationState enum value
31543	VerificationStateUnknown = "UNKNOWN"
31544
31545	// VerificationStateTruePositive is a VerificationState enum value
31546	VerificationStateTruePositive = "TRUE_POSITIVE"
31547
31548	// VerificationStateFalsePositive is a VerificationState enum value
31549	VerificationStateFalsePositive = "FALSE_POSITIVE"
31550
31551	// VerificationStateBenignPositive is a VerificationState enum value
31552	VerificationStateBenignPositive = "BENIGN_POSITIVE"
31553)
31554
31555// VerificationState_Values returns all elements of the VerificationState enum
31556func VerificationState_Values() []string {
31557	return []string{
31558		VerificationStateUnknown,
31559		VerificationStateTruePositive,
31560		VerificationStateFalsePositive,
31561		VerificationStateBenignPositive,
31562	}
31563}
31564
31565const (
31566	// WorkflowStateNew is a WorkflowState enum value
31567	WorkflowStateNew = "NEW"
31568
31569	// WorkflowStateAssigned is a WorkflowState enum value
31570	WorkflowStateAssigned = "ASSIGNED"
31571
31572	// WorkflowStateInProgress is a WorkflowState enum value
31573	WorkflowStateInProgress = "IN_PROGRESS"
31574
31575	// WorkflowStateDeferred is a WorkflowState enum value
31576	WorkflowStateDeferred = "DEFERRED"
31577
31578	// WorkflowStateResolved is a WorkflowState enum value
31579	WorkflowStateResolved = "RESOLVED"
31580)
31581
31582// WorkflowState_Values returns all elements of the WorkflowState enum
31583func WorkflowState_Values() []string {
31584	return []string{
31585		WorkflowStateNew,
31586		WorkflowStateAssigned,
31587		WorkflowStateInProgress,
31588		WorkflowStateDeferred,
31589		WorkflowStateResolved,
31590	}
31591}
31592
31593const (
31594	// WorkflowStatusNew is a WorkflowStatus enum value
31595	WorkflowStatusNew = "NEW"
31596
31597	// WorkflowStatusNotified is a WorkflowStatus enum value
31598	WorkflowStatusNotified = "NOTIFIED"
31599
31600	// WorkflowStatusResolved is a WorkflowStatus enum value
31601	WorkflowStatusResolved = "RESOLVED"
31602
31603	// WorkflowStatusSuppressed is a WorkflowStatus enum value
31604	WorkflowStatusSuppressed = "SUPPRESSED"
31605)
31606
31607// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
31608func WorkflowStatus_Values() []string {
31609	return []string{
31610		WorkflowStatusNew,
31611		WorkflowStatusNotified,
31612		WorkflowStatusResolved,
31613		WorkflowStatusSuppressed,
31614	}
31615}
31616